israeli-bank-scrapers 1.10.1 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -1
- package/lib/definitions.d.ts +6 -1
- package/lib/definitions.js +6 -1
- package/lib/scrapers/base-scraper-with-browser.d.ts +5 -1
- package/lib/scrapers/base-scraper-with-browser.js +20 -6
- package/lib/scrapers/base-scraper.d.ts +1 -1
- package/lib/scrapers/base-scraper.js +1 -1
- package/lib/scrapers/beyahad-bishvilha.d.ts +27 -0
- package/lib/scrapers/beyahad-bishvilha.js +187 -0
- package/lib/scrapers/beyahad-bishvilha.test.d.ts +1 -0
- package/lib/scrapers/beyahad-bishvilha.test.js +63 -0
- package/lib/scrapers/discount.js +2 -2
- package/lib/scrapers/factory.d.ts +2 -1
- package/lib/scrapers/factory.js +6 -1
- package/lib/scrapers/leumi.js +2 -2
- package/lib/scrapers/visa-cal.js +16 -6
- package/lib/transactions.d.ts +1 -1
- package/lib/transactions.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,6 +24,7 @@ Currently only the following banks are supported:
|
|
|
24
24
|
- Beinleumi (Thanks to [@dudiventura](https://github.com/dudiventura) from the Intuit FDP OpenSource Team)
|
|
25
25
|
- Massad
|
|
26
26
|
- Yahav (Thanks to [@gczobel](https://github.com/gczobel))
|
|
27
|
+
- Beyhad Bishvilha - [ביחד בשבילך](https://www.hist.org.il/) (thanks [@esakal](https://github.com/esakal))
|
|
27
28
|
|
|
28
29
|
# Prerequisites
|
|
29
30
|
To use this you will need to have [Node.js](https://nodejs.org) >= 10.x installed.
|
|
@@ -282,12 +283,21 @@ const credentials = {
|
|
|
282
283
|
```
|
|
283
284
|
This scraper supports fetching transaction from up to six months.
|
|
284
285
|
|
|
286
|
+
## Beyhad Bishvilha
|
|
287
|
+
This scraper expects the following credentials object::
|
|
288
|
+
```node
|
|
289
|
+
const credentials = {
|
|
290
|
+
id: <user identification number>,
|
|
291
|
+
password: <user password>
|
|
292
|
+
};
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
|
|
285
296
|
# Known projects
|
|
286
297
|
These are the projects known to be using this module:
|
|
287
298
|
- [Israeli YNAB updater](https://github.com/eshaham/israeli-ynab-updater) - A command line tool for exporting banks data to CSVs, formatted specifically for [YNAB](https://www.youneedabudget.com)
|
|
288
299
|
- [Israel Finance Telegram Bot](https://github.com/GuyLewin/israel-finance-telegram-bot) - A simple telegram bot that sends notifications about new transactions and interacts with them
|
|
289
300
|
- [Caspion](https://github.com/brafdlog/caspion) - An app for automatically sending transactions from Israeli banks and credit cards to budget tracking apps
|
|
290
|
-
- [Oshi](https://github.com/baruchiro/israeli-bank-scrapers-desktop) - Secure desktop app for retriving your transactions from all israeli banks and credit cards
|
|
291
301
|
- [Finance Notifier](https://github.com/LiranBri/finance-notifier) - A simple script with the ability to send custom financial alerts to multiple contacts and platforms
|
|
292
302
|
|
|
293
303
|
Built something interesting you want to share here? [Let me know](https://goo.gl/forms/5Fb9JAjvzMIpmzqo2).
|
package/lib/definitions.d.ts
CHANGED
|
@@ -14,7 +14,8 @@ export declare enum CompanyTypes {
|
|
|
14
14
|
mizrahi = "mizrahi",
|
|
15
15
|
leumi = "leumi",
|
|
16
16
|
massad = "massad",
|
|
17
|
-
yahav = "yahav"
|
|
17
|
+
yahav = "yahav",
|
|
18
|
+
beyahadBishvilha = "beyahadBishvilha"
|
|
18
19
|
}
|
|
19
20
|
export declare const SCRAPERS: {
|
|
20
21
|
hapoalim: {
|
|
@@ -77,4 +78,8 @@ export declare const SCRAPERS: {
|
|
|
77
78
|
name: string;
|
|
78
79
|
loginFields: string[];
|
|
79
80
|
};
|
|
81
|
+
beyahadBishvilha: {
|
|
82
|
+
name: string;
|
|
83
|
+
loginFields: string[];
|
|
84
|
+
};
|
|
80
85
|
};
|
package/lib/definitions.js
CHANGED
|
@@ -26,6 +26,7 @@ exports.CompanyTypes = CompanyTypes;
|
|
|
26
26
|
CompanyTypes["leumi"] = "leumi";
|
|
27
27
|
CompanyTypes["massad"] = "massad";
|
|
28
28
|
CompanyTypes["yahav"] = "yahav";
|
|
29
|
+
CompanyTypes["beyahadBishvilha"] = "beyahadBishvilha";
|
|
29
30
|
})(CompanyTypes || (exports.CompanyTypes = CompanyTypes = {}));
|
|
30
31
|
|
|
31
32
|
const SCRAPERS = {
|
|
@@ -90,7 +91,11 @@ const SCRAPERS = {
|
|
|
90
91
|
[CompanyTypes.yahav]: {
|
|
91
92
|
name: 'Bank Yahav',
|
|
92
93
|
loginFields: ['username', 'nationalID', PASSWORD_FIELD]
|
|
94
|
+
},
|
|
95
|
+
[CompanyTypes.beyahadBishvilha]: {
|
|
96
|
+
name: 'Beyahad Bishvilha',
|
|
97
|
+
loginFields: ['id', PASSWORD_FIELD]
|
|
93
98
|
}
|
|
94
99
|
};
|
|
95
100
|
exports.SCRAPERS = SCRAPERS;
|
|
96
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZpbml0aW9ucy50cyJdLCJuYW1lcyI6WyJQQVNTV09SRF9GSUVMRCIsIkNvbXBhbnlUeXBlcyIsIlNDUkFQRVJTIiwiaGFwb2FsaW0iLCJuYW1lIiwibG9naW5GaWVsZHMiLCJoYXBvYWxpbUJlT25saW5lIiwibGV1bWkiLCJtaXpyYWhpIiwiZGlzY291bnQiLCJvdHNhckhhaGF5YWwiLCJsZXVtaUNhcmQiLCJtYXgiLCJ2aXNhQ2FsIiwiaXNyYWNhcmQiLCJhbWV4IiwidW5pb24iLCJiZWlubGV1bWkiLCJtYXNzYWQiLCJ5YWhhdiIsImJleWFoYWRCaXNodmlsaGEiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBRU8sTUFBTUEsY0FBYyxHQUFHLFVBQXZCOztJQUVLQyxZOzs7V0FBQUEsWTtBQUFBQSxFQUFBQSxZO0FBQUFBLEVBQUFBLFk7QUFBQUEsRUFBQUEsWTtBQUFBQSxFQUFBQSxZO0FBQUFBLEVBQUFBLFk7QUFBQUEsRUFBQUEsWTtBQUFBQSxFQUFBQSxZO0FBQUFBLEVBQUFBLFk7QUFBQUEsRUFBQUEsWTtBQUFBQSxFQUFBQSxZO0FBQUFBLEVBQUFBLFk7QUFBQUEsRUFBQUEsWTtBQUFBQSxFQUFBQSxZO0FBQUFBLEVBQUFBLFk7QUFBQUEsRUFBQUEsWTtBQUFBQSxFQUFBQSxZO0dBQUFBLFksNEJBQUFBLFk7O0FBbUJMLE1BQU1DLFFBQVEsR0FBRztBQUN0QixHQUFDRCxZQUFZLENBQUNFLFFBQWQsR0FBeUI7QUFDdkJDLElBQUFBLElBQUksRUFBRSxlQURpQjtBQUV2QkMsSUFBQUEsV0FBVyxFQUFFLENBQUMsVUFBRCxFQUFhTCxjQUFiO0FBRlUsR0FESDtBQUt0QixHQUFDQyxZQUFZLENBQUNLLGdCQUFkLEdBQWlDO0FBQUU7QUFDakNGLElBQUFBLElBQUksRUFBRSxlQUR5QjtBQUUvQkMsSUFBQUEsV0FBVyxFQUFFLENBQUMsVUFBRCxFQUFhTCxjQUFiO0FBRmtCLEdBTFg7QUFTdEIsR0FBQ0MsWUFBWSxDQUFDTSxLQUFkLEdBQXNCO0FBQ3BCSCxJQUFBQSxJQUFJLEVBQUUsWUFEYztBQUVwQkMsSUFBQUEsV0FBVyxFQUFFLENBQUMsVUFBRCxFQUFhTCxjQUFiO0FBRk8sR0FUQTtBQWF0QixHQUFDQyxZQUFZLENBQUNPLE9BQWQsR0FBd0I7QUFDdEJKLElBQUFBLElBQUksRUFBRSxjQURnQjtBQUV0QkMsSUFBQUEsV0FBVyxFQUFFLENBQUMsVUFBRCxFQUFhTCxjQUFiO0FBRlMsR0FiRjtBQWlCdEIsR0FBQ0MsWUFBWSxDQUFDUSxRQUFkLEdBQXlCO0FBQ3ZCTCxJQUFBQSxJQUFJLEVBQUUsZUFEaUI7QUFFdkJDLElBQUFBLFdBQVcsRUFBRSxDQUFDLElBQUQsRUFBT0wsY0FBUCxFQUF1QixLQUF2QjtBQUZVLEdBakJIO0FBcUJ0QixHQUFDQyxZQUFZLENBQUNTLFlBQWQsR0FBNkI7QUFDM0JOLElBQUFBLElBQUksRUFBRSxvQkFEcUI7QUFFM0JDLElBQUFBLFdBQVcsRUFBRSxDQUFDLFVBQUQsRUFBYUwsY0FBYjtBQUZjLEdBckJQO0FBeUJ0QixHQUFDQyxZQUFZLENBQUNVLFNBQWQsR0FBMEI7QUFBRTtBQUMxQlAsSUFBQUEsSUFBSSxFQUFFLFlBRGtCO0FBRXhCQyxJQUFBQSxXQUFXLEVBQUUsQ0FBQyxVQUFELEVBQWFMLGNBQWI7QUFGVyxHQXpCSjtBQTZCdEIsR0FBQ0MsWUFBWSxDQUFDVyxHQUFkLEdBQW9CO0FBQ2xCUixJQUFBQSxJQUFJLEVBQUUsS0FEWTtBQUVsQkMsSUFBQUEsV0FBVyxFQUFFLENBQUMsVUFBRCxFQUFhTCxjQUFiO0FBRkssR0E3QkU7QUFpQ3RCLEdBQUNDLFlBQVksQ0FBQ1ksT0FBZCxHQUF3QjtBQUN0QlQsSUFBQUEsSUFBSSxFQUFFLFVBRGdCO0FBRXRCQyxJQUFBQSxXQUFXLEVBQUUsQ0FBQyxVQUFELEVBQWFMLGNBQWI7QUFGUyxHQWpDRjtBQXFDdEIsR0FBQ0MsWUFBWSxDQUFDYSxRQUFkLEdBQXlCO0FBQ3ZCVixJQUFBQSxJQUFJLEVBQUUsVUFEaUI7QUFFdkJDLElBQUFBLFdBQVcsRUFBRSxDQUFDLElBQUQsRUFBTyxhQUFQLEVBQXNCTCxjQUF0QjtBQUZVLEdBckNIO0FBeUN0QixHQUFDQyxZQUFZLENBQUNjLElBQWQsR0FBcUI7QUFDbkJYLElBQUFBLElBQUksRUFBRSxNQURhO0FBRW5CQyxJQUFBQSxXQUFXLEVBQUUsQ0FBQyxJQUFELEVBQU8sYUFBUCxFQUFzQkwsY0FBdEI7QUFGTSxHQXpDQztBQTZDdEIsR0FBQ0MsWUFBWSxDQUFDZSxLQUFkLEdBQXNCO0FBQ3BCWixJQUFBQSxJQUFJLEVBQUUsT0FEYztBQUVwQkMsSUFBQUEsV0FBVyxFQUFFLENBQUMsVUFBRCxFQUFhTCxjQUFiO0FBRk8sR0E3Q0E7QUFpRHRCLEdBQUNDLFlBQVksQ0FBQ2dCLFNBQWQsR0FBMEI7QUFDeEJiLElBQUFBLElBQUksRUFBRSxXQURrQjtBQUV4QkMsSUFBQUEsV0FBVyxFQUFFLENBQUMsVUFBRCxFQUFhTCxjQUFiO0FBRlcsR0FqREo7QUFxRHRCLEdBQUNDLFlBQVksQ0FBQ2lCLE1BQWQsR0FBdUI7QUFDckJkLElBQUFBLElBQUksRUFBRSxRQURlO0FBRXJCQyxJQUFBQSxXQUFXLEVBQUUsQ0FBQyxVQUFELEVBQWFMLGNBQWI7QUFGUSxHQXJERDtBQXlEdEIsR0FBQ0MsWUFBWSxDQUFDa0IsS0FBZCxHQUFzQjtBQUNwQmYsSUFBQUEsSUFBSSxFQUFFLFlBRGM7QUFFcEJDLElBQUFBLFdBQVcsRUFBRSxDQUFDLFVBQUQsRUFBYSxZQUFiLEVBQTJCTCxjQUEzQjtBQUZPLEdBekRBO0FBNkR0QixHQUFDQyxZQUFZLENBQUNtQixnQkFBZCxHQUFpQztBQUMvQmhCLElBQUFBLElBQUksRUFBRSxtQkFEeUI7QUFFL0JDLElBQUFBLFdBQVcsRUFBRSxDQUFDLElBQUQsRUFBT0wsY0FBUDtBQUZrQjtBQTdEWCxDQUFqQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIE5PVElDRTogYXZvaWQgY2hhbmdpbmcgZXhwb3J0ZWQga2V5cyBhcyB0aGV5IGFyZSBwYXJ0IG9mIHRoZSBwdWJsaWMgYXBpXG5cbmV4cG9ydCBjb25zdCBQQVNTV09SRF9GSUVMRCA9ICdwYXNzd29yZCc7XG5cbmV4cG9ydCBlbnVtIENvbXBhbnlUeXBlcyB7XG4gIGhhcG9hbGltID0gJ2hhcG9hbGltJyxcbiAgaGFwb2FsaW1CZU9ubGluZSA9ICdoYXBvYWxpbUJlT25saW5lJyxcbiAgYmVpbmxldW1pID0gJ2JlaW5sZXVtaScsXG4gIHVuaW9uID0gJ3VuaW9uJyxcbiAgYW1leCA9ICdhbWV4JyxcbiAgaXNyYWNhcmQgPSAnaXNyYWNhcmQnLFxuICB2aXNhQ2FsID0gJ3Zpc2FDYWwnLFxuICBtYXggPSAnbWF4JyxcbiAgbGV1bWlDYXJkID0gJ2xldW1pQ2FyZCcsXG4gIG90c2FySGFoYXlhbCA9ICdvdHNhckhhaGF5YWwnLFxuICBkaXNjb3VudCA9ICdkaXNjb3VudCcsXG4gIG1penJhaGkgPSAnbWl6cmFoaScsXG4gIGxldW1pID0gJ2xldW1pJyxcbiAgbWFzc2FkID0gJ21hc3NhZCcsXG4gIHlhaGF2ID0gJ3lhaGF2JyxcbiAgYmV5YWhhZEJpc2h2aWxoYSA9ICdiZXlhaGFkQmlzaHZpbGhhJ1xufVxuXG5leHBvcnQgY29uc3QgU0NSQVBFUlMgPSB7XG4gIFtDb21wYW55VHlwZXMuaGFwb2FsaW1dOiB7XG4gICAgbmFtZTogJ0JhbmsgSGFwb2FsaW0nLFxuICAgIGxvZ2luRmllbGRzOiBbJ3VzZXJDb2RlJywgUEFTU1dPUkRfRklFTERdLFxuICB9LFxuICBbQ29tcGFueVR5cGVzLmhhcG9hbGltQmVPbmxpbmVdOiB7IC8vIFRPRE8gcmVtb3ZlIGluIE1ham9yIHZlcnNpb25cbiAgICBuYW1lOiAnQmFuayBIYXBvYWxpbScsXG4gICAgbG9naW5GaWVsZHM6IFsndXNlckNvZGUnLCBQQVNTV09SRF9GSUVMRF0sXG4gIH0sXG4gIFtDb21wYW55VHlwZXMubGV1bWldOiB7XG4gICAgbmFtZTogJ0JhbmsgTGV1bWknLFxuICAgIGxvZ2luRmllbGRzOiBbJ3VzZXJuYW1lJywgUEFTU1dPUkRfRklFTERdLFxuICB9LFxuICBbQ29tcGFueVR5cGVzLm1penJhaGldOiB7XG4gICAgbmFtZTogJ01penJhaGkgQmFuaycsXG4gICAgbG9naW5GaWVsZHM6IFsndXNlcm5hbWUnLCBQQVNTV09SRF9GSUVMRF0sXG4gIH0sXG4gIFtDb21wYW55VHlwZXMuZGlzY291bnRdOiB7XG4gICAgbmFtZTogJ0Rpc2NvdW50IEJhbmsnLFxuICAgIGxvZ2luRmllbGRzOiBbJ2lkJywgUEFTU1dPUkRfRklFTEQsICdudW0nXSxcbiAgfSxcbiAgW0NvbXBhbnlUeXBlcy5vdHNhckhhaGF5YWxdOiB7XG4gICAgbmFtZTogJ0JhbmsgT3RzYXIgSGFoYXlhbCcsXG4gICAgbG9naW5GaWVsZHM6IFsndXNlcm5hbWUnLCBQQVNTV09SRF9GSUVMRF0sXG4gIH0sXG4gIFtDb21wYW55VHlwZXMubGV1bWlDYXJkXTogeyAvLyBUT0RPIHJlbW92ZSBpbiBNYWpvciB2ZXJzaW9uXG4gICAgbmFtZTogJ0xldW1pIENhcmQnLFxuICAgIGxvZ2luRmllbGRzOiBbJ3VzZXJuYW1lJywgUEFTU1dPUkRfRklFTERdLFxuICB9LFxuICBbQ29tcGFueVR5cGVzLm1heF06IHtcbiAgICBuYW1lOiAnTWF4JyxcbiAgICBsb2dpbkZpZWxkczogWyd1c2VybmFtZScsIFBBU1NXT1JEX0ZJRUxEXSxcbiAgfSxcbiAgW0NvbXBhbnlUeXBlcy52aXNhQ2FsXToge1xuICAgIG5hbWU6ICdWaXNhIENhbCcsXG4gICAgbG9naW5GaWVsZHM6IFsndXNlcm5hbWUnLCBQQVNTV09SRF9GSUVMRF0sXG4gIH0sXG4gIFtDb21wYW55VHlwZXMuaXNyYWNhcmRdOiB7XG4gICAgbmFtZTogJ0lzcmFjYXJkJyxcbiAgICBsb2dpbkZpZWxkczogWydpZCcsICdjYXJkNkRpZ2l0cycsIFBBU1NXT1JEX0ZJRUxEXSxcbiAgfSxcbiAgW0NvbXBhbnlUeXBlcy5hbWV4XToge1xuICAgIG5hbWU6ICdBbWV4JyxcbiAgICBsb2dpbkZpZWxkczogWydpZCcsICdjYXJkNkRpZ2l0cycsIFBBU1NXT1JEX0ZJRUxEXSxcbiAgfSxcbiAgW0NvbXBhbnlUeXBlcy51bmlvbl06IHtcbiAgICBuYW1lOiAnVW5pb24nLFxuICAgIGxvZ2luRmllbGRzOiBbJ3VzZXJuYW1lJywgUEFTU1dPUkRfRklFTERdLFxuICB9LFxuICBbQ29tcGFueVR5cGVzLmJlaW5sZXVtaV06IHtcbiAgICBuYW1lOiAnQmVpbmxldW1pJyxcbiAgICBsb2dpbkZpZWxkczogWyd1c2VybmFtZScsIFBBU1NXT1JEX0ZJRUxEXSxcbiAgfSxcbiAgW0NvbXBhbnlUeXBlcy5tYXNzYWRdOiB7XG4gICAgbmFtZTogJ01hc3NhZCcsXG4gICAgbG9naW5GaWVsZHM6IFsndXNlcm5hbWUnLCBQQVNTV09SRF9GSUVMRF0sXG4gIH0sXG4gIFtDb21wYW55VHlwZXMueWFoYXZdOiB7XG4gICAgbmFtZTogJ0JhbmsgWWFoYXYnLFxuICAgIGxvZ2luRmllbGRzOiBbJ3VzZXJuYW1lJywgJ25hdGlvbmFsSUQnLCBQQVNTV09SRF9GSUVMRF0sXG4gIH0sXG4gIFtDb21wYW55VHlwZXMuYmV5YWhhZEJpc2h2aWxoYV06IHtcbiAgICBuYW1lOiAnQmV5YWhhZCBCaXNodmlsaGEnLFxuICAgIGxvZ2luRmllbGRzOiBbJ2lkJywgUEFTU1dPUkRfRklFTERdLFxuICB9LFxufTtcbiJdfQ==
|
|
@@ -24,7 +24,7 @@ export interface LoginOptions {
|
|
|
24
24
|
selector: string;
|
|
25
25
|
value: string;
|
|
26
26
|
}[];
|
|
27
|
-
submitButtonSelector: string;
|
|
27
|
+
submitButtonSelector: string | (() => Promise<void>);
|
|
28
28
|
preAction?: () => Promise<Frame | void>;
|
|
29
29
|
postAction?: () => Promise<void>;
|
|
30
30
|
possibleResults: PossibleLoginResults;
|
|
@@ -33,6 +33,10 @@ export interface LoginOptions {
|
|
|
33
33
|
declare class BaseScraperWithBrowser extends BaseScraper {
|
|
34
34
|
protected browser: Browser;
|
|
35
35
|
protected page: Page;
|
|
36
|
+
protected getViewPort(): {
|
|
37
|
+
width: number;
|
|
38
|
+
height: number;
|
|
39
|
+
};
|
|
36
40
|
initialize(): Promise<void>;
|
|
37
41
|
navigateTo(url: string, page?: Page, timeout?: number): Promise<void>;
|
|
38
42
|
getLoginOptions(_credentials: ScraperCredentials): LoginOptions;
|
|
@@ -129,6 +129,13 @@ class BaseScraperWithBrowser extends _baseScraper.BaseScraper {
|
|
|
129
129
|
_defineProperty(this, "page", void 0);
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
+
getViewPort() {
|
|
133
|
+
return {
|
|
134
|
+
width: VIEWPORT_WIDTH,
|
|
135
|
+
height: VIEWPORT_HEIGHT
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
|
|
132
139
|
async initialize() {
|
|
133
140
|
debug('initialize scraper');
|
|
134
141
|
this.emitProgress(_baseScraper.ScaperProgressTypes.Initializing);
|
|
@@ -181,10 +188,11 @@ class BaseScraperWithBrowser extends _baseScraper.BaseScraper {
|
|
|
181
188
|
await this.options.preparePage(this.page);
|
|
182
189
|
}
|
|
183
190
|
|
|
184
|
-
|
|
191
|
+
const viewport = this.getViewPort();
|
|
192
|
+
debug(`set viewport to width ${viewport.width}, height ${viewport.height}`);
|
|
185
193
|
await this.page.setViewport({
|
|
186
|
-
width:
|
|
187
|
-
height:
|
|
194
|
+
width: viewport.width,
|
|
195
|
+
height: viewport.height
|
|
188
196
|
});
|
|
189
197
|
this.page.on('requestfailed', request => {
|
|
190
198
|
var _request$failure;
|
|
@@ -250,7 +258,7 @@ class BaseScraperWithBrowser extends _baseScraper.BaseScraper {
|
|
|
250
258
|
if (loginOptions.checkReadiness) {
|
|
251
259
|
debug('execute \'checkReadiness\' interceptor provided in login options');
|
|
252
260
|
await loginOptions.checkReadiness();
|
|
253
|
-
} else {
|
|
261
|
+
} else if (typeof loginOptions.submitButtonSelector === 'string') {
|
|
254
262
|
debug('wait until submit button is available');
|
|
255
263
|
await (0, _elementsInteractions.waitUntilElementFound)(this.page, loginOptions.submitButtonSelector);
|
|
256
264
|
}
|
|
@@ -265,7 +273,13 @@ class BaseScraperWithBrowser extends _baseScraper.BaseScraper {
|
|
|
265
273
|
debug('fill login components input with relevant values');
|
|
266
274
|
await this.fillInputs(loginFrameOrPage, loginOptions.fields);
|
|
267
275
|
debug('click on login submit button');
|
|
268
|
-
|
|
276
|
+
|
|
277
|
+
if (typeof loginOptions.submitButtonSelector === 'string') {
|
|
278
|
+
await (0, _elementsInteractions.clickButton)(loginFrameOrPage, loginOptions.submitButtonSelector);
|
|
279
|
+
} else {
|
|
280
|
+
await loginOptions.submitButtonSelector();
|
|
281
|
+
}
|
|
282
|
+
|
|
269
283
|
this.emitProgress(_baseScraper.ScaperProgressTypes.LoggingIn);
|
|
270
284
|
|
|
271
285
|
if (loginOptions.postAction) {
|
|
@@ -305,4 +319,4 @@ class BaseScraperWithBrowser extends _baseScraper.BaseScraper {
|
|
|
305
319
|
}
|
|
306
320
|
|
|
307
321
|
exports.BaseScraperWithBrowser = BaseScraperWithBrowser;
|
|
308
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyLnRzIl0sIm5hbWVzIjpbIlZJRVdQT1JUX1dJRFRIIiwiVklFV1BPUlRfSEVJR0hUIiwiT0tfU1RBVFVTIiwiZGVidWciLCJMb2dpbkJhc2VSZXN1bHRzIiwiVGltZW91dCIsIkdlbmVyaWMiLCJHZW5lcmFsIiwiU2NyYXBlckVycm9yVHlwZXMiLCJyZXN0IiwiTG9naW5SZXN1bHRzIiwiZ2V0S2V5QnlWYWx1ZSIsIm9iamVjdCIsInZhbHVlIiwicGFnZSIsImtleXMiLCJPYmplY3QiLCJrZXkiLCJjb25kaXRpb25zIiwiY29uZGl0aW9uIiwicmVzdWx0IiwiUmVnRXhwIiwidGVzdCIsInRvTG93ZXJDYXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJVbmtub3duRXJyb3IiLCJoYW5kbGVMb2dpblJlc3VsdCIsInNjcmFwZXIiLCJsb2dpblJlc3VsdCIsIlN1Y2Nlc3MiLCJlbWl0UHJvZ3Jlc3MiLCJTY2FwZXJQcm9ncmVzc1R5cGVzIiwiTG9naW5TdWNjZXNzIiwic3VjY2VzcyIsIkludmFsaWRQYXNzd29yZCIsIkxvZ2luRmFpbGVkIiwiZXJyb3JUeXBlIiwiZXJyb3JNZXNzYWdlIiwiQ2hhbmdlUGFzc3dvcmQiLCJFcnJvciIsImNyZWF0ZUdlbmVyYWxFcnJvciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJCYXNlU2NyYXBlciIsImluaXRpYWxpemUiLCJJbml0aWFsaXppbmciLCJlbnYiLCJvcHRpb25zIiwidmVyYm9zZSIsIkRFQlVHIiwicHJvY2VzcyIsImJyb3dzZXIiLCJleGVjdXRhYmxlUGF0aCIsInVuZGVmaW5lZCIsImFyZ3MiLCJoZWFkbGVzcyIsInNob3dCcm93c2VyIiwicHVwcGV0ZWVyIiwibGF1bmNoIiwicHJlcGFyZUJyb3dzZXIiLCJwYWdlcyIsImxlbmd0aCIsIm5ld1BhZ2UiLCJwcmVwYXJlUGFnZSIsInNldFZpZXdwb3J0Iiwid2lkdGgiLCJoZWlnaHQiLCJvbiIsInJlcXVlc3QiLCJmYWlsdXJlIiwiZXJyb3JUZXh0IiwidXJsIiwibmF2aWdhdGVUbyIsInRpbWVvdXQiLCJwYWdlVG9Vc2UiLCJyZXNwb25zZSIsImdvdG8iLCJzdGF0dXMiLCJnZXRMb2dpbk9wdGlvbnMiLCJfY3JlZGVudGlhbHMiLCJjb21wYW55SWQiLCJmaWxsSW5wdXRzIiwicGFnZU9yRnJhbWUiLCJmaWVsZHMiLCJtb2RpZmllZCIsImlucHV0Iiwic2hpZnQiLCJzZWxlY3RvciIsImxvZ2luIiwiY3JlZGVudGlhbHMiLCJsb2dpbk9wdGlvbnMiLCJ1c2VyQWdlbnQiLCJzZXRVc2VyQWdlbnQiLCJsb2dpblVybCIsImNoZWNrUmVhZGluZXNzIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJsb2dpbkZyYW1lT3JQYWdlIiwicHJlQWN0aW9uIiwiTG9nZ2luZ0luIiwicG9zdEFjdGlvbiIsImN1cnJlbnQiLCJwb3NzaWJsZVJlc3VsdHMiLCJ0ZXJtaW5hdGUiLCJfc3VjY2VzcyIsIlRlcm1pbmF0aW5nIiwic3RvcmVGYWlsdXJlU2NyZWVuU2hvdFBhdGgiLCJzY3JlZW5zaG90IiwicGF0aCIsImZ1bGxQYWdlIiwiY2xvc2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBS0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FBRUEsTUFBTUEsY0FBYyxHQUFHLElBQXZCO0FBQ0EsTUFBTUMsZUFBZSxHQUFHLEdBQXhCO0FBQ0EsTUFBTUMsU0FBUyxHQUFHLEdBQWxCO0FBRUEsTUFBTUMsS0FBSyxHQUFHLHFCQUFTLDJCQUFULENBQWQ7SUFFS0MsZ0I7O1dBQUFBLGdCO0FBQUFBLEVBQUFBLGdCO0FBQUFBLEVBQUFBLGdCO0dBQUFBLGdCLEtBQUFBLGdCOztBQUtMLE1BQU07QUFDSkMsRUFBQUEsT0FESTtBQUNLQyxFQUFBQSxPQURMO0FBQ2NDLEVBQUFBO0FBRGQsSUFFRkMsOEJBRko7QUFBQSxNQUNnQ0MsSUFEaEMsNEJBRUlELDhCQUZKOztBQUdPLE1BQU1F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QU47QUFJRDs7QUFFRCxRQUFJLENBQUMsS0FBS3pELE9BQVYsRUFBbUI7QUFDakI7QUFDRDs7QUFFRCxVQUFNLEtBQUtBLE9BQUwsQ0FBYTBELEtBQWIsRUFBTjtBQUNEOztBQTNLOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcHVwcGV0ZWVyLCB7IEJyb3dzZXIsIEZyYW1lLCBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcblxuaW1wb3J0IHtcbiAgU2NyYXBlckVycm9yVHlwZXMsXG4gIEJhc2VTY3JhcGVyLCBTY2FwZXJTY3JhcGluZ1Jlc3VsdCwgU2NhcGVyUHJvZ3Jlc3NUeXBlcyxcbiAgU2NyYXBlckNyZWRlbnRpYWxzLFxufSBmcm9tICcuL2Jhc2Utc2NyYXBlcic7XG5pbXBvcnQgeyBnZXRDdXJyZW50VXJsLCB3YWl0Rm9yTmF2aWdhdGlvbiB9IGZyb20gJy4uL2hlbHBlcnMvbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBjbGlja0J1dHRvbiwgZmlsbElucHV0LCB3YWl0VW50aWxFbGVtZW50Rm91bmQgfSBmcm9tICcuLi9oZWxwZXJzL2VsZW1lbnRzLWludGVyYWN0aW9ucyc7XG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuXG5jb25zdCBWSUVXUE9SVF9XSURUSCA9IDEwMjQ7XG5jb25zdCBWSUVXUE9SVF9IRUlHSFQgPSA3Njg7XG5jb25zdCBPS19TVEFUVVMgPSAyMDA7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ2Jhc2Utc2NyYXBlci13aXRoLWJyb3dzZXInKTtcblxuZW51bSBMb2dpbkJhc2VSZXN1bHRzIHtcbiAgU3VjY2VzcyA9ICdTVUNDRVNTJyxcbiAgVW5rbm93bkVycm9yID0gJ1VOS05PV05fRVJST1InXG59XG5cbmNvbnN0IHtcbiAgVGltZW91dCwgR2VuZXJpYywgR2VuZXJhbCwgLi4ucmVzdFxufSA9IFNjcmFwZXJFcnJvclR5cGVzO1xuZXhwb3J0IGNvbnN0IExvZ2luUmVzdWx0cyA9IHtcbiAgLi4ucmVzdCxcbiAgLi4uTG9naW5CYXNlUmVzdWx0cyxcbn07XG5cbmV4cG9ydCB0eXBlIExvZ2luUmVzdWx0cyA9IEV4Y2x1ZGU8U2NyYXBlckVycm9yVHlwZXMsXG5TY3JhcGVyRXJyb3JUeXBlcy5UaW1lb3V0XG58IFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyaWNcbnwgU2NyYXBlckVycm9yVHlwZXMuR2VuZXJhbD4gfCBMb2dpbkJhc2VSZXN1bHRzO1xuXG5leHBvcnQgdHlwZSBQb3NzaWJsZUxvZ2luUmVzdWx0cyA9IHtcbiAgW2tleSBpbiBMb2dpblJlc3VsdHNdPzogKHN0cmluZyB8IFJlZ0V4cCB8ICgob3B0aW9ucz86IHsgcGFnZT86IFBhZ2V9KSA9PiBQcm9taXNlPGJvb2xlYW4+KSlbXVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBMb2dpbk9wdGlvbnMge1xuICBsb2dpblVybDogc3RyaW5nO1xuICBjaGVja1JlYWRpbmVzcz86ICgpID0+IFByb21pc2U8dm9pZD47XG4gIGZpZWxkczoge3NlbGVjdG9yOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmd9W107XG4gIHN1Ym1pdEJ1dHRvblNlbGVjdG9yOiBzdHJpbmc7XG4gIHByZUFjdGlvbj86ICgpID0+IFByb21pc2U8RnJhbWUgfCB2b2lkPjtcbiAgcG9zdEFjdGlvbj86ICgpID0+IFByb21pc2U8dm9pZD47XG4gIHBvc3NpYmxlUmVzdWx0czogUG9zc2libGVMb2dpblJlc3VsdHM7XG4gIHVzZXJBZ2VudD86IHN0cmluZztcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0S2V5QnlWYWx1ZShvYmplY3Q6IFBvc3NpYmxlTG9naW5SZXN1bHRzLCB2YWx1ZTogc3RyaW5nLCBwYWdlOiBQYWdlKTogUHJvbWlzZTxMb2dpblJlc3VsdHM+IHtcbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7XG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgY29uZGl0aW9ucyA9IG9iamVjdFtrZXldO1xuXG4gICAgZm9yIChjb25zdCBjb25kaXRpb24gb2YgY29uZGl0aW9ucykge1xuICAgICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuXG4gICAgICBpZiAoY29uZGl0aW9uIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIHJlc3VsdCA9IGNvbmRpdGlvbi50ZXN0KHZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbmRpdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXN1bHQgPSBhd2FpdCBjb25kaXRpb24oeyBwYWdlLCB2YWx1ZSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IHZhbHVlLnRvTG93ZXJDYXNlKCkgPT09IGNvbmRpdGlvbi50b0xvd2VyQ2FzZSgpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShrZXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoTG9naW5SZXN1bHRzLlVua25vd25FcnJvcik7XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUxvZ2luUmVzdWx0KHNjcmFwZXI6IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIGxvZ2luUmVzdWx0OiBMb2dpblJlc3VsdHMpIHtcbiAgc3dpdGNoIChsb2dpblJlc3VsdCkge1xuICAgIGNhc2UgTG9naW5SZXN1bHRzLlN1Y2Nlc3M6XG4gICAgICBzY3JhcGVyLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkxvZ2luU3VjY2Vzcyk7XG4gICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgY2FzZSBMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkOlxuICAgIGNhc2UgTG9naW5SZXN1bHRzLlVua25vd25FcnJvcjpcbiAgICAgIHNjcmFwZXIuZW1pdFByb2dyZXNzKFNjYXBlclByb2dyZXNzVHlwZXMuTG9naW5GYWlsZWQpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIGVycm9yVHlwZTogbG9naW5SZXN1bHQgPT09IExvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmQgPyBTY3JhcGVyRXJyb3JUeXBlcy5JbnZhbGlkUGFzc3dvcmQgOlxuICAgICAgICAgIFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyYWwsXG4gICAgICAgIGVycm9yTWVzc2FnZTogYExvZ2luIGZhaWxlZCB3aXRoICR7bG9naW5SZXN1bHR9IGVycm9yYCxcbiAgICAgIH07XG4gICAgY2FzZSBMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmQ6XG4gICAgICBzY3JhcGVyLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkNoYW5nZVBhc3N3b3JkKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkNoYW5nZVBhc3N3b3JkLFxuICAgICAgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmV4cGVjdGVkIGxvZ2luIHJlc3VsdCBcIiR7bG9naW5SZXN1bHR9XCJgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVHZW5lcmFsRXJyb3IoKTogU2NhcGVyU2NyYXBpbmdSZXN1bHQge1xuICByZXR1cm4ge1xuICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgIGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMuR2VuZXJhbCxcbiAgfTtcbn1cblxuY2xhc3MgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciBleHRlbmRzIEJhc2VTY3JhcGVyIHtcbiAgLy8gTk9USUNFIC0gaXQgaXMgZGlzY291cmFnZSB0byB1c2UgYmFuZyAoISkgaW4gZ2VuZXJhbC4gSXQgaXMgdXNlZCBoZXJlIGJlY2F1c2VcbiAgLy8gYWxsIHRoZSBjbGFzc2VzIHRoYXQgaW5oZXJpdCBmcm9tIHRoaXMgYmFzZSBhc3N1bWUgaXMgaXQgbWFuZGF0b3J5LlxuICBwcm90ZWN0ZWQgYnJvd3NlciE6IEJyb3dzZXI7XG5cbiAgLy8gTk9USUNFIC0gaXQgaXMgZGlzY291cmFnZSB0byB1c2UgYmFuZyAoISkgaW4gZ2VuZXJhbC4gSXQgaXMgdXNlZCBoZXJlIGJlY2F1c2VcbiAgLy8gYWxsIHRoZSBjbGFzc2VzIHRoYXQgaW5oZXJpdCBmcm9tIHRoaXMgYmFzZSBhc3N1bWUgaXMgaXQgbWFuZGF0b3J5LlxuICBwcm90ZWN0ZWQgcGFnZSE6IFBhZ2U7XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZSgpIHtcbiAgICBkZWJ1ZygnaW5pdGlhbGl6ZSBzY3JhcGVyJyk7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Jbml0aWFsaXppbmcpO1xuXG4gICAgbGV0IGVudjogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZDtcbiAgICBpZiAodGhpcy5vcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgIGVudiA9IHsgREVCVUc6ICcqJywgLi4ucHJvY2Vzcy5lbnYgfTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5icm93c2VyICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm9wdGlvbnMuYnJvd3NlciAhPT0gbnVsbCkge1xuICAgICAgZGVidWcoJ3VzZSBjdXN0b20gYnJvd3NlciBpbnN0YW5jZSBwcm92aWRlZCBpbiBvcHRpb25zJyk7XG4gICAgICB0aGlzLmJyb3dzZXIgPSB0aGlzLm9wdGlvbnMuYnJvd3NlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZXhlY3V0YWJsZVBhdGggPSB0aGlzLm9wdGlvbnMuZXhlY3V0YWJsZVBhdGggfHwgdW5kZWZpbmVkO1xuICAgICAgY29uc3QgYXJncyA9IHRoaXMub3B0aW9ucy5hcmdzIHx8IFtdO1xuXG4gICAgICBjb25zdCBoZWFkbGVzcyA9ICF0aGlzLm9wdGlvbnMuc2hvd0Jyb3dzZXI7XG4gICAgICBkZWJ1ZyhgbGF1bmNoIGEgYnJvd3NlciB3aXRoIGhlYWRsZXNzIG1vZGUgPSAke2hlYWRsZXNzfWApO1xuICAgICAgdGhpcy5icm93c2VyID0gYXdhaXQgcHVwcGV0ZWVyLmxhdW5jaCh7XG4gICAgICAgIGVudixcbiAgICAgICAgaGVhZGxlc3MsXG4gICAgICAgIGV4ZWN1dGFibGVQYXRoLFxuICAgICAgICBhcmdzLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5wcmVwYXJlQnJvd3Nlcikge1xuICAgICAgZGVidWcoJ2V4ZWN1dGUgXFwncHJlcGFyZUJyb3dzZXJcXCcgaW50ZXJjZXB0b3IgcHJvdmlkZWQgaW4gb3B0aW9ucycpO1xuICAgICAgYXdhaXQgdGhpcy5vcHRpb25zLnByZXBhcmVCcm93c2VyKHRoaXMuYnJvd3Nlcik7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmJyb3dzZXIpIHtcbiAgICAgIGRlYnVnKCdmYWlsZWQgdG8gaW5pdGlhdGUgYSBicm93c2VyLCBleGl0Jyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFnZXMgPSBhd2FpdCB0aGlzLmJyb3dzZXIucGFnZXMoKTtcbiAgICBpZiAocGFnZXMubGVuZ3RoKSB7XG4gICAgICBkZWJ1ZygnYnJvd3NlciBoYXMgYWxyZWFkeSBwYWdlcyBvcGVuLCB1c2UgdGhlIGZpcnN0IG9uZScpO1xuICAgICAgW3RoaXMucGFnZV0gPSBwYWdlcztcbiAgICB9IGVsc2Uge1xuICAgICAgZGVidWcoJ2NyZWF0ZSBhIG5ldyBicm93c2VyIHBhZ2UnKTtcbiAgICAgIHRoaXMucGFnZSA9IGF3YWl0IHRoaXMuYnJvd3Nlci5uZXdQYWdlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5wcmVwYXJlUGFnZSkge1xuICAgICAgZGVidWcoJ2V4ZWN1dGUgXFwncHJlcGFyZVBhZ2VcXCcgaW50ZXJjZXB0b3IgcHJvdmlkZWQgaW4gb3B0aW9ucycpO1xuICAgICAgYXdhaXQgdGhpcy5vcHRpb25zLnByZXBhcmVQYWdlKHRoaXMucGFnZSk7XG4gICAgfVxuXG4gICAgZGVidWcoYHNldCB2aWV3cG9ydCB0byB3aWR0aCAke1ZJRVdQT1JUX1dJRFRIfSwgaGVpZ2h0ICR7VklFV1BPUlRfSEVJR0hUfWApO1xuICAgIGF3YWl0IHRoaXMucGFnZS5zZXRWaWV3cG9ydCh7XG4gICAgICB3aWR0aDogVklFV1BPUlRfV0lEVEgsXG4gICAgICBoZWlnaHQ6IFZJRVdQT1JUX0hFSUdIVCxcbiAgICB9KTtcblxuICAgIHRoaXMucGFnZS5vbigncmVxdWVzdGZhaWxlZCcsIChyZXF1ZXN0KSA9PiB7XG4gICAgICBkZWJ1ZygnUmVxdWVzdCBmYWlsZWQ6ICVzICVzJywgcmVxdWVzdC5mYWlsdXJlKCk/LmVycm9yVGV4dCwgcmVxdWVzdC51cmwoKSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBuYXZpZ2F0ZVRvKHVybDogc3RyaW5nLCBwYWdlPzogUGFnZSwgdGltZW91dD86IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHBhZ2VUb1VzZSA9IHBhZ2UgfHwgdGhpcy5wYWdlO1xuXG4gICAgaWYgKCFwYWdlVG9Vc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zID0geyAuLi4odGltZW91dCA9PT0gbnVsbCA/IG51bGwgOiB7IHRpbWVvdXQgfSkgfTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBhZ2VUb1VzZS5nb3RvKHVybCwgb3B0aW9ucyk7XG5cbiAgICAvLyBub3RlOiByZXNwb25zZSB3aWxsIGJlIG51bGwgd2hlbiBuYXZpZ2F0aW5nIHRvIHNhbWUgdXJsIHdoaWxlIGNoYW5naW5nIHRoZSBoYXNoIHBhcnQuIHRoZSBjb25kaXRpb24gYmVsb3cgd2lsbCBhbHdheXMgYWNjZXB0IG51bGwgYXMgdmFsaWQgcmVzdWx0LlxuICAgIGlmIChyZXNwb25zZSAhPT0gbnVsbCAmJiAocmVzcG9uc2UgPT09IHVuZGVmaW5lZCB8fCByZXNwb25zZS5zdGF0dXMoKSAhPT0gT0tfU1RBVFVTKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciB3aGlsZSB0cnlpbmcgdG8gbmF2aWdhdGUgdG8gdXJsICR7dXJsfWApO1xuICAgIH1cbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgZ2V0TG9naW5PcHRpb25zKF9jcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKTogTG9naW5PcHRpb25zIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGdldExvZ2luT3B0aW9ucygpIGlzIG5vdCBjcmVhdGVkIGluICR7dGhpcy5vcHRpb25zLmNvbXBhbnlJZH1gKTtcbiAgfVxuXG4gIGFzeW5jIGZpbGxJbnB1dHMocGFnZU9yRnJhbWU6IFBhZ2UgfCBGcmFtZSwgZmllbGRzOiB7IHNlbGVjdG9yOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmd9W10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBtb2RpZmllZCA9IFsuLi5maWVsZHNdO1xuICAgIGNvbnN0IGlucHV0ID0gbW9kaWZpZWQuc2hpZnQoKTtcblxuICAgIGlmICghaW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgZmlsbElucHV0KHBhZ2VPckZyYW1lLCBpbnB1dC5zZWxlY3RvciwgaW5wdXQudmFsdWUpO1xuICAgIGlmIChtb2RpZmllZC5sZW5ndGgpIHtcbiAgICAgIGF3YWl0IHRoaXMuZmlsbElucHV0cyhwYWdlT3JGcmFtZSwgbW9kaWZpZWQpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvZ2luKGNyZWRlbnRpYWxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTxTY2FwZXJTY3JhcGluZ1Jlc3VsdD4ge1xuICAgIGlmICghY3JlZGVudGlhbHMgfHwgIXRoaXMucGFnZSkge1xuICAgICAgcmV0dXJuIGNyZWF0ZUdlbmVyYWxFcnJvcigpO1xuICAgIH1cblxuICAgIGRlYnVnKCdleGVjdXRlIGxvZ2luIHByb2Nlc3MnKTtcbiAgICBjb25zdCBsb2dpbk9wdGlvbnMgPSB0aGlzLmdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFscyk7XG5cbiAgICBpZiAobG9naW5PcHRpb25zLnVzZXJBZ2VudCkge1xuICAgICAgZGVidWcoJ3NldCBjdXN0b20gdXNlciBhZ2VudCBwcm92aWRlZCBpbiBvcHRpb25zJyk7XG4gICAgICBhd2FpdCB0aGlzLnBhZ2Uuc2V0VXNlckFnZW50KGxvZ2luT3B0aW9ucy51c2VyQWdlbnQpO1xuICAgIH1cblxuICAgIGRlYnVnKCduYXZpZ2F0ZSB0byBsb2dpbiB1cmwnKTtcbiAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG8obG9naW5PcHRpb25zLmxvZ2luVXJsKTtcbiAgICBpZiAobG9naW5PcHRpb25zLmNoZWNrUmVhZGluZXNzKSB7XG4gICAgICBkZWJ1ZygnZXhlY3V0ZSBcXCdjaGVja1JlYWRpbmVzc1xcJyBpbnRlcmNlcHRvciBwcm92aWRlZCBpbiBsb2dpbiBvcHRpb25zJyk7XG4gICAgICBhd2FpdCBsb2dpbk9wdGlvbnMuY2hlY2tSZWFkaW5lc3MoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVidWcoJ3dhaXQgdW50aWwgc3VibWl0IGJ1dHRvbiBpcyBhdmFpbGFibGUnKTtcbiAgICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsIGxvZ2luT3B0aW9ucy5zdWJtaXRCdXR0b25TZWxlY3Rvcik7XG4gICAgfVxuXG4gICAgbGV0IGxvZ2luRnJhbWVPclBhZ2U6IChQYWdlIHwgRnJhbWUgfCBudWxsKSA9IHRoaXMucGFnZTtcbiAgICBpZiAobG9naW5PcHRpb25zLnByZUFjdGlvbikge1xuICAgICAgZGVidWcoJ2V4ZWN1dGUgXFwncHJlQWN0aW9uXFwnIGludGVyY2VwdG9yIHByb3ZpZGVkIGluIGxvZ2luIG9wdGlvbnMnKTtcbiAgICAgIGxvZ2luRnJhbWVPclBhZ2UgPSBhd2FpdCBsb2dpbk9wdGlvbnMucHJlQWN0aW9uKCkgfHwgdGhpcy5wYWdlO1xuICAgIH1cblxuICAgIGRlYnVnKCdmaWxsIGxvZ2luIGNvbXBvbmVudHMgaW5wdXQgd2l0aCByZWxldmFudCB2YWx1ZXMnKTtcbiAgICBhd2FpdCB0aGlzLmZpbGxJbnB1dHMobG9naW5GcmFtZU9yUGFnZSwgbG9naW5PcHRpb25zLmZpZWxkcyk7XG4gICAgZGVidWcoJ2NsaWNrIG9uIGxvZ2luIHN1Ym1pdCBidXR0b24nKTtcbiAgICBhd2FpdCBjbGlja0J1dHRvbihsb2dpbkZyYW1lT3JQYWdlLCBsb2dpbk9wdGlvbnMuc3VibWl0QnV0dG9uU2VsZWN0b3IpO1xuICAgIHRoaXMuZW1pdFByb2dyZXNzKFNjYXBlclByb2dyZXNzVHlwZXMuTG9nZ2luZ0luKTtcblxuICAgIGlmIChsb2dpbk9wdGlvbnMucG9zdEFjdGlvbikge1xuICAgICAgZGVidWcoJ2V4ZWN1dGUgXFwncG9zdEFjdGlvblxcJyBpbnRlcmNlcHRvciBwcm92aWRlZCBpbiBsb2dpbiBvcHRpb25zJyk7XG4gICAgICBhd2FpdCBsb2dpbk9wdGlvbnMucG9zdEFjdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWJ1Zygnd2FpdCBmb3IgcGFnZSBuYXZpZ2F0aW9uJyk7XG4gICAgICBhd2FpdCB3YWl0Rm9yTmF2aWdhdGlvbih0aGlzLnBhZ2UpO1xuICAgIH1cblxuICAgIGRlYnVnKCdjaGVjayBsb2dpbiByZXN1bHQnKTtcbiAgICBjb25zdCBjdXJyZW50ID0gYXdhaXQgZ2V0Q3VycmVudFVybCh0aGlzLnBhZ2UsIHRydWUpO1xuICAgIGNvbnN0IGxvZ2luUmVzdWx0ID0gYXdhaXQgZ2V0S2V5QnlWYWx1ZShsb2dpbk9wdGlvbnMucG9zc2libGVSZXN1bHRzLCBjdXJyZW50LCB0aGlzLnBhZ2UpO1xuICAgIGRlYnVnKGBoYW5kbGUgbG9naW4gcmVzdWx0cyAke2xvZ2luUmVzdWx0fWApO1xuICAgIHJldHVybiBoYW5kbGVMb2dpblJlc3VsdCh0aGlzLCBsb2dpblJlc3VsdCk7XG4gIH1cblxuICBhc3luYyB0ZXJtaW5hdGUoX3N1Y2Nlc3M6IGJvb2xlYW4pIHtcbiAgICBkZWJ1ZyhgdGVybWluYXRpbmcgYnJvd3NlciB3aXRoIHN1Y2Nlc3MgPSAke19zdWNjZXNzfWApO1xuICAgIHRoaXMuZW1pdFByb2dyZXNzKFNjYXBlclByb2dyZXNzVHlwZXMuVGVybWluYXRpbmcpO1xuXG4gICAgaWYgKCFfc3VjY2VzcyAmJiAhIXRoaXMub3B0aW9ucy5zdG9yZUZhaWx1cmVTY3JlZW5TaG90UGF0aCkge1xuICAgICAgZGVidWcoYGNyZWF0ZSBhIHNuYXBzaG90IGJlZm9yZSB0ZXJtaW5hdGVkIGluICR7dGhpcy5vcHRpb25zLnN0b3JlRmFpbHVyZVNjcmVlblNob3RQYXRofWApO1xuICAgICAgYXdhaXQgdGhpcy5wYWdlLnNjcmVlbnNob3Qoe1xuICAgICAgICBwYXRoOiB0aGlzLm9wdGlvbnMuc3RvcmVGYWlsdXJlU2NyZWVuU2hvdFBhdGgsXG4gICAgICAgIGZ1bGxQYWdlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmJyb3dzZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLmJyb3dzZXIuY2xvc2UoKTtcbiAgfVxufVxuXG5leHBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIH07XG4iXX0=
|
|
322
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyLnRzIl0sIm5hbWVzIjpbIlZJRVdQT1JUX1dJRFRIIiwiVklFV1BPUlRfSEVJR0hUIiwiT0tfU1RBVFVTIiwiZGVidWciLCJMb2dpbkJhc2VSZXN1bHRzIiwiVGltZW91dCIsIkdlbmVyaWMiLCJHZW5lcmFsIiwiU2NyYXBlckVycm9yVHlwZXMiLCJyZXN0IiwiTG9naW5SZXN1bHRzIiwiZ2V0S2V5QnlWYWx1ZSIsIm9iamVjdCIsInZhbHVlIiwicGFnZSIsImtleXMiLCJPYmplY3QiLCJrZXkiLCJjb25kaXRpb25zIiwiY29uZGl0aW9uIiwicmVzdWx0IiwiUmVnRXhwIiwidGVzdCIsInRvTG93ZXJDYXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJVbmtub3duRXJyb3IiLCJoYW5kbGVMb2dpblJlc3VsdCIsInNjcmFwZXIiLCJsb2dpblJlc3VsdCIsIlN1Y2Nlc3MiLCJlbWl0UHJvZ3Jlc3MiLCJTY2FwZXJQcm9ncmVzc1R5cGVzIiwiTG9naW5TdWNjZXNzIiwic3VjY2VzcyIsIkludmFsaWRQYXNzd29yZCIsIkxvZ2luRmFpbGVkIiwiZXJyb3JUeXBlIiwiZXJyb3JNZXNzYWdlIiwiQ2hhbmdlUGFzc3dvcmQiLCJFcnJvciIsImNyZWF0ZUdlbmVyYWxFcnJvciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJCYXNlU2NyYXBlciIsImdldFZpZXdQb3J0Iiwid2lkdGgiLCJoZWlnaHQiLCJpbml0aWFsaXplIiwiSW5pdGlhbGl6aW5nIiwiZW52Iiwib3B0aW9ucyIsInZlcmJvc2UiLCJERUJVRyIsInByb2Nlc3MiLCJicm93c2VyIiwiZXhlY3V0YWJsZVBhdGgiLCJ1bmRlZmluZWQiLCJhcmdzIiwiaGVhZGxlc3MiLCJzaG93QnJvd3NlciIsInB1cHBldGVlciIsImxhdW5jaCIsInByZXBhcmVCcm93c2VyIiwicGFnZXMiLCJsZW5ndGgiLCJuZXdQYWdlIiwicHJlcGFyZVBhZ2UiLCJ2aWV3cG9ydCIsInNldFZpZXdwb3J0Iiwib24iLCJyZXF1ZXN0IiwiZmFpbHVyZSIsImVycm9yVGV4dCIsInVybCIsIm5hdmlnYXRlVG8iLCJ0aW1lb3V0IiwicGFnZVRvVXNlIiwicmVzcG9uc2UiLCJnb3RvIiwic3RhdHVzIiwiZ2V0TG9naW5PcHRpb25zIiwiX2NyZWRlbnRpYWxzIiwiY29tcGFueUlkIiwiZmlsbElucHV0cyIsInBhZ2VPckZyYW1lIiwiZmllbGRzIiwibW9kaWZpZWQiLCJpbnB1dCIsInNoaWZ0Iiwic2VsZWN0b3IiLCJsb2dpbiIsImNyZWRlbnRpYWxzIiwibG9naW5PcHRpb25zIiwidXNlckFnZW50Iiwic2V0VXNlckFnZW50IiwibG9naW5VcmwiLCJjaGVja1JlYWRpbmVzcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwibG9naW5GcmFtZU9yUGFnZSIsInByZUFjdGlvbiIsIkxvZ2dpbmdJbiIsInBvc3RBY3Rpb24iLCJjdXJyZW50IiwicG9zc2libGVSZXN1bHRzIiwidGVybWluYXRlIiwiX3N1Y2Nlc3MiLCJUZXJtaW5hdGluZyIsInN0b3JlRmFpbHVyZVNjcmVlblNob3RQYXRoIiwic2NyZWVuc2hvdCIsInBhdGgiLCJmdWxsUGFnZSIsImNsb3NlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUtBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7OztBQUVBLE1BQU1BLGNBQWMsR0FBRyxJQUF2QjtBQUNBLE1BQU1DLGVBQWUsR0FBRyxHQUF4QjtBQUNBLE1BQU1DLFNBQVMsR0FBRyxHQUFsQjtBQUVBLE1BQU1DLEtBQUssR0FBRyxxQkFBUywyQkFBVCxDQUFkO0lBRUtDLGdCOztXQUFBQSxnQjtBQUFBQSxFQUFBQSxnQjtBQUFBQSxFQUFBQSxnQjtHQUFBQSxnQixLQUFBQSxnQjs7QUFLTCxNQUFNO0FBQ0pDLEVBQUFBLE9BREk7QUFDS0MsRUFBQUEsT0FETDtBQUNjQyxFQUFBQTtBQURkLElBRUZDLDhCQUZKO0FBQUEsTUFDZ0NDLElBRGhD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TTJFLFNBQU4sQ0FBZ0JDLFFBQWhCLEVBQW1DO0FBQ2pDdEcsSUFBQUEsS0FBSyxDQUFFLHNDQUFxQ3NHLFFBQVMsRUFBaEQsQ0FBTDtBQUNBLFNBQUsxRSxZQUFMLENBQWtCQyxpQ0FBb0IwRSxXQUF0Qzs7QUFFQSxRQUFJLENBQUNELFFBQUQsSUFBYSxDQUFDLENBQUMsS0FBS3ZELE9BQUwsQ0FBYXlELDBCQUFoQyxFQUE0RDtBQUMxRHhHLE1BQUFBLEtBQUssQ0FBRSwwQ0FBeUMsS0FBSytDLE9BQUwsQ0FBYXlELDBCQUEyQixFQUFuRixDQUFMO0FBQ0EsWUFBTSxLQUFLN0YsSUFBTCxDQUFVOEYsVUFBVixDQUFxQjtBQUN6QkMsUUFBQUEsSUFBSSxFQUFFLEtBQUszRCxPQUFMLENBQWF5RCwwQkFETTtBQUV6QkcsUUFBQUEsUUFBUSxFQUFFO0FBRmUsT0FBckIsQ0FBTjtBQUlEOztBQUVELFFBQUksQ0FBQyxLQUFLeEQsT0FBVixFQUFtQjtBQUNqQjtBQUNEOztBQUVELFVBQU0sS0FBS0EsT0FBTCxDQUFheUQsS0FBYixFQUFOO0FBQ0Q7O0FBdkw4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwdXBwZXRlZXIsIHsgQnJvd3NlciwgRnJhbWUsIFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuXG5pbXBvcnQge1xuICBTY3JhcGVyRXJyb3JUeXBlcyxcbiAgQmFzZVNjcmFwZXIsIFNjYXBlclNjcmFwaW5nUmVzdWx0LCBTY2FwZXJQcm9ncmVzc1R5cGVzLFxuICBTY3JhcGVyQ3JlZGVudGlhbHMsXG59IGZyb20gJy4vYmFzZS1zY3JhcGVyJztcbmltcG9ydCB7IGdldEN1cnJlbnRVcmwsIHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IGNsaWNrQnV0dG9uLCBmaWxsSW5wdXQsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCB9IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGdldERlYnVnIH0gZnJvbSAnLi4vaGVscGVycy9kZWJ1Zyc7XG5cbmNvbnN0IFZJRVdQT1JUX1dJRFRIID0gMTAyNDtcbmNvbnN0IFZJRVdQT1JUX0hFSUdIVCA9IDc2ODtcbmNvbnN0IE9LX1NUQVRVUyA9IDIwMDtcblxuY29uc3QgZGVidWcgPSBnZXREZWJ1ZygnYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3NlcicpO1xuXG5lbnVtIExvZ2luQmFzZVJlc3VsdHMge1xuICBTdWNjZXNzID0gJ1NVQ0NFU1MnLFxuICBVbmtub3duRXJyb3IgPSAnVU5LTk9XTl9FUlJPUidcbn1cblxuY29uc3Qge1xuICBUaW1lb3V0LCBHZW5lcmljLCBHZW5lcmFsLCAuLi5yZXN0XG59ID0gU2NyYXBlckVycm9yVHlwZXM7XG5leHBvcnQgY29uc3QgTG9naW5SZXN1bHRzID0ge1xuICAuLi5yZXN0LFxuICAuLi5Mb2dpbkJhc2VSZXN1bHRzLFxufTtcblxuZXhwb3J0IHR5cGUgTG9naW5SZXN1bHRzID0gRXhjbHVkZTxTY3JhcGVyRXJyb3JUeXBlcyxcblNjcmFwZXJFcnJvclR5cGVzLlRpbWVvdXRcbnwgU2NyYXBlckVycm9yVHlwZXMuR2VuZXJpY1xufCBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmFsPiB8IExvZ2luQmFzZVJlc3VsdHM7XG5cbmV4cG9ydCB0eXBlIFBvc3NpYmxlTG9naW5SZXN1bHRzID0ge1xuICBba2V5IGluIExvZ2luUmVzdWx0c10/OiAoc3RyaW5nIHwgUmVnRXhwIHwgKChvcHRpb25zPzogeyBwYWdlPzogUGFnZX0pID0+IFByb21pc2U8Ym9vbGVhbj4pKVtdXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luT3B0aW9ucyB7XG4gIGxvZ2luVXJsOiBzdHJpbmc7XG4gIGNoZWNrUmVhZGluZXNzPzogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgZmllbGRzOiB7c2VsZWN0b3I6IHN0cmluZywgdmFsdWU6IHN0cmluZ31bXTtcbiAgc3VibWl0QnV0dG9uU2VsZWN0b3I6IHN0cmluZyB8ICgoKSA9PiBQcm9taXNlPHZvaWQ+KTtcbiAgcHJlQWN0aW9uPzogKCkgPT4gUHJvbWlzZTxGcmFtZSB8IHZvaWQ+O1xuICBwb3N0QWN0aW9uPzogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcG9zc2libGVSZXN1bHRzOiBQb3NzaWJsZUxvZ2luUmVzdWx0cztcbiAgdXNlckFnZW50Pzogc3RyaW5nO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRLZXlCeVZhbHVlKG9iamVjdDogUG9zc2libGVMb2dpblJlc3VsdHMsIHZhbHVlOiBzdHJpbmcsIHBhZ2U6IFBhZ2UpOiBQcm9taXNlPExvZ2luUmVzdWx0cz4ge1xuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBjb25kaXRpb25zID0gb2JqZWN0W2tleV07XG5cbiAgICBmb3IgKGNvbnN0IGNvbmRpdGlvbiBvZiBjb25kaXRpb25zKSB7XG4gICAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgICAgIGlmIChjb25kaXRpb24gaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgcmVzdWx0ID0gY29uZGl0aW9uLnRlc3QodmFsdWUpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY29uZGl0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJlc3VsdCA9IGF3YWl0IGNvbmRpdGlvbih7IHBhZ2UsIHZhbHVlIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gdmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gY29uZGl0aW9uLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGtleSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShMb2dpblJlc3VsdHMuVW5rbm93bkVycm9yKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlTG9naW5SZXN1bHQoc2NyYXBlcjogQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgbG9naW5SZXN1bHQ6IExvZ2luUmVzdWx0cykge1xuICBzd2l0Y2ggKGxvZ2luUmVzdWx0KSB7XG4gICAgY2FzZSBMb2dpblJlc3VsdHMuU3VjY2VzczpcbiAgICAgIHNjcmFwZXIuZW1pdFByb2dyZXNzKFNjYXBlclByb2dyZXNzVHlwZXMuTG9naW5TdWNjZXNzKTtcbiAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICBjYXNlIExvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmQ6XG4gICAgY2FzZSBMb2dpblJlc3VsdHMuVW5rbm93bkVycm9yOlxuICAgICAgc2NyYXBlci5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Mb2dpbkZhaWxlZCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3JUeXBlOiBsb2dpblJlc3VsdCA9PT0gTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZCA/IFNjcmFwZXJFcnJvclR5cGVzLkludmFsaWRQYXNzd29yZCA6XG4gICAgICAgICAgU2NyYXBlckVycm9yVHlwZXMuR2VuZXJhbCxcbiAgICAgICAgZXJyb3JNZXNzYWdlOiBgTG9naW4gZmFpbGVkIHdpdGggJHtsb2dpblJlc3VsdH0gZXJyb3JgLFxuICAgICAgfTtcbiAgICBjYXNlIExvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZDpcbiAgICAgIHNjcmFwZXIuZW1pdFByb2dyZXNzKFNjYXBlclByb2dyZXNzVHlwZXMuQ2hhbmdlUGFzc3dvcmQpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMuQ2hhbmdlUGFzc3dvcmQsXG4gICAgICB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuZXhwZWN0ZWQgbG9naW4gcmVzdWx0IFwiJHtsb2dpblJlc3VsdH1cImApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUdlbmVyYWxFcnJvcigpOiBTY2FwZXJTY3JhcGluZ1Jlc3VsdCB7XG4gIHJldHVybiB7XG4gICAgc3VjY2VzczogZmFsc2UsXG4gICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmFsLFxuICB9O1xufVxuXG5jbGFzcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIGV4dGVuZHMgQmFzZVNjcmFwZXIge1xuICAvLyBOT1RJQ0UgLSBpdCBpcyBkaXNjb3VyYWdlIHRvIHVzZSBiYW5nICghKSBpbiBnZW5lcmFsLiBJdCBpcyB1c2VkIGhlcmUgYmVjYXVzZVxuICAvLyBhbGwgdGhlIGNsYXNzZXMgdGhhdCBpbmhlcml0IGZyb20gdGhpcyBiYXNlIGFzc3VtZSBpcyBpdCBtYW5kYXRvcnkuXG4gIHByb3RlY3RlZCBicm93c2VyITogQnJvd3NlcjtcblxuICAvLyBOT1RJQ0UgLSBpdCBpcyBkaXNjb3VyYWdlIHRvIHVzZSBiYW5nICghKSBpbiBnZW5lcmFsLiBJdCBpcyB1c2VkIGhlcmUgYmVjYXVzZVxuICAvLyBhbGwgdGhlIGNsYXNzZXMgdGhhdCBpbmhlcml0IGZyb20gdGhpcyBiYXNlIGFzc3VtZSBpcyBpdCBtYW5kYXRvcnkuXG4gIHByb3RlY3RlZCBwYWdlITogUGFnZTtcblxuICBwcm90ZWN0ZWQgZ2V0Vmlld1BvcnQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiBWSUVXUE9SVF9XSURUSCxcbiAgICAgIGhlaWdodDogVklFV1BPUlRfSEVJR0hULFxuICAgIH07XG4gIH1cblxuICBhc3luYyBpbml0aWFsaXplKCkge1xuICAgIGRlYnVnKCdpbml0aWFsaXplIHNjcmFwZXInKTtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkluaXRpYWxpemluZyk7XG5cbiAgICBsZXQgZW52OiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkO1xuICAgIGlmICh0aGlzLm9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgZW52ID0geyBERUJVRzogJyonLCAuLi5wcm9jZXNzLmVudiB9O1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLmJyb3dzZXIgIT09ICd1bmRlZmluZWQnICYmIHRoaXMub3B0aW9ucy5icm93c2VyICE9PSBudWxsKSB7XG4gICAgICBkZWJ1ZygndXNlIGN1c3RvbSBicm93c2VyIGluc3RhbmNlIHByb3ZpZGVkIGluIG9wdGlvbnMnKTtcbiAgICAgIHRoaXMuYnJvd3NlciA9IHRoaXMub3B0aW9ucy5icm93c2VyO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBleGVjdXRhYmxlUGF0aCA9IHRoaXMub3B0aW9ucy5leGVjdXRhYmxlUGF0aCB8fCB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBhcmdzID0gdGhpcy5vcHRpb25zLmFyZ3MgfHwgW107XG5cbiAgICAgIGNvbnN0IGhlYWRsZXNzID0gIXRoaXMub3B0aW9ucy5zaG93QnJvd3NlcjtcbiAgICAgIGRlYnVnKGBsYXVuY2ggYSBicm93c2VyIHdpdGggaGVhZGxlc3MgbW9kZSA9ICR7aGVhZGxlc3N9YCk7XG4gICAgICB0aGlzLmJyb3dzZXIgPSBhd2FpdCBwdXBwZXRlZXIubGF1bmNoKHtcbiAgICAgICAgZW52LFxuICAgICAgICBoZWFkbGVzcyxcbiAgICAgICAgZXhlY3V0YWJsZVBhdGgsXG4gICAgICAgIGFyZ3MsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnByZXBhcmVCcm93c2VyKSB7XG4gICAgICBkZWJ1ZygnZXhlY3V0ZSBcXCdwcmVwYXJlQnJvd3NlclxcJyBpbnRlcmNlcHRvciBwcm92aWRlZCBpbiBvcHRpb25zJyk7XG4gICAgICBhd2FpdCB0aGlzLm9wdGlvbnMucHJlcGFyZUJyb3dzZXIodGhpcy5icm93c2VyKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuYnJvd3Nlcikge1xuICAgICAgZGVidWcoJ2ZhaWxlZCB0byBpbml0aWF0ZSBhIGJyb3dzZXIsIGV4aXQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwYWdlcyA9IGF3YWl0IHRoaXMuYnJvd3Nlci5wYWdlcygpO1xuICAgIGlmIChwYWdlcy5sZW5ndGgpIHtcbiAgICAgIGRlYnVnKCdicm93c2VyIGhhcyBhbHJlYWR5IHBhZ2VzIG9wZW4sIHVzZSB0aGUgZmlyc3Qgb25lJyk7XG4gICAgICBbdGhpcy5wYWdlXSA9IHBhZ2VzO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWJ1ZygnY3JlYXRlIGEgbmV3IGJyb3dzZXIgcGFnZScpO1xuICAgICAgdGhpcy5wYWdlID0gYXdhaXQgdGhpcy5icm93c2VyLm5ld1BhZ2UoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnByZXBhcmVQYWdlKSB7XG4gICAgICBkZWJ1ZygnZXhlY3V0ZSBcXCdwcmVwYXJlUGFnZVxcJyBpbnRlcmNlcHRvciBwcm92aWRlZCBpbiBvcHRpb25zJyk7XG4gICAgICBhd2FpdCB0aGlzLm9wdGlvbnMucHJlcGFyZVBhZ2UodGhpcy5wYWdlKTtcbiAgICB9XG5cbiAgICBjb25zdCB2aWV3cG9ydCA9IHRoaXMuZ2V0Vmlld1BvcnQoKTtcbiAgICBkZWJ1Zyhgc2V0IHZpZXdwb3J0IHRvIHdpZHRoICR7dmlld3BvcnQud2lkdGh9LCBoZWlnaHQgJHt2aWV3cG9ydC5oZWlnaHR9YCk7XG4gICAgYXdhaXQgdGhpcy5wYWdlLnNldFZpZXdwb3J0KHtcbiAgICAgIHdpZHRoOiB2aWV3cG9ydC53aWR0aCxcbiAgICAgIGhlaWdodDogdmlld3BvcnQuaGVpZ2h0LFxuICAgIH0pO1xuXG4gICAgdGhpcy5wYWdlLm9uKCdyZXF1ZXN0ZmFpbGVkJywgKHJlcXVlc3QpID0+IHtcbiAgICAgIGRlYnVnKCdSZXF1ZXN0IGZhaWxlZDogJXMgJXMnLCByZXF1ZXN0LmZhaWx1cmUoKT8uZXJyb3JUZXh0LCByZXF1ZXN0LnVybCgpKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG5hdmlnYXRlVG8odXJsOiBzdHJpbmcsIHBhZ2U/OiBQYWdlLCB0aW1lb3V0PzogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGFnZVRvVXNlID0gcGFnZSB8fCB0aGlzLnBhZ2U7XG5cbiAgICBpZiAoIXBhZ2VUb1VzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7IC4uLih0aW1lb3V0ID09PSBudWxsID8gbnVsbCA6IHsgdGltZW91dCB9KSB9O1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcGFnZVRvVXNlLmdvdG8odXJsLCBvcHRpb25zKTtcblxuICAgIC8vIG5vdGU6IHJlc3BvbnNlIHdpbGwgYmUgbnVsbCB3aGVuIG5hdmlnYXRpbmcgdG8gc2FtZSB1cmwgd2hpbGUgY2hhbmdpbmcgdGhlIGhhc2ggcGFydC4gdGhlIGNvbmRpdGlvbiBiZWxvdyB3aWxsIGFsd2F5cyBhY2NlcHQgbnVsbCBhcyB2YWxpZCByZXN1bHQuXG4gICAgaWYgKHJlc3BvbnNlICE9PSBudWxsICYmIChyZXNwb25zZSA9PT0gdW5kZWZpbmVkIHx8IHJlc3BvbnNlLnN0YXR1cygpICE9PSBPS19TVEFUVVMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIHdoaWxlIHRyeWluZyB0byBuYXZpZ2F0ZSB0byB1cmwgJHt1cmx9YCk7XG4gICAgfVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBnZXRMb2dpbk9wdGlvbnMoX2NyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpOiBMb2dpbk9wdGlvbnMge1xuICAgIHRocm93IG5ldyBFcnJvcihgZ2V0TG9naW5PcHRpb25zKCkgaXMgbm90IGNyZWF0ZWQgaW4gJHt0aGlzLm9wdGlvbnMuY29tcGFueUlkfWApO1xuICB9XG5cbiAgYXN5bmMgZmlsbElucHV0cyhwYWdlT3JGcmFtZTogUGFnZSB8IEZyYW1lLCBmaWVsZHM6IHsgc2VsZWN0b3I6IHN0cmluZywgdmFsdWU6IHN0cmluZ31bXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1vZGlmaWVkID0gWy4uLmZpZWxkc107XG4gICAgY29uc3QgaW5wdXQgPSBtb2RpZmllZC5zaGlmdCgpO1xuXG4gICAgaWYgKCFpbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCBmaWxsSW5wdXQocGFnZU9yRnJhbWUsIGlucHV0LnNlbGVjdG9yLCBpbnB1dC52YWx1ZSk7XG4gICAgaWYgKG1vZGlmaWVkLmxlbmd0aCkge1xuICAgICAgYXdhaXQgdGhpcy5maWxsSW5wdXRzKHBhZ2VPckZyYW1lLCBtb2RpZmllZCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9naW4oY3JlZGVudGlhbHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBQcm9taXNlPFNjYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgaWYgKCFjcmVkZW50aWFscyB8fCAhdGhpcy5wYWdlKSB7XG4gICAgICByZXR1cm4gY3JlYXRlR2VuZXJhbEVycm9yKCk7XG4gICAgfVxuXG4gICAgZGVidWcoJ2V4ZWN1dGUgbG9naW4gcHJvY2VzcycpO1xuICAgIGNvbnN0IGxvZ2luT3B0aW9ucyA9IHRoaXMuZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzKTtcblxuICAgIGlmIChsb2dpbk9wdGlvbnMudXNlckFnZW50KSB7XG4gICAgICBkZWJ1Zygnc2V0IGN1c3RvbSB1c2VyIGFnZW50IHByb3ZpZGVkIGluIG9wdGlvbnMnKTtcbiAgICAgIGF3YWl0IHRoaXMucGFnZS5zZXRVc2VyQWdlbnQobG9naW5PcHRpb25zLnVzZXJBZ2VudCk7XG4gICAgfVxuXG4gICAgZGVidWcoJ25hdmlnYXRlIHRvIGxvZ2luIHVybCcpO1xuICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUbyhsb2dpbk9wdGlvbnMubG9naW5VcmwpO1xuICAgIGlmIChsb2dpbk9wdGlvbnMuY2hlY2tSZWFkaW5lc3MpIHtcbiAgICAgIGRlYnVnKCdleGVjdXRlIFxcJ2NoZWNrUmVhZGluZXNzXFwnIGludGVyY2VwdG9yIHByb3ZpZGVkIGluIGxvZ2luIG9wdGlvbnMnKTtcbiAgICAgIGF3YWl0IGxvZ2luT3B0aW9ucy5jaGVja1JlYWRpbmVzcygpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGxvZ2luT3B0aW9ucy5zdWJtaXRCdXR0b25TZWxlY3RvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGRlYnVnKCd3YWl0IHVudGlsIHN1Ym1pdCBidXR0b24gaXMgYXZhaWxhYmxlJyk7XG4gICAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCBsb2dpbk9wdGlvbnMuc3VibWl0QnV0dG9uU2VsZWN0b3IpO1xuICAgIH1cblxuICAgIGxldCBsb2dpbkZyYW1lT3JQYWdlOiAoUGFnZSB8IEZyYW1lIHwgbnVsbCkgPSB0aGlzLnBhZ2U7XG4gICAgaWYgKGxvZ2luT3B0aW9ucy5wcmVBY3Rpb24pIHtcbiAgICAgIGRlYnVnKCdleGVjdXRlIFxcJ3ByZUFjdGlvblxcJyBpbnRlcmNlcHRvciBwcm92aWRlZCBpbiBsb2dpbiBvcHRpb25zJyk7XG4gICAgICBsb2dpbkZyYW1lT3JQYWdlID0gYXdhaXQgbG9naW5PcHRpb25zLnByZUFjdGlvbigpIHx8IHRoaXMucGFnZTtcbiAgICB9XG5cbiAgICBkZWJ1ZygnZmlsbCBsb2dpbiBjb21wb25lbnRzIGlucHV0IHdpdGggcmVsZXZhbnQgdmFsdWVzJyk7XG4gICAgYXdhaXQgdGhpcy5maWxsSW5wdXRzKGxvZ2luRnJhbWVPclBhZ2UsIGxvZ2luT3B0aW9ucy5maWVsZHMpO1xuICAgIGRlYnVnKCdjbGljayBvbiBsb2dpbiBzdWJtaXQgYnV0dG9uJyk7XG4gICAgaWYgKHR5cGVvZiBsb2dpbk9wdGlvbnMuc3VibWl0QnV0dG9uU2VsZWN0b3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBhd2FpdCBjbGlja0J1dHRvbihsb2dpbkZyYW1lT3JQYWdlLCBsb2dpbk9wdGlvbnMuc3VibWl0QnV0dG9uU2VsZWN0b3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCBsb2dpbk9wdGlvbnMuc3VibWl0QnV0dG9uU2VsZWN0b3IoKTtcbiAgICB9XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Mb2dnaW5nSW4pO1xuXG4gICAgaWYgKGxvZ2luT3B0aW9ucy5wb3N0QWN0aW9uKSB7XG4gICAgICBkZWJ1ZygnZXhlY3V0ZSBcXCdwb3N0QWN0aW9uXFwnIGludGVyY2VwdG9yIHByb3ZpZGVkIGluIGxvZ2luIG9wdGlvbnMnKTtcbiAgICAgIGF3YWl0IGxvZ2luT3B0aW9ucy5wb3N0QWN0aW9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlYnVnKCd3YWl0IGZvciBwYWdlIG5hdmlnYXRpb24nKTtcbiAgICAgIGF3YWl0IHdhaXRGb3JOYXZpZ2F0aW9uKHRoaXMucGFnZSk7XG4gICAgfVxuXG4gICAgZGVidWcoJ2NoZWNrIGxvZ2luIHJlc3VsdCcpO1xuICAgIGNvbnN0IGN1cnJlbnQgPSBhd2FpdCBnZXRDdXJyZW50VXJsKHRoaXMucGFnZSwgdHJ1ZSk7XG4gICAgY29uc3QgbG9naW5SZXN1bHQgPSBhd2FpdCBnZXRLZXlCeVZhbHVlKGxvZ2luT3B0aW9ucy5wb3NzaWJsZVJlc3VsdHMsIGN1cnJlbnQsIHRoaXMucGFnZSk7XG4gICAgZGVidWcoYGhhbmRsZSBsb2dpbiByZXN1bHRzICR7bG9naW5SZXN1bHR9YCk7XG4gICAgcmV0dXJuIGhhbmRsZUxvZ2luUmVzdWx0KHRoaXMsIGxvZ2luUmVzdWx0KTtcbiAgfVxuXG4gIGFzeW5jIHRlcm1pbmF0ZShfc3VjY2VzczogYm9vbGVhbikge1xuICAgIGRlYnVnKGB0ZXJtaW5hdGluZyBicm93c2VyIHdpdGggc3VjY2VzcyA9ICR7X3N1Y2Nlc3N9YCk7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5UZXJtaW5hdGluZyk7XG5cbiAgICBpZiAoIV9zdWNjZXNzICYmICEhdGhpcy5vcHRpb25zLnN0b3JlRmFpbHVyZVNjcmVlblNob3RQYXRoKSB7XG4gICAgICBkZWJ1ZyhgY3JlYXRlIGEgc25hcHNob3QgYmVmb3JlIHRlcm1pbmF0ZWQgaW4gJHt0aGlzLm9wdGlvbnMuc3RvcmVGYWlsdXJlU2NyZWVuU2hvdFBhdGh9YCk7XG4gICAgICBhd2FpdCB0aGlzLnBhZ2Uuc2NyZWVuc2hvdCh7XG4gICAgICAgIHBhdGg6IHRoaXMub3B0aW9ucy5zdG9yZUZhaWx1cmVTY3JlZW5TaG90UGF0aCxcbiAgICAgICAgZnVsbFBhZ2U6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuYnJvd3Nlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuYnJvd3Nlci5jbG9zZSgpO1xuICB9XG59XG5cbmV4cG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIgfTtcbiJdfQ==
|
|
@@ -76,7 +76,7 @@ export interface ScaperOptions {
|
|
|
76
76
|
*/
|
|
77
77
|
preparePage?: (page: Page) => Promise<void>;
|
|
78
78
|
/**
|
|
79
|
-
* if set, store a
|
|
79
|
+
* if set, store a screenshot if failed to scrape. Used for debug purposes
|
|
80
80
|
*/
|
|
81
81
|
storeFailureScreenShotPath?: string;
|
|
82
82
|
}
|
|
@@ -134,4 +134,4 @@ class BaseScraper {
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
exports.BaseScraper = BaseScraper;
|
|
137
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXIudHMiXSwibmFtZXMiOlsiU0NSQVBFX1BST0dSRVNTIiwiU2NyYXBlckVycm9yVHlwZXMiLCJTY2FwZXJQcm9ncmVzc1R5cGVzIiwiY3JlYXRlRXJyb3JSZXN1bHQiLCJlcnJvclR5cGUiLCJlcnJvck1lc3NhZ2UiLCJzdWNjZXNzIiwiY3JlYXRlVGltZW91dEVycm9yIiwiVGltZW91dCIsImNyZWF0ZUdlbmVyaWNFcnJvciIsIkdlbmVyaWMiLCJCYXNlU2NyYXBlciIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsIkV2ZW50RW1pdHRlciIsImluaXRpYWxpemUiLCJlbWl0UHJvZ3Jlc3MiLCJJbml0aWFsaXppbmciLCJzY3JhcGUiLCJjcmVkZW50aWFscyIsIlN0YXJ0U2NyYXBpbmciLCJsb2dpblJlc3VsdCIsImxvZ2luIiwiZSIsIlRpbWVvdXRFcnJvciIsIm1lc3NhZ2UiLCJzY3JhcGVSZXN1bHQiLCJmZXRjaERhdGEiLCJ0ZXJtaW5hdGUiLCJFbmRTY3JhcGluZyIsIl9jcmVkZW50aWFscyIsIkVycm9yIiwiY29tcGFueUlkIiwiX3N1Y2Nlc3MiLCJUZXJtaW5hdGluZyIsInR5cGUiLCJlbWl0IiwiZXZlbnROYW1lIiwicGF5bG9hZCIsImV2ZW50RW1pdHRlciIsIm9uUHJvZ3Jlc3MiLCJmdW5jIiwib24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBOzs7O0FBSUEsTUFBTUEsZUFBZSxHQUFHLGlCQUF4QjtJQUVZQyxpQjs7O1dBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0dBQUFBLGlCLGlDQUFBQSxpQjs7SUFnR0FDLG1COzs7V0FBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7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Q0QsR0F6RHNCLENBMkR2Qjs7O0FBQ0EsUUFBTUosU0FBTixDQUFnQkssUUFBaEIsRUFBbUM7QUFDakMsU0FBS2pCLFlBQUwsQ0FBa0JkLG1CQUFtQixDQUFDZ0MsV0FBdEM7QUFDRDs7QUFFRGxCLEVBQUFBLFlBQVksQ0FBQ21CLElBQUQsRUFBNEI7QUFDdEMsU0FBS0MsSUFBTCxDQUFVcEMsZUFBVixFQUEyQjtBQUFFbUMsTUFBQUE7QUFBRixLQUEzQjtBQUNEOztBQUVEQyxFQUFBQSxJQUFJLENBQUNDLFNBQUQsRUFBb0JDLE9BQXBCLEVBQWtEO0FBQ3BELFNBQUtDLFlBQUwsQ0FBa0JILElBQWxCLENBQXVCQyxTQUF2QixFQUFrQyxLQUFLeEIsT0FBTCxDQUFhbUIsU0FBL0MsRUFBMERNLE9BQTFEO0FBQ0Q7O0FBRURFLEVBQUFBLFVBQVUsQ0FBQ0MsSUFBRCxFQUFpQztBQUN6QyxTQUFLRixZQUFMLENBQWtCRyxFQUFsQixDQUFxQjFDLGVBQXJCLEVBQXNDeUMsSUFBdEM7QUFDRDs7QUExRXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRzJztcbmltcG9ydCB7IEJyb3dzZXIsIFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IHsgVGltZW91dEVycm9yIH0gZnJvbSAnLi4vaGVscGVycy93YWl0aW5nJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uc0FjY291bnQgfSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgQ29tcGFueVR5cGVzIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuXG5jb25zdCBTQ1JBUEVfUFJPR1JFU1MgPSAnU0NSQVBFX1BST0dSRVNTJztcblxuZXhwb3J0IGVudW0gU2NyYXBlckVycm9yVHlwZXMge1xuICBJbnZhbGlkUGFzc3dvcmQgPSdJTlZBTElEX1BBU1NXT1JEJyxcbiAgQ2hhbmdlUGFzc3dvcmQgPSAnQ0hBTkdFX1BBU1NXT1JEJyxcbiAgVGltZW91dCA9ICdUSU1FT1VUJyxcbiAgQWNjb3VudEJsb2NrZWQgPSAnQUNDT1VOVF9CTE9DS0VEJyxcbiAgR2VuZXJpYyA9ICdHRU5FUklDJyxcbiAgR2VuZXJhbCA9ICdHRU5FUkFMX0VSUk9SJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjYXBlckxvZ2luUmVzdWx0IHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgZXJyb3JUeXBlPzogU2NyYXBlckVycm9yVHlwZXM7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZzsgLy8gb25seSBvbiBzdWNjZXNzPWZhbHNlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NhcGVyU2NyYXBpbmdSZXN1bHQge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBhY2NvdW50cz86IFRyYW5zYWN0aW9uc0FjY291bnRbXTtcbiAgZXJyb3JUeXBlPzogU2NyYXBlckVycm9yVHlwZXM7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZzsgLy8gb25seSBvbiBzdWNjZXNzPWZhbHNlXG59XG5cbmV4cG9ydCB0eXBlIFNjcmFwZXJDcmVkZW50aWFscyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NhcGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY29tcGFueSB5b3Ugd2FudCB0byBzY3JhcGVcbiAgICovXG4gIGNvbXBhbnlJZDogQ29tcGFueVR5cGVzO1xuXG4gIC8qKlxuICAgKiBpbmNsdWRlIG1vcmUgZGVidWcgaW5mbyBhYm91dCBpbiB0aGUgb3V0cHV0XG4gICAqL1xuICB2ZXJib3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogdGhlIGRhdGUgdG8gZmV0Y2ggdHJhbnNhY3Rpb25zIGZyb20gKGNhbid0IGJlIGJlZm9yZSB0aGUgbWluaW11bSBhbGxvd2VkIHRpbWUgZGlmZmVyZW5jZSBmb3IgdGhlIHNjcmFwZXIpXG4gICAqL1xuICBzdGFydERhdGU6IERhdGU7XG5cbiAgLyoqXG4gICAqIHNob3dzIHRoZSBicm93c2VyIHdoaWxlIHNjcmFwaW5nLCBnb29kIGZvciBkZWJ1Z2dpbmcgKGRlZmF1bHQgZmFsc2UpXG4gICAqL1xuICBzaG93QnJvd3Nlcj86IGJvb2xlYW47XG5cblxuICAvKipcbiAgICogc2NyYXBlIHRyYW5zYWN0aW9ucyB0byBiZSBwcm9jZXNzZWQgWCBtb250aHMgaW4gdGhlIGZ1dHVyZVxuICAgKi9cbiAgZnV0dXJlTW9udGhzVG9TY3JhcGU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIG9wdGlvbiBmcm9tIGluaXQgcHVwcGV0ZWVyIGJyb3dzZXIgaW5zdGFuY2Ugb3V0c2lkZSB0aGUgbGliYXJ5IHNjb3BlLiB5b3UgY2FuIGdldFxuICAgKiBicm93c2VyIGRpcmV0bHkgZnJvbSBwdXBwZXRlZXIgdmlhIGBwdXBwZXRlZXIubGF1bmNoKClgXG4gICAqL1xuICBicm93c2VyPzogYW55O1xuXG4gIC8qKlxuICAgKiBwcm92aWRlIGEgcGF0Y2ggdG8gbG9jYWwgY2hyb21pdW0gdG8gYmUgdXNlZCBieSBwdXBwZXRlZXIuIFJlbGV2YW50IHdoZW4gdXNpbmdcbiAgICogYGlzcmFlbGktYmFuay1zY3JhcGVycy1jb3JlYCBsaWJyYXJ5XG4gICAqL1xuICBleGVjdXRhYmxlUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogaWYgc2V0IHRvIHRydWUsIGFsbCBpbnN0YWxsbWVudCB0cmFuc2FjdGlvbnMgd2lsbCBiZSBjb21iaW5lIGludG8gdGhlIGZpcnN0IG9uZVxuICAgKi9cbiAgY29tYmluZUluc3RhbGxtZW50cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIGJyb3dzZXIgaW5zdGFuY2UuIFRoZSBsaXN0IG9mIGZsYWdzIGNhbiBiZSBmb3VuZCBpblxuICAgKlxuICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL01vemlsbGEvQ29tbWFuZF9MaW5lX09wdGlvbnNcbiAgICogaHR0cHM6Ly9wZXRlci5zaC9leHBlcmltZW50cy9jaHJvbWl1bS1jb21tYW5kLWxpbmUtc3dpdGNoZXMvXG4gICAqL1xuICBhcmdzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIGFkanVzdCB0aGUgYnJvd3NlciBpbnN0YW5jZSBiZWZvcmUgaXQgaXMgYmVpbmcgdXNlZFxuICAgKlxuICAgKiBAcGFyYW0gYnJvd3NlclxuICAgKi9cbiAgcHJlcGFyZUJyb3dzZXI/OiAoYnJvd3NlcjogQnJvd3NlcikgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogYWRqdXN0IHRoZSBwYWdlIGluc3RhbmNlIGJlZm9yZSBpdCBpcyBiZWluZyB1c2VkLlxuICAgKlxuICAgKiBAcGFyYW0gcGFnZVxuICAgKi9cbiAgcHJlcGFyZVBhZ2U/OiAocGFnZTogUGFnZSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogaWYgc2V0LCBzdG9yZSBhIHNjcmVuc2hvdCBpZiBmYWlsZWQgdG8gc2NyYXBlLiBVc2VkIGZvciBkZWJ1ZyBwdXJwb3Nlc1xuICAgKi9cbiAgc3RvcmVGYWlsdXJlU2NyZWVuU2hvdFBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFNjYXBlclByb2dyZXNzVHlwZXMge1xuICBJbml0aWFsaXppbmcgPSAnSU5JVElBTElaSU5HJyxcbiAgU3RhcnRTY3JhcGluZyA9ICdTVEFSVF9TQ1JBUElORycsXG4gIExvZ2dpbmdJbiA9ICdMT0dHSU5HX0lOJyxcbiAgTG9naW5TdWNjZXNzID0gJ0xPR0lOX1NVQ0NFU1MnLFxuICBMb2dpbkZhaWxlZCA9ICdMT0dJTl9GQUlMRUQnLFxuICBDaGFuZ2VQYXNzd29yZCA9ICdDSEFOR0VfUEFTU1dPUkQnLFxuICBFbmRTY3JhcGluZyA9ICdFTkRfU0NSQVBJTkcnLFxuICBUZXJtaW5hdGluZyA9ICdURVJNSU5BVElORycsXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUVycm9yUmVzdWx0KGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMsIGVycm9yTWVzc2FnZTogc3RyaW5nKSB7XG4gIHJldHVybiB7XG4gICAgc3VjY2VzczogZmFsc2UsXG4gICAgZXJyb3JUeXBlLFxuICAgIGVycm9yTWVzc2FnZSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlVGltZW91dEVycm9yKGVycm9yTWVzc2FnZTogc3RyaW5nKSB7XG4gIHJldHVybiBjcmVhdGVFcnJvclJlc3VsdChTY3JhcGVyRXJyb3JUeXBlcy5UaW1lb3V0LCBlcnJvck1lc3NhZ2UpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVHZW5lcmljRXJyb3IoZXJyb3JNZXNzYWdlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyaWMsIGVycm9yTWVzc2FnZSk7XG59XG5cbmV4cG9ydCBjbGFzcyBCYXNlU2NyYXBlciB7XG4gIHByaXZhdGUgZXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvcHRpb25zOiBTY2FwZXJPcHRpb25zKSB7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIGFzeW5jIGluaXRpYWxpemUoKSB7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Jbml0aWFsaXppbmcpO1xuICB9XG5cbiAgYXN5bmMgc2NyYXBlKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpOiBQcm9taXNlPFNjYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5TdGFydFNjcmFwaW5nKTtcbiAgICBhd2FpdCB0aGlzLmluaXRpYWxpemUoKTtcblxuICAgIGxldCBsb2dpblJlc3VsdDtcbiAgICB0cnkge1xuICAgICAgbG9naW5SZXN1bHQgPSBhd2FpdCB0aGlzLmxvZ2luKGNyZWRlbnRpYWxzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBsb2dpblJlc3VsdCA9IGUgaW5zdGFuY2VvZiBUaW1lb3V0RXJyb3IgP1xuICAgICAgICBjcmVhdGVUaW1lb3V0RXJyb3IoZS5tZXNzYWdlKSA6XG4gICAgICAgIGNyZWF0ZUdlbmVyaWNFcnJvcihlLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGxldCBzY3JhcGVSZXN1bHQ7XG4gICAgaWYgKGxvZ2luUmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNjcmFwZVJlc3VsdCA9IGF3YWl0IHRoaXMuZmV0Y2hEYXRhKCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHNjcmFwZVJlc3VsdCA9XG4gICAgICAgICAgZSBpbnN0YW5jZW9mIFRpbWVvdXRFcnJvciA/XG4gICAgICAgICAgICBjcmVhdGVUaW1lb3V0RXJyb3IoZS5tZXNzYWdlKSA6XG4gICAgICAgICAgICBjcmVhdGVHZW5lcmljRXJyb3IoZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2NyYXBlUmVzdWx0ID0gbG9naW5SZXN1bHQ7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBzY3JhcGVSZXN1bHQgJiYgc2NyYXBlUmVzdWx0LnN1Y2Nlc3MgPT09IHRydWU7XG4gICAgICBhd2FpdCB0aGlzLnRlcm1pbmF0ZShzdWNjZXNzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBzY3JhcGVSZXN1bHQgPSBjcmVhdGVHZW5lcmljRXJyb3IoZS5tZXNzYWdlKTtcbiAgICB9XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5FbmRTY3JhcGluZyk7XG5cbiAgICByZXR1cm4gc2NyYXBlUmVzdWx0O1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcbiAgYXN5bmMgbG9naW4oX2NyZWRlbnRpYWxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTxTY2FwZXJMb2dpblJlc3VsdD4ge1xuICAgIHRocm93IG5ldyBFcnJvcihgbG9naW4oKSBpcyBub3QgY3JlYXRlZCBpbiAke3RoaXMub3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIGFzeW5jIGZldGNoRGF0YSgpOiBQcm9taXNlPFNjYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBmZXRjaERhdGEoKSBpcyBub3QgY3JlYXRlZCBpbiAke3RoaXMub3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdFxuICBhc3luYyB0ZXJtaW5hdGUoX3N1Y2Nlc3M6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLlRlcm1pbmF0aW5nKTtcbiAgfVxuXG4gIGVtaXRQcm9ncmVzcyh0eXBlOiBTY2FwZXJQcm9ncmVzc1R5cGVzKSB7XG4gICAgdGhpcy5lbWl0KFNDUkFQRV9QUk9HUkVTUywgeyB0eXBlIH0pO1xuICB9XG5cbiAgZW1pdChldmVudE5hbWU6IHN0cmluZywgcGF5bG9hZDogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHRoaXMuZXZlbnRFbWl0dGVyLmVtaXQoZXZlbnROYW1lLCB0aGlzLm9wdGlvbnMuY29tcGFueUlkLCBwYXlsb2FkKTtcbiAgfVxuXG4gIG9uUHJvZ3Jlc3MoZnVuYzogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5ldmVudEVtaXR0ZXIub24oU0NSQVBFX1BST0dSRVNTLCBmdW5jKTtcbiAgfVxufVxuIl19
|
|
137
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXIudHMiXSwibmFtZXMiOlsiU0NSQVBFX1BST0dSRVNTIiwiU2NyYXBlckVycm9yVHlwZXMiLCJTY2FwZXJQcm9ncmVzc1R5cGVzIiwiY3JlYXRlRXJyb3JSZXN1bHQiLCJlcnJvclR5cGUiLCJlcnJvck1lc3NhZ2UiLCJzdWNjZXNzIiwiY3JlYXRlVGltZW91dEVycm9yIiwiVGltZW91dCIsImNyZWF0ZUdlbmVyaWNFcnJvciIsIkdlbmVyaWMiLCJCYXNlU2NyYXBlciIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsIkV2ZW50RW1pdHRlciIsImluaXRpYWxpemUiLCJlbWl0UHJvZ3Jlc3MiLCJJbml0aWFsaXppbmciLCJzY3JhcGUiLCJjcmVkZW50aWFscyIsIlN0YXJ0U2NyYXBpbmciLCJsb2dpblJlc3VsdCIsImxvZ2luIiwiZSIsIlRpbWVvdXRFcnJvciIsIm1lc3NhZ2UiLCJzY3JhcGVSZXN1bHQiLCJmZXRjaERhdGEiLCJ0ZXJtaW5hdGUiLCJFbmRTY3JhcGluZyIsIl9jcmVkZW50aWFscyIsIkVycm9yIiwiY29tcGFueUlkIiwiX3N1Y2Nlc3MiLCJUZXJtaW5hdGluZyIsInR5cGUiLCJlbWl0IiwiZXZlbnROYW1lIiwicGF5bG9hZCIsImV2ZW50RW1pdHRlciIsIm9uUHJvZ3Jlc3MiLCJmdW5jIiwib24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBOzs7O0FBSUEsTUFBTUEsZUFBZSxHQUFHLGlCQUF4QjtJQUVZQyxpQjs7O1dBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0dBQUFBLGlCLGlDQUFBQSxpQjs7SUFpR0FDLG1COzs7V0FBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7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Q0QsR0F6RHNCLENBMkR2Qjs7O0FBQ0EsUUFBTUosU0FBTixDQUFnQkssUUFBaEIsRUFBbUM7QUFDakMsU0FBS2pCLFlBQUwsQ0FBa0JkLG1CQUFtQixDQUFDZ0MsV0FBdEM7QUFDRDs7QUFFRGxCLEVBQUFBLFlBQVksQ0FBQ21CLElBQUQsRUFBNEI7QUFDdEMsU0FBS0MsSUFBTCxDQUFVcEMsZUFBVixFQUEyQjtBQUFFbUMsTUFBQUE7QUFBRixLQUEzQjtBQUNEOztBQUVEQyxFQUFBQSxJQUFJLENBQUNDLFNBQUQsRUFBb0JDLE9BQXBCLEVBQWtEO0FBQ3BELFNBQUtDLFlBQUwsQ0FBa0JILElBQWxCLENBQXVCQyxTQUF2QixFQUFrQyxLQUFLeEIsT0FBTCxDQUFhbUIsU0FBL0MsRUFBMERNLE9BQTFEO0FBQ0Q7O0FBRURFLEVBQUFBLFVBQVUsQ0FBQ0MsSUFBRCxFQUFpQztBQUN6QyxTQUFLRixZQUFMLENBQWtCRyxFQUFsQixDQUFxQjFDLGVBQXJCLEVBQXNDeUMsSUFBdEM7QUFDRDs7QUExRXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRzJztcbmltcG9ydCB7IEJyb3dzZXIsIFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IHsgVGltZW91dEVycm9yIH0gZnJvbSAnLi4vaGVscGVycy93YWl0aW5nJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uc0FjY291bnQgfSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgQ29tcGFueVR5cGVzIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuXG5jb25zdCBTQ1JBUEVfUFJPR1JFU1MgPSAnU0NSQVBFX1BST0dSRVNTJztcblxuZXhwb3J0IGVudW0gU2NyYXBlckVycm9yVHlwZXMge1xuICBJbnZhbGlkUGFzc3dvcmQgPSdJTlZBTElEX1BBU1NXT1JEJyxcbiAgQ2hhbmdlUGFzc3dvcmQgPSAnQ0hBTkdFX1BBU1NXT1JEJyxcbiAgVGltZW91dCA9ICdUSU1FT1VUJyxcbiAgQWNjb3VudEJsb2NrZWQgPSAnQUNDT1VOVF9CTE9DS0VEJyxcbiAgR2VuZXJpYyA9ICdHRU5FUklDJyxcbiAgR2VuZXJhbCA9ICdHRU5FUkFMX0VSUk9SJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjYXBlckxvZ2luUmVzdWx0IHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgZXJyb3JUeXBlPzogU2NyYXBlckVycm9yVHlwZXM7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZzsgLy8gb25seSBvbiBzdWNjZXNzPWZhbHNlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NhcGVyU2NyYXBpbmdSZXN1bHQge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBhY2NvdW50cz86IFRyYW5zYWN0aW9uc0FjY291bnRbXTtcbiAgZXJyb3JUeXBlPzogU2NyYXBlckVycm9yVHlwZXM7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZzsgLy8gb25seSBvbiBzdWNjZXNzPWZhbHNlXG59XG5cbmV4cG9ydCB0eXBlIFNjcmFwZXJDcmVkZW50aWFscyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NhcGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY29tcGFueSB5b3Ugd2FudCB0byBzY3JhcGVcbiAgICovXG4gIGNvbXBhbnlJZDogQ29tcGFueVR5cGVzO1xuXG4gIC8qKlxuICAgKiBpbmNsdWRlIG1vcmUgZGVidWcgaW5mbyBhYm91dCBpbiB0aGUgb3V0cHV0XG4gICAqL1xuICB2ZXJib3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogdGhlIGRhdGUgdG8gZmV0Y2ggdHJhbnNhY3Rpb25zIGZyb20gKGNhbid0IGJlIGJlZm9yZSB0aGUgbWluaW11bSBhbGxvd2VkIHRpbWUgZGlmZmVyZW5jZSBmb3IgdGhlIHNjcmFwZXIpXG4gICAqL1xuICBzdGFydERhdGU6IERhdGU7XG5cbiAgLyoqXG4gICAqIHNob3dzIHRoZSBicm93c2VyIHdoaWxlIHNjcmFwaW5nLCBnb29kIGZvciBkZWJ1Z2dpbmcgKGRlZmF1bHQgZmFsc2UpXG4gICAqL1xuICBzaG93QnJvd3Nlcj86IGJvb2xlYW47XG5cblxuICAvKipcbiAgICogc2NyYXBlIHRyYW5zYWN0aW9ucyB0byBiZSBwcm9jZXNzZWQgWCBtb250aHMgaW4gdGhlIGZ1dHVyZVxuICAgKi9cbiAgZnV0dXJlTW9udGhzVG9TY3JhcGU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIG9wdGlvbiBmcm9tIGluaXQgcHVwcGV0ZWVyIGJyb3dzZXIgaW5zdGFuY2Ugb3V0c2lkZSB0aGUgbGliYXJ5IHNjb3BlLiB5b3UgY2FuIGdldFxuICAgKiBicm93c2VyIGRpcmV0bHkgZnJvbSBwdXBwZXRlZXIgdmlhIGBwdXBwZXRlZXIubGF1bmNoKClgXG4gICAqL1xuICBicm93c2VyPzogYW55O1xuXG4gIC8qKlxuICAgKiBwcm92aWRlIGEgcGF0Y2ggdG8gbG9jYWwgY2hyb21pdW0gdG8gYmUgdXNlZCBieSBwdXBwZXRlZXIuIFJlbGV2YW50IHdoZW4gdXNpbmdcbiAgICogYGlzcmFlbGktYmFuay1zY3JhcGVycy1jb3JlYCBsaWJyYXJ5XG4gICAqL1xuICBleGVjdXRhYmxlUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogaWYgc2V0IHRvIHRydWUsIGFsbCBpbnN0YWxsbWVudCB0cmFuc2FjdGlvbnMgd2lsbCBiZSBjb21iaW5lIGludG8gdGhlIGZpcnN0IG9uZVxuICAgKi9cbiAgY29tYmluZUluc3RhbGxtZW50cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIGJyb3dzZXIgaW5zdGFuY2UuIFRoZSBsaXN0IG9mIGZsYWdzIGNhbiBiZSBmb3VuZCBpblxuICAgKlxuICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL01vemlsbGEvQ29tbWFuZF9MaW5lX09wdGlvbnNcbiAgICogaHR0cHM6Ly9wZXRlci5zaC9leHBlcmltZW50cy9jaHJvbWl1bS1jb21tYW5kLWxpbmUtc3dpdGNoZXMvXG4gICAqL1xuICBhcmdzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIGFkanVzdCB0aGUgYnJvd3NlciBpbnN0YW5jZSBiZWZvcmUgaXQgaXMgYmVpbmcgdXNlZFxuICAgKlxuICAgKiBAcGFyYW0gYnJvd3NlclxuICAgKi9cbiAgcHJlcGFyZUJyb3dzZXI/OiAoYnJvd3NlcjogQnJvd3NlcikgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogYWRqdXN0IHRoZSBwYWdlIGluc3RhbmNlIGJlZm9yZSBpdCBpcyBiZWluZyB1c2VkLlxuICAgKlxuICAgKiBAcGFyYW0gcGFnZVxuICAgKi9cbiAgcHJlcGFyZVBhZ2U/OiAocGFnZTogUGFnZSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogaWYgc2V0LCBzdG9yZSBhIHNjcmVlbnNob3QgaWYgZmFpbGVkIHRvIHNjcmFwZS4gVXNlZCBmb3IgZGVidWcgcHVycG9zZXNcbiAgICovXG4gIHN0b3JlRmFpbHVyZVNjcmVlblNob3RQYXRoPzogc3RyaW5nO1xuXG59XG5cbmV4cG9ydCBlbnVtIFNjYXBlclByb2dyZXNzVHlwZXMge1xuICBJbml0aWFsaXppbmcgPSAnSU5JVElBTElaSU5HJyxcbiAgU3RhcnRTY3JhcGluZyA9ICdTVEFSVF9TQ1JBUElORycsXG4gIExvZ2dpbmdJbiA9ICdMT0dHSU5HX0lOJyxcbiAgTG9naW5TdWNjZXNzID0gJ0xPR0lOX1NVQ0NFU1MnLFxuICBMb2dpbkZhaWxlZCA9ICdMT0dJTl9GQUlMRUQnLFxuICBDaGFuZ2VQYXNzd29yZCA9ICdDSEFOR0VfUEFTU1dPUkQnLFxuICBFbmRTY3JhcGluZyA9ICdFTkRfU0NSQVBJTkcnLFxuICBUZXJtaW5hdGluZyA9ICdURVJNSU5BVElORycsXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUVycm9yUmVzdWx0KGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMsIGVycm9yTWVzc2FnZTogc3RyaW5nKSB7XG4gIHJldHVybiB7XG4gICAgc3VjY2VzczogZmFsc2UsXG4gICAgZXJyb3JUeXBlLFxuICAgIGVycm9yTWVzc2FnZSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlVGltZW91dEVycm9yKGVycm9yTWVzc2FnZTogc3RyaW5nKSB7XG4gIHJldHVybiBjcmVhdGVFcnJvclJlc3VsdChTY3JhcGVyRXJyb3JUeXBlcy5UaW1lb3V0LCBlcnJvck1lc3NhZ2UpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVHZW5lcmljRXJyb3IoZXJyb3JNZXNzYWdlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyaWMsIGVycm9yTWVzc2FnZSk7XG59XG5cbmV4cG9ydCBjbGFzcyBCYXNlU2NyYXBlciB7XG4gIHByaXZhdGUgZXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvcHRpb25zOiBTY2FwZXJPcHRpb25zKSB7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIGFzeW5jIGluaXRpYWxpemUoKSB7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Jbml0aWFsaXppbmcpO1xuICB9XG5cbiAgYXN5bmMgc2NyYXBlKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpOiBQcm9taXNlPFNjYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5TdGFydFNjcmFwaW5nKTtcbiAgICBhd2FpdCB0aGlzLmluaXRpYWxpemUoKTtcblxuICAgIGxldCBsb2dpblJlc3VsdDtcbiAgICB0cnkge1xuICAgICAgbG9naW5SZXN1bHQgPSBhd2FpdCB0aGlzLmxvZ2luKGNyZWRlbnRpYWxzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBsb2dpblJlc3VsdCA9IGUgaW5zdGFuY2VvZiBUaW1lb3V0RXJyb3IgP1xuICAgICAgICBjcmVhdGVUaW1lb3V0RXJyb3IoZS5tZXNzYWdlKSA6XG4gICAgICAgIGNyZWF0ZUdlbmVyaWNFcnJvcihlLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGxldCBzY3JhcGVSZXN1bHQ7XG4gICAgaWYgKGxvZ2luUmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNjcmFwZVJlc3VsdCA9IGF3YWl0IHRoaXMuZmV0Y2hEYXRhKCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHNjcmFwZVJlc3VsdCA9XG4gICAgICAgICAgZSBpbnN0YW5jZW9mIFRpbWVvdXRFcnJvciA/XG4gICAgICAgICAgICBjcmVhdGVUaW1lb3V0RXJyb3IoZS5tZXNzYWdlKSA6XG4gICAgICAgICAgICBjcmVhdGVHZW5lcmljRXJyb3IoZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2NyYXBlUmVzdWx0ID0gbG9naW5SZXN1bHQ7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBzY3JhcGVSZXN1bHQgJiYgc2NyYXBlUmVzdWx0LnN1Y2Nlc3MgPT09IHRydWU7XG4gICAgICBhd2FpdCB0aGlzLnRlcm1pbmF0ZShzdWNjZXNzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBzY3JhcGVSZXN1bHQgPSBjcmVhdGVHZW5lcmljRXJyb3IoZS5tZXNzYWdlKTtcbiAgICB9XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5FbmRTY3JhcGluZyk7XG5cbiAgICByZXR1cm4gc2NyYXBlUmVzdWx0O1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcbiAgYXN5bmMgbG9naW4oX2NyZWRlbnRpYWxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTxTY2FwZXJMb2dpblJlc3VsdD4ge1xuICAgIHRocm93IG5ldyBFcnJvcihgbG9naW4oKSBpcyBub3QgY3JlYXRlZCBpbiAke3RoaXMub3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIGFzeW5jIGZldGNoRGF0YSgpOiBQcm9taXNlPFNjYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBmZXRjaERhdGEoKSBpcyBub3QgY3JlYXRlZCBpbiAke3RoaXMub3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdFxuICBhc3luYyB0ZXJtaW5hdGUoX3N1Y2Nlc3M6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLlRlcm1pbmF0aW5nKTtcbiAgfVxuXG4gIGVtaXRQcm9ncmVzcyh0eXBlOiBTY2FwZXJQcm9ncmVzc1R5cGVzKSB7XG4gICAgdGhpcy5lbWl0KFNDUkFQRV9QUk9HUkVTUywgeyB0eXBlIH0pO1xuICB9XG5cbiAgZW1pdChldmVudE5hbWU6IHN0cmluZywgcGF5bG9hZDogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHRoaXMuZXZlbnRFbWl0dGVyLmVtaXQoZXZlbnROYW1lLCB0aGlzLm9wdGlvbnMuY29tcGFueUlkLCBwYXlsb2FkKTtcbiAgfVxuXG4gIG9uUHJvZ3Jlc3MoZnVuYzogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5ldmVudEVtaXR0ZXIub24oU0NSQVBFX1BST0dSRVNTLCBmdW5jKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseScraperWithBrowser, PossibleLoginResults } from './base-scraper-with-browser';
|
|
2
|
+
import { ScraperCredentials } from './base-scraper';
|
|
3
|
+
import { Transaction } from '../transactions';
|
|
4
|
+
declare class BeyahadBishvilhaScraper extends BaseScraperWithBrowser {
|
|
5
|
+
protected getViewPort(): {
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
};
|
|
9
|
+
getLoginOptions(credentials: ScraperCredentials): {
|
|
10
|
+
loginUrl: string;
|
|
11
|
+
fields: {
|
|
12
|
+
selector: string;
|
|
13
|
+
value: string;
|
|
14
|
+
}[];
|
|
15
|
+
submitButtonSelector: () => Promise<void>;
|
|
16
|
+
possibleResults: PossibleLoginResults;
|
|
17
|
+
};
|
|
18
|
+
fetchData(): Promise<{
|
|
19
|
+
success: boolean;
|
|
20
|
+
accounts: {
|
|
21
|
+
accountNumber: any;
|
|
22
|
+
balance: number;
|
|
23
|
+
txns: Transaction[];
|
|
24
|
+
}[];
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
export default BeyahadBishvilhaScraper;
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.description");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.array.iterator");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.promise");
|
|
8
|
+
|
|
9
|
+
require("core-js/modules/es.string.replace");
|
|
10
|
+
|
|
11
|
+
Object.defineProperty(exports, "__esModule", {
|
|
12
|
+
value: true
|
|
13
|
+
});
|
|
14
|
+
exports.default = void 0;
|
|
15
|
+
|
|
16
|
+
var _moment = _interopRequireDefault(require("moment"));
|
|
17
|
+
|
|
18
|
+
var _baseScraperWithBrowser = require("./base-scraper-with-browser");
|
|
19
|
+
|
|
20
|
+
var _transactions = require("../transactions");
|
|
21
|
+
|
|
22
|
+
var _elementsInteractions = require("../helpers/elements-interactions");
|
|
23
|
+
|
|
24
|
+
var _debug = require("../helpers/debug");
|
|
25
|
+
|
|
26
|
+
var _transactions2 = require("../helpers/transactions");
|
|
27
|
+
|
|
28
|
+
var _constants = require("../constants");
|
|
29
|
+
|
|
30
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
|
+
|
|
32
|
+
const debug = (0, _debug.getDebug)('beyahadBishvilha');
|
|
33
|
+
const DATE_FORMAT = 'DD/MM/YY';
|
|
34
|
+
const LOGIN_URL = 'https://www.hist.org.il/login';
|
|
35
|
+
const SUCCESS_URL = 'https://www.hist.org.il/';
|
|
36
|
+
const CARD_URL = 'https://www.hist.org.il/card/balanceAndUses';
|
|
37
|
+
|
|
38
|
+
function getAmountData(amountStr) {
|
|
39
|
+
const amountStrCln = amountStr.replace(',', '');
|
|
40
|
+
let currency = null;
|
|
41
|
+
let amount = null;
|
|
42
|
+
|
|
43
|
+
if (amountStrCln.includes(_constants.SHEKEL_CURRENCY_SYMBOL)) {
|
|
44
|
+
amount = parseFloat(amountStrCln.replace(_constants.SHEKEL_CURRENCY_SYMBOL, ''));
|
|
45
|
+
currency = _constants.SHEKEL_CURRENCY;
|
|
46
|
+
} else if (amountStrCln.includes(_constants.DOLLAR_CURRENCY_SYMBOL)) {
|
|
47
|
+
amount = parseFloat(amountStrCln.replace(_constants.DOLLAR_CURRENCY_SYMBOL, ''));
|
|
48
|
+
currency = _constants.DOLLAR_CURRENCY;
|
|
49
|
+
} else if (amountStrCln.includes(_constants.EURO_CURRENCY_SYMBOL)) {
|
|
50
|
+
amount = parseFloat(amountStrCln.replace(_constants.EURO_CURRENCY_SYMBOL, ''));
|
|
51
|
+
currency = _constants.EURO_CURRENCY;
|
|
52
|
+
} else {
|
|
53
|
+
const parts = amountStrCln.split(' ');
|
|
54
|
+
[currency] = parts;
|
|
55
|
+
amount = parseFloat(parts[1]);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return {
|
|
59
|
+
amount,
|
|
60
|
+
currency
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function convertTransactions(txns) {
|
|
65
|
+
debug(`convert ${txns.length} raw transactions to official Transaction structure`);
|
|
66
|
+
return txns.map(txn => {
|
|
67
|
+
const chargedAmountTuple = getAmountData(txn.chargedAmount || '');
|
|
68
|
+
const txnProcessedDate = (0, _moment.default)(txn.date, DATE_FORMAT);
|
|
69
|
+
const result = {
|
|
70
|
+
type: _transactions.TransactionTypes.Normal,
|
|
71
|
+
status: _transactions.TransactionStatuses.Completed,
|
|
72
|
+
date: txnProcessedDate.toISOString(),
|
|
73
|
+
processedDate: txnProcessedDate.toISOString(),
|
|
74
|
+
originalAmount: chargedAmountTuple.amount,
|
|
75
|
+
originalCurrency: chargedAmountTuple.currency,
|
|
76
|
+
chargedAmount: chargedAmountTuple.amount,
|
|
77
|
+
chargedCurrency: chargedAmountTuple.currency,
|
|
78
|
+
description: txn.description || '',
|
|
79
|
+
memo: '',
|
|
80
|
+
identifier: txn.identifier
|
|
81
|
+
};
|
|
82
|
+
return result;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
async function fetchTransactions(page, options) {
|
|
87
|
+
await page.goto(CARD_URL);
|
|
88
|
+
await (0, _elementsInteractions.waitUntilElementFound)(page, '.react-loading.hide', false);
|
|
89
|
+
const defaultStartMoment = (0, _moment.default)().subtract(1, 'years');
|
|
90
|
+
const startDate = options.startDate || defaultStartMoment.toDate();
|
|
91
|
+
|
|
92
|
+
const startMoment = _moment.default.max(defaultStartMoment, (0, _moment.default)(startDate));
|
|
93
|
+
|
|
94
|
+
const accountNumber = await (0, _elementsInteractions.pageEval)(page, '.wallet-details div:nth-of-type(2)', null, element => {
|
|
95
|
+
return element.innerText.replace('מספר כרטיס ', '');
|
|
96
|
+
});
|
|
97
|
+
const balance = await (0, _elementsInteractions.pageEval)(page, '.wallet-details div:nth-of-type(4) > span:nth-of-type(2)', null, element => {
|
|
98
|
+
return element.innerText;
|
|
99
|
+
});
|
|
100
|
+
debug('fetch raw transactions from page');
|
|
101
|
+
const rawTransactions = await (0, _elementsInteractions.pageEvalAll)(page, '.transaction-container, .transaction-component-container', [], items => {
|
|
102
|
+
return items.map(el => {
|
|
103
|
+
const columns = el.querySelectorAll('.transaction-item > span');
|
|
104
|
+
|
|
105
|
+
if (columns.length === 7) {
|
|
106
|
+
return {
|
|
107
|
+
date: columns[0].innerText,
|
|
108
|
+
identifier: columns[1].innerText,
|
|
109
|
+
description: columns[3].innerText,
|
|
110
|
+
type: columns[5].innerText,
|
|
111
|
+
chargedAmount: columns[6].innerText
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return null;
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
debug(`fetched ${rawTransactions.length} raw transactions from page`);
|
|
119
|
+
const accountTransactions = convertTransactions(rawTransactions.filter(item => !!item));
|
|
120
|
+
debug('filer out old transactions');
|
|
121
|
+
const txns = (0, _transactions2.filterOldTransactions)(accountTransactions, startMoment, false);
|
|
122
|
+
debug(`found ${txns.length} valid transactions out of ${accountTransactions.length} transactions for account ending with ${accountNumber.substring(accountNumber.length - 2)}`);
|
|
123
|
+
return {
|
|
124
|
+
accountNumber,
|
|
125
|
+
balance: getAmountData(balance).amount,
|
|
126
|
+
txns
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function getPossibleLoginResults() {
|
|
131
|
+
const urls = {};
|
|
132
|
+
urls[_baseScraperWithBrowser.LoginResults.Success] = [SUCCESS_URL];
|
|
133
|
+
urls[_baseScraperWithBrowser.LoginResults.ChangePassword] = []; // TODO
|
|
134
|
+
|
|
135
|
+
urls[_baseScraperWithBrowser.LoginResults.InvalidPassword] = []; // TODO
|
|
136
|
+
|
|
137
|
+
urls[_baseScraperWithBrowser.LoginResults.UnknownError] = []; // TODO
|
|
138
|
+
|
|
139
|
+
return urls;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function createLoginFields(credentials) {
|
|
143
|
+
return [{
|
|
144
|
+
selector: '#loginId',
|
|
145
|
+
value: credentials.id
|
|
146
|
+
}, {
|
|
147
|
+
selector: '#loginPassword',
|
|
148
|
+
value: credentials.password
|
|
149
|
+
}];
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
class BeyahadBishvilhaScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
153
|
+
getViewPort() {
|
|
154
|
+
return {
|
|
155
|
+
width: 1500,
|
|
156
|
+
height: 800
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
getLoginOptions(credentials) {
|
|
161
|
+
return {
|
|
162
|
+
loginUrl: LOGIN_URL,
|
|
163
|
+
fields: createLoginFields(credentials),
|
|
164
|
+
submitButtonSelector: async () => {
|
|
165
|
+
const [button] = await this.page.$x("//button[contains(., 'התחבר')]");
|
|
166
|
+
|
|
167
|
+
if (button) {
|
|
168
|
+
await button.click();
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
possibleResults: getPossibleLoginResults()
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
async fetchData() {
|
|
176
|
+
const account = await fetchTransactions(this.page, this.options);
|
|
177
|
+
return {
|
|
178
|
+
success: true,
|
|
179
|
+
accounts: [account]
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
var _default = BeyahadBishvilhaScraper;
|
|
186
|
+
exports.default = _default;
|
|
187
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iZXlhaGFkLWJpc2h2aWxoYS50cyJdLCJuYW1lcyI6WyJkZWJ1ZyIsIkRBVEVfRk9STUFUIiwiTE9HSU5fVVJMIiwiU1VDQ0VTU19VUkwiLCJDQVJEX1VSTCIsImdldEFtb3VudERhdGEiLCJhbW91bnRTdHIiLCJhbW91bnRTdHJDbG4iLCJyZXBsYWNlIiwiY3VycmVuY3kiLCJhbW91bnQiLCJpbmNsdWRlcyIsIlNIRUtFTF9DVVJSRU5DWV9TWU1CT0wiLCJwYXJzZUZsb2F0IiwiU0hFS0VMX0NVUlJFTkNZIiwiRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCIsIkRPTExBUl9DVVJSRU5DWSIsIkVVUk9fQ1VSUkVOQ1lfU1lNQk9MIiwiRVVST19DVVJSRU5DWSIsInBhcnRzIiwic3BsaXQiLCJjb252ZXJ0VHJhbnNhY3Rpb25zIiwidHhucyIsImxlbmd0aCIsIm1hcCIsInR4biIsImNoYXJnZWRBbW91bnRUdXBsZSIsImNoYXJnZWRBbW91bnQiLCJ0eG5Qcm9jZXNzZWREYXRlIiwiZGF0ZSIsInJlc3VsdCIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiTm9ybWFsIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsInRvSVNPU3RyaW5nIiwicHJvY2Vzc2VkRGF0ZSIsIm9yaWdpbmFsQW1vdW50Iiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRDdXJyZW5jeSIsImRlc2NyaXB0aW9uIiwibWVtbyIsImlkZW50aWZpZXIiLCJmZXRjaFRyYW5zYWN0aW9ucyIsInBhZ2UiLCJvcHRpb25zIiwiZ290byIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0Iiwic3RhcnREYXRlIiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJhY2NvdW50TnVtYmVyIiwiZWxlbWVudCIsImlubmVyVGV4dCIsImJhbGFuY2UiLCJyYXdUcmFuc2FjdGlvbnMiLCJpdGVtcyIsImVsIiwiY29sdW1ucyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJhY2NvdW50VHJhbnNhY3Rpb25zIiwiZmlsdGVyIiwiaXRlbSIsInN1YnN0cmluZyIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJDaGFuZ2VQYXNzd29yZCIsIkludmFsaWRQYXNzd29yZCIsIlVua25vd25FcnJvciIsImNyZWF0ZUxvZ2luRmllbGRzIiwiY3JlZGVudGlhbHMiLCJzZWxlY3RvciIsInZhbHVlIiwiaWQiLCJwYXNzd29yZCIsIkJleWFoYWRCaXNodmlsaGFTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldFZpZXdQb3J0Iiwid2lkdGgiLCJoZWlnaHQiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiYnV0dG9uIiwiJHgiLCJjbGljayIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSIsImFjY291bnQiLCJzdWNjZXNzIiwiYWNjb3VudHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBUUEsTUFBTUEsS0FBSyxHQUFHLHFCQUFTLGtCQUFULENBQWQ7QUFFQSxNQUFNQyxXQUFXLEdBQUcsVUFBcEI7QUFDQSxNQUFNQyxTQUFTLEdBQUcsK0JBQWxCO0FBQ0EsTUFBTUMsV0FBVyxHQUFHLDBCQUFwQjtBQUNBLE1BQU1DLFFBQVEsR0FBRyw2Q0FBakI7O0FBVUEsU0FBU0MsYUFBVCxDQUF1QkMsU0FBdkIsRUFBMEM7QUFDeEMsUUFBTUMsWUFBWSxHQUFHRCxTQUFTLENBQUNFLE9BQVYsQ0FBa0IsR0FBbEIsRUFBdUIsRUFBdkIsQ0FBckI7QUFDQSxNQUFJQyxRQUF1QixHQUFHLElBQTlCO0FBQ0EsTUFBSUMsTUFBcUIsR0FBRyxJQUE1Qjs7QUFDQSxNQUFJSCxZQUFZLENBQUNJLFFBQWIsQ0FBc0JDLGlDQUF0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TEMsTUFBQUEsUUFBUSxFQUFFLENBQUNGLE9BQUQ7QUFGTCxLQUFQO0FBSUQ7O0FBNUIwRDs7ZUErQjlDZCx1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyBTY2FwZXJPcHRpb25zLCBTY3JhcGVyQ3JlZGVudGlhbHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyB9IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBwYWdlRXZhbCwgcGFnZUV2YWxBbGwsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCB9IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGdldERlYnVnIH0gZnJvbSAnLi4vaGVscGVycy9kZWJ1Zyc7XG5pbXBvcnQgeyBmaWx0ZXJPbGRUcmFuc2FjdGlvbnMgfSBmcm9tICcuLi9oZWxwZXJzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQge1xuICBET0xMQVJfQ1VSUkVOQ1ksXG4gIERPTExBUl9DVVJSRU5DWV9TWU1CT0wsIEVVUk9fQ1VSUkVOQ1ksXG4gIEVVUk9fQ1VSUkVOQ1lfU1lNQk9MLFxuICBTSEVLRUxfQ1VSUkVOQ1ksXG4gIFNIRUtFTF9DVVJSRU5DWV9TWU1CT0wsXG59IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ2JleWFoYWRCaXNodmlsaGEnKTtcblxuY29uc3QgREFURV9GT1JNQVQgPSAnREQvTU0vWVknO1xuY29uc3QgTE9HSU5fVVJMID0gJ2h0dHBzOi8vd3d3Lmhpc3Qub3JnLmlsL2xvZ2luJztcbmNvbnN0IFNVQ0NFU1NfVVJMID0gJ2h0dHBzOi8vd3d3Lmhpc3Qub3JnLmlsLyc7XG5jb25zdCBDQVJEX1VSTCA9ICdodHRwczovL3d3dy5oaXN0Lm9yZy5pbC9jYXJkL2JhbGFuY2VBbmRVc2VzJztcblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbiB7XG4gIGRhdGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBjaGFyZ2VkQW1vdW50OiBzdHJpbmc7XG4gIGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0QW1vdW50RGF0YShhbW91bnRTdHI6IHN0cmluZykge1xuICBjb25zdCBhbW91bnRTdHJDbG4gPSBhbW91bnRTdHIucmVwbGFjZSgnLCcsICcnKTtcbiAgbGV0IGN1cnJlbmN5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgbGV0IGFtb3VudDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIGlmIChhbW91bnRTdHJDbG4uaW5jbHVkZXMoU0hFS0VMX0NVUlJFTkNZX1NZTUJPTCkpIHtcbiAgICBhbW91bnQgPSBwYXJzZUZsb2F0KGFtb3VudFN0ckNsbi5yZXBsYWNlKFNIRUtFTF9DVVJSRU5DWV9TWU1CT0wsICcnKSk7XG4gICAgY3VycmVuY3kgPSBTSEVLRUxfQ1VSUkVOQ1k7XG4gIH0gZWxzZSBpZiAoYW1vdW50U3RyQ2xuLmluY2x1ZGVzKERPTExBUl9DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gcGFyc2VGbG9hdChhbW91bnRTdHJDbG4ucmVwbGFjZShET0xMQVJfQ1VSUkVOQ1lfU1lNQk9MLCAnJykpO1xuICAgIGN1cnJlbmN5ID0gRE9MTEFSX0NVUlJFTkNZO1xuICB9IGVsc2UgaWYgKGFtb3VudFN0ckNsbi5pbmNsdWRlcyhFVVJPX0NVUlJFTkNZX1NZTUJPTCkpIHtcbiAgICBhbW91bnQgPSBwYXJzZUZsb2F0KGFtb3VudFN0ckNsbi5yZXBsYWNlKEVVUk9fQ1VSUkVOQ1lfU1lNQk9MLCAnJykpO1xuICAgIGN1cnJlbmN5ID0gRVVST19DVVJSRU5DWTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBwYXJ0cyA9IGFtb3VudFN0ckNsbi5zcGxpdCgnICcpO1xuICAgIFtjdXJyZW5jeV0gPSBwYXJ0cztcbiAgICBhbW91bnQgPSBwYXJzZUZsb2F0KHBhcnRzWzFdKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYW1vdW50LFxuICAgIGN1cnJlbmN5LFxuICB9O1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSB7XG4gIGRlYnVnKGBjb252ZXJ0ICR7dHhucy5sZW5ndGh9IHJhdyB0cmFuc2FjdGlvbnMgdG8gb2ZmaWNpYWwgVHJhbnNhY3Rpb24gc3RydWN0dXJlYCk7XG4gIHJldHVybiB0eG5zLm1hcCgodHhuKSA9PiB7XG4gICAgY29uc3QgY2hhcmdlZEFtb3VudFR1cGxlID0gZ2V0QW1vdW50RGF0YSh0eG4uY2hhcmdlZEFtb3VudCB8fCAnJyk7XG4gICAgY29uc3QgdHhuUHJvY2Vzc2VkRGF0ZSA9IG1vbWVudCh0eG4uZGF0ZSwgREFURV9GT1JNQVQpO1xuXG4gICAgY29uc3QgcmVzdWx0OiBUcmFuc2FjdGlvbiA9IHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICAgIGRhdGU6IHR4blByb2Nlc3NlZERhdGUudG9JU09TdHJpbmcoKSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IHR4blByb2Nlc3NlZERhdGUudG9JU09TdHJpbmcoKSxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiBjaGFyZ2VkQW1vdW50VHVwbGUuYW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogY2hhcmdlZEFtb3VudFR1cGxlLmN1cnJlbmN5LFxuICAgICAgY2hhcmdlZEFtb3VudDogY2hhcmdlZEFtb3VudFR1cGxlLmFtb3VudCxcbiAgICAgIGNoYXJnZWRDdXJyZW5jeTogY2hhcmdlZEFtb3VudFR1cGxlLmN1cnJlbmN5LFxuICAgICAgZGVzY3JpcHRpb246IHR4bi5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIG1lbW86ICcnLFxuICAgICAgaWRlbnRpZmllcjogdHhuLmlkZW50aWZpZXIsXG4gICAgfTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0pO1xufVxuXG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zKHBhZ2U6IFBhZ2UsIG9wdGlvbnM6IFNjYXBlck9wdGlvbnMpIHtcbiAgYXdhaXQgcGFnZS5nb3RvKENBUkRfVVJMKTtcbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICcucmVhY3QtbG9hZGluZy5oaWRlJywgZmFsc2UpO1xuICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAneWVhcnMnKTtcbiAgY29uc3Qgc3RhcnREYXRlID0gb3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgY29uc3QgYWNjb3VudE51bWJlciA9IGF3YWl0IHBhZ2VFdmFsKHBhZ2UsICcud2FsbGV0LWRldGFpbHMgZGl2Om50aC1vZi10eXBlKDIpJywgbnVsbCwgKGVsZW1lbnQpID0+IHtcbiAgICByZXR1cm4gKGVsZW1lbnQgYXMgYW55KS5pbm5lclRleHQucmVwbGFjZSgn157Xodek16gg15vXqNeY15nXoSAnLCAnJyk7XG4gIH0pO1xuXG4gIGNvbnN0IGJhbGFuY2UgPSBhd2FpdCBwYWdlRXZhbChwYWdlLCAnLndhbGxldC1kZXRhaWxzIGRpdjpudGgtb2YtdHlwZSg0KSA+IHNwYW46bnRoLW9mLXR5cGUoMiknLCBudWxsLCAoZWxlbWVudCkgPT4ge1xuICAgIHJldHVybiAoZWxlbWVudCBhcyBhbnkpLmlubmVyVGV4dDtcbiAgfSk7XG5cbiAgZGVidWcoJ2ZldGNoIHJhdyB0cmFuc2FjdGlvbnMgZnJvbSBwYWdlJyk7XG5cbiAgY29uc3QgcmF3VHJhbnNhY3Rpb25zOiAoU2NyYXBlZFRyYW5zYWN0aW9uIHwgbnVsbClbXSA9IGF3YWl0IHBhZ2VFdmFsQWxsPChTY3JhcGVkVHJhbnNhY3Rpb24gfCBudWxsKVtdPihwYWdlLCAnLnRyYW5zYWN0aW9uLWNvbnRhaW5lciwgLnRyYW5zYWN0aW9uLWNvbXBvbmVudC1jb250YWluZXInLCBbXSwgKGl0ZW1zKSA9PiB7XG4gICAgcmV0dXJuIChpdGVtcykubWFwKChlbCkgPT4ge1xuICAgICAgY29uc3QgY29sdW1uczogTm9kZUxpc3RPZjxIVE1MU3BhbkVsZW1lbnQ+ID0gZWwucXVlcnlTZWxlY3RvckFsbCgnLnRyYW5zYWN0aW9uLWl0ZW0gPiBzcGFuJyk7XG4gICAgICBpZiAoY29sdW1ucy5sZW5ndGggPT09IDcpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYXRlOiBjb2x1bW5zWzBdLmlubmVyVGV4dCxcbiAgICAgICAgICBpZGVudGlmaWVyOiBjb2x1bW5zWzFdLmlubmVyVGV4dCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogY29sdW1uc1szXS5pbm5lclRleHQsXG4gICAgICAgICAgdHlwZTogY29sdW1uc1s1XS5pbm5lclRleHQsXG4gICAgICAgICAgY2hhcmdlZEFtb3VudDogY29sdW1uc1s2XS5pbm5lclRleHQsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcbiAgfSk7XG4gIGRlYnVnKGBmZXRjaGVkICR7cmF3VHJhbnNhY3Rpb25zLmxlbmd0aH0gcmF3IHRyYW5zYWN0aW9ucyBmcm9tIHBhZ2VgKTtcblxuICBjb25zdCBhY2NvdW50VHJhbnNhY3Rpb25zID0gY29udmVydFRyYW5zYWN0aW9ucyhyYXdUcmFuc2FjdGlvbnMuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pIGFzIFNjcmFwZWRUcmFuc2FjdGlvbltdKTtcblxuICBkZWJ1ZygnZmlsZXIgb3V0IG9sZCB0cmFuc2FjdGlvbnMnKTtcbiAgY29uc3QgdHhucyA9IGZpbHRlck9sZFRyYW5zYWN0aW9ucyhhY2NvdW50VHJhbnNhY3Rpb25zLCBzdGFydE1vbWVudCwgZmFsc2UpO1xuICBkZWJ1ZyhgZm91bmQgJHt0eG5zLmxlbmd0aH0gdmFsaWQgdHJhbnNhY3Rpb25zIG91dCBvZiAke2FjY291bnRUcmFuc2FjdGlvbnMubGVuZ3RofSB0cmFuc2FjdGlvbnMgZm9yIGFjY291bnQgZW5kaW5nIHdpdGggJHthY2NvdW50TnVtYmVyLnN1YnN0cmluZyhhY2NvdW50TnVtYmVyLmxlbmd0aCAtIDIpfWApO1xuXG4gIHJldHVybiB7XG4gICAgYWNjb3VudE51bWJlcixcbiAgICBiYWxhbmNlOiBnZXRBbW91bnREYXRhKGJhbGFuY2UpLmFtb3VudCxcbiAgICB0eG5zLFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyB7XG4gIGNvbnN0IHVybHM6IFBvc3NpYmxlTG9naW5SZXN1bHRzID0ge307XG4gIHVybHNbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdID0gW1NVQ0NFU1NfVVJMXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdID0gW107IC8vIFRPRE9cbiAgdXJsc1tMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXSA9IFtdOyAvLyBUT0RPXG4gIHVybHNbTG9naW5SZXN1bHRzLlVua25vd25FcnJvcl0gPSBbXTsgLy8gVE9ET1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICByZXR1cm4gW1xuICAgIHsgc2VsZWN0b3I6ICcjbG9naW5JZCcsIHZhbHVlOiBjcmVkZW50aWFscy5pZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjbG9naW5QYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5jbGFzcyBCZXlhaGFkQmlzaHZpbGhhU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICBwcm90ZWN0ZWQgZ2V0Vmlld1BvcnQoKTogeyB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IDE1MDAsXG4gICAgICBoZWlnaHQ6IDgwMCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IExPR0lOX1VSTCxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgW2J1dHRvbl0gPSBhd2FpdCB0aGlzLnBhZ2UuJHgoXCIvL2J1dHRvbltjb250YWlucyguLCAn15TXqteX15HXqCcpXVwiKTtcbiAgICAgICAgaWYgKGJ1dHRvbikge1xuICAgICAgICAgIGF3YWl0IGJ1dHRvbi5jbGljaygpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKSB7XG4gICAgY29uc3QgYWNjb3VudCA9IGF3YWl0IGZldGNoVHJhbnNhY3Rpb25zKHRoaXMucGFnZSwgdGhpcy5vcHRpb25zKTtcbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgIGFjY291bnRzOiBbYWNjb3VudF0sXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBCZXlhaGFkQmlzaHZpbGhhU2NyYXBlcjtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.promise");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.string.trim");
|
|
6
|
+
|
|
7
|
+
var _beyahadBishvilha = _interopRequireDefault(require("./beyahad-bishvilha"));
|
|
8
|
+
|
|
9
|
+
var _testsUtils = require("../tests/tests-utils");
|
|
10
|
+
|
|
11
|
+
var _definitions = require("../definitions");
|
|
12
|
+
|
|
13
|
+
var _baseScraperWithBrowser = require("./base-scraper-with-browser");
|
|
14
|
+
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
|
|
17
|
+
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; }
|
|
18
|
+
|
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
20
|
+
|
|
21
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
22
|
+
|
|
23
|
+
const COMPANY_ID = 'beyahadBishvilha'; // TODO this property should be hard-coded in the provider
|
|
24
|
+
|
|
25
|
+
const testsConfig = (0, _testsUtils.getTestsConfig)();
|
|
26
|
+
describe('Beyahad Bishvilha scraper', () => {
|
|
27
|
+
beforeAll(() => {
|
|
28
|
+
(0, _testsUtils.extendAsyncTimeout)(); // The default timeout is 5 seconds per async test, this function extends the timeout value
|
|
29
|
+
});
|
|
30
|
+
test('should expose login fields in scrapers constant', () => {
|
|
31
|
+
expect(_definitions.SCRAPERS.beyahadBishvilha).toBeDefined();
|
|
32
|
+
expect(_definitions.SCRAPERS.beyahadBishvilha.loginFields).toContain('id');
|
|
33
|
+
expect(_definitions.SCRAPERS.beyahadBishvilha.loginFields).toContain('password');
|
|
34
|
+
});
|
|
35
|
+
(0, _testsUtils.maybeTestCompanyAPI)(COMPANY_ID, config => config.companyAPI.invalidPassword)('should fail on invalid user/password"', async () => {
|
|
36
|
+
const options = _objectSpread({}, testsConfig.options, {
|
|
37
|
+
companyId: COMPANY_ID
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const scraper = new _beyahadBishvilha.default(options);
|
|
41
|
+
const result = await scraper.scrape({
|
|
42
|
+
id: 'e10s12',
|
|
43
|
+
password: '3f3ss3d'
|
|
44
|
+
});
|
|
45
|
+
expect(result).toBeDefined();
|
|
46
|
+
expect(result.success).toBeFalsy();
|
|
47
|
+
expect(result.errorType).toBe(_baseScraperWithBrowser.LoginResults.InvalidPassword);
|
|
48
|
+
});
|
|
49
|
+
(0, _testsUtils.maybeTestCompanyAPI)(COMPANY_ID)('should scrape transactions"', async () => {
|
|
50
|
+
const options = _objectSpread({}, testsConfig.options, {
|
|
51
|
+
companyId: COMPANY_ID
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
const scraper = new _beyahadBishvilha.default(options);
|
|
55
|
+
const result = await scraper.scrape(testsConfig.credentials.beyahadBishvilha);
|
|
56
|
+
expect(result).toBeDefined();
|
|
57
|
+
const error = `${result.errorType || ''} ${result.errorMessage || ''}`.trim();
|
|
58
|
+
expect(error).toBe('');
|
|
59
|
+
expect(result.success).toBeTruthy();
|
|
60
|
+
(0, _testsUtils.exportTransactions)(COMPANY_ID, result.accounts || []);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iZXlhaGFkLWJpc2h2aWxoYS50ZXN0LnRzIl0sIm5hbWVzIjpbIkNPTVBBTllfSUQiLCJ0ZXN0c0NvbmZpZyIsImRlc2NyaWJlIiwiYmVmb3JlQWxsIiwidGVzdCIsImV4cGVjdCIsIlNDUkFQRVJTIiwiYmV5YWhhZEJpc2h2aWxoYSIsInRvQmVEZWZpbmVkIiwibG9naW5GaWVsZHMiLCJ0b0NvbnRhaW4iLCJjb25maWciLCJjb21wYW55QVBJIiwiaW52YWxpZFBhc3N3b3JkIiwib3B0aW9ucyIsImNvbXBhbnlJZCIsInNjcmFwZXIiLCJCZXlhaGFkQmlzaHZpbGhhU2NyYXBlciIsInJlc3VsdCIsInNjcmFwZSIsImlkIiwicGFzc3dvcmQiLCJzdWNjZXNzIiwidG9CZUZhbHN5IiwiZXJyb3JUeXBlIiwidG9CZSIsIkxvZ2luUmVzdWx0cyIsIkludmFsaWRQYXNzd29yZCIsImNyZWRlbnRpYWxzIiwiZXJyb3IiLCJlcnJvck1lc3NhZ2UiLCJ0cmltIiwidG9CZVRydXRoeSIsImFjY291bnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFHQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLE1BQU1BLFVBQVUsR0FBRyxrQkFBbkIsQyxDQUF1Qzs7QUFDdkMsTUFBTUMsV0FBVyxHQUFHLGlDQUFwQjtBQUVBQyxRQUFRLENBQUMsMkJBQUQsRUFBOEIsTUFBTTtBQUMxQ0MsRUFBQUEsU0FBUyxDQUFDLE1BQU07QUFDZCwwQ0FEYyxDQUNRO0FBQ3ZCLEdBRlEsQ0FBVDtBQUlBQyxFQUFBQSxJQUFJLENBQUMsaURBQUQsRUFBb0QsTUFBTTtBQUM1REMsSUFBQUEsTUFBTSxDQUFDQyxzQkFBU0MsZ0JBQVYsQ0FBTixDQUFrQ0MsV0FBbEM7QUFDQUgsSUFBQUEsTUFBTSxDQUFDQyxzQkFBU0MsZ0JBQVQsQ0FBMEJFLFdBQTNCLENBQU4sQ0FBOENDLFNBQTlDLENBQXdELElBQXhEO0FBQ0FMLElBQUFBLE1BQU0sQ0FBQ0Msc0JBQVNDLGdCQUFULENBQTBCRSxXQUEzQixDQUFOLENBQThDQyxTQUE5QyxDQUF3RCxVQUF4RDtBQUNELEdBSkcsQ0FBSjtBQU1BLHVDQUFvQlYsVUFBcEIsRUFBaUNXLE1BQUQsSUFBWUEsTUFBTSxDQUFDQyxVQUFQLENBQWtCQyxlQUE5RCxFQUErRSx1Q0FBL0UsRUFBd0gsWUFBWTtBQUNsSSxVQUFNQyxPQUFPLHFCQUNSYixXQUFXLENBQUNhLE9BREo7QUFFWEMsTUFBQUEsU0FBUyxFQUFFZjtBQUZBLE1BQWI7O0FBS0EsVUFBTWdCLE9BQU8sR0FBRyxJQUFJQyx5QkFBSixDQUE0QkgsT0FBNUIsQ0FBaEI7QUFFQSxVQUFNSSxNQUFNLEdBQUcsTUFBTUYsT0FBTyxDQUFDRyxNQUFSLENBQWU7QUFBRUMsTUFBQUEsRUFBRSxFQUFFLFFBQU47QUFBZ0JDLE1BQUFBLFFBQVEsRUFBRTtBQUExQixLQUFmLENBQXJCO0FBRUFoQixJQUFBQSxNQUFNLENBQUNhLE1BQUQsQ0FBTixDQUFlVixXQUFmO0FBQ0FILElBQUFBLE1BQU0sQ0FBQ2EsTUFBTSxDQUFDSSxPQUFSLENBQU4sQ0FBdUJDLFNBQXZCO0FBQ0FsQixJQUFBQSxNQUFNLENBQUNhLE1BQU0sQ0FBQ00sU0FBUixDQUFOLENBQXlCQyxJQUF6QixDQUE4QkMscUNBQWFDLGVBQTNDO0FBQ0QsR0FiRDtBQWVBLHVDQUFvQjNCLFVBQXBCLEVBQWdDLDZCQUFoQyxFQUErRCxZQUFZO0FBQ3pFLFVBQU1jLE9BQU8scUJBQ1JiLFdBQVcsQ0FBQ2EsT0FESjtBQUVYQyxNQUFBQSxTQUFTLEVBQUVmO0FBRkEsTUFBYjs7QUFLQSxVQUFNZ0IsT0FBTyxHQUFHLElBQUlDLHlCQUFKLENBQTRCSCxPQUE1QixDQUFoQjtBQUNBLFVBQU1JLE1BQU0sR0FBRyxNQUFNRixPQUFPLENBQUNHLE1BQVIsQ0FBZWxCLFdBQVcsQ0FBQzJCLFdBQVosQ0FBd0JyQixnQkFBdkMsQ0FBckI7QUFDQUYsSUFBQUEsTUFBTSxDQUFDYSxNQUFELENBQU4sQ0FBZVYsV0FBZjtBQUNBLFVBQU1xQixLQUFLLEdBQUksR0FBRVgsTUFBTSxDQUFDTSxTQUFQLElBQW9CLEVBQUcsSUFBR04sTUFBTSxDQUFDWSxZQUFQLElBQXVCLEVBQUcsRUFBdkQsQ0FBeURDLElBQXpELEVBQWQ7QUFDQTFCLElBQUFBLE1BQU0sQ0FBQ3dCLEtBQUQsQ0FBTixDQUFjSixJQUFkLENBQW1CLEVBQW5CO0FBQ0FwQixJQUFBQSxNQUFNLENBQUNhLE1BQU0sQ0FBQ0ksT0FBUixDQUFOLENBQXVCVSxVQUF2QjtBQUVBLHdDQUFtQmhDLFVBQW5CLEVBQStCa0IsTUFBTSxDQUFDZSxRQUFQLElBQW1CLEVBQWxEO0FBQ0QsR0FkRDtBQWVELENBekNPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmV5YWhhZEJpc2h2aWxoYVNjcmFwZXIgZnJvbSAnLi9iZXlhaGFkLWJpc2h2aWxoYSc7XG5pbXBvcnQge1xuICBtYXliZVRlc3RDb21wYW55QVBJLCBleHRlbmRBc3luY1RpbWVvdXQsIGdldFRlc3RzQ29uZmlnLCBleHBvcnRUcmFuc2FjdGlvbnMsXG59IGZyb20gJy4uL3Rlc3RzL3Rlc3RzLXV0aWxzJztcbmltcG9ydCB7IFNDUkFQRVJTIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHsgTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcblxuY29uc3QgQ09NUEFOWV9JRCA9ICdiZXlhaGFkQmlzaHZpbGhhJzsgLy8gVE9ETyB0aGlzIHByb3BlcnR5IHNob3VsZCBiZSBoYXJkLWNvZGVkIGluIHRoZSBwcm92aWRlclxuY29uc3QgdGVzdHNDb25maWcgPSBnZXRUZXN0c0NvbmZpZygpO1xuXG5kZXNjcmliZSgnQmV5YWhhZCBCaXNodmlsaGEgc2NyYXBlcicsICgpID0+IHtcbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBleHRlbmRBc3luY1RpbWVvdXQoKTsgLy8gVGhlIGRlZmF1bHQgdGltZW91dCBpcyA1IHNlY29uZHMgcGVyIGFzeW5jIHRlc3QsIHRoaXMgZnVuY3Rpb24gZXh0ZW5kcyB0aGUgdGltZW91dCB2YWx1ZVxuICB9KTtcblxuICB0ZXN0KCdzaG91bGQgZXhwb3NlIGxvZ2luIGZpZWxkcyBpbiBzY3JhcGVycyBjb25zdGFudCcsICgpID0+IHtcbiAgICBleHBlY3QoU0NSQVBFUlMuYmV5YWhhZEJpc2h2aWxoYSkudG9CZURlZmluZWQoKTtcbiAgICBleHBlY3QoU0NSQVBFUlMuYmV5YWhhZEJpc2h2aWxoYS5sb2dpbkZpZWxkcykudG9Db250YWluKCdpZCcpO1xuICAgIGV4cGVjdChTQ1JBUEVSUy5iZXlhaGFkQmlzaHZpbGhhLmxvZ2luRmllbGRzKS50b0NvbnRhaW4oJ3Bhc3N3b3JkJyk7XG4gIH0pO1xuXG4gIG1heWJlVGVzdENvbXBhbnlBUEkoQ09NUEFOWV9JRCwgKGNvbmZpZykgPT4gY29uZmlnLmNvbXBhbnlBUEkuaW52YWxpZFBhc3N3b3JkKSgnc2hvdWxkIGZhaWwgb24gaW52YWxpZCB1c2VyL3Bhc3N3b3JkXCInLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICBjb21wYW55SWQ6IENPTVBBTllfSUQsXG4gICAgfTtcblxuICAgIGNvbnN0IHNjcmFwZXIgPSBuZXcgQmV5YWhhZEJpc2h2aWxoYVNjcmFwZXIob3B0aW9ucyk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzY3JhcGVyLnNjcmFwZSh7IGlkOiAnZTEwczEyJywgcGFzc3dvcmQ6ICczZjNzczNkJyB9KTtcblxuICAgIGV4cGVjdChyZXN1bHQpLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KHJlc3VsdC5zdWNjZXNzKS50b0JlRmFsc3koKTtcbiAgICBleHBlY3QocmVzdWx0LmVycm9yVHlwZSkudG9CZShMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkKTtcbiAgfSk7XG5cbiAgbWF5YmVUZXN0Q29tcGFueUFQSShDT01QQU5ZX0lEKSgnc2hvdWxkIHNjcmFwZSB0cmFuc2FjdGlvbnNcIicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgLi4udGVzdHNDb25maWcub3B0aW9ucyxcbiAgICAgIGNvbXBhbnlJZDogQ09NUEFOWV9JRCxcbiAgICB9O1xuXG4gICAgY29uc3Qgc2NyYXBlciA9IG5ldyBCZXlhaGFkQmlzaHZpbGhhU2NyYXBlcihvcHRpb25zKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzY3JhcGVyLnNjcmFwZSh0ZXN0c0NvbmZpZy5jcmVkZW50aWFscy5iZXlhaGFkQmlzaHZpbGhhKTtcbiAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgIGNvbnN0IGVycm9yID0gYCR7cmVzdWx0LmVycm9yVHlwZSB8fCAnJ30gJHtyZXN1bHQuZXJyb3JNZXNzYWdlIHx8ICcnfWAudHJpbSgpO1xuICAgIGV4cGVjdChlcnJvcikudG9CZSgnJyk7XG4gICAgZXhwZWN0KHJlc3VsdC5zdWNjZXNzKS50b0JlVHJ1dGh5KCk7XG5cbiAgICBleHBvcnRUcmFuc2FjdGlvbnMoQ09NUEFOWV9JRCwgcmVzdWx0LmFjY291bnRzIHx8IFtdKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
package/lib/scrapers/discount.js
CHANGED
|
@@ -107,7 +107,7 @@ async function navigateOrErrorLabel(page) {
|
|
|
107
107
|
|
|
108
108
|
function getPossibleLoginResults() {
|
|
109
109
|
const urls = {};
|
|
110
|
-
urls[_baseScraperWithBrowser.LoginResults.Success] = [`${BASE_URL}/apollo/
|
|
110
|
+
urls[_baseScraperWithBrowser.LoginResults.Success] = [`${BASE_URL}/apollo/retail/#/MY_ACCOUNT_HOMEPAGE`];
|
|
111
111
|
urls[_baseScraperWithBrowser.LoginResults.InvalidPassword] = [`${BASE_URL}/apollo/core/templates/lobby/masterPage.html#/LOGIN_PAGE`];
|
|
112
112
|
urls[_baseScraperWithBrowser.LoginResults.ChangePassword] = [`${BASE_URL}/apollo/core/templates/lobby/masterPage.html#/PWD_RENEW`];
|
|
113
113
|
return urls;
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9kaXNjb3VudC50cyJdLCJuYW1lcyI6WyJCQVNFX1VSTCIsIkRBVEVfRk9STUFUIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJ0eG5TdGF0dXMiLCJtYXAiLCJ0eG4iLCJ0eXBlIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsImlkZW50aWZpZXIiLCJPcGVyYXRpb25OdW1iZXIiLCJkYXRlIiwiT3BlcmF0aW9uRGF0ZSIsInRvSVNPU3RyaW5nIiwicHJvY2Vzc2VkRGF0ZSIsIlZhbHVlRGF0ZSIsIm9yaWdpbmFsQW1vdW50IiwiT3BlcmF0aW9uQW1vdW50Iiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRBbW91bnQiLCJkZXNjcmlwdGlvbiIsIk9wZXJhdGlvbkRlc2NyaXB0aW9uVG9EaXNwbGF5Iiwic3RhdHVzIiwiZmV0Y2hBY2NvdW50RGF0YSIsInBhZ2UiLCJvcHRpb25zIiwiYXBpU2l0ZVVybCIsImFjY291bnREYXRhVXJsIiwiYWNjb3VudEluZm8iLCJzdWNjZXNzIiwiZXJyb3JUeXBlIiwiU2NyYXBlckVycm9yVHlwZXMiLCJHZW5lcmljIiwiZXJyb3JNZXNzYWdlIiwiYWNjb3VudE51bWJlciIsIlVzZXJBY2NvdW50c0RhdGEiLCJEZWZhdWx0QWNjb3VudE51bWJlciIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0IiwiYWRkIiwic3RhcnREYXRlIiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJzdGFydERhdGVTdHIiLCJmb3JtYXQiLCJ0eG5zVXJsIiwidHhuc1Jlc3VsdCIsIkVycm9yIiwiQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zIiwiTXNnVGV4dCIsImNvbXBsZXRlZFR4bnMiLCJPcGVyYXRpb25FbnRyeSIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJDb21wbGV0ZWQiLCJyYXdGdXR1cmVUeG5zIiwiXyIsImdldCIsInBlbmRpbmdUeG5zIiwiUGVuZGluZyIsImFjY291bnREYXRhIiwiYWNjb3VudHMiLCJiYWxhbmNlIiwiQ3VycmVudEFjY291bnRJbmZvIiwiQWNjb3VudEJhbGFuY2UiLCJuYXZpZ2F0ZU9yRXJyb3JMYWJlbCIsImUiLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwiQ2hhbmdlUGFzc3dvcmQiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsImlkIiwicGFzc3dvcmQiLCJudW0iLCJEaXNjb3VudFNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJjaGVja1JlYWRpbmVzcyIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwicG9zdEFjdGlvbiIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7OztBQUtBLE1BQU1BLFFBQVEsR0FBRyw4QkFBakI7QUFDQSxNQUFNQyxXQUFXLEdBQUcsVUFBcEI7O0FBNEJBLFNBQVNDLG1CQUFULENBQTZCQyxJQUE3QixFQUF5REMsU0FBekQsRUFBd0c7QUFDdEcsTUFBSSxDQUFDRCxJQUFMLEVBQVc7QUFDVCxXQUFPLEVBQVA7QUFDRDs7QUFDRCxTQUFPQSxJQUFJLENBQUNFLEdBQUwsQ0FBVUMsR0FBRCxJQUFTO0FBQ3ZCLFdBQU87QUFDTEMsTUFBQUEsSUFBSSxFQUFFQywrQkFBaUJDLE1BRGxCO0FBRUxDLE1BQUFBLFVBQVUsRUFBRUosR0FBRyxDQUFDSyxlQUZYO0FBR0xDLE1BQUFBLElBQUksRUFBRSxxQkFBT04sR0FBRyxDQUFDTyxhQUFYLEVBQTBCWixXQUExQixFQUF1Q2EsV0FBdkMsRUFIRDtBQUlMQyxNQUFBQSxhQUFhLEVBQUUscUJBQU9ULEdBQUcsQ0FBQ1UsU0FBWCxFQUFzQmYsV0FBdEIsRUFBbUNhLFdBQW5DLEVBSlY7QUFLTEcsTUFBQUEsY0FBYyxFQUFFWCxHQUFHLENBQUNZLGVBTGY7QUFNTEMsTUFBQUEsZ0JBQWdCLEVBQUUsS0FOYjtBQU9MQyxNQUFBQSxhQUFhLEVBQUVkLEdBQUcsQ0FBQ1ksZUFQZDtBQVFMRyxNQUFBQSxXQUFXLEVBQUVmLEdBQUcsQ0FBQ2dCLDZCQVJaO0FBU0xDLE1BQUFBLE1BQU0sRUFBRW5CO0FBVEgsS0FBUDtBQVdELEdBWk0sQ0FBUDtBQWFEOztBQUdELGVBQWVvQixnQkFBZixDQUFnQ0MsSUFBaEMsRUFBNENDLE9BQTVDLEVBQW1HO0FBQ2pHLFFBQU1DLFVBQVUsR0FBSSxHQUFFM0IsUUFBUyxtQkFBL0I7QUFFQSxRQUFNNEIsY0FBYyxHQUFJLEdBQUVELFVBQVcsbUJBQXJDO0FBQ0EsUUFBTUUsV0FBVyxHQUFHLE1BQU0sK0JBQXVDSixJQUF2QyxFQUE2Q0csY0FBN0MsQ0FBMUI7O0FBRUEsTUFBSSxDQUFDQyxXQUFMLEVBQWtCO0FBQ2hCLFdBQU87QUFDTEMsTUFBQUEsT0FBTyxFQUFFLEtBREo7QUFFTEMsTUFBQUEsU0FBUyxFQUFFQywrQkFBa0JDLE9BRnhCO0FBR0xDLE1BQUFBLFlBQVksRUFBRTtBQUhULEtBQVA7QUFLRDs7QUFDRCxRQUFNQyxhQUFhLEdBQUdOLFdBQVcsQ0FBQ08sZ0JBQVosQ0FBNkJDLG9CQUFuRDtBQUVBLFFBQU1DLGtCQUFrQixHQUFHLHVCQUFTQyxRQUFULENBQWtCLENBQWxCLEVBQXFCLE9BQXJCLEVBQThCQyxHQUE5QixDQUFrQyxDQUFsQyxFQUFxQyxLQUFyQyxDQUEzQjtBQUNBLFFBQU1DLFNBQVMsR0FBR2YsT0FBTyxDQUFDZSxTQUFSLElBQXFCSCxrQkFBa0IsQ0FBQ0ksTUFBbkIsRUFBdkM7O0FBQ0EsUUFBTUMsV0FBVyxHQUFHQyxnQkFBT0MsR0FBUCxDQUFXUCxrQkFBWCxFQUErQixxQkFBT0csU0FBUCxDQUEvQixDQUFwQjs7QUFFQSxRQUFNSyxZQUFZLEdBQUdILFdBQVcsQ0FBQ0ksTUFBWixDQUFtQjlDLFdBQW5CLENBQXJCO0FBQ0EsUUFBTStDLE9BQU8sR0FBSSxHQUFFckIsVUFBVyxxQkFBb0JRLGFBQWMsbUhBQWtIVyxZQUFhLEVBQS9MO0FBQ0EsUUFBTUcsVUFBVSxHQUFHLE1BQU0sK0JBQTJDeEIsSUFBM0MsRUFBaUR1QixPQUFqRCxDQUF6Qjs7QUFDQSxNQUFJLENBQUNDLFVBQUQsSUFBZUEsVUFBVSxDQUFDQyxLQUExQixJQUNGLENBQUNELFVBQVUsQ0FBQ0UsOEJBRGQsRUFDOEM7QUFDNUMsV0FBTztBQUNMckIsTUFBQUEsT0FBTyxFQUFFLEtBREo7QUFFTEMsTUFBQUEsU0FBUyxFQUFFQywrQkFBa0JDLE9BRnhCO0FBR0xDLE1BQUFBLFlBQVksRUFBRWUsVUFBVSxJQUFJQSxVQUFVLENBQUNDLEtBQXpCLEdBQWlDRCxVQUFVLENBQUNDLEtBQVgsQ0FBaUJFLE9BQWxELEdBQTREO0FBSHJFLEtBQVA7QUFLRDs7QUFFRCxRQUFNQyxhQUFhLEdBQUduRCxtQkFBbUIsQ0FDdkMrQyxVQUFVLENBQUNFLDhCQUFYLENBQTBDRyxjQURILEVBRXZDQyxrQ0FBb0JDLFNBRm1CLENBQXpDOztBQUlBLFFBQU1DLGFBQWEsR0FBR0MsZ0JBQUVDLEdBQUYsQ0FBTVYsVUFBTixFQUFrQiwrRUFBbEIsQ0FBdEI7O0FBQ0EsUUFBTVcsV0FBVyxHQUFHMUQsbUJBQW1CLENBQUN1RCxhQUFELEVBQWdCRixrQ0FBb0JNLE9BQXBDLENBQXZDO0FBRUEsUUFBTUMsV0FBVyxHQUFHO0FBQ2xCaEMsSUFBQUEsT0FBTyxFQUFFLElBRFM7QUFFbEJpQyxJQUFBQSxRQUFRLEVBQUUsQ0FBQztBQUNUNUIsTUFBQUEsYUFEUztBQUVUNkIsTUFBQUEsT0FBTyxFQUFFZixVQUFVLENBQUNFLDhCQUFYLENBQTBDYyxrQkFBMUMsQ0FBNkRDLGNBRjdEO0FBR1QvRCxNQUFBQSxJQUFJLEVBQUUsQ0FBQyxHQUFHa0QsYUFBSixFQUFtQixHQUFHTyxXQUF0QjtBQUhHLEtBQUQ7QUFGUSxHQUFwQjtBQVNBLFNBQU9FLFdBQVA7QUFDRDs7QUFFRCxlQUFlSyxvQkFBZixDQUFvQzFDLElBQXBDLEVBQWdEO0FBQzlDLE1BQUk7QUFDRixVQUFNLG1DQUFrQkEsSUFBbEIsQ0FBTjtBQUNELEdBRkQsQ0FFRSxPQUFPMkMsQ0FBUCxFQUFVO0FBQ1YsVUFBTSxpREFBc0IzQyxJQUF0QixFQUE0QixnQkFBNUIsRUFBOEMsS0FBOUMsRUFBcUQsR0FBckQsQ0FBTjtBQUNEO0FBQ0Y7O0FBRUQsU0FBUzRDLHVCQUFULEdBQXlEO0FBQ3ZELFFBQU1DLElBQTBCLEdBQUcsRUFBbkM7QUFDQUEsRUFBQUEsSUFBSSxDQUFDQyxxQ0FBYUMsT0FBZCxDQUFKLEdBQTZCLENBQUUsR0FBRXhFLFFBQVMsb0VBQWIsQ0FBN0I7QUFDQXNFLEVBQUFBLElBQUksQ0FBQ0MscUNBQWFFLGVBQWQsQ0FBSixHQUFxQyxDQUFFLEdBQUV6RSxRQUFTLDBEQUFiLENBQXJDO0FBQ0FzRSxFQUFBQSxJQUFJLENBQUNDLHFDQUFhRyxjQUFkLENBQUosR0FBb0MsQ0FBRSxHQUFFMUUsUUFBUyx5REFBYixDQUFwQztBQUNBLFNBQU9zRSxJQUFQO0FBQ0Q7O0FBRUQsU0FBU0ssaUJBQVQsQ0FBMkJDLFdBQTNCLEVBQTREO0FBQzFELFNBQU8sQ0FDTDtBQUFFQyxJQUFBQSxRQUFRLEVBQUUsT0FBWjtBQUFxQkMsSUFBQUEsS0FBSyxFQUFFRixXQUFXLENBQUNHO0FBQXhDLEdBREssRUFFTDtBQUFFRixJQUFBQSxRQUFRLEVBQUUsYUFBWjtBQUEyQkMsSUFBQUEsS0FBSyxFQUFFRixXQUFXLENBQUNJO0FBQTlDLEdBRkssRUFHTDtBQUFFSCxJQUFBQSxRQUFRLEVBQUUsU0FBWjtBQUF1QkMsSUFBQUEsS0FBSyxFQUFFRixXQUFXLENBQUNLO0FBQTFDLEdBSEssQ0FBUDtBQUtEOztBQUVELE1BQU1DLGVBQU4sU0FBOEJDLDhDQUE5QixDQUFxRDtBQUNuREMsRUFBQUEsZUFBZSxDQUFDUixXQUFELEVBQWtDO0FBQy9DLFdBQU87QUFDTFMsTUFBQUEsUUFBUSxFQUFHLEdBQUVyRixRQUFTLDBEQURqQjtBQUVMc0YsTUFBQUEsY0FBYyxFQUFFLFlBQVksaURBQXNCLEtBQUs3RCxJQUEzQixFQUFpQyxPQUFqQyxDQUZ2QjtBQUdMOEQsTUFBQUEsTUFBTSxFQUFFWixpQkFBaUIsQ0FBQ0MsV0FBRCxDQUhwQjtBQUlMWSxNQUFBQSxvQkFBb0IsRUFBRSxVQUpqQjtBQUtMQyxNQUFBQSxVQUFVLEVBQUUsWUFBWXRCLG9CQUFvQixDQUFDLEtBQUsxQyxJQUFOLENBTHZDO0FBTUxpRSxNQUFBQSxlQUFlLEVBQUVyQix1QkFBdUI7QUFObkMsS0FBUDtBQVFEOztBQUVELFFBQU1zQixTQUFOLEdBQWtCO0FBQ2hCLFdBQU9uRSxnQkFBZ0IsQ0FBQyxLQUFLQyxJQUFOLEVBQVksS0FBS0MsT0FBakIsQ0FBdkI7QUFDRDs7QUFka0Q7O2VBaUJ0Q3dELGUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyLCBMb2dpblJlc3VsdHMsIFBvc3NpYmxlTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCB9IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IGZldGNoR2V0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQge1xuICBTY2FwZXJPcHRpb25zLFxuICBTY3JhcGVyRXJyb3JUeXBlcywgU2NhcGVyU2NyYXBpbmdSZXN1bHQsIFNjcmFwZXJDcmVkZW50aWFscyxcbn0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuXG5jb25zdCBCQVNFX1VSTCA9ICdodHRwczovL3N0YXJ0LnRlbGViYW5rLmNvLmlsJztcbmNvbnN0IERBVEVfRk9STUFUID0gJ1lZWVlNTUREJztcblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbiB7XG4gIE9wZXJhdGlvbk51bWJlcjogbnVtYmVyO1xuICBPcGVyYXRpb25EYXRlOiBzdHJpbmc7XG4gIFZhbHVlRGF0ZTogc3RyaW5nO1xuICBPcGVyYXRpb25BbW91bnQ6IG51bWJlcjtcbiAgT3BlcmF0aW9uRGVzY3JpcHRpb25Ub0Rpc3BsYXk6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEN1cnJlbnRBY2NvdW50SW5mbyB7XG4gIEFjY291bnRCYWxhbmNlOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBTY3JhcGVkQWNjb3VudERhdGEge1xuICBVc2VyQWNjb3VudHNEYXRhOiB7XG4gICAgRGVmYXVsdEFjY291bnROdW1iZXI6IHN0cmluZztcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbkRhdGEge1xuICBFcnJvcj86IHsgTXNnVGV4dDogc3RyaW5nIH07XG4gIEN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucz86IHtcbiAgICBPcGVyYXRpb25FbnRyeTogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gICAgQ3VycmVudEFjY291bnRJbmZvOiBDdXJyZW50QWNjb3VudEluZm87XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2FjdGlvbnModHhuczogU2NyYXBlZFRyYW5zYWN0aW9uW10sIHR4blN0YXR1czogVHJhbnNhY3Rpb25TdGF0dXNlcyk6IFRyYW5zYWN0aW9uW10ge1xuICBpZiAoIXR4bnMpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIHR4bnMubWFwKCh0eG4pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBpZGVudGlmaWVyOiB0eG4uT3BlcmF0aW9uTnVtYmVyLFxuICAgICAgZGF0ZTogbW9tZW50KHR4bi5PcGVyYXRpb25EYXRlLCBEQVRFX0ZPUk1BVCkudG9JU09TdHJpbmcoKSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IG1vbWVudCh0eG4uVmFsdWVEYXRlLCBEQVRFX0ZPUk1BVCkudG9JU09TdHJpbmcoKSxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiB0eG4uT3BlcmF0aW9uQW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogJ0lMUycsXG4gICAgICBjaGFyZ2VkQW1vdW50OiB0eG4uT3BlcmF0aW9uQW1vdW50LFxuICAgICAgZGVzY3JpcHRpb246IHR4bi5PcGVyYXRpb25EZXNjcmlwdGlvblRvRGlzcGxheSxcbiAgICAgIHN0YXR1czogdHhuU3RhdHVzLFxuICAgIH07XG4gIH0pO1xufVxuXG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoQWNjb3VudERhdGEocGFnZTogUGFnZSwgb3B0aW9uczogU2NhcGVyT3B0aW9ucyk6IFByb21pc2U8U2NhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgY29uc3QgYXBpU2l0ZVVybCA9IGAke0JBU0VfVVJMfS9UaXRhbi9nYXRld2F5QVBJYDtcblxuICBjb25zdCBhY2NvdW50RGF0YVVybCA9IGAke2FwaVNpdGVVcmx9L3VzZXJBY2NvdW50c0RhdGFgO1xuICBjb25zdCBhY2NvdW50SW5mbyA9IGF3YWl0IGZldGNoR2V0V2l0aGluUGFnZTxTY3JhcGVkQWNjb3VudERhdGE+KHBhZ2UsIGFjY291bnREYXRhVXJsKTtcblxuICBpZiAoIWFjY291bnRJbmZvKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljLFxuICAgICAgZXJyb3JNZXNzYWdlOiAnZmFpbGVkIHRvIGdldCBhY2NvdW50IGRhdGEnLFxuICAgIH07XG4gIH1cbiAgY29uc3QgYWNjb3VudE51bWJlciA9IGFjY291bnRJbmZvLlVzZXJBY2NvdW50c0RhdGEuRGVmYXVsdEFjY291bnROdW1iZXI7XG5cbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJykuYWRkKDEsICdkYXknKTtcbiAgY29uc3Qgc3RhcnREYXRlID0gb3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgY29uc3Qgc3RhcnREYXRlU3RyID0gc3RhcnRNb21lbnQuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgY29uc3QgdHhuc1VybCA9IGAke2FwaVNpdGVVcmx9L2xhc3RUcmFuc2FjdGlvbnMvJHthY2NvdW50TnVtYmVyfS9EYXRlP0lzQ2F0ZWdvcnlEZXNjQ29kZT1UcnVlJklzVHJhbnNhY3Rpb25EZXRhaWxzPVRydWUmSXNFdmVudE5hbWVzPVRydWUmSXNGdXR1cmVUcmFuc2FjdGlvbkZsYWc9VHJ1ZSZGcm9tRGF0ZT0ke3N0YXJ0RGF0ZVN0cn1gO1xuICBjb25zdCB0eG5zUmVzdWx0ID0gYXdhaXQgZmV0Y2hHZXRXaXRoaW5QYWdlPFNjcmFwZWRUcmFuc2FjdGlvbkRhdGE+KHBhZ2UsIHR4bnNVcmwpO1xuICBpZiAoIXR4bnNSZXN1bHQgfHwgdHhuc1Jlc3VsdC5FcnJvciB8fFxuICAgICF0eG5zUmVzdWx0LkN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucykge1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgIGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMuR2VuZXJpYyxcbiAgICAgIGVycm9yTWVzc2FnZTogdHhuc1Jlc3VsdCAmJiB0eG5zUmVzdWx0LkVycm9yID8gdHhuc1Jlc3VsdC5FcnJvci5Nc2dUZXh0IDogJ3Vua25vd24gZXJyb3InLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBjb21wbGV0ZWRUeG5zID0gY29udmVydFRyYW5zYWN0aW9ucyhcbiAgICB0eG5zUmVzdWx0LkN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucy5PcGVyYXRpb25FbnRyeSxcbiAgICBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgKTtcbiAgY29uc3QgcmF3RnV0dXJlVHhucyA9IF8uZ2V0KHR4bnNSZXN1bHQsICdDdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnMuRnV0dXJlVHJhbnNhY3Rpb25zQmxvY2suRnV0dXJlVHJhbnNhY3Rpb25FbnRyeScpO1xuICBjb25zdCBwZW5kaW5nVHhucyA9IGNvbnZlcnRUcmFuc2FjdGlvbnMocmF3RnV0dXJlVHhucywgVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nKTtcblxuICBjb25zdCBhY2NvdW50RGF0YSA9IHtcbiAgICBzdWNjZXNzOiB0cnVlLFxuICAgIGFjY291bnRzOiBbe1xuICAgICAgYWNjb3VudE51bWJlcixcbiAgICAgIGJhbGFuY2U6IHR4bnNSZXN1bHQuQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zLkN1cnJlbnRBY2NvdW50SW5mby5BY2NvdW50QmFsYW5jZSxcbiAgICAgIHR4bnM6IFsuLi5jb21wbGV0ZWRUeG5zLCAuLi5wZW5kaW5nVHhuc10sXG4gICAgfV0sXG4gIH07XG5cbiAgcmV0dXJuIGFjY291bnREYXRhO1xufVxuXG5hc3luYyBmdW5jdGlvbiBuYXZpZ2F0ZU9yRXJyb3JMYWJlbChwYWdlOiBQYWdlKSB7XG4gIHRyeSB7XG4gICAgYXdhaXQgd2FpdEZvck5hdmlnYXRpb24ocGFnZSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJyNnZW5lcmFsLWVycm9yJywgZmFsc2UsIDEwMCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoKTogUG9zc2libGVMb2dpblJlc3VsdHMge1xuICBjb25zdCB1cmxzOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyA9IHt9O1xuICB1cmxzW0xvZ2luUmVzdWx0cy5TdWNjZXNzXSA9IFtgJHtCQVNFX1VSTH0vYXBvbGxvL2NvcmUvdGVtcGxhdGVzL1JFVEFJTC9tYXN0ZXJQYWdlLmh0bWwjL01ZX0FDQ09VTlRfSE9NRVBBR0VgXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXSA9IFtgJHtCQVNFX1VSTH0vYXBvbGxvL2NvcmUvdGVtcGxhdGVzL2xvYmJ5L21hc3RlclBhZ2UuaHRtbCMvTE9HSU5fUEFHRWBdO1xuICB1cmxzW0xvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZF0gPSBbYCR7QkFTRV9VUkx9L2Fwb2xsby9jb3JlL3RlbXBsYXRlcy9sb2JieS9tYXN0ZXJQYWdlLmh0bWwjL1BXRF9SRU5FV2BdO1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICByZXR1cm4gW1xuICAgIHsgc2VsZWN0b3I6ICcjdHpJZCcsIHZhbHVlOiBjcmVkZW50aWFscy5pZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjdHpQYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjYWlkbnVtJywgdmFsdWU6IGNyZWRlbnRpYWxzLm51bSB9LFxuICBdO1xufVxuXG5jbGFzcyBEaXNjb3VudFNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIHtcbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IGAke0JBU0VfVVJMfS9hcG9sbG8vY29yZS90ZW1wbGF0ZXMvbG9iYnkvbWFzdGVyUGFnZS5odG1sIy9MT0dJTl9QQUdFYCxcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnI3R6SWQnKSxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6ICcuc2VuZEJ0bicsXG4gICAgICBwb3N0QWN0aW9uOiBhc3luYyAoKSA9PiBuYXZpZ2F0ZU9yRXJyb3JMYWJlbCh0aGlzLnBhZ2UpLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKSB7XG4gICAgcmV0dXJuIGZldGNoQWNjb3VudERhdGEodGhpcy5wYWdlLCB0aGlzLm9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IERpc2NvdW50U2NyYXBlcjtcbiJdfQ==
|
|
149
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9kaXNjb3VudC50cyJdLCJuYW1lcyI6WyJCQVNFX1VSTCIsIkRBVEVfRk9STUFUIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJ0eG5TdGF0dXMiLCJtYXAiLCJ0eG4iLCJ0eXBlIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsImlkZW50aWZpZXIiLCJPcGVyYXRpb25OdW1iZXIiLCJkYXRlIiwiT3BlcmF0aW9uRGF0ZSIsInRvSVNPU3RyaW5nIiwicHJvY2Vzc2VkRGF0ZSIsIlZhbHVlRGF0ZSIsIm9yaWdpbmFsQW1vdW50IiwiT3BlcmF0aW9uQW1vdW50Iiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRBbW91bnQiLCJkZXNjcmlwdGlvbiIsIk9wZXJhdGlvbkRlc2NyaXB0aW9uVG9EaXNwbGF5Iiwic3RhdHVzIiwiZmV0Y2hBY2NvdW50RGF0YSIsInBhZ2UiLCJvcHRpb25zIiwiYXBpU2l0ZVVybCIsImFjY291bnREYXRhVXJsIiwiYWNjb3VudEluZm8iLCJzdWNjZXNzIiwiZXJyb3JUeXBlIiwiU2NyYXBlckVycm9yVHlwZXMiLCJHZW5lcmljIiwiZXJyb3JNZXNzYWdlIiwiYWNjb3VudE51bWJlciIsIlVzZXJBY2NvdW50c0RhdGEiLCJEZWZhdWx0QWNjb3VudE51bWJlciIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0IiwiYWRkIiwic3RhcnREYXRlIiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJzdGFydERhdGVTdHIiLCJmb3JtYXQiLCJ0eG5zVXJsIiwidHhuc1Jlc3VsdCIsIkVycm9yIiwiQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zIiwiTXNnVGV4dCIsImNvbXBsZXRlZFR4bnMiLCJPcGVyYXRpb25FbnRyeSIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJDb21wbGV0ZWQiLCJyYXdGdXR1cmVUeG5zIiwiXyIsImdldCIsInBlbmRpbmdUeG5zIiwiUGVuZGluZyIsImFjY291bnREYXRhIiwiYWNjb3VudHMiLCJiYWxhbmNlIiwiQ3VycmVudEFjY291bnRJbmZvIiwiQWNjb3VudEJhbGFuY2UiLCJuYXZpZ2F0ZU9yRXJyb3JMYWJlbCIsImUiLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwiQ2hhbmdlUGFzc3dvcmQiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsImlkIiwicGFzc3dvcmQiLCJudW0iLCJEaXNjb3VudFNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJjaGVja1JlYWRpbmVzcyIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwicG9zdEFjdGlvbiIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7OztBQUtBLE1BQU1BLFFBQVEsR0FBRyw4QkFBakI7QUFDQSxNQUFNQyxXQUFXLEdBQUcsVUFBcEI7O0FBNEJBLFNBQVNDLG1CQUFULENBQTZCQyxJQUE3QixFQUF5REMsU0FBekQsRUFBd0c7QUFDdEcsTUFBSSxDQUFDRCxJQUFMLEVBQVc7QUFDVCxXQUFPLEVBQVA7QUFDRDs7QUFDRCxTQUFPQSxJQUFJLENBQUNFLEdBQUwsQ0FBVUMsR0FBRCxJQUFTO0FBQ3ZCLFdBQU87QUFDTEMsTUFBQUEsSUFBSSxFQUFFQywrQkFBaUJDLE1BRGxCO0FBRUxDLE1BQUFBLFVBQVUsRUFBRUosR0FBRyxDQUFDSyxlQUZYO0FBR0xDLE1BQUFBLElBQUksRUFBRSxxQkFBT04sR0FBRyxDQUFDTyxhQUFYLEVBQTBCWixXQUExQixFQUF1Q2EsV0FBdkMsRUFIRDtBQUlMQyxNQUFBQSxhQUFhLEVBQUUscUJB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TFMsTUFBQUEsUUFBUSxFQUFHLEdBQUVyRixRQUFTLDBEQURqQjtBQUVMc0YsTUFBQUEsY0FBYyxFQUFFLFlBQVksaURBQXNCLEtBQUs3RCxJQUEzQixFQUFpQyxPQUFqQyxDQUZ2QjtBQUdMOEQsTUFBQUEsTUFBTSxFQUFFWixpQkFBaUIsQ0FBQ0MsV0FBRCxDQUhwQjtBQUlMWSxNQUFBQSxvQkFBb0IsRUFBRSxVQUpqQjtBQUtMQyxNQUFBQSxVQUFVLEVBQUUsWUFBWXRCLG9CQUFvQixDQUFDLEtBQUsxQyxJQUFOLENBTHZDO0FBTUxpRSxNQUFBQSxlQUFlLEVBQUVyQix1QkFBdUI7QUFObkMsS0FBUDtBQVFEOztBQUVELFFBQU1zQixTQUFOLEdBQWtCO0FBQ2hCLFdBQU9uRSxnQkFBZ0IsQ0FBQyxLQUFLQyxJQUFOLEVBQVksS0FBS0MsT0FBakIsQ0FBdkI7QUFDRDs7QUFka0Q7O2VBaUJ0Q3dELGUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyLCBMb2dpblJlc3VsdHMsIFBvc3NpYmxlTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCB9IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IGZldGNoR2V0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQge1xuICBTY2FwZXJPcHRpb25zLFxuICBTY3JhcGVyRXJyb3JUeXBlcywgU2NhcGVyU2NyYXBpbmdSZXN1bHQsIFNjcmFwZXJDcmVkZW50aWFscyxcbn0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuXG5jb25zdCBCQVNFX1VSTCA9ICdodHRwczovL3N0YXJ0LnRlbGViYW5rLmNvLmlsJztcbmNvbnN0IERBVEVfRk9STUFUID0gJ1lZWVlNTUREJztcblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbiB7XG4gIE9wZXJhdGlvbk51bWJlcjogbnVtYmVyO1xuICBPcGVyYXRpb25EYXRlOiBzdHJpbmc7XG4gIFZhbHVlRGF0ZTogc3RyaW5nO1xuICBPcGVyYXRpb25BbW91bnQ6IG51bWJlcjtcbiAgT3BlcmF0aW9uRGVzY3JpcHRpb25Ub0Rpc3BsYXk6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEN1cnJlbnRBY2NvdW50SW5mbyB7XG4gIEFjY291bnRCYWxhbmNlOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBTY3JhcGVkQWNjb3VudERhdGEge1xuICBVc2VyQWNjb3VudHNEYXRhOiB7XG4gICAgRGVmYXVsdEFjY291bnROdW1iZXI6IHN0cmluZztcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbkRhdGEge1xuICBFcnJvcj86IHsgTXNnVGV4dDogc3RyaW5nIH07XG4gIEN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucz86IHtcbiAgICBPcGVyYXRpb25FbnRyeTogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gICAgQ3VycmVudEFjY291bnRJbmZvOiBDdXJyZW50QWNjb3VudEluZm87XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2FjdGlvbnModHhuczogU2NyYXBlZFRyYW5zYWN0aW9uW10sIHR4blN0YXR1czogVHJhbnNhY3Rpb25TdGF0dXNlcyk6IFRyYW5zYWN0aW9uW10ge1xuICBpZiAoIXR4bnMpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIHR4bnMubWFwKCh0eG4pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBpZGVudGlmaWVyOiB0eG4uT3BlcmF0aW9uTnVtYmVyLFxuICAgICAgZGF0ZTogbW9tZW50KHR4bi5PcGVyYXRpb25EYXRlLCBEQVRFX0ZPUk1BVCkudG9JU09TdHJpbmcoKSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IG1vbWVudCh0eG4uVmFsdWVEYXRlLCBEQVRFX0ZPUk1BVCkudG9JU09TdHJpbmcoKSxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiB0eG4uT3BlcmF0aW9uQW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogJ0lMUycsXG4gICAgICBjaGFyZ2VkQW1vdW50OiB0eG4uT3BlcmF0aW9uQW1vdW50LFxuICAgICAgZGVzY3JpcHRpb246IHR4bi5PcGVyYXRpb25EZXNjcmlwdGlvblRvRGlzcGxheSxcbiAgICAgIHN0YXR1czogdHhuU3RhdHVzLFxuICAgIH07XG4gIH0pO1xufVxuXG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoQWNjb3VudERhdGEocGFnZTogUGFnZSwgb3B0aW9uczogU2NhcGVyT3B0aW9ucyk6IFByb21pc2U8U2NhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgY29uc3QgYXBpU2l0ZVVybCA9IGAke0JBU0VfVVJMfS9UaXRhbi9nYXRld2F5QVBJYDtcblxuICBjb25zdCBhY2NvdW50RGF0YVVybCA9IGAke2FwaVNpdGVVcmx9L3VzZXJBY2NvdW50c0RhdGFgO1xuICBjb25zdCBhY2NvdW50SW5mbyA9IGF3YWl0IGZldGNoR2V0V2l0aGluUGFnZTxTY3JhcGVkQWNjb3VudERhdGE+KHBhZ2UsIGFjY291bnREYXRhVXJsKTtcblxuICBpZiAoIWFjY291bnRJbmZvKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljLFxuICAgICAgZXJyb3JNZXNzYWdlOiAnZmFpbGVkIHRvIGdldCBhY2NvdW50IGRhdGEnLFxuICAgIH07XG4gIH1cbiAgY29uc3QgYWNjb3VudE51bWJlciA9IGFjY291bnRJbmZvLlVzZXJBY2NvdW50c0RhdGEuRGVmYXVsdEFjY291bnROdW1iZXI7XG5cbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJykuYWRkKDEsICdkYXknKTtcbiAgY29uc3Qgc3RhcnREYXRlID0gb3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgY29uc3Qgc3RhcnREYXRlU3RyID0gc3RhcnRNb21lbnQuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgY29uc3QgdHhuc1VybCA9IGAke2FwaVNpdGVVcmx9L2xhc3RUcmFuc2FjdGlvbnMvJHthY2NvdW50TnVtYmVyfS9EYXRlP0lzQ2F0ZWdvcnlEZXNjQ29kZT1UcnVlJklzVHJhbnNhY3Rpb25EZXRhaWxzPVRydWUmSXNFdmVudE5hbWVzPVRydWUmSXNGdXR1cmVUcmFuc2FjdGlvbkZsYWc9VHJ1ZSZGcm9tRGF0ZT0ke3N0YXJ0RGF0ZVN0cn1gO1xuICBjb25zdCB0eG5zUmVzdWx0ID0gYXdhaXQgZmV0Y2hHZXRXaXRoaW5QYWdlPFNjcmFwZWRUcmFuc2FjdGlvbkRhdGE+KHBhZ2UsIHR4bnNVcmwpO1xuICBpZiAoIXR4bnNSZXN1bHQgfHwgdHhuc1Jlc3VsdC5FcnJvciB8fFxuICAgICF0eG5zUmVzdWx0LkN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucykge1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgIGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMuR2VuZXJpYyxcbiAgICAgIGVycm9yTWVzc2FnZTogdHhuc1Jlc3VsdCAmJiB0eG5zUmVzdWx0LkVycm9yID8gdHhuc1Jlc3VsdC5FcnJvci5Nc2dUZXh0IDogJ3Vua25vd24gZXJyb3InLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBjb21wbGV0ZWRUeG5zID0gY29udmVydFRyYW5zYWN0aW9ucyhcbiAgICB0eG5zUmVzdWx0LkN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucy5PcGVyYXRpb25FbnRyeSxcbiAgICBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgKTtcbiAgY29uc3QgcmF3RnV0dXJlVHhucyA9IF8uZ2V0KHR4bnNSZXN1bHQsICdDdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnMuRnV0dXJlVHJhbnNhY3Rpb25zQmxvY2suRnV0dXJlVHJhbnNhY3Rpb25FbnRyeScpO1xuICBjb25zdCBwZW5kaW5nVHhucyA9IGNvbnZlcnRUcmFuc2FjdGlvbnMocmF3RnV0dXJlVHhucywgVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nKTtcblxuICBjb25zdCBhY2NvdW50RGF0YSA9IHtcbiAgICBzdWNjZXNzOiB0cnVlLFxuICAgIGFjY291bnRzOiBbe1xuICAgICAgYWNjb3VudE51bWJlcixcbiAgICAgIGJhbGFuY2U6IHR4bnNSZXN1bHQuQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zLkN1cnJlbnRBY2NvdW50SW5mby5BY2NvdW50QmFsYW5jZSxcbiAgICAgIHR4bnM6IFsuLi5jb21wbGV0ZWRUeG5zLCAuLi5wZW5kaW5nVHhuc10sXG4gICAgfV0sXG4gIH07XG5cbiAgcmV0dXJuIGFjY291bnREYXRhO1xufVxuXG5hc3luYyBmdW5jdGlvbiBuYXZpZ2F0ZU9yRXJyb3JMYWJlbChwYWdlOiBQYWdlKSB7XG4gIHRyeSB7XG4gICAgYXdhaXQgd2FpdEZvck5hdmlnYXRpb24ocGFnZSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJyNnZW5lcmFsLWVycm9yJywgZmFsc2UsIDEwMCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoKTogUG9zc2libGVMb2dpblJlc3VsdHMge1xuICBjb25zdCB1cmxzOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyA9IHt9O1xuICB1cmxzW0xvZ2luUmVzdWx0cy5TdWNjZXNzXSA9IFtgJHtCQVNFX1VSTH0vYXBvbGxvL3JldGFpbC8jL01ZX0FDQ09VTlRfSE9NRVBBR0VgXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXSA9IFtgJHtCQVNFX1VSTH0vYXBvbGxvL2NvcmUvdGVtcGxhdGVzL2xvYmJ5L21hc3RlclBhZ2UuaHRtbCMvTE9HSU5fUEFHRWBdO1xuICB1cmxzW0xvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZF0gPSBbYCR7QkFTRV9VUkx9L2Fwb2xsby9jb3JlL3RlbXBsYXRlcy9sb2JieS9tYXN0ZXJQYWdlLmh0bWwjL1BXRF9SRU5FV2BdO1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICByZXR1cm4gW1xuICAgIHsgc2VsZWN0b3I6ICcjdHpJZCcsIHZhbHVlOiBjcmVkZW50aWFscy5pZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjdHpQYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjYWlkbnVtJywgdmFsdWU6IGNyZWRlbnRpYWxzLm51bSB9LFxuICBdO1xufVxuXG5jbGFzcyBEaXNjb3VudFNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIHtcbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IGAke0JBU0VfVVJMfS9hcG9sbG8vY29yZS90ZW1wbGF0ZXMvbG9iYnkvbWFzdGVyUGFnZS5odG1sIy9MT0dJTl9QQUdFYCxcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnI3R6SWQnKSxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6ICcuc2VuZEJ0bicsXG4gICAgICBwb3N0QWN0aW9uOiBhc3luYyAoKSA9PiBuYXZpZ2F0ZU9yRXJyb3JMYWJlbCh0aGlzLnBhZ2UpLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKSB7XG4gICAgcmV0dXJuIGZldGNoQWNjb3VudERhdGEodGhpcy5wYWdlLCB0aGlzLm9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IERpc2NvdW50U2NyYXBlcjtcbiJdfQ==
|
|
@@ -12,4 +12,5 @@ import BeinleumiScraper from './beinleumi';
|
|
|
12
12
|
import MassadScraper from './massad';
|
|
13
13
|
import YahavScraper from './yahav';
|
|
14
14
|
import { ScaperOptions } from './base-scraper';
|
|
15
|
-
|
|
15
|
+
import BeyahadBishvilhaScraper from './beyahad-bishvilha';
|
|
16
|
+
export default function createScraper(options: ScaperOptions): HapoalimScraper | OtsarHahayalScraper | LeumiScraper | DiscountScraper | MaxScraper | VisaCalScraper | IsracardScraper | AmexScraper | MizrahiScraper | UnionBankScraper | BeinleumiScraper | MassadScraper | YahavScraper | BeyahadBishvilhaScraper;
|
package/lib/scrapers/factory.js
CHANGED
|
@@ -33,6 +33,8 @@ var _yahav = _interopRequireDefault(require("./yahav"));
|
|
|
33
33
|
|
|
34
34
|
var _definitions = require("../definitions");
|
|
35
35
|
|
|
36
|
+
var _beyahadBishvilha = _interopRequireDefault(require("./beyahad-bishvilha"));
|
|
37
|
+
|
|
36
38
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
39
|
|
|
38
40
|
function createScraper(options) {
|
|
@@ -48,6 +50,9 @@ function createScraper(options) {
|
|
|
48
50
|
case _definitions.CompanyTypes.leumi:
|
|
49
51
|
return new _leumi.default(options);
|
|
50
52
|
|
|
53
|
+
case _definitions.CompanyTypes.beyahadBishvilha:
|
|
54
|
+
return new _beyahadBishvilha.default(options);
|
|
55
|
+
|
|
51
56
|
case _definitions.CompanyTypes.mizrahi:
|
|
52
57
|
return new _mizrahi.default(options);
|
|
53
58
|
|
|
@@ -90,4 +95,4 @@ function createScraper(options) {
|
|
|
90
95
|
throw new Error(`unknown company id ${options.companyId}`);
|
|
91
96
|
}
|
|
92
97
|
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbImNyZWF0ZVNjcmFwZXIiLCJvcHRpb25zIiwiY29tcGFueUlkIiwiQ29tcGFueVR5cGVzIiwiaGFwb2FsaW0iLCJIYXBvYWxpbVNjcmFwZXIiLCJoYXBvYWxpbUJlT25saW5lIiwiY29uc29sZSIsIndhcm4iLCJsZXVtaSIsIkxldW1pU2NyYXBlciIsImJleWFoYWRCaXNodmlsaGEiLCJCZXlhaGFkQmlzaHZpbGhhU2NyYXBlciIsIm1penJhaGkiLCJNaXpyYWhpU2NyYXBlciIsImRpc2NvdW50IiwiRGlzY291bnRTY3JhcGVyIiwib3RzYXJIYWhheWFsIiwiT3RzYXJIYWhheWFsU2NyYXBlciIsInZpc2FDYWwiLCJWaXNhQ2FsU2NyYXBlciIsImxldW1pQ2FyZCIsIk1heFNjcmFwZXIiLCJtYXgiLCJpc3JhY2FyZCIsIklzcmFjYXJkU2NyYXBlciIsImFtZXgiLCJBbWV4U2NyYXBlciIsInVuaW9uIiwiVW5pb25CYW5rU2NyYXBlciIsImJlaW5sZXVtaSIsIkJlaW5sZXVtaVNjcmFwZXIiLCJtYXNzYWQiLCJNYXNzYWRTY3JhcGVyIiwieWFoYXYiLCJZYWhhdlNjcmFwZXIiLCJFcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7O0FBRWUsU0FBU0EsYUFBVCxDQUF1QkMsT0FBdkIsRUFBK0M7QUFDNUQsVUFBUUEsT0FBTyxDQUFDQyxTQUFoQjtBQUNFLFNBQUtDLDBCQUFhQyxRQUFsQjtBQUNFLGFBQU8sSUFBSUMsaUJBQUosQ0FBb0JKLE9BQXBCLENBQVA7O0FBQ0YsU0FBS0UsMEJBQWFHLGdCQUFsQjtBQUNFO0FBQ0FDLE1BQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLHdEQUFiO0FBQ0EsYUFBTyxJQUFJSCxpQkFBSixDQUFvQkosT0FBcEIsQ0FBUDs7QUFDRixTQUFLRSwwQkFBYU0sS0FBbEI7QUFDRSxhQUFPLElBQUlDLGNBQUosQ0FBaUJULE9BQWpCLENBQVA7O0FBQ0YsU0FBS0UsMEJBQWFRLGdCQUFsQjtBQUNFLGFBQU8sSUFBSUMseUJBQUosQ0FBNEJYLE9BQTVCLENBQVA7O0FBQ0YsU0FBS0UsMEJBQWFVLE9BQWxCO0FBQ0UsYUFBTyxJQUFJQyxnQkFBSixDQUFtQmIsT0FBbkIsQ0FBUDs7QUFDRixTQUFLRSwwQkFBYVksUUFBbEI7QUFDRSxhQUFPLElBQUlDLGlCQUFKLENBQW9CZixPQUFwQixDQUFQOztBQUNGLFNBQUtFLDBCQUFhYyxZQUFsQjtBQUNFLGFBQU8sSUFBSUMscUJBQUosQ0FBd0JqQixPQUF4QixDQUFQOztBQUNGLFNBQUtFLDBCQUFhZ0IsT0FBbEI7QUFDRSxhQUFPLElBQUlDLGdCQUFKLENBQW1CbkIsT0FBbkIsQ0FBUDs7QUFDRixTQUFLRSwwQkFBYWtCLFNBQWxCO0FBQ0U7QUFDQWQsTUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQWEsNENBQWI7QUFDQSxhQUFPLElBQUljLFlBQUosQ0FBZXJCLE9BQWYsQ0FBUDs7QUFDRixTQUFLRSwwQkFBYW9CLEdBQWxCO0FBQ0UsYUFBTyxJQUFJRCxZQUFKLENBQWVyQixPQUFmLENBQVA7O0FBQ0YsU0FBS0UsMEJBQWFxQixRQUFsQjtBQUNFLGFBQU8sSUFBSUMsaUJBQUosQ0FBb0J4QixPQUFwQixDQUFQOztBQUNGLFNBQUtFLDBCQUFhdUIsSUFBbEI7QUFDRSxhQUFPLElBQUlDLGFBQUosQ0FBZ0IxQixPQUFoQixDQUFQOztBQUNGLFNBQUtFLDBCQUFheUIsS0FBbEI7QUFDRSxhQUFPLElBQUlDLGtCQUFKLENBQXFCNUIsT0FBckIsQ0FBUDs7QUFDRixTQUFLRSwwQkFBYTJCLFNBQWxCO0FBQ0UsYUFBTyxJQUFJQyxrQkFBSixDQUFxQjlCLE9BQXJCLENBQVA7O0FBQ0YsU0FBS0UsMEJBQWE2QixNQUFsQjtBQUNFLGFBQU8sSUFBSUMsZUFBSixDQUFrQmhDLE9BQWxCLENBQVA7O0FBQ0YsU0FBS0UsMEJBQWErQixLQUFsQjtBQUNFLGFBQU8sSUFBSUMsY0FBSixDQUFpQmxDLE9BQWpCLENBQVA7O0FBQ0Y7QUFDRSxZQUFNLElBQUltQyxLQUFKLENBQVcsc0JBQXFCbkMsT0FBTyxDQUFDQyxTQUFVLEVBQWxELENBQU47QUF0Q0o7QUF3Q0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSGFwb2FsaW1TY3JhcGVyIGZyb20gJy4vaGFwb2FsaW0nO1xuaW1wb3J0IE90c2FySGFoYXlhbFNjcmFwZXIgZnJvbSAnLi9vdHNhci1oYWhheWFsJztcbmltcG9ydCBMZXVtaVNjcmFwZXIgZnJvbSAnLi9sZXVtaSc7XG5pbXBvcnQgRGlzY291bnRTY3JhcGVyIGZyb20gJy4vZGlzY291bnQnO1xuaW1wb3J0IE1heFNjcmFwZXIgZnJvbSAnLi9tYXgnO1xuaW1wb3J0IFZpc2FDYWxTY3JhcGVyIGZyb20gJy4vdmlzYS1jYWwnO1xuaW1wb3J0IElzcmFjYXJkU2NyYXBlciBmcm9tICcuL2lzcmFjYXJkJztcbmltcG9ydCBBbWV4U2NyYXBlciBmcm9tICcuL2FtZXgnO1xuaW1wb3J0IE1penJhaGlTY3JhcGVyIGZyb20gJy4vbWl6cmFoaSc7XG5pbXBvcnQgVW5pb25CYW5rU2NyYXBlciBmcm9tICcuL3VuaW9uLWJhbmsnO1xuaW1wb3J0IEJlaW5sZXVtaVNjcmFwZXIgZnJvbSAnLi9iZWlubGV1bWknO1xuaW1wb3J0IE1hc3NhZFNjcmFwZXIgZnJvbSAnLi9tYXNzYWQnO1xuaW1wb3J0IFlhaGF2U2NyYXBlciBmcm9tICcuL3lhaGF2JztcbmltcG9ydCB7IFNjYXBlck9wdGlvbnMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlcic7XG5pbXBvcnQgeyBDb21wYW55VHlwZXMgfSBmcm9tICcuLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgQmV5YWhhZEJpc2h2aWxoYVNjcmFwZXIgZnJvbSAnLi9iZXlhaGFkLWJpc2h2aWxoYSc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVNjcmFwZXIob3B0aW9uczogU2NhcGVyT3B0aW9ucykge1xuICBzd2l0Y2ggKG9wdGlvbnMuY29tcGFueUlkKSB7XG4gICAgY2FzZSBDb21wYW55VHlwZXMuaGFwb2FsaW06XG4gICAgICByZXR1cm4gbmV3IEhhcG9hbGltU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5oYXBvYWxpbUJlT25saW5lOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUud2FybihcImhhcG9hbGltQmVPbmxpbmUgaXMgZGVwcmVjYXRlZCwgdXNlICdoYXBvYWxpbScgaW5zdGVhZFwiKTtcbiAgICAgIHJldHVybiBuZXcgSGFwb2FsaW1TY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLmxldW1pOlxuICAgICAgcmV0dXJuIG5ldyBMZXVtaVNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMuYmV5YWhhZEJpc2h2aWxoYTpcbiAgICAgIHJldHVybiBuZXcgQmV5YWhhZEJpc2h2aWxoYVNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMubWl6cmFoaTpcbiAgICAgIHJldHVybiBuZXcgTWl6cmFoaVNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMuZGlzY291bnQ6XG4gICAgICByZXR1cm4gbmV3IERpc2NvdW50U2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5vdHNhckhhaGF5YWw6XG4gICAgICByZXR1cm4gbmV3IE90c2FySGFoYXlhbFNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMudmlzYUNhbDpcbiAgICAgIHJldHVybiBuZXcgVmlzYUNhbFNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMubGV1bWlDYXJkOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUud2FybihcImxldW1pQ2FyZCBpcyBkZXByZWNhdGVkLCB1c2UgJ21heCcgaW5zdGVhZFwiKTtcbiAgICAgIHJldHVybiBuZXcgTWF4U2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5tYXg6XG4gICAgICByZXR1cm4gbmV3IE1heFNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMuaXNyYWNhcmQ6XG4gICAgICByZXR1cm4gbmV3IElzcmFjYXJkU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5hbWV4OlxuICAgICAgcmV0dXJuIG5ldyBBbWV4U2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy51bmlvbjpcbiAgICAgIHJldHVybiBuZXcgVW5pb25CYW5rU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5iZWlubGV1bWk6XG4gICAgICByZXR1cm4gbmV3IEJlaW5sZXVtaVNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMubWFzc2FkOlxuICAgICAgcmV0dXJuIG5ldyBNYXNzYWRTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLnlhaGF2OlxuICAgICAgcmV0dXJuIG5ldyBZYWhhdlNjcmFwZXIob3B0aW9ucyk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdW5rbm93biBjb21wYW55IGlkICR7b3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/scrapers/leumi.js
CHANGED
|
@@ -162,7 +162,7 @@ async function fetchTransactions(page, startDate) {
|
|
|
162
162
|
|
|
163
163
|
async function waitForPostLogin(page) {
|
|
164
164
|
// TODO check for condition to provide new password
|
|
165
|
-
await Promise.race([(0, _elementsInteractions.waitUntilElementFound)(page, 'div.leumi-container', true), (0, _elementsInteractions.waitUntilElementFound)(page, '#BodyContent_ctl00_loginErrMsg', true), (0, _elementsInteractions.waitUntilElementFound)(page, '.ErrMsg', true), (0, _elementsInteractions.waitUntilElementFound)(page, 'form[action="/changepassword"]', true)]);
|
|
165
|
+
await Promise.race([(0, _elementsInteractions.waitUntilElementFound)(page, 'a[title="דלג לחשבון"]', true), (0, _elementsInteractions.waitUntilElementFound)(page, 'div.leumi-container', true), (0, _elementsInteractions.waitUntilElementFound)(page, '#BodyContent_ctl00_loginErrMsg', true), (0, _elementsInteractions.waitUntilElementFound)(page, '.ErrMsg', true), (0, _elementsInteractions.waitUntilElementFound)(page, 'form[action="/changepassword"]', true)]);
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
class LeumiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
@@ -194,4 +194,4 @@ class LeumiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
194
194
|
|
|
195
195
|
var _default = LeumiScraper;
|
|
196
196
|
exports.default = _default;
|
|
197
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9sZXVtaS50cyJdLCJuYW1lcyI6WyJCQVNFX1VSTCIsIlRSQU5TQUNUSU9OU19VUkwiLCJGSUxURVJFRF9UUkFOU0FDVElPTlNfVVJMIiwiREFURV9GT1JNQVQiLCJBQ0NPVU5UX0JMT0NLRURfTVNHIiwiZ2V0UG9zc2libGVMb2dpblJlc3VsdHMiLCJ1cmxzIiwiTG9naW5SZXN1bHRzIiwiU3VjY2VzcyIsIkludmFsaWRQYXNzd29yZCIsIkFjY291bnRCbG9ja2VkIiwib3B0aW9ucyIsInBhZ2UiLCJFcnJvciIsImVycm9yTWVzc2FnZSIsImxhYmVsIiwiaW5uZXJUZXh0Iiwic3RhcnRzV2l0aCIsIkNoYW5nZVBhc3N3b3JkIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZXh0cmFjdFRyYW5zYWN0aW9uc0Zyb21QYWdlIiwidHJhbnNhY3Rpb25zIiwic3RhdHVzIiwibGVuZ3RoIiwicmVzdWx0IiwibWFwIiwicmF3VHJhbnNhY3Rpb24iLCJuZXdUcmFuc2FjdGlvbiIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiTm9ybWFsIiwiZGF0ZSIsIkRhdGVVVEMiLCJwcm9jZXNzZWREYXRlIiwiZGVzY3JpcHRpb24iLCJEZXNjcmlwdGlvbiIsImlkZW50aWZpZXIiLCJSZWZlcmVuY2VOdW1iZXJMb25nIiwibWVtbyIsIkFkZGl0aW9uYWxEYXRhIiwib3JpZ2luYWxDdXJyZW5jeSIsIlNIRUtFTF9DVVJSRU5DWSIsImNoYXJnZWRBbW91bnQiLCJBbW91bnQiLCJvcmlnaW5hbEFtb3VudCIsImhhbmdQcm9jZXNzIiwidGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwic2V0VGltZW91dCIsImNsaWNrQnlYUGF0aCIsInhwYXRoIiwid2FpdEZvclhQYXRoIiwidmlzaWJsZSIsImVsbSIsIiR4IiwiY2xpY2siLCJyZW1vdmVTcGVjaWFsQ2hhcmFjdGVycyIsInN0ciIsInJlcGxhY2UiLCJmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQiLCJzdGFydERhdGUiLCJhY2NvdW50SWQiLCJmb3JtYXQiLCJmb2N1cyIsImZpbmFsUmVzcG9uc2UiLCJ3YWl0Rm9yUmVzcG9uc2UiLCJyZXNwb25zZSIsInVybCIsInJlcXVlc3QiLCJtZXRob2QiLCJyZXNwb25zZUpzb24iLCJqc29uIiwiYWNjb3VudE51bWJlciIsIkpTT04iLCJwYXJzZSIsImpzb25SZXNwIiwicGVuZGluZ1RyYW5zYWN0aW9ucyIsIlRvZGF5VHJhbnNhY3Rpb25zSXRlbXMiLCJIaXN0b3J5VHJhbnNhY3Rpb25zSXRlbXMiLCJiYWxhbmNlIiwiQmFsYW5jZURpc3BsYXkiLCJwYXJzZUZsb2F0IiwidW5kZWZpbmVkIiwicGVuZGluZ1R4bnMiLCJUcmFuc2FjdGlvblN0YXR1c2VzIiwiUGVuZGluZyIsImNvbXBsZXRlZFR4bnMiLCJDb21wbGV0ZWQiLCJ0eG5zIiwiZmV0Y2hUcmFuc2FjdGlvbnMiLCJhY2NvdW50cyIsImFjY291bnRzSWRzIiwiZXZhbHVhdGUiLCJBcnJheSIsImZyb20iLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJlIiwidGV4dENvbnRlbnQiLCJwdXNoIiwid2FpdEZvclBvc3RMb2dpbiIsInJhY2UiLCJMZXVtaVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsImFkZCIsInRvRGF0ZSIsInN0YXJ0TW9tZW50IiwibW9tZW50IiwibWF4IiwibmF2aWdhdGVUbyIsInN1Y2Nlc3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFNQTs7QUFDQTs7OztBQUtBLE1B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bkNZLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50LCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgTG9naW5PcHRpb25zIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7XG4gIGZpbGxJbnB1dCxcbiAgY2xpY2tCdXR0b24sXG4gIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCxcbiAgcGFnZUV2YWxBbGwsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IFNIRUtFTF9DVVJSRU5DWSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbnNBY2NvdW50LCBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyxcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IFNjYXBlclNjcmFwaW5nUmVzdWx0LCBTY3JhcGVyQ3JlZGVudGlhbHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlcic7XG5cbmNvbnN0IEJBU0VfVVJMID0gJ2h0dHBzOi8vaGIyLmJhbmtsZXVtaS5jby5pbCc7XG5jb25zdCBUUkFOU0FDVElPTlNfVVJMID0gYCR7QkFTRV9VUkx9L2VCYW5raW5nL1NPL1NQQS5hc3B4Iy90cy9CdXNpbmVzc0FjY291bnRUcng/V2lkZ2V0UGFyPTFgO1xuY29uc3QgRklMVEVSRURfVFJBTlNBQ1RJT05TX1VSTCA9IGAke0JBU0VfVVJMfS9DaGFubmVsV0NGL0Jyb2tlci5zdmMvUHJvY2Vzc1JlcXVlc3Q/bW9kdWxlTmFtZT1VQ19TT18yN19HZXRCdXNpbmVzc0FjY291bnRUcnhgO1xuXG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdERC5NTS5ZWSc7XG5jb25zdCBBQ0NPVU5UX0JMT0NLRURfTVNHID0gJ9eU157XoNeV15kg15fXodeV150nO1xuXG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCkge1xuICBjb25zdCB1cmxzOiBMb2dpbk9wdGlvbnNbJ3Bvc3NpYmxlUmVzdWx0cyddID0ge1xuICAgIFtMb2dpblJlc3VsdHMuU3VjY2Vzc106IFsvZWJhbmtpbmdcXC9TT1xcL1NQQS5hc3B4L2ldLFxuICAgIFtMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXTogWy9JbnRlcm5hbFNpdGVcXC9DdXN0b21VcGRhdGVcXC9sZXVtaVxcL0xvZ2luUGFnZS5BU1AvXSxcbiAgICBbTG9naW5SZXN1bHRzLkFjY291bnRCbG9ja2VkXTogW1xuICAgICAgYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgICAgaWYgKCFvcHRpb25zIHx8ICFvcHRpb25zLnBhZ2UpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcGFnZSBvcHRpb25zIGFyZ3VtZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYXdhaXQgcGFnZUV2YWxBbGwob3B0aW9ucy5wYWdlLCAnLmVyckhlYWRlcicsIFtdLCAobGFiZWwpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGxhYmVsWzBdIGFzIEhUTUxFbGVtZW50KT8uaW5uZXJUZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZXJyb3JNZXNzYWdlPy5zdGFydHNXaXRoKEFDQ09VTlRfQkxPQ0tFRF9NU0cpO1xuICAgICAgfSxcbiAgICBdLFxuICAgIFtMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdOiBbJ2h0dHBzOi8vaGIyLmJhbmtsZXVtaS5jby5pbC9hdXRoZW50aWNhdGUnXSxcbiAgfTtcbiAgcmV0dXJuIHVybHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiAnI3d0cl91aWQnLCB2YWx1ZTogY3JlZGVudGlhbHMudXNlcm5hbWUgfSxcbiAgICB7IHNlbGVjdG9yOiAnI3d0cl9wYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0VHJhbnNhY3Rpb25zRnJvbVBhZ2UodHJhbnNhY3Rpb25zOiBhbnlbXSwgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzKTogVHJhbnNhY3Rpb25bXSB7XG4gIGlmICh0cmFuc2FjdGlvbnMgPT09IG51bGwgfHwgdHJhbnNhY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb25bXSA9IHRyYW5zYWN0aW9ucy5tYXAoKHJhd1RyYW5zYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbmV3VHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uID0ge1xuICAgICAgc3RhdHVzLFxuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBkYXRlOiByYXdUcmFuc2FjdGlvbi5EYXRlVVRDLFxuICAgICAgcHJvY2Vzc2VkRGF0ZTogcmF3VHJhbnNhY3Rpb24uRGF0ZVVUQyxcbiAgICAgIGRlc2NyaXB0aW9uOiByYXdUcmFuc2FjdGlvbi5EZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIGlkZW50aWZpZXI6IHJhd1RyYW5zYWN0aW9uLlJlZmVyZW5jZU51bWJlckxvbmcsXG4gICAgICBtZW1vOiByYXdUcmFuc2FjdGlvbi5BZGRpdGlvbmFsRGF0YSB8fCAnJyxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IFNIRUtFTF9DVVJSRU5DWSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IHJhd1RyYW5zYWN0aW9uLkFtb3VudCxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiByYXdUcmFuc2FjdGlvbi5BbW91bnQsXG4gICAgfTtcblxuICAgIHJldHVybiBuZXdUcmFuc2FjdGlvbjtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gaGFuZ1Byb2Nlc3ModGltZW91dDogbnVtYmVyKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH0sIHRpbWVvdXQpO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY2xpY2tCeVhQYXRoKHBhZ2U6IFBhZ2UsIHhwYXRoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgcGFnZS53YWl0Rm9yWFBhdGgoeHBhdGgsIHsgdGltZW91dDogMzAwMDAsIHZpc2libGU6IHRydWUgfSk7XG4gIGNvbnN0IGVsbSA9IGF3YWl0IHBhZ2UuJHgoeHBhdGgpO1xuICBhd2FpdCBlbG1bMF0uY2xpY2soKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3BlY2lhbENoYXJhY3RlcnMoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoL1teMC05Ly1dL2csICcnKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50KHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50LCBhY2NvdW50SWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudD4ge1xuICAvLyBERVZFTE9QRVIgTk9USUNFIHRoZSBhY2NvdW50IG51bWJlciByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIgaXMgYmVpbmcgYWx0ZXJlZCBhdFxuICAvLyBydW50aW1lIGZvciBzb21lIGFjY291bnRzIGFmdGVyIDEtMiBzZWNvbmRzIHNvIHdlIG5lZWQgdG8gaGFuZyB0aGUgcHJvY2VzcyBmb3IgYSBzaG9ydCB3aGlsZS5cbiAgYXdhaXQgaGFuZ1Byb2Nlc3MoNDAwMCk7XG5cbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdidXR0b25bdGl0bGU9XCLXl9eZ16TXldepINee16rXp9eT151cIl0nLCB0cnVlKTtcbiAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgJ2J1dHRvblt0aXRsZT1cIteX15nXpNeV16kg157Xqten15PXnVwiXScpO1xuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2JsbC1yYWRpby1idXR0b24nLCB0cnVlKTtcbiAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgJ2JsbC1yYWRpby1idXR0b246bm90KFtjaGVja2VkXSknKTtcblxuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2lucHV0W2Zvcm1jb250cm9sbmFtZT1cInR4dElucHV0RnJvbVwiXScsIHRydWUpO1xuXG4gIGF3YWl0IGZpbGxJbnB1dChcbiAgICBwYWdlLFxuICAgICdpbnB1dFtmb3JtY29udHJvbG5hbWU9XCJ0eHRJbnB1dEZyb21cIl0nLFxuICAgIHN0YXJ0RGF0ZS5mb3JtYXQoREFURV9GT1JNQVQpLFxuICApO1xuXG4gIC8vIHdlIG11c3QgYmx1ciB0aGUgZnJvbSBjb250cm9sIG90aGVyd2lzZSB0aGUgc2VhcmNoIHdpbGwgdXNlIHRoZSBwcmV2aW91cyB2YWx1ZVxuICBhd2FpdCBwYWdlLmZvY3VzKFwiYnV0dG9uW2FyaWEtbGFiZWw9J9eh16DXnyddXCIpO1xuXG4gIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsIFwiYnV0dG9uW2FyaWEtbGFiZWw9J9eh16DXnyddXCIpO1xuICBjb25zdCBmaW5hbFJlc3BvbnNlID0gYXdhaXQgcGFnZS53YWl0Rm9yUmVzcG9uc2UoKHJlc3BvbnNlKSA9PiB7XG4gICAgcmV0dXJuIHJlc3BvbnNlLnVybCgpID09PSBGSUxURVJFRF9UUkFOU0FDVElPTlNfVVJMICYmXG4gICAgICByZXNwb25zZS5yZXF1ZXN0KCkubWV0aG9kKCkgPT09ICdQT1NUJztcbiAgfSk7XG5cbiAgY29uc3QgcmVzcG9uc2VKc29uOiBhbnkgPSBhd2FpdCBmaW5hbFJlc3BvbnNlLmpzb24oKTtcblxuICBjb25zdCBhY2NvdW50TnVtYmVyID0gYWNjb3VudElkLnJlcGxhY2UoJy8nLCAnXycpLnJlcGxhY2UoL1teXFxkLV9dL2csICcnKTtcblxuICBjb25zdCByZXNwb25zZSA9IEpTT04ucGFyc2UocmVzcG9uc2VKc29uLmpzb25SZXNwKTtcblxuICBjb25zdCBwZW5kaW5nVHJhbnNhY3Rpb25zID0gcmVzcG9uc2UuVG9kYXlUcmFuc2FjdGlvbnNJdGVtcztcbiAgY29uc3QgdHJhbnNhY3Rpb25zID0gcmVzcG9uc2UuSGlzdG9yeVRyYW5zYWN0aW9uc0l0ZW1zO1xuICBjb25zdCBiYWxhbmNlID0gcmVzcG9uc2UuQmFsYW5jZURpc3BsYXkgPyBwYXJzZUZsb2F0KHJlc3BvbnNlLkJhbGFuY2VEaXNwbGF5KSA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBwZW5kaW5nVHhucyA9IGV4dHJhY3RUcmFuc2FjdGlvbnNGcm9tUGFnZShwZW5kaW5nVHJhbnNhY3Rpb25zLCBUcmFuc2FjdGlvblN0YXR1c2VzLlBlbmRpbmcpO1xuICBjb25zdCBjb21wbGV0ZWRUeG5zID0gZXh0cmFjdFRyYW5zYWN0aW9uc0Zyb21QYWdlKHRyYW5zYWN0aW9ucywgVHJhbnNhY3Rpb25TdGF0dXNlcy5Db21wbGV0ZWQpO1xuICBjb25zdCB0eG5zID0gW1xuICAgIC4uLnBlbmRpbmdUeG5zLFxuICAgIC4uLmNvbXBsZXRlZFR4bnMsXG4gIF07XG5cbiAgcmV0dXJuIHtcbiAgICBhY2NvdW50TnVtYmVyLFxuICAgIGJhbGFuY2UsXG4gICAgdHhucyxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUcmFuc2FjdGlvbnMocGFnZTogUGFnZSwgc3RhcnREYXRlOiBNb21lbnQpOiBQcm9taXNlPFRyYW5zYWN0aW9uc0FjY291bnRbXT4ge1xuICBjb25zdCBhY2NvdW50czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgLy8gREVWRUxPUEVSIE5PVElDRSB0aGUgYWNjb3VudCBudW1iZXIgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyIGlzIGJlaW5nIGFsdGVyZWQgYXRcbiAgLy8gcnVudGltZSBmb3Igc29tZSBhY2NvdW50cyBhZnRlciAxLTIgc2Vjb25kcyBzbyB3ZSBuZWVkIHRvIGhhbmcgdGhlIHByb2Nlc3MgZm9yIGEgc2hvcnQgd2hpbGUuXG4gIGF3YWl0IGhhbmdQcm9jZXNzKDQwMDApO1xuXG4gIGNvbnN0IGFjY291bnRzSWRzID0gYXdhaXQgcGFnZS5ldmFsdWF0ZSgoKSA9PiBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2FwcC1tYXNrZWQtbnVtYmVyLWNvbWJvIHNwYW4uZGlzcGxheS1udW1iZXItbGknKSwgKGUpID0+IGUudGV4dENvbnRlbnQpKSBhcyBzdHJpbmdbXTtcblxuICAvLyBkdWUgdG8gYSBidWcsIHRoZSBhbHRlcmVkIHZhbHVlIG1pZ2h0IGluY2x1ZGUgdW5kZXNpcmVkIHNpZ25zIGxpa2UgJiB0aGF0IHNob3VsZCBiZSByZW1vdmVkXG5cbiAgaWYgKCFhY2NvdW50c0lkcy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBleHRyYWN0IG9yIHBhcnNlIHRoZSBhY2NvdW50IG51bWJlcicpO1xuICB9XG5cbiAgZm9yIChjb25zdCBhY2NvdW50SWQgb2YgYWNjb3VudHNJZHMpIHtcbiAgICBpZiAoYWNjb3VudHNJZHMubGVuZ3RoID4gMSkge1xuICAgICAgLy8gZ2V0IGxpc3Qgb2YgYWNjb3VudHMgYW5kIGNoZWNrIGFjY291bnRJZFxuICAgICAgYXdhaXQgY2xpY2tCeVhQYXRoKHBhZ2UsICcvLypbY29udGFpbnMoQGNsYXNzLCBcIm51bWJlclwiKSBhbmQgY29udGFpbnMoQGNsYXNzLCBcImNvbWJvLWlubmVyXCIpXScpO1xuICAgICAgYXdhaXQgY2xpY2tCeVhQYXRoKHBhZ2UsIGAvL3NwYW5bY29udGFpbnModGV4dCgpLCAnJHthY2NvdW50SWR9JyldYCk7XG4gICAgfVxuXG4gICAgYWNjb3VudHMucHVzaChhd2FpdCBmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQocGFnZSwgc3RhcnREYXRlLCByZW1vdmVTcGVjaWFsQ2hhcmFjdGVycyhhY2NvdW50SWQpKSk7XG4gIH1cblxuICByZXR1cm4gYWNjb3VudHM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JQb3N0TG9naW4ocGFnZTogUGFnZSk6IFByb21pc2U8dm9pZD4ge1xuICAvLyBUT0RPIGNoZWNrIGZvciBjb25kaXRpb24gdG8gcHJvdmlkZSBuZXcgcGFzc3dvcmRcbiAgYXdhaXQgUHJvbWlzZS5yYWNlKFtcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2Rpdi5sZXVtaS1jb250YWluZXInLCB0cnVlKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJyNCb2R5Q29udGVudF9jdGwwMF9sb2dpbkVyck1zZycsIHRydWUpLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnLkVyck1zZycsIHRydWUpLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnZm9ybVthY3Rpb249XCIvY2hhbmdlcGFzc3dvcmRcIl0nLCB0cnVlKSxcbiAgXSk7XG59XG5cbmNsYXNzIExldW1pU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IGAke0JBU0VfVVJMfWAsXG4gICAgICBmaWVsZHM6IGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzKSxcbiAgICAgIHN1Ym1pdEJ1dHRvblNlbGVjdG9yOiAnI2VudGVyJyxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IHdhaXRGb3JQb3N0TG9naW4odGhpcy5wYWdlKSxcbiAgICAgIHBvc3NpYmxlUmVzdWx0czogZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoKSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hEYXRhKCk6IFByb21pc2U8U2NhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAneWVhcnMnKS5hZGQoMSwgJ2RheScpO1xuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMub3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICAgIGNvbnN0IHN0YXJ0TW9tZW50ID0gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcblxuICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUbyhUUkFOU0FDVElPTlNfVVJMKTtcblxuICAgIGNvbnN0IGFjY291bnRzID0gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbnModGhpcy5wYWdlLCBzdGFydE1vbWVudCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgIGFjY291bnRzLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTGV1bWlTY3JhcGVyO1xuIl19
|
|
197
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9sZXVtaS50cyJdLCJuYW1lcyI6WyJCQVNFX1VSTCIsIlRSQU5TQUNUSU9OU19VUkwiLCJGSUxURVJFRF9UUkFOU0FDVElPTlNfVVJMIiwiREFURV9GT1JNQVQiLCJBQ0NPVU5UX0JMT0NLRURfTVNHIiwiZ2V0UG9zc2libGVMb2dpblJlc3VsdHMiLCJ1cmxzIiwiTG9naW5SZXN1bHRzIiwiU3VjY2VzcyIsIkludmFsaWRQYXNzd29yZCIsIkFjY291bnRCbG9ja2VkIiwib3B0aW9ucyIsInBhZ2UiLCJFcnJvciIsImVycm9yTWVzc2FnZSIsImxhYmVsIiwiaW5uZXJUZXh0Iiwic3RhcnRzV2l0aCIsIkNoYW5nZVBhc3N3b3JkIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZXh0cmFjdFRyYW5zYWN0aW9uc0Zyb21QYWdlIiwidHJhbnNhY3Rpb25zIiwic3RhdHVzIiwibGVuZ3RoIiwicmVzdWx0IiwibWFwIiwicmF3VHJhbnNhY3Rpb24iLCJuZXdUcmFuc2FjdGlvbiIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiTm9ybWFsIiwiZGF0ZSIsIkRhdGVVVEMiLCJwcm9jZXNzZWREYXRlIiwiZGVzY3JpcHRpb24iLCJEZXNjcmlwdGlvbiIsImlkZW50aWZpZXIiLCJSZWZlcmVuY2VOdW1iZXJMb25nIiwibWVtbyIsIkFkZGl0aW9uYWxEYXRhIiwib3JpZ2luYWxDdXJyZW5jeSIsIlNIRUtFTF9DVVJSRU5DWSIsImNoYXJnZWRBbW91bnQiLCJBbW91bnQiLCJvcmlnaW5hbEFtb3VudCIsImhhbmdQcm9jZXNzIiwidGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwic2V0VGltZW91dCIsImNsaWNrQnlYUGF0aCIsInhwYXRoIiwid2FpdEZvclhQYXRoIiwidmlzaWJsZSIsImVsbSIsIiR4IiwiY2xpY2siLCJyZW1vdmVTcGVjaWFsQ2hhcmFjdGVycyIsInN0ciIsInJlcGxhY2UiLCJmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQiLCJzdGFydERhdGUiLCJhY2NvdW50SWQiLCJmb3JtYXQiLCJmb2N1cyIsImZpbmFsUmVzcG9uc2UiLCJ3YWl0Rm9yUmVzcG9uc2UiLCJyZXNwb25zZSIsInVybCIsInJlcXVlc3QiLCJtZXRob2QiLCJyZXNwb25zZUpzb24iLCJqc29uIiwiYWNjb3VudE51bWJlciIsIkpTT04iLCJwYXJzZSIsImpzb25SZXNwIiwicGVuZGluZ1RyYW5zYWN0aW9ucyIsIlRvZGF5VHJhbnNhY3Rpb25zSXRlbXMiLCJIaXN0b3J5VHJhbnNhY3Rpb25zSXRlbXMiLCJiYWxhbmNlIiwiQmFsYW5jZURpc3BsYXkiLCJwYXJzZUZsb2F0IiwidW5kZWZpbmVkIiwicGVuZGluZ1R4bnMiLCJUcmFuc2FjdGlvblN0YXR1c2VzIiwiUGVuZGluZyIsImNvbXBsZXRlZFR4bnMiLCJDb21wbGV0ZWQiLCJ0eG5zIiwiZmV0Y2hUcmFuc2FjdGlvbnMiLCJhY2NvdW50cyIsImFjY291bnRzSWRzIiwiZXZhbHVhdGUiLCJBcnJheSIsImZyb20iLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJlIiwidGV4dENvbnRlbnQiLCJwdXNoIiwid2FpdEZvclBvc3RMb2dpbiIsInJhY2UiLCJMZXVtaVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsImFkZCIsInRvRGF0ZSIsInN0YXJ0TW9tZW50IiwibW9tZW50IiwibWF4IiwibmF2aWdhdGVUbyIsInN1Y2Nlc3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFNQTs7QUFDQTs7OztBQUtBLE1B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RUFBRSxJQURKO0FBRUw3QixNQUFBQTtBQUZLLEtBQVA7QUFJRDs7QUF4QitDOztlQTJCbkNZLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50LCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgTG9naW5PcHRpb25zIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7XG4gIGZpbGxJbnB1dCxcbiAgY2xpY2tCdXR0b24sXG4gIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCxcbiAgcGFnZUV2YWxBbGwsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IFNIRUtFTF9DVVJSRU5DWSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbnNBY2NvdW50LCBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyxcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IFNjYXBlclNjcmFwaW5nUmVzdWx0LCBTY3JhcGVyQ3JlZGVudGlhbHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlcic7XG5cbmNvbnN0IEJBU0VfVVJMID0gJ2h0dHBzOi8vaGIyLmJhbmtsZXVtaS5jby5pbCc7XG5jb25zdCBUUkFOU0FDVElPTlNfVVJMID0gYCR7QkFTRV9VUkx9L2VCYW5raW5nL1NPL1NQQS5hc3B4Iy90cy9CdXNpbmVzc0FjY291bnRUcng/V2lkZ2V0UGFyPTFgO1xuY29uc3QgRklMVEVSRURfVFJBTlNBQ1RJT05TX1VSTCA9IGAke0JBU0VfVVJMfS9DaGFubmVsV0NGL0Jyb2tlci5zdmMvUHJvY2Vzc1JlcXVlc3Q/bW9kdWxlTmFtZT1VQ19TT18yN19HZXRCdXNpbmVzc0FjY291bnRUcnhgO1xuXG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdERC5NTS5ZWSc7XG5jb25zdCBBQ0NPVU5UX0JMT0NLRURfTVNHID0gJ9eU157XoNeV15kg15fXodeV150nO1xuXG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCkge1xuICBjb25zdCB1cmxzOiBMb2dpbk9wdGlvbnNbJ3Bvc3NpYmxlUmVzdWx0cyddID0ge1xuICAgIFtMb2dpblJlc3VsdHMuU3VjY2Vzc106IFsvZWJhbmtpbmdcXC9TT1xcL1NQQS5hc3B4L2ldLFxuICAgIFtMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXTogWy9JbnRlcm5hbFNpdGVcXC9DdXN0b21VcGRhdGVcXC9sZXVtaVxcL0xvZ2luUGFnZS5BU1AvXSxcbiAgICBbTG9naW5SZXN1bHRzLkFjY291bnRCbG9ja2VkXTogW1xuICAgICAgYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgICAgaWYgKCFvcHRpb25zIHx8ICFvcHRpb25zLnBhZ2UpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcGFnZSBvcHRpb25zIGFyZ3VtZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYXdhaXQgcGFnZUV2YWxBbGwob3B0aW9ucy5wYWdlLCAnLmVyckhlYWRlcicsIFtdLCAobGFiZWwpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGxhYmVsWzBdIGFzIEhUTUxFbGVtZW50KT8uaW5uZXJUZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZXJyb3JNZXNzYWdlPy5zdGFydHNXaXRoKEFDQ09VTlRfQkxPQ0tFRF9NU0cpO1xuICAgICAgfSxcbiAgICBdLFxuICAgIFtMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdOiBbJ2h0dHBzOi8vaGIyLmJhbmtsZXVtaS5jby5pbC9hdXRoZW50aWNhdGUnXSxcbiAgfTtcbiAgcmV0dXJuIHVybHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiAnI3d0cl91aWQnLCB2YWx1ZTogY3JlZGVudGlhbHMudXNlcm5hbWUgfSxcbiAgICB7IHNlbGVjdG9yOiAnI3d0cl9wYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0VHJhbnNhY3Rpb25zRnJvbVBhZ2UodHJhbnNhY3Rpb25zOiBhbnlbXSwgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzKTogVHJhbnNhY3Rpb25bXSB7XG4gIGlmICh0cmFuc2FjdGlvbnMgPT09IG51bGwgfHwgdHJhbnNhY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb25bXSA9IHRyYW5zYWN0aW9ucy5tYXAoKHJhd1RyYW5zYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbmV3VHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uID0ge1xuICAgICAgc3RhdHVzLFxuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBkYXRlOiByYXdUcmFuc2FjdGlvbi5EYXRlVVRDLFxuICAgICAgcHJvY2Vzc2VkRGF0ZTogcmF3VHJhbnNhY3Rpb24uRGF0ZVVUQyxcbiAgICAgIGRlc2NyaXB0aW9uOiByYXdUcmFuc2FjdGlvbi5EZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIGlkZW50aWZpZXI6IHJhd1RyYW5zYWN0aW9uLlJlZmVyZW5jZU51bWJlckxvbmcsXG4gICAgICBtZW1vOiByYXdUcmFuc2FjdGlvbi5BZGRpdGlvbmFsRGF0YSB8fCAnJyxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IFNIRUtFTF9DVVJSRU5DWSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IHJhd1RyYW5zYWN0aW9uLkFtb3VudCxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiByYXdUcmFuc2FjdGlvbi5BbW91bnQsXG4gICAgfTtcblxuICAgIHJldHVybiBuZXdUcmFuc2FjdGlvbjtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gaGFuZ1Byb2Nlc3ModGltZW91dDogbnVtYmVyKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH0sIHRpbWVvdXQpO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY2xpY2tCeVhQYXRoKHBhZ2U6IFBhZ2UsIHhwYXRoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgcGFnZS53YWl0Rm9yWFBhdGgoeHBhdGgsIHsgdGltZW91dDogMzAwMDAsIHZpc2libGU6IHRydWUgfSk7XG4gIGNvbnN0IGVsbSA9IGF3YWl0IHBhZ2UuJHgoeHBhdGgpO1xuICBhd2FpdCBlbG1bMF0uY2xpY2soKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3BlY2lhbENoYXJhY3RlcnMoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoL1teMC05Ly1dL2csICcnKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50KHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50LCBhY2NvdW50SWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudD4ge1xuICAvLyBERVZFTE9QRVIgTk9USUNFIHRoZSBhY2NvdW50IG51bWJlciByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIgaXMgYmVpbmcgYWx0ZXJlZCBhdFxuICAvLyBydW50aW1lIGZvciBzb21lIGFjY291bnRzIGFmdGVyIDEtMiBzZWNvbmRzIHNvIHdlIG5lZWQgdG8gaGFuZyB0aGUgcHJvY2VzcyBmb3IgYSBzaG9ydCB3aGlsZS5cbiAgYXdhaXQgaGFuZ1Byb2Nlc3MoNDAwMCk7XG5cbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdidXR0b25bdGl0bGU9XCLXl9eZ16TXldepINee16rXp9eT151cIl0nLCB0cnVlKTtcbiAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgJ2J1dHRvblt0aXRsZT1cIteX15nXpNeV16kg157Xqten15PXnVwiXScpO1xuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2JsbC1yYWRpby1idXR0b24nLCB0cnVlKTtcbiAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgJ2JsbC1yYWRpby1idXR0b246bm90KFtjaGVja2VkXSknKTtcblxuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2lucHV0W2Zvcm1jb250cm9sbmFtZT1cInR4dElucHV0RnJvbVwiXScsIHRydWUpO1xuXG4gIGF3YWl0IGZpbGxJbnB1dChcbiAgICBwYWdlLFxuICAgICdpbnB1dFtmb3JtY29udHJvbG5hbWU9XCJ0eHRJbnB1dEZyb21cIl0nLFxuICAgIHN0YXJ0RGF0ZS5mb3JtYXQoREFURV9GT1JNQVQpLFxuICApO1xuXG4gIC8vIHdlIG11c3QgYmx1ciB0aGUgZnJvbSBjb250cm9sIG90aGVyd2lzZSB0aGUgc2VhcmNoIHdpbGwgdXNlIHRoZSBwcmV2aW91cyB2YWx1ZVxuICBhd2FpdCBwYWdlLmZvY3VzKFwiYnV0dG9uW2FyaWEtbGFiZWw9J9eh16DXnyddXCIpO1xuXG4gIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsIFwiYnV0dG9uW2FyaWEtbGFiZWw9J9eh16DXnyddXCIpO1xuICBjb25zdCBmaW5hbFJlc3BvbnNlID0gYXdhaXQgcGFnZS53YWl0Rm9yUmVzcG9uc2UoKHJlc3BvbnNlKSA9PiB7XG4gICAgcmV0dXJuIHJlc3BvbnNlLnVybCgpID09PSBGSUxURVJFRF9UUkFOU0FDVElPTlNfVVJMICYmXG4gICAgICByZXNwb25zZS5yZXF1ZXN0KCkubWV0aG9kKCkgPT09ICdQT1NUJztcbiAgfSk7XG5cbiAgY29uc3QgcmVzcG9uc2VKc29uOiBhbnkgPSBhd2FpdCBmaW5hbFJlc3BvbnNlLmpzb24oKTtcblxuICBjb25zdCBhY2NvdW50TnVtYmVyID0gYWNjb3VudElkLnJlcGxhY2UoJy8nLCAnXycpLnJlcGxhY2UoL1teXFxkLV9dL2csICcnKTtcblxuICBjb25zdCByZXNwb25zZSA9IEpTT04ucGFyc2UocmVzcG9uc2VKc29uLmpzb25SZXNwKTtcblxuICBjb25zdCBwZW5kaW5nVHJhbnNhY3Rpb25zID0gcmVzcG9uc2UuVG9kYXlUcmFuc2FjdGlvbnNJdGVtcztcbiAgY29uc3QgdHJhbnNhY3Rpb25zID0gcmVzcG9uc2UuSGlzdG9yeVRyYW5zYWN0aW9uc0l0ZW1zO1xuICBjb25zdCBiYWxhbmNlID0gcmVzcG9uc2UuQmFsYW5jZURpc3BsYXkgPyBwYXJzZUZsb2F0KHJlc3BvbnNlLkJhbGFuY2VEaXNwbGF5KSA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBwZW5kaW5nVHhucyA9IGV4dHJhY3RUcmFuc2FjdGlvbnNGcm9tUGFnZShwZW5kaW5nVHJhbnNhY3Rpb25zLCBUcmFuc2FjdGlvblN0YXR1c2VzLlBlbmRpbmcpO1xuICBjb25zdCBjb21wbGV0ZWRUeG5zID0gZXh0cmFjdFRyYW5zYWN0aW9uc0Zyb21QYWdlKHRyYW5zYWN0aW9ucywgVHJhbnNhY3Rpb25TdGF0dXNlcy5Db21wbGV0ZWQpO1xuICBjb25zdCB0eG5zID0gW1xuICAgIC4uLnBlbmRpbmdUeG5zLFxuICAgIC4uLmNvbXBsZXRlZFR4bnMsXG4gIF07XG5cbiAgcmV0dXJuIHtcbiAgICBhY2NvdW50TnVtYmVyLFxuICAgIGJhbGFuY2UsXG4gICAgdHhucyxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUcmFuc2FjdGlvbnMocGFnZTogUGFnZSwgc3RhcnREYXRlOiBNb21lbnQpOiBQcm9taXNlPFRyYW5zYWN0aW9uc0FjY291bnRbXT4ge1xuICBjb25zdCBhY2NvdW50czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgLy8gREVWRUxPUEVSIE5PVElDRSB0aGUgYWNjb3VudCBudW1iZXIgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyIGlzIGJlaW5nIGFsdGVyZWQgYXRcbiAgLy8gcnVudGltZSBmb3Igc29tZSBhY2NvdW50cyBhZnRlciAxLTIgc2Vjb25kcyBzbyB3ZSBuZWVkIHRvIGhhbmcgdGhlIHByb2Nlc3MgZm9yIGEgc2hvcnQgd2hpbGUuXG4gIGF3YWl0IGhhbmdQcm9jZXNzKDQwMDApO1xuXG4gIGNvbnN0IGFjY291bnRzSWRzID0gYXdhaXQgcGFnZS5ldmFsdWF0ZSgoKSA9PiBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2FwcC1tYXNrZWQtbnVtYmVyLWNvbWJvIHNwYW4uZGlzcGxheS1udW1iZXItbGknKSwgKGUpID0+IGUudGV4dENvbnRlbnQpKSBhcyBzdHJpbmdbXTtcblxuICAvLyBkdWUgdG8gYSBidWcsIHRoZSBhbHRlcmVkIHZhbHVlIG1pZ2h0IGluY2x1ZGUgdW5kZXNpcmVkIHNpZ25zIGxpa2UgJiB0aGF0IHNob3VsZCBiZSByZW1vdmVkXG5cbiAgaWYgKCFhY2NvdW50c0lkcy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBleHRyYWN0IG9yIHBhcnNlIHRoZSBhY2NvdW50IG51bWJlcicpO1xuICB9XG5cbiAgZm9yIChjb25zdCBhY2NvdW50SWQgb2YgYWNjb3VudHNJZHMpIHtcbiAgICBpZiAoYWNjb3VudHNJZHMubGVuZ3RoID4gMSkge1xuICAgICAgLy8gZ2V0IGxpc3Qgb2YgYWNjb3VudHMgYW5kIGNoZWNrIGFjY291bnRJZFxuICAgICAgYXdhaXQgY2xpY2tCeVhQYXRoKHBhZ2UsICcvLypbY29udGFpbnMoQGNsYXNzLCBcIm51bWJlclwiKSBhbmQgY29udGFpbnMoQGNsYXNzLCBcImNvbWJvLWlubmVyXCIpXScpO1xuICAgICAgYXdhaXQgY2xpY2tCeVhQYXRoKHBhZ2UsIGAvL3NwYW5bY29udGFpbnModGV4dCgpLCAnJHthY2NvdW50SWR9JyldYCk7XG4gICAgfVxuXG4gICAgYWNjb3VudHMucHVzaChhd2FpdCBmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQocGFnZSwgc3RhcnREYXRlLCByZW1vdmVTcGVjaWFsQ2hhcmFjdGVycyhhY2NvdW50SWQpKSk7XG4gIH1cblxuICByZXR1cm4gYWNjb3VudHM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JQb3N0TG9naW4ocGFnZTogUGFnZSk6IFByb21pc2U8dm9pZD4ge1xuICAvLyBUT0RPIGNoZWNrIGZvciBjb25kaXRpb24gdG8gcHJvdmlkZSBuZXcgcGFzc3dvcmRcbiAgYXdhaXQgUHJvbWlzZS5yYWNlKFtcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2FbdGl0bGU9XCLXk9ec15Ig15zXl9ep15HXldefXCJdJywgdHJ1ZSksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdkaXYubGV1bWktY29udGFpbmVyJywgdHJ1ZSksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICcjQm9keUNvbnRlbnRfY3RsMDBfbG9naW5FcnJNc2cnLCB0cnVlKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJy5FcnJNc2cnLCB0cnVlKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2Zvcm1bYWN0aW9uPVwiL2NoYW5nZXBhc3N3b3JkXCJdJywgdHJ1ZSksXG4gIF0pO1xufVxuXG5jbGFzcyBMZXVtaVNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIHtcbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2luVXJsOiBgJHtCQVNFX1VSTH1gLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJyNlbnRlcicsXG4gICAgICBwb3N0QWN0aW9uOiBhc3luYyAoKSA9PiB3YWl0Rm9yUG9zdExvZ2luKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpOiBQcm9taXNlPFNjYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJykuYWRkKDEsICdkYXknKTtcbiAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLm9wdGlvbnMuc3RhcnREYXRlIHx8IGRlZmF1bHRTdGFydE1vbWVudC50b0RhdGUoKTtcbiAgICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG8oVFJBTlNBQ1RJT05TX1VSTCk7XG5cbiAgICBjb25zdCBhY2NvdW50cyA9IGF3YWl0IGZldGNoVHJhbnNhY3Rpb25zKHRoaXMucGFnZSwgc3RhcnRNb21lbnQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICBhY2NvdW50cyxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExldW1pU2NyYXBlcjtcbiJdfQ==
|
package/lib/scrapers/visa-cal.js
CHANGED
|
@@ -178,6 +178,7 @@ async function fetchTransactionsForAccount(page, startDate, accountNumber, scrap
|
|
|
178
178
|
const buttonSelector = '[id$="FormAreaNoBorder_FormArea_ctlSubmitRequest"]';
|
|
179
179
|
const nextPageSelector = '[id$="FormAreaNoBorder_FormArea_ctlGridPager_btnNext"]';
|
|
180
180
|
const billingLabelSelector = '[id$=FormAreaNoBorder_FormArea_ctlMainToolBar_lblCaption]';
|
|
181
|
+
const secondaryBillingLabelSelector = '[id$=FormAreaNoBorder_FormArea_ctlSecondaryToolBar_lblCaption]';
|
|
181
182
|
const noDataSelector = '[id$=FormAreaNoBorder_FormArea_msgboxErrorMessages]';
|
|
182
183
|
debug('find the start date index in the dropbox');
|
|
183
184
|
const options = await (0, _elementsInteractions.pageEvalAll)(page, '[id$="FormAreaNoBorder_FormArea_clndrDebitDateScope_OptionList"] li', [], items => {
|
|
@@ -207,13 +208,22 @@ async function fetchTransactionsForAccount(page, startDate, accountNumber, scrap
|
|
|
207
208
|
if (pageHasNoTransactions) {
|
|
208
209
|
debug('page has no transactions');
|
|
209
210
|
} else {
|
|
210
|
-
var
|
|
211
|
+
var _settlementDateRegex$;
|
|
211
212
|
|
|
212
213
|
debug('find the billing date');
|
|
213
|
-
|
|
214
|
+
let billingDateLabel = await (0, _elementsInteractions.pageEval)(page, billingLabelSelector, '', element => {
|
|
214
215
|
return element.innerText;
|
|
215
216
|
});
|
|
216
|
-
|
|
217
|
+
let settlementDateRegex = /\d{1,2}[/]\d{2}[/]\d{2,4}/;
|
|
218
|
+
|
|
219
|
+
if (billingDateLabel === '') {
|
|
220
|
+
billingDateLabel = await (0, _elementsInteractions.pageEval)(page, secondaryBillingLabelSelector, '', element => {
|
|
221
|
+
return element.innerText;
|
|
222
|
+
});
|
|
223
|
+
settlementDateRegex = /\d{1,2}[/]\d{2,4}/;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
const billingDate = (_settlementDateRegex$ = settlementDateRegex.exec(billingDateLabel)) === null || _settlementDateRegex$ === void 0 ? void 0 : _settlementDateRegex$[0];
|
|
217
227
|
|
|
218
228
|
if (!billingDate) {
|
|
219
229
|
throw new Error('failed to fetch process date');
|
|
@@ -279,9 +289,9 @@ async function fetchTransactionsForAccount(page, startDate, accountNumber, scrap
|
|
|
279
289
|
|
|
280
290
|
async function getAccountNumbers(page) {
|
|
281
291
|
return (0, _elementsInteractions.pageEvalAll)(page, '[id$=lnkItem]', [], elements => elements.map(e => e.text)).then(res => res.map(text => {
|
|
282
|
-
var _$exec$, _$
|
|
292
|
+
var _$exec$, _$exec;
|
|
283
293
|
|
|
284
|
-
return (_$exec$ = (_$
|
|
294
|
+
return (_$exec$ = (_$exec = /\d+$/.exec(text.trim())) === null || _$exec === void 0 ? void 0 : _$exec[0]) !== null && _$exec$ !== void 0 ? _$exec$ : '';
|
|
285
295
|
}));
|
|
286
296
|
}
|
|
287
297
|
|
|
@@ -366,4 +376,4 @@ class VisaCalScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
366
376
|
|
|
367
377
|
var _default = VisaCalScraper;
|
|
368
378
|
exports.default = _default;
|
|
369
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy92aXNhLWNhbC50cyJdLCJuYW1lcyI6WyJMT0dJTl9VUkwiLCJUUkFOU0FDVElPTlNfVVJMIiwiTE9OR19EQVRFX0ZPUk1BVCIsIkRBVEVfRk9STUFUIiwiSW52YWxpZFBhc3N3b3JkTWVzc2FnZSIsImRlYnVnIiwiZ2V0TG9naW5GcmFtZSIsInBhZ2UiLCJmcmFtZSIsImZyYW1lcyIsImZpbmQiLCJmIiwidXJsIiwiaW5jbHVkZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkVycm9yIiwiaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IiLCJlcnJvckZvdW5kIiwiZXJyb3JNZXNzYWdlIiwiaXRlbSIsImlubmVyVGV4dCIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJvcHRpb25zIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZ2V0QW1vdW50RGF0YSIsImFtb3VudFN0ciIsImFtb3VudFN0ckNsbiIsInJlcGxhY2UiLCJjdXJyZW5jeSIsImFtb3VudCIsIlNIRUtFTF9DVVJSRU5DWV9TWU1CT0wiLCJwYXJzZUZsb2F0IiwiU0hFS0VMX0NVUlJFTkNZIiwiRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCIsIkRPTExBUl9DVVJSRU5DWSIsIkVVUk9fQ1VSUkVOQ1lfU1lNQk9MIiwiRVVST19DVVJSRU5DWSIsInBhcnRzIiwic3BsaXQiLCJnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyIsIm1lbW8iLCJwYXJzZWRNZW1vIiwiZXhlYyIsImxlbmd0aCIsIm51bWJlciIsInBhcnNlSW50IiwidG90YWwiLCJjb252ZXJ0VHJhbnNhY3Rpb25zIiwidHhucyIsIm1hcCIsInR4biIsIm9yaWdpbmFsQW1vdW50VHVwbGUiLCJvcmlnaW5hbEFtb3VudCIsImNoYXJnZWRBbW91bnRUdXBsZSIsImNoYXJnZWRBbW91bnQiLCJpbnN0YWxsbWVudHMiLCJ0eG5EYXRlIiwiZGF0ZSIsInByb2Nlc3NlZERhdGVGb3JtYXQiLCJwcm9jZXNzZWREYXRlIiwidHhuUHJvY2Vzc2VkRGF0ZSIsInJlc3VsdCIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiSW5zdGFsbG1lbnRzIiwiTm9ybWFsIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsImFkZCIsInRvSVNPU3RyaW5nIiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRDdXJyZW5jeSIsImRlc2NyaXB0aW9uIiwiZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50Iiwic3RhcnREYXRlIiwiYWNjb3VudE51bWJlciIsInNjcmFwZXJPcHRpb25zIiwic3RhcnREYXRlVmFsdWUiLCJmb3JtYXQiLCJkYXRlU2VsZWN0b3IiLCJkYXRlSGlkZGVuRmllbGRTZWxlY3RvciIsImJ1dHRvblNlbGVjdG9yIiwibmV4dFBhZ2VTZWxlY3RvciIsImJpbGxpbmdMYWJlbFNlbGVjdG9yIiwibm9EYXRhU2VsZWN0b3IiLCJpdGVtcyIsImVsIiwic3RhcnREYXRlSW5kZXgiLCJmaW5kSW5kZXgiLCJvcHRpb24iLCJhY2NvdW50VHJhbnNhY3Rpb25zIiwiY3VycmVudERhdGVJbmRleCIsIndhaXRGb3IiLCJhbGwiLCJ3YWl0Rm9yTmF2aWdhdGlvbiIsIndhaXRVbnRpbCIsInBhZ2VIYXNOb1RyYW5zYWN0aW9ucyIsImVsZW1lbnQiLCJzaXRlVmFsdWUiLCJiaWxsaW5nRGF0ZUxhYmVsIiwiYmlsbGluZ0RhdGUiLCJoYXNOZXh0UGFnZSIsInJhd1RyYW5zYWN0aW9ucyIsImNvbHVtbnMiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsInB1c2giLCJmaWx0ZXIiLCJjb21iaW5lSW5zdGFsbG1lbnRzIiwic3Vic3RyaW5nIiwiZ2V0QWNjb3VudE51bWJlcnMiLCJlbGVtZW50cyIsImUiLCJ0ZXh0IiwidGhlbiIsInJlcyIsInRyaW0iLCJzZXRBY2NvdW50IiwiYWNjb3VudCIsImVsZW0iLCJhIiwiY2xpY2siLCJmZXRjaFRyYW5zYWN0aW9ucyIsImFjY291bnROdW1iZXJzIiwiYWNjb3VudHMiLCJWaXNhQ2FsU2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwicG9zc2libGVSZXN1bHRzIiwiY2hlY2tSZWFkaW5lc3MiLCJwcmVBY3Rpb24iLCJvcGVuTG9naW5Qb3B1cCIsInVzZXJBZ2VudCIsImZldGNoRGF0YSIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0IiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJuYXZpZ2F0ZVRvIiwidW5kZWZpbmVkIiwic3VjY2VzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFHQTs7QUFRQTs7QUFHQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsTUFBTUEsU0FBUyxHQUFHLCtCQUFsQjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLHVGQUF6QjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLFlBQXpCO0FBQ0EsTUFBTUMsV0FBVyxHQUFHLFVBQXBCO0FBQ0EsTUFBTUMsc0JBQXNCLEdBQUcsbUNBQS9CO0FBRUEsTUFBTUMsS0FBSyxHQUFHLHFCQUFTLFVBQVQsQ0FBZDs7QUFXQSxlQUFlQyxhQUFmLENBQTZCQyxJQUE3QixFQUF5QztBQUN2QyxNQUFJQyxLQUFtQixHQUFHLElBQTFCO0FBQ0FILEVBQUFBLEtBQUssQ0FBQyw4QkFBRCxDQUFMO0FBQ0EsUUFBTSx3QkFBVSxNQUFNO0FBQ3BCRyxJQUFBQSxLQUFLLEdBQUdELElBQUksQ0FDVEUsTUFESyxHQUVMQyxJQUZLLENBRUNDLENBQUQsSUFBT0EsQ0FBQyxDQUFDQyxHQUFGLEdBQVFDLFFBQVIsQ0FBaUIsb0JBQWpCLENBRlAsS0FFa0QsSUFGMUQ7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ZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEZyYW1lLCBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luT3B0aW9ucywgTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7XG4gIGNsaWNrQnV0dG9uLCBlbGVtZW50UHJlc2VudE9uUGFnZSwgcGFnZUV2YWwsIHBhZ2VFdmFsQWxsLCBzZXRWYWx1ZSwgd2FpdFVudGlsRWxlbWVudEZvdW5kLFxufSBmcm9tICcuLi9oZWxwZXJzL2VsZW1lbnRzLWludGVyYWN0aW9ucyc7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25JbnN0YWxsbWVudHMsXG4gIFRyYW5zYWN0aW9uc0FjY291bnQsXG4gIFRyYW5zYWN0aW9uU3RhdHVzZXMsXG4gIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBTY2FwZXJPcHRpb25zLCBTY2FwZXJTY3JhcGluZ1Jlc3VsdCwgU2NyYXBlckNyZWRlbnRpYWxzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHtcbiAgRE9MTEFSX0NVUlJFTkNZLCBET0xMQVJfQ1VSUkVOQ1lfU1lNQk9MLCBFVVJPX0NVUlJFTkNZLCBFVVJPX0NVUlJFTkNZX1NZTUJPTCwgU0hFS0VMX0NVUlJFTkNZLCBTSEVLRUxfQ1VSUkVOQ1lfU1lNQk9MLFxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgd2FpdFVudGlsIH0gZnJvbSAnLi4vaGVscGVycy93YWl0aW5nJztcbmltcG9ydCB7IGZpbHRlck9sZFRyYW5zYWN0aW9ucyB9IGZyb20gJy4uL2hlbHBlcnMvdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IGdldERlYnVnIH0gZnJvbSAnLi4vaGVscGVycy9kZWJ1Zyc7XG5cbmNvbnN0IExPR0lOX1VSTCA9ICdodHRwczovL3d3dy5jYWwtb25saW5lLmNvLmlsLyc7XG5jb25zdCBUUkFOU0FDVElPTlNfVVJMID0gJ2h0dHBzOi8vc2VydmljZXMuY2FsLW9ubGluZS5jby5pbC9DYXJkLUhvbGRlcnMvU2NyZWVucy9UcmFuc2FjdGlvbnMvVHJhbnNhY3Rpb25zLmFzcHgnO1xuY29uc3QgTE9OR19EQVRFX0ZPUk1BVCA9ICdERC9NTS9ZWVlZJztcbmNvbnN0IERBVEVfRk9STUFUID0gJ0REL01NL1lZJztcbmNvbnN0IEludmFsaWRQYXNzd29yZE1lc3NhZ2UgPSAn16nXnSDXlNee16nXqtee16kg15DXlSDXlNeh15nXodee15Qg16nXlNeV15bXoNeVINep15LXldeZ15nXnSc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ3Zpc2EtY2FsJyk7XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb24ge1xuICBkYXRlOiBzdHJpbmc7XG4gIHByb2Nlc3NlZERhdGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgb3JpZ2luYWxBbW91bnQ6IHN0cmluZztcbiAgY2hhcmdlZEFtb3VudDogc3RyaW5nO1xuICBtZW1vOiBzdHJpbmc7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldExvZ2luRnJhbWUocGFnZTogUGFnZSkge1xuICBsZXQgZnJhbWU6IEZyYW1lIHwgbnVsbCA9IG51bGw7XG4gIGRlYnVnKCd3YWl0IHVudGlsIGxvZ2luIGZyYW1lIGZvdW5kJyk7XG4gIGF3YWl0IHdhaXRVbnRpbCgoKSA9PiB7XG4gICAgZnJhbWUgPSBwYWdlXG4gICAgICAuZnJhbWVzKClcbiAgICAgIC5maW5kKChmKSA9PiBmLnVybCgpLmluY2x1ZGVzKCdjb25uZWN0LmNhbC1vbmxpbmUnKSkgfHwgbnVsbDtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCEhZnJhbWUpO1xuICB9LCAnd2FpdCBmb3IgaWZyYW1lIHdpdGggbG9naW4gZm9ybScsIDEwMDAwLCAxMDAwKTtcblxuICBpZiAoIWZyYW1lKSB7XG4gICAgZGVidWcoJ2ZhaWxlZCB0byBmaW5kIGxvZ2luIGZyYW1lIGZvciAxMCBzZWNvbmRzJyk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdmYWlsZWQgdG8gZXh0cmFjdCBsb2dpbiBpZnJhbWUnKTtcbiAgfVxuXG4gIHJldHVybiBmcmFtZTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IocGFnZTogUGFnZSkge1xuICBjb25zdCBmcmFtZSA9IGF3YWl0IGdldExvZ2luRnJhbWUocGFnZSk7XG4gIGNvbnN0IGVycm9yRm91bmQgPSBhd2FpdCBlbGVtZW50UHJlc2VudE9uUGFnZShmcmFtZSwgJ2Rpdi5nZW5lcmFsLWVycm9yID4gZGl2Jyk7XG4gIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yRm91bmQgPyBhd2FpdCBwYWdlRXZhbChmcmFtZSwgJ2Rpdi5nZW5lcmFsLWVycm9yID4gZGl2JywgJycsIChpdGVtKSA9PiB7XG4gICAgcmV0dXJuIChpdGVtIGFzIEhUTUxEaXZFbGVtZW50KS5pbm5lclRleHQ7XG4gIH0pIDogJyc7XG4gIHJldHVybiBlcnJvck1lc3NhZ2UgPT09IEludmFsaWRQYXNzd29yZE1lc3NhZ2U7XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCkge1xuICBkZWJ1ZygncmV0dXJuIHBvc3NpYmxlIGxvZ2luIHJlc3VsdHMnKTtcbiAgY29uc3QgdXJsczogTG9naW5PcHRpb25zWydwb3NzaWJsZVJlc3VsdHMnXSA9IHtcbiAgICBbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdOiBbL0FjY291bnRNYW5hZ2VtZW50L2ldLFxuICAgIFtMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXTogW2FzeW5jIChvcHRpb25zPzogeyBwYWdlPzogUGFnZX0pID0+IHtcbiAgICAgIGNvbnN0IHBhZ2UgPSBvcHRpb25zPy5wYWdlO1xuICAgICAgaWYgKCFwYWdlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBoYXNJbnZhbGlkUGFzc3dvcmRFcnJvcihwYWdlKTtcbiAgICB9XSxcbiAgICAvLyBbTG9naW5SZXN1bHRzLkFjY291bnRCbG9ja2VkXTogW10sIC8vIFRPRE8gYWRkIHdoZW4gcmVhY2hpbmcgdGhpcyBzY2VuYXJpb1xuICAgIC8vIFtMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdOiBbXSwgLy8gVE9ETyBhZGQgd2hlbiByZWFjaGluZyB0aGlzIHNjZW5hcmlvXG4gIH07XG4gIHJldHVybiB1cmxzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKSB7XG4gIGRlYnVnKCdjcmVhdGUgbG9naW4gZmllbGRzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQnKTtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiAnW2Zvcm1jb250cm9sbmFtZT1cInVzZXJOYW1lXCJdJywgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lIH0sXG4gICAgeyBzZWxlY3RvcjogJ1tmb3JtY29udHJvbG5hbWU9XCJwYXNzd29yZFwiXScsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5cbmZ1bmN0aW9uIGdldEFtb3VudERhdGEoYW1vdW50U3RyOiBzdHJpbmcpIHtcbiAgY29uc3QgYW1vdW50U3RyQ2xuID0gYW1vdW50U3RyLnJlcGxhY2UoJywnLCAnJyk7XG4gIGxldCBjdXJyZW5jeTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIGxldCBhbW91bnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBpZiAoYW1vdW50U3RyQ2xuLmluY2x1ZGVzKFNIRUtFTF9DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gLXBhcnNlRmxvYXQoYW1vdW50U3RyQ2xuLnJlcGxhY2UoU0hFS0VMX0NVUlJFTkNZX1NZTUJPTCwgJycpKTtcbiAgICBjdXJyZW5jeSA9IFNIRUtFTF9DVVJSRU5DWTtcbiAgfSBlbHNlIGlmIChhbW91bnRTdHJDbG4uaW5jbHVkZXMoRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCkpIHtcbiAgICBhbW91bnQgPSAtcGFyc2VGbG9hdChhbW91bnRTdHJDbG4ucmVwbGFjZShET0xMQVJfQ1VSUkVOQ1lfU1lNQk9MLCAnJykpO1xuICAgIGN1cnJlbmN5ID0gRE9MTEFSX0NVUlJFTkNZO1xuICB9IGVsc2UgaWYgKGFtb3VudFN0ckNsbi5pbmNsdWRlcyhFVVJPX0NVUlJFTkNZX1NZTUJPTCkpIHtcbiAgICBhbW91bnQgPSAtcGFyc2VGbG9hdChhbW91bnRTdHJDbG4ucmVwbGFjZShFVVJPX0NVUlJFTkNZX1NZTUJPTCwgJycpKTtcbiAgICBjdXJyZW5jeSA9IEVVUk9fQ1VSUkVOQ1k7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgcGFydHMgPSBhbW91bnRTdHJDbG4uc3BsaXQoJyAnKTtcbiAgICBbY3VycmVuY3ldID0gcGFydHM7XG4gICAgYW1vdW50ID0gLXBhcnNlRmxvYXQocGFydHNbMV0pO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhbW91bnQsXG4gICAgY3VycmVuY3ksXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uSW5zdGFsbG1lbnRzKG1lbW86IHN0cmluZyk6IFRyYW5zYWN0aW9uSW5zdGFsbG1lbnRzIHwgbnVsbCB7XG4gIGNvbnN0IHBhcnNlZE1lbW8gPSAoL9eq16nXnNeV150gKFxcZCspINee16rXldeaIChcXGQrKS8pLmV4ZWMobWVtbyB8fCAnJyk7XG5cbiAgaWYgKCFwYXJzZWRNZW1vIHx8IHBhcnNlZE1lbW8ubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG51bWJlcjogcGFyc2VJbnQocGFyc2VkTWVtb1sxXSwgMTApLFxuICAgIHRvdGFsOiBwYXJzZUludChwYXJzZWRNZW1vWzJdLCAxMCksXG4gIH07XG59XG5mdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSB7XG4gIGRlYnVnKGBjb252ZXJ0ICR7dHhucy5sZW5ndGh9IHJhdyB0cmFuc2FjdGlvbnMgdG8gb2ZmaWNpYWwgVHJhbnNhY3Rpb24gc3RydWN0dXJlYCk7XG4gIHJldHVybiB0eG5zLm1hcCgodHhuKSA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYWxBbW91bnRUdXBsZSA9IGdldEFtb3VudERhdGEodHhuLm9yaWdpbmFsQW1vdW50IHx8ICcnKTtcbiAgICBjb25zdCBjaGFyZ2VkQW1vdW50VHVwbGUgPSBnZXRBbW91bnREYXRhKHR4bi5jaGFyZ2VkQW1vdW50IHx8ICcnKTtcblxuICAgIGNvbnN0IGluc3RhbGxtZW50cyA9IGdldFRyYW5zYWN0aW9uSW5zdGFsbG1lbnRzKHR4bi5tZW1vKTtcbiAgICBjb25zdCB0eG5EYXRlID0gbW9tZW50KHR4bi5kYXRlLCBEQVRFX0ZPUk1BVCk7XG4gICAgY29uc3QgcHJvY2Vzc2VkRGF0ZUZvcm1hdCA9XG4gICAgICB0eG4ucHJvY2Vzc2VkRGF0ZS5sZW5ndGggPT09IDggP1xuICAgICAgICBEQVRFX0ZPUk1BVCA6XG4gICAgICAgIHR4bi5wcm9jZXNzZWREYXRlLmxlbmd0aCA9PT0gOSB8fCB0eG4ucHJvY2Vzc2VkRGF0ZS5sZW5ndGggPT09IDEwID9cbiAgICAgICAgICBMT05HX0RBVEVfRk9STUFUIDpcbiAgICAgICAgICBudWxsO1xuICAgIGlmICghcHJvY2Vzc2VkRGF0ZUZvcm1hdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHByb2Nlc3NlZCBkYXRlJyk7XG4gICAgfVxuICAgIGNvbnN0IHR4blByb2Nlc3NlZERhdGUgPSBtb21lbnQodHhuLnByb2Nlc3NlZERhdGUsIHByb2Nlc3NlZERhdGVGb3JtYXQpO1xuXG4gICAgY29uc3QgcmVzdWx0OiBUcmFuc2FjdGlvbiA9IHtcbiAgICAgIHR5cGU6IGluc3RhbGxtZW50cyA/IFRyYW5zYWN0aW9uVHlwZXMuSW5zdGFsbG1lbnRzIDogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICAgICAgZGF0ZTogaW5zdGFsbG1lbnRzID8gdHhuRGF0ZS5hZGQoaW5zdGFsbG1lbnRzLm51bWJlciAtIDEsICdtb250aCcpLnRvSVNPU3RyaW5nKCkgOiB0eG5EYXRlLnRvSVNPU3RyaW5nKCksXG4gICAgICBwcm9jZXNzZWREYXRlOiB0eG5Qcm9jZXNzZWREYXRlLnRvSVNPU3RyaW5nKCksXG4gICAgICBvcmlnaW5hbEFtb3VudDogb3JpZ2luYWxBbW91bnRUdXBsZS5hbW91bnQsXG4gICAgICBvcmlnaW5hbEN1cnJlbmN5OiBvcmlnaW5hbEFtb3VudFR1cGxlLmN1cnJlbmN5LFxuICAgICAgY2hhcmdlZEFtb3VudDogY2hhcmdlZEFtb3VudFR1cGxlLmFtb3VudCxcbiAgICAgIGNoYXJnZWRDdXJyZW5jeTogY2hhcmdlZEFtb3VudFR1cGxlLmN1cnJlbmN5LFxuICAgICAgZGVzY3JpcHRpb246IHR4bi5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIG1lbW86IHR4bi5tZW1vIHx8ICcnLFxuICAgIH07XG5cbiAgICBpZiAoaW5zdGFsbG1lbnRzKSB7XG4gICAgICByZXN1bHQuaW5zdGFsbG1lbnRzID0gaW5zdGFsbG1lbnRzO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQocGFnZTogUGFnZSwgc3RhcnREYXRlOiBNb21lbnQsIGFjY291bnROdW1iZXI6IHN0cmluZywgc2NyYXBlck9wdGlvbnM6IFNjYXBlck9wdGlvbnMpOiBQcm9taXNlPFRyYW5zYWN0aW9uc0FjY291bnQ+IHtcbiAgY29uc3Qgc3RhcnREYXRlVmFsdWUgPSBzdGFydERhdGUuZm9ybWF0KCdNTS9ZWVlZJyk7XG4gIGNvbnN0IGRhdGVTZWxlY3RvciA9ICdbaWQkPVwiRm9ybUFyZWFOb0JvcmRlcl9Gb3JtQXJlYV9jbG5kckRlYml0RGF0ZVNjb3BlX1RleHRCb3hcIl0nO1xuICBjb25zdCBkYXRlSGlkZGVuRmllbGRTZWxlY3RvciA9ICdbaWQkPVwiRm9ybUFyZWFOb0JvcmRlcl9Gb3JtQXJlYV9jbG5kckRlYml0RGF0ZVNjb3BlX0hpZGRlbkZpZWxkXCJdJztcbiAgY29uc3QgYnV0dG9uU2VsZWN0b3IgPSAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY3RsU3VibWl0UmVxdWVzdFwiXSc7XG4gIGNvbnN0IG5leHRQYWdlU2VsZWN0b3IgPSAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY3RsR3JpZFBhZ2VyX2J0bk5leHRcIl0nO1xuICBjb25zdCBiaWxsaW5nTGFiZWxTZWxlY3RvciA9ICdbaWQkPUZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY3RsTWFpblRvb2xCYXJfbGJsQ2FwdGlvbl0nO1xuICBjb25zdCBub0RhdGFTZWxlY3RvciA9ICdbaWQkPUZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfbXNnYm94RXJyb3JNZXNzYWdlc10nO1xuXG4gIGRlYnVnKCdmaW5kIHRoZSBzdGFydCBkYXRlIGluZGV4IGluIHRoZSBkcm9wYm94Jyk7XG4gIGNvbnN0IG9wdGlvbnMgPSBhd2FpdCBwYWdlRXZhbEFsbChwYWdlLCAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY2xuZHJEZWJpdERhdGVTY29wZV9PcHRpb25MaXN0XCJdIGxpJywgW10sIChpdGVtcykgPT4ge1xuICAgIHJldHVybiBpdGVtcy5tYXAoKGVsOiBhbnkpID0+IGVsLmlubmVyVGV4dCk7XG4gIH0pO1xuICBjb25zdCBzdGFydERhdGVJbmRleCA9IG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbiA9PT0gc3RhcnREYXRlVmFsdWUpO1xuXG4gIGRlYnVnKGBzY3JhcGUgJHtvcHRpb25zLmxlbmd0aCAtIHN0YXJ0RGF0ZUluZGV4fSBiaWxsaW5nIGN5Y2xlc2ApO1xuICBjb25zdCBhY2NvdW50VHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gW107XG4gIGZvciAobGV0IGN1cnJlbnREYXRlSW5kZXggPSBzdGFydERhdGVJbmRleDsgY3VycmVudERhdGVJbmRleCA8IG9wdGlvbnMubGVuZ3RoOyBjdXJyZW50RGF0ZUluZGV4ICs9IDEpIHtcbiAgICBkZWJ1Zygnd2FpdCBmb3IgZGF0ZSBzZWxlY3RvciB0byBiZSBmb3VuZCcpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBkYXRlU2VsZWN0b3IsIHRydWUpO1xuICAgIGRlYnVnKGBzZXQgaGlkZGVuIHZhbHVlIG9mIHRoZSBkYXRlIHNlbGVjdG9yIHRvIGJlIHRoZSBpbmRleCAke2N1cnJlbnREYXRlSW5kZXh9YCk7XG4gICAgYXdhaXQgc2V0VmFsdWUocGFnZSwgZGF0ZUhpZGRlbkZpZWxkU2VsZWN0b3IsIGAke2N1cnJlbnREYXRlSW5kZXh9YCk7XG4gICAgZGVidWcoJ3dhaXQgYSBzZWNvbmQgdG8gd29ya2Fyb3VuZCBuYXZpZ2F0aW9uIGlzc3VlIGluIGhlYWRsZXNzIGJyb3dzZXIgbW9kZScpO1xuICAgIGF3YWl0IHBhZ2Uud2FpdEZvcigxMDAwKTtcbiAgICBkZWJ1ZygnY2xpY2sgb24gdGhlIGZpbHRlciBzdWJtaXQgYnV0dG9uIGFuZCB3YWl0IGZvciBuYXZpZ2F0aW9uJyk7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgcGFnZS53YWl0Rm9yTmF2aWdhdGlvbih7IHdhaXRVbnRpbDogJ2RvbWNvbnRlbnRsb2FkZWQnIH0pLFxuICAgICAgY2xpY2tCdXR0b24ocGFnZSwgYnV0dG9uU2VsZWN0b3IpLFxuICAgIF0pO1xuICAgIGRlYnVnKCdjaGVjayBpZiBtb250aCBoYXMgbm8gdHJhbnNhY3Rpb25zJyk7XG4gICAgY29uc3QgcGFnZUhhc05vVHJhbnNhY3Rpb25zID0gYXdhaXQgcGFnZUV2YWwocGFnZSwgbm9EYXRhU2VsZWN0b3IsIGZhbHNlLCAoKGVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHNpdGVWYWx1ZSA9ICgoZWxlbWVudCBhcyBIVE1MU3BhbkVsZW1lbnQpLmlubmVyVGV4dCB8fCAnJykucmVwbGFjZSgvW14g15At16pdL2csICcnKTtcbiAgICAgIHJldHVybiBzaXRlVmFsdWUgPT09ICfXnNeQINeg157XpteQ15Ug16DXqteV16DXmdedJztcbiAgICB9KSk7XG5cbiAgICBpZiAocGFnZUhhc05vVHJhbnNhY3Rpb25zKSB7XG4gICAgICBkZWJ1ZygncGFnZSBoYXMgbm8gdHJhbnNhY3Rpb25zJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlYnVnKCdmaW5kIHRoZSBiaWxsaW5nIGRhdGUnKTtcbiAgICAgIGNvbnN0IGJpbGxpbmdEYXRlTGFiZWwgPSBhd2FpdCBwYWdlRXZhbChwYWdlLCBiaWxsaW5nTGFiZWxTZWxlY3RvciwgJycsICgoZWxlbWVudCkgPT4ge1xuICAgICAgICByZXR1cm4gKGVsZW1lbnQgYXMgSFRNTFNwYW5FbGVtZW50KS5pbm5lclRleHQ7XG4gICAgICB9KSk7XG5cbiAgICAgIGNvbnN0IGJpbGxpbmdEYXRlID0gL1xcZHsxLDJ9Wy9dXFxkezJ9Wy9dXFxkezIsNH0vLmV4ZWMoYmlsbGluZ0RhdGVMYWJlbCk/LlswXTtcblxuICAgICAgaWYgKCFiaWxsaW5nRGF0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZhaWxlZCB0byBmZXRjaCBwcm9jZXNzIGRhdGUnKTtcbiAgICAgIH1cblxuICAgICAgZGVidWcoYGZvdW5kIHRoZSBiaWxsaW5nIGRhdGUgZm9yIHRoYXQgbW9udGggJHtiaWxsaW5nRGF0ZX1gKTtcbiAgICAgIGxldCBoYXNOZXh0UGFnZSA9IGZhbHNlO1xuICAgICAgZG8ge1xuICAgICAgICBkZWJ1ZygnZmV0Y2ggcmF3IHRyYW5zYWN0aW9ucyBmcm9tIHBhZ2UnKTtcbiAgICAgICAgY29uc3QgcmF3VHJhbnNhY3Rpb25zID0gYXdhaXQgcGFnZUV2YWxBbGw8KFNjcmFwZWRUcmFuc2FjdGlvbiB8IG51bGwpW10+KHBhZ2UsICcjY3RsTWFpbkdyaWQgPiB0Ym9keSB0ciwgI2N0bFNlY29uZGFyeUdyaWQgPiB0Ym9keSB0cicsIFtdLCAoaXRlbXMsIGJpbGxpbmdEYXRlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChpdGVtcykubWFwKChlbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29sdW1ucyA9IGVsLmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0ZCcpO1xuICAgICAgICAgICAgaWYgKGNvbHVtbnMubGVuZ3RoID09PSA2KSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc2VkRGF0ZTogY29sdW1uc1swXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgZGF0ZTogY29sdW1uc1sxXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGNvbHVtbnNbMl0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIG9yaWdpbmFsQW1vdW50OiBjb2x1bW5zWzNdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBjaGFyZ2VkQW1vdW50OiBjb2x1bW5zWzRdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBtZW1vOiBjb2x1bW5zWzVdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjb2x1bW5zLmxlbmd0aCA9PT0gNSkge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHByb2Nlc3NlZERhdGU6IGJpbGxpbmdEYXRlLFxuICAgICAgICAgICAgICAgIGRhdGU6IGNvbHVtbnNbMF0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjb2x1bW5zWzFdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEFtb3VudDogY29sdW1uc1syXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgY2hhcmdlZEFtb3VudDogY29sdW1uc1szXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgbWVtbzogY29sdW1uc1s0XS5pbm5lclRleHQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgYmlsbGluZ0RhdGUpO1xuICAgICAgICBkZWJ1ZyhgZmV0Y2hlZCAke3Jhd1RyYW5zYWN0aW9ucy5sZW5ndGh9IHJhdyB0cmFuc2FjdGlvbnMgZnJvbSBwYWdlYCk7XG4gICAgICAgIGFjY291bnRUcmFuc2FjdGlvbnMucHVzaCguLi5jb252ZXJ0VHJhbnNhY3Rpb25zKChyYXdUcmFuc2FjdGlvbnMgYXMgU2NyYXBlZFRyYW5zYWN0aW9uW10pXG4gICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKSkpO1xuXG4gICAgICAgIGRlYnVnKCdjaGVjayBmb3IgZXhpc3RhbmNlIG9mIGFub3RoZXIgcGFnZScpO1xuICAgICAgICBoYXNOZXh0UGFnZSA9IGF3YWl0IGVsZW1lbnRQcmVzZW50T25QYWdlKHBhZ2UsIG5leHRQYWdlU2VsZWN0b3IpO1xuICAgICAgICBpZiAoaGFzTmV4dFBhZ2UpIHtcbiAgICAgICAgICBkZWJ1ZygnaGFzIGFub3RoZXIgcGFnZSwgY2xpY2sgb24gYnV0dG9uIG5leHQgYW5kIHdhaXQgZm9yIHBhZ2UgbmF2aWdhdGlvbicpO1xuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgIHBhZ2Uud2FpdEZvck5hdmlnYXRpb24oeyB3YWl0VW50aWw6ICdkb21jb250ZW50bG9hZGVkJyB9KSxcbiAgICAgICAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsICdbaWQkPUZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY3RsR3JpZFBhZ2VyX2J0bk5leHRdJyksXG4gICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgIH0gd2hpbGUgKGhhc05leHRQYWdlKTtcbiAgICB9XG4gIH1cblxuICBkZWJ1ZygnZmlsZXIgb3V0IG9sZCB0cmFuc2FjdGlvbnMnKTtcbiAgY29uc3QgdHhucyA9IGZpbHRlck9sZFRyYW5zYWN0aW9ucyhhY2NvdW50VHJhbnNhY3Rpb25zLCBzdGFydERhdGUsIHNjcmFwZXJPcHRpb25zLmNvbWJpbmVJbnN0YWxsbWVudHMgfHwgZmFsc2UpO1xuICBkZWJ1ZyhgZm91bmQgJHt0eG5zLmxlbmd0aH0gdmFsaWQgdHJhbnNhY3Rpb25zIG91dCBvZiAke2FjY291bnRUcmFuc2FjdGlvbnMubGVuZ3RofSB0cmFuc2FjdGlvbnMgZm9yIGFjY291bnQgZW5kaW5nIHdpdGggJHthY2NvdW50TnVtYmVyLnN1YnN0cmluZyhhY2NvdW50TnVtYmVyLmxlbmd0aCAtIDIpfWApO1xuICByZXR1cm4ge1xuICAgIGFjY291bnROdW1iZXIsXG4gICAgdHhucyxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0QWNjb3VudE51bWJlcnMocGFnZTogUGFnZSk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgcmV0dXJuIHBhZ2VFdmFsQWxsKHBhZ2UsICdbaWQkPWxua0l0ZW1dJywgW10sIChlbGVtZW50cykgPT4gZWxlbWVudHMubWFwKChlKSA9PiAoZSBhcyBIVE1MQW5jaG9yRWxlbWVudCkudGV4dCkpLnRoZW4oKHJlcykgPT4gcmVzLm1hcCgodGV4dCkgPT4gL1xcZCskLy5leGVjKHRleHQudHJpbSgpKT8uWzBdID8/ICcnKSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNldEFjY291bnQocGFnZTogUGFnZSwgYWNjb3VudDogc3RyaW5nKSB7XG4gIGF3YWl0IHBhZ2VFdmFsQWxsKFxuICAgIHBhZ2UsXG4gICAgJ1tpZCQ9bG5rSXRlbV0nLFxuICAgIG51bGwsXG4gICAgKGVsZW1lbnRzLCBhY2NvdW50KSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGVsZW0gb2YgZWxlbWVudHMpIHtcbiAgICAgICAgY29uc3QgYSA9IGVsZW0gYXMgSFRNTEFuY2hvckVsZW1lbnQ7XG4gICAgICAgIGlmIChhLnRleHQuaW5jbHVkZXMoYWNjb3VudCkpIHtcbiAgICAgICAgICBhLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIGFjY291bnQsXG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zKHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50LCBzY3JhcGVyT3B0aW9uczogU2NhcGVyT3B0aW9ucyk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudFtdPiB7XG4gIGNvbnN0IGFjY291bnROdW1iZXJzOiBzdHJpbmdbXSA9IGF3YWl0IGdldEFjY291bnROdW1iZXJzKHBhZ2UpO1xuICBjb25zdCBhY2NvdW50czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgZm9yIChjb25zdCBhY2NvdW50IG9mIGFjY291bnROdW1iZXJzKSB7XG4gICAgZGVidWcoYHNldHRpbmcgYWNjb3VudDogJHthY2NvdW50fWApO1xuICAgIGF3YWl0IHNldEFjY291bnQocGFnZSwgYWNjb3VudCk7XG4gICAgYXdhaXQgcGFnZS53YWl0Rm9yKDEwMDApO1xuICAgIGFjY291bnRzLnB1c2goXG4gICAgICBhd2FpdCBmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQoXG4gICAgICAgIHBhZ2UsXG4gICAgICAgIHN0YXJ0RGF0ZSxcbiAgICAgICAgYWNjb3VudCxcbiAgICAgICAgc2NyYXBlck9wdGlvbnMsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gYWNjb3VudHM7XG59XG5cblxuY2xhc3MgVmlzYUNhbFNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIHtcbiAgb3BlbkxvZ2luUG9wdXAgPSBhc3luYyAoKSA9PiB7XG4gICAgZGVidWcoJ29wZW4gbG9naW4gcG9wdXAsIHdhaXQgdW50aWwgbG9naW4gYnV0dG9uIGF2YWlsYWJsZScpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICcjY2NMb2dpbkRlc2t0b3BCdG4nLCB0cnVlKTtcbiAgICBkZWJ1ZygnY2xpY2sgb24gdGhlIGxvZ2luIGJ1dHRvbicpO1xuICAgIGF3YWl0IGNsaWNrQnV0dG9uKHRoaXMucGFnZSwgJyNjY0xvZ2luRGVza3RvcEJ0bicpO1xuICAgIGRlYnVnKCdnZXQgdGhlIGZyYW1lIHRoYXQgaG9sZHMgdGhlIGxvZ2luJyk7XG4gICAgY29uc3QgZnJhbWUgPSBhd2FpdCBnZXRMb2dpbkZyYW1lKHRoaXMucGFnZSk7XG4gICAgZGVidWcoJ3dhaXQgdW50aWwgdGhlIHBhc3N3b3JkIGxvZ2luIHRhYiBoZWFkZXIgaXMgYXZhaWxhYmxlJyk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKGZyYW1lLCAnI3JlZ3VsYXItbG9naW4nKTtcbiAgICBkZWJ1ZygnbmF2aWdhdGUgdG8gdGhlIHBhc3N3b3JkIGxvZ2luIHRhYicpO1xuICAgIGF3YWl0IGNsaWNrQnV0dG9uKGZyYW1lLCAnI3JlZ3VsYXItbG9naW4nKTtcbiAgICBkZWJ1Zygnd2FpdCB1bnRpbCB0aGUgcGFzc3dvcmQgbG9naW4gdGFiIGlzIGFjdGl2ZScpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChmcmFtZSwgJ3JlZ3VsYXItbG9naW4nKTtcblxuICAgIHJldHVybiBmcmFtZTtcbiAgfTtcblxuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IGAke0xPR0lOX1VSTH1gLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJ2J1dHRvblt0eXBlPVwic3VibWl0XCJdJyxcbiAgICAgIHBvc3NpYmxlUmVzdWx0czogZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoKSxcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnI2NjTG9naW5EZXNrdG9wQnRuJyksXG4gICAgICBwcmVBY3Rpb246IHRoaXMub3BlbkxvZ2luUG9wdXAsXG4gICAgICB1c2VyQWdlbnQ6ICdNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS83OC4wLjM5MDQuMTA4IFNhZmFyaS81MzcuMzYnLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKTogUHJvbWlzZTxTY2FwZXJTY3JhcGluZ1Jlc3VsdD4ge1xuICAgIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICd5ZWFycycpLmFkZCgxLCAnZGF5Jyk7XG4gICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5vcHRpb25zLnN0YXJ0RGF0ZSB8fCBkZWZhdWx0U3RhcnRNb21lbnQudG9EYXRlKCk7XG4gICAgY29uc3Qgc3RhcnRNb21lbnQgPSBtb21lbnQubWF4KGRlZmF1bHRTdGFydE1vbWVudCwgbW9tZW50KHN0YXJ0RGF0ZSkpO1xuICAgIGRlYnVnKGBmZXRjaCB0cmFuc2FjdGlvbnMgc3RhcnRpbmcgJHtzdGFydE1vbWVudC5mb3JtYXQoKX1gKTtcblxuICAgIGRlYnVnKCduYXZpZ2F0ZSB0byB0cmFuc2FjdGlvbnMgcGFnZScpO1xuICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUbyhUUkFOU0FDVElPTlNfVVJMLCB1bmRlZmluZWQsIDYwMDAwKTtcblxuICAgIGRlYnVnKCdmZXRjaCBhY2NvdW50cyB0cmFuc2FjdGlvbnMnKTtcbiAgICBjb25zdCBhY2NvdW50cyA9IGF3YWl0IGZldGNoVHJhbnNhY3Rpb25zKHRoaXMucGFnZSwgc3RhcnRNb21lbnQsIHRoaXMub3B0aW9ucyk7XG4gICAgZGVidWcoJ3JldHVybiB0aGUgc2NyYXBlZCBhY2NvdW50cycpO1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgYWNjb3VudHMsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBWaXNhQ2FsU2NyYXBlcjtcbiJdfQ==
|
|
379
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy92aXNhLWNhbC50cyJdLCJuYW1lcyI6WyJMT0dJTl9VUkwiLCJUUkFOU0FDVElPTlNfVVJMIiwiTE9OR19EQVRFX0ZPUk1BVCIsIkRBVEVfRk9STUFUIiwiSW52YWxpZFBhc3N3b3JkTWVzc2FnZSIsImRlYnVnIiwiZ2V0TG9naW5GcmFtZSIsInBhZ2UiLCJmcmFtZSIsImZyYW1lcyIsImZpbmQiLCJmIiwidXJsIiwiaW5jbHVkZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkVycm9yIiwiaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IiLCJlcnJvckZvdW5kIiwiZXJyb3JNZXNzYWdlIiwiaXRlbSIsImlubmVyVGV4dCIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJvcHRpb25zIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZ2V0QW1vdW50RGF0YSIsImFtb3VudFN0ciIsImFtb3VudFN0ckNsbiIsInJlcGxhY2UiLCJjdXJyZW5jeSIsImFtb3VudCIsIlNIRUtFTF9DVVJSRU5DWV9TWU1CT0wiLCJwYXJzZUZsb2F0IiwiU0hFS0VMX0NVUlJFTkNZIiwiRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCIsIkRPTExBUl9DVVJSRU5DWSIsIkVVUk9fQ1VSUkVOQ1lfU1lNQk9MIiwiRVVST19DVVJSRU5DWSIsInBhcnRzIiwic3BsaXQiLCJnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyIsIm1lbW8iLCJwYXJzZWRNZW1vIiwiZXhlYyIsImxlbmd0aCIsIm51bWJlciIsInBhcnNlSW50IiwidG90YWwiLCJjb252ZXJ0VHJhbnNhY3Rpb25zIiwidHhucyIsIm1hcCIsInR4biIsIm9yaWdpbmFsQW1vdW50VHVwbGUiLCJvcmlnaW5hbEFtb3VudCIsImNoYXJnZWRBbW91bnRUdXBsZSIsImNoYXJnZWRBbW91bnQiLCJpbnN0YWxsbWVudHMiLCJ0eG5EYXRlIiwiZGF0ZSIsInByb2Nlc3NlZERhdGVGb3JtYXQiLCJwcm9jZXNzZWREYXRlIiwidHhuUHJvY2Vzc2VkRGF0ZSIsInJlc3VsdCIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiSW5zdGFsbG1lbnRzIiwiTm9ybWFsIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsImFkZCIsInRvSVNPU3RyaW5nIiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRDdXJyZW5jeSIsImRlc2NyaXB0aW9uIiwiZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50Iiwic3RhcnREYXRlIiwiYWNjb3VudE51bWJlciIsInNjcmFwZXJPcHRpb25zIiwic3RhcnREYXRlVmFsdWUiLCJmb3JtYXQiLCJkYXRlU2VsZWN0b3IiLCJkYXRlSGlkZGVuRmllbGRTZWxlY3RvciIsImJ1dHRvblNlbGVjdG9yIiwibmV4dFBhZ2VTZWxlY3RvciIsImJpbGxpbmdMYWJlbFNlbGVjdG9yIiwic2Vjb25kYXJ5QmlsbGluZ0xhYmVsU2VsZWN0b3IiLCJub0RhdGFTZWxlY3RvciIsIml0ZW1zIiwiZWwiLCJzdGFydERhdGVJbmRleCIsImZpbmRJbmRleCIsIm9wdGlvbiIsImFjY291bnRUcmFuc2FjdGlvbnMiLCJjdXJyZW50RGF0ZUluZGV4Iiwid2FpdEZvciIsImFsbCIsIndhaXRGb3JOYXZpZ2F0aW9uIiwid2FpdFVudGlsIiwicGFnZUhhc05vVHJhbnNhY3Rpb25zIiwiZWxlbWVudCIsInNpdGVWYWx1ZSIsImJpbGxpbmdEYXRlTGFiZWwiLCJzZXR0bGVtZW50RGF0ZVJlZ2V4IiwiYmlsbGluZ0RhdGUiLCJoYXNOZXh0UGFnZSIsInJhd1RyYW5zYWN0aW9ucyIsImNvbHVtbnMiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsInB1c2giLCJmaWx0ZXIiLCJjb21iaW5lSW5zdGFsbG1lbnRzIiwic3Vic3RyaW5nIiwiZ2V0QWNjb3VudE51bWJlcnMiLCJlbGVtZW50cyIsImUiLCJ0ZXh0IiwidGhlbiIsInJlcyIsInRyaW0iLCJzZXRBY2NvdW50IiwiYWNjb3VudCIsImVsZW0iLCJhIiwiY2xpY2siLCJmZXRjaFRyYW5zYWN0aW9ucyIsImFjY291bnROdW1iZXJzIiwiYWNjb3VudHMiLCJWaXNhQ2FsU2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwicG9zc2libGVSZXN1bHRzIiwiY2hlY2tSZWFkaW5lc3MiLCJwcmVBY3Rpb24iLCJvcGVuTG9naW5Qb3B1cCIsInVzZXJBZ2VudCIsImZldGNoRGF0YSIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0IiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJuYXZpZ2F0ZVRvIiwidW5kZWZpbmVkIiwic3VjY2VzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFHQTs7QUFRQTs7QUFHQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsTUFBTUEsU0FBUyxHQUFHLCtCQUFsQjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLHVGQUF6QjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLFlBQXpCO0FBQ0EsTUFBTUMsV0FBVyxHQUFHLFVBQXBCO0FBQ0EsTUFBTUMsc0JBQXNCLEdBQUcsbUNBQS9CO0FBRUEsTUFBTUMsS0FBSyxHQUFHLHFCQUFTLFVBQVQsQ0FBZDs7QUFXQSxlQUFlQyxhQUFmLENBQTZCQyxJQUE3QixFQUF5QztBQUN2QyxNQUFJQyxLQUFtQixHQUFHLElBQTFCO0FBQ0FILEVBQUFBLEtBQUssQ0FBQyw4QkFBRCxDQUFMO0FBQ0EsUUFBTSx3QkFBVSxNQUFNO0FBQ3BCRyxJQUFBQSxLQUFLLEdBQUdELElBQUksQ0FDVEUsTUFESyxHQUVMQyxJQUZLLENBRUNDLENBQUQsSUFBT0EsQ0FB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QUFnQjFKLGdCQUFoQixFQUFrQzJKLFNBQWxDLEVBQTZDLEtBQTdDLENBQU47QUFFQXZKLElBQUFBLEtBQUssQ0FBQyw2QkFBRCxDQUFMO0FBQ0EsVUFBTW1JLFFBQVEsR0FBRyxNQUFNRixpQkFBaUIsQ0FBQyxLQUFLL0gsSUFBTixFQUFZaUosV0FBWixFQUF5QixLQUFLN0gsT0FBOUIsQ0FBeEM7QUFDQXRCLElBQUFBLEtBQUssQ0FBQyw2QkFBRCxDQUFMO0FBQ0EsV0FBTztBQUNMd0osTUFBQUEsT0FBTyxFQUFFLElBREo7QUFFTHJCLE1BQUFBO0FBRkssS0FBUDtBQUlEOztBQTlDaUQ7O2VBaURyQ0MsYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQsIHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEZyYW1lLCBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luT3B0aW9ucywgTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7XG4gIGNsaWNrQnV0dG9uLCBlbGVtZW50UHJlc2VudE9uUGFnZSwgcGFnZUV2YWwsIHBhZ2VFdmFsQWxsLCBzZXRWYWx1ZSwgd2FpdFVudGlsRWxlbWVudEZvdW5kLFxufSBmcm9tICcuLi9oZWxwZXJzL2VsZW1lbnRzLWludGVyYWN0aW9ucyc7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25JbnN0YWxsbWVudHMsXG4gIFRyYW5zYWN0aW9uc0FjY291bnQsXG4gIFRyYW5zYWN0aW9uU3RhdHVzZXMsXG4gIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBTY2FwZXJPcHRpb25zLCBTY2FwZXJTY3JhcGluZ1Jlc3VsdCwgU2NyYXBlckNyZWRlbnRpYWxzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHtcbiAgRE9MTEFSX0NVUlJFTkNZLCBET0xMQVJfQ1VSUkVOQ1lfU1lNQk9MLCBFVVJPX0NVUlJFTkNZLCBFVVJPX0NVUlJFTkNZX1NZTUJPTCwgU0hFS0VMX0NVUlJFTkNZLCBTSEVLRUxfQ1VSUkVOQ1lfU1lNQk9MLFxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgd2FpdFVudGlsIH0gZnJvbSAnLi4vaGVscGVycy93YWl0aW5nJztcbmltcG9ydCB7IGZpbHRlck9sZFRyYW5zYWN0aW9ucyB9IGZyb20gJy4uL2hlbHBlcnMvdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IGdldERlYnVnIH0gZnJvbSAnLi4vaGVscGVycy9kZWJ1Zyc7XG5cbmNvbnN0IExPR0lOX1VSTCA9ICdodHRwczovL3d3dy5jYWwtb25saW5lLmNvLmlsLyc7XG5jb25zdCBUUkFOU0FDVElPTlNfVVJMID0gJ2h0dHBzOi8vc2VydmljZXMuY2FsLW9ubGluZS5jby5pbC9DYXJkLUhvbGRlcnMvU2NyZWVucy9UcmFuc2FjdGlvbnMvVHJhbnNhY3Rpb25zLmFzcHgnO1xuY29uc3QgTE9OR19EQVRFX0ZPUk1BVCA9ICdERC9NTS9ZWVlZJztcbmNvbnN0IERBVEVfRk9STUFUID0gJ0REL01NL1lZJztcbmNvbnN0IEludmFsaWRQYXNzd29yZE1lc3NhZ2UgPSAn16nXnSDXlNee16nXqtee16kg15DXlSDXlNeh15nXodee15Qg16nXlNeV15bXoNeVINep15LXldeZ15nXnSc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ3Zpc2EtY2FsJyk7XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb24ge1xuICBkYXRlOiBzdHJpbmc7XG4gIHByb2Nlc3NlZERhdGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgb3JpZ2luYWxBbW91bnQ6IHN0cmluZztcbiAgY2hhcmdlZEFtb3VudDogc3RyaW5nO1xuICBtZW1vOiBzdHJpbmc7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldExvZ2luRnJhbWUocGFnZTogUGFnZSkge1xuICBsZXQgZnJhbWU6IEZyYW1lIHwgbnVsbCA9IG51bGw7XG4gIGRlYnVnKCd3YWl0IHVudGlsIGxvZ2luIGZyYW1lIGZvdW5kJyk7XG4gIGF3YWl0IHdhaXRVbnRpbCgoKSA9PiB7XG4gICAgZnJhbWUgPSBwYWdlXG4gICAgICAuZnJhbWVzKClcbiAgICAgIC5maW5kKChmKSA9PiBmLnVybCgpLmluY2x1ZGVzKCdjb25uZWN0LmNhbC1vbmxpbmUnKSkgfHwgbnVsbDtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCEhZnJhbWUpO1xuICB9LCAnd2FpdCBmb3IgaWZyYW1lIHdpdGggbG9naW4gZm9ybScsIDEwMDAwLCAxMDAwKTtcblxuICBpZiAoIWZyYW1lKSB7XG4gICAgZGVidWcoJ2ZhaWxlZCB0byBmaW5kIGxvZ2luIGZyYW1lIGZvciAxMCBzZWNvbmRzJyk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdmYWlsZWQgdG8gZXh0cmFjdCBsb2dpbiBpZnJhbWUnKTtcbiAgfVxuXG4gIHJldHVybiBmcmFtZTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IocGFnZTogUGFnZSkge1xuICBjb25zdCBmcmFtZSA9IGF3YWl0IGdldExvZ2luRnJhbWUocGFnZSk7XG4gIGNvbnN0IGVycm9yRm91bmQgPSBhd2FpdCBlbGVtZW50UHJlc2VudE9uUGFnZShmcmFtZSwgJ2Rpdi5nZW5lcmFsLWVycm9yID4gZGl2Jyk7XG4gIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yRm91bmQgPyBhd2FpdCBwYWdlRXZhbChmcmFtZSwgJ2Rpdi5nZW5lcmFsLWVycm9yID4gZGl2JywgJycsIChpdGVtKSA9PiB7XG4gICAgcmV0dXJuIChpdGVtIGFzIEhUTUxEaXZFbGVtZW50KS5pbm5lclRleHQ7XG4gIH0pIDogJyc7XG4gIHJldHVybiBlcnJvck1lc3NhZ2UgPT09IEludmFsaWRQYXNzd29yZE1lc3NhZ2U7XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCkge1xuICBkZWJ1ZygncmV0dXJuIHBvc3NpYmxlIGxvZ2luIHJlc3VsdHMnKTtcbiAgY29uc3QgdXJsczogTG9naW5PcHRpb25zWydwb3NzaWJsZVJlc3VsdHMnXSA9IHtcbiAgICBbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdOiBbL0FjY291bnRNYW5hZ2VtZW50L2ldLFxuICAgIFtMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXTogW2FzeW5jIChvcHRpb25zPzogeyBwYWdlPzogUGFnZX0pID0+IHtcbiAgICAgIGNvbnN0IHBhZ2UgPSBvcHRpb25zPy5wYWdlO1xuICAgICAgaWYgKCFwYWdlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBoYXNJbnZhbGlkUGFzc3dvcmRFcnJvcihwYWdlKTtcbiAgICB9XSxcbiAgICAvLyBbTG9naW5SZXN1bHRzLkFjY291bnRCbG9ja2VkXTogW10sIC8vIFRPRE8gYWRkIHdoZW4gcmVhY2hpbmcgdGhpcyBzY2VuYXJpb1xuICAgIC8vIFtMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdOiBbXSwgLy8gVE9ETyBhZGQgd2hlbiByZWFjaGluZyB0aGlzIHNjZW5hcmlvXG4gIH07XG4gIHJldHVybiB1cmxzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKSB7XG4gIGRlYnVnKCdjcmVhdGUgbG9naW4gZmllbGRzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQnKTtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiAnW2Zvcm1jb250cm9sbmFtZT1cInVzZXJOYW1lXCJdJywgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lIH0sXG4gICAgeyBzZWxlY3RvcjogJ1tmb3JtY29udHJvbG5hbWU9XCJwYXNzd29yZFwiXScsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5cbmZ1bmN0aW9uIGdldEFtb3VudERhdGEoYW1vdW50U3RyOiBzdHJpbmcpIHtcbiAgY29uc3QgYW1vdW50U3RyQ2xuID0gYW1vdW50U3RyLnJlcGxhY2UoJywnLCAnJyk7XG4gIGxldCBjdXJyZW5jeTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIGxldCBhbW91bnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBpZiAoYW1vdW50U3RyQ2xuLmluY2x1ZGVzKFNIRUtFTF9DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gLXBhcnNlRmxvYXQoYW1vdW50U3RyQ2xuLnJlcGxhY2UoU0hFS0VMX0NVUlJFTkNZX1NZTUJPTCwgJycpKTtcbiAgICBjdXJyZW5jeSA9IFNIRUtFTF9DVVJSRU5DWTtcbiAgfSBlbHNlIGlmIChhbW91bnRTdHJDbG4uaW5jbHVkZXMoRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCkpIHtcbiAgICBhbW91bnQgPSAtcGFyc2VGbG9hdChhbW91bnRTdHJDbG4ucmVwbGFjZShET0xMQVJfQ1VSUkVOQ1lfU1lNQk9MLCAnJykpO1xuICAgIGN1cnJlbmN5ID0gRE9MTEFSX0NVUlJFTkNZO1xuICB9IGVsc2UgaWYgKGFtb3VudFN0ckNsbi5pbmNsdWRlcyhFVVJPX0NVUlJFTkNZX1NZTUJPTCkpIHtcbiAgICBhbW91bnQgPSAtcGFyc2VGbG9hdChhbW91bnRTdHJDbG4ucmVwbGFjZShFVVJPX0NVUlJFTkNZX1NZTUJPTCwgJycpKTtcbiAgICBjdXJyZW5jeSA9IEVVUk9fQ1VSUkVOQ1k7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgcGFydHMgPSBhbW91bnRTdHJDbG4uc3BsaXQoJyAnKTtcbiAgICBbY3VycmVuY3ldID0gcGFydHM7XG4gICAgYW1vdW50ID0gLXBhcnNlRmxvYXQocGFydHNbMV0pO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhbW91bnQsXG4gICAgY3VycmVuY3ksXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uSW5zdGFsbG1lbnRzKG1lbW86IHN0cmluZyk6IFRyYW5zYWN0aW9uSW5zdGFsbG1lbnRzIHwgbnVsbCB7XG4gIGNvbnN0IHBhcnNlZE1lbW8gPSAoL9eq16nXnNeV150gKFxcZCspINee16rXldeaIChcXGQrKS8pLmV4ZWMobWVtbyB8fCAnJyk7XG5cbiAgaWYgKCFwYXJzZWRNZW1vIHx8IHBhcnNlZE1lbW8ubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG51bWJlcjogcGFyc2VJbnQocGFyc2VkTWVtb1sxXSwgMTApLFxuICAgIHRvdGFsOiBwYXJzZUludChwYXJzZWRNZW1vWzJdLCAxMCksXG4gIH07XG59XG5mdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSB7XG4gIGRlYnVnKGBjb252ZXJ0ICR7dHhucy5sZW5ndGh9IHJhdyB0cmFuc2FjdGlvbnMgdG8gb2ZmaWNpYWwgVHJhbnNhY3Rpb24gc3RydWN0dXJlYCk7XG4gIHJldHVybiB0eG5zLm1hcCgodHhuKSA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYWxBbW91bnRUdXBsZSA9IGdldEFtb3VudERhdGEodHhuLm9yaWdpbmFsQW1vdW50IHx8ICcnKTtcbiAgICBjb25zdCBjaGFyZ2VkQW1vdW50VHVwbGUgPSBnZXRBbW91bnREYXRhKHR4bi5jaGFyZ2VkQW1vdW50IHx8ICcnKTtcblxuICAgIGNvbnN0IGluc3RhbGxtZW50cyA9IGdldFRyYW5zYWN0aW9uSW5zdGFsbG1lbnRzKHR4bi5tZW1vKTtcbiAgICBjb25zdCB0eG5EYXRlID0gbW9tZW50KHR4bi5kYXRlLCBEQVRFX0ZPUk1BVCk7XG4gICAgY29uc3QgcHJvY2Vzc2VkRGF0ZUZvcm1hdCA9XG4gICAgICB0eG4ucHJvY2Vzc2VkRGF0ZS5sZW5ndGggPT09IDggP1xuICAgICAgICBEQVRFX0ZPUk1BVCA6XG4gICAgICAgIHR4bi5wcm9jZXNzZWREYXRlLmxlbmd0aCA9PT0gOSB8fCB0eG4ucHJvY2Vzc2VkRGF0ZS5sZW5ndGggPT09IDEwID9cbiAgICAgICAgICBMT05HX0RBVEVfRk9STUFUIDpcbiAgICAgICAgICBudWxsO1xuICAgIGlmICghcHJvY2Vzc2VkRGF0ZUZvcm1hdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHByb2Nlc3NlZCBkYXRlJyk7XG4gICAgfVxuICAgIGNvbnN0IHR4blByb2Nlc3NlZERhdGUgPSBtb21lbnQodHhuLnByb2Nlc3NlZERhdGUsIHByb2Nlc3NlZERhdGVGb3JtYXQpO1xuXG4gICAgY29uc3QgcmVzdWx0OiBUcmFuc2FjdGlvbiA9IHtcbiAgICAgIHR5cGU6IGluc3RhbGxtZW50cyA/IFRyYW5zYWN0aW9uVHlwZXMuSW5zdGFsbG1lbnRzIDogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICAgICAgZGF0ZTogaW5zdGFsbG1lbnRzID8gdHhuRGF0ZS5hZGQoaW5zdGFsbG1lbnRzLm51bWJlciAtIDEsICdtb250aCcpLnRvSVNPU3RyaW5nKCkgOiB0eG5EYXRlLnRvSVNPU3RyaW5nKCksXG4gICAgICBwcm9jZXNzZWREYXRlOiB0eG5Qcm9jZXNzZWREYXRlLnRvSVNPU3RyaW5nKCksXG4gICAgICBvcmlnaW5hbEFtb3VudDogb3JpZ2luYWxBbW91bnRUdXBsZS5hbW91bnQsXG4gICAgICBvcmlnaW5hbEN1cnJlbmN5OiBvcmlnaW5hbEFtb3VudFR1cGxlLmN1cnJlbmN5LFxuICAgICAgY2hhcmdlZEFtb3VudDogY2hhcmdlZEFtb3VudFR1cGxlLmFtb3VudCxcbiAgICAgIGNoYXJnZWRDdXJyZW5jeTogY2hhcmdlZEFtb3VudFR1cGxlLmN1cnJlbmN5LFxuICAgICAgZGVzY3JpcHRpb246IHR4bi5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIG1lbW86IHR4bi5tZW1vIHx8ICcnLFxuICAgIH07XG5cbiAgICBpZiAoaW5zdGFsbG1lbnRzKSB7XG4gICAgICByZXN1bHQuaW5zdGFsbG1lbnRzID0gaW5zdGFsbG1lbnRzO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQocGFnZTogUGFnZSwgc3RhcnREYXRlOiBNb21lbnQsIGFjY291bnROdW1iZXI6IHN0cmluZywgc2NyYXBlck9wdGlvbnM6IFNjYXBlck9wdGlvbnMpOiBQcm9taXNlPFRyYW5zYWN0aW9uc0FjY291bnQ+IHtcbiAgY29uc3Qgc3RhcnREYXRlVmFsdWUgPSBzdGFydERhdGUuZm9ybWF0KCdNTS9ZWVlZJyk7XG4gIGNvbnN0IGRhdGVTZWxlY3RvciA9ICdbaWQkPVwiRm9ybUFyZWFOb0JvcmRlcl9Gb3JtQXJlYV9jbG5kckRlYml0RGF0ZVNjb3BlX1RleHRCb3hcIl0nO1xuICBjb25zdCBkYXRlSGlkZGVuRmllbGRTZWxlY3RvciA9ICdbaWQkPVwiRm9ybUFyZWFOb0JvcmRlcl9Gb3JtQXJlYV9jbG5kckRlYml0RGF0ZVNjb3BlX0hpZGRlbkZpZWxkXCJdJztcbiAgY29uc3QgYnV0dG9uU2VsZWN0b3IgPSAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY3RsU3VibWl0UmVxdWVzdFwiXSc7XG4gIGNvbnN0IG5leHRQYWdlU2VsZWN0b3IgPSAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY3RsR3JpZFBhZ2VyX2J0bk5leHRcIl0nO1xuICBjb25zdCBiaWxsaW5nTGFiZWxTZWxlY3RvciA9ICdbaWQkPUZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY3RsTWFpblRvb2xCYXJfbGJsQ2FwdGlvbl0nO1xuICBjb25zdCBzZWNvbmRhcnlCaWxsaW5nTGFiZWxTZWxlY3RvciA9ICdbaWQkPUZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY3RsU2Vjb25kYXJ5VG9vbEJhcl9sYmxDYXB0aW9uXSc7XG4gIGNvbnN0IG5vRGF0YVNlbGVjdG9yID0gJ1tpZCQ9Rm9ybUFyZWFOb0JvcmRlcl9Gb3JtQXJlYV9tc2dib3hFcnJvck1lc3NhZ2VzXSc7XG5cbiAgZGVidWcoJ2ZpbmQgdGhlIHN0YXJ0IGRhdGUgaW5kZXggaW4gdGhlIGRyb3Bib3gnKTtcbiAgY29uc3Qgb3B0aW9ucyA9IGF3YWl0IHBhZ2VFdmFsQWxsKHBhZ2UsICdbaWQkPVwiRm9ybUFyZWFOb0JvcmRlcl9Gb3JtQXJlYV9jbG5kckRlYml0RGF0ZVNjb3BlX09wdGlvbkxpc3RcIl0gbGknLCBbXSwgKGl0ZW1zKSA9PiB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoZWw6IGFueSkgPT4gZWwuaW5uZXJUZXh0KTtcbiAgfSk7XG4gIGNvbnN0IHN0YXJ0RGF0ZUluZGV4ID0gb3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gb3B0aW9uID09PSBzdGFydERhdGVWYWx1ZSk7XG5cbiAgZGVidWcoYHNjcmFwZSAke29wdGlvbnMubGVuZ3RoIC0gc3RhcnREYXRlSW5kZXh9IGJpbGxpbmcgY3ljbGVzYCk7XG4gIGNvbnN0IGFjY291bnRUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSBbXTtcbiAgZm9yIChsZXQgY3VycmVudERhdGVJbmRleCA9IHN0YXJ0RGF0ZUluZGV4OyBjdXJyZW50RGF0ZUluZGV4IDwgb3B0aW9ucy5sZW5ndGg7IGN1cnJlbnREYXRlSW5kZXggKz0gMSkge1xuICAgIGRlYnVnKCd3YWl0IGZvciBkYXRlIHNlbGVjdG9yIHRvIGJlIGZvdW5kJyk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsIGRhdGVTZWxlY3RvciwgdHJ1ZSk7XG4gICAgZGVidWcoYHNldCBoaWRkZW4gdmFsdWUgb2YgdGhlIGRhdGUgc2VsZWN0b3IgdG8gYmUgdGhlIGluZGV4ICR7Y3VycmVudERhdGVJbmRleH1gKTtcbiAgICBhd2FpdCBzZXRWYWx1ZShwYWdlLCBkYXRlSGlkZGVuRmllbGRTZWxlY3RvciwgYCR7Y3VycmVudERhdGVJbmRleH1gKTtcbiAgICBkZWJ1Zygnd2FpdCBhIHNlY29uZCB0byB3b3JrYXJvdW5kIG5hdmlnYXRpb24gaXNzdWUgaW4gaGVhZGxlc3MgYnJvd3NlciBtb2RlJyk7XG4gICAgYXdhaXQgcGFnZS53YWl0Rm9yKDEwMDApO1xuICAgIGRlYnVnKCdjbGljayBvbiB0aGUgZmlsdGVyIHN1Ym1pdCBidXR0b24gYW5kIHdhaXQgZm9yIG5hdmlnYXRpb24nKTtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBwYWdlLndhaXRGb3JOYXZpZ2F0aW9uKHsgd2FpdFVudGlsOiAnZG9tY29udGVudGxvYWRlZCcgfSksXG4gICAgICBjbGlja0J1dHRvbihwYWdlLCBidXR0b25TZWxlY3RvciksXG4gICAgXSk7XG4gICAgZGVidWcoJ2NoZWNrIGlmIG1vbnRoIGhhcyBubyB0cmFuc2FjdGlvbnMnKTtcbiAgICBjb25zdCBwYWdlSGFzTm9UcmFuc2FjdGlvbnMgPSBhd2FpdCBwYWdlRXZhbChwYWdlLCBub0RhdGFTZWxlY3RvciwgZmFsc2UsICgoZWxlbWVudCkgPT4ge1xuICAgICAgY29uc3Qgc2l0ZVZhbHVlID0gKChlbGVtZW50IGFzIEhUTUxTcGFuRWxlbWVudCkuaW5uZXJUZXh0IHx8ICcnKS5yZXBsYWNlKC9bXiDXkC3Xql0vZywgJycpO1xuICAgICAgcmV0dXJuIHNpdGVWYWx1ZSA9PT0gJ9ec15Ag16DXntem15DXlSDXoNeq15XXoNeZ150nO1xuICAgIH0pKTtcblxuICAgIGlmIChwYWdlSGFzTm9UcmFuc2FjdGlvbnMpIHtcbiAgICAgIGRlYnVnKCdwYWdlIGhhcyBubyB0cmFuc2FjdGlvbnMnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVidWcoJ2ZpbmQgdGhlIGJpbGxpbmcgZGF0ZScpO1xuICAgICAgbGV0IGJpbGxpbmdEYXRlTGFiZWwgPSBhd2FpdCBwYWdlRXZhbChwYWdlLCBiaWxsaW5nTGFiZWxTZWxlY3RvciwgJycsICgoZWxlbWVudCkgPT4ge1xuICAgICAgICByZXR1cm4gKGVsZW1lbnQgYXMgSFRNTFNwYW5FbGVtZW50KS5pbm5lclRleHQ7XG4gICAgICB9KSk7XG4gICAgICBsZXQgc2V0dGxlbWVudERhdGVSZWdleCA9IC9cXGR7MSwyfVsvXVxcZHsyfVsvXVxcZHsyLDR9LztcblxuICAgICAgaWYgKGJpbGxpbmdEYXRlTGFiZWwgPT09ICcnKSB7XG4gICAgICAgIGJpbGxpbmdEYXRlTGFiZWwgPSBhd2FpdCBwYWdlRXZhbChwYWdlLCBzZWNvbmRhcnlCaWxsaW5nTGFiZWxTZWxlY3RvciwgJycsICgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgIHJldHVybiAoZWxlbWVudCBhcyBIVE1MU3BhbkVsZW1lbnQpLmlubmVyVGV4dDtcbiAgICAgICAgfSkpO1xuICAgICAgICBzZXR0bGVtZW50RGF0ZVJlZ2V4ID0gL1xcZHsxLDJ9Wy9dXFxkezIsNH0vO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBiaWxsaW5nRGF0ZSA9IHNldHRsZW1lbnREYXRlUmVnZXguZXhlYyhiaWxsaW5nRGF0ZUxhYmVsKT8uWzBdO1xuXG4gICAgICBpZiAoIWJpbGxpbmdEYXRlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignZmFpbGVkIHRvIGZldGNoIHByb2Nlc3MgZGF0ZScpO1xuICAgICAgfVxuXG4gICAgICBkZWJ1ZyhgZm91bmQgdGhlIGJpbGxpbmcgZGF0ZSBmb3IgdGhhdCBtb250aCAke2JpbGxpbmdEYXRlfWApO1xuICAgICAgbGV0IGhhc05leHRQYWdlID0gZmFsc2U7XG4gICAgICBkbyB7XG4gICAgICAgIGRlYnVnKCdmZXRjaCByYXcgdHJhbnNhY3Rpb25zIGZyb20gcGFnZScpO1xuICAgICAgICBjb25zdCByYXdUcmFuc2FjdGlvbnMgPSBhd2FpdCBwYWdlRXZhbEFsbDwoU2NyYXBlZFRyYW5zYWN0aW9uIHwgbnVsbClbXT4ocGFnZSwgJyNjdGxNYWluR3JpZCA+IHRib2R5IHRyLCAjY3RsU2Vjb25kYXJ5R3JpZCA+IHRib2R5IHRyJywgW10sIChpdGVtcywgYmlsbGluZ0RhdGUpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGl0ZW1zKS5tYXAoKGVsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb2x1bW5zID0gZWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3RkJyk7XG4gICAgICAgICAgICBpZiAoY29sdW1ucy5sZW5ndGggPT09IDYpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzZWREYXRlOiBjb2x1bW5zWzBdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBkYXRlOiBjb2x1bW5zWzFdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogY29sdW1uc1syXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxBbW91bnQ6IGNvbHVtbnNbM10uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIGNoYXJnZWRBbW91bnQ6IGNvbHVtbnNbNF0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIG1lbW86IGNvbHVtbnNbNV0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNvbHVtbnMubGVuZ3RoID09PSA1KSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc2VkRGF0ZTogYmlsbGluZ0RhdGUsXG4gICAgICAgICAgICAgICAgZGF0ZTogY29sdW1uc1swXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGNvbHVtbnNbMV0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIG9yaWdpbmFsQW1vdW50OiBjb2x1bW5zWzJdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBjaGFyZ2VkQW1vdW50OiBjb2x1bW5zWzNdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBtZW1vOiBjb2x1bW5zWzRdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LCBiaWxsaW5nRGF0ZSk7XG4gICAgICAgIGRlYnVnKGBmZXRjaGVkICR7cmF3VHJhbnNhY3Rpb25zLmxlbmd0aH0gcmF3IHRyYW5zYWN0aW9ucyBmcm9tIHBhZ2VgKTtcbiAgICAgICAgYWNjb3VudFRyYW5zYWN0aW9ucy5wdXNoKC4uLmNvbnZlcnRUcmFuc2FjdGlvbnMoKHJhd1RyYW5zYWN0aW9ucyBhcyBTY3JhcGVkVHJhbnNhY3Rpb25bXSlcbiAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pKSk7XG5cbiAgICAgICAgZGVidWcoJ2NoZWNrIGZvciBleGlzdGFuY2Ugb2YgYW5vdGhlciBwYWdlJyk7XG4gICAgICAgIGhhc05leHRQYWdlID0gYXdhaXQgZWxlbWVudFByZXNlbnRPblBhZ2UocGFnZSwgbmV4dFBhZ2VTZWxlY3Rvcik7XG4gICAgICAgIGlmIChoYXNOZXh0UGFnZSkge1xuICAgICAgICAgIGRlYnVnKCdoYXMgYW5vdGhlciBwYWdlLCBjbGljayBvbiBidXR0b24gbmV4dCBhbmQgd2FpdCBmb3IgcGFnZSBuYXZpZ2F0aW9uJyk7XG4gICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgcGFnZS53YWl0Rm9yTmF2aWdhdGlvbih7IHdhaXRVbnRpbDogJ2RvbWNvbnRlbnRsb2FkZWQnIH0pLFxuICAgICAgICAgICAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgJ1tpZCQ9Rm9ybUFyZWFOb0JvcmRlcl9Gb3JtQXJlYV9jdGxHcmlkUGFnZXJfYnRuTmV4dF0nKSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgfVxuICAgICAgfSB3aGlsZSAoaGFzTmV4dFBhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIGRlYnVnKCdmaWxlciBvdXQgb2xkIHRyYW5zYWN0aW9ucycpO1xuICBjb25zdCB0eG5zID0gZmlsdGVyT2xkVHJhbnNhY3Rpb25zKGFjY291bnRUcmFuc2FjdGlvbnMsIHN0YXJ0RGF0ZSwgc2NyYXBlck9wdGlvbnMuY29tYmluZUluc3RhbGxtZW50cyB8fCBmYWxzZSk7XG4gIGRlYnVnKGBmb3VuZCAke3R4bnMubGVuZ3RofSB2YWxpZCB0cmFuc2FjdGlvbnMgb3V0IG9mICR7YWNjb3VudFRyYW5zYWN0aW9ucy5sZW5ndGh9IHRyYW5zYWN0aW9ucyBmb3IgYWNjb3VudCBlbmRpbmcgd2l0aCAke2FjY291bnROdW1iZXIuc3Vic3RyaW5nKGFjY291bnROdW1iZXIubGVuZ3RoIC0gMil9YCk7XG4gIHJldHVybiB7XG4gICAgYWNjb3VudE51bWJlcixcbiAgICB0eG5zLFxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRBY2NvdW50TnVtYmVycyhwYWdlOiBQYWdlKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICByZXR1cm4gcGFnZUV2YWxBbGwocGFnZSwgJ1tpZCQ9bG5rSXRlbV0nLCBbXSwgKGVsZW1lbnRzKSA9PiBlbGVtZW50cy5tYXAoKGUpID0+IChlIGFzIEhUTUxBbmNob3JFbGVtZW50KS50ZXh0KSkudGhlbigocmVzKSA9PiByZXMubWFwKCh0ZXh0KSA9PiAvXFxkKyQvLmV4ZWModGV4dC50cmltKCkpPy5bMF0gPz8gJycpKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2V0QWNjb3VudChwYWdlOiBQYWdlLCBhY2NvdW50OiBzdHJpbmcpIHtcbiAgYXdhaXQgcGFnZUV2YWxBbGwoXG4gICAgcGFnZSxcbiAgICAnW2lkJD1sbmtJdGVtXScsXG4gICAgbnVsbCxcbiAgICAoZWxlbWVudHMsIGFjY291bnQpID0+IHtcbiAgICAgIGZvciAoY29uc3QgZWxlbSBvZiBlbGVtZW50cykge1xuICAgICAgICBjb25zdCBhID0gZWxlbSBhcyBIVE1MQW5jaG9yRWxlbWVudDtcbiAgICAgICAgaWYgKGEudGV4dC5pbmNsdWRlcyhhY2NvdW50KSkge1xuICAgICAgICAgIGEuY2xpY2soKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgYWNjb3VudCxcbiAgKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUcmFuc2FjdGlvbnMocGFnZTogUGFnZSwgc3RhcnREYXRlOiBNb21lbnQsIHNjcmFwZXJPcHRpb25zOiBTY2FwZXJPcHRpb25zKTogUHJvbWlzZTxUcmFuc2FjdGlvbnNBY2NvdW50W10+IHtcbiAgY29uc3QgYWNjb3VudE51bWJlcnM6IHN0cmluZ1tdID0gYXdhaXQgZ2V0QWNjb3VudE51bWJlcnMocGFnZSk7XG4gIGNvbnN0IGFjY291bnRzOiBUcmFuc2FjdGlvbnNBY2NvdW50W10gPSBbXTtcblxuICBmb3IgKGNvbnN0IGFjY291bnQgb2YgYWNjb3VudE51bWJlcnMpIHtcbiAgICBkZWJ1Zyhgc2V0dGluZyBhY2NvdW50OiAke2FjY291bnR9YCk7XG4gICAgYXdhaXQgc2V0QWNjb3VudChwYWdlLCBhY2NvdW50KTtcbiAgICBhd2FpdCBwYWdlLndhaXRGb3IoMTAwMCk7XG4gICAgYWNjb3VudHMucHVzaChcbiAgICAgIGF3YWl0IGZldGNoVHJhbnNhY3Rpb25zRm9yQWNjb3VudChcbiAgICAgICAgcGFnZSxcbiAgICAgICAgc3RhcnREYXRlLFxuICAgICAgICBhY2NvdW50LFxuICAgICAgICBzY3JhcGVyT3B0aW9ucyxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBhY2NvdW50cztcbn1cblxuXG5jbGFzcyBWaXNhQ2FsU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICBvcGVuTG9naW5Qb3B1cCA9IGFzeW5jICgpID0+IHtcbiAgICBkZWJ1Zygnb3BlbiBsb2dpbiBwb3B1cCwgd2FpdCB1bnRpbCBsb2dpbiBidXR0b24gYXZhaWxhYmxlJyk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJyNjY0xvZ2luRGVza3RvcEJ0bicsIHRydWUpO1xuICAgIGRlYnVnKCdjbGljayBvbiB0aGUgbG9naW4gYnV0dG9uJyk7XG4gICAgYXdhaXQgY2xpY2tCdXR0b24odGhpcy5wYWdlLCAnI2NjTG9naW5EZXNrdG9wQnRuJyk7XG4gICAgZGVidWcoJ2dldCB0aGUgZnJhbWUgdGhhdCBob2xkcyB0aGUgbG9naW4nKTtcbiAgICBjb25zdCBmcmFtZSA9IGF3YWl0IGdldExvZ2luRnJhbWUodGhpcy5wYWdlKTtcbiAgICBkZWJ1Zygnd2FpdCB1bnRpbCB0aGUgcGFzc3dvcmQgbG9naW4gdGFiIGhlYWRlciBpcyBhdmFpbGFibGUnKTtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQoZnJhbWUsICcjcmVndWxhci1sb2dpbicpO1xuICAgIGRlYnVnKCduYXZpZ2F0ZSB0byB0aGUgcGFzc3dvcmQgbG9naW4gdGFiJyk7XG4gICAgYXdhaXQgY2xpY2tCdXR0b24oZnJhbWUsICcjcmVndWxhci1sb2dpbicpO1xuICAgIGRlYnVnKCd3YWl0IHVudGlsIHRoZSBwYXNzd29yZCBsb2dpbiB0YWIgaXMgYWN0aXZlJyk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKGZyYW1lLCAncmVndWxhci1sb2dpbicpO1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9O1xuXG4gIGdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFsczogUmVjb3JkPHN0cmluZywgc3RyaW5nPikge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogYCR7TE9HSU5fVVJMfWAsXG4gICAgICBmaWVsZHM6IGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzKSxcbiAgICAgIHN1Ym1pdEJ1dHRvblNlbGVjdG9yOiAnYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0nLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpLFxuICAgICAgY2hlY2tSZWFkaW5lc3M6IGFzeW5jICgpID0+IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICcjY2NMb2dpbkRlc2t0b3BCdG4nKSxcbiAgICAgIHByZUFjdGlvbjogdGhpcy5vcGVuTG9naW5Qb3B1cCxcbiAgICAgIHVzZXJBZ2VudDogJ01vemlsbGEvNS4wIChYMTE7IExpbnV4IHg4Nl82NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzc4LjAuMzkwNC4xMDggU2FmYXJpLzUzNy4zNicsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpOiBQcm9taXNlPFNjYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJykuYWRkKDEsICdkYXknKTtcbiAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLm9wdGlvbnMuc3RhcnREYXRlIHx8IGRlZmF1bHRTdGFydE1vbWVudC50b0RhdGUoKTtcbiAgICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG4gICAgZGVidWcoYGZldGNoIHRyYW5zYWN0aW9ucyBzdGFydGluZyAke3N0YXJ0TW9tZW50LmZvcm1hdCgpfWApO1xuXG4gICAgZGVidWcoJ25hdmlnYXRlIHRvIHRyYW5zYWN0aW9ucyBwYWdlJyk7XG4gICAgYXdhaXQgdGhpcy5uYXZpZ2F0ZVRvKFRSQU5TQUNUSU9OU19VUkwsIHVuZGVmaW5lZCwgNjAwMDApO1xuXG4gICAgZGVidWcoJ2ZldGNoIGFjY291bnRzIHRyYW5zYWN0aW9ucycpO1xuICAgIGNvbnN0IGFjY291bnRzID0gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbnModGhpcy5wYWdlLCBzdGFydE1vbWVudCwgdGhpcy5vcHRpb25zKTtcbiAgICBkZWJ1ZygncmV0dXJuIHRoZSBzY3JhcGVkIGFjY291bnRzJyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICBhY2NvdW50cyxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFZpc2FDYWxTY3JhcGVyO1xuIl19
|
package/lib/transactions.d.ts
CHANGED
package/lib/transactions.js
CHANGED
|
@@ -19,4 +19,4 @@ exports.TransactionStatuses = TransactionStatuses;
|
|
|
19
19
|
TransactionStatuses["Completed"] = "completed";
|
|
20
20
|
TransactionStatuses["Pending"] = "pending";
|
|
21
21
|
})(TransactionStatuses || (exports.TransactionStatuses = TransactionStatuses = {}));
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmFuc2FjdGlvbnMudHMiXSwibmFtZXMiOlsiVHJhbnNhY3Rpb25UeXBlcyIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiXSwibWFwcGluZ3MiOiI7Ozs7OztJQU9ZQSxnQjs7O1dBQUFBLGdCO0FBQUFBLEVBQUFBLGdCO0FBQUFBLEVBQUFBLGdCO0dBQUFBLGdCLGdDQUFBQSxnQjs7SUFLQUMsbUI7OztXQUFBQSxtQjtBQUFBQSxFQUFBQSxtQjtBQUFBQSxFQUFBQSxtQjtHQUFBQSxtQixtQ0FBQUEsbUIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25zQWNjb3VudCB7XG4gIGFjY291bnROdW1iZXI6IHN0cmluZztcbiAgYmFsYW5jZT86IG51bWJlcjtcbiAgdHhuczogVHJhbnNhY3Rpb25bXTtcbn1cblxuZXhwb3J0IGVudW0gVHJhbnNhY3Rpb25UeXBlcyB7XG4gIE5vcm1hbCA9ICdub3JtYWwnLFxuICBJbnN0YWxsbWVudHMgPSAnaW5zdGFsbG1lbnRzJ1xufVxuXG5leHBvcnQgZW51bSBUcmFuc2FjdGlvblN0YXR1c2VzIHtcbiAgQ29tcGxldGVkID0gJ2NvbXBsZXRlZCcsXG4gIFBlbmRpbmcgPSAncGVuZGluZydcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkluc3RhbGxtZW50cyB7XG4gIC8qKlxuICAgKiB0aGUgY3VycmVudCBpbnN0YWxsbWVudCBudW1iZXJcbiAgICovXG4gIG51bWJlcjogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiB0aGUgdG90YWwgbnVtYmVyIG9mIGluc3RhbGxtZW50c1xuICAgKi9cbiAgdG90YWw6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbiB7XG4gIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXM7XG4gIC8qKlxuICAgKiBzb21ldGltZXMgY2FsbGVkIEFzbWFjaHRhXG4gICAqL1xuICBpZGVudGlmaWVyPzogc3RyaW5nIHwgbnVtYmVyO1xuICAvKipcbiAgICogSVNPIGRhdGUgc3RyaW5nXG4gICAqL1xuICBkYXRlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJU08gZGF0ZSBzdHJpbmdcbiAgICovXG4gIHByb2Nlc3NlZERhdGU6IHN0cmluZztcbiAgb3JpZ2luYWxBbW91bnQ6IG51bWJlcjtcbiAgb3JpZ2luYWxDdXJyZW5jeTogc3RyaW5nO1xuICBjaGFyZ2VkQW1vdW50OiBudW1iZXI7XG4gIGNoYXJnZWRDdXJyZW5jeT86IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgbWVtbz86IHN0cmluZztcbiAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzO1xuICBpbnN0YWxsbWVudHM/OiBUcmFuc2FjdGlvbkluc3RhbGxtZW50cztcbiAgY2F0ZWdvcnk/OiBzdHJpbmc7XG59XG4iXX0=
|