israeli-bank-scrapers 1.13.3 → 1.13.4
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/index.d.ts +1 -0
- package/lib/index.js +9 -1
- package/lib/puppeteer-config.json +1 -1
- package/lib/scrapers/amex.d.ts +2 -2
- package/lib/scrapers/amex.js +1 -1
- package/lib/scrapers/base-isracard-amex.d.ts +2 -2
- package/lib/scrapers/base-isracard-amex.js +1 -1
- package/lib/scrapers/base-scraper.d.ts +3 -3
- package/lib/scrapers/base-scraper.js +1 -1
- package/lib/scrapers/beyahad-bishvilha.js +1 -1
- package/lib/scrapers/discount.js +1 -1
- package/lib/scrapers/factory.d.ts +2 -2
- package/lib/scrapers/factory.js +1 -1
- package/lib/scrapers/hapoalim.js +1 -1
- package/lib/scrapers/isracard.d.ts +2 -2
- package/lib/scrapers/isracard.js +1 -1
- package/lib/scrapers/max.js +1 -1
- package/lib/scrapers/visa-cal.js +3 -3
- package/lib/scrapers/yahav.js +2 -2
- package/package.json +5 -5
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { default as createScraper } from './scrapers/factory';
|
|
2
2
|
export { SCRAPERS, CompanyTypes } from './definitions';
|
|
3
|
+
export { ScraperOptions } from './scrapers/base-scraper';
|
|
3
4
|
export declare function getPuppeteerConfig(): {
|
|
4
5
|
__comment: string;
|
|
5
6
|
chromiumRevision: string;
|
package/lib/index.js
CHANGED
|
@@ -22,6 +22,12 @@ Object.defineProperty(exports, "CompanyTypes", {
|
|
|
22
22
|
return _definitions.CompanyTypes;
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
|
+
Object.defineProperty(exports, "ScraperOptions", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function () {
|
|
28
|
+
return _baseScraper.ScraperOptions;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
25
31
|
|
|
26
32
|
var _puppeteerConfig = _interopRequireDefault(require("./puppeteer-config.json"));
|
|
27
33
|
|
|
@@ -29,6 +35,8 @@ var _factory = _interopRequireDefault(require("./scrapers/factory"));
|
|
|
29
35
|
|
|
30
36
|
var _definitions = require("./definitions");
|
|
31
37
|
|
|
38
|
+
var _baseScraper = require("./scrapers/base-scraper");
|
|
39
|
+
|
|
32
40
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
33
41
|
|
|
34
42
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -40,4 +48,4 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
40
48
|
function getPuppeteerConfig() {
|
|
41
49
|
return _objectSpread({}, _puppeteerConfig.default);
|
|
42
50
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJnZXRQdXBwZXRlZXJDb25maWciLCJwdXBwZXRlZXJDb25maWciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVPLFNBQVNBLGtCQUFULEdBQThCO0FBQ25DLDJCQUFZQyx3QkFBWjtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHB1cHBldGVlckNvbmZpZyBmcm9tICcuL3B1cHBldGVlci1jb25maWcuanNvbic7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgY3JlYXRlU2NyYXBlciB9IGZyb20gJy4vc2NyYXBlcnMvZmFjdG9yeSc7XG5leHBvcnQgeyBTQ1JBUEVSUywgQ29tcGFueVR5cGVzIH0gZnJvbSAnLi9kZWZpbml0aW9ucyc7XG5leHBvcnQgeyBTY3JhcGVyT3B0aW9ucyB9IGZyb20gJy4vc2NyYXBlcnMvYmFzZS1zY3JhcGVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFB1cHBldGVlckNvbmZpZygpIHtcbiAgcmV0dXJuIHsgLi4ucHVwcGV0ZWVyQ29uZmlnIH07XG59XG4iXX0=
|
package/lib/scrapers/amex.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import IsracardAmexBaseScraper from './base-isracard-amex';
|
|
2
|
-
import {
|
|
2
|
+
import { ScraperOptions } from './base-scraper';
|
|
3
3
|
declare class AmexScraper extends IsracardAmexBaseScraper {
|
|
4
|
-
constructor(options:
|
|
4
|
+
constructor(options: ScraperOptions);
|
|
5
5
|
}
|
|
6
6
|
export default AmexScraper;
|
package/lib/scrapers/amex.js
CHANGED
|
@@ -21,4 +21,4 @@ class AmexScraper extends _baseIsracardAmex.default {
|
|
|
21
21
|
|
|
22
22
|
var _default = AmexScraper;
|
|
23
23
|
exports.default = _default;
|
|
24
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9hbWV4LnRzIl0sIm5hbWVzIjpbIkJBU0VfVVJMIiwiQ09NUEFOWV9DT0RFIiwiQW1leFNjcmFwZXIiLCJJc3JhY2FyZEFtZXhCYXNlU2NyYXBlciIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOzs7O0FBR0EsTUFBTUEsUUFBUSxHQUFHLGtDQUFqQjtBQUNBLE1BQU1DLFlBQVksR0FBRyxJQUFyQjs7QUFFQSxNQUFNQyxXQUFOLFNBQTBCQyx5QkFBMUIsQ0FBa0Q7QUFDaERDLEVBQUFBLFdBQVcsQ0FBQ0MsT0FBRCxFQUEwQjtBQUNuQyxVQUFNQSxPQUFOLEVBQWVMLFFBQWYsRUFBeUJDLFlBQXpCO0FBQ0Q7O0FBSCtDOztlQU1uQ0MsVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJc3JhY2FyZEFtZXhCYXNlU2NyYXBlciBmcm9tICcuL2Jhc2UtaXNyYWNhcmQtYW1leCc7XG5pbXBvcnQgeyBTY3JhcGVyT3B0aW9ucyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyJztcblxuY29uc3QgQkFTRV9VUkwgPSAnaHR0cHM6Ly9oZS5hbWVyaWNhbmV4cHJlc3MuY28uaWwnO1xuY29uc3QgQ09NUEFOWV9DT0RFID0gJzc3JztcblxuY2xhc3MgQW1leFNjcmFwZXIgZXh0ZW5kcyBJc3JhY2FyZEFtZXhCYXNlU2NyYXBlciB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFNjcmFwZXJPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucywgQkFTRV9VUkwsIENPTVBBTllfQ09ERSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQW1leFNjcmFwZXI7XG4iXX0=
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { BaseScraperWithBrowser } from './base-scraper-with-browser';
|
|
2
2
|
import { Transaction } from '../transactions';
|
|
3
|
-
import {
|
|
3
|
+
import { ScraperOptions, ScaperScrapingResult, ScraperCredentials } from './base-scraper';
|
|
4
4
|
declare class IsracardAmexBaseScraper extends BaseScraperWithBrowser {
|
|
5
5
|
private baseUrl;
|
|
6
6
|
private companyCode;
|
|
7
7
|
private servicesUrl;
|
|
8
|
-
constructor(options:
|
|
8
|
+
constructor(options: ScraperOptions, baseUrl: string, companyCode: string);
|
|
9
9
|
login(credentials: ScraperCredentials): Promise<ScaperScrapingResult>;
|
|
10
10
|
fetchData(): Promise<{
|
|
11
11
|
success: boolean;
|
|
@@ -337,4 +337,4 @@ class IsracardAmexBaseScraper extends _baseScraperWithBrowser.BaseScraperWithBro
|
|
|
337
337
|
|
|
338
338
|
var _default = IsracardAmexBaseScraper;
|
|
339
339
|
exports.default = _default;
|
|
340
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLWlzcmFjYXJkLWFtZXgudHMiXSwibmFtZXMiOlsiQ09VTlRSWV9DT0RFIiwiSURfVFlQRSIsIklOU1RBTExNRU5UU19LRVlXT1JEIiwiREFURV9GT1JNQVQiLCJkZWJ1ZyIsImdldEFjY291bnRzVXJsIiwic2VydmljZXNVcmwiLCJtb250aE1vbWVudCIsImJpbGxpbmdEYXRlIiwiZm9ybWF0IiwicXVlcnlQYXJhbXMiLCJyZXFOYW1lIiwiYWN0aW9uQ29kZSIsImZldGNoQWNjb3VudHMiLCJwYWdlIiwiZGF0YVVybCIsImRhdGFSZXN1bHQiLCJfIiwiZ2V0IiwiRGFzaGJvYXJkTW9udGhCZWFuIiwiY2FyZHNDaGFyZ2VzIiwibWFwIiwiY2FyZENoYXJnZSIsImluZGV4IiwicGFyc2VJbnQiLCJjYXJkSW5kZXgiLCJhY2NvdW50TnVtYmVyIiwiY2FyZE51bWJlciIsInByb2Nlc3NlZERhdGUiLCJ0b0lTT1N0cmluZyIsImdldFRyYW5zYWN0aW9uc1VybCIsIm1vbnRoIiwieWVhciIsIm1vbnRoU3RyIiwidG9TdHJpbmciLCJyZXF1aXJlZERhdGUiLCJjb252ZXJ0Q3VycmVuY3kiLCJjdXJyZW5jeVN0ciIsIlNIRUtFTF9DVVJSRU5DWV9LRVlXT1JEIiwiQUxUX1NIRUtFTF9DVVJSRU5DWSIsIlNIRUtFTF9DVVJSRU5DWSIsImdldEluc3RhbGxtZW50c0luZm8iLCJ0eG4iLCJtb3JlSW5mbyIsImluY2x1ZGVzIiwidW5kZWZpbmVkIiwibWF0Y2hlcyIsIm1hdGNoIiwibGVuZ3RoIiwibnVtYmVyIiwidG90YWwiLCJnZXRUcmFuc2FjdGlvblR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiSW5zdGFsbG1lbnRzIiwiTm9ybWFsIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJmaWx0ZXJlZFR4bnMiLCJmaWx0ZXIiLCJkZWFsU3VtVHlwZSIsInZvdWNoZXJOdW1iZXJSYXR6Iiwidm91Y2hlck51bWJlclJhdHpPdXRib3VuZCIsImlzT3V0Ym91bmQiLCJkZWFsU3VtT3V0Ym91bmQiLCJ0eG5EYXRlU3RyIiwiZnVsbFB1cmNoYXNlRGF0ZU91dGJvdW5kIiwiZnVsbFB1cmNoYXNlRGF0ZSIsInR4bk1vbWVudCIsInJlc3VsdCIsInR5cGUiLCJpZGVudGlmaWVyIiwiZGF0ZSIsIm9yaWdpbmFsQW1vdW50IiwiZGVhbFN1bSIsIm9yaWdpbmFsQ3VycmVuY3kiLCJjdXJyZW5jeUlkIiwiY2hhcmdlZEFtb3VudCIsInBheW1lbnRTdW1PdXRib3VuZCIsInBheW1lbnRTdW0iLCJkZXNjcmlwdGlvbiIsImZ1bGxTdXBwbGllck5hbWVPdXRib3VuZCIsImZ1bGxTdXBwbGllck5hbWVIZWIiLCJtZW1vIiwiaW5zdGFsbG1lbnRzIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsImZldGNoVHJhbnNhY3Rpb25zIiwib3B0aW9ucyIsInN0YXJ0TW9tZW50IiwiYWNjb3VudHMiLCJDYXJkc1RyYW5zYWN0aW9uc0xpc3RCZWFuIiwiYWNjb3VudFR4bnMiLCJmb3JFYWNoIiwiYWNjb3VudCIsInR4bkdyb3VwcyIsImFsbFR4bnMiLCJ0eG5Hcm91cCIsInR4bklzcmFlbCIsInB1c2giLCJ0eG5BYnJvYWQiLCJjb21iaW5lSW5zdGFsbG1lbnRzIiwiZmV0Y2hBbGxUcmFuc2FjdGlvbnMiLCJmdXR1cmVNb250aHNUb1NjcmFwZSIsImFsbE1vbnRocyIsInJlc3VsdHMiLCJQcm9taXNlIiwiYWxsIiwiY29tYmluZWRUeG5zIiwiT2JqZWN0Iiwia2V5cyIsInR4bnNGb3JBY2NvdW50IiwidG9CZUFkZGVkVHhucyIsInN1Y2Nlc3MiLCJJc3JhY2FyZEFtZXhCYXNlU2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJjb25zdHJ1Y3RvciIsImJhc2VVcmwiLCJjb21wYW55Q29kZSIsImxvZ2luIiwiY3JlZGVudGlhbHMiLCJzZXRSZXF1ZXN0SW50ZXJjZXB0aW9uIiwib24iLCJyZXF1ZXN0IiwidXJsIiwiYWJvcnQiLCJjb250aW51ZSIsIm5hdmlnYXRlVG8iLCJlbWl0UHJvZ3Jlc3MiLCJTY2FwZXJQcm9ncmVzc1R5cGVzIiwiTG9nZ2luZ0luIiwidmFsaWRhdGVVcmwiLCJ2YWxpZGF0ZVJlcXVlc3QiLCJpZCIsImNhcmRTdWZmaXgiLCJjYXJkNkRpZ2l0cyIsImNvdW50cnlDb2RlIiwiaWRUeXBlIiwiY2hlY2tMZXZlbCIsInZhbGlkYXRlUmVzdWx0IiwiSGVhZGVyIiwiU3RhdHVzIiwiVmFsaWRhdGVJZERhdGFCZWFuIiwiRXJyb3IiLCJ2YWxpZGF0ZVJldHVybkNvZGUiLCJyZXR1cm5Db2RlIiwidXNlck5hbWUiLCJsb2dpblVybCIsIktvZE1pc2h0YW1lc2giLCJNaXNwYXJaaWh1eSIsIlNpc21hIiwicGFzc3dvcmQiLCJsb2dpblJlc3VsdCIsIkxvZ2luU3VjY2VzcyIsIkNoYW5nZVBhc3N3b3JkIiwiZXJyb3JUeXBlIiwiU2NyYXBlckVycm9yVHlwZXMiLCJMb2dpbkZhaWxlZCIsIkludmFsaWRQYXNzd29yZCIsImZldGNoRGF0YSIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0Iiwic3RhcnREYXRlIiwidG9EYXRlIiwibW9tZW50IiwibWF4Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUdBOztBQUNBOztBQUNBOztBQUtBOztBQUNBOztBQUNBOztBQUlBOztBQUtBOzs7Ozs7Ozs7O0FBRUEsTUFBTUEsWUFBWSxHQUFHLEtBQXJCO0FBQ0EsTUFBTUMsT0FBTyxHQUFHLEdBQWhCO0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUcsT0FBN0I7QUFFQSxNQUFNQyxXQUFXLEdBQUcsWUFBcEI7QUFFQSxNQUFNQyxLQUFLLEdBQUcscUJBQVMsb0JBQVQsQ0FBZDs7QUFxRUEsU0FBU0MsY0FBVCxDQUF3QkMsV0FBeEIsRUFBNkNDLFdBQTdDLEVBQWtFO0FBQ2hFLFFBQU1DLFdBQVcsR0FBR0QsV0FBVyxDQUFDRSxNQUFaLENBQW1CLFlBQW5CLENBQXBCO0FBQ0Es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QixjQUF0QztBQUNBLGFBQU87QUFDTHpDLFFBQUFBLE9BQU8sRUFBRSxLQURKO0FBRUwwQyxRQUFBQSxTQUFTLEVBQUVDLCtCQUFrQkY7QUFGeEIsT0FBUDtBQUlEOztBQUVELFNBQUsxQixZQUFMLENBQWtCQyxpQ0FBb0I0QixXQUF0QztBQUNBLFdBQU87QUFDTDVDLE1BQUFBLE9BQU8sRUFBRSxLQURKO0FBRUwwQyxNQUFBQSxTQUFTLEVBQUVDLCtCQUFrQkU7QUFGeEIsS0FBUDtBQUlEOztBQUVELFFBQU1DLFNBQU4sR0FBa0I7QUFDaEIsVUFBTUMsa0JBQWtCLEdBQUcsdUJBQVNDLFFBQVQsQ0FBa0IsQ0FBbEIsRUFBcUIsT0FBckIsQ0FBM0I7QUFDQSxVQUFNQyxTQUFTLEdBQUcsS0FBSzFFLE9BQUwsQ0FBYTBFLFNBQWIsSUFBMEJGLGtCQUFrQixDQUFDRyxNQUFuQixFQUE1Qzs7QUFDQSxVQUFNMUUsV0FBVyxHQUFHMkUsZ0JBQU9DLEdBQVAsQ0FBV0wsa0JBQVgsRUFBK0IscUJBQU9FLFNBQVAsQ0FBL0IsQ0FBcEI7O0FBRUEsV0FBTzVELG9CQUFvQixDQUFDLEtBQUt4RixJQUFOLG9CQUN0QixLQUFLMEUsT0FEaUI7QUFFekJsRixNQUFBQSxXQUFXLEVBQUUsS0FBS0EsV0FGTztBQUd6QmdILE1BQUFBLFdBQVcsRUFBRSxLQUFLQTtBQUhPLFFBSXhCN0IsV0FKd0IsQ0FBM0I7QUFLRDs7QUEzRzBEOztlQThHOUN5Qix1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgYnVpbGRVcmwgZnJvbSAnYnVpbGQtdXJsJztcbmltcG9ydCBtb21lbnQsIHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcblxuaW1wb3J0IHsgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IGZldGNoR2V0V2l0aGluUGFnZSwgZmV0Y2hQb3N0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHtcbiAgU0hFS0VMX0NVUlJFTkNZX0tFWVdPUkQsXG4gIFNIRUtFTF9DVVJSRU5DWSxcbiAgQUxUX1NIRUtFTF9DVVJSRU5DWSxcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCBnZXRBbGxNb250aE1vbWVudHMgZnJvbSAnLi4vaGVscGVycy9kYXRlcyc7XG5pbXBvcnQgeyBmaXhJbnN0YWxsbWVudHMsIGZpbHRlck9sZFRyYW5zYWN0aW9ucyB9IGZyb20gJy4uL2hlbHBlcnMvdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7XG4gIFRyYW5zYWN0aW9uc0FjY291bnQsIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbkluc3RhbGxtZW50cyxcbiAgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyxcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7XG4gIFNjcmFwZXJFcnJvclR5cGVzLFxuICBTY2FwZXJPcHRpb25zLCBTY2FwZXJTY3JhcGluZ1Jlc3VsdCwgU2NhcGVyUHJvZ3Jlc3NUeXBlcyxcbiAgU2NyYXBlckNyZWRlbnRpYWxzLFxufSBmcm9tICcuL2Jhc2Utc2NyYXBlcic7XG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuXG5jb25zdCBDT1VOVFJZX0NPREUgPSAnMjEyJztcbmNvbnN0IElEX1RZUEUgPSAnMSc7XG5jb25zdCBJTlNUQUxMTUVOVFNfS0VZV09SRCA9ICfXqtep15zXldedJztcblxuY29uc3QgREFURV9GT1JNQVQgPSAnREQvTU0vWVlZWSc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ2Jhc2UtaXNyYWNhcmQtYW1leCcpO1xuXG5pbnRlcmZhY2UgRXh0ZW5kZWRTY3JhcGVyT3B0aW9ucyBleHRlbmRzIFNjYXBlck9wdGlvbnMge1xuICBzZXJ2aWNlc1VybDogc3RyaW5nO1xuICBjb21wYW55Q29kZTogc3RyaW5nO1xufVxuXG50eXBlIFNjcmFwZWRBY2NvdW50c1dpdGhJbmRleCA9IFJlY29yZDxzdHJpbmcsIFRyYW5zYWN0aW9uc0FjY291bnQgJiB7IGluZGV4OiBudW1iZXIgfT47XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb24ge1xuICBkZWFsU3VtVHlwZTogc3RyaW5nO1xuICB2b3VjaGVyTnVtYmVyUmF0ek91dGJvdW5kOiBzdHJpbmc7XG4gIHZvdWNoZXJOdW1iZXJSYXR6OiBzdHJpbmc7XG4gIG1vcmVJbmZvPzogc3RyaW5nO1xuICBkZWFsU3VtT3V0Ym91bmQ6IGJvb2xlYW47XG4gIGN1cnJlbmN5SWQ6IHN0cmluZztcbiAgZGVhbFN1bTogbnVtYmVyO1xuICBmdWxsUHVyY2hhc2VEYXRlPzogc3RyaW5nO1xuICBmdWxsUHVyY2hhc2VEYXRlT3V0Ym91bmQ/OiBzdHJpbmc7XG4gIGZ1bGxTdXBwbGllck5hbWVIZWI6IHN0cmluZztcbiAgZnVsbFN1cHBsaWVyTmFtZU91dGJvdW5kOiBzdHJpbmc7XG4gIHBheW1lbnRTdW06IG51bWJlcjtcbiAgcGF5bWVudFN1bU91dGJvdW5kOiBudW1iZXI7XG59XG5cblxuaW50ZXJmYWNlIFNjcmFwZWRBY2NvdW50IHtcbiAgaW5kZXg6IG51bWJlcjtcbiAgYWNjb3VudE51bWJlcjogc3RyaW5nO1xuICBwcm9jZXNzZWREYXRlOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBTY3JhcGVkTG9naW5WYWxpZGF0aW9uIHtcbiAgSGVhZGVyOiB7XG4gICAgU3RhdHVzOiBzdHJpbmc7XG4gIH07XG4gIFZhbGlkYXRlSWREYXRhQmVhbj86IHtcbiAgICB1c2VyTmFtZT86IHN0cmluZztcbiAgICByZXR1cm5Db2RlOiBzdHJpbmc7XG4gIH07XG59XG5cbmludGVyZmFjZSBTY3JhcGVkQWNjb3VudHNXaXRoaW5QYWdlUmVzcG9uc2Uge1xuICBIZWFkZXI6IHtcbiAgICBTdGF0dXM6IHN0cmluZztcbiAgfTtcbiAgRGFzaGJvYXJkTW9udGhCZWFuPzoge1xuICAgIGNhcmRzQ2hhcmdlczoge1xuICAgICAgY2FyZEluZGV4OiBzdHJpbmc7XG4gICAgICBjYXJkTnVtYmVyOiBzdHJpbmc7XG4gICAgICBiaWxsaW5nRGF0ZTogc3RyaW5nO1xuICAgIH1bXTtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRDdXJyZW50Q2FyZFRyYW5zYWN0aW9ucyB7XG4gIHR4bklzcmFlbD86IFNjcmFwZWRUcmFuc2FjdGlvbltdO1xuICB0eG5BYnJvYWQ/OiBTY3JhcGVkVHJhbnNhY3Rpb25bXTtcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbkRhdGEge1xuICBIZWFkZXI/OiB7XG4gICAgU3RhdHVzOiBzdHJpbmc7XG4gIH07XG4gIENhcmRzVHJhbnNhY3Rpb25zTGlzdEJlYW4/OiBSZWNvcmQ8c3RyaW5nLCB7XG4gICAgQ3VycmVudENhcmRUcmFuc2FjdGlvbnM6IFNjcmFwZWRDdXJyZW50Q2FyZFRyYW5zYWN0aW9uc1tdO1xuICB9Pjtcbn1cblxuZnVuY3Rpb24gZ2V0QWNjb3VudHNVcmwoc2VydmljZXNVcmw6IHN0cmluZywgbW9udGhNb21lbnQ6IE1vbWVudCkge1xuICBjb25zdCBiaWxsaW5nRGF0ZSA9IG1vbnRoTW9tZW50LmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICByZXR1cm4gYnVpbGRVcmwoc2VydmljZXNVcmwsIHtcbiAgICBxdWVyeVBhcmFtczoge1xuICAgICAgcmVxTmFtZTogJ0Rhc2hib2FyZE1vbnRoJyxcbiAgICAgIGFjdGlvbkNvZGU6ICcwJyxcbiAgICAgIGJpbGxpbmdEYXRlLFxuICAgICAgZm9ybWF0OiAnSnNvbicsXG4gICAgfSxcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoQWNjb3VudHMocGFnZTogUGFnZSwgc2VydmljZXNVcmw6IHN0cmluZywgbW9udGhNb21lbnQ6IE1vbWVudCk6IFByb21pc2U8U2NyYXBlZEFjY291bnRbXT4ge1xuICBjb25zdCBkYXRhVXJsID0gZ2V0QWNjb3VudHNVcmwoc2VydmljZXNVcmwsIG1vbnRoTW9tZW50KTtcbiAgY29uc3QgZGF0YVJlc3VsdCA9IGF3YWl0IGZldGNoR2V0V2l0aGluUGFnZTxTY3JhcGVkQWNjb3VudHNXaXRoaW5QYWdlUmVzcG9uc2U+KHBhZ2UsIGRhdGFVcmwpO1xuICBpZiAoZGF0YVJlc3VsdCAmJiBfLmdldChkYXRhUmVzdWx0LCAnSGVhZGVyLlN0YXR1cycpID09PSAnMScgJiYgZGF0YVJlc3VsdC5EYXNoYm9hcmRNb250aEJlYW4pIHtcbiAgICBjb25zdCB7IGNhcmRzQ2hhcmdlcyB9ID0gZGF0YVJlc3VsdC5EYXNoYm9hcmRNb250aEJlYW47XG4gICAgaWYgKGNhcmRzQ2hhcmdlcykge1xuICAgICAgcmV0dXJuIGNhcmRzQ2hhcmdlcy5tYXAoKGNhcmRDaGFyZ2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbmRleDogcGFyc2VJbnQoY2FyZENoYXJnZS5jYXJkSW5kZXgsIDEwKSxcbiAgICAgICAgICBhY2NvdW50TnVtYmVyOiBjYXJkQ2hhcmdlLmNhcmROdW1iZXIsXG4gICAgICAgICAgcHJvY2Vzc2VkRGF0ZTogbW9tZW50KGNhcmRDaGFyZ2UuYmlsbGluZ0RhdGUsIERBVEVfRk9STUFUKS50b0lTT1N0cmluZygpLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBbXTtcbn1cblxuZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25zVXJsKHNlcnZpY2VzVXJsOiBzdHJpbmcsIG1vbnRoTW9tZW50OiBNb21lbnQpIHtcbiAgY29uc3QgbW9udGggPSBtb250aE1vbWVudC5tb250aCgpICsgMTtcbiAgY29uc3QgeWVhciA9IG1vbnRoTW9tZW50LnllYXIoKTtcbiAgY29uc3QgbW9udGhTdHIgPSBtb250aCA8IDEwID8gYDAke21vbnRofWAgOiBtb250aC50b1N0cmluZygpO1xuICByZXR1cm4gYnVpbGRVcmwoc2VydmljZXNVcmwsIHtcbiAgICBxdWVyeVBhcmFtczoge1xuICAgICAgcmVxTmFtZTogJ0NhcmRzVHJhbnNhY3Rpb25zTGlzdCcsXG4gICAgICBtb250aDogbW9udGhTdHIsXG4gICAgICB5ZWFyOiBgJHt5ZWFyfWAsXG4gICAgICByZXF1aXJlZERhdGU6ICdOJyxcbiAgICB9LFxuICB9KTtcbn1cblxuZnVuY3Rpb24gY29udmVydEN1cnJlbmN5KGN1cnJlbmN5U3RyOiBzdHJpbmcpIHtcbiAgaWYgKGN1cnJlbmN5U3RyID09PSBTSEVLRUxfQ1VSUkVOQ1lfS0VZV09SRCB8fCBjdXJyZW5jeVN0ciA9PT0gQUxUX1NIRUtFTF9DVVJSRU5DWSkge1xuICAgIHJldHVybiBTSEVLRUxfQ1VSUkVOQ1k7XG4gIH1cbiAgcmV0dXJuIGN1cnJlbmN5U3RyO1xufVxuXG5mdW5jdGlvbiBnZXRJbnN0YWxsbWVudHNJbmZvKHR4bjogU2NyYXBlZFRyYW5zYWN0aW9uKTogVHJhbnNhY3Rpb25JbnN0YWxsbWVudHMgfCB1bmRlZmluZWQge1xuICBpZiAoIXR4bi5tb3JlSW5mbyB8fCAhdHhuLm1vcmVJbmZvLmluY2x1ZGVzKElOU1RBTExNRU5UU19LRVlXT1JEKSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgbWF0Y2hlcyA9IHR4bi5tb3JlSW5mby5tYXRjaCgvXFxkKy9nKTtcbiAgaWYgKCFtYXRjaGVzIHx8IG1hdGNoZXMubGVuZ3RoIDwgMikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG51bWJlcjogcGFyc2VJbnQobWF0Y2hlc1swXSwgMTApLFxuICAgIHRvdGFsOiBwYXJzZUludChtYXRjaGVzWzFdLCAxMCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uVHlwZSh0eG46IFNjcmFwZWRUcmFuc2FjdGlvbikge1xuICByZXR1cm4gZ2V0SW5zdGFsbG1lbnRzSW5mbyh0eG4pID8gVHJhbnNhY3Rpb25UeXBlcy5JbnN0YWxsbWVudHMgOiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbDtcbn1cblxuZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9ucyh0eG5zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXSwgcHJvY2Vzc2VkRGF0ZTogc3RyaW5nKTogVHJhbnNhY3Rpb25bXSB7XG4gIGNvbnN0IGZpbHRlcmVkVHhucyA9IHR4bnMuZmlsdGVyKCh0eG4pID0+IHR4bi5kZWFsU3VtVHlwZSAhPT0gJzEnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR4bi52b3VjaGVyTnVtYmVyUmF0eiAhPT0gJzAwMDAwMDAwMCcgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHhuLnZvdWNoZXJOdW1iZXJSYXR6T3V0Ym91bmQgIT09ICcwMDAwMDAwMDAnKTtcblxuICByZXR1cm4gZmlsdGVyZWRUeG5zLm1hcCgodHhuKSA9PiB7XG4gICAgY29uc3QgaXNPdXRib3VuZCA9IHR4bi5kZWFsU3VtT3V0Ym91bmQ7XG4gICAgY29uc3QgdHhuRGF0ZVN0ciA9IGlzT3V0Ym91bmQgPyB0eG4uZnVsbFB1cmNoYXNlRGF0ZU91dGJvdW5kIDogdHhuLmZ1bGxQdXJjaGFzZURhdGU7XG4gICAgY29uc3QgdHhuTW9tZW50ID0gbW9tZW50KHR4bkRhdGVTdHIsIERBVEVfRk9STUFUKTtcblxuICAgIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb24gPSB7XG4gICAgICB0eXBlOiBnZXRUcmFuc2FjdGlvblR5cGUodHhuKSxcbiAgICAgIGlkZW50aWZpZXI6IHBhcnNlSW50KGlzT3V0Ym91bmQgPyB0eG4udm91Y2hlck51bWJlclJhdHpPdXRib3VuZCA6IHR4bi52b3VjaGVyTnVtYmVyUmF0eiwgMTApLFxuICAgICAgZGF0ZTogdHhuTW9tZW50LnRvSVNPU3RyaW5nKCksXG4gICAgICBwcm9jZXNzZWREYXRlLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IGlzT3V0Ym91bmQgPyAtdHhuLmRlYWxTdW1PdXRib3VuZCA6IC10eG4uZGVhbFN1bSxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IGNvbnZlcnRDdXJyZW5jeSh0eG4uY3VycmVuY3lJZCksXG4gICAgICBjaGFyZ2VkQW1vdW50OiBpc091dGJvdW5kID8gLXR4bi5wYXltZW50U3VtT3V0Ym91bmQgOiAtdHhuLnBheW1lbnRTdW0sXG4gICAgICBkZXNjcmlwdGlvbjogaXNPdXRib3VuZCA/IHR4bi5mdWxsU3VwcGxpZXJOYW1lT3V0Ym91bmQgOiB0eG4uZnVsbFN1cHBsaWVyTmFtZUhlYixcbiAgICAgIG1lbW86IHR4bi5tb3JlSW5mbyB8fCAnJyxcbiAgICAgIGluc3RhbGxtZW50czogZ2V0SW5zdGFsbG1lbnRzSW5mbyh0eG4pIHx8IHVuZGVmaW5lZCxcbiAgICAgIHN0YXR1czogVHJhbnNhY3Rpb25TdGF0dXNlcy5Db21wbGV0ZWQsXG4gICAgfTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9ucyhwYWdlOiBQYWdlLCBvcHRpb25zOiBFeHRlbmRlZFNjcmFwZXJPcHRpb25zLCBzdGFydE1vbWVudDogTW9tZW50LCBtb250aE1vbWVudDogTW9tZW50KTogUHJvbWlzZTxTY3JhcGVkQWNjb3VudHNXaXRoSW5kZXg+IHtcbiAgY29uc3QgYWNjb3VudHMgPSBhd2FpdCBmZXRjaEFjY291bnRzKHBhZ2UsIG9wdGlvbnMuc2VydmljZXNVcmwsIG1vbnRoTW9tZW50KTtcbiAgY29uc3QgZGF0YVVybCA9IGdldFRyYW5zYWN0aW9uc1VybChvcHRpb25zLnNlcnZpY2VzVXJsLCBtb250aE1vbWVudCk7XG4gIGNvbnN0IGRhdGFSZXN1bHQgPSBhd2FpdCBmZXRjaEdldFdpdGhpblBhZ2U8U2NyYXBlZFRyYW5zYWN0aW9uRGF0YT4ocGFnZSwgZGF0YVVybCk7XG4gIGlmIChkYXRhUmVzdWx0ICYmIF8uZ2V0KGRhdGFSZXN1bHQsICdIZWFkZXIuU3RhdHVzJykgPT09ICcxJyAmJiBkYXRhUmVzdWx0LkNhcmRzVHJhbnNhY3Rpb25zTGlzdEJlYW4pIHtcbiAgICBjb25zdCBhY2NvdW50VHhuczogU2NyYXBlZEFjY291bnRzV2l0aEluZGV4ID0ge307XG4gICAgYWNjb3VudHMuZm9yRWFjaCgoYWNjb3VudCkgPT4ge1xuICAgICAgY29uc3QgdHhuR3JvdXBzOiBTY3JhcGVkQ3VycmVudENhcmRUcmFuc2FjdGlvbnNbXSA9IF8uZ2V0KGRhdGFSZXN1bHQsIGBDYXJkc1RyYW5zYWN0aW9uc0xpc3RCZWFuLkluZGV4JHthY2NvdW50LmluZGV4fS5DdXJyZW50Q2FyZFRyYW5zYWN0aW9uc2ApO1xuICAgICAgaWYgKHR4bkdyb3Vwcykge1xuICAgICAgICBsZXQgYWxsVHhuczogVHJhbnNhY3Rpb25bXSA9IFtdO1xuICAgICAgICB0eG5Hcm91cHMuZm9yRWFjaCgodHhuR3JvdXApID0+IHtcbiAgICAgICAgICBpZiAodHhuR3JvdXAudHhuSXNyYWVsKSB7XG4gICAgICAgICAgICBjb25zdCB0eG5zID0gY29udmVydFRyYW5zYWN0aW9ucyh0eG5Hcm91cC50eG5Jc3JhZWwsIGFjY291bnQucHJvY2Vzc2VkRGF0ZSk7XG4gICAgICAgICAgICBhbGxUeG5zLnB1c2goLi4udHhucyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eG5Hcm91cC50eG5BYnJvYWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHR4bnMgPSBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bkdyb3VwLnR4bkFicm9hZCwgYWNjb3VudC5wcm9jZXNzZWREYXRlKTtcbiAgICAgICAgICAgIGFsbFR4bnMucHVzaCguLi50eG5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghb3B0aW9ucy5jb21iaW5lSW5zdGFsbG1lbnRzKSB7XG4gICAgICAgICAgYWxsVHhucyA9IGZpeEluc3RhbGxtZW50cyhhbGxUeG5zKTtcbiAgICAgICAgfVxuICAgICAgICBhbGxUeG5zID0gZmlsdGVyT2xkVHJhbnNhY3Rpb25zKGFsbFR4bnMsIHN0YXJ0TW9tZW50LCBvcHRpb25zLmNvbWJpbmVJbnN0YWxsbWVudHMgfHwgZmFsc2UpO1xuXG4gICAgICAgIGFjY291bnRUeG5zW2FjY291bnQuYWNjb3VudE51bWJlcl0gPSB7XG4gICAgICAgICAgYWNjb3VudE51bWJlcjogYWNjb3VudC5hY2NvdW50TnVtYmVyLFxuICAgICAgICAgIGluZGV4OiBhY2NvdW50LmluZGV4LFxuICAgICAgICAgIHR4bnM6IGFsbFR4bnMsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjY291bnRUeG5zO1xuICB9XG5cbiAgcmV0dXJuIHt9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaEFsbFRyYW5zYWN0aW9ucyhwYWdlOiBQYWdlLCBvcHRpb25zOiBFeHRlbmRlZFNjcmFwZXJPcHRpb25zLCBzdGFydE1vbWVudDogTW9tZW50KSB7XG4gIGNvbnN0IGZ1dHVyZU1vbnRoc1RvU2NyYXBlID0gb3B0aW9ucy5mdXR1cmVNb250aHNUb1NjcmFwZSA/PyAxO1xuICBjb25zdCBhbGxNb250aHMgPSBnZXRBbGxNb250aE1vbWVudHMoc3RhcnRNb21lbnQsIGZ1dHVyZU1vbnRoc1RvU2NyYXBlKTtcbiAgY29uc3QgcmVzdWx0czogU2NyYXBlZEFjY291bnRzV2l0aEluZGV4W10gPSBhd2FpdCBQcm9taXNlLmFsbChhbGxNb250aHMubWFwKGFzeW5jIChtb250aE1vbWVudCkgPT4ge1xuICAgIHJldHVybiBmZXRjaFRyYW5zYWN0aW9ucyhwYWdlLCBvcHRpb25zLCBzdGFydE1vbWVudCwgbW9udGhNb21lbnQpO1xuICB9KSk7XG5cbiAgY29uc3QgY29tYmluZWRUeG5zOiBSZWNvcmQ8c3RyaW5nLCBUcmFuc2FjdGlvbltdPiA9IHt9O1xuXG4gIHJlc3VsdHMuZm9yRWFjaCgocmVzdWx0KSA9PiB7XG4gICAgT2JqZWN0LmtleXMocmVzdWx0KS5mb3JFYWNoKChhY2NvdW50TnVtYmVyKSA9PiB7XG4gICAgICBsZXQgdHhuc0ZvckFjY291bnQgPSBjb21iaW5lZFR4bnNbYWNjb3VudE51bWJlcl07XG4gICAgICBpZiAoIXR4bnNGb3JBY2NvdW50KSB7XG4gICAgICAgIHR4bnNGb3JBY2NvdW50ID0gW107XG4gICAgICAgIGNvbWJpbmVkVHhuc1thY2NvdW50TnVtYmVyXSA9IHR4bnNGb3JBY2NvdW50O1xuICAgICAgfVxuICAgICAgY29uc3QgdG9CZUFkZGVkVHhucyA9IHJlc3VsdFthY2NvdW50TnVtYmVyXS50eG5zO1xuICAgICAgY29tYmluZWRUeG5zW2FjY291bnROdW1iZXJdLnB1c2goLi4udG9CZUFkZGVkVHhucyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGNvbnN0IGFjY291bnRzID0gT2JqZWN0LmtleXMoY29tYmluZWRUeG5zKS5tYXAoKGFjY291bnROdW1iZXIpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgYWNjb3VudE51bWJlcixcbiAgICAgIHR4bnM6IGNvbWJpbmVkVHhuc1thY2NvdW50TnVtYmVyXSxcbiAgICB9O1xuICB9KTtcblxuICByZXR1cm4ge1xuICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgYWNjb3VudHMsXG4gIH07XG59XG5cblxuY2xhc3MgSXNyYWNhcmRBbWV4QmFzZVNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIHtcbiAgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBjb21wYW55Q29kZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgc2VydmljZXNVcmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBTY2FwZXJPcHRpb25zLCBiYXNlVXJsOiBzdHJpbmcsIGNvbXBhbnlDb2RlOiBzdHJpbmcpIHtcbiAgICBzdXBlcihvcHRpb25zKTtcblxuICAgIHRoaXMuYmFzZVVybCA9IGJhc2VVcmw7XG4gICAgdGhpcy5jb21wYW55Q29kZSA9IGNvbXBhbnlDb2RlO1xuICAgIHRoaXMuc2VydmljZXNVcmwgPSBgJHtiYXNlVXJsfS9zZXJ2aWNlcy9Qcm94eVJlcXVlc3RIYW5kbGVyLmFzaHhgO1xuICB9XG5cbiAgYXN5bmMgbG9naW4oY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscyk6IFByb21pc2U8U2NhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICBhd2FpdCB0aGlzLnBhZ2Uuc2V0UmVxdWVzdEludGVyY2VwdGlvbih0cnVlKTtcbiAgICB0aGlzLnBhZ2Uub24oJ3JlcXVlc3QnLCAocmVxdWVzdCkgPT4ge1xuICAgICAgaWYgKHJlcXVlc3QudXJsKCkuaW5jbHVkZXMoJ2RldGVjdG9yLWRvbS5taW4uanMnKSkge1xuICAgICAgICBkZWJ1ZygnZm9yY2UgYWJvcnQgZm9yIHJlcXVlc3QgZG8gZG93bmxvYWQgZGV0ZWN0b3ItZG9tLm1pbi5qcyByZXNvdXJjZScpO1xuICAgICAgICByZXF1ZXN0LmFib3J0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXF1ZXN0LmNvbnRpbnVlKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBkZWJ1ZygnbmF2aWdhdGUgdG8gbG9naW4gcGFnZScpO1xuICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUbyhgJHt0aGlzLmJhc2VVcmx9L3BlcnNvbmFsYXJlYS9Mb2dpbmApO1xuXG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Mb2dnaW5nSW4pO1xuXG4gICAgY29uc3QgdmFsaWRhdGVVcmwgPSBgJHt0aGlzLnNlcnZpY2VzVXJsfT9yZXFOYW1lPVZhbGlkYXRlSWREYXRhYDtcbiAgICBjb25zdCB2YWxpZGF0ZVJlcXVlc3QgPSB7XG4gICAgICBpZDogY3JlZGVudGlhbHMuaWQsXG4gICAgICBjYXJkU3VmZml4OiBjcmVkZW50aWFscy5jYXJkNkRpZ2l0cyxcbiAgICAgIGNvdW50cnlDb2RlOiBDT1VOVFJZX0NPREUsXG4gICAgICBpZFR5cGU6IElEX1RZUEUsXG4gICAgICBjaGVja0xldmVsOiAnMScsXG4gICAgICBjb21wYW55Q29kZTogdGhpcy5jb21wYW55Q29kZSxcbiAgICB9O1xuICAgIGNvbnN0IHZhbGlkYXRlUmVzdWx0ID0gYXdhaXQgZmV0Y2hQb3N0V2l0aGluUGFnZTxTY3JhcGVkTG9naW5WYWxpZGF0aW9uPih0aGlzLnBhZ2UsIHZhbGlkYXRlVXJsLCB2YWxpZGF0ZVJlcXVlc3QpO1xuICAgIGlmICghdmFsaWRhdGVSZXN1bHQgfHwgIXZhbGlkYXRlUmVzdWx0LkhlYWRlciB8fCB2YWxpZGF0ZVJlc3VsdC5IZWFkZXIuU3RhdHVzICE9PSAnMScgfHwgIXZhbGlkYXRlUmVzdWx0LlZhbGlkYXRlSWREYXRhQmVhbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGVycm9yIGR1cmluZyBsb2dpbicpO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkYXRlUmV0dXJuQ29kZSA9IHZhbGlkYXRlUmVzdWx0LlZhbGlkYXRlSWREYXRhQmVhbi5yZXR1cm5Db2RlO1xuICAgIGRlYnVnKGB1c2VyIHZhbGlkYXRlIHdpdGggcmV0dXJuIGNvZGUgJyR7dmFsaWRhdGVSZXR1cm5Db2RlfSdgKTtcbiAgICBpZiAodmFsaWRhdGVSZXR1cm5Db2RlID09PSAnMScpIHtcbiAgICAgIGNvbnN0IHsgdXNlck5hbWUgfSA9IHZhbGlkYXRlUmVzdWx0LlZhbGlkYXRlSWREYXRhQmVhbjtcblxuICAgICAgY29uc3QgbG9naW5VcmwgPSBgJHt0aGlzLnNlcnZpY2VzVXJsfT9yZXFOYW1lPXBlcmZvcm1Mb2dvbklgO1xuICAgICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgICAgS29kTWlzaHRhbWVzaDogdXNlck5hbWUsXG4gICAgICAgIE1pc3BhclppaHV5OiBjcmVkZW50aWFscy5pZCxcbiAgICAgICAgU2lzbWE6IGNyZWRlbnRpYWxzLnBhc3N3b3JkLFxuICAgICAgICBjYXJkU3VmZml4OiBjcmVkZW50aWFscy5jYXJkNkRpZ2l0cyxcbiAgICAgICAgY291bnRyeUNvZGU6IENPVU5UUllfQ09ERSxcbiAgICAgICAgaWRUeXBlOiBJRF9UWVBFLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGxvZ2luUmVzdWx0ID0gYXdhaXQgZmV0Y2hQb3N0V2l0aGluUGFnZTx7c3RhdHVzOiBzdHJpbmd9Pih0aGlzLnBhZ2UsIGxvZ2luVXJsLCByZXF1ZXN0KTtcbiAgICAgIGRlYnVnKGB1c2VyIGxvZ2luIHdpdGggc3RhdHVzICcke2xvZ2luUmVzdWx0Py5zdGF0dXN9J2ApO1xuXG4gICAgICBpZiAobG9naW5SZXN1bHQgJiYgbG9naW5SZXN1bHQuc3RhdHVzID09PSAnMScpIHtcbiAgICAgICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Mb2dpblN1Y2Nlc3MpO1xuICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgICB9XG5cbiAgICAgIGlmIChsb2dpblJlc3VsdCAmJiBsb2dpblJlc3VsdC5zdGF0dXMgPT09ICczJykge1xuICAgICAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkNoYW5nZVBhc3N3b3JkKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkNoYW5nZVBhc3N3b3JkLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkxvZ2luRmFpbGVkKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkludmFsaWRQYXNzd29yZCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHZhbGlkYXRlUmV0dXJuQ29kZSA9PT0gJzQnKSB7XG4gICAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkNoYW5nZVBhc3N3b3JkKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkNoYW5nZVBhc3N3b3JkLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkxvZ2luRmFpbGVkKTtcbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkludmFsaWRQYXNzd29yZCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hEYXRhKCkge1xuICAgIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICd5ZWFycycpO1xuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMub3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICAgIGNvbnN0IHN0YXJ0TW9tZW50ID0gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcblxuICAgIHJldHVybiBmZXRjaEFsbFRyYW5zYWN0aW9ucyh0aGlzLnBhZ2UsIHtcbiAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIHNlcnZpY2VzVXJsOiB0aGlzLnNlcnZpY2VzVXJsLFxuICAgICAgY29tcGFueUNvZGU6IHRoaXMuY29tcGFueUNvZGUsXG4gICAgfSwgc3RhcnRNb21lbnQpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IElzcmFjYXJkQW1leEJhc2VTY3JhcGVyO1xuIl19
|
|
340
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLWlzcmFjYXJkLWFtZXgudHMiXSwibmFtZXMiOlsiQ09VTlRSWV9DT0RFIiwiSURfVFlQRSIsIklOU1RBTExNRU5UU19LRVlXT1JEIiwiREFURV9GT1JNQVQiLCJkZWJ1ZyIsImdldEFjY291bnRzVXJsIiwic2VydmljZXNVcmwiLCJtb250aE1vbWVudCIsImJpbGxpbmdEYXRlIiwiZm9ybWF0IiwicXVlcnlQYXJhbXMiLCJyZXFOYW1lIiwiYWN0aW9uQ29kZSIsImZldGNoQWNjb3VudHMiLCJwYWdlIiwiZGF0YVVybCIsImRhdGFSZXN1bHQiLCJfIiwiZ2V0IiwiRGFzaGJvYXJkTW9udGhCZWFuIiwiY2FyZHNDaGFyZ2VzIiwibWFwIiwiY2FyZENoYXJnZSIsImluZGV4IiwicGFyc2VJbnQiLCJjYXJkSW5kZXgiLCJhY2NvdW50TnVtYmVyIiwiY2FyZE51bWJlciIsInByb2Nlc3NlZERhdGUiLCJ0b0lTT1N0cmluZyIsImdldFRyYW5zYWN0aW9uc1VybCIsIm1vbnRoIiwieWVhciIsIm1vbnRoU3RyIiwidG9TdHJpbmciLCJyZXF1aXJlZERhdGUiLCJjb252ZXJ0Q3VycmVuY3kiLCJjdXJyZW5jeVN0ciIsIlNIRUtFTF9DVVJSRU5DWV9LRVlXT1JEIiwiQUxUX1NIRUtFTF9DVVJSRU5DWSIsIlNIRUtFTF9DVVJSRU5DWSIsImdldEluc3RhbGxtZW50c0luZm8iLCJ0eG4iLCJtb3JlSW5mbyIsImluY2x1ZGVzIiwidW5kZWZpbmVkIiwibWF0Y2hlcyIsIm1hdGNoIiwibGVuZ3RoIiwibnVtYmVyIiwidG90YWwiLCJnZXRUcmFuc2FjdGlvblR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiSW5zdGFsbG1lbnRzIiwiTm9ybWFsIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJmaWx0ZXJlZFR4bnMiLCJmaWx0ZXIiLCJkZWFsU3VtVHlwZSIsInZvdWNoZXJOdW1iZXJSYXR6Iiwidm91Y2hlck51bWJlclJhdHpPdXRib3VuZCIsImlzT3V0Ym91bmQiLCJkZWFsU3VtT3V0Ym91bmQiLCJ0eG5EYXRlU3RyIiwiZnVsbFB1cmNoYXNlRGF0ZU91dGJvdW5kIiwiZnVsbFB1cmNoYXNlRGF0ZSIsInR4bk1vbWVudCIsInJlc3VsdCIsInR5cGUiLCJpZGVudGlmaWVyIiwiZGF0ZSIsIm9yaWdpbmFsQW1vdW50IiwiZGVhbFN1bSIsIm9yaWdpbmFsQ3VycmVuY3kiLCJjdXJyZW5jeUlkIiwiY2hhcmdlZEFtb3VudCIsInBheW1lbnRTdW1PdXRib3VuZCIsInBheW1lbnRTdW0iLCJkZXNjcmlwdGlvbiIsImZ1bGxTdXBwbGllck5hbWVPdXRib3VuZCIsImZ1bGxTdXBwbGllck5hbWVIZWIiLCJtZW1vIiwiaW5zdGFsbG1lbnRzIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsImZldGNoVHJhbnNhY3Rpb25zIiwib3B0aW9ucyIsInN0YXJ0TW9tZW50IiwiYWNjb3VudHMiLCJDYXJkc1RyYW5zYWN0aW9uc0xpc3RCZWFuIiwiYWNjb3VudFR4bnMiLCJmb3JFYWNoIiwiYWNjb3VudCIsInR4bkdyb3VwcyIsImFsbFR4bnMiLCJ0eG5Hcm91cCIsInR4bklzcmFlbCIsInB1c2giLCJ0eG5BYnJvYWQiLCJjb21iaW5lSW5zdGFsbG1lbnRzIiwiZmV0Y2hBbGxUcmFuc2FjdGlvbnMiLCJmdXR1cmVNb250aHNUb1NjcmFwZSIsImFsbE1vbnRocyIsInJlc3VsdHMiLCJQcm9taXNlIiwiYWxsIiwiY29tYmluZWRUeG5zIiwiT2JqZWN0Iiwia2V5cyIsInR4bnNGb3JBY2NvdW50IiwidG9CZUFkZGVkVHhucyIsInN1Y2Nlc3MiLCJJc3JhY2FyZEFtZXhCYXNlU2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJjb25zdHJ1Y3RvciIsImJhc2VVcmwiLCJjb21wYW55Q29kZSIsImxvZ2luIiwiY3JlZGVudGlhbHMiLCJzZXRSZXF1ZXN0SW50ZXJjZXB0aW9uIiwib24iLCJyZXF1ZXN0IiwidXJsIiwiYWJvcnQiLCJjb250aW51ZSIsIm5hdmlnYXRlVG8iLCJlbWl0UHJvZ3Jlc3MiLCJTY2FwZXJQcm9ncmVzc1R5cGVzIiwiTG9nZ2luZ0luIiwidmFsaWRhdGVVcmwiLCJ2YWxpZGF0ZVJlcXVlc3QiLCJpZCIsImNhcmRTdWZmaXgiLCJjYXJkNkRpZ2l0cyIsImNvdW50cnlDb2RlIiwiaWRUeXBlIiwiY2hlY2tMZXZlbCIsInZhbGlkYXRlUmVzdWx0IiwiSGVhZGVyIiwiU3RhdHVzIiwiVmFsaWRhdGVJZERhdGFCZWFuIiwiRXJyb3IiLCJ2YWxpZGF0ZVJldHVybkNvZGUiLCJyZXR1cm5Db2RlIiwidXNlck5hbWUiLCJsb2dpblVybCIsIktvZE1pc2h0YW1lc2giLCJNaXNwYXJaaWh1eSIsIlNpc21hIiwicGFzc3dvcmQiLCJsb2dpblJlc3VsdCIsIkxvZ2luU3VjY2VzcyIsIkNoYW5nZVBhc3N3b3JkIiwiZXJyb3JUeXBlIiwiU2NyYXBlckVycm9yVHlwZXMiLCJMb2dpbkZhaWxlZCIsIkludmFsaWRQYXNzd29yZCIsImZldGNoRGF0YSIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0Iiwic3RhcnREYXRlIiwidG9EYXRlIiwibW9tZW50IiwibWF4Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUdBOztBQUNBOztBQUNBOztBQUtBOztBQUNBOztBQUNBOztBQUlBOztBQUtBOzs7Ozs7Ozs7O0FBRUEsTUFBTUEsWUFBWSxHQUFHLEtBQXJCO0FBQ0EsTUFBTUMsT0FBTyxHQUFHLEdBQWhCO0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUcsT0FBN0I7QUFFQSxNQUFNQyxXQUFXLEdBQUcsWUFBcEI7QUFFQSxNQUFNQyxLQUFLLEdBQUcscUJBQVMsb0JBQVQsQ0FBZDs7QUFxRUEsU0FBU0MsY0FBVCxDQUF3QkMsV0FBeEIsRUFBNkNDLFdBQTdDLEVBQWtFO0FBQ2hFLFFBQU1DLFdBQVcsR0FBR0QsV0FBVyxDQUFDRSxNQUFaLENBQW1CLFlBQW5CLENBQXBCO0FBQ0Es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QixjQUF0QztBQUNBLGFBQU87QUFDTHpDLFFBQUFBLE9BQU8sRUFBRSxLQURKO0FBRUwwQyxRQUFBQSxTQUFTLEVBQUVDLCtCQUFrQkY7QUFGeEIsT0FBUDtBQUlEOztBQUVELFNBQUsxQixZQUFMLENBQWtCQyxpQ0FBb0I0QixXQUF0QztBQUNBLFdBQU87QUFDTDVDLE1BQUFBLE9BQU8sRUFBRSxLQURKO0FBRUwwQyxNQUFBQSxTQUFTLEVBQUVDLCtCQUFrQkU7QUFGeEIsS0FBUDtBQUlEOztBQUVELFFBQU1DLFNBQU4sR0FBa0I7QUFDaEIsVUFBTUMsa0JBQWtCLEdBQUcsdUJBQVNDLFFBQVQsQ0FBa0IsQ0FBbEIsRUFBcUIsT0FBckIsQ0FBM0I7QUFDQSxVQUFNQyxTQUFTLEdBQUcsS0FBSzFFLE9BQUwsQ0FBYTBFLFNBQWIsSUFBMEJGLGtCQUFrQixDQUFDRyxNQUFuQixFQUE1Qzs7QUFDQSxVQUFNMUUsV0FBVyxHQUFHMkUsZ0JBQU9DLEdBQVAsQ0FBV0wsa0JBQVgsRUFBK0IscUJBQU9FLFNBQVAsQ0FBL0IsQ0FBcEI7O0FBRUEsV0FBTzVELG9CQUFvQixDQUFDLEtBQUt4RixJQUFOLG9CQUN0QixLQUFLMEUsT0FEaUI7QUFFekJsRixNQUFBQSxXQUFXLEVBQUUsS0FBS0EsV0FGTztBQUd6QmdILE1BQUFBLFdBQVcsRUFBRSxLQUFLQTtBQUhPLFFBSXhCN0IsV0FKd0IsQ0FBM0I7QUFLRDs7QUEzRzBEOztlQThHOUN5Qix1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgYnVpbGRVcmwgZnJvbSAnYnVpbGQtdXJsJztcbmltcG9ydCBtb21lbnQsIHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcblxuaW1wb3J0IHsgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IGZldGNoR2V0V2l0aGluUGFnZSwgZmV0Y2hQb3N0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHtcbiAgU0hFS0VMX0NVUlJFTkNZX0tFWVdPUkQsXG4gIFNIRUtFTF9DVVJSRU5DWSxcbiAgQUxUX1NIRUtFTF9DVVJSRU5DWSxcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCBnZXRBbGxNb250aE1vbWVudHMgZnJvbSAnLi4vaGVscGVycy9kYXRlcyc7XG5pbXBvcnQgeyBmaXhJbnN0YWxsbWVudHMsIGZpbHRlck9sZFRyYW5zYWN0aW9ucyB9IGZyb20gJy4uL2hlbHBlcnMvdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7XG4gIFRyYW5zYWN0aW9uc0FjY291bnQsIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbkluc3RhbGxtZW50cyxcbiAgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyxcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7XG4gIFNjcmFwZXJFcnJvclR5cGVzLFxuICBTY3JhcGVyT3B0aW9ucywgU2NhcGVyU2NyYXBpbmdSZXN1bHQsIFNjYXBlclByb2dyZXNzVHlwZXMsXG4gIFNjcmFwZXJDcmVkZW50aWFscyxcbn0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHsgZ2V0RGVidWcgfSBmcm9tICcuLi9oZWxwZXJzL2RlYnVnJztcblxuY29uc3QgQ09VTlRSWV9DT0RFID0gJzIxMic7XG5jb25zdCBJRF9UWVBFID0gJzEnO1xuY29uc3QgSU5TVEFMTE1FTlRTX0tFWVdPUkQgPSAn16rXqdec15XXnSc7XG5cbmNvbnN0IERBVEVfRk9STUFUID0gJ0REL01NL1lZWVknO1xuXG5jb25zdCBkZWJ1ZyA9IGdldERlYnVnKCdiYXNlLWlzcmFjYXJkLWFtZXgnKTtcblxuaW50ZXJmYWNlIEV4dGVuZGVkU2NyYXBlck9wdGlvbnMgZXh0ZW5kcyBTY3JhcGVyT3B0aW9ucyB7XG4gIHNlcnZpY2VzVXJsOiBzdHJpbmc7XG4gIGNvbXBhbnlDb2RlOiBzdHJpbmc7XG59XG5cbnR5cGUgU2NyYXBlZEFjY291bnRzV2l0aEluZGV4ID0gUmVjb3JkPHN0cmluZywgVHJhbnNhY3Rpb25zQWNjb3VudCAmIHsgaW5kZXg6IG51bWJlciB9PjtcblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbiB7XG4gIGRlYWxTdW1UeXBlOiBzdHJpbmc7XG4gIHZvdWNoZXJOdW1iZXJSYXR6T3V0Ym91bmQ6IHN0cmluZztcbiAgdm91Y2hlck51bWJlclJhdHo6IHN0cmluZztcbiAgbW9yZUluZm8/OiBzdHJpbmc7XG4gIGRlYWxTdW1PdXRib3VuZDogYm9vbGVhbjtcbiAgY3VycmVuY3lJZDogc3RyaW5nO1xuICBkZWFsU3VtOiBudW1iZXI7XG4gIGZ1bGxQdXJjaGFzZURhdGU/OiBzdHJpbmc7XG4gIGZ1bGxQdXJjaGFzZURhdGVPdXRib3VuZD86IHN0cmluZztcbiAgZnVsbFN1cHBsaWVyTmFtZUhlYjogc3RyaW5nO1xuICBmdWxsU3VwcGxpZXJOYW1lT3V0Ym91bmQ6IHN0cmluZztcbiAgcGF5bWVudFN1bTogbnVtYmVyO1xuICBwYXltZW50U3VtT3V0Ym91bmQ6IG51bWJlcjtcbn1cblxuXG5pbnRlcmZhY2UgU2NyYXBlZEFjY291bnQge1xuICBpbmRleDogbnVtYmVyO1xuICBhY2NvdW50TnVtYmVyOiBzdHJpbmc7XG4gIHByb2Nlc3NlZERhdGU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRMb2dpblZhbGlkYXRpb24ge1xuICBIZWFkZXI6IHtcbiAgICBTdGF0dXM6IHN0cmluZztcbiAgfTtcbiAgVmFsaWRhdGVJZERhdGFCZWFuPzoge1xuICAgIHVzZXJOYW1lPzogc3RyaW5nO1xuICAgIHJldHVybkNvZGU6IHN0cmluZztcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRBY2NvdW50c1dpdGhpblBhZ2VSZXNwb25zZSB7XG4gIEhlYWRlcjoge1xuICAgIFN0YXR1czogc3RyaW5nO1xuICB9O1xuICBEYXNoYm9hcmRNb250aEJlYW4/OiB7XG4gICAgY2FyZHNDaGFyZ2VzOiB7XG4gICAgICBjYXJkSW5kZXg6IHN0cmluZztcbiAgICAgIGNhcmROdW1iZXI6IHN0cmluZztcbiAgICAgIGJpbGxpbmdEYXRlOiBzdHJpbmc7XG4gICAgfVtdO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgU2NyYXBlZEN1cnJlbnRDYXJkVHJhbnNhY3Rpb25zIHtcbiAgdHhuSXNyYWVsPzogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gIHR4bkFicm9hZD86IFNjcmFwZWRUcmFuc2FjdGlvbltdO1xufVxuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uRGF0YSB7XG4gIEhlYWRlcj86IHtcbiAgICBTdGF0dXM6IHN0cmluZztcbiAgfTtcbiAgQ2FyZHNUcmFuc2FjdGlvbnNMaXN0QmVhbj86IFJlY29yZDxzdHJpbmcsIHtcbiAgICBDdXJyZW50Q2FyZFRyYW5zYWN0aW9uczogU2NyYXBlZEN1cnJlbnRDYXJkVHJhbnNhY3Rpb25zW107XG4gIH0+O1xufVxuXG5mdW5jdGlvbiBnZXRBY2NvdW50c1VybChzZXJ2aWNlc1VybDogc3RyaW5nLCBtb250aE1vbWVudDogTW9tZW50KSB7XG4gIGNvbnN0IGJpbGxpbmdEYXRlID0gbW9udGhNb21lbnQuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG4gIHJldHVybiBidWlsZFVybChzZXJ2aWNlc1VybCwge1xuICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICByZXFOYW1lOiAnRGFzaGJvYXJkTW9udGgnLFxuICAgICAgYWN0aW9uQ29kZTogJzAnLFxuICAgICAgYmlsbGluZ0RhdGUsXG4gICAgICBmb3JtYXQ6ICdKc29uJyxcbiAgICB9LFxuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hBY2NvdW50cyhwYWdlOiBQYWdlLCBzZXJ2aWNlc1VybDogc3RyaW5nLCBtb250aE1vbWVudDogTW9tZW50KTogUHJvbWlzZTxTY3JhcGVkQWNjb3VudFtdPiB7XG4gIGNvbnN0IGRhdGFVcmwgPSBnZXRBY2NvdW50c1VybChzZXJ2aWNlc1VybCwgbW9udGhNb21lbnQpO1xuICBjb25zdCBkYXRhUmVzdWx0ID0gYXdhaXQgZmV0Y2hHZXRXaXRoaW5QYWdlPFNjcmFwZWRBY2NvdW50c1dpdGhpblBhZ2VSZXNwb25zZT4ocGFnZSwgZGF0YVVybCk7XG4gIGlmIChkYXRhUmVzdWx0ICYmIF8uZ2V0KGRhdGFSZXN1bHQsICdIZWFkZXIuU3RhdHVzJykgPT09ICcxJyAmJiBkYXRhUmVzdWx0LkRhc2hib2FyZE1vbnRoQmVhbikge1xuICAgIGNvbnN0IHsgY2FyZHNDaGFyZ2VzIH0gPSBkYXRhUmVzdWx0LkRhc2hib2FyZE1vbnRoQmVhbjtcbiAgICBpZiAoY2FyZHNDaGFyZ2VzKSB7XG4gICAgICByZXR1cm4gY2FyZHNDaGFyZ2VzLm1hcCgoY2FyZENoYXJnZSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGluZGV4OiBwYXJzZUludChjYXJkQ2hhcmdlLmNhcmRJbmRleCwgMTApLFxuICAgICAgICAgIGFjY291bnROdW1iZXI6IGNhcmRDaGFyZ2UuY2FyZE51bWJlcixcbiAgICAgICAgICBwcm9jZXNzZWREYXRlOiBtb21lbnQoY2FyZENoYXJnZS5iaWxsaW5nRGF0ZSwgREFURV9GT1JNQVQpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFtdO1xufVxuXG5mdW5jdGlvbiBnZXRUcmFuc2FjdGlvbnNVcmwoc2VydmljZXNVcmw6IHN0cmluZywgbW9udGhNb21lbnQ6IE1vbWVudCkge1xuICBjb25zdCBtb250aCA9IG1vbnRoTW9tZW50Lm1vbnRoKCkgKyAxO1xuICBjb25zdCB5ZWFyID0gbW9udGhNb21lbnQueWVhcigpO1xuICBjb25zdCBtb250aFN0ciA9IG1vbnRoIDwgMTAgPyBgMCR7bW9udGh9YCA6IG1vbnRoLnRvU3RyaW5nKCk7XG4gIHJldHVybiBidWlsZFVybChzZXJ2aWNlc1VybCwge1xuICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICByZXFOYW1lOiAnQ2FyZHNUcmFuc2FjdGlvbnNMaXN0JyxcbiAgICAgIG1vbnRoOiBtb250aFN0cixcbiAgICAgIHllYXI6IGAke3llYXJ9YCxcbiAgICAgIHJlcXVpcmVkRGF0ZTogJ04nLFxuICAgIH0sXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0Q3VycmVuY3koY3VycmVuY3lTdHI6IHN0cmluZykge1xuICBpZiAoY3VycmVuY3lTdHIgPT09IFNIRUtFTF9DVVJSRU5DWV9LRVlXT1JEIHx8IGN1cnJlbmN5U3RyID09PSBBTFRfU0hFS0VMX0NVUlJFTkNZKSB7XG4gICAgcmV0dXJuIFNIRUtFTF9DVVJSRU5DWTtcbiAgfVxuICByZXR1cm4gY3VycmVuY3lTdHI7XG59XG5cbmZ1bmN0aW9uIGdldEluc3RhbGxtZW50c0luZm8odHhuOiBTY3JhcGVkVHJhbnNhY3Rpb24pOiBUcmFuc2FjdGlvbkluc3RhbGxtZW50cyB8IHVuZGVmaW5lZCB7XG4gIGlmICghdHhuLm1vcmVJbmZvIHx8ICF0eG4ubW9yZUluZm8uaW5jbHVkZXMoSU5TVEFMTE1FTlRTX0tFWVdPUkQpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCBtYXRjaGVzID0gdHhuLm1vcmVJbmZvLm1hdGNoKC9cXGQrL2cpO1xuICBpZiAoIW1hdGNoZXMgfHwgbWF0Y2hlcy5sZW5ndGggPCAyKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbnVtYmVyOiBwYXJzZUludChtYXRjaGVzWzBdLCAxMCksXG4gICAgdG90YWw6IHBhcnNlSW50KG1hdGNoZXNbMV0sIDEwKSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25UeXBlKHR4bjogU2NyYXBlZFRyYW5zYWN0aW9uKSB7XG4gIHJldHVybiBnZXRJbnN0YWxsbWVudHNJbmZvKHR4bikgPyBUcmFuc2FjdGlvblR5cGVzLkluc3RhbGxtZW50cyA6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsO1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdLCBwcm9jZXNzZWREYXRlOiBzdHJpbmcpOiBUcmFuc2FjdGlvbltdIHtcbiAgY29uc3QgZmlsdGVyZWRUeG5zID0gdHhucy5maWx0ZXIoKHR4bikgPT4gdHhuLmRlYWxTdW1UeXBlICE9PSAnMScgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHhuLnZvdWNoZXJOdW1iZXJSYXR6ICE9PSAnMDAwMDAwMDAwJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eG4udm91Y2hlck51bWJlclJhdHpPdXRib3VuZCAhPT0gJzAwMDAwMDAwMCcpO1xuXG4gIHJldHVybiBmaWx0ZXJlZFR4bnMubWFwKCh0eG4pID0+IHtcbiAgICBjb25zdCBpc091dGJvdW5kID0gdHhuLmRlYWxTdW1PdXRib3VuZDtcbiAgICBjb25zdCB0eG5EYXRlU3RyID0gaXNPdXRib3VuZCA/IHR4bi5mdWxsUHVyY2hhc2VEYXRlT3V0Ym91bmQgOiB0eG4uZnVsbFB1cmNoYXNlRGF0ZTtcbiAgICBjb25zdCB0eG5Nb21lbnQgPSBtb21lbnQodHhuRGF0ZVN0ciwgREFURV9GT1JNQVQpO1xuXG4gICAgY29uc3QgcmVzdWx0OiBUcmFuc2FjdGlvbiA9IHtcbiAgICAgIHR5cGU6IGdldFRyYW5zYWN0aW9uVHlwZSh0eG4pLFxuICAgICAgaWRlbnRpZmllcjogcGFyc2VJbnQoaXNPdXRib3VuZCA/IHR4bi52b3VjaGVyTnVtYmVyUmF0ek91dGJvdW5kIDogdHhuLnZvdWNoZXJOdW1iZXJSYXR6LCAxMCksXG4gICAgICBkYXRlOiB0eG5Nb21lbnQudG9JU09TdHJpbmcoKSxcbiAgICAgIHByb2Nlc3NlZERhdGUsXG4gICAgICBvcmlnaW5hbEFtb3VudDogaXNPdXRib3VuZCA/IC10eG4uZGVhbFN1bU91dGJvdW5kIDogLXR4bi5kZWFsU3VtLFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogY29udmVydEN1cnJlbmN5KHR4bi5jdXJyZW5jeUlkKSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IGlzT3V0Ym91bmQgPyAtdHhuLnBheW1lbnRTdW1PdXRib3VuZCA6IC10eG4ucGF5bWVudFN1bSxcbiAgICAgIGRlc2NyaXB0aW9uOiBpc091dGJvdW5kID8gdHhuLmZ1bGxTdXBwbGllck5hbWVPdXRib3VuZCA6IHR4bi5mdWxsU3VwcGxpZXJOYW1lSGViLFxuICAgICAgbWVtbzogdHhuLm1vcmVJbmZvIHx8ICcnLFxuICAgICAgaW5zdGFsbG1lbnRzOiBnZXRJbnN0YWxsbWVudHNJbmZvKHR4bikgfHwgdW5kZWZpbmVkLFxuICAgICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zKHBhZ2U6IFBhZ2UsIG9wdGlvbnM6IEV4dGVuZGVkU2NyYXBlck9wdGlvbnMsIHN0YXJ0TW9tZW50OiBNb21lbnQsIG1vbnRoTW9tZW50OiBNb21lbnQpOiBQcm9taXNlPFNjcmFwZWRBY2NvdW50c1dpdGhJbmRleD4ge1xuICBjb25zdCBhY2NvdW50cyA9IGF3YWl0IGZldGNoQWNjb3VudHMocGFnZSwgb3B0aW9ucy5zZXJ2aWNlc1VybCwgbW9udGhNb21lbnQpO1xuICBjb25zdCBkYXRhVXJsID0gZ2V0VHJhbnNhY3Rpb25zVXJsKG9wdGlvbnMuc2VydmljZXNVcmwsIG1vbnRoTW9tZW50KTtcbiAgY29uc3QgZGF0YVJlc3VsdCA9IGF3YWl0IGZldGNoR2V0V2l0aGluUGFnZTxTY3JhcGVkVHJhbnNhY3Rpb25EYXRhPihwYWdlLCBkYXRhVXJsKTtcbiAgaWYgKGRhdGFSZXN1bHQgJiYgXy5nZXQoZGF0YVJlc3VsdCwgJ0hlYWRlci5TdGF0dXMnKSA9PT0gJzEnICYmIGRhdGFSZXN1bHQuQ2FyZHNUcmFuc2FjdGlvbnNMaXN0QmVhbikge1xuICAgIGNvbnN0IGFjY291bnRUeG5zOiBTY3JhcGVkQWNjb3VudHNXaXRoSW5kZXggPSB7fTtcbiAgICBhY2NvdW50cy5mb3JFYWNoKChhY2NvdW50KSA9PiB7XG4gICAgICBjb25zdCB0eG5Hcm91cHM6IFNjcmFwZWRDdXJyZW50Q2FyZFRyYW5zYWN0aW9uc1tdID0gXy5nZXQoZGF0YVJlc3VsdCwgYENhcmRzVHJhbnNhY3Rpb25zTGlzdEJlYW4uSW5kZXgke2FjY291bnQuaW5kZXh9LkN1cnJlbnRDYXJkVHJhbnNhY3Rpb25zYCk7XG4gICAgICBpZiAodHhuR3JvdXBzKSB7XG4gICAgICAgIGxldCBhbGxUeG5zOiBUcmFuc2FjdGlvbltdID0gW107XG4gICAgICAgIHR4bkdyb3Vwcy5mb3JFYWNoKCh0eG5Hcm91cCkgPT4ge1xuICAgICAgICAgIGlmICh0eG5Hcm91cC50eG5Jc3JhZWwpIHtcbiAgICAgICAgICAgIGNvbnN0IHR4bnMgPSBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bkdyb3VwLnR4bklzcmFlbCwgYWNjb3VudC5wcm9jZXNzZWREYXRlKTtcbiAgICAgICAgICAgIGFsbFR4bnMucHVzaCguLi50eG5zKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHR4bkdyb3VwLnR4bkFicm9hZCkge1xuICAgICAgICAgICAgY29uc3QgdHhucyA9IGNvbnZlcnRUcmFuc2FjdGlvbnModHhuR3JvdXAudHhuQWJyb2FkLCBhY2NvdW50LnByb2Nlc3NlZERhdGUpO1xuICAgICAgICAgICAgYWxsVHhucy5wdXNoKC4uLnR4bnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFvcHRpb25zLmNvbWJpbmVJbnN0YWxsbWVudHMpIHtcbiAgICAgICAgICBhbGxUeG5zID0gZml4SW5zdGFsbG1lbnRzKGFsbFR4bnMpO1xuICAgICAgICB9XG4gICAgICAgIGFsbFR4bnMgPSBmaWx0ZXJPbGRUcmFuc2FjdGlvbnMoYWxsVHhucywgc3RhcnRNb21lbnQsIG9wdGlvbnMuY29tYmluZUluc3RhbGxtZW50cyB8fCBmYWxzZSk7XG5cbiAgICAgICAgYWNjb3VudFR4bnNbYWNjb3VudC5hY2NvdW50TnVtYmVyXSA9IHtcbiAgICAgICAgICBhY2NvdW50TnVtYmVyOiBhY2NvdW50LmFjY291bnROdW1iZXIsXG4gICAgICAgICAgaW5kZXg6IGFjY291bnQuaW5kZXgsXG4gICAgICAgICAgdHhuczogYWxsVHhucyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYWNjb3VudFR4bnM7XG4gIH1cblxuICByZXR1cm4ge307XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoQWxsVHJhbnNhY3Rpb25zKHBhZ2U6IFBhZ2UsIG9wdGlvbnM6IEV4dGVuZGVkU2NyYXBlck9wdGlvbnMsIHN0YXJ0TW9tZW50OiBNb21lbnQpIHtcbiAgY29uc3QgZnV0dXJlTW9udGhzVG9TY3JhcGUgPSBvcHRpb25zLmZ1dHVyZU1vbnRoc1RvU2NyYXBlID8/IDE7XG4gIGNvbnN0IGFsbE1vbnRocyA9IGdldEFsbE1vbnRoTW9tZW50cyhzdGFydE1vbWVudCwgZnV0dXJlTW9udGhzVG9TY3JhcGUpO1xuICBjb25zdCByZXN1bHRzOiBTY3JhcGVkQWNjb3VudHNXaXRoSW5kZXhbXSA9IGF3YWl0IFByb21pc2UuYWxsKGFsbE1vbnRocy5tYXAoYXN5bmMgKG1vbnRoTW9tZW50KSA9PiB7XG4gICAgcmV0dXJuIGZldGNoVHJhbnNhY3Rpb25zKHBhZ2UsIG9wdGlvbnMsIHN0YXJ0TW9tZW50LCBtb250aE1vbWVudCk7XG4gIH0pKTtcblxuICBjb25zdCBjb21iaW5lZFR4bnM6IFJlY29yZDxzdHJpbmcsIFRyYW5zYWN0aW9uW10+ID0ge307XG5cbiAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQpID0+IHtcbiAgICBPYmplY3Qua2V5cyhyZXN1bHQpLmZvckVhY2goKGFjY291bnROdW1iZXIpID0+IHtcbiAgICAgIGxldCB0eG5zRm9yQWNjb3VudCA9IGNvbWJpbmVkVHhuc1thY2NvdW50TnVtYmVyXTtcbiAgICAgIGlmICghdHhuc0ZvckFjY291bnQpIHtcbiAgICAgICAgdHhuc0ZvckFjY291bnQgPSBbXTtcbiAgICAgICAgY29tYmluZWRUeG5zW2FjY291bnROdW1iZXJdID0gdHhuc0ZvckFjY291bnQ7XG4gICAgICB9XG4gICAgICBjb25zdCB0b0JlQWRkZWRUeG5zID0gcmVzdWx0W2FjY291bnROdW1iZXJdLnR4bnM7XG4gICAgICBjb21iaW5lZFR4bnNbYWNjb3VudE51bWJlcl0ucHVzaCguLi50b0JlQWRkZWRUeG5zKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgY29uc3QgYWNjb3VudHMgPSBPYmplY3Qua2V5cyhjb21iaW5lZFR4bnMpLm1hcCgoYWNjb3VudE51bWJlcikgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBhY2NvdW50TnVtYmVyLFxuICAgICAgdHhuczogY29tYmluZWRUeG5zW2FjY291bnROdW1iZXJdLFxuICAgIH07XG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgc3VjY2VzczogdHJ1ZSxcbiAgICBhY2NvdW50cyxcbiAgfTtcbn1cblxuXG5jbGFzcyBJc3JhY2FyZEFtZXhCYXNlU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICBwcml2YXRlIGJhc2VVcmw6IHN0cmluZztcblxuICBwcml2YXRlIGNvbXBhbnlDb2RlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBzZXJ2aWNlc1VybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFNjcmFwZXJPcHRpb25zLCBiYXNlVXJsOiBzdHJpbmcsIGNvbXBhbnlDb2RlOiBzdHJpbmcpIHtcbiAgICBzdXBlcihvcHRpb25zKTtcblxuICAgIHRoaXMuYmFzZVVybCA9IGJhc2VVcmw7XG4gICAgdGhpcy5jb21wYW55Q29kZSA9IGNvbXBhbnlDb2RlO1xuICAgIHRoaXMuc2VydmljZXNVcmwgPSBgJHtiYXNlVXJsfS9zZXJ2aWNlcy9Qcm94eVJlcXVlc3RIYW5kbGVyLmFzaHhgO1xuICB9XG5cbiAgYXN5bmMgbG9naW4oY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscyk6IFByb21pc2U8U2NhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICBhd2FpdCB0aGlzLnBhZ2Uuc2V0UmVxdWVzdEludGVyY2VwdGlvbih0cnVlKTtcbiAgICB0aGlzLnBhZ2Uub24oJ3JlcXVlc3QnLCAocmVxdWVzdCkgPT4ge1xuICAgICAgaWYgKHJlcXVlc3QudXJsKCkuaW5jbHVkZXMoJ2RldGVjdG9yLWRvbS5taW4uanMnKSkge1xuICAgICAgICBkZWJ1ZygnZm9yY2UgYWJvcnQgZm9yIHJlcXVlc3QgZG8gZG93bmxvYWQgZGV0ZWN0b3ItZG9tLm1pbi5qcyByZXNvdXJjZScpO1xuICAgICAgICByZXF1ZXN0LmFib3J0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXF1ZXN0LmNvbnRpbnVlKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBkZWJ1ZygnbmF2aWdhdGUgdG8gbG9naW4gcGFnZScpO1xuICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUbyhgJHt0aGlzLmJhc2VVcmx9L3BlcnNvbmFsYXJlYS9Mb2dpbmApO1xuXG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Mb2dnaW5nSW4pO1xuXG4gICAgY29uc3QgdmFsaWRhdGVVcmwgPSBgJHt0aGlzLnNlcnZpY2VzVXJsfT9yZXFOYW1lPVZhbGlkYXRlSWREYXRhYDtcbiAgICBjb25zdCB2YWxpZGF0ZVJlcXVlc3QgPSB7XG4gICAgICBpZDogY3JlZGVudGlhbHMuaWQsXG4gICAgICBjYXJkU3VmZml4OiBjcmVkZW50aWFscy5jYXJkNkRpZ2l0cyxcbiAgICAgIGNvdW50cnlDb2RlOiBDT1VOVFJZX0NPREUsXG4gICAgICBpZFR5cGU6IElEX1RZUEUsXG4gICAgICBjaGVja0xldmVsOiAnMScsXG4gICAgICBjb21wYW55Q29kZTogdGhpcy5jb21wYW55Q29kZSxcbiAgICB9O1xuICAgIGNvbnN0IHZhbGlkYXRlUmVzdWx0ID0gYXdhaXQgZmV0Y2hQb3N0V2l0aGluUGFnZTxTY3JhcGVkTG9naW5WYWxpZGF0aW9uPih0aGlzLnBhZ2UsIHZhbGlkYXRlVXJsLCB2YWxpZGF0ZVJlcXVlc3QpO1xuICAgIGlmICghdmFsaWRhdGVSZXN1bHQgfHwgIXZhbGlkYXRlUmVzdWx0LkhlYWRlciB8fCB2YWxpZGF0ZVJlc3VsdC5IZWFkZXIuU3RhdHVzICE9PSAnMScgfHwgIXZhbGlkYXRlUmVzdWx0LlZhbGlkYXRlSWREYXRhQmVhbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGVycm9yIGR1cmluZyBsb2dpbicpO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkYXRlUmV0dXJuQ29kZSA9IHZhbGlkYXRlUmVzdWx0LlZhbGlkYXRlSWREYXRhQmVhbi5yZXR1cm5Db2RlO1xuICAgIGRlYnVnKGB1c2VyIHZhbGlkYXRlIHdpdGggcmV0dXJuIGNvZGUgJyR7dmFsaWRhdGVSZXR1cm5Db2RlfSdgKTtcbiAgICBpZiAodmFsaWRhdGVSZXR1cm5Db2RlID09PSAnMScpIHtcbiAgICAgIGNvbnN0IHsgdXNlck5hbWUgfSA9IHZhbGlkYXRlUmVzdWx0LlZhbGlkYXRlSWREYXRhQmVhbjtcblxuICAgICAgY29uc3QgbG9naW5VcmwgPSBgJHt0aGlzLnNlcnZpY2VzVXJsfT9yZXFOYW1lPXBlcmZvcm1Mb2dvbklgO1xuICAgICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgICAgS29kTWlzaHRhbWVzaDogdXNlck5hbWUsXG4gICAgICAgIE1pc3BhclppaHV5OiBjcmVkZW50aWFscy5pZCxcbiAgICAgICAgU2lzbWE6IGNyZWRlbnRpYWxzLnBhc3N3b3JkLFxuICAgICAgICBjYXJkU3VmZml4OiBjcmVkZW50aWFscy5jYXJkNkRpZ2l0cyxcbiAgICAgICAgY291bnRyeUNvZGU6IENPVU5UUllfQ09ERSxcbiAgICAgICAgaWRUeXBlOiBJRF9UWVBFLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGxvZ2luUmVzdWx0ID0gYXdhaXQgZmV0Y2hQb3N0V2l0aGluUGFnZTx7c3RhdHVzOiBzdHJpbmd9Pih0aGlzLnBhZ2UsIGxvZ2luVXJsLCByZXF1ZXN0KTtcbiAgICAgIGRlYnVnKGB1c2VyIGxvZ2luIHdpdGggc3RhdHVzICcke2xvZ2luUmVzdWx0Py5zdGF0dXN9J2ApO1xuXG4gICAgICBpZiAobG9naW5SZXN1bHQgJiYgbG9naW5SZXN1bHQuc3RhdHVzID09PSAnMScpIHtcbiAgICAgICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Mb2dpblN1Y2Nlc3MpO1xuICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgICB9XG5cbiAgICAgIGlmIChsb2dpblJlc3VsdCAmJiBsb2dpblJlc3VsdC5zdGF0dXMgPT09ICczJykge1xuICAgICAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkNoYW5nZVBhc3N3b3JkKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkNoYW5nZVBhc3N3b3JkLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkxvZ2luRmFpbGVkKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkludmFsaWRQYXNzd29yZCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHZhbGlkYXRlUmV0dXJuQ29kZSA9PT0gJzQnKSB7XG4gICAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkNoYW5nZVBhc3N3b3JkKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkNoYW5nZVBhc3N3b3JkLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkxvZ2luRmFpbGVkKTtcbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkludmFsaWRQYXNzd29yZCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hEYXRhKCkge1xuICAgIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICd5ZWFycycpO1xuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMub3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICAgIGNvbnN0IHN0YXJ0TW9tZW50ID0gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcblxuICAgIHJldHVybiBmZXRjaEFsbFRyYW5zYWN0aW9ucyh0aGlzLnBhZ2UsIHtcbiAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIHNlcnZpY2VzVXJsOiB0aGlzLnNlcnZpY2VzVXJsLFxuICAgICAgY29tcGFueUNvZGU6IHRoaXMuY29tcGFueUNvZGUsXG4gICAgfSwgc3RhcnRNb21lbnQpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IElzcmFjYXJkQW1leEJhc2VTY3JhcGVyO1xuIl19
|
|
@@ -28,7 +28,7 @@ export interface ScaperScrapingResult {
|
|
|
28
28
|
errorMessage?: string;
|
|
29
29
|
}
|
|
30
30
|
export declare type ScraperCredentials = Record<string, string>;
|
|
31
|
-
export interface
|
|
31
|
+
export interface ScraperOptions {
|
|
32
32
|
/**
|
|
33
33
|
* The company you want to scrape
|
|
34
34
|
*/
|
|
@@ -98,9 +98,9 @@ export declare enum ScaperProgressTypes {
|
|
|
98
98
|
Terminating = "TERMINATING"
|
|
99
99
|
}
|
|
100
100
|
export declare class BaseScraper {
|
|
101
|
-
options:
|
|
101
|
+
options: ScraperOptions;
|
|
102
102
|
private eventEmitter;
|
|
103
|
-
constructor(options:
|
|
103
|
+
constructor(options: ScraperOptions);
|
|
104
104
|
initialize(): Promise<void>;
|
|
105
105
|
scrape(credentials: ScraperCredentials): Promise<ScaperScrapingResult>;
|
|
106
106
|
login(_credentials: Record<string, string>): Promise<ScaperLoginResult>;
|
|
@@ -134,4 +134,4 @@ class BaseScraper {
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
exports.BaseScraper = BaseScraper;
|
|
137
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXIudHMiXSwibmFtZXMiOlsiU0NSQVBFX1BST0dSRVNTIiwiU2NyYXBlckVycm9yVHlwZXMiLCJTY2FwZXJQcm9ncmVzc1R5cGVzIiwiY3JlYXRlRXJyb3JSZXN1bHQiLCJlcnJvclR5cGUiLCJlcnJvck1lc3NhZ2UiLCJzdWNjZXNzIiwiY3JlYXRlVGltZW91dEVycm9yIiwiVGltZW91dCIsImNyZWF0ZUdlbmVyaWNFcnJvciIsIkdlbmVyaWMiLCJCYXNlU2NyYXBlciIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsIkV2ZW50RW1pdHRlciIsImluaXRpYWxpemUiLCJlbWl0UHJvZ3Jlc3MiLCJJbml0aWFsaXppbmciLCJzY3JhcGUiLCJjcmVkZW50aWFscyIsIlN0YXJ0U2NyYXBpbmciLCJsb2dpblJlc3VsdCIsImxvZ2luIiwiZSIsIlRpbWVvdXRFcnJvciIsIm1lc3NhZ2UiLCJzY3JhcGVSZXN1bHQiLCJmZXRjaERhdGEiLCJ0ZXJtaW5hdGUiLCJFbmRTY3JhcGluZyIsIl9jcmVkZW50aWFscyIsIkVycm9yIiwiY29tcGFueUlkIiwiX3N1Y2Nlc3MiLCJUZXJtaW5hdGluZyIsInR5cGUiLCJlbWl0IiwiZXZlbnROYW1lIiwicGF5bG9hZCIsImV2ZW50RW1pdHRlciIsIm9uUHJvZ3Jlc3MiLCJmdW5jIiwib24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBOzs7O0FBSUEsTUFBTUEsZUFBZSxHQUFHLGlCQUF4QjtJQUVZQyxpQjs7O1dBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0dBQUFBLGlCLGlDQUFBQSxpQjs7SUF5R0FDLG1COzs7V0FBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7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Q0QsR0F6RHNCLENBMkR2Qjs7O0FBQ0EsUUFBTUosU0FBTixDQUFnQkssUUFBaEIsRUFBbUM7QUFDakMsU0FBS2pCLFlBQUwsQ0FBa0JkLG1CQUFtQixDQUFDZ0MsV0FBdEM7QUFDRDs7QUFFRGxCLEVBQUFBLFlBQVksQ0FBQ21CLElBQUQsRUFBNEI7QUFDdEMsU0FBS0MsSUFBTCxDQUFVcEMsZUFBVixFQUEyQjtBQUFFbUMsTUFBQUE7QUFBRixLQUEzQjtBQUNEOztBQUVEQyxFQUFBQSxJQUFJLENBQUNDLFNBQUQsRUFBb0JDLE9BQXBCLEVBQWtEO0FBQ3BELFNBQUtDLFlBQUwsQ0FBa0JILElBQWxCLENBQXVCQyxTQUF2QixFQUFrQyxLQUFLeEIsT0FBTCxDQUFhbUIsU0FBL0MsRUFBMERNLE9BQTFEO0FBQ0Q7O0FBRURFLEVBQUFBLFVBQVUsQ0FBQ0MsSUFBRCxFQUFpQztBQUN6QyxTQUFLRixZQUFMLENBQWtCRyxFQUFsQixDQUFxQjFDLGVBQXJCLEVBQXNDeUMsSUFBdEM7QUFDRDs7QUExRXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRzJztcbmltcG9ydCB7IEJyb3dzZXIsIFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IHsgVGltZW91dEVycm9yIH0gZnJvbSAnLi4vaGVscGVycy93YWl0aW5nJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uc0FjY291bnQgfSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgQ29tcGFueVR5cGVzIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuXG5jb25zdCBTQ1JBUEVfUFJPR1JFU1MgPSAnU0NSQVBFX1BST0dSRVNTJztcblxuZXhwb3J0IGVudW0gU2NyYXBlckVycm9yVHlwZXMge1xuICBJbnZhbGlkUGFzc3dvcmQgPSdJTlZBTElEX1BBU1NXT1JEJyxcbiAgQ2hhbmdlUGFzc3dvcmQgPSAnQ0hBTkdFX1BBU1NXT1JEJyxcbiAgVGltZW91dCA9ICdUSU1FT1VUJyxcbiAgQWNjb3VudEJsb2NrZWQgPSAnQUNDT1VOVF9CTE9DS0VEJyxcbiAgR2VuZXJpYyA9ICdHRU5FUklDJyxcbiAgR2VuZXJhbCA9ICdHRU5FUkFMX0VSUk9SJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjYXBlckxvZ2luUmVzdWx0IHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgZXJyb3JUeXBlPzogU2NyYXBlckVycm9yVHlwZXM7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZzsgLy8gb25seSBvbiBzdWNjZXNzPWZhbHNlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnV0dXJlRGViaXQge1xuICBhbW91bnQ6IG51bWJlcjtcbiAgYW1vdW50Q3VycmVuY3k6IHN0cmluZztcbiAgY2hhcmdlRGF0ZT86IHN0cmluZztcbiAgYmFua0FjY291bnROdW1iZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NhcGVyU2NyYXBpbmdSZXN1bHQge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBhY2NvdW50cz86IFRyYW5zYWN0aW9uc0FjY291bnRbXTtcbiAgZnV0dXJlRGViaXRzPzogRnV0dXJlRGViaXRbXTtcbiAgZXJyb3JUeXBlPzogU2NyYXBlckVycm9yVHlwZXM7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZzsgLy8gb25seSBvbiBzdWNjZXNzPWZhbHNlXG59XG5cbmV4cG9ydCB0eXBlIFNjcmFwZXJDcmVkZW50aWFscyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NhcGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY29tcGFueSB5b3Ugd2FudCB0byBzY3JhcGVcbiAgICovXG4gIGNvbXBhbnlJZDogQ29tcGFueVR5cGVzO1xuXG4gIC8qKlxuICAgKiBpbmNsdWRlIG1vcmUgZGVidWcgaW5mbyBhYm91dCBpbiB0aGUgb3V0cHV0XG4gICAqL1xuICB2ZXJib3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogdGhlIGRhdGUgdG8gZmV0Y2ggdHJhbnNhY3Rpb25zIGZyb20gKGNhbid0IGJlIGJlZm9yZSB0aGUgbWluaW11bSBhbGxvd2VkIHRpbWUgZGlmZmVyZW5jZSBmb3IgdGhlIHNjcmFwZXIpXG4gICAqL1xuICBzdGFydERhdGU6IERhdGU7XG5cbiAgLyoqXG4gICAqIHNob3dzIHRoZSBicm93c2VyIHdoaWxlIHNjcmFwaW5nLCBnb29kIGZvciBkZWJ1Z2dpbmcgKGRlZmF1bHQgZmFsc2UpXG4gICAqL1xuICBzaG93QnJvd3Nlcj86IGJvb2xlYW47XG5cblxuICAvKipcbiAgICogc2NyYXBlIHRyYW5zYWN0aW9ucyB0byBiZSBwcm9jZXNzZWQgWCBtb250aHMgaW4gdGhlIGZ1dHVyZVxuICAgKi9cbiAgZnV0dXJlTW9udGhzVG9TY3JhcGU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIG9wdGlvbiBmcm9tIGluaXQgcHVwcGV0ZWVyIGJyb3dzZXIgaW5zdGFuY2Ugb3V0c2lkZSB0aGUgbGliYXJ5IHNjb3BlLiB5b3UgY2FuIGdldFxuICAgKiBicm93c2VyIGRpcmV0bHkgZnJvbSBwdXBwZXRlZXIgdmlhIGBwdXBwZXRlZXIubGF1bmNoKClgXG4gICAqL1xuICBicm93c2VyPzogYW55O1xuXG4gIC8qKlxuICAgKiBwcm92aWRlIGEgcGF0Y2ggdG8gbG9jYWwgY2hyb21pdW0gdG8gYmUgdXNlZCBieSBwdXBwZXRlZXIuIFJlbGV2YW50IHdoZW4gdXNpbmdcbiAgICogYGlzcmFlbGktYmFuay1zY3JhcGVycy1jb3JlYCBsaWJyYXJ5XG4gICAqL1xuICBleGVjdXRhYmxlUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogaWYgc2V0IHRvIHRydWUsIGFsbCBpbnN0YWxsbWVudCB0cmFuc2FjdGlvbnMgd2lsbCBiZSBjb21iaW5lIGludG8gdGhlIGZpcnN0IG9uZVxuICAgKi9cbiAgY29tYmluZUluc3RhbGxtZW50cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIGJyb3dzZXIgaW5zdGFuY2UuIFRoZSBsaXN0IG9mIGZsYWdzIGNhbiBiZSBmb3VuZCBpblxuICAgKlxuICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL01vemlsbGEvQ29tbWFuZF9MaW5lX09wdGlvbnNcbiAgICogaHR0cHM6Ly9wZXRlci5zaC9leHBlcmltZW50cy9jaHJvbWl1bS1jb21tYW5kLWxpbmUtc3dpdGNoZXMvXG4gICAqL1xuICBhcmdzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIGFkanVzdCB0aGUgYnJvd3NlciBpbnN0YW5jZSBiZWZvcmUgaXQgaXMgYmVpbmcgdXNlZFxuICAgKlxuICAgKiBAcGFyYW0gYnJvd3NlclxuICAgKi9cbiAgcHJlcGFyZUJyb3dzZXI/OiAoYnJvd3NlcjogQnJvd3NlcikgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogYWRqdXN0IHRoZSBwYWdlIGluc3RhbmNlIGJlZm9yZSBpdCBpcyBiZWluZyB1c2VkLlxuICAgKlxuICAgKiBAcGFyYW0gcGFnZVxuICAgKi9cbiAgcHJlcGFyZVBhZ2U/OiAocGFnZTogUGFnZSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogaWYgc2V0LCBzdG9yZSBhIHNjcmVlbnNob3QgaWYgZmFpbGVkIHRvIHNjcmFwZS4gVXNlZCBmb3IgZGVidWcgcHVycG9zZXNcbiAgICovXG4gIHN0b3JlRmFpbHVyZVNjcmVlblNob3RQYXRoPzogc3RyaW5nO1xuXG59XG5cbmV4cG9ydCBlbnVtIFNjYXBlclByb2dyZXNzVHlwZXMge1xuICBJbml0aWFsaXppbmcgPSAnSU5JVElBTElaSU5HJyxcbiAgU3RhcnRTY3JhcGluZyA9ICdTVEFSVF9TQ1JBUElORycsXG4gIExvZ2dpbmdJbiA9ICdMT0dHSU5HX0lOJyxcbiAgTG9naW5TdWNjZXNzID0gJ0xPR0lOX1NVQ0NFU1MnLFxuICBMb2dpbkZhaWxlZCA9ICdMT0dJTl9GQUlMRUQnLFxuICBDaGFuZ2VQYXNzd29yZCA9ICdDSEFOR0VfUEFTU1dPUkQnLFxuICBFbmRTY3JhcGluZyA9ICdFTkRfU0NSQVBJTkcnLFxuICBUZXJtaW5hdGluZyA9ICdURVJNSU5BVElORycsXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUVycm9yUmVzdWx0KGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMsIGVycm9yTWVzc2FnZTogc3RyaW5nKSB7XG4gIHJldHVybiB7XG4gICAgc3VjY2VzczogZmFsc2UsXG4gICAgZXJyb3JUeXBlLFxuICAgIGVycm9yTWVzc2FnZSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlVGltZW91dEVycm9yKGVycm9yTWVzc2FnZTogc3RyaW5nKSB7XG4gIHJldHVybiBjcmVhdGVFcnJvclJlc3VsdChTY3JhcGVyRXJyb3JUeXBlcy5UaW1lb3V0LCBlcnJvck1lc3NhZ2UpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVHZW5lcmljRXJyb3IoZXJyb3JNZXNzYWdlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyaWMsIGVycm9yTWVzc2FnZSk7XG59XG5cbmV4cG9ydCBjbGFzcyBCYXNlU2NyYXBlciB7XG4gIHByaXZhdGUgZXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvcHRpb25zOiBTY2FwZXJPcHRpb25zKSB7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIGFzeW5jIGluaXRpYWxpemUoKSB7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Jbml0aWFsaXppbmcpO1xuICB9XG5cbiAgYXN5bmMgc2NyYXBlKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpOiBQcm9taXNlPFNjYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5TdGFydFNjcmFwaW5nKTtcbiAgICBhd2FpdCB0aGlzLmluaXRpYWxpemUoKTtcblxuICAgIGxldCBsb2dpblJlc3VsdDtcbiAgICB0cnkge1xuICAgICAgbG9naW5SZXN1bHQgPSBhd2FpdCB0aGlzLmxvZ2luKGNyZWRlbnRpYWxzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBsb2dpblJlc3VsdCA9IGUgaW5zdGFuY2VvZiBUaW1lb3V0RXJyb3IgP1xuICAgICAgICBjcmVhdGVUaW1lb3V0RXJyb3IoZS5tZXNzYWdlKSA6XG4gICAgICAgIGNyZWF0ZUdlbmVyaWNFcnJvcihlLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGxldCBzY3JhcGVSZXN1bHQ7XG4gICAgaWYgKGxvZ2luUmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNjcmFwZVJlc3VsdCA9IGF3YWl0IHRoaXMuZmV0Y2hEYXRhKCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHNjcmFwZVJlc3VsdCA9XG4gICAgICAgICAgZSBpbnN0YW5jZW9mIFRpbWVvdXRFcnJvciA/XG4gICAgICAgICAgICBjcmVhdGVUaW1lb3V0RXJyb3IoZS5tZXNzYWdlKSA6XG4gICAgICAgICAgICBjcmVhdGVHZW5lcmljRXJyb3IoZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2NyYXBlUmVzdWx0ID0gbG9naW5SZXN1bHQ7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBzY3JhcGVSZXN1bHQgJiYgc2NyYXBlUmVzdWx0LnN1Y2Nlc3MgPT09IHRydWU7XG4gICAgICBhd2FpdCB0aGlzLnRlcm1pbmF0ZShzdWNjZXNzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBzY3JhcGVSZXN1bHQgPSBjcmVhdGVHZW5lcmljRXJyb3IoZS5tZXNzYWdlKTtcbiAgICB9XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5FbmRTY3JhcGluZyk7XG5cbiAgICByZXR1cm4gc2NyYXBlUmVzdWx0O1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcbiAgYXN5bmMgbG9naW4oX2NyZWRlbnRpYWxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTxTY2FwZXJMb2dpblJlc3VsdD4ge1xuICAgIHRocm93IG5ldyBFcnJvcihgbG9naW4oKSBpcyBub3QgY3JlYXRlZCBpbiAke3RoaXMub3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIGFzeW5jIGZldGNoRGF0YSgpOiBQcm9taXNlPFNjYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBmZXRjaERhdGEoKSBpcyBub3QgY3JlYXRlZCBpbiAke3RoaXMub3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdFxuICBhc3luYyB0ZXJtaW5hdGUoX3N1Y2Nlc3M6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLlRlcm1pbmF0aW5nKTtcbiAgfVxuXG4gIGVtaXRQcm9ncmVzcyh0eXBlOiBTY2FwZXJQcm9ncmVzc1R5cGVzKSB7XG4gICAgdGhpcy5lbWl0KFNDUkFQRV9QUk9HUkVTUywgeyB0eXBlIH0pO1xuICB9XG5cbiAgZW1pdChldmVudE5hbWU6IHN0cmluZywgcGF5bG9hZDogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHRoaXMuZXZlbnRFbWl0dGVyLmVtaXQoZXZlbnROYW1lLCB0aGlzLm9wdGlvbnMuY29tcGFueUlkLCBwYXlsb2FkKTtcbiAgfVxuXG4gIG9uUHJvZ3Jlc3MoZnVuYzogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5ldmVudEVtaXR0ZXIub24oU0NSQVBFX1BST0dSRVNTLCBmdW5jKTtcbiAgfVxufVxuIl19
|
|
137
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXIudHMiXSwibmFtZXMiOlsiU0NSQVBFX1BST0dSRVNTIiwiU2NyYXBlckVycm9yVHlwZXMiLCJTY2FwZXJQcm9ncmVzc1R5cGVzIiwiY3JlYXRlRXJyb3JSZXN1bHQiLCJlcnJvclR5cGUiLCJlcnJvck1lc3NhZ2UiLCJzdWNjZXNzIiwiY3JlYXRlVGltZW91dEVycm9yIiwiVGltZW91dCIsImNyZWF0ZUdlbmVyaWNFcnJvciIsIkdlbmVyaWMiLCJCYXNlU2NyYXBlciIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsIkV2ZW50RW1pdHRlciIsImluaXRpYWxpemUiLCJlbWl0UHJvZ3Jlc3MiLCJJbml0aWFsaXppbmciLCJzY3JhcGUiLCJjcmVkZW50aWFscyIsIlN0YXJ0U2NyYXBpbmciLCJsb2dpblJlc3VsdCIsImxvZ2luIiwiZSIsIlRpbWVvdXRFcnJvciIsIm1lc3NhZ2UiLCJzY3JhcGVSZXN1bHQiLCJmZXRjaERhdGEiLCJ0ZXJtaW5hdGUiLCJFbmRTY3JhcGluZyIsIl9jcmVkZW50aWFscyIsIkVycm9yIiwiY29tcGFueUlkIiwiX3N1Y2Nlc3MiLCJUZXJtaW5hdGluZyIsInR5cGUiLCJlbWl0IiwiZXZlbnROYW1lIiwicGF5bG9hZCIsImV2ZW50RW1pdHRlciIsIm9uUHJvZ3Jlc3MiLCJmdW5jIiwib24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBOzs7O0FBSUEsTUFBTUEsZUFBZSxHQUFHLGlCQUF4QjtJQUVZQyxpQjs7O1dBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0dBQUFBLGlCLGlDQUFBQSxpQjs7SUF5R0FDLG1COzs7V0FBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7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Q0QsR0F6RHNCLENBMkR2Qjs7O0FBQ0EsUUFBTUosU0FBTixDQUFnQkssUUFBaEIsRUFBbUM7QUFDakMsU0FBS2pCLFlBQUwsQ0FBa0JkLG1CQUFtQixDQUFDZ0MsV0FBdEM7QUFDRDs7QUFFRGxCLEVBQUFBLFlBQVksQ0FBQ21CLElBQUQsRUFBNEI7QUFDdEMsU0FBS0MsSUFBTCxDQUFVcEMsZUFBVixFQUEyQjtBQUFFbUMsTUFBQUE7QUFBRixLQUEzQjtBQUNEOztBQUVEQyxFQUFBQSxJQUFJLENBQUNDLFNBQUQsRUFBb0JDLE9BQXBCLEVBQWtEO0FBQ3BELFNBQUtDLFlBQUwsQ0FBa0JILElBQWxCLENBQXVCQyxTQUF2QixFQUFrQyxLQUFLeEIsT0FBTCxDQUFhbUIsU0FBL0MsRUFBMERNLE9BQTFEO0FBQ0Q7O0FBRURFLEVBQUFBLFVBQVUsQ0FBQ0MsSUFBRCxFQUFpQztBQUN6QyxTQUFLRixZQUFMLENBQWtCRyxFQUFsQixDQUFxQjFDLGVBQXJCLEVBQXNDeUMsSUFBdEM7QUFDRDs7QUExRXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRzJztcbmltcG9ydCB7IEJyb3dzZXIsIFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IHsgVGltZW91dEVycm9yIH0gZnJvbSAnLi4vaGVscGVycy93YWl0aW5nJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uc0FjY291bnQgfSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgQ29tcGFueVR5cGVzIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuXG5jb25zdCBTQ1JBUEVfUFJPR1JFU1MgPSAnU0NSQVBFX1BST0dSRVNTJztcblxuZXhwb3J0IGVudW0gU2NyYXBlckVycm9yVHlwZXMge1xuICBJbnZhbGlkUGFzc3dvcmQgPSdJTlZBTElEX1BBU1NXT1JEJyxcbiAgQ2hhbmdlUGFzc3dvcmQgPSAnQ0hBTkdFX1BBU1NXT1JEJyxcbiAgVGltZW91dCA9ICdUSU1FT1VUJyxcbiAgQWNjb3VudEJsb2NrZWQgPSAnQUNDT1VOVF9CTE9DS0VEJyxcbiAgR2VuZXJpYyA9ICdHRU5FUklDJyxcbiAgR2VuZXJhbCA9ICdHRU5FUkFMX0VSUk9SJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjYXBlckxvZ2luUmVzdWx0IHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgZXJyb3JUeXBlPzogU2NyYXBlckVycm9yVHlwZXM7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZzsgLy8gb25seSBvbiBzdWNjZXNzPWZhbHNlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnV0dXJlRGViaXQge1xuICBhbW91bnQ6IG51bWJlcjtcbiAgYW1vdW50Q3VycmVuY3k6IHN0cmluZztcbiAgY2hhcmdlRGF0ZT86IHN0cmluZztcbiAgYmFua0FjY291bnROdW1iZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NhcGVyU2NyYXBpbmdSZXN1bHQge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBhY2NvdW50cz86IFRyYW5zYWN0aW9uc0FjY291bnRbXTtcbiAgZnV0dXJlRGViaXRzPzogRnV0dXJlRGViaXRbXTtcbiAgZXJyb3JUeXBlPzogU2NyYXBlckVycm9yVHlwZXM7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZzsgLy8gb25seSBvbiBzdWNjZXNzPWZhbHNlXG59XG5cbmV4cG9ydCB0eXBlIFNjcmFwZXJDcmVkZW50aWFscyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NyYXBlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGNvbXBhbnkgeW91IHdhbnQgdG8gc2NyYXBlXG4gICAqL1xuICBjb21wYW55SWQ6IENvbXBhbnlUeXBlcztcblxuICAvKipcbiAgICogaW5jbHVkZSBtb3JlIGRlYnVnIGluZm8gYWJvdXQgaW4gdGhlIG91dHB1dFxuICAgKi9cbiAgdmVyYm9zZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIHRoZSBkYXRlIHRvIGZldGNoIHRyYW5zYWN0aW9ucyBmcm9tIChjYW4ndCBiZSBiZWZvcmUgdGhlIG1pbmltdW0gYWxsb3dlZCB0aW1lIGRpZmZlcmVuY2UgZm9yIHRoZSBzY3JhcGVyKVxuICAgKi9cbiAgc3RhcnREYXRlOiBEYXRlO1xuXG4gIC8qKlxuICAgKiBzaG93cyB0aGUgYnJvd3NlciB3aGlsZSBzY3JhcGluZywgZ29vZCBmb3IgZGVidWdnaW5nIChkZWZhdWx0IGZhbHNlKVxuICAgKi9cbiAgc2hvd0Jyb3dzZXI/OiBib29sZWFuO1xuXG5cbiAgLyoqXG4gICAqIHNjcmFwZSB0cmFuc2FjdGlvbnMgdG8gYmUgcHJvY2Vzc2VkIFggbW9udGhzIGluIHRoZSBmdXR1cmVcbiAgICovXG4gIGZ1dHVyZU1vbnRoc1RvU2NyYXBlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBvcHRpb24gZnJvbSBpbml0IHB1cHBldGVlciBicm93c2VyIGluc3RhbmNlIG91dHNpZGUgdGhlIGxpYmFyeSBzY29wZS4geW91IGNhbiBnZXRcbiAgICogYnJvd3NlciBkaXJldGx5IGZyb20gcHVwcGV0ZWVyIHZpYSBgcHVwcGV0ZWVyLmxhdW5jaCgpYFxuICAgKi9cbiAgYnJvd3Nlcj86IGFueTtcblxuICAvKipcbiAgICogcHJvdmlkZSBhIHBhdGNoIHRvIGxvY2FsIGNocm9taXVtIHRvIGJlIHVzZWQgYnkgcHVwcGV0ZWVyLiBSZWxldmFudCB3aGVuIHVzaW5nXG4gICAqIGBpc3JhZWxpLWJhbmstc2NyYXBlcnMtY29yZWAgbGlicmFyeVxuICAgKi9cbiAgZXhlY3V0YWJsZVBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGlmIHNldCB0byB0cnVlLCBhbGwgaW5zdGFsbG1lbnQgdHJhbnNhY3Rpb25zIHdpbGwgYmUgY29tYmluZSBpbnRvIHRoZSBmaXJzdCBvbmVcbiAgICovXG4gIGNvbWJpbmVJbnN0YWxsbWVudHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBicm93c2VyIGluc3RhbmNlLiBUaGUgbGlzdCBvZiBmbGFncyBjYW4gYmUgZm91bmQgaW5cbiAgICpcbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9Nb3ppbGxhL0NvbW1hbmRfTGluZV9PcHRpb25zXG4gICAqIGh0dHBzOi8vcGV0ZXIuc2gvZXhwZXJpbWVudHMvY2hyb21pdW0tY29tbWFuZC1saW5lLXN3aXRjaGVzL1xuICAgKi9cbiAgYXJncz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBhZGp1c3QgdGhlIGJyb3dzZXIgaW5zdGFuY2UgYmVmb3JlIGl0IGlzIGJlaW5nIHVzZWRcbiAgICpcbiAgICogQHBhcmFtIGJyb3dzZXJcbiAgICovXG4gIHByZXBhcmVCcm93c2VyPzogKGJyb3dzZXI6IEJyb3dzZXIpID0+IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIGFkanVzdCB0aGUgcGFnZSBpbnN0YW5jZSBiZWZvcmUgaXQgaXMgYmVpbmcgdXNlZC5cbiAgICpcbiAgICogQHBhcmFtIHBhZ2VcbiAgICovXG4gIHByZXBhcmVQYWdlPzogKHBhZ2U6IFBhZ2UpID0+IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIGlmIHNldCwgc3RvcmUgYSBzY3JlZW5zaG90IGlmIGZhaWxlZCB0byBzY3JhcGUuIFVzZWQgZm9yIGRlYnVnIHB1cnBvc2VzXG4gICAqL1xuICBzdG9yZUZhaWx1cmVTY3JlZW5TaG90UGF0aD86IHN0cmluZztcblxufVxuXG5leHBvcnQgZW51bSBTY2FwZXJQcm9ncmVzc1R5cGVzIHtcbiAgSW5pdGlhbGl6aW5nID0gJ0lOSVRJQUxJWklORycsXG4gIFN0YXJ0U2NyYXBpbmcgPSAnU1RBUlRfU0NSQVBJTkcnLFxuICBMb2dnaW5nSW4gPSAnTE9HR0lOR19JTicsXG4gIExvZ2luU3VjY2VzcyA9ICdMT0dJTl9TVUNDRVNTJyxcbiAgTG9naW5GYWlsZWQgPSAnTE9HSU5fRkFJTEVEJyxcbiAgQ2hhbmdlUGFzc3dvcmQgPSAnQ0hBTkdFX1BBU1NXT1JEJyxcbiAgRW5kU2NyYXBpbmcgPSAnRU5EX1NDUkFQSU5HJyxcbiAgVGVybWluYXRpbmcgPSAnVEVSTUlOQVRJTkcnLFxufVxuXG5mdW5jdGlvbiBjcmVhdGVFcnJvclJlc3VsdChlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLCBlcnJvck1lc3NhZ2U6IHN0cmluZykge1xuICByZXR1cm4ge1xuICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgIGVycm9yVHlwZSxcbiAgICBlcnJvck1lc3NhZ2UsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVRpbWVvdXRFcnJvcihlcnJvck1lc3NhZ2U6IHN0cmluZykge1xuICByZXR1cm4gY3JlYXRlRXJyb3JSZXN1bHQoU2NyYXBlckVycm9yVHlwZXMuVGltZW91dCwgZXJyb3JNZXNzYWdlKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlR2VuZXJpY0Vycm9yKGVycm9yTWVzc2FnZTogc3RyaW5nKSB7XG4gIHJldHVybiBjcmVhdGVFcnJvclJlc3VsdChTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljLCBlcnJvck1lc3NhZ2UpO1xufVxuXG5leHBvcnQgY2xhc3MgQmFzZVNjcmFwZXIge1xuICBwcml2YXRlIGV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgb3B0aW9uczogU2NyYXBlck9wdGlvbnMpIHtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcbiAgYXN5bmMgaW5pdGlhbGl6ZSgpIHtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkluaXRpYWxpemluZyk7XG4gIH1cblxuICBhc3luYyBzY3JhcGUoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscyk6IFByb21pc2U8U2NhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLlN0YXJ0U2NyYXBpbmcpO1xuICAgIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZSgpO1xuXG4gICAgbGV0IGxvZ2luUmVzdWx0O1xuICAgIHRyeSB7XG4gICAgICBsb2dpblJlc3VsdCA9IGF3YWl0IHRoaXMubG9naW4oY3JlZGVudGlhbHMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGxvZ2luUmVzdWx0ID0gZSBpbnN0YW5jZW9mIFRpbWVvdXRFcnJvciA/XG4gICAgICAgIGNyZWF0ZVRpbWVvdXRFcnJvcihlLm1lc3NhZ2UpIDpcbiAgICAgICAgY3JlYXRlR2VuZXJpY0Vycm9yKGUubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgbGV0IHNjcmFwZVJlc3VsdDtcbiAgICBpZiAobG9naW5SZXN1bHQuc3VjY2Vzcykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgc2NyYXBlUmVzdWx0ID0gYXdhaXQgdGhpcy5mZXRjaERhdGEoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgc2NyYXBlUmVzdWx0ID1cbiAgICAgICAgICBlIGluc3RhbmNlb2YgVGltZW91dEVycm9yID9cbiAgICAgICAgICAgIGNyZWF0ZVRpbWVvdXRFcnJvcihlLm1lc3NhZ2UpIDpcbiAgICAgICAgICAgIGNyZWF0ZUdlbmVyaWNFcnJvcihlLm1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzY3JhcGVSZXN1bHQgPSBsb2dpblJlc3VsdDtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3VjY2VzcyA9IHNjcmFwZVJlc3VsdCAmJiBzY3JhcGVSZXN1bHQuc3VjY2VzcyA9PT0gdHJ1ZTtcbiAgICAgIGF3YWl0IHRoaXMudGVybWluYXRlKHN1Y2Nlc3MpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHNjcmFwZVJlc3VsdCA9IGNyZWF0ZUdlbmVyaWNFcnJvcihlLm1lc3NhZ2UpO1xuICAgIH1cbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkVuZFNjcmFwaW5nKTtcblxuICAgIHJldHVybiBzY3JhcGVSZXN1bHQ7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdFxuICBhc3luYyBsb2dpbihfY3JlZGVudGlhbHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBQcm9taXNlPFNjYXBlckxvZ2luUmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBsb2dpbigpIGlzIG5vdCBjcmVhdGVkIGluICR7dGhpcy5vcHRpb25zLmNvbXBhbnlJZH1gKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcbiAgYXN5bmMgZmV0Y2hEYXRhKCk6IFByb21pc2U8U2NhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGZldGNoRGF0YSgpIGlzIG5vdCBjcmVhdGVkIGluICR7dGhpcy5vcHRpb25zLmNvbXBhbnlJZH1gKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIGFzeW5jIHRlcm1pbmF0ZShfc3VjY2VzczogYm9vbGVhbikge1xuICAgIHRoaXMuZW1pdFByb2dyZXNzKFNjYXBlclByb2dyZXNzVHlwZXMuVGVybWluYXRpbmcpO1xuICB9XG5cbiAgZW1pdFByb2dyZXNzKHR5cGU6IFNjYXBlclByb2dyZXNzVHlwZXMpIHtcbiAgICB0aGlzLmVtaXQoU0NSQVBFX1BST0dSRVNTLCB7IHR5cGUgfSk7XG4gIH1cblxuICBlbWl0KGV2ZW50TmFtZTogc3RyaW5nLCBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gICAgdGhpcy5ldmVudEVtaXR0ZXIuZW1pdChldmVudE5hbWUsIHRoaXMub3B0aW9ucy5jb21wYW55SWQsIHBheWxvYWQpO1xuICB9XG5cbiAgb25Qcm9ncmVzcyhmdW5jOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpIHtcbiAgICB0aGlzLmV2ZW50RW1pdHRlci5vbihTQ1JBUEVfUFJPR1JFU1MsIGZ1bmMpO1xuICB9XG59XG4iXX0=
|
|
@@ -184,4 +184,4 @@ class BeyahadBishvilhaScraper extends _baseScraperWithBrowser.BaseScraperWithBro
|
|
|
184
184
|
|
|
185
185
|
var _default = BeyahadBishvilhaScraper;
|
|
186
186
|
exports.default = _default;
|
|
187
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iZXlhaGFkLWJpc2h2aWxoYS50cyJdLCJuYW1lcyI6WyJkZWJ1ZyIsIkRBVEVfRk9STUFUIiwiTE9HSU5fVVJMIiwiU1VDQ0VTU19VUkwiLCJDQVJEX1VSTCIsImdldEFtb3VudERhdGEiLCJhbW91bnRTdHIiLCJhbW91bnRTdHJDbG4iLCJyZXBsYWNlIiwiY3VycmVuY3kiLCJhbW91bnQiLCJpbmNsdWRlcyIsIlNIRUtFTF9DVVJSRU5DWV9TWU1CT0wiLCJwYXJzZUZsb2F0IiwiU0hFS0VMX0NVUlJFTkNZIiwiRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCIsIkRPTExBUl9DVVJSRU5DWSIsIkVVUk9fQ1VSUkVOQ1lfU1lNQk9MIiwiRVVST19DVVJSRU5DWSIsInBhcnRzIiwic3BsaXQiLCJjb252ZXJ0VHJhbnNhY3Rpb25zIiwidHhucyIsImxlbmd0aCIsIm1hcCIsInR4biIsImNoYXJnZWRBbW91bnRUdXBsZSIsImNoYXJnZWRBbW91bnQiLCJ0eG5Qcm9jZXNzZWREYXRlIiwiZGF0ZSIsInJlc3VsdCIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiTm9ybWFsIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsInRvSVNPU3RyaW5nIiwicHJvY2Vzc2VkRGF0ZSIsIm9yaWdpbmFsQW1vdW50Iiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRDdXJyZW5jeSIsImRlc2NyaXB0aW9uIiwibWVtbyIsImlkZW50aWZpZXIiLCJmZXRjaFRyYW5zYWN0aW9ucyIsInBhZ2UiLCJvcHRpb25zIiwiZ290byIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0Iiwic3RhcnREYXRlIiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJhY2NvdW50TnVtYmVyIiwiZWxlbWVudCIsImlubmVyVGV4dCIsImJhbGFuY2UiLCJyYXdUcmFuc2FjdGlvbnMiLCJpdGVtcyIsImVsIiwiY29sdW1ucyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJhY2NvdW50VHJhbnNhY3Rpb25zIiwiZmlsdGVyIiwiaXRlbSIsInN1YnN0cmluZyIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJDaGFuZ2VQYXNzd29yZCIsIkludmFsaWRQYXNzd29yZCIsIlVua25vd25FcnJvciIsImNyZWF0ZUxvZ2luRmllbGRzIiwiY3JlZGVudGlhbHMiLCJzZWxlY3RvciIsInZhbHVlIiwiaWQiLCJwYXNzd29yZCIsIkJleWFoYWRCaXNodmlsaGFTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldFZpZXdQb3J0Iiwid2lkdGgiLCJoZWlnaHQiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiYnV0dG9uIiwiJHgiLCJjbGljayIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSIsImFjY291bnQiLCJzdWNjZXNzIiwiYWNjb3VudHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBUUEsTUFBTUEsS0FBSyxHQUFHLHFCQUFTLGtCQUFULENBQWQ7QUFFQSxNQUFNQyxXQUFXLEdBQUcsVUFBcEI7QUFDQSxNQUFNQyxTQUFTLEdBQUcsK0JBQWxCO0FBQ0EsTUFBTUMsV0FBVyxHQUFHLDBCQUFwQjtBQUNBLE1BQU1DLFFBQVEsR0FBRyw2Q0FBakI7O0FBVUEsU0FBU0MsYUFBVCxDQUF1QkMsU0FBdkIsRUFBMEM7QUFDeEMsUUFBTUMsWUFBWSxHQUFHRCxTQUFTLENBQUNFLE9BQVYsQ0FBa0IsR0FBbEIsRUFBdUIsRUFBdkIsQ0FBckI7QUFDQSxNQUFJQyxRQUF1QixHQUFHLElBQTlCO0FBQ0EsTUFBSUMsTUFBcUIsR0FBRyxJQUE1Qjs7QUFDQSxNQUFJSCxZQUFZLENBQUNJLFFBQWIsQ0FBc0JDLGlDQUF0QixDQUFKLEVBQW1EO0FBQ2pERixJQUFBQSxNQUFNLEdBQUdHLFVBQVUsQ0FBQ04sWUFBWSxDQUFDQyxPQUFiLENBQXFCSSxpQ0FBckIsRUFBNkMsRUFBN0MsQ0FBRCxDQUFuQjtBQUNBSCxJQUFBQSxRQUFRLEdBQUdLLDBCQUFYO0FBQ0QsR0FIRCxNQUdPLElBQUlQLFlBQVksQ0FBQ0ksUUFBYixDQUFzQkksaUNBQXRCLENBQUosRUFBbUQ7QUFDeERMLElBQUFBLE1BQU0sR0FBR0csVUFBVSxDQUFDTixZQUFZLENBQUNDLE9BQWIsQ0FBcUJPLGlDQUFyQixFQUE2QyxFQUE3QyxDQUFELENBQW5CO0FBQ0FOLElBQUFBLFFBQVEsR0FBR08sMEJBQVg7QUFDRCxHQUhNLE1BR0EsSUFBSVQsWUFBWSxDQUFDSSxRQUFiLENBQXNCTSwrQkFBdEIsQ0FBSixFQUFpRDtBQUN0RFAsSUFBQUEsTUFBTSxHQUFHRyxVQUFVLENBQUNOLFlBQVksQ0FBQ0MsT0FBYixDQUFxQlMsK0JBQXJCLEVBQTJDLEVBQTNDLENBQUQsQ0FBbkI7QUFDQVIsSUFBQUEsUUFBUSxHQUFHUyx3QkFBWDtBQUNELEdBSE0sTUFHQTtBQUNMLFVBQU1DLEtBQUssR0FBR1osWUFBWSxDQUFDYSxLQUFiLENBQW1CLEdBQW5CLENBQWQ7QUFDQSxLQUFDWCxRQUFELElBQWFVLEtBQWI7QUFDQVQsSUFBQUEsTUFBTSxHQUFHRyxVQUFVLENBQUNNLEtBQUssQ0FBQyxDQUFELENBQU4sQ0FBbkI7QUFDRDs7QUFFRCxTQUFPO0FBQ0xULElBQUFBLE1BREs7QUFFTEQsSUFBQUE7QUFGSyxHQUFQO0FBSUQ7O0FBRUQsU0FBU1ksbUJBQVQsQ0FBNkJDLElBQTdCLEVBQXdFO0FBQ3RFdEIsRUFBQUEsS0FBSyxDQUFFLFdBQVVzQixJQUFJLENBQUNDLE1BQU8scURBQXhCLENBQUw7QUFDQSxTQUFPRCxJQUFJLENBQUNFLEdBQUwsQ0FBVUMsR0FBRCxJQUFTO0FBQ3ZCLFVBQU1DLGtCQUFrQixHQUFHckIsYUFBYSxDQUFDb0IsR0FBRyxDQUFDRSxhQUFKLElBQXFCLEVBQXRCLENBQXhDO0FBQ0EsVUFBTUMsZ0JBQWdCLEdBQUcscUJBQU9ILEdBQUcsQ0FBQ0ksSUFBWCxFQUFpQjVCLFdBQWpCLENBQXpCO0FBRUEsVUFBTTZCLE1BQW1CLEdBQUc7QUFDMUJDLE1BQUFBLElBQUksRUFBRUMsK0JBQWlCQyxNQURHO0FBRTFCQyxNQUFBQSxNQUFNLEVBQUVDLGtDQUFvQkMsU0FGRjtBQUcxQlAsTUFBQUEsSUFBSSxFQUFFRCxnQkFBZ0IsQ0FBQ1MsV0FBakIsRUFIb0I7QUFJMUJDLE1BQUFBLGFBQWEsRUFBRVYsZ0JBQWdCLENBQUNTLFdBQWpCLEVBSlc7QUFLMUJFLE1BQUFBLGNBQWMsRUFBRWIsa0JBQWtCLENBQUNoQixNQUxUO0FBTTFCOEIsTUFBQUEsZ0JBQWdCLEVBQUVkLGtCQUFrQixDQUFDakIsUUFOWDtBQU8xQmtCLE1BQUFBLGFBQWEsRUFBRUQsa0JBQWtCLENBQUNoQixNQVBSO0FBUTFCK0IsTUFBQUEsZUFBZSxFQUFFZixrQkFBa0IsQ0FBQ2pCLFFBUlY7QUFTMUJpQyxNQUFBQSxXQUFXLEVBQUVqQixHQUFHLENBQUNpQixXQUFKLElBQW1CLEVBVE47QUFVMUJDLE1BQUFBLElBQUksRUFBRSxFQVZvQjtBQVcxQkMsTUFBQUEsVUFBVSxFQUFFbkIsR0FBRyxDQUFDbUI7QUFYVSxLQUE1QjtBQWNBLFdBQU9kLE1BQVA7QUFDRCxHQW5CTSxDQUFQO0FBb0JEOztBQUdELGVBQWVlLGlCQUFmLENBQWlDQyxJQUFqQyxFQUE2Q0MsT0FBN0MsRUFBcUU7QUFDbkUsUUFBTUQsSUFBSSxDQUFDRSxJQUFMLENBQVU1QyxRQUFWLENBQU47QUFDQSxRQUFNLGlEQUFzQjBDLElBQXRCLEVBQTRCLHFCQUE1QixFQUFtRCxLQUFuRCxDQUFOO0FBQ0EsUUFBTUcsa0JBQWtCLEdBQUcsdUJBQVNDLFFBQVQsQ0FBa0IsQ0FBbEIsRUFBcUIsT0FBckIsQ0FBM0I7QUFDQSxRQUFNQyxTQUFTLEdBQUdKLE9BQU8sQ0FBQ0ksU0FBUixJQUFxQkYsa0JBQWtCLENBQUNHLE1BQW5CLEVBQXZDOztBQUNBLFFBQU1DLFdBQVcsR0FBR0MsZ0JBQU9DLEdBQVAsQ0FBV04sa0JBQVgsRUFBK0IscUJBQU9FLFNBQVAsQ0FBL0IsQ0FBcEI7O0FBRUEsUUFBTUssYUFBYSxHQUFHLE1BQU0sb0NBQVNWLElBQVQsRUFBZSxvQ0FBZixFQUFxRCxJQUFyRCxFQUE0RFcsT0FBRCxJQUFhO0FBQ2xHLFdBQVFBLE9BQUQsQ0FBaUJDLFNBQWpCLENBQTJCbEQsT0FBM0IsQ0FBbUMsYUFBbkMsRUFBa0QsRUFBbEQsQ0FBUDtBQUNELEdBRjJCLENBQTVCO0FBSUEsUUFBTW1ELE9BQU8sR0FBRyxNQUFNLG9DQUFTYixJQUFULEVBQWUsMERBQWYsRUFBMkUsSUFBM0UsRUFBa0ZXLE9BQUQsSUFBYTtBQUNsSCxXQUFRQSxPQUFELENBQWlCQyxTQUF4QjtBQUNELEdBRnFCLENBQXRCO0FBSUExRCxFQUFBQSxLQUFLLENBQUMsa0NBQUQsQ0FBTDtBQUVBLFFBQU00RCxlQUE4QyxHQUFHLE1BQU0sdUNBQTJDZCxJQUEzQyxFQUFpRCwwREFBakQsRUFBNkcsRUFBN0csRUFBa0hlLEtBQUQsSUFBVztBQUN2TCxXQUFRQSxLQUFELENBQVFyQyxHQUFSLENBQWFzQyxFQUFELElBQVE7QUFDekIsWUFBTUMsT0FBb0MsR0FBR0QsRUFBRSxDQUFDRSxnQkFBSCxDQUFvQiwwQkFBcEIsQ0FBN0M7O0FBQ0EsVUFBSUQsT0FBTyxDQUFDeEMsTUFBUixLQUFtQixDQUF2QixFQUEwQjtBQUN4QixlQUFPO0FBQ0xNLFVBQUFBLElBQUksRUFBRWtDLE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBV0wsU0FEWjtBQUVMZCxVQUFBQSxVQUFVLEVBQUVtQixPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdMLFNBRmxCO0FBR0xoQixVQUFBQSxXQUFXLEVBQUVxQixPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdMLFNBSG5CO0FBSUwzQixVQUFBQSxJQUFJLEVBQUVnQyxPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdMLFNBSlo7QUFLTC9CLFVBQUFBLGFBQWEsRUFBRW9DLE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBV0w7QUFMckIsU0FBUDtBQU9EOztBQUNELGFBQU8sSUFBUDtBQUNELEtBWk0sQ0FBUDtBQWFELEdBZDRELENBQTdEO0FBZUExRCxFQUFBQSxLQUFLLENBQUUsV0FBVTRELGVBQWUsQ0FBQ3JDLE1BQU8sNkJBQW5DLENBQUw7QUFFQSxRQUFNMEMsbUJBQW1CLEdBQUc1QyxtQkFBbUIsQ0FBQ3VDLGVBQWUsQ0FBQ00sTUFBaEIsQ0FBd0JDLElBQUQsSUFBVSxDQUFDLENBQUNBLElBQW5DLENBQUQsQ0FBL0M7QUFFQW5FLEVBQUFBLEtBQUssQ0FBQyw0QkFBRCxDQUFMO0FBQ0EsUUFBTXNCLElBQUksR0FBRywwQ0FBc0IyQyxtQkFBdEIsRUFBMkNaLFdBQTNDLEVBQXdELEtBQXhELENBQWI7QUFDQXJELEVBQUFBLEtBQUssQ0FBRSxTQUFRc0IsSUFBSSxDQUFDQyxNQUFPLDhCQUE2QjBDLG1CQUFtQixDQUFDMUMsTUFBTyx5Q0FBd0NpQyxhQUFhLENBQUNZLFNBQWQsQ0FBd0JaLGFBQWEsQ0FBQ2pDLE1BQWQsR0FBdUIsQ0FBL0MsQ0FBa0QsRUFBeEssQ0FBTDtBQUVBLFNBQU87QUFDTGlDLElBQUFBLGFBREs7QUFFTEcsSUFBQUEsT0FBTyxFQUFFdEQsYUFBYSxDQUFDc0QsT0FBRCxDQUFiLENBQXVCakQsTUFGM0I7QUFHTFksSUFBQUE7QUFISyxHQUFQO0FBS0Q7O0FBRUQsU0FBUytDLHVCQUFULEdBQXlEO0FBQ3ZELFFBQU1DLElBQTBCLEdBQUcsRUFBbkM7QUFDQUEsRUFBQUEsSUFBSSxDQUFDQyxxQ0FBYUMsT0FBZCxDQUFKLEdBQTZCLENBQUNyRSxXQUFELENBQTdCO0FBQ0FtRSxFQUFBQSxJQUFJLENBQUNDLHFDQUFhRSxjQUFkLENBQUosR0FBb0MsRUFBcEMsQ0FIdUQsQ0FHZjs7QUFDeENILEVBQUFBLElBQUksQ0FBQ0MscUNBQWFHLGVBQWQsQ0FBSixHQUFxQyxFQUFyQyxDQUp1RCxDQUlkOztBQUN6Q0osRUFBQUEsSUFBSSxDQUFDQyxxQ0FBYUksWUFBZCxDQUFKLEdBQWtDLEVBQWxDLENBTHVELENBS2pCOztBQUN0QyxTQUFPTCxJQUFQO0FBQ0Q7O0FBRUQsU0FBU00saUJBQVQsQ0FBMkJDLFdBQTNCLEVBQTREO0FBQzFELFNBQU8sQ0FDTDtBQUFFQyxJQUFBQSxRQUFRLEVBQUUsVUFBWjtBQUF3QkMsSUFBQUEsS0FBSyxFQUFFRixXQUFXLENBQUNHO0FBQTNDLEdBREssRUFFTDtBQUFFRixJQUFBQSxRQUFRLEVBQUUsZ0JBQVo7QUFBOEJDLElBQUFBLEtBQUssRUFBRUYsV0FBVyxDQUFDSTtBQUFqRCxHQUZLLENBQVA7QUFJRDs7QUFFRCxNQUFNQyx1QkFBTixTQUFzQ0MsOENBQXRDLENBQTZEO0FBQ2pEQyxFQUFBQSxXQUFWLEdBQTJEO0FBQ3pELFdBQU87QUFDTEMsTUFBQUEsS0FBSyxFQUFFLElBREY7QUFFTEMsTUFBQUEsTUFBTSxFQUFFO0FBRkgsS0FBUDtBQUlEOztBQUVEQyxFQUFBQSxlQUFlLENBQUNWLFdBQUQsRUFBa0M7QUFDL0MsV0FBTztBQUNMVyxNQUFBQSxRQUFRLEVBQUV0RixTQURMO0FBRUx1RixNQUFBQSxNQUFNLEVBQUViLGlCQUFpQixDQUFDQyxXQUFELENBRnBCO0FBR0xhLE1BQUFBLG9CQUFvQixFQUFFLFlBQVk7QUFDaEMsY0FBTSxDQUFDQyxNQUFELElBQVcsTUFBTSxLQUFLN0MsSUFBTCxDQUFVOEMsRUFBVixDQUFhLGdDQUFiLENBQXZCOztBQUNBLFlBQUlELE1BQUosRUFBWTtBQUNWLGdCQUFNQSxNQUFNLENBQUNFLEtBQVAsRUFBTjtBQUNEO0FBQ0YsT0FSSTtBQVNMQyxNQUFBQSxlQUFlLEVBQUV6Qix1QkFBdUI7QUFUbkMsS0FBUDtBQVdEOztBQUVELFFBQU0wQixTQUFOLEdBQWtCO0FBQ2hCLFVBQU1DLE9BQU8sR0FBRyxNQUFNbkQsaUJBQWlCLENBQUMsS0FBS0MsSUFBTixFQUFZLEtBQUtDLE9BQWpCLENBQXZDO0FBQ0EsV0FBTztBQUNMa0QsTUFBQUEsT0FBTyxFQUFFLElBREo7QUFFTEMsTUFBQUEsUUFBUSxFQUFFLENBQUNGLE9BQUQ7QUFGTCxLQUFQO0FBSUQ7O0FBNUIwRDs7ZUErQjlDZCx1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyBTY2FwZXJPcHRpb25zLCBTY3JhcGVyQ3JlZGVudGlhbHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyB9IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBwYWdlRXZhbCwgcGFnZUV2YWxBbGwsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCB9IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGdldERlYnVnIH0gZnJvbSAnLi4vaGVscGVycy9kZWJ1Zyc7XG5pbXBvcnQgeyBmaWx0ZXJPbGRUcmFuc2FjdGlvbnMgfSBmcm9tICcuLi9oZWxwZXJzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQge1xuICBET0xMQVJfQ1VSUkVOQ1ksXG4gIERPTExBUl9DVVJSRU5DWV9TWU1CT0wsIEVVUk9fQ1VSUkVOQ1ksXG4gIEVVUk9fQ1VSUkVOQ1lfU1lNQk9MLFxuICBTSEVLRUxfQ1VSUkVOQ1ksXG4gIFNIRUtFTF9DVVJSRU5DWV9TWU1CT0wsXG59IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ2JleWFoYWRCaXNodmlsaGEnKTtcblxuY29uc3QgREFURV9GT1JNQVQgPSAnREQvTU0vWVknO1xuY29uc3QgTE9HSU5fVVJMID0gJ2h0dHBzOi8vd3d3Lmhpc3Qub3JnLmlsL2xvZ2luJztcbmNvbnN0IFNVQ0NFU1NfVVJMID0gJ2h0dHBzOi8vd3d3Lmhpc3Qub3JnLmlsLyc7XG5jb25zdCBDQVJEX1VSTCA9ICdodHRwczovL3d3dy5oaXN0Lm9yZy5pbC9jYXJkL2JhbGFuY2VBbmRVc2VzJztcblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbiB7XG4gIGRhdGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBjaGFyZ2VkQW1vdW50OiBzdHJpbmc7XG4gIGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0QW1vdW50RGF0YShhbW91bnRTdHI6IHN0cmluZykge1xuICBjb25zdCBhbW91bnRTdHJDbG4gPSBhbW91bnRTdHIucmVwbGFjZSgnLCcsICcnKTtcbiAgbGV0IGN1cnJlbmN5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgbGV0IGFtb3VudDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIGlmIChhbW91bnRTdHJDbG4uaW5jbHVkZXMoU0hFS0VMX0NVUlJFTkNZX1NZTUJPTCkpIHtcbiAgICBhbW91bnQgPSBwYXJzZUZsb2F0KGFtb3VudFN0ckNsbi5yZXBsYWNlKFNIRUtFTF9DVVJSRU5DWV9TWU1CT0wsICcnKSk7XG4gICAgY3VycmVuY3kgPSBTSEVLRUxfQ1VSUkVOQ1k7XG4gIH0gZWxzZSBpZiAoYW1vdW50U3RyQ2xuLmluY2x1ZGVzKERPTExBUl9DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gcGFyc2VGbG9hdChhbW91bnRTdHJDbG4ucmVwbGFjZShET0xMQVJfQ1VSUkVOQ1lfU1lNQk9MLCAnJykpO1xuICAgIGN1cnJlbmN5ID0gRE9MTEFSX0NVUlJFTkNZO1xuICB9IGVsc2UgaWYgKGFtb3VudFN0ckNsbi5pbmNsdWRlcyhFVVJPX0NVUlJFTkNZX1NZTUJPTCkpIHtcbiAgICBhbW91bnQgPSBwYXJzZUZsb2F0KGFtb3VudFN0ckNsbi5yZXBsYWNlKEVVUk9fQ1VSUkVOQ1lfU1lNQk9MLCAnJykpO1xuICAgIGN1cnJlbmN5ID0gRVVST19DVVJSRU5DWTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBwYXJ0cyA9IGFtb3VudFN0ckNsbi5zcGxpdCgnICcpO1xuICAgIFtjdXJyZW5jeV0gPSBwYXJ0cztcbiAgICBhbW91bnQgPSBwYXJzZUZsb2F0KHBhcnRzWzFdKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYW1vdW50LFxuICAgIGN1cnJlbmN5LFxuICB9O1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSB7XG4gIGRlYnVnKGBjb252ZXJ0ICR7dHhucy5sZW5ndGh9IHJhdyB0cmFuc2FjdGlvbnMgdG8gb2ZmaWNpYWwgVHJhbnNhY3Rpb24gc3RydWN0dXJlYCk7XG4gIHJldHVybiB0eG5zLm1hcCgodHhuKSA9PiB7XG4gICAgY29uc3QgY2hhcmdlZEFtb3VudFR1cGxlID0gZ2V0QW1vdW50RGF0YSh0eG4uY2hhcmdlZEFtb3VudCB8fCAnJyk7XG4gICAgY29uc3QgdHhuUHJvY2Vzc2VkRGF0ZSA9IG1vbWVudCh0eG4uZGF0ZSwgREFURV9GT1JNQVQpO1xuXG4gICAgY29uc3QgcmVzdWx0OiBUcmFuc2FjdGlvbiA9IHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICAgIGRhdGU6IHR4blByb2Nlc3NlZERhdGUudG9JU09TdHJpbmcoKSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IHR4blByb2Nlc3NlZERhdGUudG9JU09TdHJpbmcoKSxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiBjaGFyZ2VkQW1vdW50VHVwbGUuYW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogY2hhcmdlZEFtb3VudFR1cGxlLmN1cnJlbmN5LFxuICAgICAgY2hhcmdlZEFtb3VudDogY2hhcmdlZEFtb3VudFR1cGxlLmFtb3VudCxcbiAgICAgIGNoYXJnZWRDdXJyZW5jeTogY2hhcmdlZEFtb3VudFR1cGxlLmN1cnJlbmN5LFxuICAgICAgZGVzY3JpcHRpb246IHR4bi5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIG1lbW86ICcnLFxuICAgICAgaWRlbnRpZmllcjogdHhuLmlkZW50aWZpZXIsXG4gICAgfTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0pO1xufVxuXG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zKHBhZ2U6IFBhZ2UsIG9wdGlvbnM6IFNjYXBlck9wdGlvbnMpIHtcbiAgYXdhaXQgcGFnZS5nb3RvKENBUkRfVVJMKTtcbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICcucmVhY3QtbG9hZGluZy5oaWRlJywgZmFsc2UpO1xuICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAneWVhcnMnKTtcbiAgY29uc3Qgc3RhcnREYXRlID0gb3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgY29uc3QgYWNjb3VudE51bWJlciA9IGF3YWl0IHBhZ2VFdmFsKHBhZ2UsICcud2FsbGV0LWRldGFpbHMgZGl2Om50aC1vZi10eXBlKDIpJywgbnVsbCwgKGVsZW1lbnQpID0+IHtcbiAgICByZXR1cm4gKGVsZW1lbnQgYXMgYW55KS5pbm5lclRleHQucmVwbGFjZSgn157Xodek16gg15vXqNeY15nXoSAnLCAnJyk7XG4gIH0pO1xuXG4gIGNvbnN0IGJhbGFuY2UgPSBhd2FpdCBwYWdlRXZhbChwYWdlLCAnLndhbGxldC1kZXRhaWxzIGRpdjpudGgtb2YtdHlwZSg0KSA+IHNwYW46bnRoLW9mLXR5cGUoMiknLCBudWxsLCAoZWxlbWVudCkgPT4ge1xuICAgIHJldHVybiAoZWxlbWVudCBhcyBhbnkpLmlubmVyVGV4dDtcbiAgfSk7XG5cbiAgZGVidWcoJ2ZldGNoIHJhdyB0cmFuc2FjdGlvbnMgZnJvbSBwYWdlJyk7XG5cbiAgY29uc3QgcmF3VHJhbnNhY3Rpb25zOiAoU2NyYXBlZFRyYW5zYWN0aW9uIHwgbnVsbClbXSA9IGF3YWl0IHBhZ2VFdmFsQWxsPChTY3JhcGVkVHJhbnNhY3Rpb24gfCBudWxsKVtdPihwYWdlLCAnLnRyYW5zYWN0aW9uLWNvbnRhaW5lciwgLnRyYW5zYWN0aW9uLWNvbXBvbmVudC1jb250YWluZXInLCBbXSwgKGl0ZW1zKSA9PiB7XG4gICAgcmV0dXJuIChpdGVtcykubWFwKChlbCkgPT4ge1xuICAgICAgY29uc3QgY29sdW1uczogTm9kZUxpc3RPZjxIVE1MU3BhbkVsZW1lbnQ+ID0gZWwucXVlcnlTZWxlY3RvckFsbCgnLnRyYW5zYWN0aW9uLWl0ZW0gPiBzcGFuJyk7XG4gICAgICBpZiAoY29sdW1ucy5sZW5ndGggPT09IDcpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYXRlOiBjb2x1bW5zWzBdLmlubmVyVGV4dCxcbiAgICAgICAgICBpZGVudGlmaWVyOiBjb2x1bW5zWzFdLmlubmVyVGV4dCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogY29sdW1uc1szXS5pbm5lclRleHQsXG4gICAgICAgICAgdHlwZTogY29sdW1uc1s1XS5pbm5lclRleHQsXG4gICAgICAgICAgY2hhcmdlZEFtb3VudDogY29sdW1uc1s2XS5pbm5lclRleHQsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcbiAgfSk7XG4gIGRlYnVnKGBmZXRjaGVkICR7cmF3VHJhbnNhY3Rpb25zLmxlbmd0aH0gcmF3IHRyYW5zYWN0aW9ucyBmcm9tIHBhZ2VgKTtcblxuICBjb25zdCBhY2NvdW50VHJhbnNhY3Rpb25zID0gY29udmVydFRyYW5zYWN0aW9ucyhyYXdUcmFuc2FjdGlvbnMuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pIGFzIFNjcmFwZWRUcmFuc2FjdGlvbltdKTtcblxuICBkZWJ1ZygnZmlsZXIgb3V0IG9sZCB0cmFuc2FjdGlvbnMnKTtcbiAgY29uc3QgdHhucyA9IGZpbHRlck9sZFRyYW5zYWN0aW9ucyhhY2NvdW50VHJhbnNhY3Rpb25zLCBzdGFydE1vbWVudCwgZmFsc2UpO1xuICBkZWJ1ZyhgZm91bmQgJHt0eG5zLmxlbmd0aH0gdmFsaWQgdHJhbnNhY3Rpb25zIG91dCBvZiAke2FjY291bnRUcmFuc2FjdGlvbnMubGVuZ3RofSB0cmFuc2FjdGlvbnMgZm9yIGFjY291bnQgZW5kaW5nIHdpdGggJHthY2NvdW50TnVtYmVyLnN1YnN0cmluZyhhY2NvdW50TnVtYmVyLmxlbmd0aCAtIDIpfWApO1xuXG4gIHJldHVybiB7XG4gICAgYWNjb3VudE51bWJlcixcbiAgICBiYWxhbmNlOiBnZXRBbW91bnREYXRhKGJhbGFuY2UpLmFtb3VudCxcbiAgICB0eG5zLFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyB7XG4gIGNvbnN0IHVybHM6IFBvc3NpYmxlTG9naW5SZXN1bHRzID0ge307XG4gIHVybHNbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdID0gW1NVQ0NFU1NfVVJMXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdID0gW107IC8vIFRPRE9cbiAgdXJsc1tMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXSA9IFtdOyAvLyBUT0RPXG4gIHVybHNbTG9naW5SZXN1bHRzLlVua25vd25FcnJvcl0gPSBbXTsgLy8gVE9ET1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICByZXR1cm4gW1xuICAgIHsgc2VsZWN0b3I6ICcjbG9naW5JZCcsIHZhbHVlOiBjcmVkZW50aWFscy5pZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjbG9naW5QYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5jbGFzcyBCZXlhaGFkQmlzaHZpbGhhU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICBwcm90ZWN0ZWQgZ2V0Vmlld1BvcnQoKTogeyB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IDE1MDAsXG4gICAgICBoZWlnaHQ6IDgwMCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IExPR0lOX1VSTCxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgW2J1dHRvbl0gPSBhd2FpdCB0aGlzLnBhZ2UuJHgoXCIvL2J1dHRvbltjb250YWlucyguLCAn15TXqteX15HXqCcpXVwiKTtcbiAgICAgICAgaWYgKGJ1dHRvbikge1xuICAgICAgICAgIGF3YWl0IGJ1dHRvbi5jbGljaygpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKSB7XG4gICAgY29uc3QgYWNjb3VudCA9IGF3YWl0IGZldGNoVHJhbnNhY3Rpb25zKHRoaXMucGFnZSwgdGhpcy5vcHRpb25zKTtcbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgIGFjY291bnRzOiBbYWNjb3VudF0sXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBCZXlhaGFkQmlzaHZpbGhhU2NyYXBlcjtcbiJdfQ==
|
|
187
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iZXlhaGFkLWJpc2h2aWxoYS50cyJdLCJuYW1lcyI6WyJkZWJ1ZyIsIkRBVEVfRk9STUFUIiwiTE9HSU5fVVJMIiwiU1VDQ0VTU19VUkwiLCJDQVJEX1VSTCIsImdldEFtb3VudERhdGEiLCJhbW91bnRTdHIiLCJhbW91bnRTdHJDbG4iLCJyZXBsYWNlIiwiY3VycmVuY3kiLCJhbW91bnQiLCJpbmNsdWRlcyIsIlNIRUtFTF9DVVJSRU5DWV9TWU1CT0wiLCJwYXJzZUZsb2F0IiwiU0hFS0VMX0NVUlJFTkNZIiwiRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCIsIkRPTExBUl9DVVJSRU5DWSIsIkVVUk9fQ1VSUkVOQ1lfU1lNQk9MIiwiRVVST19DVVJSRU5DWSIsInBhcnRzIiwic3BsaXQiLCJjb252ZXJ0VHJhbnNhY3Rpb25zIiwidHhucyIsImxlbmd0aCIsIm1hcCIsInR4biIsImNoYXJnZWRBbW91bnRUdXBsZSIsImNoYXJnZWRBbW91bnQiLCJ0eG5Qcm9jZXNzZWREYXRlIiwiZGF0ZSIsInJlc3VsdCIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiTm9ybWFsIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsInRvSVNPU3RyaW5nIiwicHJvY2Vzc2VkRGF0ZSIsIm9yaWdpbmFsQW1vdW50Iiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRDdXJyZW5jeSIsImRlc2NyaXB0aW9uIiwibWVtbyIsImlkZW50aWZpZXIiLCJmZXRjaFRyYW5zYWN0aW9ucyIsInBhZ2UiLCJvcHRpb25zIiwiZ290byIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0Iiwic3RhcnREYXRlIiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJhY2NvdW50TnVtYmVyIiwiZWxlbWVudCIsImlubmVyVGV4dCIsImJhbGFuY2UiLCJyYXdUcmFuc2FjdGlvbnMiLCJpdGVtcyIsImVsIiwiY29sdW1ucyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJhY2NvdW50VHJhbnNhY3Rpb25zIiwiZmlsdGVyIiwiaXRlbSIsInN1YnN0cmluZyIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJDaGFuZ2VQYXNzd29yZCIsIkludmFsaWRQYXNzd29yZCIsIlVua25vd25FcnJvciIsImNyZWF0ZUxvZ2luRmllbGRzIiwiY3JlZGVudGlhbHMiLCJzZWxlY3RvciIsInZhbHVlIiwiaWQiLCJwYXNzd29yZCIsIkJleWFoYWRCaXNodmlsaGFTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldFZpZXdQb3J0Iiwid2lkdGgiLCJoZWlnaHQiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiYnV0dG9uIiwiJHgiLCJjbGljayIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSIsImFjY291bnQiLCJzdWNjZXNzIiwiYWNjb3VudHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBUUEsTUFBTUEsS0FBSyxHQUFHLHFCQUFTLGtCQUFULENBQWQ7QUFFQSxNQUFNQyxXQUFXLEdBQUcsVUFBcEI7QUFDQSxNQUFNQyxTQUFTLEdBQUcsK0JBQWxCO0FBQ0EsTUFBTUMsV0FBVyxHQUFHLDBCQUFwQjtBQUNBLE1BQU1DLFFBQVEsR0FBRyw2Q0FBakI7O0FBVUEsU0FBU0MsYUFBVCxDQUF1QkMsU0FBdkIsRUFBMEM7QUFDeEMsUUFBTUMsWUFBWSxHQUFHRCxTQUFTLENBQUNFLE9BQVYsQ0FBa0IsR0FBbEIsRUFBdUIsRUFBdkIsQ0FBckI7QUFDQSxNQUFJQyxRQUF1QixHQUFHLElBQTlCO0FBQ0EsTUFBSUMsTUFBcUIsR0FBRyxJQUE1Qjs7QUFDQSxNQUFJSCxZQUFZLENBQUNJLFFBQWIsQ0FBc0JDLGlDQUF0QixDQUFKLEVBQW1EO0FBQ2pERixJQUFBQSxNQUFNLEdBQUdHLFVBQVUsQ0FBQ04sWUFBWSxDQUFDQyxPQUFiLENBQXFCSSxpQ0FBckIsRUFBNkMsRUFBN0MsQ0FBRCxDQUFuQjtBQUNBSCxJQUFBQSxRQUFRLEdBQUdLLDBCQUFYO0FBQ0QsR0FIRCxNQUdPLElBQUlQLFlBQVksQ0FBQ0ksUUFBYixDQUFzQkksaUNBQXRCLENBQUosRUFBbUQ7QUFDeERMLElBQUFBLE1BQU0sR0FBR0csVUFBVSxDQUFDTixZQUFZLENBQUNDLE9BQWIsQ0FBcUJPLGlDQUFyQixFQUE2QyxFQUE3QyxDQUFELENBQW5CO0FBQ0FOLElBQUFBLFFBQVEsR0FBR08sMEJBQVg7QUFDRCxHQUhNLE1BR0EsSUFBSVQsWUFBWSxDQUFDSSxRQUFiLENBQXNCTSwrQkFBdEIsQ0FBSixFQUFpRDtBQUN0RFAsSUFBQUEsTUFBTSxHQUFHRyxVQUFVLENBQUNOLFlBQVksQ0FBQ0MsT0FBYixDQUFxQlMsK0JBQXJCLEVBQTJDLEVBQTNDLENBQUQsQ0FBbkI7QUFDQVIsSUFBQUEsUUFBUSxHQUFHUyx3QkFBWDtBQUNELEdBSE0sTUFHQTtBQUNMLFVBQU1DLEtBQUssR0FBR1osWUFBWSxDQUFDYSxLQUFiLENBQW1CLEdBQW5CLENBQWQ7QUFDQSxLQUFDWCxRQUFELElBQWFVLEtBQWI7QUFDQVQsSUFBQUEsTUFBTSxHQUFHRyxVQUFVLENBQUNNLEtBQUssQ0FBQyxDQUFELENBQU4sQ0FBbkI7QUFDRDs7QUFFRCxTQUFPO0FBQ0xULElBQUFBLE1BREs7QUFFTEQsSUFBQUE7QUFGSyxHQUFQO0FBSUQ7O0FBRUQsU0FBU1ksbUJBQVQsQ0FBNkJDLElBQTdCLEVBQXdFO0FBQ3RFdEIsRUFBQUEsS0FBSyxDQUFFLFdBQVVzQixJQUFJLENBQUNDLE1BQU8scURBQXhCLENBQUw7QUFDQSxTQUFPRCxJQUFJLENBQUNFLEdBQUwsQ0FBVUMsR0FBRCxJQUFTO0FBQ3ZCLFVBQU1DLGtCQUFrQixHQUFHckIsYUFBYSxDQUFDb0IsR0FBRyxDQUFDRSxhQUFKLElBQXFCLEVBQXRCLENBQXhDO0FBQ0EsVUFBTUMsZ0JBQWdCLEdBQUcscUJBQU9ILEdBQUcsQ0FBQ0ksSUFBWCxFQUFpQjVCLFdBQWpCLENBQXpCO0FBRUEsVUFBTTZCLE1BQW1CLEdBQUc7QUFDMUJDLE1BQUFBLElBQUksRUFBRUMsK0JBQWlCQyxNQURHO0FBRTFCQyxNQUFBQSxNQUFNLEVBQUVDLGtDQUFvQkMsU0FGRjtBQUcxQlAsTUFBQUEsSUFBSSxFQUFFRCxnQkFBZ0IsQ0FBQ1MsV0FBakIsRUFIb0I7QUFJMUJDLE1BQUFBLGFBQWEsRUFBRVYsZ0JBQWdCLENBQUNTLFdBQWpCLEVBSlc7QUFLMUJFLE1BQUFBLGNBQWMsRUFBRWIsa0JBQWtCLENBQUNoQixNQUxUO0FBTTFCOEIsTUFBQUEsZ0JBQWdCLEVBQUVkLGtCQUFrQixDQUFDakIsUUFOWDtBQU8xQmtCLE1BQUFBLGFBQWEsRUFBRUQsa0JBQWtCLENBQUNoQixNQVBSO0FBUTFCK0IsTUFBQUEsZUFBZSxFQUFFZixrQkFBa0IsQ0FBQ2pCLFFBUlY7QUFTMUJpQyxNQUFBQSxXQUFXLEVBQUVqQixHQUFHLENBQUNpQixXQUFKLElBQW1CLEVBVE47QUFVMUJDLE1BQUFBLElBQUksRUFBRSxFQVZvQjtBQVcxQkMsTUFBQUEsVUFBVSxFQUFFbkIsR0FBRyxDQUFDbUI7QUFYVSxLQUE1QjtBQWNBLFdBQU9kLE1BQVA7QUFDRCxHQW5CTSxDQUFQO0FBb0JEOztBQUdELGVBQWVlLGlCQUFmLENBQWlDQyxJQUFqQyxFQUE2Q0MsT0FBN0MsRUFBc0U7QUFDcEUsUUFBTUQsSUFBSSxDQUFDRSxJQUFMLENBQVU1QyxRQUFWLENBQU47QUFDQSxRQUFNLGlEQUFzQjBDLElBQXRCLEVBQTRCLHFCQUE1QixFQUFtRCxLQUFuRCxDQUFOO0FBQ0EsUUFBTUcsa0JBQWtCLEdBQUcsdUJBQVNDLFFBQVQsQ0FBa0IsQ0FBbEIsRUFBcUIsT0FBckIsQ0FBM0I7QUFDQSxRQUFNQyxTQUFTLEdBQUdKLE9BQU8sQ0FBQ0ksU0FBUixJQUFxQkYsa0JBQWtCLENBQUNHLE1BQW5CLEVBQXZDOztBQUNBLFFBQU1DLFdBQVcsR0FBR0MsZ0JBQU9DLEdBQVAsQ0FBV04sa0JBQVgsRUFBK0IscUJBQU9FLFNBQVAsQ0FBL0IsQ0FBcEI7O0FBRUEsUUFBTUssYUFBYSxHQUFHLE1BQU0sb0NBQVNWLElBQVQsRUFBZSxvQ0FBZixFQUFxRCxJQUFyRCxFQUE0RFcsT0FBRCxJQUFhO0FBQ2xHLFdBQVFBLE9BQUQsQ0FBaUJDLFNBQWpCLENBQTJCbEQsT0FBM0IsQ0FBbUMsYUFBbkMsRUFBa0QsRUFBbEQsQ0FBUDtBQUNELEdBRjJCLENBQTVCO0FBSUEsUUFBTW1ELE9BQU8sR0FBRyxNQUFNLG9DQUFTYixJQUFULEVBQWUsMERBQWYsRUFBMkUsSUFBM0UsRUFBa0ZXLE9BQUQsSUFBYTtBQUNsSCxXQUFRQSxPQUFELENBQWlCQyxTQUF4QjtBQUNELEdBRnFCLENBQXRCO0FBSUExRCxFQUFBQSxLQUFLLENBQUMsa0NBQUQsQ0FBTDtBQUVBLFFBQU00RCxlQUE4QyxHQUFHLE1BQU0sdUNBQTJDZCxJQUEzQyxFQUFpRCwwREFBakQsRUFBNkcsRUFBN0csRUFBa0hlLEtBQUQsSUFBVztBQUN2TCxXQUFRQSxLQUFELENBQVFyQyxHQUFSLENBQWFzQyxFQUFELElBQVE7QUFDekIsWUFBTUMsT0FBb0MsR0FBR0QsRUFBRSxDQUFDRSxnQkFBSCxDQUFvQiwwQkFBcEIsQ0FBN0M7O0FBQ0EsVUFBSUQsT0FBTyxDQUFDeEMsTUFBUixLQUFtQixDQUF2QixFQUEwQjtBQUN4QixlQUFPO0FBQ0xNLFVBQUFBLElBQUksRUFBRWtDLE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBV0wsU0FEWjtBQUVMZCxVQUFBQSxVQUFVLEVBQUVtQixPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdMLFNBRmxCO0FBR0xoQixVQUFBQSxXQUFXLEVBQUVxQixPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdMLFNBSG5CO0FBSUwzQixVQUFBQSxJQUFJLEVBQUVnQyxPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdMLFNBSlo7QUFLTC9CLFVBQUFBLGFBQWEsRUFBRW9DLE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBV0w7QUFMckIsU0FBUDtBQU9EOztBQUNELGFBQU8sSUFBUDtBQUNELEtBWk0sQ0FBUDtBQWFELEdBZDRELENBQTdEO0FBZUExRCxFQUFBQSxLQUFLLENBQUUsV0FBVTRELGVBQWUsQ0FBQ3JDLE1BQU8sNkJBQW5DLENBQUw7QUFFQSxRQUFNMEMsbUJBQW1CLEdBQUc1QyxtQkFBbUIsQ0FBQ3VDLGVBQWUsQ0FBQ00sTUFBaEIsQ0FBd0JDLElBQUQsSUFBVSxDQUFDLENBQUNBLElBQW5DLENBQUQsQ0FBL0M7QUFFQW5FLEVBQUFBLEtBQUssQ0FBQyw0QkFBRCxDQUFMO0FBQ0EsUUFBTXNCLElBQUksR0FBRywwQ0FBc0IyQyxtQkFBdEIsRUFBMkNaLFdBQTNDLEVBQXdELEtBQXhELENBQWI7QUFDQXJELEVBQUFBLEtBQUssQ0FBRSxTQUFRc0IsSUFBSSxDQUFDQyxNQUFPLDhCQUE2QjBDLG1CQUFtQixDQUFDMUMsTUFBTyx5Q0FBd0NpQyxhQUFhLENBQUNZLFNBQWQsQ0FBd0JaLGFBQWEsQ0FBQ2pDLE1BQWQsR0FBdUIsQ0FBL0MsQ0FBa0QsRUFBeEssQ0FBTDtBQUVBLFNBQU87QUFDTGlDLElBQUFBLGFBREs7QUFFTEcsSUFBQUEsT0FBTyxFQUFFdEQsYUFBYSxDQUFDc0QsT0FBRCxDQUFiLENBQXVCakQsTUFGM0I7QUFHTFksSUFBQUE7QUFISyxHQUFQO0FBS0Q7O0FBRUQsU0FBUytDLHVCQUFULEdBQXlEO0FBQ3ZELFFBQU1DLElBQTBCLEdBQUcsRUFBbkM7QUFDQUEsRUFBQUEsSUFBSSxDQUFDQyxxQ0FBYUMsT0FBZCxDQUFKLEdBQTZCLENBQUNyRSxXQUFELENBQTdCO0FBQ0FtRSxFQUFBQSxJQUFJLENBQUNDLHFDQUFhRSxjQUFkLENBQUosR0FBb0MsRUFBcEMsQ0FIdUQsQ0FHZjs7QUFDeENILEVBQUFBLElBQUksQ0FBQ0MscUNBQWFHLGVBQWQsQ0FBSixHQUFxQyxFQUFyQyxDQUp1RCxDQUlkOztBQUN6Q0osRUFBQUEsSUFBSSxDQUFDQyxxQ0FBYUksWUFBZCxDQUFKLEdBQWtDLEVBQWxDLENBTHVELENBS2pCOztBQUN0QyxTQUFPTCxJQUFQO0FBQ0Q7O0FBRUQsU0FBU00saUJBQVQsQ0FBMkJDLFdBQTNCLEVBQTREO0FBQzFELFNBQU8sQ0FDTDtBQUFFQyxJQUFBQSxRQUFRLEVBQUUsVUFBWjtBQUF3QkMsSUFBQUEsS0FBSyxFQUFFRixXQUFXLENBQUNHO0FBQTNDLEdBREssRUFFTDtBQUFFRixJQUFBQSxRQUFRLEVBQUUsZ0JBQVo7QUFBOEJDLElBQUFBLEtBQUssRUFBRUYsV0FBVyxDQUFDSTtBQUFqRCxHQUZLLENBQVA7QUFJRDs7QUFFRCxNQUFNQyx1QkFBTixTQUFzQ0MsOENBQXRDLENBQTZEO0FBQ2pEQyxFQUFBQSxXQUFWLEdBQTJEO0FBQ3pELFdBQU87QUFDTEMsTUFBQUEsS0FBSyxFQUFFLElBREY7QUFFTEMsTUFBQUEsTUFBTSxFQUFFO0FBRkgsS0FBUDtBQUlEOztBQUVEQyxFQUFBQSxlQUFlLENBQUNWLFdBQUQsRUFBa0M7QUFDL0MsV0FBTztBQUNMVyxNQUFBQSxRQUFRLEVBQUV0RixTQURMO0FBRUx1RixNQUFBQSxNQUFNLEVBQUViLGlCQUFpQixDQUFDQyxXQUFELENBRnBCO0FBR0xhLE1BQUFBLG9CQUFvQixFQUFFLFlBQVk7QUFDaEMsY0FBTSxDQUFDQyxNQUFELElBQVcsTUFBTSxLQUFLN0MsSUFBTCxDQUFVOEMsRUFBVixDQUFhLGdDQUFiLENBQXZCOztBQUNBLFlBQUlELE1BQUosRUFBWTtBQUNWLGdCQUFNQSxNQUFNLENBQUNFLEtBQVAsRUFBTjtBQUNEO0FBQ0YsT0FSSTtBQVNMQyxNQUFBQSxlQUFlLEVBQUV6Qix1QkFBdUI7QUFUbkMsS0FBUDtBQVdEOztBQUVELFFBQU0wQixTQUFOLEdBQWtCO0FBQ2hCLFVBQU1DLE9BQU8sR0FBRyxNQUFNbkQsaUJBQWlCLENBQUMsS0FBS0MsSUFBTixFQUFZLEtBQUtDLE9BQWpCLENBQXZDO0FBQ0EsV0FBTztBQUNMa0QsTUFBQUEsT0FBTyxFQUFFLElBREo7QUFFTEMsTUFBQUEsUUFBUSxFQUFFLENBQUNGLE9BQUQ7QUFGTCxLQUFQO0FBSUQ7O0FBNUIwRDs7ZUErQjlDZCx1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyBTY3JhcGVyT3B0aW9ucywgU2NyYXBlckNyZWRlbnRpYWxzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMgfSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgcGFnZUV2YWwsIHBhZ2VFdmFsQWxsLCB3YWl0VW50aWxFbGVtZW50Rm91bmQgfSBmcm9tICcuLi9oZWxwZXJzL2VsZW1lbnRzLWludGVyYWN0aW9ucyc7XG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuaW1wb3J0IHsgZmlsdGVyT2xkVHJhbnNhY3Rpb25zIH0gZnJvbSAnLi4vaGVscGVycy90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHtcbiAgRE9MTEFSX0NVUlJFTkNZLFxuICBET0xMQVJfQ1VSUkVOQ1lfU1lNQk9MLCBFVVJPX0NVUlJFTkNZLFxuICBFVVJPX0NVUlJFTkNZX1NZTUJPTCxcbiAgU0hFS0VMX0NVUlJFTkNZLFxuICBTSEVLRUxfQ1VSUkVOQ1lfU1lNQk9MLFxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5jb25zdCBkZWJ1ZyA9IGdldERlYnVnKCdiZXlhaGFkQmlzaHZpbGhhJyk7XG5cbmNvbnN0IERBVEVfRk9STUFUID0gJ0REL01NL1lZJztcbmNvbnN0IExPR0lOX1VSTCA9ICdodHRwczovL3d3dy5oaXN0Lm9yZy5pbC9sb2dpbic7XG5jb25zdCBTVUNDRVNTX1VSTCA9ICdodHRwczovL3d3dy5oaXN0Lm9yZy5pbC8nO1xuY29uc3QgQ0FSRF9VUkwgPSAnaHR0cHM6Ly93d3cuaGlzdC5vcmcuaWwvY2FyZC9iYWxhbmNlQW5kVXNlcyc7XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb24ge1xuICBkYXRlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgY2hhcmdlZEFtb3VudDogc3RyaW5nO1xuICBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldEFtb3VudERhdGEoYW1vdW50U3RyOiBzdHJpbmcpIHtcbiAgY29uc3QgYW1vdW50U3RyQ2xuID0gYW1vdW50U3RyLnJlcGxhY2UoJywnLCAnJyk7XG4gIGxldCBjdXJyZW5jeTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIGxldCBhbW91bnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBpZiAoYW1vdW50U3RyQ2xuLmluY2x1ZGVzKFNIRUtFTF9DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gcGFyc2VGbG9hdChhbW91bnRTdHJDbG4ucmVwbGFjZShTSEVLRUxfQ1VSUkVOQ1lfU1lNQk9MLCAnJykpO1xuICAgIGN1cnJlbmN5ID0gU0hFS0VMX0NVUlJFTkNZO1xuICB9IGVsc2UgaWYgKGFtb3VudFN0ckNsbi5pbmNsdWRlcyhET0xMQVJfQ1VSUkVOQ1lfU1lNQk9MKSkge1xuICAgIGFtb3VudCA9IHBhcnNlRmxvYXQoYW1vdW50U3RyQ2xuLnJlcGxhY2UoRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCwgJycpKTtcbiAgICBjdXJyZW5jeSA9IERPTExBUl9DVVJSRU5DWTtcbiAgfSBlbHNlIGlmIChhbW91bnRTdHJDbG4uaW5jbHVkZXMoRVVST19DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gcGFyc2VGbG9hdChhbW91bnRTdHJDbG4ucmVwbGFjZShFVVJPX0NVUlJFTkNZX1NZTUJPTCwgJycpKTtcbiAgICBjdXJyZW5jeSA9IEVVUk9fQ1VSUkVOQ1k7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgcGFydHMgPSBhbW91bnRTdHJDbG4uc3BsaXQoJyAnKTtcbiAgICBbY3VycmVuY3ldID0gcGFydHM7XG4gICAgYW1vdW50ID0gcGFyc2VGbG9hdChwYXJ0c1sxXSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGFtb3VudCxcbiAgICBjdXJyZW5jeSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9ucyh0eG5zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10ge1xuICBkZWJ1ZyhgY29udmVydCAke3R4bnMubGVuZ3RofSByYXcgdHJhbnNhY3Rpb25zIHRvIG9mZmljaWFsIFRyYW5zYWN0aW9uIHN0cnVjdHVyZWApO1xuICByZXR1cm4gdHhucy5tYXAoKHR4bikgPT4ge1xuICAgIGNvbnN0IGNoYXJnZWRBbW91bnRUdXBsZSA9IGdldEFtb3VudERhdGEodHhuLmNoYXJnZWRBbW91bnQgfHwgJycpO1xuICAgIGNvbnN0IHR4blByb2Nlc3NlZERhdGUgPSBtb21lbnQodHhuLmRhdGUsIERBVEVfRk9STUFUKTtcblxuICAgIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb24gPSB7XG4gICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbCxcbiAgICAgIHN0YXR1czogVHJhbnNhY3Rpb25TdGF0dXNlcy5Db21wbGV0ZWQsXG4gICAgICBkYXRlOiB0eG5Qcm9jZXNzZWREYXRlLnRvSVNPU3RyaW5nKCksXG4gICAgICBwcm9jZXNzZWREYXRlOiB0eG5Qcm9jZXNzZWREYXRlLnRvSVNPU3RyaW5nKCksXG4gICAgICBvcmlnaW5hbEFtb3VudDogY2hhcmdlZEFtb3VudFR1cGxlLmFtb3VudCxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IGNoYXJnZWRBbW91bnRUdXBsZS5jdXJyZW5jeSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IGNoYXJnZWRBbW91bnRUdXBsZS5hbW91bnQsXG4gICAgICBjaGFyZ2VkQ3VycmVuY3k6IGNoYXJnZWRBbW91bnRUdXBsZS5jdXJyZW5jeSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0eG4uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBtZW1vOiAnJyxcbiAgICAgIGlkZW50aWZpZXI6IHR4bi5pZGVudGlmaWVyLFxuICAgIH07XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcbn1cblxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9ucyhwYWdlOiBQYWdlLCBvcHRpb25zOiBTY3JhcGVyT3B0aW9ucykge1xuICBhd2FpdCBwYWdlLmdvdG8oQ0FSRF9VUkwpO1xuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJy5yZWFjdC1sb2FkaW5nLmhpZGUnLCBmYWxzZSk7XG4gIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICd5ZWFycycpO1xuICBjb25zdCBzdGFydERhdGUgPSBvcHRpb25zLnN0YXJ0RGF0ZSB8fCBkZWZhdWx0U3RhcnRNb21lbnQudG9EYXRlKCk7XG4gIGNvbnN0IHN0YXJ0TW9tZW50ID0gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcblxuICBjb25zdCBhY2NvdW50TnVtYmVyID0gYXdhaXQgcGFnZUV2YWwocGFnZSwgJy53YWxsZXQtZGV0YWlscyBkaXY6bnRoLW9mLXR5cGUoMiknLCBudWxsLCAoZWxlbWVudCkgPT4ge1xuICAgIHJldHVybiAoZWxlbWVudCBhcyBhbnkpLmlubmVyVGV4dC5yZXBsYWNlKCfXnteh16TXqCDXm9eo15jXmdehICcsICcnKTtcbiAgfSk7XG5cbiAgY29uc3QgYmFsYW5jZSA9IGF3YWl0IHBhZ2VFdmFsKHBhZ2UsICcud2FsbGV0LWRldGFpbHMgZGl2Om50aC1vZi10eXBlKDQpID4gc3BhbjpudGgtb2YtdHlwZSgyKScsIG51bGwsIChlbGVtZW50KSA9PiB7XG4gICAgcmV0dXJuIChlbGVtZW50IGFzIGFueSkuaW5uZXJUZXh0O1xuICB9KTtcblxuICBkZWJ1ZygnZmV0Y2ggcmF3IHRyYW5zYWN0aW9ucyBmcm9tIHBhZ2UnKTtcblxuICBjb25zdCByYXdUcmFuc2FjdGlvbnM6IChTY3JhcGVkVHJhbnNhY3Rpb24gfCBudWxsKVtdID0gYXdhaXQgcGFnZUV2YWxBbGw8KFNjcmFwZWRUcmFuc2FjdGlvbiB8IG51bGwpW10+KHBhZ2UsICcudHJhbnNhY3Rpb24tY29udGFpbmVyLCAudHJhbnNhY3Rpb24tY29tcG9uZW50LWNvbnRhaW5lcicsIFtdLCAoaXRlbXMpID0+IHtcbiAgICByZXR1cm4gKGl0ZW1zKS5tYXAoKGVsKSA9PiB7XG4gICAgICBjb25zdCBjb2x1bW5zOiBOb2RlTGlzdE9mPEhUTUxTcGFuRWxlbWVudD4gPSBlbC5xdWVyeVNlbGVjdG9yQWxsKCcudHJhbnNhY3Rpb24taXRlbSA+IHNwYW4nKTtcbiAgICAgIGlmIChjb2x1bW5zLmxlbmd0aCA9PT0gNykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRhdGU6IGNvbHVtbnNbMF0uaW5uZXJUZXh0LFxuICAgICAgICAgIGlkZW50aWZpZXI6IGNvbHVtbnNbMV0uaW5uZXJUZXh0LFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBjb2x1bW5zWzNdLmlubmVyVGV4dCxcbiAgICAgICAgICB0eXBlOiBjb2x1bW5zWzVdLmlubmVyVGV4dCxcbiAgICAgICAgICBjaGFyZ2VkQW1vdW50OiBjb2x1bW5zWzZdLmlubmVyVGV4dCxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuICB9KTtcbiAgZGVidWcoYGZldGNoZWQgJHtyYXdUcmFuc2FjdGlvbnMubGVuZ3RofSByYXcgdHJhbnNhY3Rpb25zIGZyb20gcGFnZWApO1xuXG4gIGNvbnN0IGFjY291bnRUcmFuc2FjdGlvbnMgPSBjb252ZXJ0VHJhbnNhY3Rpb25zKHJhd1RyYW5zYWN0aW9ucy5maWx0ZXIoKGl0ZW0pID0+ICEhaXRlbSkgYXMgU2NyYXBlZFRyYW5zYWN0aW9uW10pO1xuXG4gIGRlYnVnKCdmaWxlciBvdXQgb2xkIHRyYW5zYWN0aW9ucycpO1xuICBjb25zdCB0eG5zID0gZmlsdGVyT2xkVHJhbnNhY3Rpb25zKGFjY291bnRUcmFuc2FjdGlvbnMsIHN0YXJ0TW9tZW50LCBmYWxzZSk7XG4gIGRlYnVnKGBmb3VuZCAke3R4bnMubGVuZ3RofSB2YWxpZCB0cmFuc2FjdGlvbnMgb3V0IG9mICR7YWNjb3VudFRyYW5zYWN0aW9ucy5sZW5ndGh9IHRyYW5zYWN0aW9ucyBmb3IgYWNjb3VudCBlbmRpbmcgd2l0aCAke2FjY291bnROdW1iZXIuc3Vic3RyaW5nKGFjY291bnROdW1iZXIubGVuZ3RoIC0gMil9YCk7XG5cbiAgcmV0dXJuIHtcbiAgICBhY2NvdW50TnVtYmVyLFxuICAgIGJhbGFuY2U6IGdldEFtb3VudERhdGEoYmFsYW5jZSkuYW1vdW50LFxuICAgIHR4bnMsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCk6IFBvc3NpYmxlTG9naW5SZXN1bHRzIHtcbiAgY29uc3QgdXJsczogUG9zc2libGVMb2dpblJlc3VsdHMgPSB7fTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuU3VjY2Vzc10gPSBbU1VDQ0VTU19VUkxdO1xuICB1cmxzW0xvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZF0gPSBbXTsgLy8gVE9ET1xuICB1cmxzW0xvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRdID0gW107IC8vIFRPRE9cbiAgdXJsc1tMb2dpblJlc3VsdHMuVW5rbm93bkVycm9yXSA9IFtdOyAvLyBUT0RPXG4gIHJldHVybiB1cmxzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogJyNsb2dpbklkJywgdmFsdWU6IGNyZWRlbnRpYWxzLmlkIH0sXG4gICAgeyBzZWxlY3RvcjogJyNsb2dpblBhc3N3b3JkJywgdmFsdWU6IGNyZWRlbnRpYWxzLnBhc3N3b3JkIH0sXG4gIF07XG59XG5cbmNsYXNzIEJleWFoYWRCaXNodmlsaGFTY3JhcGVyIGV4dGVuZHMgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciB7XG4gIHByb3RlY3RlZCBnZXRWaWV3UG9ydCgpOiB7IHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyIH0ge1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogMTUwMCxcbiAgICAgIGhlaWdodDogODAwLFxuICAgIH07XG4gIH1cblxuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogTE9HSU5fVVJMLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBbYnV0dG9uXSA9IGF3YWl0IHRoaXMucGFnZS4keChcIi8vYnV0dG9uW2NvbnRhaW5zKC4sICfXlNeq15fXkdeoJyldXCIpO1xuICAgICAgICBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICBjb25zdCBhY2NvdW50ID0gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbnModGhpcy5wYWdlLCB0aGlzLm9wdGlvbnMpO1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgYWNjb3VudHM6IFthY2NvdW50XSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEJleWFoYWRCaXNodmlsaGFTY3JhcGVyO1xuIl19
|
package/lib/scrapers/discount.js
CHANGED
|
@@ -146,4 +146,4 @@ class DiscountScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
146
146
|
|
|
147
147
|
var _default = DiscountScraper;
|
|
148
148
|
exports.default = _default;
|
|
149
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9kaXNjb3VudC50cyJdLCJuYW1lcyI6WyJCQVNFX1VSTCIsIkRBVEVfRk9STUFUIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJ0eG5TdGF0dXMiLCJtYXAiLCJ0eG4iLCJ0eXBlIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsImlkZW50aWZpZXIiLCJPcGVyYXRpb25OdW1iZXIiLCJkYXRlIiwiT3BlcmF0aW9uRGF0ZSIsInRvSVNPU3RyaW5nIiwicHJvY2Vzc2VkRGF0ZSIsIlZhbHVlRGF0ZSIsIm9yaWdpbmFsQW1vdW50IiwiT3BlcmF0aW9uQW1vdW50Iiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRBbW91bnQiLCJkZXNjcmlwdGlvbiIsIk9wZXJhdGlvbkRlc2NyaXB0aW9uVG9EaXNwbGF5Iiwic3RhdHVzIiwiZmV0Y2hBY2NvdW50RGF0YSIsInBhZ2UiLCJvcHRpb25zIiwiYXBpU2l0ZVVybCIsImFjY291bnREYXRhVXJsIiwiYWNjb3VudEluZm8iLCJzdWNjZXNzIiwiZXJyb3JUeXBlIiwiU2NyYXBlckVycm9yVHlwZXMiLCJHZW5lcmljIiwiZXJyb3JNZXNzYWdlIiwiYWNjb3VudE51bWJlciIsIlVzZXJBY2NvdW50c0RhdGEiLCJEZWZhdWx0QWNjb3VudE51bWJlciIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0IiwiYWRkIiwic3RhcnREYXRlIiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJzdGFydERhdGVTdHIiLCJmb3JtYXQiLCJ0eG5zVXJsIiwidHhuc1Jlc3VsdCIsIkVycm9yIiwiQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zIiwiTXNnVGV4dCIsImNvbXBsZXRlZFR4bnMiLCJPcGVyYXRpb25FbnRyeSIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJDb21wbGV0ZWQiLCJyYXdGdXR1cmVUeG5zIiwiXyIsImdldCIsInBlbmRpbmdUeG5zIiwiUGVuZGluZyIsImFjY291bnREYXRhIiwiYWNjb3VudHMiLCJiYWxhbmNlIiwiQ3VycmVudEFjY291bnRJbmZvIiwiQWNjb3VudEJhbGFuY2UiLCJuYXZpZ2F0ZU9yRXJyb3JMYWJlbCIsImUiLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwiQ2hhbmdlUGFzc3dvcmQiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsImlkIiwicGFzc3dvcmQiLCJudW0iLCJEaXNjb3VudFNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJjaGVja1JlYWRpbmVzcyIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwicG9zdEFjdGlvbiIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7OztBQUtBLE1BQU1BLFFBQVEsR0FBRyw4QkFBakI7QUFDQSxNQUFNQyxXQUFXLEdBQUcsVUFBcEI7O0FBNEJBLFNBQVNDLG1CQUFULENBQTZCQyxJQUE3QixFQUF5REMsU0FBekQsRUFBd0c7QUFDdEcsTUFBSSxDQUFDRCxJQUFMLEVBQVc7QUFDVCxXQUFPLEVBQVA7QUFDRDs7QUFDRCxTQUFPQSxJQUFJLENBQUNFLEdBQUwsQ0FBVUMsR0FBRCxJQUFTO0FBQ3ZCLFdBQU87QUFDTEMsTUFBQUEsSUFBSSxFQUFFQywrQkFBaUJDLE1BRGxCO0FBRUxDLE1BQUFBLFVBQVUsRUFBRUosR0FBRyxDQUFDSyxlQUZYO0FBR0xDLE1BQUFBLElBQUksRUFBRSxxQkFBT04sR0FBRyxDQUFDTyxhQUFYLEVBQTBCWixXQUExQixFQUF1Q2EsV0FBdkMsRUFIRDtBQUlMQyxNQUFBQSxhQUFhLEVBQUUscUJB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TFMsTUFBQUEsUUFBUSxFQUFHLEdBQUVyRixRQUFTLDBEQURqQjtBQUVMc0YsTUFBQUEsY0FBYyxFQUFFLFlBQVksaURBQXNCLEtBQUs3RCxJQUEzQixFQUFpQyxPQUFqQyxDQUZ2QjtBQUdMOEQsTUFBQUEsTUFBTSxFQUFFWixpQkFBaUIsQ0FBQ0MsV0FBRCxDQUhwQjtBQUlMWSxNQUFBQSxvQkFBb0IsRUFBRSxVQUpqQjtBQUtMQyxNQUFBQSxVQUFVLEVBQUUsWUFBWXRCLG9CQUFvQixDQUFDLEtBQUsxQyxJQUFOLENBTHZDO0FBTUxpRSxNQUFBQSxlQUFlLEVBQUVyQix1QkFBdUI7QUFObkMsS0FBUDtBQVFEOztBQUVELFFBQU1zQixTQUFOLEdBQWtCO0FBQ2hCLFdBQU9uRSxnQkFBZ0IsQ0FBQyxLQUFLQyxJQUFOLEVBQVksS0FBS0MsT0FBakIsQ0FBdkI7QUFDRDs7QUFka0Q7O2VBaUJ0Q3dELGUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyLCBMb2dpblJlc3VsdHMsIFBvc3NpYmxlTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCB9IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IGZldGNoR2V0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQge1xuICBTY2FwZXJPcHRpb25zLFxuICBTY3JhcGVyRXJyb3JUeXBlcywgU2NhcGVyU2NyYXBpbmdSZXN1bHQsIFNjcmFwZXJDcmVkZW50aWFscyxcbn0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuXG5jb25zdCBCQVNFX1VSTCA9ICdodHRwczovL3N0YXJ0LnRlbGViYW5rLmNvLmlsJztcbmNvbnN0IERBVEVfRk9STUFUID0gJ1lZWVlNTUREJztcblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbiB7XG4gIE9wZXJhdGlvbk51bWJlcjogbnVtYmVyO1xuICBPcGVyYXRpb25EYXRlOiBzdHJpbmc7XG4gIFZhbHVlRGF0ZTogc3RyaW5nO1xuICBPcGVyYXRpb25BbW91bnQ6IG51bWJlcjtcbiAgT3BlcmF0aW9uRGVzY3JpcHRpb25Ub0Rpc3BsYXk6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEN1cnJlbnRBY2NvdW50SW5mbyB7XG4gIEFjY291bnRCYWxhbmNlOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBTY3JhcGVkQWNjb3VudERhdGEge1xuICBVc2VyQWNjb3VudHNEYXRhOiB7XG4gICAgRGVmYXVsdEFjY291bnROdW1iZXI6IHN0cmluZztcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbkRhdGEge1xuICBFcnJvcj86IHsgTXNnVGV4dDogc3RyaW5nIH07XG4gIEN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucz86IHtcbiAgICBPcGVyYXRpb25FbnRyeTogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gICAgQ3VycmVudEFjY291bnRJbmZvOiBDdXJyZW50QWNjb3VudEluZm87XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2FjdGlvbnModHhuczogU2NyYXBlZFRyYW5zYWN0aW9uW10sIHR4blN0YXR1czogVHJhbnNhY3Rpb25TdGF0dXNlcyk6IFRyYW5zYWN0aW9uW10ge1xuICBpZiAoIXR4bnMpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIHR4bnMubWFwKCh0eG4pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBpZGVudGlmaWVyOiB0eG4uT3BlcmF0aW9uTnVtYmVyLFxuICAgICAgZGF0ZTogbW9tZW50KHR4bi5PcGVyYXRpb25EYXRlLCBEQVRFX0ZPUk1BVCkudG9JU09TdHJpbmcoKSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IG1vbWVudCh0eG4uVmFsdWVEYXRlLCBEQVRFX0ZPUk1BVCkudG9JU09TdHJpbmcoKSxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiB0eG4uT3BlcmF0aW9uQW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogJ0lMUycsXG4gICAgICBjaGFyZ2VkQW1vdW50OiB0eG4uT3BlcmF0aW9uQW1vdW50LFxuICAgICAgZGVzY3JpcHRpb246IHR4bi5PcGVyYXRpb25EZXNjcmlwdGlvblRvRGlzcGxheSxcbiAgICAgIHN0YXR1czogdHhuU3RhdHVzLFxuICAgIH07XG4gIH0pO1xufVxuXG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoQWNjb3VudERhdGEocGFnZTogUGFnZSwgb3B0aW9uczogU2NhcGVyT3B0aW9ucyk6IFByb21pc2U8U2NhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgY29uc3QgYXBpU2l0ZVVybCA9IGAke0JBU0VfVVJMfS9UaXRhbi9nYXRld2F5QVBJYDtcblxuICBjb25zdCBhY2NvdW50RGF0YVVybCA9IGAke2FwaVNpdGVVcmx9L3VzZXJBY2NvdW50c0RhdGFgO1xuICBjb25zdCBhY2NvdW50SW5mbyA9IGF3YWl0IGZldGNoR2V0V2l0aGluUGFnZTxTY3JhcGVkQWNjb3VudERhdGE+KHBhZ2UsIGFjY291bnREYXRhVXJsKTtcblxuICBpZiAoIWFjY291bnRJbmZvKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljLFxuICAgICAgZXJyb3JNZXNzYWdlOiAnZmFpbGVkIHRvIGdldCBhY2NvdW50IGRhdGEnLFxuICAgIH07XG4gIH1cbiAgY29uc3QgYWNjb3VudE51bWJlciA9IGFjY291bnRJbmZvLlVzZXJBY2NvdW50c0RhdGEuRGVmYXVsdEFjY291bnROdW1iZXI7XG5cbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJykuYWRkKDEsICdkYXknKTtcbiAgY29uc3Qgc3RhcnREYXRlID0gb3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgY29uc3Qgc3RhcnREYXRlU3RyID0gc3RhcnRNb21lbnQuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgY29uc3QgdHhuc1VybCA9IGAke2FwaVNpdGVVcmx9L2xhc3RUcmFuc2FjdGlvbnMvJHthY2NvdW50TnVtYmVyfS9EYXRlP0lzQ2F0ZWdvcnlEZXNjQ29kZT1UcnVlJklzVHJhbnNhY3Rpb25EZXRhaWxzPVRydWUmSXNFdmVudE5hbWVzPVRydWUmSXNGdXR1cmVUcmFuc2FjdGlvbkZsYWc9VHJ1ZSZGcm9tRGF0ZT0ke3N0YXJ0RGF0ZVN0cn1gO1xuICBjb25zdCB0eG5zUmVzdWx0ID0gYXdhaXQgZmV0Y2hHZXRXaXRoaW5QYWdlPFNjcmFwZWRUcmFuc2FjdGlvbkRhdGE+KHBhZ2UsIHR4bnNVcmwpO1xuICBpZiAoIXR4bnNSZXN1bHQgfHwgdHhuc1Jlc3VsdC5FcnJvciB8fFxuICAgICF0eG5zUmVzdWx0LkN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucykge1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgIGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMuR2VuZXJpYyxcbiAgICAgIGVycm9yTWVzc2FnZTogdHhuc1Jlc3VsdCAmJiB0eG5zUmVzdWx0LkVycm9yID8gdHhuc1Jlc3VsdC5FcnJvci5Nc2dUZXh0IDogJ3Vua25vd24gZXJyb3InLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBjb21wbGV0ZWRUeG5zID0gY29udmVydFRyYW5zYWN0aW9ucyhcbiAgICB0eG5zUmVzdWx0LkN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucy5PcGVyYXRpb25FbnRyeSxcbiAgICBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgKTtcbiAgY29uc3QgcmF3RnV0dXJlVHhucyA9IF8uZ2V0KHR4bnNSZXN1bHQsICdDdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnMuRnV0dXJlVHJhbnNhY3Rpb25zQmxvY2suRnV0dXJlVHJhbnNhY3Rpb25FbnRyeScpO1xuICBjb25zdCBwZW5kaW5nVHhucyA9IGNvbnZlcnRUcmFuc2FjdGlvbnMocmF3RnV0dXJlVHhucywgVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nKTtcblxuICBjb25zdCBhY2NvdW50RGF0YSA9IHtcbiAgICBzdWNjZXNzOiB0cnVlLFxuICAgIGFjY291bnRzOiBbe1xuICAgICAgYWNjb3VudE51bWJlcixcbiAgICAgIGJhbGFuY2U6IHR4bnNSZXN1bHQuQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zLkN1cnJlbnRBY2NvdW50SW5mby5BY2NvdW50QmFsYW5jZSxcbiAgICAgIHR4bnM6IFsuLi5jb21wbGV0ZWRUeG5zLCAuLi5wZW5kaW5nVHhuc10sXG4gICAgfV0sXG4gIH07XG5cbiAgcmV0dXJuIGFjY291bnREYXRhO1xufVxuXG5hc3luYyBmdW5jdGlvbiBuYXZpZ2F0ZU9yRXJyb3JMYWJlbChwYWdlOiBQYWdlKSB7XG4gIHRyeSB7XG4gICAgYXdhaXQgd2FpdEZvck5hdmlnYXRpb24ocGFnZSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJyNnZW5lcmFsLWVycm9yJywgZmFsc2UsIDEwMCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoKTogUG9zc2libGVMb2dpblJlc3VsdHMge1xuICBjb25zdCB1cmxzOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyA9IHt9O1xuICB1cmxzW0xvZ2luUmVzdWx0cy5TdWNjZXNzXSA9IFtgJHtCQVNFX1VSTH0vYXBvbGxvL3JldGFpbC8jL01ZX0FDQ09VTlRfSE9NRVBBR0VgXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXSA9IFtgJHtCQVNFX1VSTH0vYXBvbGxvL2NvcmUvdGVtcGxhdGVzL2xvYmJ5L21hc3RlclBhZ2UuaHRtbCMvTE9HSU5fUEFHRWBdO1xuICB1cmxzW0xvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZF0gPSBbYCR7QkFTRV9VUkx9L2Fwb2xsby9jb3JlL3RlbXBsYXRlcy9sb2JieS9tYXN0ZXJQYWdlLmh0bWwjL1BXRF9SRU5FV2BdO1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICByZXR1cm4gW1xuICAgIHsgc2VsZWN0b3I6ICcjdHpJZCcsIHZhbHVlOiBjcmVkZW50aWFscy5pZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjdHpQYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjYWlkbnVtJywgdmFsdWU6IGNyZWRlbnRpYWxzLm51bSB9LFxuICBdO1xufVxuXG5jbGFzcyBEaXNjb3VudFNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIHtcbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IGAke0JBU0VfVVJMfS9hcG9sbG8vY29yZS90ZW1wbGF0ZXMvbG9iYnkvbWFzdGVyUGFnZS5odG1sIy9MT0dJTl9QQUdFYCxcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnI3R6SWQnKSxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6ICcuc2VuZEJ0bicsXG4gICAgICBwb3N0QWN0aW9uOiBhc3luYyAoKSA9PiBuYXZpZ2F0ZU9yRXJyb3JMYWJlbCh0aGlzLnBhZ2UpLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKSB7XG4gICAgcmV0dXJuIGZldGNoQWNjb3VudERhdGEodGhpcy5wYWdlLCB0aGlzLm9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IERpc2NvdW50U2NyYXBlcjtcbiJdfQ==
|
|
149
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9kaXNjb3VudC50cyJdLCJuYW1lcyI6WyJCQVNFX1VSTCIsIkRBVEVfRk9STUFUIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJ0eG5TdGF0dXMiLCJtYXAiLCJ0eG4iLCJ0eXBlIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsImlkZW50aWZpZXIiLCJPcGVyYXRpb25OdW1iZXIiLCJkYXRlIiwiT3BlcmF0aW9uRGF0ZSIsInRvSVNPU3RyaW5nIiwicHJvY2Vzc2VkRGF0ZSIsIlZhbHVlRGF0ZSIsIm9yaWdpbmFsQW1vdW50IiwiT3BlcmF0aW9uQW1vdW50Iiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRBbW91bnQiLCJkZXNjcmlwdGlvbiIsIk9wZXJhdGlvbkRlc2NyaXB0aW9uVG9EaXNwbGF5Iiwic3RhdHVzIiwiZmV0Y2hBY2NvdW50RGF0YSIsInBhZ2UiLCJvcHRpb25zIiwiYXBpU2l0ZVVybCIsImFjY291bnREYXRhVXJsIiwiYWNjb3VudEluZm8iLCJzdWNjZXNzIiwiZXJyb3JUeXBlIiwiU2NyYXBlckVycm9yVHlwZXMiLCJHZW5lcmljIiwiZXJyb3JNZXNzYWdlIiwiYWNjb3VudE51bWJlciIsIlVzZXJBY2NvdW50c0RhdGEiLCJEZWZhdWx0QWNjb3VudE51bWJlciIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0IiwiYWRkIiwic3RhcnREYXRlIiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJzdGFydERhdGVTdHIiLCJmb3JtYXQiLCJ0eG5zVXJsIiwidHhuc1Jlc3VsdCIsIkVycm9yIiwiQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zIiwiTXNnVGV4dCIsImNvbXBsZXRlZFR4bnMiLCJPcGVyYXRpb25FbnRyeSIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJDb21wbGV0ZWQiLCJyYXdGdXR1cmVUeG5zIiwiXyIsImdldCIsInBlbmRpbmdUeG5zIiwiUGVuZGluZyIsImFjY291bnREYXRhIiwiYWNjb3VudHMiLCJiYWxhbmNlIiwiQ3VycmVudEFjY291bnRJbmZvIiwiQWNjb3VudEJhbGFuY2UiLCJuYXZpZ2F0ZU9yRXJyb3JMYWJlbCIsImUiLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwiQ2hhbmdlUGFzc3dvcmQiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsImlkIiwicGFzc3dvcmQiLCJudW0iLCJEaXNjb3VudFNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJjaGVja1JlYWRpbmVzcyIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwicG9zdEFjdGlvbiIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7OztBQUtBLE1BQU1BLFFBQVEsR0FBRyw4QkFBakI7QUFDQSxNQUFNQyxXQUFXLEdBQUcsVUFBcEI7O0FBNEJBLFNBQVNDLG1CQUFULENBQTZCQyxJQUE3QixFQUF5REMsU0FBekQsRUFBd0c7QUFDdEcsTUFBSSxDQUFDRCxJQUFMLEVBQVc7QUFDVCxXQUFPLEVBQVA7QUFDRDs7QUFDRCxTQUFPQSxJQUFJLENBQUNFLEdBQUwsQ0FBVUMsR0FBRCxJQUFTO0FBQ3ZCLFdBQU87QUFDTEMsTUFBQUEsSUFBSSxFQUFFQywrQkFBaUJDLE1BRGxCO0FBRUxDLE1BQUFBLFVBQVUsRUFBRUosR0FBRyxDQUFDSyxlQUZYO0FBR0xDLE1BQUFBLElBQUksRUFBRSxxQkFBT04sR0FBRyxDQUFDTyxhQUFYLEVBQTBCWixXQUExQixFQUF1Q2EsV0FBdkMsRUFIRDtBQUlMQyxNQUFBQSxhQUFhLEVBQUUscUJB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TFMsTUFBQUEsUUFBUSxFQUFHLEdBQUVyRixRQUFTLDBEQURqQjtBQUVMc0YsTUFBQUEsY0FBYyxFQUFFLFlBQVksaURBQXNCLEtBQUs3RCxJQUEzQixFQUFpQyxPQUFqQyxDQUZ2QjtBQUdMOEQsTUFBQUEsTUFBTSxFQUFFWixpQkFBaUIsQ0FBQ0MsV0FBRCxDQUhwQjtBQUlMWSxNQUFBQSxvQkFBb0IsRUFBRSxVQUpqQjtBQUtMQyxNQUFBQSxVQUFVLEVBQUUsWUFBWXRCLG9CQUFvQixDQUFDLEtBQUsxQyxJQUFOLENBTHZDO0FBTUxpRSxNQUFBQSxlQUFlLEVBQUVyQix1QkFBdUI7QUFObkMsS0FBUDtBQVFEOztBQUVELFFBQU1zQixTQUFOLEdBQWtCO0FBQ2hCLFdBQU9uRSxnQkFBZ0IsQ0FBQyxLQUFLQyxJQUFOLEVBQVksS0FBS0MsT0FBakIsQ0FBdkI7QUFDRDs7QUFka0Q7O2VBaUJ0Q3dELGUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyLCBMb2dpblJlc3VsdHMsIFBvc3NpYmxlTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCB9IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IGZldGNoR2V0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQge1xuICBTY3JhcGVyT3B0aW9ucyxcbiAgU2NyYXBlckVycm9yVHlwZXMsIFNjYXBlclNjcmFwaW5nUmVzdWx0LCBTY3JhcGVyQ3JlZGVudGlhbHMsXG59IGZyb20gJy4vYmFzZS1zY3JhcGVyJztcblxuY29uc3QgQkFTRV9VUkwgPSAnaHR0cHM6Ly9zdGFydC50ZWxlYmFuay5jby5pbCc7XG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdZWVlZTU1ERCc7XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb24ge1xuICBPcGVyYXRpb25OdW1iZXI6IG51bWJlcjtcbiAgT3BlcmF0aW9uRGF0ZTogc3RyaW5nO1xuICBWYWx1ZURhdGU6IHN0cmluZztcbiAgT3BlcmF0aW9uQW1vdW50OiBudW1iZXI7XG4gIE9wZXJhdGlvbkRlc2NyaXB0aW9uVG9EaXNwbGF5OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBDdXJyZW50QWNjb3VudEluZm8ge1xuICBBY2NvdW50QmFsYW5jZTogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgU2NyYXBlZEFjY291bnREYXRhIHtcbiAgVXNlckFjY291bnRzRGF0YToge1xuICAgIERlZmF1bHRBY2NvdW50TnVtYmVyOiBzdHJpbmc7XG4gIH07XG59XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb25EYXRhIHtcbiAgRXJyb3I/OiB7IE1zZ1RleHQ6IHN0cmluZyB9O1xuICBDdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnM/OiB7XG4gICAgT3BlcmF0aW9uRW50cnk6IFNjcmFwZWRUcmFuc2FjdGlvbltdO1xuICAgIEN1cnJlbnRBY2NvdW50SW5mbzogQ3VycmVudEFjY291bnRJbmZvO1xuICB9O1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdLCB0eG5TdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMpOiBUcmFuc2FjdGlvbltdIHtcbiAgaWYgKCF0eG5zKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiB0eG5zLm1hcCgodHhuKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgaWRlbnRpZmllcjogdHhuLk9wZXJhdGlvbk51bWJlcixcbiAgICAgIGRhdGU6IG1vbWVudCh0eG4uT3BlcmF0aW9uRGF0ZSwgREFURV9GT1JNQVQpLnRvSVNPU3RyaW5nKCksXG4gICAgICBwcm9jZXNzZWREYXRlOiBtb21lbnQodHhuLlZhbHVlRGF0ZSwgREFURV9GT1JNQVQpLnRvSVNPU3RyaW5nKCksXG4gICAgICBvcmlnaW5hbEFtb3VudDogdHhuLk9wZXJhdGlvbkFtb3VudCxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6ICdJTFMnLFxuICAgICAgY2hhcmdlZEFtb3VudDogdHhuLk9wZXJhdGlvbkFtb3VudCxcbiAgICAgIGRlc2NyaXB0aW9uOiB0eG4uT3BlcmF0aW9uRGVzY3JpcHRpb25Ub0Rpc3BsYXksXG4gICAgICBzdGF0dXM6IHR4blN0YXR1cyxcbiAgICB9O1xuICB9KTtcbn1cblxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaEFjY291bnREYXRhKHBhZ2U6IFBhZ2UsIG9wdGlvbnM6IFNjcmFwZXJPcHRpb25zKTogUHJvbWlzZTxTY2FwZXJTY3JhcGluZ1Jlc3VsdD4ge1xuICBjb25zdCBhcGlTaXRlVXJsID0gYCR7QkFTRV9VUkx9L1RpdGFuL2dhdGV3YXlBUElgO1xuXG4gIGNvbnN0IGFjY291bnREYXRhVXJsID0gYCR7YXBpU2l0ZVVybH0vdXNlckFjY291bnRzRGF0YWA7XG4gIGNvbnN0IGFjY291bnRJbmZvID0gYXdhaXQgZmV0Y2hHZXRXaXRoaW5QYWdlPFNjcmFwZWRBY2NvdW50RGF0YT4ocGFnZSwgYWNjb3VudERhdGFVcmwpO1xuXG4gIGlmICghYWNjb3VudEluZm8pIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyaWMsXG4gICAgICBlcnJvck1lc3NhZ2U6ICdmYWlsZWQgdG8gZ2V0IGFjY291bnQgZGF0YScsXG4gICAgfTtcbiAgfVxuICBjb25zdCBhY2NvdW50TnVtYmVyID0gYWNjb3VudEluZm8uVXNlckFjY291bnRzRGF0YS5EZWZhdWx0QWNjb3VudE51bWJlcjtcblxuICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAneWVhcnMnKS5hZGQoMSwgJ2RheScpO1xuICBjb25zdCBzdGFydERhdGUgPSBvcHRpb25zLnN0YXJ0RGF0ZSB8fCBkZWZhdWx0U3RhcnRNb21lbnQudG9EYXRlKCk7XG4gIGNvbnN0IHN0YXJ0TW9tZW50ID0gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcblxuICBjb25zdCBzdGFydERhdGVTdHIgPSBzdGFydE1vbWVudC5mb3JtYXQoREFURV9GT1JNQVQpO1xuICBjb25zdCB0eG5zVXJsID0gYCR7YXBpU2l0ZVVybH0vbGFzdFRyYW5zYWN0aW9ucy8ke2FjY291bnROdW1iZXJ9L0RhdGU/SXNDYXRlZ29yeURlc2NDb2RlPVRydWUmSXNUcmFuc2FjdGlvbkRldGFpbHM9VHJ1ZSZJc0V2ZW50TmFtZXM9VHJ1ZSZJc0Z1dHVyZVRyYW5zYWN0aW9uRmxhZz1UcnVlJkZyb21EYXRlPSR7c3RhcnREYXRlU3RyfWA7XG4gIGNvbnN0IHR4bnNSZXN1bHQgPSBhd2FpdCBmZXRjaEdldFdpdGhpblBhZ2U8U2NyYXBlZFRyYW5zYWN0aW9uRGF0YT4ocGFnZSwgdHhuc1VybCk7XG4gIGlmICghdHhuc1Jlc3VsdCB8fCB0eG5zUmVzdWx0LkVycm9yIHx8XG4gICAgIXR4bnNSZXN1bHQuQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljLFxuICAgICAgZXJyb3JNZXNzYWdlOiB0eG5zUmVzdWx0ICYmIHR4bnNSZXN1bHQuRXJyb3IgPyB0eG5zUmVzdWx0LkVycm9yLk1zZ1RleHQgOiAndW5rbm93biBlcnJvcicsXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGNvbXBsZXRlZFR4bnMgPSBjb252ZXJ0VHJhbnNhY3Rpb25zKFxuICAgIHR4bnNSZXN1bHQuQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zLk9wZXJhdGlvbkVudHJ5LFxuICAgIFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICApO1xuICBjb25zdCByYXdGdXR1cmVUeG5zID0gXy5nZXQodHhuc1Jlc3VsdCwgJ0N1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucy5GdXR1cmVUcmFuc2FjdGlvbnNCbG9jay5GdXR1cmVUcmFuc2FjdGlvbkVudHJ5Jyk7XG4gIGNvbnN0IHBlbmRpbmdUeG5zID0gY29udmVydFRyYW5zYWN0aW9ucyhyYXdGdXR1cmVUeG5zLCBUcmFuc2FjdGlvblN0YXR1c2VzLlBlbmRpbmcpO1xuXG4gIGNvbnN0IGFjY291bnREYXRhID0ge1xuICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgYWNjb3VudHM6IFt7XG4gICAgICBhY2NvdW50TnVtYmVyLFxuICAgICAgYmFsYW5jZTogdHhuc1Jlc3VsdC5DdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnMuQ3VycmVudEFjY291bnRJbmZvLkFjY291bnRCYWxhbmNlLFxuICAgICAgdHhuczogWy4uLmNvbXBsZXRlZFR4bnMsIC4uLnBlbmRpbmdUeG5zXSxcbiAgICB9XSxcbiAgfTtcblxuICByZXR1cm4gYWNjb3VudERhdGE7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG5hdmlnYXRlT3JFcnJvckxhYmVsKHBhZ2U6IFBhZ2UpIHtcbiAgdHJ5IHtcbiAgICBhd2FpdCB3YWl0Rm9yTmF2aWdhdGlvbihwYWdlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnI2dlbmVyYWwtZXJyb3InLCBmYWxzZSwgMTAwKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyB7XG4gIGNvbnN0IHVybHM6IFBvc3NpYmxlTG9naW5SZXN1bHRzID0ge307XG4gIHVybHNbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdID0gW2Ake0JBU0VfVVJMfS9hcG9sbG8vcmV0YWlsLyMvTVlfQUNDT1VOVF9IT01FUEFHRWBdO1xuICB1cmxzW0xvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRdID0gW2Ake0JBU0VfVVJMfS9hcG9sbG8vY29yZS90ZW1wbGF0ZXMvbG9iYnkvbWFzdGVyUGFnZS5odG1sIy9MT0dJTl9QQUdFYF07XG4gIHVybHNbTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkXSA9IFtgJHtCQVNFX1VSTH0vYXBvbGxvL2NvcmUvdGVtcGxhdGVzL2xvYmJ5L21hc3RlclBhZ2UuaHRtbCMvUFdEX1JFTkVXYF07XG4gIHJldHVybiB1cmxzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogJyN0eklkJywgdmFsdWU6IGNyZWRlbnRpYWxzLmlkIH0sXG4gICAgeyBzZWxlY3RvcjogJyN0elBhc3N3b3JkJywgdmFsdWU6IGNyZWRlbnRpYWxzLnBhc3N3b3JkIH0sXG4gICAgeyBzZWxlY3RvcjogJyNhaWRudW0nLCB2YWx1ZTogY3JlZGVudGlhbHMubnVtIH0sXG4gIF07XG59XG5cbmNsYXNzIERpc2NvdW50U2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogYCR7QkFTRV9VUkx9L2Fwb2xsby9jb3JlL3RlbXBsYXRlcy9sb2JieS9tYXN0ZXJQYWdlLmh0bWwjL0xPR0lOX1BBR0VgLFxuICAgICAgY2hlY2tSZWFkaW5lc3M6IGFzeW5jICgpID0+IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICcjdHpJZCcpLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJy5zZW5kQnRuJyxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IG5hdmlnYXRlT3JFcnJvckxhYmVsKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICByZXR1cm4gZmV0Y2hBY2NvdW50RGF0YSh0aGlzLnBhZ2UsIHRoaXMub3B0aW9ucyk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRGlzY291bnRTY3JhcGVyO1xuIl19
|
|
@@ -11,6 +11,6 @@ import UnionBankScraper from './union-bank';
|
|
|
11
11
|
import BeinleumiScraper from './beinleumi';
|
|
12
12
|
import MassadScraper from './massad';
|
|
13
13
|
import YahavScraper from './yahav';
|
|
14
|
-
import {
|
|
14
|
+
import { ScraperOptions } from './base-scraper';
|
|
15
15
|
import BeyahadBishvilhaScraper from './beyahad-bishvilha';
|
|
16
|
-
export default function createScraper(options:
|
|
16
|
+
export default function createScraper(options: ScraperOptions): HapoalimScraper | OtsarHahayalScraper | LeumiScraper | DiscountScraper | MaxScraper | VisaCalScraper | IsracardScraper | AmexScraper | MizrahiScraper | UnionBankScraper | BeinleumiScraper | MassadScraper | YahavScraper | BeyahadBishvilhaScraper;
|
package/lib/scrapers/factory.js
CHANGED
|
@@ -95,4 +95,4 @@ function createScraper(options) {
|
|
|
95
95
|
throw new Error(`unknown company id ${options.companyId}`);
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbImNyZWF0ZVNjcmFwZXIiLCJvcHRpb25zIiwiY29tcGFueUlkIiwiQ29tcGFueVR5cGVzIiwiaGFwb2FsaW0iLCJIYXBvYWxpbVNjcmFwZXIiLCJoYXBvYWxpbUJlT25saW5lIiwiY29uc29sZSIsIndhcm4iLCJsZXVtaSIsIkxldW1pU2NyYXBlciIsImJleWFoYWRCaXNodmlsaGEiLCJCZXlhaGFkQmlzaHZpbGhhU2NyYXBlciIsIm1penJhaGkiLCJNaXpyYWhpU2NyYXBlciIsImRpc2NvdW50IiwiRGlzY291bnRTY3JhcGVyIiwib3RzYXJIYWhheWFsIiwiT3RzYXJIYWhheWFsU2NyYXBlciIsInZpc2FDYWwiLCJWaXNhQ2FsU2NyYXBlciIsImxldW1pQ2FyZCIsIk1heFNjcmFwZXIiLCJtYXgiLCJpc3JhY2FyZCIsIklzcmFjYXJkU2NyYXBlciIsImFtZXgiLCJBbWV4U2NyYXBlciIsInVuaW9uIiwiVW5pb25CYW5rU2NyYXBlciIsImJlaW5sZXVtaSIsIkJlaW5sZXVtaVNjcmFwZXIiLCJtYXNzYWQiLCJNYXNzYWRTY3JhcGVyIiwieWFoYXYiLCJZYWhhdlNjcmFwZXIiLCJFcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7O0FBRWUsU0FBU0EsYUFBVCxDQUF1QkMsT0FBdkIsRUFBZ0Q7QUFDN0QsVUFBUUEsT0FBTyxDQUFDQyxTQUFoQjtBQUNFLFNBQUtDLDBCQUFhQyxRQUFsQjtBQUNFLGFBQU8sSUFBSUMsaUJBQUosQ0FBb0JKLE9BQXBCLENBQVA7O0FBQ0YsU0FBS0UsMEJBQWFHLGdCQUFsQjtBQUNFO0FBQ0FDLE1BQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLHdEQUFiO0FBQ0EsYUFBTyxJQUFJSCxpQkFBSixDQUFvQkosT0FBcEIsQ0FBUDs7QUFDRixTQUFLRSwwQkFBYU0sS0FBbEI7QUFDRSxhQUFPLElBQUlDLGNBQUosQ0FBaUJULE9BQWpCLENBQVA7O0FBQ0YsU0FBS0UsMEJBQWFRLGdCQUFsQjtBQUNFLGFBQU8sSUFBSUMseUJBQUosQ0FBNEJYLE9BQTVCLENBQVA7O0FBQ0YsU0FBS0UsMEJBQWFVLE9BQWxCO0FBQ0UsYUFBTyxJQUFJQyxnQkFBSixDQUFtQmIsT0FBbkIsQ0FBUDs7QUFDRixTQUFLRSwwQkFBYVksUUFBbEI7QUFDRSxhQUFPLElBQUlDLGlCQUFKLENBQW9CZixPQUFwQixDQUFQOztBQUNGLFNBQUtFLDBCQUFhYyxZQUFsQjtBQUNFLGFBQU8sSUFBSUMscUJBQUosQ0FBd0JqQixPQUF4QixDQUFQOztBQUNGLFNBQUtFLDBCQUFhZ0IsT0FBbEI7QUFDRSxhQUFPLElBQUlDLGdCQUFKLENBQW1CbkIsT0FBbkIsQ0FBUDs7QUFDRixTQUFLRSwwQkFBYWtCLFNBQWxCO0FBQ0U7QUFDQWQsTUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQWEsNENBQWI7QUFDQSxhQUFPLElBQUljLFlBQUosQ0FBZXJCLE9BQWYsQ0FBUDs7QUFDRixTQUFLRSwwQkFBYW9CLEdBQWxCO0FBQ0UsYUFBTyxJQUFJRCxZQUFKLENBQWVyQixPQUFmLENBQVA7O0FBQ0YsU0FBS0UsMEJBQWFxQixRQUFsQjtBQUNFLGFBQU8sSUFBSUMsaUJBQUosQ0FBb0J4QixPQUFwQixDQUFQOztBQUNGLFNBQUtFLDBCQUFhdUIsSUFBbEI7QUFDRSxhQUFPLElBQUlDLGFBQUosQ0FBZ0IxQixPQUFoQixDQUFQOztBQUNGLFNBQUtFLDBCQUFheUIsS0FBbEI7QUFDRSxhQUFPLElBQUlDLGtCQUFKLENBQXFCNUIsT0FBckIsQ0FBUDs7QUFDRixTQUFLRSwwQkFBYTJCLFNBQWxCO0FBQ0UsYUFBTyxJQUFJQyxrQkFBSixDQUFxQjlCLE9BQXJCLENBQVA7O0FBQ0YsU0FBS0UsMEJBQWE2QixNQUFsQjtBQUNFLGFBQU8sSUFBSUMsZUFBSixDQUFrQmhDLE9BQWxCLENBQVA7O0FBQ0YsU0FBS0UsMEJBQWErQixLQUFsQjtBQUNFLGFBQU8sSUFBSUMsY0FBSixDQUFpQmxDLE9BQWpCLENBQVA7O0FBQ0Y7QUFDRSxZQUFNLElBQUltQyxLQUFKLENBQVcsc0JBQXFCbkMsT0FBTyxDQUFDQyxTQUFVLEVBQWxELENBQU47QUF0Q0o7QUF3Q0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSGFwb2FsaW1TY3JhcGVyIGZyb20gJy4vaGFwb2FsaW0nO1xuaW1wb3J0IE90c2FySGFoYXlhbFNjcmFwZXIgZnJvbSAnLi9vdHNhci1oYWhheWFsJztcbmltcG9ydCBMZXVtaVNjcmFwZXIgZnJvbSAnLi9sZXVtaSc7XG5pbXBvcnQgRGlzY291bnRTY3JhcGVyIGZyb20gJy4vZGlzY291bnQnO1xuaW1wb3J0IE1heFNjcmFwZXIgZnJvbSAnLi9tYXgnO1xuaW1wb3J0IFZpc2FDYWxTY3JhcGVyIGZyb20gJy4vdmlzYS1jYWwnO1xuaW1wb3J0IElzcmFjYXJkU2NyYXBlciBmcm9tICcuL2lzcmFjYXJkJztcbmltcG9ydCBBbWV4U2NyYXBlciBmcm9tICcuL2FtZXgnO1xuaW1wb3J0IE1penJhaGlTY3JhcGVyIGZyb20gJy4vbWl6cmFoaSc7XG5pbXBvcnQgVW5pb25CYW5rU2NyYXBlciBmcm9tICcuL3VuaW9uLWJhbmsnO1xuaW1wb3J0IEJlaW5sZXVtaVNjcmFwZXIgZnJvbSAnLi9iZWlubGV1bWknO1xuaW1wb3J0IE1hc3NhZFNjcmFwZXIgZnJvbSAnLi9tYXNzYWQnO1xuaW1wb3J0IFlhaGF2U2NyYXBlciBmcm9tICcuL3lhaGF2JztcbmltcG9ydCB7IFNjcmFwZXJPcHRpb25zIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHsgQ29tcGFueVR5cGVzIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IEJleWFoYWRCaXNodmlsaGFTY3JhcGVyIGZyb20gJy4vYmV5YWhhZC1iaXNodmlsaGEnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVTY3JhcGVyKG9wdGlvbnM6IFNjcmFwZXJPcHRpb25zKSB7XG4gIHN3aXRjaCAob3B0aW9ucy5jb21wYW55SWQpIHtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5oYXBvYWxpbTpcbiAgICAgIHJldHVybiBuZXcgSGFwb2FsaW1TY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLmhhcG9hbGltQmVPbmxpbmU6XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS53YXJuKFwiaGFwb2FsaW1CZU9ubGluZSBpcyBkZXByZWNhdGVkLCB1c2UgJ2hhcG9hbGltJyBpbnN0ZWFkXCIpO1xuICAgICAgcmV0dXJuIG5ldyBIYXBvYWxpbVNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMubGV1bWk6XG4gICAgICByZXR1cm4gbmV3IExldW1pU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5iZXlhaGFkQmlzaHZpbGhhOlxuICAgICAgcmV0dXJuIG5ldyBCZXlhaGFkQmlzaHZpbGhhU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5taXpyYWhpOlxuICAgICAgcmV0dXJuIG5ldyBNaXpyYWhpU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5kaXNjb3VudDpcbiAgICAgIHJldHVybiBuZXcgRGlzY291bnRTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLm90c2FySGFoYXlhbDpcbiAgICAgIHJldHVybiBuZXcgT3RzYXJIYWhheWFsU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy52aXNhQ2FsOlxuICAgICAgcmV0dXJuIG5ldyBWaXNhQ2FsU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5sZXVtaUNhcmQ6XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS53YXJuKFwibGV1bWlDYXJkIGlzIGRlcHJlY2F0ZWQsIHVzZSAnbWF4JyBpbnN0ZWFkXCIpO1xuICAgICAgcmV0dXJuIG5ldyBNYXhTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLm1heDpcbiAgICAgIHJldHVybiBuZXcgTWF4U2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5pc3JhY2FyZDpcbiAgICAgIHJldHVybiBuZXcgSXNyYWNhcmRTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLmFtZXg6XG4gICAgICByZXR1cm4gbmV3IEFtZXhTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLnVuaW9uOlxuICAgICAgcmV0dXJuIG5ldyBVbmlvbkJhbmtTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLmJlaW5sZXVtaTpcbiAgICAgIHJldHVybiBuZXcgQmVpbmxldW1pU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5tYXNzYWQ6XG4gICAgICByZXR1cm4gbmV3IE1hc3NhZFNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMueWFoYXY6XG4gICAgICByZXR1cm4gbmV3IFlhaGF2U2NyYXBlcihvcHRpb25zKTtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmtub3duIGNvbXBhbnkgaWQgJHtvcHRpb25zLmNvbXBhbnlJZH1gKTtcbiAgfVxufVxuIl19
|
package/lib/scrapers/hapoalim.js
CHANGED
|
@@ -205,4 +205,4 @@ class HapoalimScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
205
205
|
|
|
206
206
|
var _default = HapoalimScraper;
|
|
207
207
|
exports.default = _default;
|
|
208
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9oYXBvYWxpbS50cyJdLCJuYW1lcyI6WyJkZWJ1ZyIsIkRBVEVfRk9STUFUIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJtYXAiLCJ0eG4iLCJpc091dGJvdW5kIiwiZXZlbnRBY3Rpdml0eVR5cGVDb2RlIiwibWVtbyIsImJlbmVmaWNpYXJ5RGV0YWlsc0RhdGEiLCJwYXJ0eUhlYWRsaW5lIiwicGFydHlOYW1lIiwibWVzc2FnZUhlYWRsaW5lIiwibWVzc2FnZURldGFpbCIsIm1lbW9MaW5lcyIsInB1c2giLCJsZW5ndGgiLCJqb2luIiwicmVzdWx0IiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJpZGVudGlmaWVyIiwicmVmZXJlbmNlTnVtYmVyIiwiZGF0ZSIsImV2ZW50RGF0ZSIsInRvSVNPU3RyaW5nIiwicHJvY2Vzc2VkRGF0ZSIsInZhbHVlRGF0ZSIsIm9yaWdpbmFsQW1vdW50IiwiZXZlbnRBbW91bnQiLCJvcmlnaW5hbEN1cnJlbmN5IiwiY2hhcmdlZEFtb3VudCIsImRlc2NyaXB0aW9uIiwiYWN0aXZpdHlEZXNjcmlwdGlvbiIsInN0YXR1cyIsInNlcmlhbE51bWJlciIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJQZW5kaW5nIiwiQ29tcGxldGVkIiwiZ2V0UmVzdENvbnRleHQiLCJwYWdlIiwiZXZhbHVhdGUiLCJ3aW5kb3ciLCJibmhwQXBwIiwicmVzdENvbnRleHQiLCJzbGljZSIsImZldGNoUG9hbGltWFNSRldpdGhpblBhZ2UiLCJ1cmwiLCJwYWdlVXVpZCIsImNvb2tpZXMiLCJYU1JGQ29va2llIiwiZmluZCIsImNvb2tpZSIsIm5hbWUiLCJoZWFkZXJzIiwidmFsdWUiLCJ1dWlkIiwiZ2V0QWNjb3VudFRyYW5zYWN0aW9ucyIsImFwaVNpdGVVcmwiLCJhY2NvdW50TnVtYmVyIiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsInR4bnNVcmwiLCJ0eG5zUmVzdWx0IiwidHJhbnNhY3Rpb25zIiwiZ2V0QWNjb3VudEJhbGFuY2UiLCJiYWxhbmNlQW5kQ3JlZGl0TGltaXRVcmwiLCJiYWxhbmNlQW5kQ3JlZGl0TGltaXQiLCJjdXJyZW50QmFsYW5jZSIsImZldGNoQWNjb3VudERhdGEiLCJiYXNlVXJsIiwib3B0aW9ucyIsImFjY291bnREYXRhVXJsIiwiYWNjb3VudHNJbmZvIiwiZGVmYXVsdFN0YXJ0TW9tZW50Iiwic3VidHJhY3QiLCJhZGQiLCJ0b0RhdGUiLCJzdGFydE1vbWVudCIsIm1vbWVudCIsIm1heCIsInN0YXJ0RGF0ZVN0ciIsImZvcm1hdCIsImVuZERhdGVTdHIiLCJhY2NvdW50cyIsImFjY291bnQiLCJiYWxhbmNlIiwiYmFua051bWJlciIsImJyYW5jaE51bWJlciIsImlzQWN0aXZlQWNjb3VudCIsImFjY291bnRDbG9zaW5nUmVhc29uQ29kZSIsImFjY291bnREYXRhIiwic3VjY2VzcyIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJDaGFuZ2VQYXNzd29yZCIsImNyZWF0ZUxvZ2luRmllbGRzIiwiY3JlZGVudGlhbHMiLCJzZWxlY3RvciIsInVzZXJDb2RlIiwicGFzc3dvcmQiLCJIYXBvYWxpbVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7Ozs7QUFFQSxNQUFNQSxLQUFLLEdBQUcscUJBQVMsVUFBVCxDQUFkO0FBRUEsTUFBTUMsV0FBVyxHQUFHLFVBQXBCLEMsQ0FFQTs7QUE2Q0EsU0FBU0MsbUJBQVQsQ0FBNkJDLElBQTdCLEVBQXdFO0FB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XG5pbXBvcnQgdXVpZDQgZnJvbSAndXVpZC92NCc7XG5cbmltcG9ydCB7IFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyB3YWl0Rm9yUmVkaXJlY3QgfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgd2FpdFVudGlsIH0gZnJvbSAnLi4vaGVscGVycy93YWl0aW5nJztcbmltcG9ydCB7IGZldGNoR2V0V2l0aGluUGFnZSwgZmV0Y2hQb3N0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb25zQWNjb3VudCwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBTY2FwZXJPcHRpb25zLCBTY3JhcGVyQ3JlZGVudGlhbHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlcic7XG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuXG5jb25zdCBkZWJ1ZyA9IGdldERlYnVnKCdoYXBvYWxpbScpO1xuXG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdZWVlZTU1ERCc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlXG5kZWNsYXJlIG5hbWVzcGFjZSB3aW5kb3cge1xuICBjb25zdCBibmhwQXBwOiBhbnk7XG59XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb24ge1xuICBzZXJpYWxOdW1iZXI/OiBudW1iZXI7XG4gIGFjdGl2aXR5RGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGV2ZW50QW1vdW50OiBudW1iZXI7XG4gIHZhbHVlRGF0ZT86IHN0cmluZztcbiAgZXZlbnREYXRlPzogc3RyaW5nO1xuICByZWZlcmVuY2VOdW1iZXI/OiBudW1iZXI7XG4gIFNjcmFwZWRUcmFuc2FjdGlvbj86IHN0cmluZztcbiAgZXZlbnRBY3Rpdml0eVR5cGVDb2RlOiBudW1iZXI7XG4gIGN1cnJlbnRCYWxhbmNlOiBudW1iZXI7XG4gIGJlbmVmaWNpYXJ5RGV0YWlsc0RhdGE/OiB7XG4gICAgcGFydHlIZWFkbGluZT86IHN0cmluZztcbiAgICBwYXJ0eU5hbWU/OiBzdHJpbmc7XG4gICAgbWVzc2FnZUhlYWRsaW5lPzogc3RyaW5nO1xuICAgIG1lc3NhZ2VEZXRhaWw/OiBzdHJpbmc7XG4gIH07XG59XG5cbnR5cGUgRmV0Y2hlZEFjY291bnREYXRhID0ge1xuICBiYW5rTnVtYmVyOiBzdHJpbmc7XG4gIGFjY291bnROdW1iZXI6IHN0cmluZztcbiAgYnJhbmNoTnVtYmVyOiBzdHJpbmc7XG4gIGFjY291bnRDbG9zaW5nUmVhc29uQ29kZTogbnVtYmVyO1xufVtdO1xuXG50eXBlIEZldGNoZWRBY2NvdW50VHJhbnNhY3Rpb25zRGF0YSA9IHtcbiAgdHJhbnNhY3Rpb25zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXTtcbn07XG5cbnR5cGUgQmFsYW5jZUFuZENyZWRpdExpbWl0ID0ge1xuICBjcmVkaXRMaW1pdEFtb3VudDogbnVtYmVyO1xuICBjcmVkaXRMaW1pdERlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGNyZWRpdExpbWl0VXRpbGl6YXRpb25BbW91bnQ6IG51bWJlcjtcbiAgY3JlZGl0TGltaXRVdGlsaXphdGlvbkV4aXN0YW5jZUNvZGU6IG51bWJlcjtcbiAgY3JlZGl0TGltaXRVdGlsaXphdGlvblBlcmNlbnQ6IG51bWJlcjtcbiAgY3VycmVudEFjY291bnRMaW1pdHNBbW91bnQ6IG51bWJlcjtcbiAgY3VycmVudEJhbGFuY2U6IG51bWJlcjtcbiAgd2l0aGRyYXdhbEJhbGFuY2U6IG51bWJlcjtcbn07XG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2FjdGlvbnModHhuczogU2NyYXBlZFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdIHtcbiAgcmV0dXJuIHR4bnMubWFwKCh0eG4pID0+IHtcbiAgICBjb25zdCBpc091dGJvdW5kID0gdHhuLmV2ZW50QWN0aXZpdHlUeXBlQ29kZSA9PT0gMjtcblxuICAgIGxldCBtZW1vID0gJyc7XG4gICAgaWYgKHR4bi5iZW5lZmljaWFyeURldGFpbHNEYXRhKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHBhcnR5SGVhZGxpbmUsXG4gICAgICAgIHBhcnR5TmFtZSxcbiAgICAgICAgbWVzc2FnZUhlYWRsaW5lLFxuICAgICAgICBtZXNzYWdlRGV0YWlsLFxuICAgICAgfSA9IHR4bi5iZW5lZmljaWFyeURldGFpbHNEYXRhO1xuICAgICAgY29uc3QgbWVtb0xpbmVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgaWYgKHBhcnR5SGVhZGxpbmUpIHtcbiAgICAgICAgbWVtb0xpbmVzLnB1c2gocGFydHlIZWFkbGluZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwYXJ0eU5hbWUpIHtcbiAgICAgICAgbWVtb0xpbmVzLnB1c2goYCR7cGFydHlOYW1lfS5gKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1lc3NhZ2VIZWFkbGluZSkge1xuICAgICAgICBtZW1vTGluZXMucHVzaChtZXNzYWdlSGVhZGxpbmUpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWVzc2FnZURldGFpbCkge1xuICAgICAgICBtZW1vTGluZXMucHVzaChgJHttZXNzYWdlRGV0YWlsfS5gKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1lbW9MaW5lcy5sZW5ndGgpIHtcbiAgICAgICAgbWVtbyA9IG1lbW9MaW5lcy5qb2luKCcgJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0OiBUcmFuc2FjdGlvbiA9IHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgaWRlbnRpZmllcjogdHhuLnJlZmVyZW5jZU51bWJlcixcbiAgICAgIGRhdGU6IG1vbWVudCh0eG4uZXZlbnREYXRlLCBEQVRFX0ZPUk1BVCkudG9JU09TdHJpbmcoKSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IG1vbWVudCh0eG4udmFsdWVEYXRlLCBEQVRFX0ZPUk1BVCkudG9JU09TdHJpbmcoKSxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiBpc091dGJvdW5kID8gLXR4bi5ldmVudEFtb3VudCA6IHR4bi5ldmVudEFtb3VudCxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6ICdJTFMnLFxuICAgICAgY2hhcmdlZEFtb3VudDogaXNPdXRib3VuZCA/IC10eG4uZXZlbnRBbW91bnQgOiB0eG4uZXZlbnRBbW91bnQsXG4gICAgICBkZXNjcmlwdGlvbjogdHhuLmFjdGl2aXR5RGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBzdGF0dXM6IHR4bi5zZXJpYWxOdW1iZXIgPT09IDAgPyBUcmFuc2FjdGlvblN0YXR1c2VzLlBlbmRpbmcgOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICAgIG1lbW8sXG4gICAgfTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRSZXN0Q29udGV4dChwYWdlOiBQYWdlKSB7XG4gIGF3YWl0IHdhaXRVbnRpbChhc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuIHBhZ2UuZXZhbHVhdGUoKCkgPT4gISF3aW5kb3cuYm5ocEFwcCk7XG4gIH0sICd3YWl0aW5nIGZvciBhcHAgZGF0YSBsb2FkJyk7XG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcGFnZS5ldmFsdWF0ZSgoKSA9PiB7XG4gICAgcmV0dXJuIHdpbmRvdy5ibmhwQXBwLnJlc3RDb250ZXh0O1xuICB9KTtcblxuICByZXR1cm4gcmVzdWx0LnNsaWNlKDEpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFBvYWxpbVhTUkZXaXRoaW5QYWdlKHBhZ2U6IFBhZ2UsIHVybDogc3RyaW5nLCBwYWdlVXVpZDogc3RyaW5nKTogUHJvbWlzZTxGZXRjaGVkQWNjb3VudFRyYW5zYWN0aW9uc0RhdGEgfCBudWxsPiB7XG4gIGNvbnN0IGNvb2tpZXMgPSBhd2FpdCBwYWdlLmNvb2tpZXMoKTtcbiAgY29uc3QgWFNSRkNvb2tpZSA9IGNvb2tpZXMuZmluZCgoY29va2llKSA9PiBjb29raWUubmFtZSA9PT0gJ1hTUkYtVE9LRU4nKTtcbiAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICBpZiAoWFNSRkNvb2tpZSAhPSBudWxsKSB7XG4gICAgaGVhZGVyc1snWC1YU1JGLVRPS0VOJ10gPSBYU1JGQ29va2llLnZhbHVlO1xuICB9XG4gIGhlYWRlcnMucGFnZVV1aWQgPSBwYWdlVXVpZDtcbiAgaGVhZGVycy51dWlkID0gdXVpZDQoKTtcbiAgaGVhZGVyc1snQ29udGVudC1UeXBlJ10gPSAnYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04JztcbiAgcmV0dXJuIGZldGNoUG9zdFdpdGhpblBhZ2U8RmV0Y2hlZEFjY291bnRUcmFuc2FjdGlvbnNEYXRhPihwYWdlLCB1cmwsIFtdLCBoZWFkZXJzKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0QWNjb3VudFRyYW5zYWN0aW9ucyhhcGlTaXRlVXJsOiBzdHJpbmcsIHBhZ2U6IFBhZ2UsIGFjY291bnROdW1iZXI6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZykge1xuICBjb25zdCB0eG5zVXJsID0gYCR7YXBpU2l0ZVVybH0vY3VycmVudC1hY2NvdW50L3RyYW5zYWN0aW9ucz9hY2NvdW50SWQ9JHthY2NvdW50TnVtYmVyfSZudW1JdGVtc1BlclBhZ2U9MTUwJnJldHJpZXZhbEVuZERhdGU9JHtlbmREYXRlfSZyZXRyaWV2YWxTdGFydERhdGU9JHtzdGFydERhdGV9JnNvcnRDb2RlPTFgO1xuICBjb25zdCB0eG5zUmVzdWx0ID0gYXdhaXQgZmV0Y2hQb2FsaW1YU1JGV2l0aGluUGFnZShwYWdlLCB0eG5zVXJsLCAnL2N1cnJlbnQtYWNjb3VudC90cmFuc2FjdGlvbnMnKTtcblxuICByZXR1cm4gY29udmVydFRyYW5zYWN0aW9ucyh0eG5zUmVzdWx0Py50cmFuc2FjdGlvbnMgPz8gW10pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRBY2NvdW50QmFsYW5jZShhcGlTaXRlVXJsOiBzdHJpbmcsIHBhZ2U6IFBhZ2UsIGFjY291bnROdW1iZXI6IHN0cmluZykge1xuICBjb25zdCBiYWxhbmNlQW5kQ3JlZGl0TGltaXRVcmwgPSBgJHthcGlTaXRlVXJsfS9jdXJyZW50LWFjY291bnQvY29tcG9zaXRlL2JhbGFuY2VBbmRDcmVkaXRMaW1pdD9hY2NvdW50SWQ9JHthY2NvdW50TnVtYmVyfSZ2aWV3PWRldGFpbHMmbGFuZz1oZWA7XG4gIGNvbnN0IGJhbGFuY2VBbmRDcmVkaXRMaW1pdCA9IGF3YWl0IGZldGNoR2V0V2l0aGluUGFnZTxCYWxhbmNlQW5kQ3JlZGl0TGltaXQ+KHBhZ2UsIGJhbGFuY2VBbmRDcmVkaXRMaW1pdFVybCk7XG5cbiAgcmV0dXJuIGJhbGFuY2VBbmRDcmVkaXRMaW1pdD8uY3VycmVudEJhbGFuY2U7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoQWNjb3VudERhdGEocGFnZTogUGFnZSwgYmFzZVVybDogc3RyaW5nLCBvcHRpb25zOiBTY2FwZXJPcHRpb25zKSB7XG4gIGNvbnN0IHJlc3RDb250ZXh0ID0gYXdhaXQgZ2V0UmVzdENvbnRleHQocGFnZSk7XG4gIGNvbnN0IGFwaVNpdGVVcmwgPSBgJHtiYXNlVXJsfS8ke3Jlc3RDb250ZXh0fWA7XG4gIGNvbnN0IGFjY291bnREYXRhVXJsID0gYCR7YmFzZVVybH0vU2VydmVyU2VydmljZXMvZ2VuZXJhbC9hY2NvdW50c2A7XG5cbiAgZGVidWcoJ2ZldGNoaW5nIGFjY291bnRzIGRhdGEnKTtcbiAgY29uc3QgYWNjb3VudHNJbmZvID0gYXdhaXQgZmV0Y2hHZXRXaXRoaW5QYWdlPEZldGNoZWRBY2NvdW50RGF0YT4ocGFnZSwgYWNjb3VudERhdGFVcmwpIHx8IFtdO1xuICBkZWJ1ZygnZ290ICVkIGFjY291bnRzLCBmZXRjaGluZyB0eG5zIGFuZCBiYWxhbmNlJywgYWNjb3VudHNJbmZvLmxlbmd0aCk7XG5cbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJykuYWRkKDEsICdkYXknKTtcbiAgY29uc3Qgc3RhcnREYXRlID0gb3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgY29uc3Qgc3RhcnREYXRlU3RyID0gc3RhcnRNb21lbnQuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgY29uc3QgZW5kRGF0ZVN0ciA9IG1vbWVudCgpLmZvcm1hdChEQVRFX0ZPUk1BVCk7XG5cbiAgY29uc3QgYWNjb3VudHM6IFRyYW5zYWN0aW9uc0FjY291bnRbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgYWNjb3VudCBvZiBhY2NvdW50c0luZm8pIHtcbiAgICBsZXQgYmFsYW5jZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGFjY291bnROdW1iZXIgPSBgJHthY2NvdW50LmJhbmtOdW1iZXJ9LSR7YWNjb3VudC5icmFuY2hOdW1iZXJ9LSR7YWNjb3VudC5hY2NvdW50TnVtYmVyfWA7XG5cbiAgICBjb25zdCBpc0FjdGl2ZUFjY291bnQgPSBhY2NvdW50LmFjY291bnRDbG9zaW5nUmVhc29uQ29kZSA9PT0gMDtcbiAgICBpZiAoaXNBY3RpdmVBY2NvdW50KSB7XG4gICAgICBiYWxhbmNlID0gYXdhaXQgZ2V0QWNjb3VudEJhbGFuY2UoYXBpU2l0ZVVybCwgcGFnZSwgYWNjb3VudE51bWJlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlYnVnKCdTa2lwcGluZyBiYWxhbmNlIGZvciBhIGNsb3NlZCBhY2NvdW50LCBiYWxhbmNlIHdpbGwgYmUgdW5kZWZpbmVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdHhucyA9IGF3YWl0IGdldEFjY291bnRUcmFuc2FjdGlvbnMoYXBpU2l0ZVVybCwgcGFnZSwgYWNjb3VudE51bWJlciwgc3RhcnREYXRlU3RyLCBlbmREYXRlU3RyKTtcblxuICAgIGFjY291bnRzLnB1c2goe1xuICAgICAgYWNjb3VudE51bWJlcixcbiAgICAgIGJhbGFuY2UsXG4gICAgICB0eG5zLFxuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgYWNjb3VudERhdGEgPSB7XG4gICAgc3VjY2VzczogdHJ1ZSxcbiAgICBhY2NvdW50cyxcbiAgfTtcbiAgZGVidWcoJ2ZldGNoaW5nIGVuZGVkJyk7XG4gIHJldHVybiBhY2NvdW50RGF0YTtcbn1cblxuZnVuY3Rpb24gZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoYmFzZVVybDogc3RyaW5nKSB7XG4gIGNvbnN0IHVybHM6IFBvc3NpYmxlTG9naW5SZXN1bHRzID0ge307XG4gIHVybHNbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdID0gW1xuICAgIGAke2Jhc2VVcmx9L3BvcnRhbHNlcnZlci9Ib21lUGFnZWAsXG4gICAgYCR7YmFzZVVybH0vbmctcG9ydGFscy1idC9yYi9oZS9ob21lcGFnZWAsXG4gICAgYCR7YmFzZVVybH0vbmctcG9ydGFscy9yYi9oZS9ob21lcGFnZWBdO1xuICB1cmxzW0xvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRdID0gW2Ake2Jhc2VVcmx9L0FVVEhFTlRJQ0FURS9MT0dPTj9mbG93PUFVVEhFTlRJQ0FURSZzdGF0ZT1MT0dPTiZlcnJvcmNvZGU9MS42JmNhbGxtZT1mYWxzZWBdO1xuICB1cmxzW0xvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZF0gPSBbXG4gICAgYCR7YmFzZVVybH0vTUNQL1NUQVJUP2Zsb3c9TUNQJnN0YXRlPVNUQVJUJmV4cGlyZWREYXRlPW51bGxgLFxuICAgIC9cXC9BQk9VVFRPRVhQSVJFXFwvU1RBUlQvaSxcbiAgXTtcbiAgcmV0dXJuIHVybHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiAnI3VzZXJDb2RlJywgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJDb2RlIH0sXG4gICAgeyBzZWxlY3RvcjogJyNwYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5jbGFzcyBIYXBvYWxpbVNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgZ2V0IGJhc2VVcmwoKSB7XG4gICAgcmV0dXJuICdodHRwczovL2xvZ2luLmJhbmtoYXBvYWxpbS5jby5pbCc7XG4gIH1cblxuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogYCR7dGhpcy5iYXNlVXJsfS9jZ2ktYmluL3BvYWx3d3djP3JlcU5hbWU9Z2V0TG9nb25QYWdlYCxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6ICcubG9naW4tYnRuJyxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IHdhaXRGb3JSZWRpcmVjdCh0aGlzLnBhZ2UpLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyh0aGlzLmJhc2VVcmwpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKSB7XG4gICAgcmV0dXJuIGZldGNoQWNjb3VudERhdGEodGhpcy5wYWdlLCB0aGlzLmJhc2VVcmwsIHRoaXMub3B0aW9ucyk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgSGFwb2FsaW1TY3JhcGVyO1xuIl19
|
|
208
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9oYXBvYWxpbS50cyJdLCJuYW1lcyI6WyJkZWJ1ZyIsIkRBVEVfRk9STUFUIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJtYXAiLCJ0eG4iLCJpc091dGJvdW5kIiwiZXZlbnRBY3Rpdml0eVR5cGVDb2RlIiwibWVtbyIsImJlbmVmaWNpYXJ5RGV0YWlsc0RhdGEiLCJwYXJ0eUhlYWRsaW5lIiwicGFydHlOYW1lIiwibWVzc2FnZUhlYWRsaW5lIiwibWVzc2FnZURldGFpbCIsIm1lbW9MaW5lcyIsInB1c2giLCJsZW5ndGgiLCJqb2luIiwicmVzdWx0IiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJpZGVudGlmaWVyIiwicmVmZXJlbmNlTnVtYmVyIiwiZGF0ZSIsImV2ZW50RGF0ZSIsInRvSVNPU3RyaW5nIiwicHJvY2Vzc2VkRGF0ZSIsInZhbHVlRGF0ZSIsIm9yaWdpbmFsQW1vdW50IiwiZXZlbnRBbW91bnQiLCJvcmlnaW5hbEN1cnJlbmN5IiwiY2hhcmdlZEFtb3VudCIsImRlc2NyaXB0aW9uIiwiYWN0aXZpdHlEZXNjcmlwdGlvbiIsInN0YXR1cyIsInNlcmlhbE51bWJlciIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJQZW5kaW5nIiwiQ29tcGxldGVkIiwiZ2V0UmVzdENvbnRleHQiLCJwYWdlIiwiZXZhbHVhdGUiLCJ3aW5kb3ciLCJibmhwQXBwIiwicmVzdENvbnRleHQiLCJzbGljZSIsImZldGNoUG9hbGltWFNSRldpdGhpblBhZ2UiLCJ1cmwiLCJwYWdlVXVpZCIsImNvb2tpZXMiLCJYU1JGQ29va2llIiwiZmluZCIsImNvb2tpZSIsIm5hbWUiLCJoZWFkZXJzIiwidmFsdWUiLCJ1dWlkIiwiZ2V0QWNjb3VudFRyYW5zYWN0aW9ucyIsImFwaVNpdGVVcmwiLCJhY2NvdW50TnVtYmVyIiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsInR4bnNVcmwiLCJ0eG5zUmVzdWx0IiwidHJhbnNhY3Rpb25zIiwiZ2V0QWNjb3VudEJhbGFuY2UiLCJiYWxhbmNlQW5kQ3JlZGl0TGltaXRVcmwiLCJiYWxhbmNlQW5kQ3JlZGl0TGltaXQiLCJjdXJyZW50QmFsYW5jZSIsImZldGNoQWNjb3VudERhdGEiLCJiYXNlVXJsIiwib3B0aW9ucyIsImFjY291bnREYXRhVXJsIiwiYWNjb3VudHNJbmZvIiwiZGVmYXVsdFN0YXJ0TW9tZW50Iiwic3VidHJhY3QiLCJhZGQiLCJ0b0RhdGUiLCJzdGFydE1vbWVudCIsIm1vbWVudCIsIm1heCIsInN0YXJ0RGF0ZVN0ciIsImZvcm1hdCIsImVuZERhdGVTdHIiLCJhY2NvdW50cyIsImFjY291bnQiLCJiYWxhbmNlIiwiYmFua051bWJlciIsImJyYW5jaE51bWJlciIsImlzQWN0aXZlQWNjb3VudCIsImFjY291bnRDbG9zaW5nUmVhc29uQ29kZSIsImFjY291bnREYXRhIiwic3VjY2VzcyIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJDaGFuZ2VQYXNzd29yZCIsImNyZWF0ZUxvZ2luRmllbGRzIiwiY3JlZGVudGlhbHMiLCJzZWxlY3RvciIsInVzZXJDb2RlIiwicGFzc3dvcmQiLCJIYXBvYWxpbVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7Ozs7QUFFQSxNQUFNQSxLQUFLLEdBQUcscUJBQVMsVUFBVCxDQUFkO0FBRUEsTUFBTUMsV0FBVyxHQUFHLFVBQXBCLEMsQ0FFQTs7QUE2Q0EsU0FBU0MsbUJBQVQsQ0FBNkJDLElBQTdCLEVBQXdFO0FB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XG5pbXBvcnQgdXVpZDQgZnJvbSAndXVpZC92NCc7XG5cbmltcG9ydCB7IFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyB3YWl0Rm9yUmVkaXJlY3QgfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgd2FpdFVudGlsIH0gZnJvbSAnLi4vaGVscGVycy93YWl0aW5nJztcbmltcG9ydCB7IGZldGNoR2V0V2l0aGluUGFnZSwgZmV0Y2hQb3N0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb25zQWNjb3VudCwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBTY3JhcGVyT3B0aW9ucywgU2NyYXBlckNyZWRlbnRpYWxzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHsgZ2V0RGVidWcgfSBmcm9tICcuLi9oZWxwZXJzL2RlYnVnJztcblxuY29uc3QgZGVidWcgPSBnZXREZWJ1ZygnaGFwb2FsaW0nKTtcblxuY29uc3QgREFURV9GT1JNQVQgPSAnWVlZWU1NREQnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZVxuZGVjbGFyZSBuYW1lc3BhY2Ugd2luZG93IHtcbiAgY29uc3QgYm5ocEFwcDogYW55O1xufVxuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgc2VyaWFsTnVtYmVyPzogbnVtYmVyO1xuICBhY3Rpdml0eURlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBldmVudEFtb3VudDogbnVtYmVyO1xuICB2YWx1ZURhdGU/OiBzdHJpbmc7XG4gIGV2ZW50RGF0ZT86IHN0cmluZztcbiAgcmVmZXJlbmNlTnVtYmVyPzogbnVtYmVyO1xuICBTY3JhcGVkVHJhbnNhY3Rpb24/OiBzdHJpbmc7XG4gIGV2ZW50QWN0aXZpdHlUeXBlQ29kZTogbnVtYmVyO1xuICBjdXJyZW50QmFsYW5jZTogbnVtYmVyO1xuICBiZW5lZmljaWFyeURldGFpbHNEYXRhPzoge1xuICAgIHBhcnR5SGVhZGxpbmU/OiBzdHJpbmc7XG4gICAgcGFydHlOYW1lPzogc3RyaW5nO1xuICAgIG1lc3NhZ2VIZWFkbGluZT86IHN0cmluZztcbiAgICBtZXNzYWdlRGV0YWlsPzogc3RyaW5nO1xuICB9O1xufVxuXG50eXBlIEZldGNoZWRBY2NvdW50RGF0YSA9IHtcbiAgYmFua051bWJlcjogc3RyaW5nO1xuICBhY2NvdW50TnVtYmVyOiBzdHJpbmc7XG4gIGJyYW5jaE51bWJlcjogc3RyaW5nO1xuICBhY2NvdW50Q2xvc2luZ1JlYXNvbkNvZGU6IG51bWJlcjtcbn1bXTtcblxudHlwZSBGZXRjaGVkQWNjb3VudFRyYW5zYWN0aW9uc0RhdGEgPSB7XG4gIHRyYW5zYWN0aW9uczogU2NyYXBlZFRyYW5zYWN0aW9uW107XG59O1xuXG50eXBlIEJhbGFuY2VBbmRDcmVkaXRMaW1pdCA9IHtcbiAgY3JlZGl0TGltaXRBbW91bnQ6IG51bWJlcjtcbiAgY3JlZGl0TGltaXREZXNjcmlwdGlvbjogc3RyaW5nO1xuICBjcmVkaXRMaW1pdFV0aWxpemF0aW9uQW1vdW50OiBudW1iZXI7XG4gIGNyZWRpdExpbWl0VXRpbGl6YXRpb25FeGlzdGFuY2VDb2RlOiBudW1iZXI7XG4gIGNyZWRpdExpbWl0VXRpbGl6YXRpb25QZXJjZW50OiBudW1iZXI7XG4gIGN1cnJlbnRBY2NvdW50TGltaXRzQW1vdW50OiBudW1iZXI7XG4gIGN1cnJlbnRCYWxhbmNlOiBudW1iZXI7XG4gIHdpdGhkcmF3YWxCYWxhbmNlOiBudW1iZXI7XG59O1xuXG5mdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSB7XG4gIHJldHVybiB0eG5zLm1hcCgodHhuKSA9PiB7XG4gICAgY29uc3QgaXNPdXRib3VuZCA9IHR4bi5ldmVudEFjdGl2aXR5VHlwZUNvZGUgPT09IDI7XG5cbiAgICBsZXQgbWVtbyA9ICcnO1xuICAgIGlmICh0eG4uYmVuZWZpY2lhcnlEZXRhaWxzRGF0YSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBwYXJ0eUhlYWRsaW5lLFxuICAgICAgICBwYXJ0eU5hbWUsXG4gICAgICAgIG1lc3NhZ2VIZWFkbGluZSxcbiAgICAgICAgbWVzc2FnZURldGFpbCxcbiAgICAgIH0gPSB0eG4uYmVuZWZpY2lhcnlEZXRhaWxzRGF0YTtcbiAgICAgIGNvbnN0IG1lbW9MaW5lczogc3RyaW5nW10gPSBbXTtcbiAgICAgIGlmIChwYXJ0eUhlYWRsaW5lKSB7XG4gICAgICAgIG1lbW9MaW5lcy5wdXNoKHBhcnR5SGVhZGxpbmUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocGFydHlOYW1lKSB7XG4gICAgICAgIG1lbW9MaW5lcy5wdXNoKGAke3BhcnR5TmFtZX0uYCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtZXNzYWdlSGVhZGxpbmUpIHtcbiAgICAgICAgbWVtb0xpbmVzLnB1c2gobWVzc2FnZUhlYWRsaW5lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1lc3NhZ2VEZXRhaWwpIHtcbiAgICAgICAgbWVtb0xpbmVzLnB1c2goYCR7bWVzc2FnZURldGFpbH0uYCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtZW1vTGluZXMubGVuZ3RoKSB7XG4gICAgICAgIG1lbW8gPSBtZW1vTGluZXMuam9pbignICcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb24gPSB7XG4gICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbCxcbiAgICAgIGlkZW50aWZpZXI6IHR4bi5yZWZlcmVuY2VOdW1iZXIsXG4gICAgICBkYXRlOiBtb21lbnQodHhuLmV2ZW50RGF0ZSwgREFURV9GT1JNQVQpLnRvSVNPU3RyaW5nKCksXG4gICAgICBwcm9jZXNzZWREYXRlOiBtb21lbnQodHhuLnZhbHVlRGF0ZSwgREFURV9GT1JNQVQpLnRvSVNPU3RyaW5nKCksXG4gICAgICBvcmlnaW5hbEFtb3VudDogaXNPdXRib3VuZCA/IC10eG4uZXZlbnRBbW91bnQgOiB0eG4uZXZlbnRBbW91bnQsXG4gICAgICBvcmlnaW5hbEN1cnJlbmN5OiAnSUxTJyxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IGlzT3V0Ym91bmQgPyAtdHhuLmV2ZW50QW1vdW50IDogdHhuLmV2ZW50QW1vdW50LFxuICAgICAgZGVzY3JpcHRpb246IHR4bi5hY3Rpdml0eURlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgc3RhdHVzOiB0eG4uc2VyaWFsTnVtYmVyID09PSAwID8gVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nIDogVHJhbnNhY3Rpb25TdGF0dXNlcy5Db21wbGV0ZWQsXG4gICAgICBtZW1vLFxuICAgIH07XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0UmVzdENvbnRleHQocGFnZTogUGFnZSkge1xuICBhd2FpdCB3YWl0VW50aWwoYXN5bmMgKCkgPT4ge1xuICAgIHJldHVybiBwYWdlLmV2YWx1YXRlKCgpID0+ICEhd2luZG93LmJuaHBBcHApO1xuICB9LCAnd2FpdGluZyBmb3IgYXBwIGRhdGEgbG9hZCcpO1xuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBhZ2UuZXZhbHVhdGUoKCkgPT4ge1xuICAgIHJldHVybiB3aW5kb3cuYm5ocEFwcC5yZXN0Q29udGV4dDtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdC5zbGljZSgxKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hQb2FsaW1YU1JGV2l0aGluUGFnZShwYWdlOiBQYWdlLCB1cmw6IHN0cmluZywgcGFnZVV1aWQ6IHN0cmluZyk6IFByb21pc2U8RmV0Y2hlZEFjY291bnRUcmFuc2FjdGlvbnNEYXRhIHwgbnVsbD4ge1xuICBjb25zdCBjb29raWVzID0gYXdhaXQgcGFnZS5jb29raWVzKCk7XG4gIGNvbnN0IFhTUkZDb29raWUgPSBjb29raWVzLmZpbmQoKGNvb2tpZSkgPT4gY29va2llLm5hbWUgPT09ICdYU1JGLVRPS0VOJyk7XG4gIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgaWYgKFhTUkZDb29raWUgIT0gbnVsbCkge1xuICAgIGhlYWRlcnNbJ1gtWFNSRi1UT0tFTiddID0gWFNSRkNvb2tpZS52YWx1ZTtcbiAgfVxuICBoZWFkZXJzLnBhZ2VVdWlkID0gcGFnZVV1aWQ7XG4gIGhlYWRlcnMudXVpZCA9IHV1aWQ0KCk7XG4gIGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCc7XG4gIHJldHVybiBmZXRjaFBvc3RXaXRoaW5QYWdlPEZldGNoZWRBY2NvdW50VHJhbnNhY3Rpb25zRGF0YT4ocGFnZSwgdXJsLCBbXSwgaGVhZGVycyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEFjY291bnRUcmFuc2FjdGlvbnMoYXBpU2l0ZVVybDogc3RyaW5nLCBwYWdlOiBQYWdlLCBhY2NvdW50TnVtYmVyOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcpIHtcbiAgY29uc3QgdHhuc1VybCA9IGAke2FwaVNpdGVVcmx9L2N1cnJlbnQtYWNjb3VudC90cmFuc2FjdGlvbnM/YWNjb3VudElkPSR7YWNjb3VudE51bWJlcn0mbnVtSXRlbXNQZXJQYWdlPTE1MCZyZXRyaWV2YWxFbmREYXRlPSR7ZW5kRGF0ZX0mcmV0cmlldmFsU3RhcnREYXRlPSR7c3RhcnREYXRlfSZzb3J0Q29kZT0xYDtcbiAgY29uc3QgdHhuc1Jlc3VsdCA9IGF3YWl0IGZldGNoUG9hbGltWFNSRldpdGhpblBhZ2UocGFnZSwgdHhuc1VybCwgJy9jdXJyZW50LWFjY291bnQvdHJhbnNhY3Rpb25zJyk7XG5cbiAgcmV0dXJuIGNvbnZlcnRUcmFuc2FjdGlvbnModHhuc1Jlc3VsdD8udHJhbnNhY3Rpb25zID8/IFtdKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0QWNjb3VudEJhbGFuY2UoYXBpU2l0ZVVybDogc3RyaW5nLCBwYWdlOiBQYWdlLCBhY2NvdW50TnVtYmVyOiBzdHJpbmcpIHtcbiAgY29uc3QgYmFsYW5jZUFuZENyZWRpdExpbWl0VXJsID0gYCR7YXBpU2l0ZVVybH0vY3VycmVudC1hY2NvdW50L2NvbXBvc2l0ZS9iYWxhbmNlQW5kQ3JlZGl0TGltaXQ/YWNjb3VudElkPSR7YWNjb3VudE51bWJlcn0mdmlldz1kZXRhaWxzJmxhbmc9aGVgO1xuICBjb25zdCBiYWxhbmNlQW5kQ3JlZGl0TGltaXQgPSBhd2FpdCBmZXRjaEdldFdpdGhpblBhZ2U8QmFsYW5jZUFuZENyZWRpdExpbWl0PihwYWdlLCBiYWxhbmNlQW5kQ3JlZGl0TGltaXRVcmwpO1xuXG4gIHJldHVybiBiYWxhbmNlQW5kQ3JlZGl0TGltaXQ/LmN1cnJlbnRCYWxhbmNlO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaEFjY291bnREYXRhKHBhZ2U6IFBhZ2UsIGJhc2VVcmw6IHN0cmluZywgb3B0aW9uczogU2NyYXBlck9wdGlvbnMpIHtcbiAgY29uc3QgcmVzdENvbnRleHQgPSBhd2FpdCBnZXRSZXN0Q29udGV4dChwYWdlKTtcbiAgY29uc3QgYXBpU2l0ZVVybCA9IGAke2Jhc2VVcmx9LyR7cmVzdENvbnRleHR9YDtcbiAgY29uc3QgYWNjb3VudERhdGFVcmwgPSBgJHtiYXNlVXJsfS9TZXJ2ZXJTZXJ2aWNlcy9nZW5lcmFsL2FjY291bnRzYDtcblxuICBkZWJ1ZygnZmV0Y2hpbmcgYWNjb3VudHMgZGF0YScpO1xuICBjb25zdCBhY2NvdW50c0luZm8gPSBhd2FpdCBmZXRjaEdldFdpdGhpblBhZ2U8RmV0Y2hlZEFjY291bnREYXRhPihwYWdlLCBhY2NvdW50RGF0YVVybCkgfHwgW107XG4gIGRlYnVnKCdnb3QgJWQgYWNjb3VudHMsIGZldGNoaW5nIHR4bnMgYW5kIGJhbGFuY2UnLCBhY2NvdW50c0luZm8ubGVuZ3RoKTtcblxuICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAneWVhcnMnKS5hZGQoMSwgJ2RheScpO1xuICBjb25zdCBzdGFydERhdGUgPSBvcHRpb25zLnN0YXJ0RGF0ZSB8fCBkZWZhdWx0U3RhcnRNb21lbnQudG9EYXRlKCk7XG4gIGNvbnN0IHN0YXJ0TW9tZW50ID0gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcblxuICBjb25zdCBzdGFydERhdGVTdHIgPSBzdGFydE1vbWVudC5mb3JtYXQoREFURV9GT1JNQVQpO1xuICBjb25zdCBlbmREYXRlU3RyID0gbW9tZW50KCkuZm9ybWF0KERBVEVfRk9STUFUKTtcblxuICBjb25zdCBhY2NvdW50czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgZm9yIChjb25zdCBhY2NvdW50IG9mIGFjY291bnRzSW5mbykge1xuICAgIGxldCBiYWxhbmNlOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgYWNjb3VudE51bWJlciA9IGAke2FjY291bnQuYmFua051bWJlcn0tJHthY2NvdW50LmJyYW5jaE51bWJlcn0tJHthY2NvdW50LmFjY291bnROdW1iZXJ9YDtcblxuICAgIGNvbnN0IGlzQWN0aXZlQWNjb3VudCA9IGFjY291bnQuYWNjb3VudENsb3NpbmdSZWFzb25Db2RlID09PSAwO1xuICAgIGlmIChpc0FjdGl2ZUFjY291bnQpIHtcbiAgICAgIGJhbGFuY2UgPSBhd2FpdCBnZXRBY2NvdW50QmFsYW5jZShhcGlTaXRlVXJsLCBwYWdlLCBhY2NvdW50TnVtYmVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVidWcoJ1NraXBwaW5nIGJhbGFuY2UgZm9yIGEgY2xvc2VkIGFjY291bnQsIGJhbGFuY2Ugd2lsbCBiZSB1bmRlZmluZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCB0eG5zID0gYXdhaXQgZ2V0QWNjb3VudFRyYW5zYWN0aW9ucyhhcGlTaXRlVXJsLCBwYWdlLCBhY2NvdW50TnVtYmVyLCBzdGFydERhdGVTdHIsIGVuZERhdGVTdHIpO1xuXG4gICAgYWNjb3VudHMucHVzaCh7XG4gICAgICBhY2NvdW50TnVtYmVyLFxuICAgICAgYmFsYW5jZSxcbiAgICAgIHR4bnMsXG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBhY2NvdW50RGF0YSA9IHtcbiAgICBzdWNjZXNzOiB0cnVlLFxuICAgIGFjY291bnRzLFxuICB9O1xuICBkZWJ1ZygnZmV0Y2hpbmcgZW5kZWQnKTtcbiAgcmV0dXJuIGFjY291bnREYXRhO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyhiYXNlVXJsOiBzdHJpbmcpIHtcbiAgY29uc3QgdXJsczogUG9zc2libGVMb2dpblJlc3VsdHMgPSB7fTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuU3VjY2Vzc10gPSBbXG4gICAgYCR7YmFzZVVybH0vcG9ydGFsc2VydmVyL0hvbWVQYWdlYCxcbiAgICBgJHtiYXNlVXJsfS9uZy1wb3J0YWxzLWJ0L3JiL2hlL2hvbWVwYWdlYCxcbiAgICBgJHtiYXNlVXJsfS9uZy1wb3J0YWxzL3JiL2hlL2hvbWVwYWdlYF07XG4gIHVybHNbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF0gPSBbYCR7YmFzZVVybH0vQVVUSEVOVElDQVRFL0xPR09OP2Zsb3c9QVVUSEVOVElDQVRFJnN0YXRlPUxPR09OJmVycm9yY29kZT0xLjYmY2FsbG1lPWZhbHNlYF07XG4gIHVybHNbTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkXSA9IFtcbiAgICBgJHtiYXNlVXJsfS9NQ1AvU1RBUlQ/Zmxvdz1NQ1Amc3RhdGU9U1RBUlQmZXhwaXJlZERhdGU9bnVsbGAsXG4gICAgL1xcL0FCT1VUVE9FWFBJUkVcXC9TVEFSVC9pLFxuICBdO1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICByZXR1cm4gW1xuICAgIHsgc2VsZWN0b3I6ICcjdXNlckNvZGUnLCB2YWx1ZTogY3JlZGVudGlhbHMudXNlckNvZGUgfSxcbiAgICB7IHNlbGVjdG9yOiAnI3Bhc3N3b3JkJywgdmFsdWU6IGNyZWRlbnRpYWxzLnBhc3N3b3JkIH0sXG4gIF07XG59XG5cbmNsYXNzIEhhcG9hbGltU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2xhc3MtbWV0aG9kcy11c2UtdGhpc1xuICBnZXQgYmFzZVVybCgpIHtcbiAgICByZXR1cm4gJ2h0dHBzOi8vbG9naW4uYmFua2hhcG9hbGltLmNvLmlsJztcbiAgfVxuXG4gIGdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2luVXJsOiBgJHt0aGlzLmJhc2VVcmx9L2NnaS1iaW4vcG9hbHd3d2M/cmVxTmFtZT1nZXRMb2dvblBhZ2VgLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJy5sb2dpbi1idG4nLFxuICAgICAgcG9zdEFjdGlvbjogYXN5bmMgKCkgPT4gd2FpdEZvclJlZGlyZWN0KHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHRoaXMuYmFzZVVybCksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICByZXR1cm4gZmV0Y2hBY2NvdW50RGF0YSh0aGlzLnBhZ2UsIHRoaXMuYmFzZVVybCwgdGhpcy5vcHRpb25zKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBIYXBvYWxpbVNjcmFwZXI7XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import IsracardAmexBaseScraper from './base-isracard-amex';
|
|
2
|
-
import {
|
|
2
|
+
import { ScraperOptions } from './base-scraper';
|
|
3
3
|
declare class IsracardScraper extends IsracardAmexBaseScraper {
|
|
4
|
-
constructor(options:
|
|
4
|
+
constructor(options: ScraperOptions);
|
|
5
5
|
}
|
|
6
6
|
export default IsracardScraper;
|
package/lib/scrapers/isracard.js
CHANGED
|
@@ -21,4 +21,4 @@ class IsracardScraper extends _baseIsracardAmex.default {
|
|
|
21
21
|
|
|
22
22
|
var _default = IsracardScraper;
|
|
23
23
|
exports.default = _default;
|
|
24
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9pc3JhY2FyZC50cyJdLCJuYW1lcyI6WyJCQVNFX1VSTCIsIkNPTVBBTllfQ09ERSIsIklzcmFjYXJkU2NyYXBlciIsIklzcmFjYXJkQW1leEJhc2VTY3JhcGVyIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFHQSxNQUFNQSxRQUFRLEdBQUcsZ0NBQWpCO0FBQ0EsTUFBTUMsWUFBWSxHQUFHLElBQXJCOztBQUVBLE1BQU1DLGVBQU4sU0FBOEJDLHlCQUE5QixDQUFzRDtBQUNwREMsRUFBQUEsV0FBVyxDQUFDQyxPQUFELEVBQTBCO0FBQ25DLFVBQU1BLE9BQU4sRUFBZUwsUUFBZixFQUF5QkMsWUFBekI7QUFDRDs7QUFIbUQ7O2VBTXZDQyxlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IElzcmFjYXJkQW1leEJhc2VTY3JhcGVyIGZyb20gJy4vYmFzZS1pc3JhY2FyZC1hbWV4JztcbmltcG9ydCB7IFNjcmFwZXJPcHRpb25zIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuXG5jb25zdCBCQVNFX1VSTCA9ICdodHRwczovL2RpZ2l0YWwuaXNyYWNhcmQuY28uaWwnO1xuY29uc3QgQ09NUEFOWV9DT0RFID0gJzExJztcblxuY2xhc3MgSXNyYWNhcmRTY3JhcGVyIGV4dGVuZHMgSXNyYWNhcmRBbWV4QmFzZVNjcmFwZXIge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBTY3JhcGVyT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMsIEJBU0VfVVJMLCBDT01QQU5ZX0NPREUpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IElzcmFjYXJkU2NyYXBlcjtcbiJdfQ==
|
package/lib/scrapers/max.js
CHANGED
|
@@ -301,4 +301,4 @@ class MaxScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
301
301
|
|
|
302
302
|
var _default = MaxScraper;
|
|
303
303
|
exports.default = _default;
|
|
304
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9tYXgudHMiXSwibmFtZXMiOlsiZGVidWciLCJCQVNFX0FDVElPTlNfVVJMIiwiQkFTRV9BUElfQUNUSU9OU19VUkwiLCJCQVNFX1dFTENPTUVfVVJMIiwiTE9HSU5fVVJMIiwiUEFTU1dPUkRfRVhQSVJFRF9VUkwiLCJTVUNDRVNTX1VSTCIsIk5PUk1BTF9UWVBFX05BTUUiLCJBVE1fVFlQRV9OQU1FIiwiSU5URVJORVRfU0hPUFBJTkdfVFlQRV9OQU1FIiwiSU5TVEFMTE1FTlRTX1RZUEVfTkFNRSIsIk1PTlRITFlfQ0hBUkdFX1RZUEVfTkFNRSIsIk9ORV9NT05USF9QT1NUUE9ORURfVFlQRV9OQU1FIiwiTU9OVEhMWV9QT1NUUE9ORURfVFlQRV9OQU1FIiwiTU9OVEhMWV9QQVlNRU5UX1RZUEVfTkFNRSIsIkZVVFVSRV9QVVJDSEFTRV9GSU5BTkNJTkciLCJNT05USExZX1BPU1RQT05FRF9JTlNUQUxMTUVOVFNfVFlQRV9OQU1FIiwiVEhJUlRZX0RBWVNfUExVU19UWVBFX05BTUUiLCJUV09fTU9OVEhTX1BPU1RQT05FRF9UWVBFX05BTUUiLCJNT05USExZX0NIQVJHRV9QTFVTX0lOVEVSRVNUX1RZUEVfTkFNRSIsIkNSRURJVF9UWVBFX05BTUUiLCJBQ0NVTVVMQVRJTkdfQkFTS0VUIiwiUE9TVFBPTkVEX1RSQU5TQUNUSU9OX0lOU1RBTExNRU5UUyIsIklOVkFMSURfREVUQUlMU19TRUxFQ1RPUiIsIkxPR0lOX0VSUk9SX1NFTEVDVE9SIiwiY2F0ZWdvcmllcyIsIk1hcCIsInJlZGlyZWN0T3JEaWFsb2ciLCJwYWdlIiwiUHJvbWlzZSIsInJhY2UiLCJnZXRUcmFuc2FjdGlvbnNVcmwiLCJtb250aE1vbWVudCIsIm1vbnRoIiwieWVhciIsImRhdGUiLCJwYXRoIiwibG9hZENhdGVnb3JpZXMiLCJyZXMiLCJBcnJheSIsImlzQXJyYXkiLCJyZXN1bHQiLCJsZW5ndGgiLCJmb3JFYWNoIiwiaWQiLCJuYW1lIiwic2V0IiwiZ2V0VHJhbnNhY3Rpb25UeXBlIiwidHhuVHlwZVN0ciIsImNsZWFuZWRVcFR4blR5cGVTdHIiLCJyZXBsYWNlIiwidHJpbSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJJbnN0YWxsbWVudHMiLCJFcnJvciIsImdldEluc3RhbGxtZW50c0luZm8iLCJjb21tZW50cyIsIm1hdGNoZXMiLCJtYXRjaCIsIm51bWJlciIsInBhcnNlSW50IiwidG90YWwiLCJtYXBUcmFuc2FjdGlvbiIsInJhd1RyYW5zYWN0aW9uIiwiaXNQZW5kaW5nIiwicGF5bWVudERhdGUiLCJwcm9jZXNzZWREYXRlIiwicHVyY2hhc2VEYXRlIiwidG9JU09TdHJpbmciLCJzdGF0dXMiLCJUcmFuc2FjdGlvblN0YXR1c2VzIiwiUGVuZGluZyIsIkNvbXBsZXRlZCIsInR5cGUiLCJwbGFuTmFtZSIsIm9yaWdpbmFsQW1vdW50Iiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRBbW91bnQiLCJhY3R1YWxQYXltZW50QW1vdW50IiwiZGVzY3JpcHRpb24iLCJtZXJjaGFudE5hbWUiLCJtZW1vIiwiY2F0ZWdvcnkiLCJnZXQiLCJjYXRlZ29yeUlkIiwiaW5zdGFsbG1lbnRzIiwidW5kZWZpbmVkIiwiZmV0Y2hUcmFuc2FjdGlvbnNGb3JNb250aCIsInVybCIsImRhdGEiLCJ0cmFuc2FjdGlvbnNCeUFjY291bnQiLCJ0cmFuc2FjdGlvbnMiLCJmaWx0ZXIiLCJ0cmFuc2FjdGlvbiIsInNob3J0Q2FyZE51bWJlciIsIm1hcHBlZFRyYW5zYWN0aW9uIiwicHVzaCIsImFkZFJlc3VsdCIsImFsbFJlc3VsdHMiLCJjbG9uZWRSZXN1bHRzIiwiT2JqZWN0Iiwia2V5cyIsImFjY291bnROdW1iZXIiLCJwcmVwYXJlVHJhbnNhY3Rpb25zIiwidHhucyIsInN0YXJ0TW9tZW50IiwiY29tYmluZUluc3RhbGxtZW50cyIsImNsb25lZFR4bnMiLCJmcm9tIiwiZmV0Y2hUcmFuc2FjdGlvbnMiLCJvcHRpb25zIiwiZnV0dXJlTW9udGhzVG9TY3JhcGUiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsInN0YXJ0RGF0ZSIsInRvRGF0ZSIsIm1vbWVudCIsIm1heCIsImFsbE1vbnRocyIsImkiLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiQ2hhbmdlUGFzc3dvcmQiLCJJbnZhbGlkUGFzc3dvcmQiLCJVbmtub3duRXJyb3IiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJNYXhTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldExvZ2luT3B0aW9ucyIsImxvZ2luVXJsIiwiZmllbGRzIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJwcmVBY3Rpb24iLCJjaGVja1JlYWRpbmVzcyIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiLCJyZXN1bHRzIiwiYWNjb3VudHMiLCJtYXAiLCJzdWNjZXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7OztBQUVBLE1BQU1BLEtBQUssR0FBRyxxQkFBUyxLQUFULENBQWQ7QUFlQSxNQUFNQyxnQkFBZ0IsR0FBRywwQkFBekI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRywrQkFBN0I7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBRyx1QkFBekI7QUFFQSxNQUFNQyxTQUFTLEdBQUksR0FBRUQsZ0JBQWlCLG1CQUF0QztBQUNBLE1BQU1FLG9CQUFvQixHQUFJLEdBQUVKLGdCQUFpQix1Q0FBakQ7QUFDQSxNQUFNSyxXQUFXLEdBQUksR0FBRUgsZ0JBQWlCLG9CQUF4QztBQUVBLE1BQU1JLGdCQUFnQixHQUFHLE9BQXpCO0FBQ0EsTUFBTUMsYUFBYSxHQUFHLGtCQUF0QjtBQUNBLE1BQU1DLDJC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QU1tQyxRQUFRLEdBQUc3QyxNQUFNLENBQUNDLElBQVAsQ0FBWTJDLE9BQVosRUFBcUJFLEdBQXJCLENBQTBCNUMsYUFBRCxJQUFtQjtBQUMzRCxhQUFPO0FBQ0xBLFFBQUFBLGFBREs7QUFFTEUsUUFBQUEsSUFBSSxFQUFFd0MsT0FBTyxDQUFDMUMsYUFBRDtBQUZSLE9BQVA7QUFJRCxLQUxnQixDQUFqQjtBQU9BLFdBQU87QUFDTDZDLE1BQUFBLE9BQU8sRUFBRSxJQURKO0FBRUxGLE1BQUFBO0FBRkssS0FBUDtBQUlEOztBQXBDNkM7O2VBdUNqQ1osVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBidWlsZFVybCBmcm9tICdidWlsZC11cmwnO1xuaW1wb3J0IG1vbWVudCwgeyBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBmZXRjaEdldFdpdGhpblBhZ2UgfSBmcm9tICcuLi9oZWxwZXJzL2ZldGNoJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgUG9zc2libGVMb2dpblJlc3VsdHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlci13aXRoLWJyb3dzZXInO1xuaW1wb3J0IHsgd2FpdEZvclJlZGlyZWN0IH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCwgZWxlbWVudFByZXNlbnRPblBhZ2UsIGNsaWNrQnV0dG9uIH0gZnJvbSAnLi4vaGVscGVycy9lbGVtZW50cy1pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IGdldEFsbE1vbnRoTW9tZW50cyBmcm9tICcuLi9oZWxwZXJzL2RhdGVzJztcbmltcG9ydCB7IGZpeEluc3RhbGxtZW50cywgc29ydFRyYW5zYWN0aW9uc0J5RGF0ZSwgZmlsdGVyT2xkVHJhbnNhY3Rpb25zIH0gZnJvbSAnLi4vaGVscGVycy90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMgfSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgU2NhcGVyT3B0aW9ucywgU2NyYXBlckNyZWRlbnRpYWxzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHsgZ2V0RGVidWcgfSBmcm9tICcuLi9oZWxwZXJzL2RlYnVnJztcblxuY29uc3QgZGVidWcgPSBnZXREZWJ1ZygnbWF4Jyk7XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb24ge1xuICBzaG9ydENhcmROdW1iZXI6IHN0cmluZztcbiAgcGF5bWVudERhdGU/OiBzdHJpbmc7XG4gIHB1cmNoYXNlRGF0ZTogc3RyaW5nO1xuICBhY3R1YWxQYXltZW50QW1vdW50OiBzdHJpbmc7XG4gIG9yaWdpbmFsQ3VycmVuY3k6IHN0cmluZztcbiAgb3JpZ2luYWxBbW91bnQ6IG51bWJlcjtcbiAgcGxhbk5hbWU6IHN0cmluZztcbiAgY29tbWVudHM6IHN0cmluZztcbiAgbWVyY2hhbnROYW1lOiBzdHJpbmc7XG4gIGNhdGVnb3J5SWQ6IG51bWJlcjtcbn1cblxuY29uc3QgQkFTRV9BQ1RJT05TX1VSTCA9ICdodHRwczovL29ubGluZS5tYXguY28uaWwnO1xuY29uc3QgQkFTRV9BUElfQUNUSU9OU19VUkwgPSAnaHR0cHM6Ly9vbmxpbmVsY2FwaS5tYXguY28uaWwnO1xuY29uc3QgQkFTRV9XRUxDT01FX1VSTCA9ICdodHRwczovL3d3dy5tYXguY28uaWwnO1xuXG5jb25zdCBMT0dJTl9VUkwgPSBgJHtCQVNFX1dFTENPTUVfVVJMfS9ob21lcGFnZS93ZWxjb21lYDtcbmNvbnN0IFBBU1NXT1JEX0VYUElSRURfVVJMID0gYCR7QkFTRV9BQ1RJT05TX1VSTH0vQW5vbnltb3VzL0xvZ2luL1Bhc3N3b3JkRXhwaXJlZC5hc3B4YDtcbmNvbnN0IFNVQ0NFU1NfVVJMID0gYCR7QkFTRV9XRUxDT01FX1VSTH0vaG9tZXBhZ2UvcGVyc29uYWxgO1xuXG5jb25zdCBOT1JNQUxfVFlQRV9OQU1FID0gJ9eo15LXmdec15QnO1xuY29uc3QgQVRNX1RZUEVfTkFNRSA9ICfXl9eZ15XXkSDXoteh16fXldeqINee15nXmdeT15knO1xuY29uc3QgSU5URVJORVRfU0hPUFBJTkdfVFlQRV9OQU1FID0gJ9eQ15nXoNeY16jXoNeYL9eX15VcItecJztcbmNvbnN0IElOU1RBTExNRU5UU19UWVBFX05BTUUgPSAn16rXqdec15XXnteZ150nO1xuY29uc3QgTU9OVEhMWV9DSEFSR0VfVFlQRV9OQU1FID0gJ9eX15nXldeRINeX15XXk9ep15knO1xuY29uc3QgT05FX01PTlRIX1BPU1RQT05FRF9UWVBFX05BTUUgPSAn15PXl9eV15kg15fXldeT16knO1xuY29uc3QgTU9OVEhMWV9QT1NUUE9ORURfVFlQRV9OQU1FID0gJ9eT15fXldeZINec15fXmdeV15Eg15TXl9eV15PXqdeZJztcbmNvbnN0IE1PTlRITFlfUEFZTUVOVF9UWVBFX05BTUUgPSAn16rXqdec15XXnSDXl9eV15PXqdeZJztcbmNvbnN0IEZVVFVSRV9QVVJDSEFTRV9GSU5BTkNJTkcgPSAn157Xmdee15XXnyDXnNeo15vXmdep15Qg16LXqteZ15PXmdeqJztcbmNvbnN0IE1PTlRITFlfUE9TVFBPTkVEX0lOU1RBTExNRU5UU19UWVBFX05BTUUgPSAn15PXl9eV15kg15fXldeT16kg16rXqdec15XXnteZ150nO1xuY29uc3QgVEhJUlRZX0RBWVNfUExVU19UWVBFX05BTUUgPSAn16LXoden16ogMzAg16TXnNeV16EnO1xuY29uc3QgVFdPX01PTlRIU19QT1NUUE9ORURfVFlQRV9OQU1FID0gJ9eT15fXldeZINeX15XXk9ep15nXmdedJztcbmNvbnN0IE1PTlRITFlfQ0hBUkdFX1BMVVNfSU5URVJFU1RfVFlQRV9OQU1FID0gJ9eX15XXk9ep15kgKyDXqNeZ15HXmdeqJztcbmNvbnN0IENSRURJVF9UWVBFX05BTUUgPSAn16fXqNeT15nXmCc7XG5jb25zdCBBQ0NVTVVMQVRJTkdfQkFTS0VUID0gJ9eh15wg157XpteY15HXqCc7XG5jb25zdCBQT1NUUE9ORURfVFJBTlNBQ1RJT05fSU5TVEFMTE1FTlRTID0gJ9ek16jXmdeh16og15TXoteh16fXlCDXlNeT15fXldeZ15QnO1xuXG5jb25zdCBJTlZBTElEX0RFVEFJTFNfU0VMRUNUT1IgPSAnI3BvcHVwV3JvbmdEZXRhaWxzJztcbmNvbnN0IExPR0lOX0VSUk9SX1NFTEVDVE9SID0gJyNwb3B1cENhcmRIb2xkZXJzTG9naW5FcnJvcic7XG5cbmNvbnN0IGNhdGVnb3JpZXMgPSBuZXcgTWFwPG51bWJlciwgc3RyaW5nPigpO1xuXG5mdW5jdGlvbiByZWRpcmVjdE9yRGlhbG9nKHBhZ2U6IFBhZ2UpIHtcbiAgcmV0dXJuIFByb21pc2UucmFjZShbXG4gICAgd2FpdEZvclJlZGlyZWN0KHBhZ2UsIDIwMDAwLCBmYWxzZSwgW0JBU0VfV0VMQ09NRV9VUkwsIGAke0JBU0VfV0VMQ09NRV9VUkx9L2BdKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgSU5WQUxJRF9ERVRBSUxTX1NFTEVDVE9SLCB0cnVlKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgTE9HSU5fRVJST1JfU0VMRUNUT1IsIHRydWUpLFxuICBdKTtcbn1cblxuZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25zVXJsKG1vbnRoTW9tZW50OiBNb21lbnQpIHtcbiAgY29uc3QgbW9udGggPSBtb250aE1vbWVudC5tb250aCgpICsgMTtcbiAgY29uc3QgeWVhciA9IG1vbnRoTW9tZW50LnllYXIoKTtcbiAgY29uc3QgZGF0ZSA9IGAke3llYXJ9LSR7bW9udGh9LTAxYDtcblxuICAvKipcbiAgICAgKiB1cmwgZXhwbGFuYXRpb246XG4gICAgICogdXNlckluZGV4OiAtMSBmb3IgYWxsIGFjY291bnQgb3duZXJzXG4gICAgICogY2FyZEluZGV4OiAtMSBmb3IgYWxsIGNhcmRzIHVuZGVyIHRoZSBhY2NvdW50XG4gICAgICogYWxsIG90aGVyIHF1ZXJ5IHBhcmFtcyBhcmUgc3RhdGljLCBiZXNpZGUgdGhlIGRhdGUgd2hpY2ggY2hhbmdlcyBmb3IgcmVxdWVzdCBwZXIgbW9udGhcbiAgICAgKi9cbiAgcmV0dXJuIGJ1aWxkVXJsKEJBU0VfQVBJX0FDVElPTlNfVVJMLCB7XG4gICAgcGF0aDogYC9hcGkvcmVnaXN0ZXJlZC90cmFuc2FjdGlvbkRldGFpbHMvZ2V0VHJhbnNhY3Rpb25zQW5kR3JhcGhzP2ZpbHRlckRhdGE9e1widXNlckluZGV4XCI6LTEsXCJjYXJkSW5kZXhcIjotMSxcIm1vbnRoVmlld1wiOnRydWUsXCJkYXRlXCI6XCIke2RhdGV9XCIsXCJkYXRlc1wiOntcInN0YXJ0RGF0ZVwiOlwiMFwiLFwiZW5kRGF0ZVwiOlwiMFwifSxcImJhbmtBY2NvdW50XCI6e1wiYmFua0FjY291bnRJbmRleFwiOi0xLFwiY2FyZHNcIjpudWxsfX0mZmlyc3RDYWxsQ2FyZEluZGV4PS0xYCxcbiAgfSk7XG59XG5cbmludGVyZmFjZSBGZXRjaENhdGVnb3J5UmVzdWx0IHtcbiAgcmVzdWx0PyA6IEFycmF5PHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgfT47XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGxvYWRDYXRlZ29yaWVzKHBhZ2U6IFBhZ2UpIHtcbiAgZGVidWcoJ0xvYWRpbmcgY2F0ZWdvcmllcycpO1xuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaEdldFdpdGhpblBhZ2U8RmV0Y2hDYXRlZ29yeVJlc3VsdD4ocGFnZSwgYCR7QkFTRV9BUElfQUNUSU9OU19VUkx9L2FwaS9jb250ZW50cy9nZXRDYXRlZ29yaWVzYCk7XG4gIGlmIChyZXMgJiYgQXJyYXkuaXNBcnJheShyZXMucmVzdWx0KSkge1xuICAgIGRlYnVnKGAke3Jlcy5yZXN1bHQubGVuZ3RofSBjYXRlZ29yaWVzIGxvYWRlZGApO1xuICAgICAgcmVzLnJlc3VsdD8uZm9yRWFjaCgoeyBpZCwgbmFtZSB9KSA9PiBjYXRlZ29yaWVzLnNldChpZCwgbmFtZSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uVHlwZSh0eG5UeXBlU3RyOiBzdHJpbmcpIHtcbiAgY29uc3QgY2xlYW5lZFVwVHhuVHlwZVN0ciA9IHR4blR5cGVTdHIucmVwbGFjZSgnXFx0JywgJyAnKS50cmltKCk7XG4gIHN3aXRjaCAoY2xlYW5lZFVwVHhuVHlwZVN0cikge1xuICAgIGNhc2UgQVRNX1RZUEVfTkFNRTpcbiAgICBjYXNlIE5PUk1BTF9UWVBFX05BTUU6XG4gICAgY2FzZSBNT05USExZX0NIQVJHRV9UWVBFX05BTUU6XG4gICAgY2FzZSBPTkVfTU9OVEhfUE9TVFBPTkVEX1RZUEVfTkFNRTpcbiAgICBjYXNlIE1PTlRITFlfUE9TVFBPTkVEX1RZUEVfTkFNRTpcbiAgICBjYXNlIEZVVFVSRV9QVVJDSEFTRV9GSU5BTkNJTkc6XG4gICAgY2FzZSBNT05USExZX1BBWU1FTlRfVFlQRV9OQU1FOlxuICAgIGNhc2UgTU9OVEhMWV9QT1NUUE9ORURfSU5TVEFMTE1FTlRTX1RZUEVfTkFNRTpcbiAgICBjYXNlIFRISVJUWV9EQVlTX1BMVVNfVFlQRV9OQU1FOlxuICAgIGNhc2UgVFdPX01PTlRIU19QT1NUUE9ORURfVFlQRV9OQU1FOlxuICAgIGNhc2UgQUNDVU1VTEFUSU5HX0JBU0tFVDpcbiAgICBjYXNlIElOVEVSTkVUX1NIT1BQSU5HX1RZUEVfTkFNRTpcbiAgICBjYXNlIE1PTlRITFlfQ0hBUkdFX1BMVVNfSU5URVJFU1RfVFlQRV9OQU1FOlxuICAgIGNhc2UgUE9TVFBPTkVEX1RSQU5TQUNUSU9OX0lOU1RBTExNRU5UUzpcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbDtcbiAgICBjYXNlIElOU1RBTExNRU5UU19UWVBFX05BTUU6XG4gICAgY2FzZSBDUkVESVRfVFlQRV9OQU1FOlxuICAgICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZXMuSW5zdGFsbG1lbnRzO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gdHJhbnNhY3Rpb24gdHlwZSAke2NsZWFuZWRVcFR4blR5cGVTdHJ9YCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0SW5zdGFsbG1lbnRzSW5mbyhjb21tZW50czogc3RyaW5nKSB7XG4gIGlmICghY29tbWVudHMpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBtYXRjaGVzID0gY29tbWVudHMubWF0Y2goL1xcZCsvZyk7XG4gIGlmICghbWF0Y2hlcyB8fCBtYXRjaGVzLmxlbmd0aCA8IDIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbnVtYmVyOiBwYXJzZUludChtYXRjaGVzWzBdLCAxMCksXG4gICAgdG90YWw6IHBhcnNlSW50KG1hdGNoZXNbMV0sIDEwKSxcbiAgfTtcbn1cbmZ1bmN0aW9uIG1hcFRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBTY3JhcGVkVHJhbnNhY3Rpb24pOiBUcmFuc2FjdGlvbiB7XG4gIGNvbnN0IGlzUGVuZGluZyA9IHJhd1RyYW5zYWN0aW9uLnBheW1lbnREYXRlID09PSBudWxsO1xuICBjb25zdCBwcm9jZXNzZWREYXRlID0gbW9tZW50KGlzUGVuZGluZyA/XG4gICAgcmF3VHJhbnNhY3Rpb24ucHVyY2hhc2VEYXRlIDpcbiAgICByYXdUcmFuc2FjdGlvbi5wYXltZW50RGF0ZSkudG9JU09TdHJpbmcoKTtcbiAgY29uc3Qgc3RhdHVzID0gaXNQZW5kaW5nID8gVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nIDogVHJhbnNhY3Rpb25TdGF0dXNlcy5Db21wbGV0ZWQ7XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBnZXRUcmFuc2FjdGlvblR5cGUocmF3VHJhbnNhY3Rpb24ucGxhbk5hbWUpLFxuICAgIGRhdGU6IG1vbWVudChyYXdUcmFuc2FjdGlvbi5wdXJjaGFzZURhdGUpLnRvSVNPU3RyaW5nKCksXG4gICAgcHJvY2Vzc2VkRGF0ZSxcbiAgICBvcmlnaW5hbEFtb3VudDogLXJhd1RyYW5zYWN0aW9uLm9yaWdpbmFsQW1vdW50LFxuICAgIG9yaWdpbmFsQ3VycmVuY3k6IHJhd1RyYW5zYWN0aW9uLm9yaWdpbmFsQ3VycmVuY3ksXG4gICAgY2hhcmdlZEFtb3VudDogLXJhd1RyYW5zYWN0aW9uLmFjdHVhbFBheW1lbnRBbW91bnQsXG4gICAgZGVzY3JpcHRpb246IHJhd1RyYW5zYWN0aW9uLm1lcmNoYW50TmFtZS50cmltKCksXG4gICAgbWVtbzogcmF3VHJhbnNhY3Rpb24uY29tbWVudHMsXG4gICAgY2F0ZWdvcnk6IGNhdGVnb3JpZXMuZ2V0KHJhd1RyYW5zYWN0aW9uPy5jYXRlZ29yeUlkKSxcbiAgICBpbnN0YWxsbWVudHM6IGdldEluc3RhbGxtZW50c0luZm8ocmF3VHJhbnNhY3Rpb24uY29tbWVudHMpIHx8IHVuZGVmaW5lZCxcbiAgICBzdGF0dXMsXG4gIH07XG59XG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uc1Jlc3VsdHtcbiAgcmVzdWx0Pzoge1xuICAgIHRyYW5zYWN0aW9uczogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zRm9yTW9udGgocGFnZTogUGFnZSwgbW9udGhNb21lbnQ6IE1vbWVudCkge1xuICBjb25zdCB1cmwgPSBnZXRUcmFuc2FjdGlvbnNVcmwobW9udGhNb21lbnQpO1xuXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCBmZXRjaEdldFdpdGhpblBhZ2U8U2NyYXBlZFRyYW5zYWN0aW9uc1Jlc3VsdD4ocGFnZSwgdXJsKTtcbiAgY29uc3QgdHJhbnNhY3Rpb25zQnlBY2NvdW50OiBSZWNvcmQ8c3RyaW5nLCBUcmFuc2FjdGlvbltdPiA9IHt9O1xuXG4gIGlmICghZGF0YSB8fCAhZGF0YS5yZXN1bHQpIHJldHVybiB0cmFuc2FjdGlvbnNCeUFjY291bnQ7XG5cbiAgZGF0YS5yZXN1bHQudHJhbnNhY3Rpb25zXG4gICAgLy8gRmlsdGVyIG91dCBub24tdHJhbnNhY3Rpb25zIHdpdGhvdXQgYSBwbGFuIHR5cGUsIGUuZy4gc3VtbWFyeSByb3dzXG4gICAgLmZpbHRlcigodHJhbnNhY3Rpb24pID0+ICEhdHJhbnNhY3Rpb24ucGxhbk5hbWUpXG4gICAgLmZvckVhY2goKHRyYW5zYWN0aW9uOiBTY3JhcGVkVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgIGlmICghdHJhbnNhY3Rpb25zQnlBY2NvdW50W3RyYW5zYWN0aW9uLnNob3J0Q2FyZE51bWJlcl0pIHtcbiAgICAgICAgdHJhbnNhY3Rpb25zQnlBY2NvdW50W3RyYW5zYWN0aW9uLnNob3J0Q2FyZE51bWJlcl0gPSBbXTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWFwcGVkVHJhbnNhY3Rpb24gPSBtYXBUcmFuc2FjdGlvbih0cmFuc2FjdGlvbik7XG4gICAgICB0cmFuc2FjdGlvbnNCeUFjY291bnRbdHJhbnNhY3Rpb24uc2hvcnRDYXJkTnVtYmVyXS5wdXNoKG1hcHBlZFRyYW5zYWN0aW9uKTtcbiAgICB9KTtcblxuICByZXR1cm4gdHJhbnNhY3Rpb25zQnlBY2NvdW50O1xufVxuXG5mdW5jdGlvbiBhZGRSZXN1bHQoYWxsUmVzdWx0czogUmVjb3JkPHN0cmluZywgVHJhbnNhY3Rpb25bXT4sIHJlc3VsdDogUmVjb3JkPHN0cmluZywgVHJhbnNhY3Rpb25bXT4pIHtcbiAgY29uc3QgY2xvbmVkUmVzdWx0czogUmVjb3JkPHN0cmluZywgVHJhbnNhY3Rpb25bXT4gPSB7IC4uLmFsbFJlc3VsdHMgfTtcbiAgT2JqZWN0LmtleXMocmVzdWx0KS5mb3JFYWNoKChhY2NvdW50TnVtYmVyKSA9PiB7XG4gICAgaWYgKCFjbG9uZWRSZXN1bHRzW2FjY291bnROdW1iZXJdKSB7XG4gICAgICBjbG9uZWRSZXN1bHRzW2FjY291bnROdW1iZXJdID0gW107XG4gICAgfVxuICAgIGNsb25lZFJlc3VsdHNbYWNjb3VudE51bWJlcl0ucHVzaCguLi5yZXN1bHRbYWNjb3VudE51bWJlcl0pO1xuICB9KTtcbiAgcmV0dXJuIGNsb25lZFJlc3VsdHM7XG59XG5cbmZ1bmN0aW9uIHByZXBhcmVUcmFuc2FjdGlvbnModHhuczogVHJhbnNhY3Rpb25bXSwgc3RhcnRNb21lbnQ6IG1vbWVudC5Nb21lbnQsIGNvbWJpbmVJbnN0YWxsbWVudHM6IGJvb2xlYW4pIHtcbiAgbGV0IGNsb25lZFR4bnMgPSBBcnJheS5mcm9tKHR4bnMpO1xuICBpZiAoIWNvbWJpbmVJbnN0YWxsbWVudHMpIHtcbiAgICBjbG9uZWRUeG5zID0gZml4SW5zdGFsbG1lbnRzKGNsb25lZFR4bnMpO1xuICB9XG4gIGNsb25lZFR4bnMgPSBzb3J0VHJhbnNhY3Rpb25zQnlEYXRlKGNsb25lZFR4bnMpO1xuICBjbG9uZWRUeG5zID0gZmlsdGVyT2xkVHJhbnNhY3Rpb25zKGNsb25lZFR4bnMsIHN0YXJ0TW9tZW50LCBjb21iaW5lSW5zdGFsbG1lbnRzIHx8IGZhbHNlKTtcbiAgcmV0dXJuIGNsb25lZFR4bnM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zKHBhZ2U6IFBhZ2UsIG9wdGlvbnM6IFNjYXBlck9wdGlvbnMpIHtcbiAgY29uc3QgZnV0dXJlTW9udGhzVG9TY3JhcGUgPSBvcHRpb25zLmZ1dHVyZU1vbnRoc1RvU2NyYXBlID8/IDE7XG4gIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICd5ZWFycycpO1xuICBjb25zdCBzdGFydERhdGUgPSBvcHRpb25zLnN0YXJ0RGF0ZSB8fCBkZWZhdWx0U3RhcnRNb21lbnQudG9EYXRlKCk7XG4gIGNvbnN0IHN0YXJ0TW9tZW50ID0gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcbiAgY29uc3QgYWxsTW9udGhzID0gZ2V0QWxsTW9udGhNb21lbnRzKHN0YXJ0TW9tZW50LCBmdXR1cmVNb250aHNUb1NjcmFwZSk7XG5cbiAgYXdhaXQgbG9hZENhdGVnb3JpZXMocGFnZSk7XG5cbiAgbGV0IGFsbFJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIFRyYW5zYWN0aW9uW10+ID0ge307XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYWxsTW9udGhzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbnNGb3JNb250aChwYWdlLCBhbGxNb250aHNbaV0pO1xuICAgIGFsbFJlc3VsdHMgPSBhZGRSZXN1bHQoYWxsUmVzdWx0cywgcmVzdWx0KTtcbiAgfVxuXG4gIE9iamVjdC5rZXlzKGFsbFJlc3VsdHMpLmZvckVhY2goKGFjY291bnROdW1iZXIpID0+IHtcbiAgICBsZXQgdHhucyA9IGFsbFJlc3VsdHNbYWNjb3VudE51bWJlcl07XG4gICAgdHhucyA9IHByZXBhcmVUcmFuc2FjdGlvbnModHhucywgc3RhcnRNb21lbnQsIG9wdGlvbnMuY29tYmluZUluc3RhbGxtZW50cyB8fCBmYWxzZSk7XG4gICAgYWxsUmVzdWx0c1thY2NvdW50TnVtYmVyXSA9IHR4bnM7XG4gIH0pO1xuXG4gIHJldHVybiBhbGxSZXN1bHRzO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyhwYWdlOiBQYWdlKTogUG9zc2libGVMb2dpblJlc3VsdHMge1xuICBjb25zdCB1cmxzOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyA9IHt9O1xuICB1cmxzW0xvZ2luUmVzdWx0cy5TdWNjZXNzXSA9IFtTVUNDRVNTX1VSTF07XG4gIHVybHNbTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkXSA9IFtQQVNTV09SRF9FWFBJUkVEX1VSTF07XG4gIHVybHNbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF0gPSBbYXN5bmMgKCkgPT4ge1xuICAgIHJldHVybiBlbGVtZW50UHJlc2VudE9uUGFnZShwYWdlLCBJTlZBTElEX0RFVEFJTFNfU0VMRUNUT1IpO1xuICB9XTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuVW5rbm93bkVycm9yXSA9IFthc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuIGVsZW1lbnRQcmVzZW50T25QYWdlKHBhZ2UsIExPR0lOX0VSUk9SX1NFTEVDVE9SKTtcbiAgfV07XG4gIHJldHVybiB1cmxzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogJyN1c2VyLW5hbWUnLCB2YWx1ZTogY3JlZGVudGlhbHMudXNlcm5hbWUgfSxcbiAgICB7IHNlbGVjdG9yOiAnI3Bhc3N3b3JkJywgdmFsdWU6IGNyZWRlbnRpYWxzLnBhc3N3b3JkIH0sXG4gIF07XG59XG5cbmNsYXNzIE1heFNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIHtcbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IExPR0lOX1VSTCxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6ICcjbG9naW4tcGFzc3dvcmQgI3NlbmQtY29kZScsXG4gICAgICBwcmVBY3Rpb246IGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKGF3YWl0IGVsZW1lbnRQcmVzZW50T25QYWdlKHRoaXMucGFnZSwgJyNjbG9zZVBvcHVwJykpIHtcbiAgICAgICAgICBhd2FpdCBjbGlja0J1dHRvbih0aGlzLnBhZ2UsICcjY2xvc2VQb3B1cCcpO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHRoaXMucGFnZSwgJy5wZXJzb25hbC1hcmVhID4gYS5nby10by1wZXJzb25hbC1hcmVhJyk7XG4gICAgICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICcjbG9naW4tcGFzc3dvcmQtbGluaycsIHRydWUpO1xuICAgICAgICBhd2FpdCBjbGlja0J1dHRvbih0aGlzLnBhZ2UsICcjbG9naW4tcGFzc3dvcmQtbGluaycpO1xuICAgICAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnI2xvZ2luLXBhc3N3b3JkLnRhYi1wYW5lLmFjdGl2ZSBhcHAtdXNlci1sb2dpbi1mb3JtJywgdHJ1ZSk7XG4gICAgICB9LFxuICAgICAgY2hlY2tSZWFkaW5lc3M6IGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJy5wZXJzb25hbC1hcmVhID4gYS5nby10by1wZXJzb25hbC1hcmVhJywgdHJ1ZSk7XG4gICAgICB9LFxuICAgICAgcG9zdEFjdGlvbjogYXN5bmMgKCkgPT4gcmVkaXJlY3RPckRpYWxvZyh0aGlzLnBhZ2UpLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyh0aGlzLnBhZ2UpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKSB7XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IGZldGNoVHJhbnNhY3Rpb25zKHRoaXMucGFnZSwgdGhpcy5vcHRpb25zKTtcbiAgICBjb25zdCBhY2NvdW50cyA9IE9iamVjdC5rZXlzKHJlc3VsdHMpLm1hcCgoYWNjb3VudE51bWJlcikgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWNjb3VudE51bWJlcixcbiAgICAgICAgdHhuczogcmVzdWx0c1thY2NvdW50TnVtYmVyXSxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgIGFjY291bnRzLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTWF4U2NyYXBlcjtcbiJdfQ==
|
|
304
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9tYXgudHMiXSwibmFtZXMiOlsiZGVidWciLCJCQVNFX0FDVElPTlNfVVJMIiwiQkFTRV9BUElfQUNUSU9OU19VUkwiLCJCQVNFX1dFTENPTUVfVVJMIiwiTE9HSU5fVVJMIiwiUEFTU1dPUkRfRVhQSVJFRF9VUkwiLCJTVUNDRVNTX1VSTCIsIk5PUk1BTF9UWVBFX05BTUUiLCJBVE1fVFlQRV9OQU1FIiwiSU5URVJORVRfU0hPUFBJTkdfVFlQRV9OQU1FIiwiSU5TVEFMTE1FTlRTX1RZUEVfTkFNRSIsIk1PTlRITFlfQ0hBUkdFX1RZUEVfTkFNRSIsIk9ORV9NT05USF9QT1NUUE9ORURfVFlQRV9OQU1FIiwiTU9OVEhMWV9QT1NUUE9ORURfVFlQRV9OQU1FIiwiTU9OVEhMWV9QQVlNRU5UX1RZUEVfTkFNRSIsIkZVVFVSRV9QVVJDSEFTRV9GSU5BTkNJTkciLCJNT05USExZX1BPU1RQT05FRF9JTlNUQUxMTUVOVFNfVFlQRV9OQU1FIiwiVEhJUlRZX0RBWVNfUExVU19UWVBFX05BTUUiLCJUV09fTU9OVEhTX1BPU1RQT05FRF9UWVBFX05BTUUiLCJNT05USExZX0NIQVJHRV9QTFVTX0lOVEVSRVNUX1RZUEVfTkFNRSIsIkNSRURJVF9UWVBFX05BTUUiLCJBQ0NVTVVMQVRJTkdfQkFTS0VUIiwiUE9TVFBPTkVEX1RSQU5TQUNUSU9OX0lOU1RBTExNRU5UUyIsIklOVkFMSURfREVUQUlMU19TRUxFQ1RPUiIsIkxPR0lOX0VSUk9SX1NFTEVDVE9SIiwiY2F0ZWdvcmllcyIsIk1hcCIsInJlZGlyZWN0T3JEaWFsb2ciLCJwYWdlIiwiUHJvbWlzZSIsInJhY2UiLCJnZXRUcmFuc2FjdGlvbnNVcmwiLCJtb250aE1vbWVudCIsIm1vbnRoIiwieWVhciIsImRhdGUiLCJwYXRoIiwibG9hZENhdGVnb3JpZXMiLCJyZXMiLCJBcnJheSIsImlzQXJyYXkiLCJyZXN1bHQiLCJsZW5ndGgiLCJmb3JFYWNoIiwiaWQiLCJuYW1lIiwic2V0IiwiZ2V0VHJhbnNhY3Rpb25UeXBlIiwidHhuVHlwZVN0ciIsImNsZWFuZWRVcFR4blR5cGVTdHIiLCJyZXBsYWNlIiwidHJpbSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJJbnN0YWxsbWVudHMiLCJFcnJvciIsImdldEluc3RhbGxtZW50c0luZm8iLCJjb21tZW50cyIsIm1hdGNoZXMiLCJtYXRjaCIsIm51bWJlciIsInBhcnNlSW50IiwidG90YWwiLCJtYXBUcmFuc2FjdGlvbiIsInJhd1RyYW5zYWN0aW9uIiwiaXNQZW5kaW5nIiwicGF5bWVudERhdGUiLCJwcm9jZXNzZWREYXRlIiwicHVyY2hhc2VEYXRlIiwidG9JU09TdHJpbmciLCJzdGF0dXMiLCJUcmFuc2FjdGlvblN0YXR1c2VzIiwiUGVuZGluZyIsIkNvbXBsZXRlZCIsInR5cGUiLCJwbGFuTmFtZSIsIm9yaWdpbmFsQW1vdW50Iiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRBbW91bnQiLCJhY3R1YWxQYXltZW50QW1vdW50IiwiZGVzY3JpcHRpb24iLCJtZXJjaGFudE5hbWUiLCJtZW1vIiwiY2F0ZWdvcnkiLCJnZXQiLCJjYXRlZ29yeUlkIiwiaW5zdGFsbG1lbnRzIiwidW5kZWZpbmVkIiwiZmV0Y2hUcmFuc2FjdGlvbnNGb3JNb250aCIsInVybCIsImRhdGEiLCJ0cmFuc2FjdGlvbnNCeUFjY291bnQiLCJ0cmFuc2FjdGlvbnMiLCJmaWx0ZXIiLCJ0cmFuc2FjdGlvbiIsInNob3J0Q2FyZE51bWJlciIsIm1hcHBlZFRyYW5zYWN0aW9uIiwicHVzaCIsImFkZFJlc3VsdCIsImFsbFJlc3VsdHMiLCJjbG9uZWRSZXN1bHRzIiwiT2JqZWN0Iiwia2V5cyIsImFjY291bnROdW1iZXIiLCJwcmVwYXJlVHJhbnNhY3Rpb25zIiwidHhucyIsInN0YXJ0TW9tZW50IiwiY29tYmluZUluc3RhbGxtZW50cyIsImNsb25lZFR4bnMiLCJmcm9tIiwiZmV0Y2hUcmFuc2FjdGlvbnMiLCJvcHRpb25zIiwiZnV0dXJlTW9udGhzVG9TY3JhcGUiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsInN0YXJ0RGF0ZSIsInRvRGF0ZSIsIm1vbWVudCIsIm1heCIsImFsbE1vbnRocyIsImkiLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiQ2hhbmdlUGFzc3dvcmQiLCJJbnZhbGlkUGFzc3dvcmQiLCJVbmtub3duRXJyb3IiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJNYXhTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldExvZ2luT3B0aW9ucyIsImxvZ2luVXJsIiwiZmllbGRzIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJwcmVBY3Rpb24iLCJjaGVja1JlYWRpbmVzcyIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiLCJyZXN1bHRzIiwiYWNjb3VudHMiLCJtYXAiLCJzdWNjZXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7OztBQUVBLE1BQU1BLEtBQUssR0FBRyxxQkFBUyxLQUFULENBQWQ7QUFlQSxNQUFNQyxnQkFBZ0IsR0FBRywwQkFBekI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRywrQkFBN0I7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBRyx1QkFBekI7QUFFQSxNQUFNQyxTQUFTLEdBQUksR0FBRUQsZ0JBQWlCLG1CQUF0QztBQUNBLE1BQU1FLG9CQUFvQixHQUFJLEdBQUVKLGdCQUFpQix1Q0FBakQ7QUFDQSxNQUFNSyxXQUFXLEdBQUksR0FBRUgsZ0JBQWlCLG9CQUF4QztBQUVBLE1BQU1JLGdCQUFnQixHQUFHLE9BQXpCO0FBQ0EsTUFBTUMsYUFBYSxHQUFHLGtCQUF0QjtBQUNBLE1BQU1DLDJC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QU1tQyxRQUFRLEdBQUc3QyxNQUFNLENBQUNDLElBQVAsQ0FBWTJDLE9BQVosRUFBcUJFLEdBQXJCLENBQTBCNUMsYUFBRCxJQUFtQjtBQUMzRCxhQUFPO0FBQ0xBLFFBQUFBLGFBREs7QUFFTEUsUUFBQUEsSUFBSSxFQUFFd0MsT0FBTyxDQUFDMUMsYUFBRDtBQUZSLE9BQVA7QUFJRCxLQUxnQixDQUFqQjtBQU9BLFdBQU87QUFDTDZDLE1BQUFBLE9BQU8sRUFBRSxJQURKO0FBRUxGLE1BQUFBO0FBRkssS0FBUDtBQUlEOztBQXBDNkM7O2VBdUNqQ1osVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBidWlsZFVybCBmcm9tICdidWlsZC11cmwnO1xuaW1wb3J0IG1vbWVudCwgeyBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBmZXRjaEdldFdpdGhpblBhZ2UgfSBmcm9tICcuLi9oZWxwZXJzL2ZldGNoJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgUG9zc2libGVMb2dpblJlc3VsdHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlci13aXRoLWJyb3dzZXInO1xuaW1wb3J0IHsgd2FpdEZvclJlZGlyZWN0IH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCwgZWxlbWVudFByZXNlbnRPblBhZ2UsIGNsaWNrQnV0dG9uIH0gZnJvbSAnLi4vaGVscGVycy9lbGVtZW50cy1pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IGdldEFsbE1vbnRoTW9tZW50cyBmcm9tICcuLi9oZWxwZXJzL2RhdGVzJztcbmltcG9ydCB7IGZpeEluc3RhbGxtZW50cywgc29ydFRyYW5zYWN0aW9uc0J5RGF0ZSwgZmlsdGVyT2xkVHJhbnNhY3Rpb25zIH0gZnJvbSAnLi4vaGVscGVycy90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMgfSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgU2NyYXBlck9wdGlvbnMsIFNjcmFwZXJDcmVkZW50aWFscyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyJztcbmltcG9ydCB7IGdldERlYnVnIH0gZnJvbSAnLi4vaGVscGVycy9kZWJ1Zyc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ21heCcpO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgc2hvcnRDYXJkTnVtYmVyOiBzdHJpbmc7XG4gIHBheW1lbnREYXRlPzogc3RyaW5nO1xuICBwdXJjaGFzZURhdGU6IHN0cmluZztcbiAgYWN0dWFsUGF5bWVudEFtb3VudDogc3RyaW5nO1xuICBvcmlnaW5hbEN1cnJlbmN5OiBzdHJpbmc7XG4gIG9yaWdpbmFsQW1vdW50OiBudW1iZXI7XG4gIHBsYW5OYW1lOiBzdHJpbmc7XG4gIGNvbW1lbnRzOiBzdHJpbmc7XG4gIG1lcmNoYW50TmFtZTogc3RyaW5nO1xuICBjYXRlZ29yeUlkOiBudW1iZXI7XG59XG5cbmNvbnN0IEJBU0VfQUNUSU9OU19VUkwgPSAnaHR0cHM6Ly9vbmxpbmUubWF4LmNvLmlsJztcbmNvbnN0IEJBU0VfQVBJX0FDVElPTlNfVVJMID0gJ2h0dHBzOi8vb25saW5lbGNhcGkubWF4LmNvLmlsJztcbmNvbnN0IEJBU0VfV0VMQ09NRV9VUkwgPSAnaHR0cHM6Ly93d3cubWF4LmNvLmlsJztcblxuY29uc3QgTE9HSU5fVVJMID0gYCR7QkFTRV9XRUxDT01FX1VSTH0vaG9tZXBhZ2Uvd2VsY29tZWA7XG5jb25zdCBQQVNTV09SRF9FWFBJUkVEX1VSTCA9IGAke0JBU0VfQUNUSU9OU19VUkx9L0Fub255bW91cy9Mb2dpbi9QYXNzd29yZEV4cGlyZWQuYXNweGA7XG5jb25zdCBTVUNDRVNTX1VSTCA9IGAke0JBU0VfV0VMQ09NRV9VUkx9L2hvbWVwYWdlL3BlcnNvbmFsYDtcblxuY29uc3QgTk9STUFMX1RZUEVfTkFNRSA9ICfXqNeS15nXnNeUJztcbmNvbnN0IEFUTV9UWVBFX05BTUUgPSAn15fXmdeV15Eg16LXoden15XXqiDXnteZ15nXk9eZJztcbmNvbnN0IElOVEVSTkVUX1NIT1BQSU5HX1RZUEVfTkFNRSA9ICfXkNeZ16DXmNeo16DXmC/Xl9eVXCLXnCc7XG5jb25zdCBJTlNUQUxMTUVOVFNfVFlQRV9OQU1FID0gJ9eq16nXnNeV157XmdedJztcbmNvbnN0IE1PTlRITFlfQ0hBUkdFX1RZUEVfTkFNRSA9ICfXl9eZ15XXkSDXl9eV15PXqdeZJztcbmNvbnN0IE9ORV9NT05USF9QT1NUUE9ORURfVFlQRV9OQU1FID0gJ9eT15fXldeZINeX15XXk9epJztcbmNvbnN0IE1PTlRITFlfUE9TVFBPTkVEX1RZUEVfTkFNRSA9ICfXk9eX15XXmSDXnNeX15nXldeRINeU15fXldeT16nXmSc7XG5jb25zdCBNT05USExZX1BBWU1FTlRfVFlQRV9OQU1FID0gJ9eq16nXnNeV150g15fXldeT16nXmSc7XG5jb25zdCBGVVRVUkVfUFVSQ0hBU0VfRklOQU5DSU5HID0gJ9ee15nXnteV158g15zXqNeb15nXqdeUINei16rXmdeT15nXqic7XG5jb25zdCBNT05USExZX1BPU1RQT05FRF9JTlNUQUxMTUVOVFNfVFlQRV9OQU1FID0gJ9eT15fXldeZINeX15XXk9epINeq16nXnNeV157XmdedJztcbmNvbnN0IFRISVJUWV9EQVlTX1BMVVNfVFlQRV9OQU1FID0gJ9ei16HXp9eqIDMwINek15zXldehJztcbmNvbnN0IFRXT19NT05USFNfUE9TVFBPTkVEX1RZUEVfTkFNRSA9ICfXk9eX15XXmSDXl9eV15PXqdeZ15nXnSc7XG5jb25zdCBNT05USExZX0NIQVJHRV9QTFVTX0lOVEVSRVNUX1RZUEVfTkFNRSA9ICfXl9eV15PXqdeZICsg16jXmdeR15nXqic7XG5jb25zdCBDUkVESVRfVFlQRV9OQU1FID0gJ9en16jXk9eZ15gnO1xuY29uc3QgQUNDVU1VTEFUSU5HX0JBU0tFVCA9ICfXodecINee16bXmNeR16gnO1xuY29uc3QgUE9TVFBPTkVEX1RSQU5TQUNUSU9OX0lOU1RBTExNRU5UUyA9ICfXpNeo15nXodeqINeU16LXoden15Qg15TXk9eX15XXmdeUJztcblxuY29uc3QgSU5WQUxJRF9ERVRBSUxTX1NFTEVDVE9SID0gJyNwb3B1cFdyb25nRGV0YWlscyc7XG5jb25zdCBMT0dJTl9FUlJPUl9TRUxFQ1RPUiA9ICcjcG9wdXBDYXJkSG9sZGVyc0xvZ2luRXJyb3InO1xuXG5jb25zdCBjYXRlZ29yaWVzID0gbmV3IE1hcDxudW1iZXIsIHN0cmluZz4oKTtcblxuZnVuY3Rpb24gcmVkaXJlY3RPckRpYWxvZyhwYWdlOiBQYWdlKSB7XG4gIHJldHVybiBQcm9taXNlLnJhY2UoW1xuICAgIHdhaXRGb3JSZWRpcmVjdChwYWdlLCAyMDAwMCwgZmFsc2UsIFtCQVNFX1dFTENPTUVfVVJMLCBgJHtCQVNFX1dFTENPTUVfVVJMfS9gXSksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsIElOVkFMSURfREVUQUlMU19TRUxFQ1RPUiwgdHJ1ZSksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsIExPR0lOX0VSUk9SX1NFTEVDVE9SLCB0cnVlKSxcbiAgXSk7XG59XG5cbmZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uc1VybChtb250aE1vbWVudDogTW9tZW50KSB7XG4gIGNvbnN0IG1vbnRoID0gbW9udGhNb21lbnQubW9udGgoKSArIDE7XG4gIGNvbnN0IHllYXIgPSBtb250aE1vbWVudC55ZWFyKCk7XG4gIGNvbnN0IGRhdGUgPSBgJHt5ZWFyfS0ke21vbnRofS0wMWA7XG5cbiAgLyoqXG4gICAgICogdXJsIGV4cGxhbmF0aW9uOlxuICAgICAqIHVzZXJJbmRleDogLTEgZm9yIGFsbCBhY2NvdW50IG93bmVyc1xuICAgICAqIGNhcmRJbmRleDogLTEgZm9yIGFsbCBjYXJkcyB1bmRlciB0aGUgYWNjb3VudFxuICAgICAqIGFsbCBvdGhlciBxdWVyeSBwYXJhbXMgYXJlIHN0YXRpYywgYmVzaWRlIHRoZSBkYXRlIHdoaWNoIGNoYW5nZXMgZm9yIHJlcXVlc3QgcGVyIG1vbnRoXG4gICAgICovXG4gIHJldHVybiBidWlsZFVybChCQVNFX0FQSV9BQ1RJT05TX1VSTCwge1xuICAgIHBhdGg6IGAvYXBpL3JlZ2lzdGVyZWQvdHJhbnNhY3Rpb25EZXRhaWxzL2dldFRyYW5zYWN0aW9uc0FuZEdyYXBocz9maWx0ZXJEYXRhPXtcInVzZXJJbmRleFwiOi0xLFwiY2FyZEluZGV4XCI6LTEsXCJtb250aFZpZXdcIjp0cnVlLFwiZGF0ZVwiOlwiJHtkYXRlfVwiLFwiZGF0ZXNcIjp7XCJzdGFydERhdGVcIjpcIjBcIixcImVuZERhdGVcIjpcIjBcIn0sXCJiYW5rQWNjb3VudFwiOntcImJhbmtBY2NvdW50SW5kZXhcIjotMSxcImNhcmRzXCI6bnVsbH19JmZpcnN0Q2FsbENhcmRJbmRleD0tMWAsXG4gIH0pO1xufVxuXG5pbnRlcmZhY2UgRmV0Y2hDYXRlZ29yeVJlc3VsdCB7XG4gIHJlc3VsdD8gOiBBcnJheTx7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gIH0+O1xufVxuXG5hc3luYyBmdW5jdGlvbiBsb2FkQ2F0ZWdvcmllcyhwYWdlOiBQYWdlKSB7XG4gIGRlYnVnKCdMb2FkaW5nIGNhdGVnb3JpZXMnKTtcbiAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2hHZXRXaXRoaW5QYWdlPEZldGNoQ2F0ZWdvcnlSZXN1bHQ+KHBhZ2UsIGAke0JBU0VfQVBJX0FDVElPTlNfVVJMfS9hcGkvY29udGVudHMvZ2V0Q2F0ZWdvcmllc2ApO1xuICBpZiAocmVzICYmIEFycmF5LmlzQXJyYXkocmVzLnJlc3VsdCkpIHtcbiAgICBkZWJ1ZyhgJHtyZXMucmVzdWx0Lmxlbmd0aH0gY2F0ZWdvcmllcyBsb2FkZWRgKTtcbiAgICAgIHJlcy5yZXN1bHQ/LmZvckVhY2goKHsgaWQsIG5hbWUgfSkgPT4gY2F0ZWdvcmllcy5zZXQoaWQsIG5hbWUpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRUcmFuc2FjdGlvblR5cGUodHhuVHlwZVN0cjogc3RyaW5nKSB7XG4gIGNvbnN0IGNsZWFuZWRVcFR4blR5cGVTdHIgPSB0eG5UeXBlU3RyLnJlcGxhY2UoJ1xcdCcsICcgJykudHJpbSgpO1xuICBzd2l0Y2ggKGNsZWFuZWRVcFR4blR5cGVTdHIpIHtcbiAgICBjYXNlIEFUTV9UWVBFX05BTUU6XG4gICAgY2FzZSBOT1JNQUxfVFlQRV9OQU1FOlxuICAgIGNhc2UgTU9OVEhMWV9DSEFSR0VfVFlQRV9OQU1FOlxuICAgIGNhc2UgT05FX01PTlRIX1BPU1RQT05FRF9UWVBFX05BTUU6XG4gICAgY2FzZSBNT05USExZX1BPU1RQT05FRF9UWVBFX05BTUU6XG4gICAgY2FzZSBGVVRVUkVfUFVSQ0hBU0VfRklOQU5DSU5HOlxuICAgIGNhc2UgTU9OVEhMWV9QQVlNRU5UX1RZUEVfTkFNRTpcbiAgICBjYXNlIE1PTlRITFlfUE9TVFBPTkVEX0lOU1RBTExNRU5UU19UWVBFX05BTUU6XG4gICAgY2FzZSBUSElSVFlfREFZU19QTFVTX1RZUEVfTkFNRTpcbiAgICBjYXNlIFRXT19NT05USFNfUE9TVFBPTkVEX1RZUEVfTkFNRTpcbiAgICBjYXNlIEFDQ1VNVUxBVElOR19CQVNLRVQ6XG4gICAgY2FzZSBJTlRFUk5FVF9TSE9QUElOR19UWVBFX05BTUU6XG4gICAgY2FzZSBNT05USExZX0NIQVJHRV9QTFVTX0lOVEVSRVNUX1RZUEVfTkFNRTpcbiAgICBjYXNlIFBPU1RQT05FRF9UUkFOU0FDVElPTl9JTlNUQUxMTUVOVFM6XG4gICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWw7XG4gICAgY2FzZSBJTlNUQUxMTUVOVFNfVFlQRV9OQU1FOlxuICAgIGNhc2UgQ1JFRElUX1RZUEVfTkFNRTpcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGVzLkluc3RhbGxtZW50cztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHRyYW5zYWN0aW9uIHR5cGUgJHtjbGVhbmVkVXBUeG5UeXBlU3RyfWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEluc3RhbGxtZW50c0luZm8oY29tbWVudHM6IHN0cmluZykge1xuICBpZiAoIWNvbW1lbnRzKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgbWF0Y2hlcyA9IGNvbW1lbnRzLm1hdGNoKC9cXGQrL2cpO1xuICBpZiAoIW1hdGNoZXMgfHwgbWF0Y2hlcy5sZW5ndGggPCAyKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG51bWJlcjogcGFyc2VJbnQobWF0Y2hlc1swXSwgMTApLFxuICAgIHRvdGFsOiBwYXJzZUludChtYXRjaGVzWzFdLCAxMCksXG4gIH07XG59XG5mdW5jdGlvbiBtYXBUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogU2NyYXBlZFRyYW5zYWN0aW9uKTogVHJhbnNhY3Rpb24ge1xuICBjb25zdCBpc1BlbmRpbmcgPSByYXdUcmFuc2FjdGlvbi5wYXltZW50RGF0ZSA9PT0gbnVsbDtcbiAgY29uc3QgcHJvY2Vzc2VkRGF0ZSA9IG1vbWVudChpc1BlbmRpbmcgP1xuICAgIHJhd1RyYW5zYWN0aW9uLnB1cmNoYXNlRGF0ZSA6XG4gICAgcmF3VHJhbnNhY3Rpb24ucGF5bWVudERhdGUpLnRvSVNPU3RyaW5nKCk7XG4gIGNvbnN0IHN0YXR1cyA9IGlzUGVuZGluZyA/IFRyYW5zYWN0aW9uU3RhdHVzZXMuUGVuZGluZyA6IFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogZ2V0VHJhbnNhY3Rpb25UeXBlKHJhd1RyYW5zYWN0aW9uLnBsYW5OYW1lKSxcbiAgICBkYXRlOiBtb21lbnQocmF3VHJhbnNhY3Rpb24ucHVyY2hhc2VEYXRlKS50b0lTT1N0cmluZygpLFxuICAgIHByb2Nlc3NlZERhdGUsXG4gICAgb3JpZ2luYWxBbW91bnQ6IC1yYXdUcmFuc2FjdGlvbi5vcmlnaW5hbEFtb3VudCxcbiAgICBvcmlnaW5hbEN1cnJlbmN5OiByYXdUcmFuc2FjdGlvbi5vcmlnaW5hbEN1cnJlbmN5LFxuICAgIGNoYXJnZWRBbW91bnQ6IC1yYXdUcmFuc2FjdGlvbi5hY3R1YWxQYXltZW50QW1vdW50LFxuICAgIGRlc2NyaXB0aW9uOiByYXdUcmFuc2FjdGlvbi5tZXJjaGFudE5hbWUudHJpbSgpLFxuICAgIG1lbW86IHJhd1RyYW5zYWN0aW9uLmNvbW1lbnRzLFxuICAgIGNhdGVnb3J5OiBjYXRlZ29yaWVzLmdldChyYXdUcmFuc2FjdGlvbj8uY2F0ZWdvcnlJZCksXG4gICAgaW5zdGFsbG1lbnRzOiBnZXRJbnN0YWxsbWVudHNJbmZvKHJhd1RyYW5zYWN0aW9uLmNvbW1lbnRzKSB8fCB1bmRlZmluZWQsXG4gICAgc3RhdHVzLFxuICB9O1xufVxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbnNSZXN1bHR7XG4gIHJlc3VsdD86IHtcbiAgICB0cmFuc2FjdGlvbnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdO1xuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9uc0Zvck1vbnRoKHBhZ2U6IFBhZ2UsIG1vbnRoTW9tZW50OiBNb21lbnQpIHtcbiAgY29uc3QgdXJsID0gZ2V0VHJhbnNhY3Rpb25zVXJsKG1vbnRoTW9tZW50KTtcblxuICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2hHZXRXaXRoaW5QYWdlPFNjcmFwZWRUcmFuc2FjdGlvbnNSZXN1bHQ+KHBhZ2UsIHVybCk7XG4gIGNvbnN0IHRyYW5zYWN0aW9uc0J5QWNjb3VudDogUmVjb3JkPHN0cmluZywgVHJhbnNhY3Rpb25bXT4gPSB7fTtcblxuICBpZiAoIWRhdGEgfHwgIWRhdGEucmVzdWx0KSByZXR1cm4gdHJhbnNhY3Rpb25zQnlBY2NvdW50O1xuXG4gIGRhdGEucmVzdWx0LnRyYW5zYWN0aW9uc1xuICAgIC8vIEZpbHRlciBvdXQgbm9uLXRyYW5zYWN0aW9ucyB3aXRob3V0IGEgcGxhbiB0eXBlLCBlLmcuIHN1bW1hcnkgcm93c1xuICAgIC5maWx0ZXIoKHRyYW5zYWN0aW9uKSA9PiAhIXRyYW5zYWN0aW9uLnBsYW5OYW1lKVxuICAgIC5mb3JFYWNoKCh0cmFuc2FjdGlvbjogU2NyYXBlZFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICBpZiAoIXRyYW5zYWN0aW9uc0J5QWNjb3VudFt0cmFuc2FjdGlvbi5zaG9ydENhcmROdW1iZXJdKSB7XG4gICAgICAgIHRyYW5zYWN0aW9uc0J5QWNjb3VudFt0cmFuc2FjdGlvbi5zaG9ydENhcmROdW1iZXJdID0gW107XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1hcHBlZFRyYW5zYWN0aW9uID0gbWFwVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xuICAgICAgdHJhbnNhY3Rpb25zQnlBY2NvdW50W3RyYW5zYWN0aW9uLnNob3J0Q2FyZE51bWJlcl0ucHVzaChtYXBwZWRUcmFuc2FjdGlvbik7XG4gICAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zYWN0aW9uc0J5QWNjb3VudDtcbn1cblxuZnVuY3Rpb24gYWRkUmVzdWx0KGFsbFJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIFRyYW5zYWN0aW9uW10+LCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFRyYW5zYWN0aW9uW10+KSB7XG4gIGNvbnN0IGNsb25lZFJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIFRyYW5zYWN0aW9uW10+ID0geyAuLi5hbGxSZXN1bHRzIH07XG4gIE9iamVjdC5rZXlzKHJlc3VsdCkuZm9yRWFjaCgoYWNjb3VudE51bWJlcikgPT4ge1xuICAgIGlmICghY2xvbmVkUmVzdWx0c1thY2NvdW50TnVtYmVyXSkge1xuICAgICAgY2xvbmVkUmVzdWx0c1thY2NvdW50TnVtYmVyXSA9IFtdO1xuICAgIH1cbiAgICBjbG9uZWRSZXN1bHRzW2FjY291bnROdW1iZXJdLnB1c2goLi4ucmVzdWx0W2FjY291bnROdW1iZXJdKTtcbiAgfSk7XG4gIHJldHVybiBjbG9uZWRSZXN1bHRzO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlVHJhbnNhY3Rpb25zKHR4bnM6IFRyYW5zYWN0aW9uW10sIHN0YXJ0TW9tZW50OiBtb21lbnQuTW9tZW50LCBjb21iaW5lSW5zdGFsbG1lbnRzOiBib29sZWFuKSB7XG4gIGxldCBjbG9uZWRUeG5zID0gQXJyYXkuZnJvbSh0eG5zKTtcbiAgaWYgKCFjb21iaW5lSW5zdGFsbG1lbnRzKSB7XG4gICAgY2xvbmVkVHhucyA9IGZpeEluc3RhbGxtZW50cyhjbG9uZWRUeG5zKTtcbiAgfVxuICBjbG9uZWRUeG5zID0gc29ydFRyYW5zYWN0aW9uc0J5RGF0ZShjbG9uZWRUeG5zKTtcbiAgY2xvbmVkVHhucyA9IGZpbHRlck9sZFRyYW5zYWN0aW9ucyhjbG9uZWRUeG5zLCBzdGFydE1vbWVudCwgY29tYmluZUluc3RhbGxtZW50cyB8fCBmYWxzZSk7XG4gIHJldHVybiBjbG9uZWRUeG5zO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9ucyhwYWdlOiBQYWdlLCBvcHRpb25zOiBTY3JhcGVyT3B0aW9ucykge1xuICBjb25zdCBmdXR1cmVNb250aHNUb1NjcmFwZSA9IG9wdGlvbnMuZnV0dXJlTW9udGhzVG9TY3JhcGUgPz8gMTtcbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJyk7XG4gIGNvbnN0IHN0YXJ0RGF0ZSA9IG9wdGlvbnMuc3RhcnREYXRlIHx8IGRlZmF1bHRTdGFydE1vbWVudC50b0RhdGUoKTtcbiAgY29uc3Qgc3RhcnRNb21lbnQgPSBtb21lbnQubWF4KGRlZmF1bHRTdGFydE1vbWVudCwgbW9tZW50KHN0YXJ0RGF0ZSkpO1xuICBjb25zdCBhbGxNb250aHMgPSBnZXRBbGxNb250aE1vbWVudHMoc3RhcnRNb21lbnQsIGZ1dHVyZU1vbnRoc1RvU2NyYXBlKTtcblxuICBhd2FpdCBsb2FkQ2F0ZWdvcmllcyhwYWdlKTtcblxuICBsZXQgYWxsUmVzdWx0czogUmVjb3JkPHN0cmluZywgVHJhbnNhY3Rpb25bXT4gPSB7fTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhbGxNb250aHMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmZXRjaFRyYW5zYWN0aW9uc0Zvck1vbnRoKHBhZ2UsIGFsbE1vbnRoc1tpXSk7XG4gICAgYWxsUmVzdWx0cyA9IGFkZFJlc3VsdChhbGxSZXN1bHRzLCByZXN1bHQpO1xuICB9XG5cbiAgT2JqZWN0LmtleXMoYWxsUmVzdWx0cykuZm9yRWFjaCgoYWNjb3VudE51bWJlcikgPT4ge1xuICAgIGxldCB0eG5zID0gYWxsUmVzdWx0c1thY2NvdW50TnVtYmVyXTtcbiAgICB0eG5zID0gcHJlcGFyZVRyYW5zYWN0aW9ucyh0eG5zLCBzdGFydE1vbWVudCwgb3B0aW9ucy5jb21iaW5lSW5zdGFsbG1lbnRzIHx8IGZhbHNlKTtcbiAgICBhbGxSZXN1bHRzW2FjY291bnROdW1iZXJdID0gdHhucztcbiAgfSk7XG5cbiAgcmV0dXJuIGFsbFJlc3VsdHM7XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHBhZ2U6IFBhZ2UpOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyB7XG4gIGNvbnN0IHVybHM6IFBvc3NpYmxlTG9naW5SZXN1bHRzID0ge307XG4gIHVybHNbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdID0gW1NVQ0NFU1NfVVJMXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdID0gW1BBU1NXT1JEX0VYUElSRURfVVJMXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXSA9IFthc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuIGVsZW1lbnRQcmVzZW50T25QYWdlKHBhZ2UsIElOVkFMSURfREVUQUlMU19TRUxFQ1RPUik7XG4gIH1dO1xuICB1cmxzW0xvZ2luUmVzdWx0cy5Vbmtub3duRXJyb3JdID0gW2FzeW5jICgpID0+IHtcbiAgICByZXR1cm4gZWxlbWVudFByZXNlbnRPblBhZ2UocGFnZSwgTE9HSU5fRVJST1JfU0VMRUNUT1IpO1xuICB9XTtcbiAgcmV0dXJuIHVybHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiAnI3VzZXItbmFtZScsIHZhbHVlOiBjcmVkZW50aWFscy51c2VybmFtZSB9LFxuICAgIHsgc2VsZWN0b3I6ICcjcGFzc3dvcmQnLCB2YWx1ZTogY3JlZGVudGlhbHMucGFzc3dvcmQgfSxcbiAgXTtcbn1cblxuY2xhc3MgTWF4U2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogTE9HSU5fVVJMLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJyNsb2dpbi1wYXNzd29yZCAjc2VuZC1jb2RlJyxcbiAgICAgIHByZUFjdGlvbjogYXN5bmMgKCkgPT4ge1xuICAgICAgICBpZiAoYXdhaXQgZWxlbWVudFByZXNlbnRPblBhZ2UodGhpcy5wYWdlLCAnI2Nsb3NlUG9wdXAnKSkge1xuICAgICAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHRoaXMucGFnZSwgJyNjbG9zZVBvcHVwJyk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgY2xpY2tCdXR0b24odGhpcy5wYWdlLCAnLnBlcnNvbmFsLWFyZWEgPiBhLmdvLXRvLXBlcnNvbmFsLWFyZWEnKTtcbiAgICAgICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJyNsb2dpbi1wYXNzd29yZC1saW5rJywgdHJ1ZSk7XG4gICAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHRoaXMucGFnZSwgJyNsb2dpbi1wYXNzd29yZC1saW5rJyk7XG4gICAgICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICcjbG9naW4tcGFzc3dvcmQudGFiLXBhbmUuYWN0aXZlIGFwcC11c2VyLWxvZ2luLWZvcm0nLCB0cnVlKTtcbiAgICAgIH0sXG4gICAgICBjaGVja1JlYWRpbmVzczogYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnLnBlcnNvbmFsLWFyZWEgPiBhLmdvLXRvLXBlcnNvbmFsLWFyZWEnLCB0cnVlKTtcbiAgICAgIH0sXG4gICAgICBwb3N0QWN0aW9uOiBhc3luYyAoKSA9PiByZWRpcmVjdE9yRGlhbG9nKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHRoaXMucGFnZSksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbnModGhpcy5wYWdlLCB0aGlzLm9wdGlvbnMpO1xuICAgIGNvbnN0IGFjY291bnRzID0gT2JqZWN0LmtleXMocmVzdWx0cykubWFwKChhY2NvdW50TnVtYmVyKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY2NvdW50TnVtYmVyLFxuICAgICAgICB0eG5zOiByZXN1bHRzW2FjY291bnROdW1iZXJdLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgYWNjb3VudHMsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNYXhTY3JhcGVyO1xuIl19
|
package/lib/scrapers/visa-cal.js
CHANGED
|
@@ -194,7 +194,7 @@ async function fetchTransactionsForAccount(page, startDate, accountNumber, scrap
|
|
|
194
194
|
debug(`set hidden value of the date selector to be the index ${currentDateIndex}`);
|
|
195
195
|
await (0, _elementsInteractions.setValue)(page, dateHiddenFieldSelector, `${currentDateIndex}`);
|
|
196
196
|
debug('wait a second to workaround navigation issue in headless browser mode');
|
|
197
|
-
await page.
|
|
197
|
+
await page.waitForTimeout(1000);
|
|
198
198
|
debug('click on the filter submit button and wait for navigation');
|
|
199
199
|
await Promise.all([page.waitForNavigation({
|
|
200
200
|
waitUntil: 'domcontentloaded'
|
|
@@ -314,7 +314,7 @@ async function fetchTransactions(page, startDate, scraperOptions) {
|
|
|
314
314
|
for (const account of accountNumbers) {
|
|
315
315
|
debug(`setting account: ${account}`);
|
|
316
316
|
await setAccount(page, account);
|
|
317
|
-
await page.
|
|
317
|
+
await page.waitForTimeout(1000);
|
|
318
318
|
accounts.push((await fetchTransactionsForAccount(page, startDate, account, scraperOptions)));
|
|
319
319
|
}
|
|
320
320
|
|
|
@@ -412,4 +412,4 @@ class VisaCalScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
412
412
|
|
|
413
413
|
var _default = VisaCalScraper;
|
|
414
414
|
exports.default = _default;
|
|
415
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy92aXNhLWNhbC50cyJdLCJuYW1lcyI6WyJMT0dJTl9VUkwiLCJUUkFOU0FDVElPTlNfVVJMIiwiTE9OR19EQVRFX0ZPUk1BVCIsIkRBVEVfRk9STUFUIiwiSW52YWxpZFBhc3N3b3JkTWVzc2FnZSIsImRlYnVnIiwiZ2V0TG9naW5GcmFtZSIsInBhZ2UiLCJmcmFtZSIsImZyYW1lcyIsImZpbmQiLCJmIiwidXJsIiwiaW5jbHVkZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkVycm9yIiwiaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IiLCJlcnJvckZvdW5kIiwiZXJyb3JNZXNzYWdlIiwiaXRlbSIsImlubmVyVGV4dCIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJvcHRpb25zIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZ2V0QW1vdW50RGF0YSIsImFtb3VudFN0ciIsImFtb3VudFN0ckNsbiIsInJlcGxhY2UiLCJjdXJyZW5jeSIsImFtb3VudCIsIlNIRUtFTF9DVVJSRU5DWV9TWU1CT0wiLCJwYXJzZUZsb2F0IiwiU0hFS0VMX0NVUlJFTkNZIiwiRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCIsIkRPTExBUl9DVVJSRU5DWSIsIkVVUk9fQ1VSUkVOQ1lfU1lNQk9MIiwiRVVST19DVVJSRU5DWSIsInBhcnRzIiwic3BsaXQiLCJnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyIsIm1lbW8iLCJwYXJzZWRNZW1vIiwiZXhlYyIsImxlbmd0aCIsIm51bWJlciIsInBhcnNlSW50IiwidG90YWwiLCJjb252ZXJ0VHJhbnNhY3Rpb25zIiwidHhucyIsIm1hcCIsInR4biIsIm9yaWdpbmFsQW1vdW50VHVwbGUiLCJvcmlnaW5hbEFtb3VudCIsImNoYXJnZWRBbW91bnRUdXBsZSIsImNoYXJnZWRBbW91bnQiLCJpbnN0YWxsbWVudHMiLCJ0eG5EYXRlIiwiZGF0ZSIsInByb2Nlc3NlZERhdGVGb3JtYXQiLCJwcm9jZXNzZWREYXRlIiwidHhuUHJvY2Vzc2VkRGF0ZSIsInJlc3VsdCIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiSW5zdGFsbG1lbnRzIiwiTm9ybWFsIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsImFkZCIsInRvSVNPU3RyaW5nIiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRDdXJyZW5jeSIsImRlc2NyaXB0aW9uIiwiZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50Iiwic3RhcnREYXRlIiwiYWNjb3VudE51bWJlciIsInNjcmFwZXJPcHRpb25zIiwic3RhcnREYXRlVmFsdWUiLCJmb3JtYXQiLCJkYXRlU2VsZWN0b3IiLCJkYXRlSGlkZGVuRmllbGRTZWxlY3RvciIsImJ1dHRvblNlbGVjdG9yIiwibmV4dFBhZ2VTZWxlY3RvciIsImJpbGxpbmdMYWJlbFNlbGVjdG9yIiwic2Vjb25kYXJ5QmlsbGluZ0xhYmVsU2VsZWN0b3IiLCJub0RhdGFTZWxlY3RvciIsIml0ZW1zIiwiZWwiLCJzdGFydERhdGVJbmRleCIsImZpbmRJbmRleCIsIm9wdGlvbiIsImFjY291bnRUcmFuc2FjdGlvbnMiLCJjdXJyZW50RGF0ZUluZGV4Iiwid2FpdEZvciIsImFsbCIsIndhaXRGb3JOYXZpZ2F0aW9uIiwid2FpdFVudGlsIiwicGFnZUhhc05vVHJhbnNhY3Rpb25zIiwiZWxlbWVudCIsInNpdGVWYWx1ZSIsImJpbGxpbmdEYXRlTGFiZWwiLCJzZXR0bGVtZW50RGF0ZVJlZ2V4IiwiYmlsbGluZ0RhdGUiLCJoYXNOZXh0UGFnZSIsInJhd1RyYW5zYWN0aW9ucyIsImNvbHVtbnMiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsInB1c2giLCJmaWx0ZXIiLCJjb21iaW5lSW5zdGFsbG1lbnRzIiwic3Vic3RyaW5nIiwiZ2V0QWNjb3VudE51bWJlcnMiLCJlbGVtZW50cyIsImUiLCJ0ZXh0IiwidGhlbiIsInJlcyIsInRyaW0iLCJzZXRBY2NvdW50IiwiYWNjb3VudCIsImVsZW0iLCJhIiwiY2xpY2siLCJmZXRjaFRyYW5zYWN0aW9ucyIsImFjY291bnROdW1iZXJzIiwiYWNjb3VudHMiLCJmZXRjaEZ1dHVyZURlYml0cyIsImZ1dHVyZURlYml0c1NlbGVjdG9yIiwiZGViaXRNb3VudENsYXNzIiwiZGViaXRXaGVuQ2hhcmdlQ2xhc3MiLCJkZWJpdEJhbmtOdW1iZXJDbGFzcyIsImN1cnJCYW5rRWwiLCJnZXRFbGVtZW50c0J5Q2xhc3NOYW1lIiwid2hlbkNoYXJnZSIsImJhbmtOdW1iZXIiLCJmdXR1cmVEZWJpdHMiLCJhbW91bnREYXRhIiwiY2hhcmdlRGF0ZSIsImJhbmtBY2NvdW50TnVtYmVyIiwiYW1vdW50Q3VycmVuY3kiLCJWaXNhQ2FsU2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwicG9zc2libGVSZXN1bHRzIiwiY2hlY2tSZWFkaW5lc3MiLCJwcmVBY3Rpb24iLCJvcGVuTG9naW5Qb3B1cCIsInVzZXJBZ2VudCIsImZldGNoRGF0YSIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0IiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJuYXZpZ2F0ZVRvIiwidW5kZWZpbmVkIiwic3VjY2VzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFHQTs7QUFRQTs7QUFHQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsTUFBTUEsU0FBUyxHQUFHLCtCQUFsQjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLHVGQUF6QjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLFlBQXpCO0FBQ0EsTUFBTUMsV0FBVyxHQUFHLFVBQXBCO0FBQ0EsTUFB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J21vbWVudCc7XG5pbXBvcnQgeyBGcmFtZSwgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyLCBMb2dpbk9wdGlvbnMsIExvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQge1xuICBjbGlja0J1dHRvbiwgZWxlbWVudFByZXNlbnRPblBhZ2UsIHBhZ2VFdmFsLCBwYWdlRXZhbEFsbCwgc2V0VmFsdWUsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCxcbn0gZnJvbSAnLi4vaGVscGVycy9lbGVtZW50cy1pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uSW5zdGFsbG1lbnRzLFxuICBUcmFuc2FjdGlvbnNBY2NvdW50LFxuICBUcmFuc2FjdGlvblN0YXR1c2VzLFxuICBUcmFuc2FjdGlvblR5cGVzLFxufSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgU2NhcGVyT3B0aW9ucywgU2NhcGVyU2NyYXBpbmdSZXN1bHQsIFNjcmFwZXJDcmVkZW50aWFscyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyJztcbmltcG9ydCB7XG4gIERPTExBUl9DVVJSRU5DWSwgRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCwgRVVST19DVVJSRU5DWSwgRVVST19DVVJSRU5DWV9TWU1CT0wsIFNIRUtFTF9DVVJSRU5DWSwgU0hFS0VMX0NVUlJFTkNZX1NZTUJPTCxcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHdhaXRVbnRpbCB9IGZyb20gJy4uL2hlbHBlcnMvd2FpdGluZyc7XG5pbXBvcnQgeyBmaWx0ZXJPbGRUcmFuc2FjdGlvbnMgfSBmcm9tICcuLi9oZWxwZXJzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuXG5jb25zdCBMT0dJTl9VUkwgPSAnaHR0cHM6Ly93d3cuY2FsLW9ubGluZS5jby5pbC8nO1xuY29uc3QgVFJBTlNBQ1RJT05TX1VSTCA9ICdodHRwczovL3NlcnZpY2VzLmNhbC1vbmxpbmUuY28uaWwvQ2FyZC1Ib2xkZXJzL1NjcmVlbnMvVHJhbnNhY3Rpb25zL1RyYW5zYWN0aW9ucy5hc3B4JztcbmNvbnN0IExPTkdfREFURV9GT1JNQVQgPSAnREQvTU0vWVlZWSc7XG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdERC9NTS9ZWSc7XG5jb25zdCBJbnZhbGlkUGFzc3dvcmRNZXNzYWdlID0gJ9ep150g15TXntep16rXntepINeQ15Ug15TXodeZ16HXnteUINep15TXldeW16DXlSDXqdeS15XXmdeZ150nO1xuXG5jb25zdCBkZWJ1ZyA9IGdldERlYnVnKCd2aXNhLWNhbCcpO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgZGF0ZTogc3RyaW5nO1xuICBwcm9jZXNzZWREYXRlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIG9yaWdpbmFsQW1vdW50OiBzdHJpbmc7XG4gIGNoYXJnZWRBbW91bnQ6IHN0cmluZztcbiAgbWVtbzogc3RyaW5nO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRMb2dpbkZyYW1lKHBhZ2U6IFBhZ2UpIHtcbiAgbGV0IGZyYW1lOiBGcmFtZSB8IG51bGwgPSBudWxsO1xuICBkZWJ1Zygnd2FpdCB1bnRpbCBsb2dpbiBmcmFtZSBmb3VuZCcpO1xuICBhd2FpdCB3YWl0VW50aWwoKCkgPT4ge1xuICAgIGZyYW1lID0gcGFnZVxuICAgICAgLmZyYW1lcygpXG4gICAgICAuZmluZCgoZikgPT4gZi51cmwoKS5pbmNsdWRlcygnY29ubmVjdC5jYWwtb25saW5lJykpIHx8IG51bGw7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSghIWZyYW1lKTtcbiAgfSwgJ3dhaXQgZm9yIGlmcmFtZSB3aXRoIGxvZ2luIGZvcm0nLCAxMDAwMCwgMTAwMCk7XG5cbiAgaWYgKCFmcmFtZSkge1xuICAgIGRlYnVnKCdmYWlsZWQgdG8gZmluZCBsb2dpbiBmcmFtZSBmb3IgMTAgc2Vjb25kcycpO1xuICAgIHRocm93IG5ldyBFcnJvcignZmFpbGVkIHRvIGV4dHJhY3QgbG9naW4gaWZyYW1lJyk7XG4gIH1cblxuICByZXR1cm4gZnJhbWU7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGhhc0ludmFsaWRQYXNzd29yZEVycm9yKHBhZ2U6IFBhZ2UpIHtcbiAgY29uc3QgZnJhbWUgPSBhd2FpdCBnZXRMb2dpbkZyYW1lKHBhZ2UpO1xuICBjb25zdCBlcnJvckZvdW5kID0gYXdhaXQgZWxlbWVudFByZXNlbnRPblBhZ2UoZnJhbWUsICdkaXYuZ2VuZXJhbC1lcnJvciA+IGRpdicpO1xuICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvckZvdW5kID8gYXdhaXQgcGFnZUV2YWwoZnJhbWUsICdkaXYuZ2VuZXJhbC1lcnJvciA+IGRpdicsICcnLCAoaXRlbSkgPT4ge1xuICAgIHJldHVybiAoaXRlbSBhcyBIVE1MRGl2RWxlbWVudCkuaW5uZXJUZXh0O1xuICB9KSA6ICcnO1xuICByZXR1cm4gZXJyb3JNZXNzYWdlID09PSBJbnZhbGlkUGFzc3dvcmRNZXNzYWdlO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpIHtcbiAgZGVidWcoJ3JldHVybiBwb3NzaWJsZSBsb2dpbiByZXN1bHRzJyk7XG4gIGNvbnN0IHVybHM6IExvZ2luT3B0aW9uc1sncG9zc2libGVSZXN1bHRzJ10gPSB7XG4gICAgW0xvZ2luUmVzdWx0cy5TdWNjZXNzXTogWy9BY2NvdW50TWFuYWdlbWVudC9pXSxcbiAgICBbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF06IFthc3luYyAob3B0aW9ucz86IHsgcGFnZT86IFBhZ2V9KSA9PiB7XG4gICAgICBjb25zdCBwYWdlID0gb3B0aW9ucz8ucGFnZTtcbiAgICAgIGlmICghcGFnZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IocGFnZSk7XG4gICAgfV0sXG4gICAgLy8gW0xvZ2luUmVzdWx0cy5BY2NvdW50QmxvY2tlZF06IFtdLCAvLyBUT0RPIGFkZCB3aGVuIHJlYWNoaW5nIHRoaXMgc2NlbmFyaW9cbiAgICAvLyBbTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkXTogW10sIC8vIFRPRE8gYWRkIHdoZW4gcmVhY2hpbmcgdGhpcyBzY2VuYXJpb1xuICB9O1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICBkZWJ1ZygnY3JlYXRlIGxvZ2luIGZpZWxkcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkJyk7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogJ1tmb3JtY29udHJvbG5hbWU9XCJ1c2VyTmFtZVwiXScsIHZhbHVlOiBjcmVkZW50aWFscy51c2VybmFtZSB9LFxuICAgIHsgc2VsZWN0b3I6ICdbZm9ybWNvbnRyb2xuYW1lPVwicGFzc3dvcmRcIl0nLCB2YWx1ZTogY3JlZGVudGlhbHMucGFzc3dvcmQgfSxcbiAgXTtcbn1cblxuXG5mdW5jdGlvbiBnZXRBbW91bnREYXRhKGFtb3VudFN0cjogc3RyaW5nKSB7XG4gIGNvbnN0IGFtb3VudFN0ckNsbiA9IGFtb3VudFN0ci5yZXBsYWNlKCcsJywgJycpO1xuICBsZXQgY3VycmVuY3k6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBsZXQgYW1vdW50OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgaWYgKGFtb3VudFN0ckNsbi5pbmNsdWRlcyhTSEVLRUxfQ1VSUkVOQ1lfU1lNQk9MKSkge1xuICAgIGFtb3VudCA9IC1wYXJzZUZsb2F0KGFtb3VudFN0ckNsbi5yZXBsYWNlKFNIRUtFTF9DVVJSRU5DWV9TWU1CT0wsICcnKSk7XG4gICAgY3VycmVuY3kgPSBTSEVLRUxfQ1VSUkVOQ1k7XG4gIH0gZWxzZSBpZiAoYW1vdW50U3RyQ2xuLmluY2x1ZGVzKERPTExBUl9DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gLXBhcnNlRmxvYXQoYW1vdW50U3RyQ2xuLnJlcGxhY2UoRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCwgJycpKTtcbiAgICBjdXJyZW5jeSA9IERPTExBUl9DVVJSRU5DWTtcbiAgfSBlbHNlIGlmIChhbW91bnRTdHJDbG4uaW5jbHVkZXMoRVVST19DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gLXBhcnNlRmxvYXQoYW1vdW50U3RyQ2xuLnJlcGxhY2UoRVVST19DVVJSRU5DWV9TWU1CT0wsICcnKSk7XG4gICAgY3VycmVuY3kgPSBFVVJPX0NVUlJFTkNZO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHBhcnRzID0gYW1vdW50U3RyQ2xuLnNwbGl0KCcgJyk7XG4gICAgW2N1cnJlbmN5XSA9IHBhcnRzO1xuICAgIGFtb3VudCA9IC1wYXJzZUZsb2F0KHBhcnRzWzFdKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYW1vdW50LFxuICAgIGN1cnJlbmN5LFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyhtZW1vOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkluc3RhbGxtZW50cyB8IG51bGwge1xuICBjb25zdCBwYXJzZWRNZW1vID0gKC/Xqtep15zXldedIChcXGQrKSDXnteq15XXmiAoXFxkKykvKS5leGVjKG1lbW8gfHwgJycpO1xuXG4gIGlmICghcGFyc2VkTWVtbyB8fCBwYXJzZWRNZW1vLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBudW1iZXI6IHBhcnNlSW50KHBhcnNlZE1lbW9bMV0sIDEwKSxcbiAgICB0b3RhbDogcGFyc2VJbnQocGFyc2VkTWVtb1syXSwgMTApLFxuICB9O1xufVxuZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9ucyh0eG5zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10ge1xuICBkZWJ1ZyhgY29udmVydCAke3R4bnMubGVuZ3RofSByYXcgdHJhbnNhY3Rpb25zIHRvIG9mZmljaWFsIFRyYW5zYWN0aW9uIHN0cnVjdHVyZWApO1xuICByZXR1cm4gdHhucy5tYXAoKHR4bikgPT4ge1xuICAgIGNvbnN0IG9yaWdpbmFsQW1vdW50VHVwbGUgPSBnZXRBbW91bnREYXRhKHR4bi5vcmlnaW5hbEFtb3VudCB8fCAnJyk7XG4gICAgY29uc3QgY2hhcmdlZEFtb3VudFR1cGxlID0gZ2V0QW1vdW50RGF0YSh0eG4uY2hhcmdlZEFtb3VudCB8fCAnJyk7XG5cbiAgICBjb25zdCBpbnN0YWxsbWVudHMgPSBnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyh0eG4ubWVtbyk7XG4gICAgY29uc3QgdHhuRGF0ZSA9IG1vbWVudCh0eG4uZGF0ZSwgREFURV9GT1JNQVQpO1xuICAgIGNvbnN0IHByb2Nlc3NlZERhdGVGb3JtYXQgPVxuICAgICAgdHhuLnByb2Nlc3NlZERhdGUubGVuZ3RoID09PSA4ID9cbiAgICAgICAgREFURV9GT1JNQVQgOlxuICAgICAgICB0eG4ucHJvY2Vzc2VkRGF0ZS5sZW5ndGggPT09IDkgfHwgdHhuLnByb2Nlc3NlZERhdGUubGVuZ3RoID09PSAxMCA/XG4gICAgICAgICAgTE9OR19EQVRFX0ZPUk1BVCA6XG4gICAgICAgICAgbnVsbDtcbiAgICBpZiAoIXByb2Nlc3NlZERhdGVGb3JtYXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwcm9jZXNzZWQgZGF0ZScpO1xuICAgIH1cbiAgICBjb25zdCB0eG5Qcm9jZXNzZWREYXRlID0gbW9tZW50KHR4bi5wcm9jZXNzZWREYXRlLCBwcm9jZXNzZWREYXRlRm9ybWF0KTtcblxuICAgIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb24gPSB7XG4gICAgICB0eXBlOiBpbnN0YWxsbWVudHMgPyBUcmFuc2FjdGlvblR5cGVzLkluc3RhbGxtZW50cyA6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICAgIGRhdGU6IGluc3RhbGxtZW50cyA/IHR4bkRhdGUuYWRkKGluc3RhbGxtZW50cy5udW1iZXIgLSAxLCAnbW9udGgnKS50b0lTT1N0cmluZygpIDogdHhuRGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgcHJvY2Vzc2VkRGF0ZTogdHhuUHJvY2Vzc2VkRGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IG9yaWdpbmFsQW1vdW50VHVwbGUuYW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogb3JpZ2luYWxBbW91bnRUdXBsZS5jdXJyZW5jeSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IGNoYXJnZWRBbW91bnRUdXBsZS5hbW91bnQsXG4gICAgICBjaGFyZ2VkQ3VycmVuY3k6IGNoYXJnZWRBbW91bnRUdXBsZS5jdXJyZW5jeSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0eG4uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBtZW1vOiB0eG4ubWVtbyB8fCAnJyxcbiAgICB9O1xuXG4gICAgaWYgKGluc3RhbGxtZW50cykge1xuICAgICAgcmVzdWx0Lmluc3RhbGxtZW50cyA9IGluc3RhbGxtZW50cztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50KHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50LCBhY2NvdW50TnVtYmVyOiBzdHJpbmcsIHNjcmFwZXJPcHRpb25zOiBTY2FwZXJPcHRpb25zKTogUHJvbWlzZTxUcmFuc2FjdGlvbnNBY2NvdW50PiB7XG4gIGNvbnN0IHN0YXJ0RGF0ZVZhbHVlID0gc3RhcnREYXRlLmZvcm1hdCgnTU0vWVlZWScpO1xuICBjb25zdCBkYXRlU2VsZWN0b3IgPSAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY2xuZHJEZWJpdERhdGVTY29wZV9UZXh0Qm94XCJdJztcbiAgY29uc3QgZGF0ZUhpZGRlbkZpZWxkU2VsZWN0b3IgPSAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY2xuZHJEZWJpdERhdGVTY29wZV9IaWRkZW5GaWVsZFwiXSc7XG4gIGNvbnN0IGJ1dHRvblNlbGVjdG9yID0gJ1tpZCQ9XCJGb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2N0bFN1Ym1pdFJlcXVlc3RcIl0nO1xuICBjb25zdCBuZXh0UGFnZVNlbGVjdG9yID0gJ1tpZCQ9XCJGb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2N0bEdyaWRQYWdlcl9idG5OZXh0XCJdJztcbiAgY29uc3QgYmlsbGluZ0xhYmVsU2VsZWN0b3IgPSAnW2lkJD1Gb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2N0bE1haW5Ub29sQmFyX2xibENhcHRpb25dJztcbiAgY29uc3Qgc2Vjb25kYXJ5QmlsbGluZ0xhYmVsU2VsZWN0b3IgPSAnW2lkJD1Gb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2N0bFNlY29uZGFyeVRvb2xCYXJfbGJsQ2FwdGlvbl0nO1xuICBjb25zdCBub0RhdGFTZWxlY3RvciA9ICdbaWQkPUZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfbXNnYm94RXJyb3JNZXNzYWdlc10nO1xuXG4gIGRlYnVnKCdmaW5kIHRoZSBzdGFydCBkYXRlIGluZGV4IGluIHRoZSBkcm9wYm94Jyk7XG4gIGNvbnN0IG9wdGlvbnMgPSBhd2FpdCBwYWdlRXZhbEFsbChwYWdlLCAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY2xuZHJEZWJpdERhdGVTY29wZV9PcHRpb25MaXN0XCJdIGxpJywgW10sIChpdGVtcykgPT4ge1xuICAgIHJldHVybiBpdGVtcy5tYXAoKGVsOiBhbnkpID0+IGVsLmlubmVyVGV4dCk7XG4gIH0pO1xuICBjb25zdCBzdGFydERhdGVJbmRleCA9IG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbiA9PT0gc3RhcnREYXRlVmFsdWUpO1xuXG4gIGRlYnVnKGBzY3JhcGUgJHtvcHRpb25zLmxlbmd0aCAtIHN0YXJ0RGF0ZUluZGV4fSBiaWxsaW5nIGN5Y2xlc2ApO1xuICBjb25zdCBhY2NvdW50VHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gW107XG4gIGZvciAobGV0IGN1cnJlbnREYXRlSW5kZXggPSBzdGFydERhdGVJbmRleDsgY3VycmVudERhdGVJbmRleCA8IG9wdGlvbnMubGVuZ3RoOyBjdXJyZW50RGF0ZUluZGV4ICs9IDEpIHtcbiAgICBkZWJ1Zygnd2FpdCBmb3IgZGF0ZSBzZWxlY3RvciB0byBiZSBmb3VuZCcpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBkYXRlU2VsZWN0b3IsIHRydWUpO1xuICAgIGRlYnVnKGBzZXQgaGlkZGVuIHZhbHVlIG9mIHRoZSBkYXRlIHNlbGVjdG9yIHRvIGJlIHRoZSBpbmRleCAke2N1cnJlbnREYXRlSW5kZXh9YCk7XG4gICAgYXdhaXQgc2V0VmFsdWUocGFnZSwgZGF0ZUhpZGRlbkZpZWxkU2VsZWN0b3IsIGAke2N1cnJlbnREYXRlSW5kZXh9YCk7XG4gICAgZGVidWcoJ3dhaXQgYSBzZWNvbmQgdG8gd29ya2Fyb3VuZCBuYXZpZ2F0aW9uIGlzc3VlIGluIGhlYWRsZXNzIGJyb3dzZXIgbW9kZScpO1xuICAgIGF3YWl0IHBhZ2Uud2FpdEZvcigxMDAwKTtcbiAgICBkZWJ1ZygnY2xpY2sgb24gdGhlIGZpbHRlciBzdWJtaXQgYnV0dG9uIGFuZCB3YWl0IGZvciBuYXZpZ2F0aW9uJyk7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgcGFnZS53YWl0Rm9yTmF2aWdhdGlvbih7IHdhaXRVbnRpbDogJ2RvbWNvbnRlbnRsb2FkZWQnIH0pLFxuICAgICAgY2xpY2tCdXR0b24ocGFnZSwgYnV0dG9uU2VsZWN0b3IpLFxuICAgIF0pO1xuICAgIGRlYnVnKCdjaGVjayBpZiBtb250aCBoYXMgbm8gdHJhbnNhY3Rpb25zJyk7XG4gICAgY29uc3QgcGFnZUhhc05vVHJhbnNhY3Rpb25zID0gYXdhaXQgcGFnZUV2YWwocGFnZSwgbm9EYXRhU2VsZWN0b3IsIGZhbHNlLCAoKGVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHNpdGVWYWx1ZSA9ICgoZWxlbWVudCBhcyBIVE1MU3BhbkVsZW1lbnQpLmlubmVyVGV4dCB8fCAnJykucmVwbGFjZSgvW14g15At16pdL2csICcnKTtcbiAgICAgIHJldHVybiBzaXRlVmFsdWUgPT09ICfXnNeQINeg157XpteQ15Ug16DXqteV16DXmdedJztcbiAgICB9KSk7XG5cbiAgICBpZiAocGFnZUhhc05vVHJhbnNhY3Rpb25zKSB7XG4gICAgICBkZWJ1ZygncGFnZSBoYXMgbm8gdHJhbnNhY3Rpb25zJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlYnVnKCdmaW5kIHRoZSBiaWxsaW5nIGRhdGUnKTtcbiAgICAgIGxldCBiaWxsaW5nRGF0ZUxhYmVsID0gYXdhaXQgcGFnZUV2YWwocGFnZSwgYmlsbGluZ0xhYmVsU2VsZWN0b3IsICcnLCAoKGVsZW1lbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIChlbGVtZW50IGFzIEhUTUxTcGFuRWxlbWVudCkuaW5uZXJUZXh0O1xuICAgICAgfSkpO1xuICAgICAgbGV0IHNldHRsZW1lbnREYXRlUmVnZXggPSAvXFxkezEsMn1bL11cXGR7Mn1bL11cXGR7Miw0fS87XG5cbiAgICAgIGlmIChiaWxsaW5nRGF0ZUxhYmVsID09PSAnJykge1xuICAgICAgICBiaWxsaW5nRGF0ZUxhYmVsID0gYXdhaXQgcGFnZUV2YWwocGFnZSwgc2Vjb25kYXJ5QmlsbGluZ0xhYmVsU2VsZWN0b3IsICcnLCAoKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGVsZW1lbnQgYXMgSFRNTFNwYW5FbGVtZW50KS5pbm5lclRleHQ7XG4gICAgICAgIH0pKTtcbiAgICAgICAgc2V0dGxlbWVudERhdGVSZWdleCA9IC9cXGR7MSwyfVsvXVxcZHsyLDR9LztcbiAgICAgIH1cblxuICAgICAgY29uc3QgYmlsbGluZ0RhdGUgPSBzZXR0bGVtZW50RGF0ZVJlZ2V4LmV4ZWMoYmlsbGluZ0RhdGVMYWJlbCk/LlswXTtcblxuICAgICAgaWYgKCFiaWxsaW5nRGF0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZhaWxlZCB0byBmZXRjaCBwcm9jZXNzIGRhdGUnKTtcbiAgICAgIH1cblxuICAgICAgZGVidWcoYGZvdW5kIHRoZSBiaWxsaW5nIGRhdGUgZm9yIHRoYXQgbW9udGggJHtiaWxsaW5nRGF0ZX1gKTtcbiAgICAgIGxldCBoYXNOZXh0UGFnZSA9IGZhbHNlO1xuICAgICAgZG8ge1xuICAgICAgICBkZWJ1ZygnZmV0Y2ggcmF3IHRyYW5zYWN0aW9ucyBmcm9tIHBhZ2UnKTtcbiAgICAgICAgY29uc3QgcmF3VHJhbnNhY3Rpb25zID0gYXdhaXQgcGFnZUV2YWxBbGw8KFNjcmFwZWRUcmFuc2FjdGlvbiB8IG51bGwpW10+KHBhZ2UsICcjY3RsTWFpbkdyaWQgPiB0Ym9keSB0ciwgI2N0bFNlY29uZGFyeUdyaWQgPiB0Ym9keSB0cicsIFtdLCAoaXRlbXMsIGJpbGxpbmdEYXRlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChpdGVtcykubWFwKChlbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29sdW1ucyA9IGVsLmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0ZCcpO1xuICAgICAgICAgICAgaWYgKGNvbHVtbnMubGVuZ3RoID09PSA2KSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc2VkRGF0ZTogY29sdW1uc1swXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgZGF0ZTogY29sdW1uc1sxXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGNvbHVtbnNbMl0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIG9yaWdpbmFsQW1vdW50OiBjb2x1bW5zWzNdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBjaGFyZ2VkQW1vdW50OiBjb2x1bW5zWzRdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBtZW1vOiBjb2x1bW5zWzVdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjb2x1bW5zLmxlbmd0aCA9PT0gNSkge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHByb2Nlc3NlZERhdGU6IGJpbGxpbmdEYXRlLFxuICAgICAgICAgICAgICAgIGRhdGU6IGNvbHVtbnNbMF0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjb2x1bW5zWzFdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEFtb3VudDogY29sdW1uc1syXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgY2hhcmdlZEFtb3VudDogY29sdW1uc1szXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgbWVtbzogY29sdW1uc1s0XS5pbm5lclRleHQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgYmlsbGluZ0RhdGUpO1xuICAgICAgICBkZWJ1ZyhgZmV0Y2hlZCAke3Jhd1RyYW5zYWN0aW9ucy5sZW5ndGh9IHJhdyB0cmFuc2FjdGlvbnMgZnJvbSBwYWdlYCk7XG4gICAgICAgIGFjY291bnRUcmFuc2FjdGlvbnMucHVzaCguLi5jb252ZXJ0VHJhbnNhY3Rpb25zKChyYXdUcmFuc2FjdGlvbnMgYXMgU2NyYXBlZFRyYW5zYWN0aW9uW10pXG4gICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKSkpO1xuXG4gICAgICAgIGRlYnVnKCdjaGVjayBmb3IgZXhpc3RhbmNlIG9mIGFub3RoZXIgcGFnZScpO1xuICAgICAgICBoYXNOZXh0UGFnZSA9IGF3YWl0IGVsZW1lbnRQcmVzZW50T25QYWdlKHBhZ2UsIG5leHRQYWdlU2VsZWN0b3IpO1xuICAgICAgICBpZiAoaGFzTmV4dFBhZ2UpIHtcbiAgICAgICAgICBkZWJ1ZygnaGFzIGFub3RoZXIgcGFnZSwgY2xpY2sgb24gYnV0dG9uIG5leHQgYW5kIHdhaXQgZm9yIHBhZ2UgbmF2aWdhdGlvbicpO1xuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgIHBhZ2Uud2FpdEZvck5hdmlnYXRpb24oeyB3YWl0VW50aWw6ICdkb21jb250ZW50bG9hZGVkJyB9KSxcbiAgICAgICAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsICdbaWQkPUZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY3RsR3JpZFBhZ2VyX2J0bk5leHRdJyksXG4gICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgIH0gd2hpbGUgKGhhc05leHRQYWdlKTtcbiAgICB9XG4gIH1cblxuICBkZWJ1ZygnZmlsZXIgb3V0IG9sZCB0cmFuc2FjdGlvbnMnKTtcbiAgY29uc3QgdHhucyA9IGZpbHRlck9sZFRyYW5zYWN0aW9ucyhhY2NvdW50VHJhbnNhY3Rpb25zLCBzdGFydERhdGUsIHNjcmFwZXJPcHRpb25zLmNvbWJpbmVJbnN0YWxsbWVudHMgfHwgZmFsc2UpO1xuICBkZWJ1ZyhgZm91bmQgJHt0eG5zLmxlbmd0aH0gdmFsaWQgdHJhbnNhY3Rpb25zIG91dCBvZiAke2FjY291bnRUcmFuc2FjdGlvbnMubGVuZ3RofSB0cmFuc2FjdGlvbnMgZm9yIGFjY291bnQgZW5kaW5nIHdpdGggJHthY2NvdW50TnVtYmVyLnN1YnN0cmluZyhhY2NvdW50TnVtYmVyLmxlbmd0aCAtIDIpfWApO1xuICByZXR1cm4ge1xuICAgIGFjY291bnROdW1iZXIsXG4gICAgdHhucyxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0QWNjb3VudE51bWJlcnMocGFnZTogUGFnZSk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgcmV0dXJuIHBhZ2VFdmFsQWxsKHBhZ2UsICdbaWQkPWxua0l0ZW1dJywgW10sIChlbGVtZW50cykgPT4gZWxlbWVudHMubWFwKChlKSA9PiAoZSBhcyBIVE1MQW5jaG9yRWxlbWVudCkudGV4dCkpLnRoZW4oKHJlcykgPT4gcmVzLm1hcCgodGV4dCkgPT4gL1xcZCskLy5leGVjKHRleHQudHJpbSgpKT8uWzBdID8/ICcnKSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNldEFjY291bnQocGFnZTogUGFnZSwgYWNjb3VudDogc3RyaW5nKSB7XG4gIGF3YWl0IHBhZ2VFdmFsQWxsKFxuICAgIHBhZ2UsXG4gICAgJ1tpZCQ9bG5rSXRlbV0nLFxuICAgIG51bGwsXG4gICAgKGVsZW1lbnRzLCBhY2NvdW50KSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGVsZW0gb2YgZWxlbWVudHMpIHtcbiAgICAgICAgY29uc3QgYSA9IGVsZW0gYXMgSFRNTEFuY2hvckVsZW1lbnQ7XG4gICAgICAgIGlmIChhLnRleHQuaW5jbHVkZXMoYWNjb3VudCkpIHtcbiAgICAgICAgICBhLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIGFjY291bnQsXG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zKHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50LCBzY3JhcGVyT3B0aW9uczogU2NhcGVyT3B0aW9ucyk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudFtdPiB7XG4gIGNvbnN0IGFjY291bnROdW1iZXJzOiBzdHJpbmdbXSA9IGF3YWl0IGdldEFjY291bnROdW1iZXJzKHBhZ2UpO1xuICBjb25zdCBhY2NvdW50czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgZm9yIChjb25zdCBhY2NvdW50IG9mIGFjY291bnROdW1iZXJzKSB7XG4gICAgZGVidWcoYHNldHRpbmcgYWNjb3VudDogJHthY2NvdW50fWApO1xuICAgIGF3YWl0IHNldEFjY291bnQocGFnZSwgYWNjb3VudCk7XG4gICAgYXdhaXQgcGFnZS53YWl0Rm9yKDEwMDApO1xuICAgIGFjY291bnRzLnB1c2goXG4gICAgICBhd2FpdCBmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQoXG4gICAgICAgIHBhZ2UsXG4gICAgICAgIHN0YXJ0RGF0ZSxcbiAgICAgICAgYWNjb3VudCxcbiAgICAgICAgc2NyYXBlck9wdGlvbnMsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gYWNjb3VudHM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoRnV0dXJlRGViaXRzKHBhZ2U6IFBhZ2UpIHtcbiAgY29uc3QgZnV0dXJlRGViaXRzU2VsZWN0b3IgPSAnLmhvbWVwYWdlLWJhbmtzLXRvcCc7XG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcGFnZUV2YWxBbGwocGFnZSwgZnV0dXJlRGViaXRzU2VsZWN0b3IsIFtdLCAoaXRlbXMpID0+IHtcbiAgICBjb25zdCBkZWJpdE1vdW50Q2xhc3MgPSAnYW1vdW50JztcbiAgICBjb25zdCBkZWJpdFdoZW5DaGFyZ2VDbGFzcyA9ICd3aGVuLWNoYXJnZSc7XG4gICAgY29uc3QgZGViaXRCYW5rTnVtYmVyQ2xhc3MgPSAnYmFua0Rlc2MnO1xuXG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoY3VyckJhbmtFbDogYW55KSA9PiB7XG4gICAgICBjb25zdCBhbW91bnQgPSBjdXJyQmFua0VsLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZGViaXRNb3VudENsYXNzKVswXS5pbm5lclRleHQ7XG4gICAgICBjb25zdCB3aGVuQ2hhcmdlID0gY3VyckJhbmtFbC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGRlYml0V2hlbkNoYXJnZUNsYXNzKVswXS5pbm5lclRleHQ7XG4gICAgICBjb25zdCBiYW5rTnVtYmVyID0gY3VyckJhbmtFbC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGRlYml0QmFua051bWJlckNsYXNzKVswXS5pbm5lclRleHQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhbW91bnQsXG4gICAgICAgIHdoZW5DaGFyZ2UsXG4gICAgICAgIGJhbmtOdW1iZXIsXG4gICAgICB9O1xuICAgIH0pO1xuICB9KTtcbiAgY29uc3QgZnV0dXJlRGViaXRzID0gcmVzdWx0Lm1hcCgoaXRlbSkgPT4ge1xuICAgIGNvbnN0IGFtb3VudERhdGEgPSBnZXRBbW91bnREYXRhKGl0ZW0uYW1vdW50KTtcbiAgICBjb25zdCBjaGFyZ2VEYXRlID0gL1xcZHsxLDJ9Wy9dXFxkezJ9Wy9dXFxkezIsNH0vLmV4ZWMoaXRlbS53aGVuQ2hhcmdlKT8uWzBdO1xuICAgIGNvbnN0IGJhbmtBY2NvdW50TnVtYmVyID0gL1xcZCstXFxkKy8uZXhlYyhpdGVtLmJhbmtOdW1iZXIpPy5bMF07XG4gICAgcmV0dXJuIHtcbiAgICAgIGFtb3VudDogYW1vdW50RGF0YS5hbW91bnQsXG4gICAgICBhbW91bnRDdXJyZW5jeTogYW1vdW50RGF0YS5jdXJyZW5jeSxcbiAgICAgIGNoYXJnZURhdGUsXG4gICAgICBiYW5rQWNjb3VudE51bWJlcixcbiAgICB9O1xuICB9KTtcbiAgcmV0dXJuIGZ1dHVyZURlYml0cztcbn1cblxuY2xhc3MgVmlzYUNhbFNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIHtcbiAgb3BlbkxvZ2luUG9wdXAgPSBhc3luYyAoKSA9PiB7XG4gICAgZGVidWcoJ29wZW4gbG9naW4gcG9wdXAsIHdhaXQgdW50aWwgbG9naW4gYnV0dG9uIGF2YWlsYWJsZScpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICcjY2NMb2dpbkRlc2t0b3BCdG4nLCB0cnVlKTtcbiAgICBkZWJ1ZygnY2xpY2sgb24gdGhlIGxvZ2luIGJ1dHRvbicpO1xuICAgIGF3YWl0IGNsaWNrQnV0dG9uKHRoaXMucGFnZSwgJyNjY0xvZ2luRGVza3RvcEJ0bicpO1xuICAgIGRlYnVnKCdnZXQgdGhlIGZyYW1lIHRoYXQgaG9sZHMgdGhlIGxvZ2luJyk7XG4gICAgY29uc3QgZnJhbWUgPSBhd2FpdCBnZXRMb2dpbkZyYW1lKHRoaXMucGFnZSk7XG4gICAgZGVidWcoJ3dhaXQgdW50aWwgdGhlIHBhc3N3b3JkIGxvZ2luIHRhYiBoZWFkZXIgaXMgYXZhaWxhYmxlJyk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKGZyYW1lLCAnI3JlZ3VsYXItbG9naW4nKTtcbiAgICBkZWJ1ZygnbmF2aWdhdGUgdG8gdGhlIHBhc3N3b3JkIGxvZ2luIHRhYicpO1xuICAgIGF3YWl0IGNsaWNrQnV0dG9uKGZyYW1lLCAnI3JlZ3VsYXItbG9naW4nKTtcbiAgICBkZWJ1Zygnd2FpdCB1bnRpbCB0aGUgcGFzc3dvcmQgbG9naW4gdGFiIGlzIGFjdGl2ZScpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChmcmFtZSwgJ3JlZ3VsYXItbG9naW4nKTtcblxuICAgIHJldHVybiBmcmFtZTtcbiAgfTtcblxuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IGAke0xPR0lOX1VSTH1gLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJ2J1dHRvblt0eXBlPVwic3VibWl0XCJdJyxcbiAgICAgIHBvc3NpYmxlUmVzdWx0czogZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoKSxcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnI2NjTG9naW5EZXNrdG9wQnRuJyksXG4gICAgICBwcmVBY3Rpb246IHRoaXMub3BlbkxvZ2luUG9wdXAsXG4gICAgICB1c2VyQWdlbnQ6ICdNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS83OC4wLjM5MDQuMTA4IFNhZmFyaS81MzcuMzYnLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKTogUHJvbWlzZTxTY2FwZXJTY3JhcGluZ1Jlc3VsdD4ge1xuICAgIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICd5ZWFycycpLmFkZCgxLCAnZGF5Jyk7XG4gICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5vcHRpb25zLnN0YXJ0RGF0ZSB8fCBkZWZhdWx0U3RhcnRNb21lbnQudG9EYXRlKCk7XG4gICAgY29uc3Qgc3RhcnRNb21lbnQgPSBtb21lbnQubWF4KGRlZmF1bHRTdGFydE1vbWVudCwgbW9tZW50KHN0YXJ0RGF0ZSkpO1xuICAgIGRlYnVnKGBmZXRjaCB0cmFuc2FjdGlvbnMgc3RhcnRpbmcgJHtzdGFydE1vbWVudC5mb3JtYXQoKX1gKTtcblxuICAgIGRlYnVnKCdmZXRjaCBmdXR1cmUgZGViaXRzJyk7XG4gICAgY29uc3QgZnV0dXJlRGViaXRzID0gYXdhaXQgZmV0Y2hGdXR1cmVEZWJpdHModGhpcy5wYWdlKTtcblxuICAgIGRlYnVnKCduYXZpZ2F0ZSB0byB0cmFuc2FjdGlvbnMgcGFnZScpO1xuICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUbyhUUkFOU0FDVElPTlNfVVJMLCB1bmRlZmluZWQsIDYwMDAwKTtcblxuICAgIGRlYnVnKCdmZXRjaCBhY2NvdW50cyB0cmFuc2FjdGlvbnMnKTtcbiAgICBjb25zdCBhY2NvdW50cyA9IGF3YWl0IGZldGNoVHJhbnNhY3Rpb25zKHRoaXMucGFnZSwgc3RhcnRNb21lbnQsIHRoaXMub3B0aW9ucyk7XG5cbiAgICBkZWJ1ZygncmV0dXJuIHRoZSBzY3JhcGVkIGFjY291bnRzJyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICBhY2NvdW50cyxcbiAgICAgIGZ1dHVyZURlYml0cyxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFZpc2FDYWxTY3JhcGVyO1xuIl19
|
|
415
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy92aXNhLWNhbC50cyJdLCJuYW1lcyI6WyJMT0dJTl9VUkwiLCJUUkFOU0FDVElPTlNfVVJMIiwiTE9OR19EQVRFX0ZPUk1BVCIsIkRBVEVfRk9STUFUIiwiSW52YWxpZFBhc3N3b3JkTWVzc2FnZSIsImRlYnVnIiwiZ2V0TG9naW5GcmFtZSIsInBhZ2UiLCJmcmFtZSIsImZyYW1lcyIsImZpbmQiLCJmIiwidXJsIiwiaW5jbHVkZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkVycm9yIiwiaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IiLCJlcnJvckZvdW5kIiwiZXJyb3JNZXNzYWdlIiwiaXRlbSIsImlubmVyVGV4dCIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJvcHRpb25zIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZ2V0QW1vdW50RGF0YSIsImFtb3VudFN0ciIsImFtb3VudFN0ckNsbiIsInJlcGxhY2UiLCJjdXJyZW5jeSIsImFtb3VudCIsIlNIRUtFTF9DVVJSRU5DWV9TWU1CT0wiLCJwYXJzZUZsb2F0IiwiU0hFS0VMX0NVUlJFTkNZIiwiRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCIsIkRPTExBUl9DVVJSRU5DWSIsIkVVUk9fQ1VSUkVOQ1lfU1lNQk9MIiwiRVVST19DVVJSRU5DWSIsInBhcnRzIiwic3BsaXQiLCJnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyIsIm1lbW8iLCJwYXJzZWRNZW1vIiwiZXhlYyIsImxlbmd0aCIsIm51bWJlciIsInBhcnNlSW50IiwidG90YWwiLCJjb252ZXJ0VHJhbnNhY3Rpb25zIiwidHhucyIsIm1hcCIsInR4biIsIm9yaWdpbmFsQW1vdW50VHVwbGUiLCJvcmlnaW5hbEFtb3VudCIsImNoYXJnZWRBbW91bnRUdXBsZSIsImNoYXJnZWRBbW91bnQiLCJpbnN0YWxsbWVudHMiLCJ0eG5EYXRlIiwiZGF0ZSIsInByb2Nlc3NlZERhdGVGb3JtYXQiLCJwcm9jZXNzZWREYXRlIiwidHhuUHJvY2Vzc2VkRGF0ZSIsInJlc3VsdCIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiSW5zdGFsbG1lbnRzIiwiTm9ybWFsIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsImFkZCIsInRvSVNPU3RyaW5nIiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRDdXJyZW5jeSIsImRlc2NyaXB0aW9uIiwiZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50Iiwic3RhcnREYXRlIiwiYWNjb3VudE51bWJlciIsInNjcmFwZXJPcHRpb25zIiwic3RhcnREYXRlVmFsdWUiLCJmb3JtYXQiLCJkYXRlU2VsZWN0b3IiLCJkYXRlSGlkZGVuRmllbGRTZWxlY3RvciIsImJ1dHRvblNlbGVjdG9yIiwibmV4dFBhZ2VTZWxlY3RvciIsImJpbGxpbmdMYWJlbFNlbGVjdG9yIiwic2Vjb25kYXJ5QmlsbGluZ0xhYmVsU2VsZWN0b3IiLCJub0RhdGFTZWxlY3RvciIsIml0ZW1zIiwiZWwiLCJzdGFydERhdGVJbmRleCIsImZpbmRJbmRleCIsIm9wdGlvbiIsImFjY291bnRUcmFuc2FjdGlvbnMiLCJjdXJyZW50RGF0ZUluZGV4Iiwid2FpdEZvclRpbWVvdXQiLCJhbGwiLCJ3YWl0Rm9yTmF2aWdhdGlvbiIsIndhaXRVbnRpbCIsInBhZ2VIYXNOb1RyYW5zYWN0aW9ucyIsImVsZW1lbnQiLCJzaXRlVmFsdWUiLCJiaWxsaW5nRGF0ZUxhYmVsIiwic2V0dGxlbWVudERhdGVSZWdleCIsImJpbGxpbmdEYXRlIiwiaGFzTmV4dFBhZ2UiLCJyYXdUcmFuc2FjdGlvbnMiLCJjb2x1bW5zIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJwdXNoIiwiZmlsdGVyIiwiY29tYmluZUluc3RhbGxtZW50cyIsInN1YnN0cmluZyIsImdldEFjY291bnROdW1iZXJzIiwiZWxlbWVudHMiLCJlIiwidGV4dCIsInRoZW4iLCJyZXMiLCJ0cmltIiwic2V0QWNjb3VudCIsImFjY291bnQiLCJlbGVtIiwiYSIsImNsaWNrIiwiZmV0Y2hUcmFuc2FjdGlvbnMiLCJhY2NvdW50TnVtYmVycyIsImFjY291bnRzIiwiZmV0Y2hGdXR1cmVEZWJpdHMiLCJmdXR1cmVEZWJpdHNTZWxlY3RvciIsImRlYml0TW91bnRDbGFzcyIsImRlYml0V2hlbkNoYXJnZUNsYXNzIiwiZGViaXRCYW5rTnVtYmVyQ2xhc3MiLCJjdXJyQmFua0VsIiwiZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSIsIndoZW5DaGFyZ2UiLCJiYW5rTnVtYmVyIiwiZnV0dXJlRGViaXRzIiwiYW1vdW50RGF0YSIsImNoYXJnZURhdGUiLCJiYW5rQWNjb3VudE51bWJlciIsImFtb3VudEN1cnJlbmN5IiwiVmlzYUNhbFNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsInBvc3NpYmxlUmVzdWx0cyIsImNoZWNrUmVhZGluZXNzIiwicHJlQWN0aW9uIiwib3BlbkxvZ2luUG9wdXAiLCJ1c2VyQWdlbnQiLCJmZXRjaERhdGEiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsInRvRGF0ZSIsInN0YXJ0TW9tZW50IiwibW9tZW50IiwibWF4IiwibmF2aWdhdGVUbyIsInVuZGVmaW5lZCIsInN1Y2Nlc3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBR0E7O0FBUUE7O0FBR0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLE1BQU1BLFNBQVMsR0FBRywrQkFBbEI7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBRyx1RkFBekI7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBRyxZQUF6QjtBQUNBLE1BQU1DLFdBQVcsR0FBRyxVQUFwQjtB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ZW50IH0gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEZyYW1lLCBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luT3B0aW9ucywgTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7XG4gIGNsaWNrQnV0dG9uLCBlbGVtZW50UHJlc2VudE9uUGFnZSwgcGFnZUV2YWwsIHBhZ2VFdmFsQWxsLCBzZXRWYWx1ZSwgd2FpdFVudGlsRWxlbWVudEZvdW5kLFxufSBmcm9tICcuLi9oZWxwZXJzL2VsZW1lbnRzLWludGVyYWN0aW9ucyc7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25JbnN0YWxsbWVudHMsXG4gIFRyYW5zYWN0aW9uc0FjY291bnQsXG4gIFRyYW5zYWN0aW9uU3RhdHVzZXMsXG4gIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBTY3JhcGVyT3B0aW9ucywgU2NhcGVyU2NyYXBpbmdSZXN1bHQsIFNjcmFwZXJDcmVkZW50aWFscyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyJztcbmltcG9ydCB7XG4gIERPTExBUl9DVVJSRU5DWSwgRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCwgRVVST19DVVJSRU5DWSwgRVVST19DVVJSRU5DWV9TWU1CT0wsIFNIRUtFTF9DVVJSRU5DWSwgU0hFS0VMX0NVUlJFTkNZX1NZTUJPTCxcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHdhaXRVbnRpbCB9IGZyb20gJy4uL2hlbHBlcnMvd2FpdGluZyc7XG5pbXBvcnQgeyBmaWx0ZXJPbGRUcmFuc2FjdGlvbnMgfSBmcm9tICcuLi9oZWxwZXJzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuXG5jb25zdCBMT0dJTl9VUkwgPSAnaHR0cHM6Ly93d3cuY2FsLW9ubGluZS5jby5pbC8nO1xuY29uc3QgVFJBTlNBQ1RJT05TX1VSTCA9ICdodHRwczovL3NlcnZpY2VzLmNhbC1vbmxpbmUuY28uaWwvQ2FyZC1Ib2xkZXJzL1NjcmVlbnMvVHJhbnNhY3Rpb25zL1RyYW5zYWN0aW9ucy5hc3B4JztcbmNvbnN0IExPTkdfREFURV9GT1JNQVQgPSAnREQvTU0vWVlZWSc7XG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdERC9NTS9ZWSc7XG5jb25zdCBJbnZhbGlkUGFzc3dvcmRNZXNzYWdlID0gJ9ep150g15TXntep16rXntepINeQ15Ug15TXodeZ16HXnteUINep15TXldeW16DXlSDXqdeS15XXmdeZ150nO1xuXG5jb25zdCBkZWJ1ZyA9IGdldERlYnVnKCd2aXNhLWNhbCcpO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgZGF0ZTogc3RyaW5nO1xuICBwcm9jZXNzZWREYXRlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIG9yaWdpbmFsQW1vdW50OiBzdHJpbmc7XG4gIGNoYXJnZWRBbW91bnQ6IHN0cmluZztcbiAgbWVtbzogc3RyaW5nO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRMb2dpbkZyYW1lKHBhZ2U6IFBhZ2UpIHtcbiAgbGV0IGZyYW1lOiBGcmFtZSB8IG51bGwgPSBudWxsO1xuICBkZWJ1Zygnd2FpdCB1bnRpbCBsb2dpbiBmcmFtZSBmb3VuZCcpO1xuICBhd2FpdCB3YWl0VW50aWwoKCkgPT4ge1xuICAgIGZyYW1lID0gcGFnZVxuICAgICAgLmZyYW1lcygpXG4gICAgICAuZmluZCgoZikgPT4gZi51cmwoKS5pbmNsdWRlcygnY29ubmVjdC5jYWwtb25saW5lJykpIHx8IG51bGw7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSghIWZyYW1lKTtcbiAgfSwgJ3dhaXQgZm9yIGlmcmFtZSB3aXRoIGxvZ2luIGZvcm0nLCAxMDAwMCwgMTAwMCk7XG5cbiAgaWYgKCFmcmFtZSkge1xuICAgIGRlYnVnKCdmYWlsZWQgdG8gZmluZCBsb2dpbiBmcmFtZSBmb3IgMTAgc2Vjb25kcycpO1xuICAgIHRocm93IG5ldyBFcnJvcignZmFpbGVkIHRvIGV4dHJhY3QgbG9naW4gaWZyYW1lJyk7XG4gIH1cblxuICByZXR1cm4gZnJhbWU7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGhhc0ludmFsaWRQYXNzd29yZEVycm9yKHBhZ2U6IFBhZ2UpIHtcbiAgY29uc3QgZnJhbWUgPSBhd2FpdCBnZXRMb2dpbkZyYW1lKHBhZ2UpO1xuICBjb25zdCBlcnJvckZvdW5kID0gYXdhaXQgZWxlbWVudFByZXNlbnRPblBhZ2UoZnJhbWUsICdkaXYuZ2VuZXJhbC1lcnJvciA+IGRpdicpO1xuICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvckZvdW5kID8gYXdhaXQgcGFnZUV2YWwoZnJhbWUsICdkaXYuZ2VuZXJhbC1lcnJvciA+IGRpdicsICcnLCAoaXRlbSkgPT4ge1xuICAgIHJldHVybiAoaXRlbSBhcyBIVE1MRGl2RWxlbWVudCkuaW5uZXJUZXh0O1xuICB9KSA6ICcnO1xuICByZXR1cm4gZXJyb3JNZXNzYWdlID09PSBJbnZhbGlkUGFzc3dvcmRNZXNzYWdlO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpIHtcbiAgZGVidWcoJ3JldHVybiBwb3NzaWJsZSBsb2dpbiByZXN1bHRzJyk7XG4gIGNvbnN0IHVybHM6IExvZ2luT3B0aW9uc1sncG9zc2libGVSZXN1bHRzJ10gPSB7XG4gICAgW0xvZ2luUmVzdWx0cy5TdWNjZXNzXTogWy9BY2NvdW50TWFuYWdlbWVudC9pXSxcbiAgICBbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF06IFthc3luYyAob3B0aW9ucz86IHsgcGFnZT86IFBhZ2V9KSA9PiB7XG4gICAgICBjb25zdCBwYWdlID0gb3B0aW9ucz8ucGFnZTtcbiAgICAgIGlmICghcGFnZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IocGFnZSk7XG4gICAgfV0sXG4gICAgLy8gW0xvZ2luUmVzdWx0cy5BY2NvdW50QmxvY2tlZF06IFtdLCAvLyBUT0RPIGFkZCB3aGVuIHJlYWNoaW5nIHRoaXMgc2NlbmFyaW9cbiAgICAvLyBbTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkXTogW10sIC8vIFRPRE8gYWRkIHdoZW4gcmVhY2hpbmcgdGhpcyBzY2VuYXJpb1xuICB9O1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICBkZWJ1ZygnY3JlYXRlIGxvZ2luIGZpZWxkcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkJyk7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogJ1tmb3JtY29udHJvbG5hbWU9XCJ1c2VyTmFtZVwiXScsIHZhbHVlOiBjcmVkZW50aWFscy51c2VybmFtZSB9LFxuICAgIHsgc2VsZWN0b3I6ICdbZm9ybWNvbnRyb2xuYW1lPVwicGFzc3dvcmRcIl0nLCB2YWx1ZTogY3JlZGVudGlhbHMucGFzc3dvcmQgfSxcbiAgXTtcbn1cblxuXG5mdW5jdGlvbiBnZXRBbW91bnREYXRhKGFtb3VudFN0cjogc3RyaW5nKSB7XG4gIGNvbnN0IGFtb3VudFN0ckNsbiA9IGFtb3VudFN0ci5yZXBsYWNlKCcsJywgJycpO1xuICBsZXQgY3VycmVuY3k6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBsZXQgYW1vdW50OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgaWYgKGFtb3VudFN0ckNsbi5pbmNsdWRlcyhTSEVLRUxfQ1VSUkVOQ1lfU1lNQk9MKSkge1xuICAgIGFtb3VudCA9IC1wYXJzZUZsb2F0KGFtb3VudFN0ckNsbi5yZXBsYWNlKFNIRUtFTF9DVVJSRU5DWV9TWU1CT0wsICcnKSk7XG4gICAgY3VycmVuY3kgPSBTSEVLRUxfQ1VSUkVOQ1k7XG4gIH0gZWxzZSBpZiAoYW1vdW50U3RyQ2xuLmluY2x1ZGVzKERPTExBUl9DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gLXBhcnNlRmxvYXQoYW1vdW50U3RyQ2xuLnJlcGxhY2UoRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCwgJycpKTtcbiAgICBjdXJyZW5jeSA9IERPTExBUl9DVVJSRU5DWTtcbiAgfSBlbHNlIGlmIChhbW91bnRTdHJDbG4uaW5jbHVkZXMoRVVST19DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gLXBhcnNlRmxvYXQoYW1vdW50U3RyQ2xuLnJlcGxhY2UoRVVST19DVVJSRU5DWV9TWU1CT0wsICcnKSk7XG4gICAgY3VycmVuY3kgPSBFVVJPX0NVUlJFTkNZO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHBhcnRzID0gYW1vdW50U3RyQ2xuLnNwbGl0KCcgJyk7XG4gICAgW2N1cnJlbmN5XSA9IHBhcnRzO1xuICAgIGFtb3VudCA9IC1wYXJzZUZsb2F0KHBhcnRzWzFdKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYW1vdW50LFxuICAgIGN1cnJlbmN5LFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyhtZW1vOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkluc3RhbGxtZW50cyB8IG51bGwge1xuICBjb25zdCBwYXJzZWRNZW1vID0gKC/Xqtep15zXldedIChcXGQrKSDXnteq15XXmiAoXFxkKykvKS5leGVjKG1lbW8gfHwgJycpO1xuXG4gIGlmICghcGFyc2VkTWVtbyB8fCBwYXJzZWRNZW1vLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBudW1iZXI6IHBhcnNlSW50KHBhcnNlZE1lbW9bMV0sIDEwKSxcbiAgICB0b3RhbDogcGFyc2VJbnQocGFyc2VkTWVtb1syXSwgMTApLFxuICB9O1xufVxuZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9ucyh0eG5zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10ge1xuICBkZWJ1ZyhgY29udmVydCAke3R4bnMubGVuZ3RofSByYXcgdHJhbnNhY3Rpb25zIHRvIG9mZmljaWFsIFRyYW5zYWN0aW9uIHN0cnVjdHVyZWApO1xuICByZXR1cm4gdHhucy5tYXAoKHR4bikgPT4ge1xuICAgIGNvbnN0IG9yaWdpbmFsQW1vdW50VHVwbGUgPSBnZXRBbW91bnREYXRhKHR4bi5vcmlnaW5hbEFtb3VudCB8fCAnJyk7XG4gICAgY29uc3QgY2hhcmdlZEFtb3VudFR1cGxlID0gZ2V0QW1vdW50RGF0YSh0eG4uY2hhcmdlZEFtb3VudCB8fCAnJyk7XG5cbiAgICBjb25zdCBpbnN0YWxsbWVudHMgPSBnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyh0eG4ubWVtbyk7XG4gICAgY29uc3QgdHhuRGF0ZSA9IG1vbWVudCh0eG4uZGF0ZSwgREFURV9GT1JNQVQpO1xuICAgIGNvbnN0IHByb2Nlc3NlZERhdGVGb3JtYXQgPVxuICAgICAgdHhuLnByb2Nlc3NlZERhdGUubGVuZ3RoID09PSA4ID9cbiAgICAgICAgREFURV9GT1JNQVQgOlxuICAgICAgICB0eG4ucHJvY2Vzc2VkRGF0ZS5sZW5ndGggPT09IDkgfHwgdHhuLnByb2Nlc3NlZERhdGUubGVuZ3RoID09PSAxMCA/XG4gICAgICAgICAgTE9OR19EQVRFX0ZPUk1BVCA6XG4gICAgICAgICAgbnVsbDtcbiAgICBpZiAoIXByb2Nlc3NlZERhdGVGb3JtYXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwcm9jZXNzZWQgZGF0ZScpO1xuICAgIH1cbiAgICBjb25zdCB0eG5Qcm9jZXNzZWREYXRlID0gbW9tZW50KHR4bi5wcm9jZXNzZWREYXRlLCBwcm9jZXNzZWREYXRlRm9ybWF0KTtcblxuICAgIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb24gPSB7XG4gICAgICB0eXBlOiBpbnN0YWxsbWVudHMgPyBUcmFuc2FjdGlvblR5cGVzLkluc3RhbGxtZW50cyA6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICAgIGRhdGU6IGluc3RhbGxtZW50cyA/IHR4bkRhdGUuYWRkKGluc3RhbGxtZW50cy5udW1iZXIgLSAxLCAnbW9udGgnKS50b0lTT1N0cmluZygpIDogdHhuRGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgcHJvY2Vzc2VkRGF0ZTogdHhuUHJvY2Vzc2VkRGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IG9yaWdpbmFsQW1vdW50VHVwbGUuYW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogb3JpZ2luYWxBbW91bnRUdXBsZS5jdXJyZW5jeSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IGNoYXJnZWRBbW91bnRUdXBsZS5hbW91bnQsXG4gICAgICBjaGFyZ2VkQ3VycmVuY3k6IGNoYXJnZWRBbW91bnRUdXBsZS5jdXJyZW5jeSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0eG4uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBtZW1vOiB0eG4ubWVtbyB8fCAnJyxcbiAgICB9O1xuXG4gICAgaWYgKGluc3RhbGxtZW50cykge1xuICAgICAgcmVzdWx0Lmluc3RhbGxtZW50cyA9IGluc3RhbGxtZW50cztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50KHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50LCBhY2NvdW50TnVtYmVyOiBzdHJpbmcsIHNjcmFwZXJPcHRpb25zOiBTY3JhcGVyT3B0aW9ucyk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudD4ge1xuICBjb25zdCBzdGFydERhdGVWYWx1ZSA9IHN0YXJ0RGF0ZS5mb3JtYXQoJ01NL1lZWVknKTtcbiAgY29uc3QgZGF0ZVNlbGVjdG9yID0gJ1tpZCQ9XCJGb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2NsbmRyRGViaXREYXRlU2NvcGVfVGV4dEJveFwiXSc7XG4gIGNvbnN0IGRhdGVIaWRkZW5GaWVsZFNlbGVjdG9yID0gJ1tpZCQ9XCJGb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2NsbmRyRGViaXREYXRlU2NvcGVfSGlkZGVuRmllbGRcIl0nO1xuICBjb25zdCBidXR0b25TZWxlY3RvciA9ICdbaWQkPVwiRm9ybUFyZWFOb0JvcmRlcl9Gb3JtQXJlYV9jdGxTdWJtaXRSZXF1ZXN0XCJdJztcbiAgY29uc3QgbmV4dFBhZ2VTZWxlY3RvciA9ICdbaWQkPVwiRm9ybUFyZWFOb0JvcmRlcl9Gb3JtQXJlYV9jdGxHcmlkUGFnZXJfYnRuTmV4dFwiXSc7XG4gIGNvbnN0IGJpbGxpbmdMYWJlbFNlbGVjdG9yID0gJ1tpZCQ9Rm9ybUFyZWFOb0JvcmRlcl9Gb3JtQXJlYV9jdGxNYWluVG9vbEJhcl9sYmxDYXB0aW9uXSc7XG4gIGNvbnN0IHNlY29uZGFyeUJpbGxpbmdMYWJlbFNlbGVjdG9yID0gJ1tpZCQ9Rm9ybUFyZWFOb0JvcmRlcl9Gb3JtQXJlYV9jdGxTZWNvbmRhcnlUb29sQmFyX2xibENhcHRpb25dJztcbiAgY29uc3Qgbm9EYXRhU2VsZWN0b3IgPSAnW2lkJD1Gb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX21zZ2JveEVycm9yTWVzc2FnZXNdJztcblxuICBkZWJ1ZygnZmluZCB0aGUgc3RhcnQgZGF0ZSBpbmRleCBpbiB0aGUgZHJvcGJveCcpO1xuICBjb25zdCBvcHRpb25zID0gYXdhaXQgcGFnZUV2YWxBbGwocGFnZSwgJ1tpZCQ9XCJGb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2NsbmRyRGViaXREYXRlU2NvcGVfT3B0aW9uTGlzdFwiXSBsaScsIFtdLCAoaXRlbXMpID0+IHtcbiAgICByZXR1cm4gaXRlbXMubWFwKChlbDogYW55KSA9PiBlbC5pbm5lclRleHQpO1xuICB9KTtcbiAgY29uc3Qgc3RhcnREYXRlSW5kZXggPSBvcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiBvcHRpb24gPT09IHN0YXJ0RGF0ZVZhbHVlKTtcblxuICBkZWJ1Zyhgc2NyYXBlICR7b3B0aW9ucy5sZW5ndGggLSBzdGFydERhdGVJbmRleH0gYmlsbGluZyBjeWNsZXNgKTtcbiAgY29uc3QgYWNjb3VudFRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSA9IFtdO1xuICBmb3IgKGxldCBjdXJyZW50RGF0ZUluZGV4ID0gc3RhcnREYXRlSW5kZXg7IGN1cnJlbnREYXRlSW5kZXggPCBvcHRpb25zLmxlbmd0aDsgY3VycmVudERhdGVJbmRleCArPSAxKSB7XG4gICAgZGVidWcoJ3dhaXQgZm9yIGRhdGUgc2VsZWN0b3IgdG8gYmUgZm91bmQnKTtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgZGF0ZVNlbGVjdG9yLCB0cnVlKTtcbiAgICBkZWJ1Zyhgc2V0IGhpZGRlbiB2YWx1ZSBvZiB0aGUgZGF0ZSBzZWxlY3RvciB0byBiZSB0aGUgaW5kZXggJHtjdXJyZW50RGF0ZUluZGV4fWApO1xuICAgIGF3YWl0IHNldFZhbHVlKHBhZ2UsIGRhdGVIaWRkZW5GaWVsZFNlbGVjdG9yLCBgJHtjdXJyZW50RGF0ZUluZGV4fWApO1xuICAgIGRlYnVnKCd3YWl0IGEgc2Vjb25kIHRvIHdvcmthcm91bmQgbmF2aWdhdGlvbiBpc3N1ZSBpbiBoZWFkbGVzcyBicm93c2VyIG1vZGUnKTtcbiAgICBhd2FpdCBwYWdlLndhaXRGb3JUaW1lb3V0KDEwMDApO1xuICAgIGRlYnVnKCdjbGljayBvbiB0aGUgZmlsdGVyIHN1Ym1pdCBidXR0b24gYW5kIHdhaXQgZm9yIG5hdmlnYXRpb24nKTtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBwYWdlLndhaXRGb3JOYXZpZ2F0aW9uKHsgd2FpdFVudGlsOiAnZG9tY29udGVudGxvYWRlZCcgfSksXG4gICAgICBjbGlja0J1dHRvbihwYWdlLCBidXR0b25TZWxlY3RvciksXG4gICAgXSk7XG4gICAgZGVidWcoJ2NoZWNrIGlmIG1vbnRoIGhhcyBubyB0cmFuc2FjdGlvbnMnKTtcbiAgICBjb25zdCBwYWdlSGFzTm9UcmFuc2FjdGlvbnMgPSBhd2FpdCBwYWdlRXZhbChwYWdlLCBub0RhdGFTZWxlY3RvciwgZmFsc2UsICgoZWxlbWVudCkgPT4ge1xuICAgICAgY29uc3Qgc2l0ZVZhbHVlID0gKChlbGVtZW50IGFzIEhUTUxTcGFuRWxlbWVudCkuaW5uZXJUZXh0IHx8ICcnKS5yZXBsYWNlKC9bXiDXkC3Xql0vZywgJycpO1xuICAgICAgcmV0dXJuIHNpdGVWYWx1ZSA9PT0gJ9ec15Ag16DXntem15DXlSDXoNeq15XXoNeZ150nO1xuICAgIH0pKTtcblxuICAgIGlmIChwYWdlSGFzTm9UcmFuc2FjdGlvbnMpIHtcbiAgICAgIGRlYnVnKCdwYWdlIGhhcyBubyB0cmFuc2FjdGlvbnMnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVidWcoJ2ZpbmQgdGhlIGJpbGxpbmcgZGF0ZScpO1xuICAgICAgbGV0IGJpbGxpbmdEYXRlTGFiZWwgPSBhd2FpdCBwYWdlRXZhbChwYWdlLCBiaWxsaW5nTGFiZWxTZWxlY3RvciwgJycsICgoZWxlbWVudCkgPT4ge1xuICAgICAgICByZXR1cm4gKGVsZW1lbnQgYXMgSFRNTFNwYW5FbGVtZW50KS5pbm5lclRleHQ7XG4gICAgICB9KSk7XG4gICAgICBsZXQgc2V0dGxlbWVudERhdGVSZWdleCA9IC9cXGR7MSwyfVsvXVxcZHsyfVsvXVxcZHsyLDR9LztcblxuICAgICAgaWYgKGJpbGxpbmdEYXRlTGFiZWwgPT09ICcnKSB7XG4gICAgICAgIGJpbGxpbmdEYXRlTGFiZWwgPSBhd2FpdCBwYWdlRXZhbChwYWdlLCBzZWNvbmRhcnlCaWxsaW5nTGFiZWxTZWxlY3RvciwgJycsICgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgIHJldHVybiAoZWxlbWVudCBhcyBIVE1MU3BhbkVsZW1lbnQpLmlubmVyVGV4dDtcbiAgICAgICAgfSkpO1xuICAgICAgICBzZXR0bGVtZW50RGF0ZVJlZ2V4ID0gL1xcZHsxLDJ9Wy9dXFxkezIsNH0vO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBiaWxsaW5nRGF0ZSA9IHNldHRsZW1lbnREYXRlUmVnZXguZXhlYyhiaWxsaW5nRGF0ZUxhYmVsKT8uWzBdO1xuXG4gICAgICBpZiAoIWJpbGxpbmdEYXRlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignZmFpbGVkIHRvIGZldGNoIHByb2Nlc3MgZGF0ZScpO1xuICAgICAgfVxuXG4gICAgICBkZWJ1ZyhgZm91bmQgdGhlIGJpbGxpbmcgZGF0ZSBmb3IgdGhhdCBtb250aCAke2JpbGxpbmdEYXRlfWApO1xuICAgICAgbGV0IGhhc05leHRQYWdlID0gZmFsc2U7XG4gICAgICBkbyB7XG4gICAgICAgIGRlYnVnKCdmZXRjaCByYXcgdHJhbnNhY3Rpb25zIGZyb20gcGFnZScpO1xuICAgICAgICBjb25zdCByYXdUcmFuc2FjdGlvbnMgPSBhd2FpdCBwYWdlRXZhbEFsbDwoU2NyYXBlZFRyYW5zYWN0aW9uIHwgbnVsbClbXT4ocGFnZSwgJyNjdGxNYWluR3JpZCA+IHRib2R5IHRyLCAjY3RsU2Vjb25kYXJ5R3JpZCA+IHRib2R5IHRyJywgW10sIChpdGVtcywgYmlsbGluZ0RhdGUpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGl0ZW1zKS5tYXAoKGVsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb2x1bW5zID0gZWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3RkJyk7XG4gICAgICAgICAgICBpZiAoY29sdW1ucy5sZW5ndGggPT09IDYpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzZWREYXRlOiBjb2x1bW5zWzBdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBkYXRlOiBjb2x1bW5zWzFdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogY29sdW1uc1syXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxBbW91bnQ6IGNvbHVtbnNbM10uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIGNoYXJnZWRBbW91bnQ6IGNvbHVtbnNbNF0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIG1lbW86IGNvbHVtbnNbNV0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNvbHVtbnMubGVuZ3RoID09PSA1KSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc2VkRGF0ZTogYmlsbGluZ0RhdGUsXG4gICAgICAgICAgICAgICAgZGF0ZTogY29sdW1uc1swXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGNvbHVtbnNbMV0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIG9yaWdpbmFsQW1vdW50OiBjb2x1bW5zWzJdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBjaGFyZ2VkQW1vdW50OiBjb2x1bW5zWzNdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBtZW1vOiBjb2x1bW5zWzRdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LCBiaWxsaW5nRGF0ZSk7XG4gICAgICAgIGRlYnVnKGBmZXRjaGVkICR7cmF3VHJhbnNhY3Rpb25zLmxlbmd0aH0gcmF3IHRyYW5zYWN0aW9ucyBmcm9tIHBhZ2VgKTtcbiAgICAgICAgYWNjb3VudFRyYW5zYWN0aW9ucy5wdXNoKC4uLmNvbnZlcnRUcmFuc2FjdGlvbnMoKHJhd1RyYW5zYWN0aW9ucyBhcyBTY3JhcGVkVHJhbnNhY3Rpb25bXSlcbiAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pKSk7XG5cbiAgICAgICAgZGVidWcoJ2NoZWNrIGZvciBleGlzdGFuY2Ugb2YgYW5vdGhlciBwYWdlJyk7XG4gICAgICAgIGhhc05leHRQYWdlID0gYXdhaXQgZWxlbWVudFByZXNlbnRPblBhZ2UocGFnZSwgbmV4dFBhZ2VTZWxlY3Rvcik7XG4gICAgICAgIGlmIChoYXNOZXh0UGFnZSkge1xuICAgICAgICAgIGRlYnVnKCdoYXMgYW5vdGhlciBwYWdlLCBjbGljayBvbiBidXR0b24gbmV4dCBhbmQgd2FpdCBmb3IgcGFnZSBuYXZpZ2F0aW9uJyk7XG4gICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgcGFnZS53YWl0Rm9yTmF2aWdhdGlvbih7IHdhaXRVbnRpbDogJ2RvbWNvbnRlbnRsb2FkZWQnIH0pLFxuICAgICAgICAgICAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgJ1tpZCQ9Rm9ybUFyZWFOb0JvcmRlcl9Gb3JtQXJlYV9jdGxHcmlkUGFnZXJfYnRuTmV4dF0nKSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgfVxuICAgICAgfSB3aGlsZSAoaGFzTmV4dFBhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIGRlYnVnKCdmaWxlciBvdXQgb2xkIHRyYW5zYWN0aW9ucycpO1xuICBjb25zdCB0eG5zID0gZmlsdGVyT2xkVHJhbnNhY3Rpb25zKGFjY291bnRUcmFuc2FjdGlvbnMsIHN0YXJ0RGF0ZSwgc2NyYXBlck9wdGlvbnMuY29tYmluZUluc3RhbGxtZW50cyB8fCBmYWxzZSk7XG4gIGRlYnVnKGBmb3VuZCAke3R4bnMubGVuZ3RofSB2YWxpZCB0cmFuc2FjdGlvbnMgb3V0IG9mICR7YWNjb3VudFRyYW5zYWN0aW9ucy5sZW5ndGh9IHRyYW5zYWN0aW9ucyBmb3IgYWNjb3VudCBlbmRpbmcgd2l0aCAke2FjY291bnROdW1iZXIuc3Vic3RyaW5nKGFjY291bnROdW1iZXIubGVuZ3RoIC0gMil9YCk7XG4gIHJldHVybiB7XG4gICAgYWNjb3VudE51bWJlcixcbiAgICB0eG5zLFxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRBY2NvdW50TnVtYmVycyhwYWdlOiBQYWdlKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICByZXR1cm4gcGFnZUV2YWxBbGwocGFnZSwgJ1tpZCQ9bG5rSXRlbV0nLCBbXSwgKGVsZW1lbnRzKSA9PiBlbGVtZW50cy5tYXAoKGUpID0+IChlIGFzIEhUTUxBbmNob3JFbGVtZW50KS50ZXh0KSkudGhlbigocmVzKSA9PiByZXMubWFwKCh0ZXh0KSA9PiAvXFxkKyQvLmV4ZWModGV4dC50cmltKCkpPy5bMF0gPz8gJycpKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2V0QWNjb3VudChwYWdlOiBQYWdlLCBhY2NvdW50OiBzdHJpbmcpIHtcbiAgYXdhaXQgcGFnZUV2YWxBbGwoXG4gICAgcGFnZSxcbiAgICAnW2lkJD1sbmtJdGVtXScsXG4gICAgbnVsbCxcbiAgICAoZWxlbWVudHMsIGFjY291bnQpID0+IHtcbiAgICAgIGZvciAoY29uc3QgZWxlbSBvZiBlbGVtZW50cykge1xuICAgICAgICBjb25zdCBhID0gZWxlbSBhcyBIVE1MQW5jaG9yRWxlbWVudDtcbiAgICAgICAgaWYgKGEudGV4dC5pbmNsdWRlcyhhY2NvdW50KSkge1xuICAgICAgICAgIGEuY2xpY2soKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgYWNjb3VudCxcbiAgKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUcmFuc2FjdGlvbnMocGFnZTogUGFnZSwgc3RhcnREYXRlOiBNb21lbnQsIHNjcmFwZXJPcHRpb25zOiBTY3JhcGVyT3B0aW9ucyk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudFtdPiB7XG4gIGNvbnN0IGFjY291bnROdW1iZXJzOiBzdHJpbmdbXSA9IGF3YWl0IGdldEFjY291bnROdW1iZXJzKHBhZ2UpO1xuICBjb25zdCBhY2NvdW50czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgZm9yIChjb25zdCBhY2NvdW50IG9mIGFjY291bnROdW1iZXJzKSB7XG4gICAgZGVidWcoYHNldHRpbmcgYWNjb3VudDogJHthY2NvdW50fWApO1xuICAgIGF3YWl0IHNldEFjY291bnQocGFnZSwgYWNjb3VudCk7XG4gICAgYXdhaXQgcGFnZS53YWl0Rm9yVGltZW91dCgxMDAwKTtcbiAgICBhY2NvdW50cy5wdXNoKFxuICAgICAgYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50KFxuICAgICAgICBwYWdlLFxuICAgICAgICBzdGFydERhdGUsXG4gICAgICAgIGFjY291bnQsXG4gICAgICAgIHNjcmFwZXJPcHRpb25zLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGFjY291bnRzO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaEZ1dHVyZURlYml0cyhwYWdlOiBQYWdlKSB7XG4gIGNvbnN0IGZ1dHVyZURlYml0c1NlbGVjdG9yID0gJy5ob21lcGFnZS1iYW5rcy10b3AnO1xuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBhZ2VFdmFsQWxsKHBhZ2UsIGZ1dHVyZURlYml0c1NlbGVjdG9yLCBbXSwgKGl0ZW1zKSA9PiB7XG4gICAgY29uc3QgZGViaXRNb3VudENsYXNzID0gJ2Ftb3VudCc7XG4gICAgY29uc3QgZGViaXRXaGVuQ2hhcmdlQ2xhc3MgPSAnd2hlbi1jaGFyZ2UnO1xuICAgIGNvbnN0IGRlYml0QmFua051bWJlckNsYXNzID0gJ2JhbmtEZXNjJztcblxuICAgIHJldHVybiBpdGVtcy5tYXAoKGN1cnJCYW5rRWw6IGFueSkgPT4ge1xuICAgICAgY29uc3QgYW1vdW50ID0gY3VyckJhbmtFbC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGRlYml0TW91bnRDbGFzcylbMF0uaW5uZXJUZXh0O1xuICAgICAgY29uc3Qgd2hlbkNoYXJnZSA9IGN1cnJCYW5rRWwuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShkZWJpdFdoZW5DaGFyZ2VDbGFzcylbMF0uaW5uZXJUZXh0O1xuICAgICAgY29uc3QgYmFua051bWJlciA9IGN1cnJCYW5rRWwuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShkZWJpdEJhbmtOdW1iZXJDbGFzcylbMF0uaW5uZXJUZXh0O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYW1vdW50LFxuICAgICAgICB3aGVuQ2hhcmdlLFxuICAgICAgICBiYW5rTnVtYmVyLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfSk7XG4gIGNvbnN0IGZ1dHVyZURlYml0cyA9IHJlc3VsdC5tYXAoKGl0ZW0pID0+IHtcbiAgICBjb25zdCBhbW91bnREYXRhID0gZ2V0QW1vdW50RGF0YShpdGVtLmFtb3VudCk7XG4gICAgY29uc3QgY2hhcmdlRGF0ZSA9IC9cXGR7MSwyfVsvXVxcZHsyfVsvXVxcZHsyLDR9Ly5leGVjKGl0ZW0ud2hlbkNoYXJnZSk/LlswXTtcbiAgICBjb25zdCBiYW5rQWNjb3VudE51bWJlciA9IC9cXGQrLVxcZCsvLmV4ZWMoaXRlbS5iYW5rTnVtYmVyKT8uWzBdO1xuICAgIHJldHVybiB7XG4gICAgICBhbW91bnQ6IGFtb3VudERhdGEuYW1vdW50LFxuICAgICAgYW1vdW50Q3VycmVuY3k6IGFtb3VudERhdGEuY3VycmVuY3ksXG4gICAgICBjaGFyZ2VEYXRlLFxuICAgICAgYmFua0FjY291bnROdW1iZXIsXG4gICAgfTtcbiAgfSk7XG4gIHJldHVybiBmdXR1cmVEZWJpdHM7XG59XG5cbmNsYXNzIFZpc2FDYWxTY3JhcGVyIGV4dGVuZHMgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciB7XG4gIG9wZW5Mb2dpblBvcHVwID0gYXN5bmMgKCkgPT4ge1xuICAgIGRlYnVnKCdvcGVuIGxvZ2luIHBvcHVwLCB3YWl0IHVudGlsIGxvZ2luIGJ1dHRvbiBhdmFpbGFibGUnKTtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnI2NjTG9naW5EZXNrdG9wQnRuJywgdHJ1ZSk7XG4gICAgZGVidWcoJ2NsaWNrIG9uIHRoZSBsb2dpbiBidXR0b24nKTtcbiAgICBhd2FpdCBjbGlja0J1dHRvbih0aGlzLnBhZ2UsICcjY2NMb2dpbkRlc2t0b3BCdG4nKTtcbiAgICBkZWJ1ZygnZ2V0IHRoZSBmcmFtZSB0aGF0IGhvbGRzIHRoZSBsb2dpbicpO1xuICAgIGNvbnN0IGZyYW1lID0gYXdhaXQgZ2V0TG9naW5GcmFtZSh0aGlzLnBhZ2UpO1xuICAgIGRlYnVnKCd3YWl0IHVudGlsIHRoZSBwYXNzd29yZCBsb2dpbiB0YWIgaGVhZGVyIGlzIGF2YWlsYWJsZScpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChmcmFtZSwgJyNyZWd1bGFyLWxvZ2luJyk7XG4gICAgZGVidWcoJ25hdmlnYXRlIHRvIHRoZSBwYXNzd29yZCBsb2dpbiB0YWInKTtcbiAgICBhd2FpdCBjbGlja0J1dHRvbihmcmFtZSwgJyNyZWd1bGFyLWxvZ2luJyk7XG4gICAgZGVidWcoJ3dhaXQgdW50aWwgdGhlIHBhc3N3b3JkIGxvZ2luIHRhYiBpcyBhY3RpdmUnKTtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQoZnJhbWUsICdyZWd1bGFyLWxvZ2luJyk7XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH07XG5cbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2luVXJsOiBgJHtMT0dJTl9VUkx9YCxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6ICdidXR0b25bdHlwZT1cInN1Ym1pdFwiXScsXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCksXG4gICAgICBjaGVja1JlYWRpbmVzczogYXN5bmMgKCkgPT4gd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJyNjY0xvZ2luRGVza3RvcEJ0bicpLFxuICAgICAgcHJlQWN0aW9uOiB0aGlzLm9wZW5Mb2dpblBvcHVwLFxuICAgICAgdXNlckFnZW50OiAnTW96aWxsYS81LjAgKFgxMTsgTGludXggeDg2XzY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvNzguMC4zOTA0LjEwOCBTYWZhcmkvNTM3LjM2JyxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hEYXRhKCk6IFByb21pc2U8U2NhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAneWVhcnMnKS5hZGQoMSwgJ2RheScpO1xuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMub3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICAgIGNvbnN0IHN0YXJ0TW9tZW50ID0gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcbiAgICBkZWJ1ZyhgZmV0Y2ggdHJhbnNhY3Rpb25zIHN0YXJ0aW5nICR7c3RhcnRNb21lbnQuZm9ybWF0KCl9YCk7XG5cbiAgICBkZWJ1ZygnZmV0Y2ggZnV0dXJlIGRlYml0cycpO1xuICAgIGNvbnN0IGZ1dHVyZURlYml0cyA9IGF3YWl0IGZldGNoRnV0dXJlRGViaXRzKHRoaXMucGFnZSk7XG5cbiAgICBkZWJ1ZygnbmF2aWdhdGUgdG8gdHJhbnNhY3Rpb25zIHBhZ2UnKTtcbiAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG8oVFJBTlNBQ1RJT05TX1VSTCwgdW5kZWZpbmVkLCA2MDAwMCk7XG5cbiAgICBkZWJ1ZygnZmV0Y2ggYWNjb3VudHMgdHJhbnNhY3Rpb25zJyk7XG4gICAgY29uc3QgYWNjb3VudHMgPSBhd2FpdCBmZXRjaFRyYW5zYWN0aW9ucyh0aGlzLnBhZ2UsIHN0YXJ0TW9tZW50LCB0aGlzLm9wdGlvbnMpO1xuXG4gICAgZGVidWcoJ3JldHVybiB0aGUgc2NyYXBlZCBhY2NvdW50cycpO1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgYWNjb3VudHMsXG4gICAgICBmdXR1cmVEZWJpdHMsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBWaXNhQ2FsU2NyYXBlcjtcbiJdfQ==
|
package/lib/scrapers/yahav.js
CHANGED
|
@@ -30,7 +30,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
30
30
|
const LOGIN_URL = 'https://login.yahav.co.il/login/';
|
|
31
31
|
const BASE_URL = 'https://digital.yahav.co.il/BaNCSDigitalUI/app/index.html#/';
|
|
32
32
|
const INVALID_DETAILS_SELECTOR = '.ui-dialog-buttons';
|
|
33
|
-
const CHANGE_PASSWORD_OLD_PASS = 'input#
|
|
33
|
+
const CHANGE_PASSWORD_OLD_PASS = 'input#ef_req_parameter_old_credential';
|
|
34
34
|
const BASE_WELCOME_URL = `${BASE_URL}main/home`;
|
|
35
35
|
const ACCOUNT_ID_SELECTOR = '.dropdown-dir .selected-item-top';
|
|
36
36
|
const ACCOUNT_DETAILS_SELECTOR = '.account-details';
|
|
@@ -269,4 +269,4 @@ class YahavScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
269
269
|
|
|
270
270
|
var _default = YahavScraper;
|
|
271
271
|
exports.default = _default;
|
|
272
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy95YWhhdi50cyJdLCJuYW1lcyI6WyJMT0dJTl9VUkwiLCJCQVNFX1VSTCIsIklOVkFMSURfREVUQUlMU19TRUxFQ1RPUiIsIkNIQU5HRV9QQVNTV09SRF9PTERfUEFTUyIsIkJBU0VfV0VMQ09NRV9VUkwiLCJBQ0NPVU5UX0lEX1NFTEVDVE9SIiwiQUNDT1VOVF9ERVRBSUxTX1NFTEVDVE9SIiwiREFURV9GT1JNQVQiLCJVU0VSX0VMRU0iLCJQQVNTV0RfRUxFTSIsIk5BVElPTkFMSURfRUxFTSIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwicGFnZSIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwiQ2hhbmdlUGFzc3dvcmQiLCJnZXRBY2NvdW50SUQiLCJzZWxlY3RlZFNuaWZBY2NvdW50IiwiJGV2YWwiLCJvcHRpb24iLCJpbm5lclRleHQiLCJnZXRBbW91bnREYXRhIiwiYW1vdW50U3RyIiwiYW1vdW50U3RyQ29weSIsInJlcGxhY2UiLCJwYXJzZUZsb2F0IiwiZ2V0VHhuQW1vdW50IiwidHhuIiwiY3JlZGl0IiwiZGViaXQiLCJOdW1iZXIiLCJpc05hTiIsImNvbnZlcnRUcmFuc2FjdGlvbnMiLCJ0eG5zIiwibWFwIiwiY29udmVydGVkRGF0ZSIsImRhdGUiLCJ0b0lTT1N0cmluZyIsImNvbnZlcnRlZEFtb3VudCIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiTm9ybWFsIiwiaWRlbnRpZmllciIsInJlZmVyZW5jZSIsInBhcnNlSW50IiwidW5kZWZpbmVkIiwicHJvY2Vzc2VkRGF0ZSIsIm9yaWdpbmFsQW1vdW50Iiwib3JpZ2luYWxDdXJyZW5jeSIsIlNIRUtFTF9DVVJSRU5DWSIsImNoYXJnZWRBbW91bnQiLCJzdGF0dXMiLCJkZXNjcmlwdGlvbiIsIm1lbW8iLCJoYW5kbGVUcmFuc2FjdGlvblJvdyIsInR4blJvdyIsImRpdiIsImlubmVyRGl2cyIsInJlZ2V4IiwidHgiLCJUcmFuc2FjdGlvblN0YXR1c2VzIiwiQ29tcGxldGVkIiwicHVzaCIsImdldEFjY291bnRUcmFuc2FjdGlvbnMiLCJ0cmFuc2FjdGlvbnNEaXZzIiwiZGl2cyIsImlkIiwiZ2V0QXR0cmlidXRlIiwiQXJyYXkiLCJmcm9tIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJzZWFyY2hCeURhdGVzIiwic3RhcnREYXRlIiwic3RhcnREYXRlRGF5IiwiZm9ybWF0Iiwic3RhcnREYXRlTW9udGgiLCJzdGFydERhdGVZZWFyIiwiZGF0ZUZyb21QaWNrIiwibW9udGhGcm9tUGljayIsImkiLCJzZWxlY3RvciIsInllYXIiLCJ5IiwibW9udGhTZWxlY3RvciIsImRheSIsImQiLCJmZXRjaEFjY291bnREYXRhIiwiYWNjb3VudElEIiwiYWNjb3VudE51bWJlciIsImZldGNoQWNjb3VudHMiLCJhY2NvdW50cyIsImFjY291bnREYXRhIiwid2FpdFJlYWRpbmVzc0ZvckFsbCIsInJlZGlyZWN0T3JEaWFsb2ciLCJoYXNNZXNzYWdlIiwicHJvbWlzZTEiLCJ3YWl0Rm9yU2VsZWN0b3IiLCJ0aW1lb3V0IiwicHJvbWlzZTIiLCJwcm9taXNlcyIsIlByb21pc2UiLCJyYWNlIiwiWWFoYXZTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldExvZ2luT3B0aW9ucyIsImNyZWRlbnRpYWxzIiwibG9naW5VcmwiLCJmaWVsZHMiLCJ2YWx1ZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJuYXRpb25hbElEIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJjaGVja1JlYWRpbmVzcyIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsImFkZCIsIm9wdGlvbnMiLCJ0b0RhdGUiLCJzdGFydE1vbWVudCIsIm1vbWVudCIsIm1heCIsInN1Y2Nlc3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOztB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O0FBRUEsVUFBTTJHLGtCQUFrQixHQUFHLHVCQUFTQyxRQUFULENBQWtCLENBQWxCLEVBQXFCLFFBQXJCLEVBQStCQyxHQUEvQixDQUFtQyxDQUFuQyxFQUFzQyxLQUF0QyxDQUEzQjtBQUNBLFVBQU0vQyxTQUFTLEdBQUcsS0FBS2dELE9BQUwsQ0FBYWhELFNBQWIsSUFBMEI2QyxrQkFBa0IsQ0FBQ0ksTUFBbkIsRUFBNUM7O0FBQ0EsVUFBTUMsV0FBVyxHQUFHQyxnQkFBT0MsR0FBUCxDQUFXUCxrQkFBWCxFQUErQixxQkFBTzdDLFNBQVAsQ0FBL0IsQ0FBcEI7O0FBRUEsVUFBTWtCLFFBQVEsR0FBRyxNQUFNRCxhQUFhLENBQUMsS0FBSy9FLElBQU4sRUFBWWdILFdBQVosQ0FBcEM7QUFFQSxXQUFPO0FBQ0xHLE1BQUFBLE9BQU8sRUFBRSxJQURKO0FBRUxuQyxNQUFBQTtBQUZLLEtBQVA7QUFJRDs7QUFoQytDOztlQW1DbkNZLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50LCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IFNIRUtFTF9DVVJSRU5DWSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBjbGlja0J1dHRvbiwgZWxlbWVudFByZXNlbnRPblBhZ2UsXG4gIHBhZ2VFdmFsQWxsLCB3YWl0VW50aWxFbGVtZW50RGlzYXBwZWFyLCB3YWl0VW50aWxFbGVtZW50Rm91bmQsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7XG4gIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbnNBY2NvdW50LFxuICBUcmFuc2FjdGlvblN0YXR1c2VzLCBUcmFuc2FjdGlvblR5cGVzLFxufSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgU2NyYXBlckNyZWRlbnRpYWxzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHtcbiAgQmFzZVNjcmFwZXJXaXRoQnJvd3NlcixcbiAgTG9naW5SZXN1bHRzLFxuICBQb3NzaWJsZUxvZ2luUmVzdWx0cyxcbn0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcblxuY29uc3QgTE9HSU5fVVJMID0gJ2h0dHBzOi8vbG9naW4ueWFoYXYuY28uaWwvbG9naW4vJztcbmNvbnN0IEJBU0VfVVJMID0gJ2h0dHBzOi8vZGlnaXRhbC55YWhhdi5jby5pbC9CYU5DU0RpZ2l0YWxVSS9hcHAvaW5kZXguaHRtbCMvJztcbmNvbnN0IElOVkFMSURfREVUQUlMU19TRUxFQ1RPUiA9ICcudWktZGlhbG9nLWJ1dHRvbnMnO1xuY29uc3QgQ0hBTkdFX1BBU1NXT1JEX09MRF9QQVNTID0gJ2lucHV0I2VmX3JlcV9wYXJhbWV0ZXJfb2xkX3Bhc3N3ZCc7XG5jb25zdCBCQVNFX1dFTENPTUVfVVJMID0gYCR7QkFTRV9VUkx9bWFpbi9ob21lYDtcblxuY29uc3QgQUNDT1VOVF9JRF9TRUxFQ1RPUiA9ICcuZHJvcGRvd24tZGlyIC5zZWxlY3RlZC1pdGVtLXRvcCc7XG5jb25zdCBBQ0NPVU5UX0RFVEFJTFNfU0VMRUNUT1IgPSAnLmFjY291bnQtZGV0YWlscyc7XG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdERC9NTS9ZWVlZJztcblxuY29uc3QgVVNFUl9FTEVNID0gJyNVU0VSJztcbmNvbnN0IFBBU1NXRF9FTEVNID0gJyNQQVNTV09SRCc7XG5jb25zdCBOQVRJT05BTElEX0VMRU0gPSAnI05BVElPTkFMX0lEJztcblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbiB7XG4gIGNyZWRpdDogc3RyaW5nO1xuICBkZWJpdDogc3RyaW5nO1xuICBkYXRlOiBzdHJpbmc7XG4gIHJlZmVyZW5jZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgbWVtbzogc3RyaW5nO1xuICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXM7XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHBhZ2U6IFBhZ2UpOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyB7XG4gIC8vIGNoZWNrb3V0IGZpbGUgYGJhc2Utc2NyYXBlci13aXRoLWJyb3dzZXIudHNgIGZvciBhdmFpbGFibGUgcmVzdWx0IHR5cGVzXG4gIGNvbnN0IHVybHM6IFBvc3NpYmxlTG9naW5SZXN1bHRzID0ge307XG4gIHVybHNbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdID0gW1xuICAgIGAke0JBU0VfV0VMQ09NRV9VUkx9YCxcbiAgXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXSA9IFthc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuIGVsZW1lbnRQcmVzZW50T25QYWdlKHBhZ2UsIGAke0lOVkFMSURfREVUQUlMU19TRUxFQ1RPUn1gKTtcbiAgfV07XG5cbiAgdXJsc1tMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdID0gW2FzeW5jICgpID0+IHtcbiAgICByZXR1cm4gZWxlbWVudFByZXNlbnRPblBhZ2UocGFnZSwgYCR7Q0hBTkdFX1BBU1NXT1JEX09MRF9QQVNTfWApO1xuICB9XTtcblxuICByZXR1cm4gdXJscztcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0QWNjb3VudElEKHBhZ2U6IFBhZ2UpIHtcbiAgY29uc3Qgc2VsZWN0ZWRTbmlmQWNjb3VudCA9IGF3YWl0IHBhZ2UuJGV2YWwoYCR7QUNDT1VOVF9JRF9TRUxFQ1RPUn1gLCAob3B0aW9uKSA9PiB7XG4gICAgcmV0dXJuIChvcHRpb24gYXMgSFRNTEVsZW1lbnQpLmlubmVyVGV4dDtcbiAgfSk7XG5cbiAgcmV0dXJuIHNlbGVjdGVkU25pZkFjY291bnQ7XG59XG5cbmZ1bmN0aW9uIGdldEFtb3VudERhdGEoYW1vdW50U3RyOiBzdHJpbmcpIHtcbiAgY29uc3QgYW1vdW50U3RyQ29weSA9IGFtb3VudFN0ci5yZXBsYWNlKCcsJywgJycpO1xuICByZXR1cm4gcGFyc2VGbG9hdChhbW91bnRTdHJDb3B5KTtcbn1cblxuZnVuY3Rpb24gZ2V0VHhuQW1vdW50KHR4bjogU2NyYXBlZFRyYW5zYWN0aW9uKSB7XG4gIGNvbnN0IGNyZWRpdCA9IGdldEFtb3VudERhdGEodHhuLmNyZWRpdCk7XG4gIGNvbnN0IGRlYml0ID0gZ2V0QW1vdW50RGF0YSh0eG4uZGViaXQpO1xuICByZXR1cm4gKE51bWJlci5pc05hTihjcmVkaXQpID8gMCA6IGNyZWRpdCkgLSAoTnVtYmVyLmlzTmFOKGRlYml0KSA/IDAgOiBkZWJpdCk7XG59XG5cbnR5cGUgVHJhbnNhY3Rpb25zVHIgPSB7IGlkOiBzdHJpbmcsIGlubmVyRGl2czogc3RyaW5nW10gfTtcblxuZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9ucyh0eG5zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10ge1xuICByZXR1cm4gdHhucy5tYXAoKHR4bikgPT4ge1xuICAgIGNvbnN0IGNvbnZlcnRlZERhdGUgPSBtb21lbnQodHhuLmRhdGUsIERBVEVfRk9STUFUKS50b0lTT1N0cmluZygpO1xuICAgIGNvbnN0IGNvbnZlcnRlZEFtb3VudCA9IGdldFR4bkFtb3VudCh0eG4pO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbCxcbiAgICAgIGlkZW50aWZpZXI6IHR4bi5yZWZlcmVuY2UgPyBwYXJzZUludCh0eG4ucmVmZXJlbmNlLCAxMCkgOiB1bmRlZmluZWQsXG4gICAgICBkYXRlOiBjb252ZXJ0ZWREYXRlLFxuICAgICAgcHJvY2Vzc2VkRGF0ZTogY29udmVydGVkRGF0ZSxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiBjb252ZXJ0ZWRBbW91bnQsXG4gICAgICBvcmlnaW5hbEN1cnJlbmN5OiBTSEVLRUxfQ1VSUkVOQ1ksXG4gICAgICBjaGFyZ2VkQW1vdW50OiBjb252ZXJ0ZWRBbW91bnQsXG4gICAgICBzdGF0dXM6IHR4bi5zdGF0dXMsXG4gICAgICBkZXNjcmlwdGlvbjogdHhuLmRlc2NyaXB0aW9uLFxuICAgICAgbWVtbzogdHhuLm1lbW8sXG4gICAgfTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGhhbmRsZVRyYW5zYWN0aW9uUm93KHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdLCB0eG5Sb3c6IFRyYW5zYWN0aW9uc1RyKSB7XG4gIGNvbnN0IGRpdiA9IHR4blJvdy5pbm5lckRpdnM7XG5cbiAgLy8gUmVtb3ZlIGFueXRoaW5nIGV4Y2VwdCBkaWdpdHMuXG4gIGNvbnN0IHJlZ2V4ID0gL1xcRCsvZ207XG5cbiAgY29uc3QgdHg6IFNjcmFwZWRUcmFuc2FjdGlvbiA9IHtcbiAgICBkYXRlOiBkaXZbMV0sXG4gICAgcmVmZXJlbmNlOiBkaXZbMl0ucmVwbGFjZShyZWdleCwgJycpLFxuICAgIG1lbW86ICcnLFxuICAgIGRlc2NyaXB0aW9uOiBkaXZbM10sXG4gICAgZGViaXQ6IGRpdls0XSxcbiAgICBjcmVkaXQ6IGRpdls1XSxcbiAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICB9O1xuXG4gIHR4bnMucHVzaCh0eCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEFjY291bnRUcmFuc2FjdGlvbnMocGFnZTogUGFnZSk6IFByb21pc2U8VHJhbnNhY3Rpb25bXT4ge1xuICAvLyBXYWl0IGZvciB0cmFuc2FjdGlvbnMuXG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnLnVuZGVyLWxpbmUtdHhuLXRhYmxlLWhlYWRlcicsIHRydWUpO1xuXG4gIGNvbnN0IHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdID0gW107XG4gIGNvbnN0IHRyYW5zYWN0aW9uc0RpdnMgPSBhd2FpdCBwYWdlRXZhbEFsbDxUcmFuc2FjdGlvbnNUcltdPihwYWdlLCAnLmxpc3QtaXRlbS1ob2xkZXIgLmVudGlyZS1jb250ZW50LWN0cicsIFtdLCAoZGl2cykgPT4ge1xuICAgIHJldHVybiAoZGl2cyBhcyBIVE1MRWxlbWVudFtdKS5tYXAoKGRpdikgPT4gKHtcbiAgICAgIGlkOiAoZGl2KS5nZXRBdHRyaWJ1dGUoJ2lkJykgfHwgJycsXG4gICAgICBpbm5lckRpdnM6IEFycmF5LmZyb20oZGl2LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKSkubWFwKChkaXYpID0+IChkaXYgYXMgSFRNTEVsZW1lbnQpLmlubmVyVGV4dCksXG4gICAgfSkpO1xuICB9KTtcblxuICBmb3IgKGNvbnN0IHR4blJvdyBvZiB0cmFuc2FjdGlvbnNEaXZzKSB7XG4gICAgaGFuZGxlVHJhbnNhY3Rpb25Sb3codHhucywgdHhuUm93KTtcbiAgfVxuXG4gIHJldHVybiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnMpO1xufVxuXG4vLyBNYW5pcHVsYXRlIHRoZSBjYWxlbmRhciBkcm9wIGRvd24gdG8gY2hvb3NlIHRoZSB0eHMgc3RhcnQgZGF0ZS5cbmFzeW5jIGZ1bmN0aW9uIHNlYXJjaEJ5RGF0ZXMocGFnZTogUGFnZSwgc3RhcnREYXRlOiBNb21lbnQpIHtcbiAgLy8gR2V0IHRoZSBkYXkgbnVtYmVyIGZyb20gc3RhcnREYXRlLiAxLTMxICh1c3VhbGx5IDEpXG4gIGNvbnN0IHN0YXJ0RGF0ZURheSA9IHN0YXJ0RGF0ZS5mb3JtYXQoJ0QnKTtcbiAgY29uc3Qgc3RhcnREYXRlTW9udGggPSBzdGFydERhdGUuZm9ybWF0KCdNJyk7XG4gIGNvbnN0IHN0YXJ0RGF0ZVllYXIgPSBzdGFydERhdGUuZm9ybWF0KCdZJyk7XG5cbiAgLy8gT3BlbiB0aGUgY2FsZW5kYXIgZGF0ZSBwaWNrZXJcbiAgY29uc3QgZGF0ZUZyb21QaWNrID0gJ2Rpdi5kYXRlLW9wdGlvbnMtY2VsbDpudGgtY2hpbGQoNykgPiBkYXRlLXBpY2tlcjpudGgtY2hpbGQoMSkgPiBkaXY6bnRoLWNoaWxkKDEpID4gc3BhbjpudGgtY2hpbGQoMiknO1xuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgZGF0ZUZyb21QaWNrLCB0cnVlKTtcbiAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgZGF0ZUZyb21QaWNrKTtcblxuICAvLyBXYWl0IHVudGlsIGZpcnN0IGRheSBhcHBlYXIuXG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnLnBtdS1kYXlzID4gZGl2Om50aC1jaGlsZCgxKScsIHRydWUpO1xuXG4gIC8vIE9wZW4gTW9udGhzIG9wdGlvbnMuXG4gIGNvbnN0IG1vbnRoRnJvbVBpY2sgPSAnLnBtdS1tb250aCc7XG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBtb250aEZyb21QaWNrLCB0cnVlKTtcbiAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgbW9udGhGcm9tUGljayk7XG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnLnBtdS1tb250aHMgPiBkaXY6bnRoLWNoaWxkKDEpJywgdHJ1ZSk7XG5cbiAgLy8gT3BlbiBZZWFyIG9wdGlvbnMuXG4gIC8vIFVzZSBzYW1lIHNlbGVjdG9yLi4uIFlhaGF2IGtub3dzIHdoeS4uLlxuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgbW9udGhGcm9tUGljaywgdHJ1ZSk7XG4gIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsIG1vbnRoRnJvbVBpY2spO1xuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJy5wbXUteWVhcnMgPiBkaXY6bnRoLWNoaWxkKDEpJywgdHJ1ZSk7XG5cbiAgLy8gU2VsZWN0IHllYXIgZnJvbSBhIDEyIHllYXIgZ3JpZC5cbiAgZm9yIChsZXQgaSA9IDE7IGkgPCAxMzsgaSArPSAxKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBgLnBtdS15ZWFycyA+IGRpdjpudGgtY2hpbGQoJHtpfSlgO1xuICAgIGNvbnN0IHllYXIgPSBhd2FpdCBwYWdlLiRldmFsKHNlbGVjdG9yLCAoeSkgPT4ge1xuICAgICAgcmV0dXJuICh5IGFzIEhUTUxFbGVtZW50KS5pbm5lclRleHQ7XG4gICAgfSk7XG4gICAgaWYgKHN0YXJ0RGF0ZVllYXIgPT09IHllYXIpIHtcbiAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsIHNlbGVjdG9yKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNlbGVjdCBNb250aC5cbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICcucG11LW1vbnRocyA+IGRpdjpudGgtY2hpbGQoMSknLCB0cnVlKTtcbiAgLy8gVGhlIGZpcnN0IGVsZW1lbnQgKDEpIGlzIEphbnVhcnkuXG4gIGNvbnN0IG1vbnRoU2VsZWN0b3IgPSBgLnBtdS1tb250aHMgPiBkaXY6bnRoLWNoaWxkKCR7c3RhcnREYXRlTW9udGh9KWA7XG4gIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsIG1vbnRoU2VsZWN0b3IpO1xuXG4gIC8vIFNlbGVjdCBEYXkuXG4gIC8vIFRoZSBjYWxlbmRhciBncmlkIHNob3dzIDcgZGF5cyBhbmQgNiB3ZWVrcyA9IDQyIGRheXMuXG4gIC8vIEluIHRoZW9yeSwgdGhlIGZpcnN0IGRheSBvZiB0aGUgbW9udGggd2lsbCBiZSBpbiB0aGUgZmlyc3Qgcm93LlxuICAvLyBMZXQncyBjaGVjayBldmVyeXRoaW5nIGp1c3QgaW4gY2FzZS4uLlxuICBmb3IgKGxldCBpID0gMTsgaSA8IDQyOyBpICs9IDEpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGAucG11LWRheXMgPiBkaXY6bnRoLWNoaWxkKCR7aX0pYDtcbiAgICBjb25zdCBkYXkgPSBhd2FpdCBwYWdlLiRldmFsKHNlbGVjdG9yLCAoZCkgPT4ge1xuICAgICAgcmV0dXJuIChkIGFzIEhUTUxFbGVtZW50KS5pbm5lclRleHQ7XG4gICAgfSk7XG5cbiAgICBpZiAoc3RhcnREYXRlRGF5ID09PSBkYXkpIHtcbiAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsIHNlbGVjdG9yKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuXG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoQWNjb3VudERhdGEocGFnZTogUGFnZSwgc3RhcnREYXRlOiBNb21lbnQsIGFjY291bnRJRDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbnNBY2NvdW50PiB7XG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIocGFnZSwgJy5sb2FkaW5nLWJhci1zcGlubmVyJyk7XG4gIGF3YWl0IHNlYXJjaEJ5RGF0ZXMocGFnZSwgc3RhcnREYXRlKTtcbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudERpc2FwcGVhcihwYWdlLCAnLmxvYWRpbmctYmFyLXNwaW5uZXInKTtcbiAgY29uc3QgdHhucyA9IGF3YWl0IGdldEFjY291bnRUcmFuc2FjdGlvbnMocGFnZSk7XG5cbiAgcmV0dXJuIHtcbiAgICBhY2NvdW50TnVtYmVyOiBhY2NvdW50SUQsXG4gICAgdHhucyxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hBY2NvdW50cyhwYWdlOiBQYWdlLCBzdGFydERhdGU6IE1vbWVudCk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudFtdPiB7XG4gIGNvbnN0IGFjY291bnRzOiBUcmFuc2FjdGlvbnNBY2NvdW50W10gPSBbXTtcblxuICAvLyBUT0RPOiBnZXQgbW9yZSBhY2NvdW50cy4gTm90IHN1cmUgaXMgc3VwcG9ydGVkLlxuICBjb25zdCBhY2NvdW50SUQgPSBhd2FpdCBnZXRBY2NvdW50SUQocGFnZSk7XG4gIGNvbnN0IGFjY291bnREYXRhID0gYXdhaXQgZmV0Y2hBY2NvdW50RGF0YShwYWdlLCBzdGFydERhdGUsIGFjY291bnRJRCk7XG4gIGFjY291bnRzLnB1c2goYWNjb3VudERhdGEpO1xuXG4gIHJldHVybiBhY2NvdW50cztcbn1cblxuYXN5bmMgZnVuY3Rpb24gd2FpdFJlYWRpbmVzc0ZvckFsbChwYWdlOiBQYWdlKSB7XG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBgJHtVU0VSX0VMRU19YCwgdHJ1ZSk7XG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBgJHtQQVNTV0RfRUxFTX1gLCB0cnVlKTtcbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsIGAke05BVElPTkFMSURfRUxFTX1gLCB0cnVlKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVkaXJlY3RPckRpYWxvZyhwYWdlOiBQYWdlKSB7XG4gIC8vIENsaWNrIG9uIGJhbmsgbWVzc2FnZXMgaWYgYW55LlxuICBhd2FpdCB3YWl0Rm9yTmF2aWdhdGlvbihwYWdlKTtcbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudERpc2FwcGVhcihwYWdlLCAnLmxvYWRpbmctYmFyLXNwaW5uZXInKTtcbiAgY29uc3QgaGFzTWVzc2FnZSA9IGF3YWl0IGVsZW1lbnRQcmVzZW50T25QYWdlKHBhZ2UsICcubWVzc2FnaW5nLWxpbmtzLWNvbnRhaW5lcicpO1xuICBpZiAoaGFzTWVzc2FnZSkge1xuICAgIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsICcubGluay0xJyk7XG4gIH1cblxuICBjb25zdCBwcm9taXNlMSA9IHBhZ2Uud2FpdEZvclNlbGVjdG9yKEFDQ09VTlRfREVUQUlMU19TRUxFQ1RPUiwgeyB0aW1lb3V0OiAzMDAwMCB9KTtcbiAgY29uc3QgcHJvbWlzZTIgPSBwYWdlLndhaXRGb3JTZWxlY3RvcihDSEFOR0VfUEFTU1dPUkRfT0xEX1BBU1MsIHsgdGltZW91dDogMzAwMDAgfSk7XG4gIGNvbnN0IHByb21pc2VzID0gW3Byb21pc2UxLCBwcm9taXNlMl07XG5cbiAgYXdhaXQgUHJvbWlzZS5yYWNlKHByb21pc2VzKTtcbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudERpc2FwcGVhcihwYWdlLCAnLmxvYWRpbmctYmFyLXNwaW5uZXInKTtcbn1cblxuY2xhc3MgWWFoYXZTY3JhcGVyIGV4dGVuZHMgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciB7XG4gIGdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2luVXJsOiBgJHtMT0dJTl9VUkx9YCxcbiAgICAgIGZpZWxkczogW1xuICAgICAgICB7IHNlbGVjdG9yOiBgJHtVU0VSX0VMRU19YCwgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lIH0sXG4gICAgICAgIHsgc2VsZWN0b3I6IGAke1BBU1NXRF9FTEVNfWAsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICAgICAgICB7IHNlbGVjdG9yOiBgJHtOQVRJT05BTElEX0VMRU19YCwgdmFsdWU6IGNyZWRlbnRpYWxzLm5hdGlvbmFsSUQgfSxcbiAgICAgIF0sXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJy5zdWJtaXQnLFxuICAgICAgY2hlY2tSZWFkaW5lc3M6IGFzeW5jICgpID0+IHdhaXRSZWFkaW5lc3NGb3JBbGwodGhpcy5wYWdlKSxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IHJlZGlyZWN0T3JEaWFsb2codGhpcy5wYWdlKSxcbiAgICAgIHBvc3NpYmxlUmVzdWx0czogZ2V0UG9zc2libGVMb2dpblJlc3VsdHModGhpcy5wYWdlKSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hEYXRhKCkge1xuICAgIC8vIEdvdG8gc3RhdGVtZW50cyBwYWdlXG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgQUNDT1VOVF9ERVRBSUxTX1NFTEVDVE9SLCB0cnVlKTtcbiAgICBhd2FpdCBjbGlja0J1dHRvbih0aGlzLnBhZ2UsIEFDQ09VTlRfREVUQUlMU19TRUxFQ1RPUik7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJy5zdGF0ZW1lbnQtb3B0aW9ucyAuc2VsZWN0ZWQtaXRlbS10b3AnLCB0cnVlKTtcblxuICAgIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDMsICdtb250aHMnKS5hZGQoMSwgJ2RheScpO1xuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMub3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICAgIGNvbnN0IHN0YXJ0TW9tZW50ID0gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcblxuICAgIGNvbnN0IGFjY291bnRzID0gYXdhaXQgZmV0Y2hBY2NvdW50cyh0aGlzLnBhZ2UsIHN0YXJ0TW9tZW50KTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgYWNjb3VudHMsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBZYWhhdlNjcmFwZXI7XG4iXX0=
|
|
272
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy95YWhhdi50cyJdLCJuYW1lcyI6WyJMT0dJTl9VUkwiLCJCQVNFX1VSTCIsIklOVkFMSURfREVUQUlMU19TRUxFQ1RPUiIsIkNIQU5HRV9QQVNTV09SRF9PTERfUEFTUyIsIkJBU0VfV0VMQ09NRV9VUkwiLCJBQ0NPVU5UX0lEX1NFTEVDVE9SIiwiQUNDT1VOVF9ERVRBSUxTX1NFTEVDVE9SIiwiREFURV9GT1JNQVQiLCJVU0VSX0VMRU0iLCJQQVNTV0RfRUxFTSIsIk5BVElPTkFMSURfRUxFTSIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwicGFnZSIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwiQ2hhbmdlUGFzc3dvcmQiLCJnZXRBY2NvdW50SUQiLCJzZWxlY3RlZFNuaWZBY2NvdW50IiwiJGV2YWwiLCJvcHRpb24iLCJpbm5lclRleHQiLCJnZXRBbW91bnREYXRhIiwiYW1vdW50U3RyIiwiYW1vdW50U3RyQ29weSIsInJlcGxhY2UiLCJwYXJzZUZsb2F0IiwiZ2V0VHhuQW1vdW50IiwidHhuIiwiY3JlZGl0IiwiZGViaXQiLCJOdW1iZXIiLCJpc05hTiIsImNvbnZlcnRUcmFuc2FjdGlvbnMiLCJ0eG5zIiwibWFwIiwiY29udmVydGVkRGF0ZSIsImRhdGUiLCJ0b0lTT1N0cmluZyIsImNvbnZlcnRlZEFtb3VudCIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiTm9ybWFsIiwiaWRlbnRpZmllciIsInJlZmVyZW5jZSIsInBhcnNlSW50IiwidW5kZWZpbmVkIiwicHJvY2Vzc2VkRGF0ZSIsIm9yaWdpbmFsQW1vdW50Iiwib3JpZ2luYWxDdXJyZW5jeSIsIlNIRUtFTF9DVVJSRU5DWSIsImNoYXJnZWRBbW91bnQiLCJzdGF0dXMiLCJkZXNjcmlwdGlvbiIsIm1lbW8iLCJoYW5kbGVUcmFuc2FjdGlvblJvdyIsInR4blJvdyIsImRpdiIsImlubmVyRGl2cyIsInJlZ2V4IiwidHgiLCJUcmFuc2FjdGlvblN0YXR1c2VzIiwiQ29tcGxldGVkIiwicHVzaCIsImdldEFjY291bnRUcmFuc2FjdGlvbnMiLCJ0cmFuc2FjdGlvbnNEaXZzIiwiZGl2cyIsImlkIiwiZ2V0QXR0cmlidXRlIiwiQXJyYXkiLCJmcm9tIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJzZWFyY2hCeURhdGVzIiwic3RhcnREYXRlIiwic3RhcnREYXRlRGF5IiwiZm9ybWF0Iiwic3RhcnREYXRlTW9udGgiLCJzdGFydERhdGVZZWFyIiwiZGF0ZUZyb21QaWNrIiwibW9udGhGcm9tUGljayIsImkiLCJzZWxlY3RvciIsInllYXIiLCJ5IiwibW9udGhTZWxlY3RvciIsImRheSIsImQiLCJmZXRjaEFjY291bnREYXRhIiwiYWNjb3VudElEIiwiYWNjb3VudE51bWJlciIsImZldGNoQWNjb3VudHMiLCJhY2NvdW50cyIsImFjY291bnREYXRhIiwid2FpdFJlYWRpbmVzc0ZvckFsbCIsInJlZGlyZWN0T3JEaWFsb2ciLCJoYXNNZXNzYWdlIiwicHJvbWlzZTEiLCJ3YWl0Rm9yU2VsZWN0b3IiLCJ0aW1lb3V0IiwicHJvbWlzZTIiLCJwcm9taXNlcyIsIlByb21pc2UiLCJyYWNlIiwiWWFoYXZTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldExvZ2luT3B0aW9ucyIsImNyZWRlbnRpYWxzIiwibG9naW5VcmwiLCJmaWVsZHMiLCJ2YWx1ZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJuYXRpb25hbElEIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJjaGVja1JlYWRpbmVzcyIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsImFkZCIsIm9wdGlvbnMiLCJ0b0RhdGUiLCJzdGFydE1vbWVudCIsIm1vbWVudCIsIm1heCIsInN1Y2Nlc3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOztB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O0FBRUEsVUFBTTJHLGtCQUFrQixHQUFHLHVCQUFTQyxRQUFULENBQWtCLENBQWxCLEVBQXFCLFFBQXJCLEVBQStCQyxHQUEvQixDQUFtQyxDQUFuQyxFQUFzQyxLQUF0QyxDQUEzQjtBQUNBLFVBQU0vQyxTQUFTLEdBQUcsS0FBS2dELE9BQUwsQ0FBYWhELFNBQWIsSUFBMEI2QyxrQkFBa0IsQ0FBQ0ksTUFBbkIsRUFBNUM7O0FBQ0EsVUFBTUMsV0FBVyxHQUFHQyxnQkFBT0MsR0FBUCxDQUFXUCxrQkFBWCxFQUErQixxQkFBTzdDLFNBQVAsQ0FBL0IsQ0FBcEI7O0FBRUEsVUFBTWtCLFFBQVEsR0FBRyxNQUFNRCxhQUFhLENBQUMsS0FBSy9FLElBQU4sRUFBWWdILFdBQVosQ0FBcEM7QUFFQSxXQUFPO0FBQ0xHLE1BQUFBLE9BQU8sRUFBRSxJQURKO0FBRUxuQyxNQUFBQTtBQUZLLEtBQVA7QUFJRDs7QUFoQytDOztlQW1DbkNZLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50LCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IFNIRUtFTF9DVVJSRU5DWSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBjbGlja0J1dHRvbiwgZWxlbWVudFByZXNlbnRPblBhZ2UsXG4gIHBhZ2VFdmFsQWxsLCB3YWl0VW50aWxFbGVtZW50RGlzYXBwZWFyLCB3YWl0VW50aWxFbGVtZW50Rm91bmQsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7XG4gIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbnNBY2NvdW50LFxuICBUcmFuc2FjdGlvblN0YXR1c2VzLCBUcmFuc2FjdGlvblR5cGVzLFxufSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgU2NyYXBlckNyZWRlbnRpYWxzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHtcbiAgQmFzZVNjcmFwZXJXaXRoQnJvd3NlcixcbiAgTG9naW5SZXN1bHRzLFxuICBQb3NzaWJsZUxvZ2luUmVzdWx0cyxcbn0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcblxuY29uc3QgTE9HSU5fVVJMID0gJ2h0dHBzOi8vbG9naW4ueWFoYXYuY28uaWwvbG9naW4vJztcbmNvbnN0IEJBU0VfVVJMID0gJ2h0dHBzOi8vZGlnaXRhbC55YWhhdi5jby5pbC9CYU5DU0RpZ2l0YWxVSS9hcHAvaW5kZXguaHRtbCMvJztcbmNvbnN0IElOVkFMSURfREVUQUlMU19TRUxFQ1RPUiA9ICcudWktZGlhbG9nLWJ1dHRvbnMnO1xuY29uc3QgQ0hBTkdFX1BBU1NXT1JEX09MRF9QQVNTID0gJ2lucHV0I2VmX3JlcV9wYXJhbWV0ZXJfb2xkX2NyZWRlbnRpYWwnO1xuY29uc3QgQkFTRV9XRUxDT01FX1VSTCA9IGAke0JBU0VfVVJMfW1haW4vaG9tZWA7XG5cbmNvbnN0IEFDQ09VTlRfSURfU0VMRUNUT1IgPSAnLmRyb3Bkb3duLWRpciAuc2VsZWN0ZWQtaXRlbS10b3AnO1xuY29uc3QgQUNDT1VOVF9ERVRBSUxTX1NFTEVDVE9SID0gJy5hY2NvdW50LWRldGFpbHMnO1xuY29uc3QgREFURV9GT1JNQVQgPSAnREQvTU0vWVlZWSc7XG5cbmNvbnN0IFVTRVJfRUxFTSA9ICcjVVNFUic7XG5jb25zdCBQQVNTV0RfRUxFTSA9ICcjUEFTU1dPUkQnO1xuY29uc3QgTkFUSU9OQUxJRF9FTEVNID0gJyNOQVRJT05BTF9JRCc7XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb24ge1xuICBjcmVkaXQ6IHN0cmluZztcbiAgZGViaXQ6IHN0cmluZztcbiAgZGF0ZTogc3RyaW5nO1xuICByZWZlcmVuY2U/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIG1lbW86IHN0cmluZztcbiAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyhwYWdlOiBQYWdlKTogUG9zc2libGVMb2dpblJlc3VsdHMge1xuICAvLyBjaGVja291dCBmaWxlIGBiYXNlLXNjcmFwZXItd2l0aC1icm93c2VyLnRzYCBmb3IgYXZhaWxhYmxlIHJlc3VsdCB0eXBlc1xuICBjb25zdCB1cmxzOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyA9IHt9O1xuICB1cmxzW0xvZ2luUmVzdWx0cy5TdWNjZXNzXSA9IFtcbiAgICBgJHtCQVNFX1dFTENPTUVfVVJMfWAsXG4gIF07XG4gIHVybHNbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF0gPSBbYXN5bmMgKCkgPT4ge1xuICAgIHJldHVybiBlbGVtZW50UHJlc2VudE9uUGFnZShwYWdlLCBgJHtJTlZBTElEX0RFVEFJTFNfU0VMRUNUT1J9YCk7XG4gIH1dO1xuXG4gIHVybHNbTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkXSA9IFthc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuIGVsZW1lbnRQcmVzZW50T25QYWdlKHBhZ2UsIGAke0NIQU5HRV9QQVNTV09SRF9PTERfUEFTU31gKTtcbiAgfV07XG5cbiAgcmV0dXJuIHVybHM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEFjY291bnRJRChwYWdlOiBQYWdlKSB7XG4gIGNvbnN0IHNlbGVjdGVkU25pZkFjY291bnQgPSBhd2FpdCBwYWdlLiRldmFsKGAke0FDQ09VTlRfSURfU0VMRUNUT1J9YCwgKG9wdGlvbikgPT4ge1xuICAgIHJldHVybiAob3B0aW9uIGFzIEhUTUxFbGVtZW50KS5pbm5lclRleHQ7XG4gIH0pO1xuXG4gIHJldHVybiBzZWxlY3RlZFNuaWZBY2NvdW50O1xufVxuXG5mdW5jdGlvbiBnZXRBbW91bnREYXRhKGFtb3VudFN0cjogc3RyaW5nKSB7XG4gIGNvbnN0IGFtb3VudFN0ckNvcHkgPSBhbW91bnRTdHIucmVwbGFjZSgnLCcsICcnKTtcbiAgcmV0dXJuIHBhcnNlRmxvYXQoYW1vdW50U3RyQ29weSk7XG59XG5cbmZ1bmN0aW9uIGdldFR4bkFtb3VudCh0eG46IFNjcmFwZWRUcmFuc2FjdGlvbikge1xuICBjb25zdCBjcmVkaXQgPSBnZXRBbW91bnREYXRhKHR4bi5jcmVkaXQpO1xuICBjb25zdCBkZWJpdCA9IGdldEFtb3VudERhdGEodHhuLmRlYml0KTtcbiAgcmV0dXJuIChOdW1iZXIuaXNOYU4oY3JlZGl0KSA/IDAgOiBjcmVkaXQpIC0gKE51bWJlci5pc05hTihkZWJpdCkgPyAwIDogZGViaXQpO1xufVxuXG50eXBlIFRyYW5zYWN0aW9uc1RyID0geyBpZDogc3RyaW5nLCBpbm5lckRpdnM6IHN0cmluZ1tdIH07XG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2FjdGlvbnModHhuczogU2NyYXBlZFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdIHtcbiAgcmV0dXJuIHR4bnMubWFwKCh0eG4pID0+IHtcbiAgICBjb25zdCBjb252ZXJ0ZWREYXRlID0gbW9tZW50KHR4bi5kYXRlLCBEQVRFX0ZPUk1BVCkudG9JU09TdHJpbmcoKTtcbiAgICBjb25zdCBjb252ZXJ0ZWRBbW91bnQgPSBnZXRUeG5BbW91bnQodHhuKTtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBpZGVudGlmaWVyOiB0eG4ucmVmZXJlbmNlID8gcGFyc2VJbnQodHhuLnJlZmVyZW5jZSwgMTApIDogdW5kZWZpbmVkLFxuICAgICAgZGF0ZTogY29udmVydGVkRGF0ZSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IGNvbnZlcnRlZERhdGUsXG4gICAgICBvcmlnaW5hbEFtb3VudDogY29udmVydGVkQW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogU0hFS0VMX0NVUlJFTkNZLFxuICAgICAgY2hhcmdlZEFtb3VudDogY29udmVydGVkQW1vdW50LFxuICAgICAgc3RhdHVzOiB0eG4uc3RhdHVzLFxuICAgICAgZGVzY3JpcHRpb246IHR4bi5kZXNjcmlwdGlvbixcbiAgICAgIG1lbW86IHR4bi5tZW1vLFxuICAgIH07XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBoYW5kbGVUcmFuc2FjdGlvblJvdyh0eG5zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXSwgdHhuUm93OiBUcmFuc2FjdGlvbnNUcikge1xuICBjb25zdCBkaXYgPSB0eG5Sb3cuaW5uZXJEaXZzO1xuXG4gIC8vIFJlbW92ZSBhbnl0aGluZyBleGNlcHQgZGlnaXRzLlxuICBjb25zdCByZWdleCA9IC9cXEQrL2dtO1xuXG4gIGNvbnN0IHR4OiBTY3JhcGVkVHJhbnNhY3Rpb24gPSB7XG4gICAgZGF0ZTogZGl2WzFdLFxuICAgIHJlZmVyZW5jZTogZGl2WzJdLnJlcGxhY2UocmVnZXgsICcnKSxcbiAgICBtZW1vOiAnJyxcbiAgICBkZXNjcmlwdGlvbjogZGl2WzNdLFxuICAgIGRlYml0OiBkaXZbNF0sXG4gICAgY3JlZGl0OiBkaXZbNV0sXG4gICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgfTtcblxuICB0eG5zLnB1c2godHgpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRBY2NvdW50VHJhbnNhY3Rpb25zKHBhZ2U6IFBhZ2UpOiBQcm9taXNlPFRyYW5zYWN0aW9uW10+IHtcbiAgLy8gV2FpdCBmb3IgdHJhbnNhY3Rpb25zLlxuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJy51bmRlci1saW5lLXR4bi10YWJsZS1oZWFkZXInLCB0cnVlKTtcblxuICBjb25zdCB0eG5zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXSA9IFtdO1xuICBjb25zdCB0cmFuc2FjdGlvbnNEaXZzID0gYXdhaXQgcGFnZUV2YWxBbGw8VHJhbnNhY3Rpb25zVHJbXT4ocGFnZSwgJy5saXN0LWl0ZW0taG9sZGVyIC5lbnRpcmUtY29udGVudC1jdHInLCBbXSwgKGRpdnMpID0+IHtcbiAgICByZXR1cm4gKGRpdnMgYXMgSFRNTEVsZW1lbnRbXSkubWFwKChkaXYpID0+ICh7XG4gICAgICBpZDogKGRpdikuZ2V0QXR0cmlidXRlKCdpZCcpIHx8ICcnLFxuICAgICAgaW5uZXJEaXZzOiBBcnJheS5mcm9tKGRpdi5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGl2JykpLm1hcCgoZGl2KSA9PiAoZGl2IGFzIEhUTUxFbGVtZW50KS5pbm5lclRleHQpLFxuICAgIH0pKTtcbiAgfSk7XG5cbiAgZm9yIChjb25zdCB0eG5Sb3cgb2YgdHJhbnNhY3Rpb25zRGl2cykge1xuICAgIGhhbmRsZVRyYW5zYWN0aW9uUm93KHR4bnMsIHR4blJvdyk7XG4gIH1cblxuICByZXR1cm4gY29udmVydFRyYW5zYWN0aW9ucyh0eG5zKTtcbn1cblxuLy8gTWFuaXB1bGF0ZSB0aGUgY2FsZW5kYXIgZHJvcCBkb3duIHRvIGNob29zZSB0aGUgdHhzIHN0YXJ0IGRhdGUuXG5hc3luYyBmdW5jdGlvbiBzZWFyY2hCeURhdGVzKHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50KSB7XG4gIC8vIEdldCB0aGUgZGF5IG51bWJlciBmcm9tIHN0YXJ0RGF0ZS4gMS0zMSAodXN1YWxseSAxKVxuICBjb25zdCBzdGFydERhdGVEYXkgPSBzdGFydERhdGUuZm9ybWF0KCdEJyk7XG4gIGNvbnN0IHN0YXJ0RGF0ZU1vbnRoID0gc3RhcnREYXRlLmZvcm1hdCgnTScpO1xuICBjb25zdCBzdGFydERhdGVZZWFyID0gc3RhcnREYXRlLmZvcm1hdCgnWScpO1xuXG4gIC8vIE9wZW4gdGhlIGNhbGVuZGFyIGRhdGUgcGlja2VyXG4gIGNvbnN0IGRhdGVGcm9tUGljayA9ICdkaXYuZGF0ZS1vcHRpb25zLWNlbGw6bnRoLWNoaWxkKDcpID4gZGF0ZS1waWNrZXI6bnRoLWNoaWxkKDEpID4gZGl2Om50aC1jaGlsZCgxKSA+IHNwYW46bnRoLWNoaWxkKDIpJztcbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsIGRhdGVGcm9tUGljaywgdHJ1ZSk7XG4gIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsIGRhdGVGcm9tUGljayk7XG5cbiAgLy8gV2FpdCB1bnRpbCBmaXJzdCBkYXkgYXBwZWFyLlxuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJy5wbXUtZGF5cyA+IGRpdjpudGgtY2hpbGQoMSknLCB0cnVlKTtcblxuICAvLyBPcGVuIE1vbnRocyBvcHRpb25zLlxuICBjb25zdCBtb250aEZyb21QaWNrID0gJy5wbXUtbW9udGgnO1xuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgbW9udGhGcm9tUGljaywgdHJ1ZSk7XG4gIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsIG1vbnRoRnJvbVBpY2spO1xuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJy5wbXUtbW9udGhzID4gZGl2Om50aC1jaGlsZCgxKScsIHRydWUpO1xuXG4gIC8vIE9wZW4gWWVhciBvcHRpb25zLlxuICAvLyBVc2Ugc2FtZSBzZWxlY3Rvci4uLiBZYWhhdiBrbm93cyB3aHkuLi5cbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsIG1vbnRoRnJvbVBpY2ssIHRydWUpO1xuICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCBtb250aEZyb21QaWNrKTtcbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICcucG11LXllYXJzID4gZGl2Om50aC1jaGlsZCgxKScsIHRydWUpO1xuXG4gIC8vIFNlbGVjdCB5ZWFyIGZyb20gYSAxMiB5ZWFyIGdyaWQuXG4gIGZvciAobGV0IGkgPSAxOyBpIDwgMTM7IGkgKz0gMSkge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gYC5wbXUteWVhcnMgPiBkaXY6bnRoLWNoaWxkKCR7aX0pYDtcbiAgICBjb25zdCB5ZWFyID0gYXdhaXQgcGFnZS4kZXZhbChzZWxlY3RvciwgKHkpID0+IHtcbiAgICAgIHJldHVybiAoeSBhcyBIVE1MRWxlbWVudCkuaW5uZXJUZXh0O1xuICAgIH0pO1xuICAgIGlmIChzdGFydERhdGVZZWFyID09PSB5ZWFyKSB7XG4gICAgICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCBzZWxlY3Rvcik7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvLyBTZWxlY3QgTW9udGguXG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnLnBtdS1tb250aHMgPiBkaXY6bnRoLWNoaWxkKDEpJywgdHJ1ZSk7XG4gIC8vIFRoZSBmaXJzdCBlbGVtZW50ICgxKSBpcyBKYW51YXJ5LlxuICBjb25zdCBtb250aFNlbGVjdG9yID0gYC5wbXUtbW9udGhzID4gZGl2Om50aC1jaGlsZCgke3N0YXJ0RGF0ZU1vbnRofSlgO1xuICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCBtb250aFNlbGVjdG9yKTtcblxuICAvLyBTZWxlY3QgRGF5LlxuICAvLyBUaGUgY2FsZW5kYXIgZ3JpZCBzaG93cyA3IGRheXMgYW5kIDYgd2Vla3MgPSA0MiBkYXlzLlxuICAvLyBJbiB0aGVvcnksIHRoZSBmaXJzdCBkYXkgb2YgdGhlIG1vbnRoIHdpbGwgYmUgaW4gdGhlIGZpcnN0IHJvdy5cbiAgLy8gTGV0J3MgY2hlY2sgZXZlcnl0aGluZyBqdXN0IGluIGNhc2UuLi5cbiAgZm9yIChsZXQgaSA9IDE7IGkgPCA0MjsgaSArPSAxKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBgLnBtdS1kYXlzID4gZGl2Om50aC1jaGlsZCgke2l9KWA7XG4gICAgY29uc3QgZGF5ID0gYXdhaXQgcGFnZS4kZXZhbChzZWxlY3RvciwgKGQpID0+IHtcbiAgICAgIHJldHVybiAoZCBhcyBIVE1MRWxlbWVudCkuaW5uZXJUZXh0O1xuICAgIH0pO1xuXG4gICAgaWYgKHN0YXJ0RGF0ZURheSA9PT0gZGF5KSB7XG4gICAgICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCBzZWxlY3Rvcik7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cblxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaEFjY291bnREYXRhKHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50LCBhY2NvdW50SUQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudD4ge1xuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50RGlzYXBwZWFyKHBhZ2UsICcubG9hZGluZy1iYXItc3Bpbm5lcicpO1xuICBhd2FpdCBzZWFyY2hCeURhdGVzKHBhZ2UsIHN0YXJ0RGF0ZSk7XG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIocGFnZSwgJy5sb2FkaW5nLWJhci1zcGlubmVyJyk7XG4gIGNvbnN0IHR4bnMgPSBhd2FpdCBnZXRBY2NvdW50VHJhbnNhY3Rpb25zKHBhZ2UpO1xuXG4gIHJldHVybiB7XG4gICAgYWNjb3VudE51bWJlcjogYWNjb3VudElELFxuICAgIHR4bnMsXG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoQWNjb3VudHMocGFnZTogUGFnZSwgc3RhcnREYXRlOiBNb21lbnQpOiBQcm9taXNlPFRyYW5zYWN0aW9uc0FjY291bnRbXT4ge1xuICBjb25zdCBhY2NvdW50czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgLy8gVE9ETzogZ2V0IG1vcmUgYWNjb3VudHMuIE5vdCBzdXJlIGlzIHN1cHBvcnRlZC5cbiAgY29uc3QgYWNjb3VudElEID0gYXdhaXQgZ2V0QWNjb3VudElEKHBhZ2UpO1xuICBjb25zdCBhY2NvdW50RGF0YSA9IGF3YWl0IGZldGNoQWNjb3VudERhdGEocGFnZSwgc3RhcnREYXRlLCBhY2NvdW50SUQpO1xuICBhY2NvdW50cy5wdXNoKGFjY291bnREYXRhKTtcblxuICByZXR1cm4gYWNjb3VudHM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHdhaXRSZWFkaW5lc3NGb3JBbGwocGFnZTogUGFnZSkge1xuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgYCR7VVNFUl9FTEVNfWAsIHRydWUpO1xuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgYCR7UEFTU1dEX0VMRU19YCwgdHJ1ZSk7XG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBgJHtOQVRJT05BTElEX0VMRU19YCwgdHJ1ZSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlZGlyZWN0T3JEaWFsb2cocGFnZTogUGFnZSkge1xuICAvLyBDbGljayBvbiBiYW5rIG1lc3NhZ2VzIGlmIGFueS5cbiAgYXdhaXQgd2FpdEZvck5hdmlnYXRpb24ocGFnZSk7XG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIocGFnZSwgJy5sb2FkaW5nLWJhci1zcGlubmVyJyk7XG4gIGNvbnN0IGhhc01lc3NhZ2UgPSBhd2FpdCBlbGVtZW50UHJlc2VudE9uUGFnZShwYWdlLCAnLm1lc3NhZ2luZy1saW5rcy1jb250YWluZXInKTtcbiAgaWYgKGhhc01lc3NhZ2UpIHtcbiAgICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCAnLmxpbmstMScpO1xuICB9XG5cbiAgY29uc3QgcHJvbWlzZTEgPSBwYWdlLndhaXRGb3JTZWxlY3RvcihBQ0NPVU5UX0RFVEFJTFNfU0VMRUNUT1IsIHsgdGltZW91dDogMzAwMDAgfSk7XG4gIGNvbnN0IHByb21pc2UyID0gcGFnZS53YWl0Rm9yU2VsZWN0b3IoQ0hBTkdFX1BBU1NXT1JEX09MRF9QQVNTLCB7IHRpbWVvdXQ6IDMwMDAwIH0pO1xuICBjb25zdCBwcm9taXNlcyA9IFtwcm9taXNlMSwgcHJvbWlzZTJdO1xuXG4gIGF3YWl0IFByb21pc2UucmFjZShwcm9taXNlcyk7XG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIocGFnZSwgJy5sb2FkaW5nLWJhci1zcGlubmVyJyk7XG59XG5cbmNsYXNzIFlhaGF2U2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogYCR7TE9HSU5fVVJMfWAsXG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAgeyBzZWxlY3RvcjogYCR7VVNFUl9FTEVNfWAsIHZhbHVlOiBjcmVkZW50aWFscy51c2VybmFtZSB9LFxuICAgICAgICB7IHNlbGVjdG9yOiBgJHtQQVNTV0RfRUxFTX1gLCB2YWx1ZTogY3JlZGVudGlhbHMucGFzc3dvcmQgfSxcbiAgICAgICAgeyBzZWxlY3RvcjogYCR7TkFUSU9OQUxJRF9FTEVNfWAsIHZhbHVlOiBjcmVkZW50aWFscy5uYXRpb25hbElEIH0sXG4gICAgICBdLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6ICcuc3VibWl0JyxcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiB3YWl0UmVhZGluZXNzRm9yQWxsKHRoaXMucGFnZSksXG4gICAgICBwb3N0QWN0aW9uOiBhc3luYyAoKSA9PiByZWRpcmVjdE9yRGlhbG9nKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHRoaXMucGFnZSksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICAvLyBHb3RvIHN0YXRlbWVudHMgcGFnZVxuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsIEFDQ09VTlRfREVUQUlMU19TRUxFQ1RPUiwgdHJ1ZSk7XG4gICAgYXdhaXQgY2xpY2tCdXR0b24odGhpcy5wYWdlLCBBQ0NPVU5UX0RFVEFJTFNfU0VMRUNUT1IpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICcuc3RhdGVtZW50LW9wdGlvbnMgLnNlbGVjdGVkLWl0ZW0tdG9wJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgzLCAnbW9udGhzJykuYWRkKDEsICdkYXknKTtcbiAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLm9wdGlvbnMuc3RhcnREYXRlIHx8IGRlZmF1bHRTdGFydE1vbWVudC50b0RhdGUoKTtcbiAgICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgICBjb25zdCBhY2NvdW50cyA9IGF3YWl0IGZldGNoQWNjb3VudHModGhpcy5wYWdlLCBzdGFydE1vbWVudCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgIGFjY291bnRzLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgWWFoYXZTY3JhcGVyO1xuIl19
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "israeli-bank-scrapers",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Provide scrapers for all major Israeli banks and credit card companies",
|
|
6
6
|
"engines": {
|
|
7
|
-
"node": ">=
|
|
8
|
-
"npm": ">=
|
|
7
|
+
"node": ">= 14.14.0",
|
|
8
|
+
"npm": ">= 6.14.8"
|
|
9
9
|
},
|
|
10
10
|
"main": "lib/index.js",
|
|
11
11
|
"types": "lib/index.d.ts",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"@types/json2csv": "^5.0.1",
|
|
58
58
|
"@types/lodash": "^4.14.149",
|
|
59
59
|
"@types/node-fetch": "^2.5.6",
|
|
60
|
-
"@types/puppeteer": "
|
|
60
|
+
"@types/puppeteer": "2.1.8",
|
|
61
61
|
"@types/source-map-support": "^0.5.1",
|
|
62
62
|
"@types/uuid": "^7.0.3",
|
|
63
63
|
"@typescript-eslint/eslint-plugin": "^2.27.0",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"lodash": "^4.17.10",
|
|
88
88
|
"moment": "^2.22.2",
|
|
89
89
|
"node-fetch": "^2.2.0",
|
|
90
|
-
"puppeteer": "
|
|
90
|
+
"puppeteer": "5.5.0",
|
|
91
91
|
"uuid": "^3.3.2"
|
|
92
92
|
},
|
|
93
93
|
"files": [
|