israeli-bank-scrapers 1.14.4 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/lib/helpers/elements-interactions.js +3 -3
- package/lib/helpers/waiting.d.ts +2 -0
- package/lib/helpers/waiting.js +11 -2
- package/lib/scrapers/base-scraper-with-browser.js +6 -2
- package/lib/scrapers/base-scraper.d.ts +4 -0
- package/lib/scrapers/base-scraper.js +7 -1
- package/lib/scrapers/mizrahi.js +5 -3
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -8,6 +8,10 @@ Israeli Bank Scrapers - Get closer to your own data
|
|
|
8
8
|
[](https://david-dm.org/eshaham/israeli-bank-scrapers)
|
|
9
9
|
[](https://david-dm.org/eshaham/israeli-bank-scrapers?type=dev)
|
|
10
10
|
|
|
11
|
+
> Important!
|
|
12
|
+
>
|
|
13
|
+
> The scrapers are set to use timezone `Asia/Jerusalem` to avoid conflicts in case you're running the scrapers outside Israel.
|
|
14
|
+
|
|
11
15
|
# What's here?
|
|
12
16
|
What you can find here is scrapers for all major Israeli banks and credit card companies. That's the plan at least.
|
|
13
17
|
Currently only the following banks are supported:
|
|
@@ -22,14 +22,14 @@ exports.setValue = setValue;
|
|
|
22
22
|
|
|
23
23
|
var _waiting = require("./waiting");
|
|
24
24
|
|
|
25
|
-
async function waitUntilElementFound(page, elementSelector, onlyVisible = false, timeout
|
|
25
|
+
async function waitUntilElementFound(page, elementSelector, onlyVisible = false, timeout) {
|
|
26
26
|
await page.waitForSelector(elementSelector, {
|
|
27
27
|
visible: onlyVisible,
|
|
28
28
|
timeout
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
async function waitUntilElementDisappear(page, elementSelector, timeout
|
|
32
|
+
async function waitUntilElementDisappear(page, elementSelector, timeout) {
|
|
33
33
|
await page.waitForSelector(elementSelector, {
|
|
34
34
|
hidden: true,
|
|
35
35
|
timeout
|
|
@@ -130,4 +130,4 @@ async function dropdownElements(page, selector) {
|
|
|
130
130
|
}, `${selector} > option`);
|
|
131
131
|
return options;
|
|
132
132
|
}
|
|
133
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL2VsZW1lbnRzLWludGVyYWN0aW9ucy50cyJdLCJuYW1lcyI6WyJ3YWl0VW50aWxFbGVtZW50Rm91bmQiLCJwYWdlIiwiZWxlbWVudFNlbGVjdG9yIiwib25seVZpc2libGUiLCJ0aW1lb3V0Iiwid2FpdEZvclNlbGVjdG9yIiwidmlzaWJsZSIsIndhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIiLCJoaWRkZW4iLCJ3YWl0VW50aWxJZnJhbWVGb3VuZCIsImZyYW1lUHJlZGljYXRlIiwiZGVzY3JpcHRpb24iLCJmcmFtZSIsImZyYW1lcyIsImZpbmQiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkVycm9yIiwiZmlsbElucHV0IiwicGFnZU9yRnJhbWUiLCJpbnB1dFNlbGVjdG9yIiwiaW5wdXRWYWx1ZSIsIiRldmFsIiwiaW5wdXQiLCJpbnB1dEVsZW1lbnQiLCJ2YWx1ZSIsInR5cGUiLCJzZXRWYWx1ZSIsImNsaWNrQnV0dG9uIiwiYnV0dG9uU2VsZWN0b3IiLCJlbCIsImNsaWNrIiwiY2xpY2tMaW5rIiwiYVNlbGVjdG9yIiwicGFnZUV2YWxBbGwiLCJzZWxlY3RvciIsImRlZmF1bHRSZXN1bHQiLCJjYWxsYmFjayIsImFyZ3MiLCJyZXN1bHQiLCIkJGV2YWwiLCJlIiwibWVzc2FnZSIsImluZGV4T2YiLCJwYWdlRXZhbCIsImVsZW1lbnRQcmVzZW50T25QYWdlIiwiJCIsImRyb3Bkb3duU2VsZWN0Iiwic2VsZWN0U2VsZWN0b3IiLCJzZWxlY3QiLCJkcm9wZG93bkVsZW1lbnRzIiwib3B0aW9ucyIsImV2YWx1YXRlIiwib3B0aW9uU2VsZWN0b3IiLCJBcnJheSIsImZyb20iLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmaWx0ZXIiLCJvIiwibWFwIiwibmFtZSIsInRleHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTs7QUFFQSxlQUFlQSxxQkFBZixDQUFxQ0MsSUFBckMsRUFBeURDLGVB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akQsSUFBaEMsRUFBNENrQyxRQUE1QyxFQUE4RDtBQUM1RCxRQUFNZ0IsT0FBTyxHQUFHLE1BQU1sRCxJQUFJLENBQUNtRCxRQUFMLENBQWVDLGNBQUQsSUFBb0I7QUFDdEQsV0FBT0MsS0FBSyxDQUFDQyxJQUFOLENBQVdDLFFBQVEsQ0FBQ0MsZ0JBQVQsQ0FBMEJKLGNBQTFCLENBQVgsRUFDSkssTUFESSxDQUNJQyxDQUFELElBQU9BLENBQUMsQ0FBQ2xDLEtBRFosRUFFSm1DLEdBRkksQ0FFQ0QsQ0FBRCxJQUFPO0FBQ1YsYUFBTztBQUNMRSxRQUFBQSxJQUFJLEVBQUVGLENBQUMsQ0FBQ0csSUFESDtBQUVMckMsUUFBQUEsS0FBSyxFQUFFa0MsQ0FBQyxDQUFDbEM7QUFGSixPQUFQO0FBSUQsS0FQSSxDQUFQO0FBUUQsR0FUcUIsRUFTbEIsR0FBRVUsUUFBUyxXQVRPLENBQXRCO0FBVUEsU0FBT2dCLE9BQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZyYW1lLCBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IHdhaXRVbnRpbCB9IGZyb20gJy4vd2FpdGluZyc7XG5cbmFzeW5jIGZ1bmN0aW9uIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlOiBQYWdlIHwgRnJhbWUsIGVsZW1lbnRTZWxlY3Rvcjogc3RyaW5nLFxuICBvbmx5VmlzaWJsZSA9IGZhbHNlLCB0aW1lb3V0ID0gMzAwMDApIHtcbiAgYXdhaXQgcGFnZS53YWl0Rm9yU2VsZWN0b3IoZWxlbWVudFNlbGVjdG9yLCB7IHZpc2libGU6IG9ubHlWaXNpYmxlLCB0aW1lb3V0IH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiB3YWl0VW50aWxFbGVtZW50RGlzYXBwZWFyKHBhZ2U6IFBhZ2UsIGVsZW1lbnRTZWxlY3Rvcjogc3RyaW5nLCB0aW1lb3V0ID0gMzAwMDApIHtcbiAgYXdhaXQgcGFnZS53YWl0Rm9yU2VsZWN0b3IoZWxlbWVudFNlbGVjdG9yLCB7IGhpZGRlbjogdHJ1ZSwgdGltZW91dCB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gd2FpdFVudGlsSWZyYW1lRm91bmQocGFnZTogUGFnZSwgZnJhbWVQcmVkaWNhdGU6IChmcmFtZTogRnJhbWUpID0+IGJvb2xlYW4sIGRlc2NyaXB0aW9uID0gJycsIHRpbWVvdXQgPSAzMDAwMCkge1xuICBsZXQgZnJhbWU6IEZyYW1lIHwgdW5kZWZpbmVkO1xuICBhd2FpdCB3YWl0VW50aWwoKCkgPT4ge1xuICAgIGZyYW1lID0gcGFnZVxuICAgICAgLmZyYW1lcygpXG4gICAgICAuZmluZChmcmFtZVByZWRpY2F0ZSk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSghIWZyYW1lKTtcbiAgfSwgZGVzY3JpcHRpb24sIHRpbWVvdXQsIDEwMDApO1xuXG4gIGlmICghZnJhbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZhaWxlZCB0byBmaW5kIGlmcmFtZScpO1xuICB9XG5cbiAgcmV0dXJuIGZyYW1lO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmaWxsSW5wdXQocGFnZU9yRnJhbWU6IFBhZ2UgfCBGcmFtZSwgaW5wdXRTZWxlY3Rvcjogc3RyaW5nLCBpbnB1dFZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgcGFnZU9yRnJhbWUuJGV2YWwoaW5wdXRTZWxlY3RvciwgKGlucHV0OiBFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gaW5wdXQ7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlucHV0RWxlbWVudC52YWx1ZSA9ICcnO1xuICB9KTtcbiAgYXdhaXQgcGFnZU9yRnJhbWUudHlwZShpbnB1dFNlbGVjdG9yLCBpbnB1dFZhbHVlKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2V0VmFsdWUocGFnZU9yRnJhbWU6IFBhZ2UgfCBGcmFtZSwgaW5wdXRTZWxlY3Rvcjogc3RyaW5nLCBpbnB1dFZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgcGFnZU9yRnJhbWUuJGV2YWwoaW5wdXRTZWxlY3RvciwgKGlucHV0OiBFbGVtZW50LCBpbnB1dFZhbHVlKSA9PiB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gaW5wdXQ7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlucHV0RWxlbWVudC52YWx1ZSA9IGlucHV0VmFsdWU7XG4gIH0sIFtpbnB1dFZhbHVlXSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNsaWNrQnV0dG9uKHBhZ2U6IFBhZ2UgfCBGcmFtZSwgYnV0dG9uU2VsZWN0b3I6IHN0cmluZykge1xuICBhd2FpdCBwYWdlLiRldmFsKGJ1dHRvblNlbGVjdG9yLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNsaWNrTGluayhwYWdlOiBQYWdlLCBhU2VsZWN0b3I6IHN0cmluZykge1xuICBhd2FpdCBwYWdlLiRldmFsKGFTZWxlY3RvciwgKGVsOiBhbnkpID0+IHtcbiAgICBpZiAoIWVsIHx8IHR5cGVvZiBlbC5jbGljayA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlbC5jbGljaygpO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcGFnZUV2YWxBbGw8Uj4ocGFnZTogUGFnZSB8IEZyYW1lLCBzZWxlY3Rvcjogc3RyaW5nLFxuICBkZWZhdWx0UmVzdWx0OiBhbnksIGNhbGxiYWNrOiAoZWxlbWVudHM6IEVsZW1lbnRbXSwgLi4uYXJnczogYW55KSA9PiBSLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8Uj4ge1xuICBsZXQgcmVzdWx0ID0gZGVmYXVsdFJlc3VsdDtcbiAgdHJ5IHtcbiAgICByZXN1bHQgPSBhd2FpdCBwYWdlLiQkZXZhbChzZWxlY3RvciwgY2FsbGJhY2ssIC4uLmFyZ3MpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gVE9ETyB0ZW1wb3Jhcnkgd29ya2Fyb3VuZCB0byBwdXBwZXRlZXJAMS41LjAgd2hpY2ggYnJlYWtzICQkZXZhbCBiZXZhaHZpb3IgdW50aWwgdGhleSB3aWxsIHJlbGVhc2UgYSBuZXcgdmVyc2lvbi5cbiAgICBpZiAoZS5tZXNzYWdlLmluZGV4T2YoJ0Vycm9yOiBmYWlsZWQgdG8gZmluZCBlbGVtZW50cyBtYXRjaGluZyBzZWxlY3RvcicpICE9PSAwKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHBhZ2VFdmFsPFI+KHBhZ2VPckZyYW1lOiBQYWdlIHwgRnJhbWUsIHNlbGVjdG9yOiBzdHJpbmcsXG4gIGRlZmF1bHRSZXN1bHQ6IGFueSwgY2FsbGJhY2s6IChlbGVtZW50czogRWxlbWVudCwgLi4uYXJnczogYW55KSA9PiBSLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8Uj4ge1xuICBsZXQgcmVzdWx0ID0gZGVmYXVsdFJlc3VsdDtcbiAgdHJ5IHtcbiAgICByZXN1bHQgPSBhd2FpdCBwYWdlT3JGcmFtZS4kZXZhbChzZWxlY3RvciwgY2FsbGJhY2ssIC4uLmFyZ3MpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gVE9ETyB0ZW1wb3Jhcnkgd29ya2Fyb3VuZCB0byBwdXBwZXRlZXJAMS41LjAgd2hpY2ggYnJlYWtzICQkZXZhbCBiZXZhaHZpb3IgdW50aWwgdGhleSB3aWxsIHJlbGVhc2UgYSBuZXcgdmVyc2lvbi5cbiAgICBpZiAoZS5tZXNzYWdlLmluZGV4T2YoJ0Vycm9yOiBmYWlsZWQgdG8gZmluZCBlbGVtZW50IG1hdGNoaW5nIHNlbGVjdG9yJykgIT09IDApIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZWxlbWVudFByZXNlbnRPblBhZ2UocGFnZU9yRnJhbWU6IFBhZ2UgfCBGcmFtZSwgc2VsZWN0b3I6IHN0cmluZykge1xuICByZXR1cm4gYXdhaXQgcGFnZU9yRnJhbWUuJChzZWxlY3RvcikgIT09IG51bGw7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGRyb3Bkb3duU2VsZWN0KHBhZ2U6IFBhZ2UsIHNlbGVjdFNlbGVjdG9yOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgYXdhaXQgcGFnZS5zZWxlY3Qoc2VsZWN0U2VsZWN0b3IsIHZhbHVlKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZHJvcGRvd25FbGVtZW50cyhwYWdlOiBQYWdlLCBzZWxlY3Rvcjogc3RyaW5nKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBhd2FpdCBwYWdlLmV2YWx1YXRlKChvcHRpb25TZWxlY3RvcikgPT4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwob3B0aW9uU2VsZWN0b3IpKVxuICAgICAgLmZpbHRlcigobykgPT4gby52YWx1ZSlcbiAgICAgIC5tYXAoKG8pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuYW1lOiBvLnRleHQsXG4gICAgICAgICAgdmFsdWU6IG8udmFsdWUsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgfSwgYCR7c2VsZWN0b3J9ID4gb3B0aW9uYCk7XG4gIHJldHVybiBvcHRpb25zO1xufVxuXG5leHBvcnQge1xuICB3YWl0VW50aWxFbGVtZW50Rm91bmQsXG4gIHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIsXG4gIHdhaXRVbnRpbElmcmFtZUZvdW5kLFxuICBmaWxsSW5wdXQsXG4gIGNsaWNrQnV0dG9uLFxuICBjbGlja0xpbmssXG4gIGRyb3Bkb3duU2VsZWN0LFxuICBkcm9wZG93bkVsZW1lbnRzLFxuICBwYWdlRXZhbCxcbiAgcGFnZUV2YWxBbGwsXG4gIGVsZW1lbnRQcmVzZW50T25QYWdlLFxuICBzZXRWYWx1ZSxcbn07XG4iXX0=
|
|
133
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL2VsZW1lbnRzLWludGVyYWN0aW9ucy50cyJdLCJuYW1lcyI6WyJ3YWl0VW50aWxFbGVtZW50Rm91bmQiLCJwYWdlIiwiZWxlbWVudFNlbGVjdG9yIiwib25seVZpc2libGUiLCJ0aW1lb3V0Iiwid2FpdEZvclNlbGVjdG9yIiwidmlzaWJsZSIsIndhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIiLCJoaWRkZW4iLCJ3YWl0VW50aWxJZnJhbWVGb3VuZCIsImZyYW1lUHJlZGljYXRlIiwiZGVzY3JpcHRpb24iLCJmcmFtZSIsImZyYW1lcyIsImZpbmQiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkVycm9yIiwiZmlsbElucHV0IiwicGFnZU9yRnJhbWUiLCJpbnB1dFNlbGVjdG9yIiwiaW5wdXRWYWx1ZSIsIiRldmFsIiwiaW5wdXQiLCJpbnB1dEVsZW1lbnQiLCJ2YWx1ZSIsInR5cGUiLCJzZXRWYWx1ZSIsImNsaWNrQnV0dG9uIiwiYnV0dG9uU2VsZWN0b3IiLCJlbCIsImNsaWNrIiwiY2xpY2tMaW5rIiwiYVNlbGVjdG9yIiwicGFnZUV2YWxBbGwiLCJzZWxlY3RvciIsImRlZmF1bHRSZXN1bHQiLCJjYWxsYmFjayIsImFyZ3MiLCJyZXN1bHQiLCIkJGV2YWwiLCJlIiwibWVzc2FnZSIsImluZGV4T2YiLCJwYWdlRXZhbCIsImVsZW1lbnRQcmVzZW50T25QYWdlIiwiJCIsImRyb3Bkb3duU2VsZWN0Iiwic2VsZWN0U2VsZWN0b3IiLCJzZWxlY3QiLCJkcm9wZG93bkVsZW1lbnRzIiwib3B0aW9ucyIsImV2YWx1YXRlIiwib3B0aW9uU2VsZWN0b3IiLCJBcnJheSIsImZyb20iLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmaWx0ZXIiLCJvIiwibWFwIiwibmFtZSIsInRleHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTs7QUFFQSxlQUFlQSxxQkFBZixDQUFxQ0MsSUFBckMsRUFBeURDLGVB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NUMsRUFBOEQ7QUFDNUQsUUFBTWdCLE9BQU8sR0FBRyxNQUFNbEQsSUFBSSxDQUFDbUQsUUFBTCxDQUFlQyxjQUFELElBQW9CO0FBQ3RELFdBQU9DLEtBQUssQ0FBQ0MsSUFBTixDQUFXQyxRQUFRLENBQUNDLGdCQUFULENBQTBCSixjQUExQixDQUFYLEVBQ0pLLE1BREksQ0FDSUMsQ0FBRCxJQUFPQSxDQUFDLENBQUNsQyxLQURaLEVBRUptQyxHQUZJLENBRUNELENBQUQsSUFBTztBQUNWLGFBQU87QUFDTEUsUUFBQUEsSUFBSSxFQUFFRixDQUFDLENBQUNHLElBREg7QUFFTHJDLFFBQUFBLEtBQUssRUFBRWtDLENBQUMsQ0FBQ2xDO0FBRkosT0FBUDtBQUlELEtBUEksQ0FBUDtBQVFELEdBVHFCLEVBU2xCLEdBQUVVLFFBQVMsV0FUTyxDQUF0QjtBQVVBLFNBQU9nQixPQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGcmFtZSwgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyB3YWl0VW50aWwgfSBmcm9tICcuL3dhaXRpbmcnO1xuXG5hc3luYyBmdW5jdGlvbiB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZTogUGFnZSB8IEZyYW1lLCBlbGVtZW50U2VsZWN0b3I6IHN0cmluZyxcbiAgb25seVZpc2libGUgPSBmYWxzZSwgdGltZW91dD86IG51bWJlcikge1xuICBhd2FpdCBwYWdlLndhaXRGb3JTZWxlY3RvcihlbGVtZW50U2VsZWN0b3IsIHsgdmlzaWJsZTogb25seVZpc2libGUsIHRpbWVvdXQgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIocGFnZTogUGFnZSwgZWxlbWVudFNlbGVjdG9yOiBzdHJpbmcsIHRpbWVvdXQ/OiBudW1iZXIpIHtcbiAgYXdhaXQgcGFnZS53YWl0Rm9yU2VsZWN0b3IoZWxlbWVudFNlbGVjdG9yLCB7IGhpZGRlbjogdHJ1ZSwgdGltZW91dCB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gd2FpdFVudGlsSWZyYW1lRm91bmQocGFnZTogUGFnZSwgZnJhbWVQcmVkaWNhdGU6IChmcmFtZTogRnJhbWUpID0+IGJvb2xlYW4sIGRlc2NyaXB0aW9uID0gJycsIHRpbWVvdXQgPSAzMDAwMCkge1xuICBsZXQgZnJhbWU6IEZyYW1lIHwgdW5kZWZpbmVkO1xuICBhd2FpdCB3YWl0VW50aWwoKCkgPT4ge1xuICAgIGZyYW1lID0gcGFnZVxuICAgICAgLmZyYW1lcygpXG4gICAgICAuZmluZChmcmFtZVByZWRpY2F0ZSk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSghIWZyYW1lKTtcbiAgfSwgZGVzY3JpcHRpb24sIHRpbWVvdXQsIDEwMDApO1xuXG4gIGlmICghZnJhbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZhaWxlZCB0byBmaW5kIGlmcmFtZScpO1xuICB9XG5cbiAgcmV0dXJuIGZyYW1lO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmaWxsSW5wdXQocGFnZU9yRnJhbWU6IFBhZ2UgfCBGcmFtZSwgaW5wdXRTZWxlY3Rvcjogc3RyaW5nLCBpbnB1dFZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgcGFnZU9yRnJhbWUuJGV2YWwoaW5wdXRTZWxlY3RvciwgKGlucHV0OiBFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gaW5wdXQ7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlucHV0RWxlbWVudC52YWx1ZSA9ICcnO1xuICB9KTtcbiAgYXdhaXQgcGFnZU9yRnJhbWUudHlwZShpbnB1dFNlbGVjdG9yLCBpbnB1dFZhbHVlKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2V0VmFsdWUocGFnZU9yRnJhbWU6IFBhZ2UgfCBGcmFtZSwgaW5wdXRTZWxlY3Rvcjogc3RyaW5nLCBpbnB1dFZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgcGFnZU9yRnJhbWUuJGV2YWwoaW5wdXRTZWxlY3RvciwgKGlucHV0OiBFbGVtZW50LCBpbnB1dFZhbHVlKSA9PiB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gaW5wdXQ7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlucHV0RWxlbWVudC52YWx1ZSA9IGlucHV0VmFsdWU7XG4gIH0sIFtpbnB1dFZhbHVlXSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNsaWNrQnV0dG9uKHBhZ2U6IFBhZ2UgfCBGcmFtZSwgYnV0dG9uU2VsZWN0b3I6IHN0cmluZykge1xuICBhd2FpdCBwYWdlLiRldmFsKGJ1dHRvblNlbGVjdG9yLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNsaWNrTGluayhwYWdlOiBQYWdlLCBhU2VsZWN0b3I6IHN0cmluZykge1xuICBhd2FpdCBwYWdlLiRldmFsKGFTZWxlY3RvciwgKGVsOiBhbnkpID0+IHtcbiAgICBpZiAoIWVsIHx8IHR5cGVvZiBlbC5jbGljayA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlbC5jbGljaygpO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcGFnZUV2YWxBbGw8Uj4ocGFnZTogUGFnZSB8IEZyYW1lLCBzZWxlY3Rvcjogc3RyaW5nLFxuICBkZWZhdWx0UmVzdWx0OiBhbnksIGNhbGxiYWNrOiAoZWxlbWVudHM6IEVsZW1lbnRbXSwgLi4uYXJnczogYW55KSA9PiBSLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8Uj4ge1xuICBsZXQgcmVzdWx0ID0gZGVmYXVsdFJlc3VsdDtcbiAgdHJ5IHtcbiAgICByZXN1bHQgPSBhd2FpdCBwYWdlLiQkZXZhbChzZWxlY3RvciwgY2FsbGJhY2ssIC4uLmFyZ3MpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gVE9ETyB0ZW1wb3Jhcnkgd29ya2Fyb3VuZCB0byBwdXBwZXRlZXJAMS41LjAgd2hpY2ggYnJlYWtzICQkZXZhbCBiZXZhaHZpb3IgdW50aWwgdGhleSB3aWxsIHJlbGVhc2UgYSBuZXcgdmVyc2lvbi5cbiAgICBpZiAoZS5tZXNzYWdlLmluZGV4T2YoJ0Vycm9yOiBmYWlsZWQgdG8gZmluZCBlbGVtZW50cyBtYXRjaGluZyBzZWxlY3RvcicpICE9PSAwKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHBhZ2VFdmFsPFI+KHBhZ2VPckZyYW1lOiBQYWdlIHwgRnJhbWUsIHNlbGVjdG9yOiBzdHJpbmcsXG4gIGRlZmF1bHRSZXN1bHQ6IGFueSwgY2FsbGJhY2s6IChlbGVtZW50czogRWxlbWVudCwgLi4uYXJnczogYW55KSA9PiBSLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8Uj4ge1xuICBsZXQgcmVzdWx0ID0gZGVmYXVsdFJlc3VsdDtcbiAgdHJ5IHtcbiAgICByZXN1bHQgPSBhd2FpdCBwYWdlT3JGcmFtZS4kZXZhbChzZWxlY3RvciwgY2FsbGJhY2ssIC4uLmFyZ3MpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gVE9ETyB0ZW1wb3Jhcnkgd29ya2Fyb3VuZCB0byBwdXBwZXRlZXJAMS41LjAgd2hpY2ggYnJlYWtzICQkZXZhbCBiZXZhaHZpb3IgdW50aWwgdGhleSB3aWxsIHJlbGVhc2UgYSBuZXcgdmVyc2lvbi5cbiAgICBpZiAoZS5tZXNzYWdlLmluZGV4T2YoJ0Vycm9yOiBmYWlsZWQgdG8gZmluZCBlbGVtZW50IG1hdGNoaW5nIHNlbGVjdG9yJykgIT09IDApIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZWxlbWVudFByZXNlbnRPblBhZ2UocGFnZU9yRnJhbWU6IFBhZ2UgfCBGcmFtZSwgc2VsZWN0b3I6IHN0cmluZykge1xuICByZXR1cm4gYXdhaXQgcGFnZU9yRnJhbWUuJChzZWxlY3RvcikgIT09IG51bGw7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGRyb3Bkb3duU2VsZWN0KHBhZ2U6IFBhZ2UsIHNlbGVjdFNlbGVjdG9yOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgYXdhaXQgcGFnZS5zZWxlY3Qoc2VsZWN0U2VsZWN0b3IsIHZhbHVlKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZHJvcGRvd25FbGVtZW50cyhwYWdlOiBQYWdlLCBzZWxlY3Rvcjogc3RyaW5nKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBhd2FpdCBwYWdlLmV2YWx1YXRlKChvcHRpb25TZWxlY3RvcikgPT4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwob3B0aW9uU2VsZWN0b3IpKVxuICAgICAgLmZpbHRlcigobykgPT4gby52YWx1ZSlcbiAgICAgIC5tYXAoKG8pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuYW1lOiBvLnRleHQsXG4gICAgICAgICAgdmFsdWU6IG8udmFsdWUsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgfSwgYCR7c2VsZWN0b3J9ID4gb3B0aW9uYCk7XG4gIHJldHVybiBvcHRpb25zO1xufVxuXG5leHBvcnQge1xuICB3YWl0VW50aWxFbGVtZW50Rm91bmQsXG4gIHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIsXG4gIHdhaXRVbnRpbElmcmFtZUZvdW5kLFxuICBmaWxsSW5wdXQsXG4gIGNsaWNrQnV0dG9uLFxuICBjbGlja0xpbmssXG4gIGRyb3Bkb3duU2VsZWN0LFxuICBkcm9wZG93bkVsZW1lbnRzLFxuICBwYWdlRXZhbCxcbiAgcGFnZUV2YWxBbGwsXG4gIGVsZW1lbnRQcmVzZW50T25QYWdlLFxuICBzZXRWYWx1ZSxcbn07XG4iXX0=
|
package/lib/helpers/waiting.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export declare class TimeoutError extends Error {
|
|
2
2
|
}
|
|
3
|
+
export declare const SECOND = 1000;
|
|
3
4
|
export declare function waitUntil(asyncTest: () => Promise<any>, description?: string, timeout?: number, interval?: number): Promise<any>;
|
|
5
|
+
export declare function raceTimeout(ms: number, promise: Promise<any>): Promise<any>;
|
package/lib/helpers/waiting.js
CHANGED
|
@@ -8,11 +8,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
10
|
exports.waitUntil = waitUntil;
|
|
11
|
-
exports.
|
|
11
|
+
exports.raceTimeout = raceTimeout;
|
|
12
|
+
exports.SECOND = exports.TimeoutError = void 0;
|
|
12
13
|
|
|
13
14
|
class TimeoutError extends Error {}
|
|
14
15
|
|
|
15
16
|
exports.TimeoutError = TimeoutError;
|
|
17
|
+
const SECOND = 1000;
|
|
18
|
+
exports.SECOND = SECOND;
|
|
16
19
|
|
|
17
20
|
function timeoutPromise(ms, promise, description) {
|
|
18
21
|
const timeout = new Promise((_, reject) => {
|
|
@@ -43,4 +46,10 @@ function waitUntil(asyncTest, description = '', timeout = 10000, interval = 100)
|
|
|
43
46
|
});
|
|
44
47
|
return timeoutPromise(timeout, promise, description);
|
|
45
48
|
}
|
|
46
|
-
|
|
49
|
+
|
|
50
|
+
function raceTimeout(ms, promise) {
|
|
51
|
+
return timeoutPromise(ms, promise, 'timeout').catch(err => {
|
|
52
|
+
if (!(err instanceof TimeoutError)) throw err;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL3dhaXRpbmcudHMiXSwibmFtZXMiOlsiVGltZW91dEVycm9yIiwiRXJyb3IiLCJTRUNPTkQiLCJ0aW1lb3V0UHJvbWlzZSIsIm1zIiwicHJvbWlzZSIsImRlc2NyaXB0aW9uIiwidGltZW91dCIsIlByb21pc2UiLCJfIiwicmVqZWN0IiwiaWQiLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwiZXJyb3IiLCJyYWNlIiwid2FpdFVudGlsIiwiYXN5bmNUZXN0IiwiaW50ZXJ2YWwiLCJyZXNvbHZlIiwid2FpdCIsInRoZW4iLCJ2YWx1ZSIsImNhdGNoIiwicmFjZVRpbWVvdXQiLCJlcnIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFDTyxNQUFNQSxZQUFOLFNBQTJCQyxLQUEzQixDQUFpQzs7O0FBSWpDLE1BQU1DLE1BQU0sR0FBRyxJQUFmOzs7QUFFUCxTQUFTQyxjQUFULENBQXdCQyxFQUF4QixFQUFvQ0MsT0FBcEMsRUFBMkRDLFdBQTNELEVBQWdGO0FBQzlFLFFBQU1DLE9BQU8sR0FBRyxJQUFJQyxPQUFKLENBQVksQ0FBQ0MsQ0FBRCxFQUFJQyxNQUFKLEtBQWU7QUFDekMsVUFBTUMsRUFBRSxHQUFHQyxVQUFVLENBQUMsTUFBTTtBQUMxQkMsTUFBQUEsWUFBWSxDQUFDRixFQUFELENBQVo7QUFDQSxZQUFNRyxLQUFLLEdBQUcsSUFBSWQsWUFBSixDQUFpQk0sV0FBakIsQ0FBZDtBQUNBSSxNQUFBQSxNQUFNLENBQUNJLEtBQUQsQ0FBTjtBQUNELEtBSm9CLEVBSWxCVixFQUprQixDQUFyQjtBQUtELEdBTmUsQ0FBaEI7QUFRQSxTQUFPSSxPQUFPLENBQUNPLElBQVIsQ0FBYSxDQUNsQlYsT0FEa0IsRUFFbEJFLE9BRmtCLENBQWIsQ0FBUDtBQUlEOztBQUVNLFNBQVNTLFNBQVQsQ0FBbUJDLFNBQW5CLEVBQWtEWCxXQUFXLEdBQUcsRUFBaEUsRUFBb0VDLE9BQU8sR0FBRyxLQUE5RSxFQUFxRlcsUUFBUSxHQUFHLEdBQWhHLEVBQXFHO0FBQzFHLFFBQU1iLE9BQU8sR0FBRyxJQUFJRyxPQUFKLENBQVksQ0FBQ1csT0FBRCxFQUFVVCxNQUFWLEtBQXFCO0FBQy9DLGFBQVNVLElBQVQsR0FBZ0I7QUFDZEgsTUFBQUEsU0FBUyxHQUFHSSxJQUFaLENBQWtCQyxLQUFELElBQVc7QUFDMUIsWUFBSUEsS0FBSyxLQUFLLElBQWQsRUFBb0I7QUFDbEJILFVBQUFBLE9BQU87QUFDUixTQUZELE1BRU87QUFDTFAsVUFBQUEsVUFBVSxDQUFDUSxJQUFELEVBQU9GLFFBQVAsQ0FBVjtBQUNEO0FBQ0YsT0FORCxFQU1HSyxLQU5ILENBTVMsTUFBTTtBQUNiYixRQUFBQSxNQUFNO0FBQ1AsT0FSRDtBQVNEOztBQUNEVSxJQUFBQSxJQUFJO0FBQ0wsR0FiZSxDQUFoQjtBQWNBLFNBQU9qQixjQUFjLENBQUNJLE9BQUQsRUFBVUYsT0FBVixFQUFtQkMsV0FBbkIsQ0FBckI7QUFDRDs7QUFFTSxTQUFTa0IsV0FBVCxDQUFxQnBCLEVBQXJCLEVBQWlDQyxPQUFqQyxFQUF3RDtBQUM3RCxTQUFPRixjQUFjLENBQUNDLEVBQUQsRUFBS0MsT0FBTCxFQUFjLFNBQWQsQ0FBZCxDQUF1Q2tCLEtBQXZDLENBQThDRSxHQUFELElBQVM7QUFDM0QsUUFBSSxFQUFFQSxHQUFHLFlBQVl6QixZQUFqQixDQUFKLEVBQW9DLE1BQU15QixHQUFOO0FBQ3JDLEdBRk0sQ0FBUDtBQUdEIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgY2xhc3MgVGltZW91dEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuXG59XG5cbmV4cG9ydCBjb25zdCBTRUNPTkQgPSAxMDAwO1xuXG5mdW5jdGlvbiB0aW1lb3V0UHJvbWlzZShtczogbnVtYmVyLCBwcm9taXNlOiBQcm9taXNlPGFueT4sIGRlc2NyaXB0aW9uOiBzdHJpbmcpIHtcbiAgY29uc3QgdGltZW91dCA9IG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBpZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KGlkKTtcbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IFRpbWVvdXRFcnJvcihkZXNjcmlwdGlvbik7XG4gICAgICByZWplY3QoZXJyb3IpO1xuICAgIH0sIG1zKTtcbiAgfSk7XG5cbiAgcmV0dXJuIFByb21pc2UucmFjZShbXG4gICAgcHJvbWlzZSxcbiAgICB0aW1lb3V0LFxuICBdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdhaXRVbnRpbChhc3luY1Rlc3Q6ICgpID0+IFByb21pc2U8YW55PiwgZGVzY3JpcHRpb24gPSAnJywgdGltZW91dCA9IDEwMDAwLCBpbnRlcnZhbCA9IDEwMCkge1xuICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGZ1bmN0aW9uIHdhaXQoKSB7XG4gICAgICBhc3luY1Rlc3QoKS50aGVuKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2V0VGltZW91dCh3YWl0LCBpbnRlcnZhbCk7XG4gICAgICAgIH1cbiAgICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgICAgcmVqZWN0KCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgd2FpdCgpO1xuICB9KTtcbiAgcmV0dXJuIHRpbWVvdXRQcm9taXNlKHRpbWVvdXQsIHByb21pc2UsIGRlc2NyaXB0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJhY2VUaW1lb3V0KG1zOiBudW1iZXIsIHByb21pc2U6IFByb21pc2U8YW55Pikge1xuICByZXR1cm4gdGltZW91dFByb21pc2UobXMsIHByb21pc2UsICd0aW1lb3V0JykuY2F0Y2goKGVycikgPT4ge1xuICAgIGlmICghKGVyciBpbnN0YW5jZW9mIFRpbWVvdXRFcnJvcikpIHRocm93IGVycjtcbiAgfSk7XG59XG4iXX0=
|
|
@@ -137,8 +137,8 @@ class BaseScraperWithBrowser extends _baseScraper.BaseScraper {
|
|
|
137
137
|
}
|
|
138
138
|
|
|
139
139
|
async initialize() {
|
|
140
|
+
await super.initialize();
|
|
140
141
|
debug('initialize scraper');
|
|
141
|
-
this.emitProgress(_baseScraper.ScaperProgressTypes.Initializing);
|
|
142
142
|
let env;
|
|
143
143
|
|
|
144
144
|
if (this.options.verbose) {
|
|
@@ -183,6 +183,10 @@ class BaseScraperWithBrowser extends _baseScraper.BaseScraper {
|
|
|
183
183
|
this.page = await this.browser.newPage();
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
+
if (this.options.defaultTimeout) {
|
|
187
|
+
this.page.setDefaultTimeout(this.options.defaultTimeout);
|
|
188
|
+
}
|
|
189
|
+
|
|
186
190
|
if (this.options.preparePage) {
|
|
187
191
|
debug('execute \'preparePage\' interceptor provided in options');
|
|
188
192
|
await this.options.preparePage(this.page);
|
|
@@ -319,4 +323,4 @@ class BaseScraperWithBrowser extends _baseScraper.BaseScraper {
|
|
|
319
323
|
}
|
|
320
324
|
|
|
321
325
|
exports.BaseScraperWithBrowser = BaseScraperWithBrowser;
|
|
322
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyLnRzIl0sIm5hbWVzIjpbIlZJRVdQT1JUX1dJRFRIIiwiVklFV1BPUlRfSEVJR0hUIiwiT0tfU1RBVFVTIiwiZGVidWciLCJMb2dpbkJhc2VSZXN1bHRzIiwiVGltZW91dCIsIkdlbmVyaWMiLCJHZW5lcmFsIiwiU2NyYXBlckVycm9yVHlwZXMiLCJyZXN0IiwiTG9naW5SZXN1bHRzIiwiZ2V0S2V5QnlWYWx1ZSIsIm9iamVjdCIsInZhbHVlIiwicGFnZSIsImtleXMiLCJPYmplY3QiLCJrZXkiLCJjb25kaXRpb25zIiwiY29uZGl0aW9uIiwicmVzdWx0IiwiUmVnRXhwIiwidGVzdCIsInRvTG93ZXJDYXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJVbmtub3duRXJyb3IiLCJoYW5kbGVMb2dpblJlc3VsdCIsInNjcmFwZXIiLCJsb2dpblJlc3VsdCIsIlN1Y2Nlc3MiLCJlbWl0UHJvZ3Jlc3MiLCJTY2FwZXJQcm9ncmVzc1R5cGVzIiwiTG9naW5TdWNjZXNzIiwic3VjY2VzcyIsIkludmFsaWRQYXNzd29yZCIsIkxvZ2luRmFpbGVkIiwiZXJyb3JUeXBlIiwiZXJyb3JNZXNzYWdlIiwiQ2hhbmdlUGFzc3dvcmQiLCJFcnJvciIsImNyZWF0ZUdlbmVyYWxFcnJvciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJCYXNlU2NyYXBlciIsImdldFZpZXdQb3J0Iiwid2lkdGgiLCJoZWlnaHQiLCJpbml0aWFsaXplIiwiSW5pdGlhbGl6aW5nIiwiZW52Iiwib3B0aW9ucyIsInZlcmJvc2UiLCJERUJVRyIsInByb2Nlc3MiLCJicm93c2VyIiwiZXhlY3V0YWJsZVBhdGgiLCJ1bmRlZmluZWQiLCJhcmdzIiwiaGVhZGxlc3MiLCJzaG93QnJvd3NlciIsInB1cHBldGVlciIsImxhdW5jaCIsInByZXBhcmVCcm93c2VyIiwicGFnZXMiLCJsZW5ndGgiLCJuZXdQYWdlIiwicHJlcGFyZVBhZ2UiLCJ2aWV3cG9ydCIsInNldFZpZXdwb3J0Iiwib24iLCJyZXF1ZXN0IiwiZmFpbHVyZSIsImVycm9yVGV4dCIsInVybCIsIm5hdmlnYXRlVG8iLCJ0aW1lb3V0IiwicGFnZVRvVXNlIiwicmVzcG9uc2UiLCJnb3RvIiwic3RhdHVzIiwiZ2V0TG9naW5PcHRpb25zIiwiX2NyZWRlbnRpYWxzIiwiY29tcGFueUlkIiwiZmlsbElucHV0cyIsInBhZ2VPckZyYW1lIiwiZmllbGRzIiwibW9kaWZpZWQiLCJpbnB1dCIsInNoaWZ0Iiwic2VsZWN0b3IiLCJsb2dpbiIsImNyZWRlbnRpYWxzIiwibG9naW5PcHRpb25zIiwidXNlckFnZW50Iiwic2V0VXNlckFnZW50IiwibG9naW5VcmwiLCJjaGVja1JlYWRpbmVzcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwibG9naW5GcmFtZU9yUGFnZSIsInByZUFjdGlvbiIsIkxvZ2dpbmdJbiIsInBvc3RBY3Rpb24iLCJjdXJyZW50IiwicG9zc2libGVSZXN1bHRzIiwidGVybWluYXRlIiwiX3N1Y2Nlc3MiLCJUZXJtaW5hdGluZyIsInN0b3JlRmFpbHVyZVNjcmVlblNob3RQYXRoIiwic2NyZWVuc2hvdCIsInBhdGgiLCJmdWxsUGFnZSIsImNsb3NlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUtBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7OztBQUVBLE1BQU1BLGNBQWMsR0FBRyxJQUF2QjtBQUNBLE1BQU1DLGVBQWUsR0FBRyxHQUF4QjtBQUNBLE1BQU1DLFNBQVMsR0FBRyxHQUFsQjtBQUVBLE1BQU1DLEtBQUssR0FBRyxxQkFBUywyQkFBVCxDQUFkO0lBRUtDLGdCOztXQUFBQSxnQjtBQUFBQSxFQUFBQSxnQjtBQUFBQSxFQUFBQSxnQjtHQUFBQSxnQixLQUFBQSxnQjs7QUFLTCxNQUFNO0FBQ0pDLEVBQUFBLE9BREk7QUFDS0MsRUFBQUEsT0FETDtBQUNjQyxFQUFBQTtBQURkLElBRUZDLDhCQUZKO0FBQUEsTUFDZ0NDLElBRGhD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TTJFLFNBQU4sQ0FBZ0JDLFFBQWhCLEVBQW1DO0FBQ2pDdEcsSUFBQUEsS0FBSyxDQUFFLHNDQUFxQ3NHLFFBQVMsRUFBaEQsQ0FBTDtBQUNBLFNBQUsxRSxZQUFMLENBQWtCQyxpQ0FBb0IwRSxXQUF0Qzs7QUFFQSxRQUFJLENBQUNELFFBQUQsSUFBYSxDQUFDLENBQUMsS0FBS3ZELE9BQUwsQ0FBYXlELDBCQUFoQyxFQUE0RDtBQUMxRHhHLE1BQUFBLEtBQUssQ0FBRSwwQ0FBeUMsS0FBSytDLE9BQUwsQ0FBYXlELDBCQUEyQixFQUFuRixDQUFMO0FBQ0EsWUFBTSxLQUFLN0YsSUFBTCxDQUFVOEYsVUFBVixDQUFxQjtBQUN6QkMsUUFBQUEsSUFBSSxFQUFFLEtBQUszRCxPQUFMLENBQWF5RCwwQkFETTtBQUV6QkcsUUFBQUEsUUFBUSxFQUFFO0FBRmUsT0FBckIsQ0FBTjtBQUlEOztBQUVELFFBQUksQ0FBQyxLQUFLeEQsT0FBVixFQUFtQjtBQUNqQjtBQUNEOztBQUVELFVBQU0sS0FBS0EsT0FBTCxDQUFheUQsS0FBYixFQUFOO0FBQ0Q7O0FBdkw4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwdXBwZXRlZXIsIHsgQnJvd3NlciwgRnJhbWUsIFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuXG5pbXBvcnQge1xuICBTY3JhcGVyRXJyb3JUeXBlcyxcbiAgQmFzZVNjcmFwZXIsIFNjYXBlclNjcmFwaW5nUmVzdWx0LCBTY2FwZXJQcm9ncmVzc1R5cGVzLFxuICBTY3JhcGVyQ3JlZGVudGlhbHMsXG59IGZyb20gJy4vYmFzZS1zY3JhcGVyJztcbmltcG9ydCB7IGdldEN1cnJlbnRVcmwsIHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IGNsaWNrQnV0dG9uLCBmaWxsSW5wdXQsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCB9IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGdldERlYnVnIH0gZnJvbSAnLi4vaGVscGVycy9kZWJ1Zyc7XG5cbmNvbnN0IFZJRVdQT1JUX1dJRFRIID0gMTAyNDtcbmNvbnN0IFZJRVdQT1JUX0hFSUdIVCA9IDc2ODtcbmNvbnN0IE9LX1NUQVRVUyA9IDIwMDtcblxuY29uc3QgZGVidWcgPSBnZXREZWJ1ZygnYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3NlcicpO1xuXG5lbnVtIExvZ2luQmFzZVJlc3VsdHMge1xuICBTdWNjZXNzID0gJ1NVQ0NFU1MnLFxuICBVbmtub3duRXJyb3IgPSAnVU5LTk9XTl9FUlJPUidcbn1cblxuY29uc3Qge1xuICBUaW1lb3V0LCBHZW5lcmljLCBHZW5lcmFsLCAuLi5yZXN0XG59ID0gU2NyYXBlckVycm9yVHlwZXM7XG5leHBvcnQgY29uc3QgTG9naW5SZXN1bHRzID0ge1xuICAuLi5yZXN0LFxuICAuLi5Mb2dpbkJhc2VSZXN1bHRzLFxufTtcblxuZXhwb3J0IHR5cGUgTG9naW5SZXN1bHRzID0gRXhjbHVkZTxTY3JhcGVyRXJyb3JUeXBlcyxcblNjcmFwZXJFcnJvclR5cGVzLlRpbWVvdXRcbnwgU2NyYXBlckVycm9yVHlwZXMuR2VuZXJpY1xufCBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmFsPiB8IExvZ2luQmFzZVJlc3VsdHM7XG5cbmV4cG9ydCB0eXBlIFBvc3NpYmxlTG9naW5SZXN1bHRzID0ge1xuICBba2V5IGluIExvZ2luUmVzdWx0c10/OiAoc3RyaW5nIHwgUmVnRXhwIHwgKChvcHRpb25zPzogeyBwYWdlPzogUGFnZX0pID0+IFByb21pc2U8Ym9vbGVhbj4pKVtdXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luT3B0aW9ucyB7XG4gIGxvZ2luVXJsOiBzdHJpbmc7XG4gIGNoZWNrUmVhZGluZXNzPzogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgZmllbGRzOiB7c2VsZWN0b3I6IHN0cmluZywgdmFsdWU6IHN0cmluZ31bXTtcbiAgc3VibWl0QnV0dG9uU2VsZWN0b3I6IHN0cmluZyB8ICgoKSA9PiBQcm9taXNlPHZvaWQ+KTtcbiAgcHJlQWN0aW9uPzogKCkgPT4gUHJvbWlzZTxGcmFtZSB8IHZvaWQ+O1xuICBwb3N0QWN0aW9uPzogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcG9zc2libGVSZXN1bHRzOiBQb3NzaWJsZUxvZ2luUmVzdWx0cztcbiAgdXNlckFnZW50Pzogc3RyaW5nO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRLZXlCeVZhbHVlKG9iamVjdDogUG9zc2libGVMb2dpblJlc3VsdHMsIHZhbHVlOiBzdHJpbmcsIHBhZ2U6IFBhZ2UpOiBQcm9taXNlPExvZ2luUmVzdWx0cz4ge1xuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBjb25kaXRpb25zID0gb2JqZWN0W2tleV07XG5cbiAgICBmb3IgKGNvbnN0IGNvbmRpdGlvbiBvZiBjb25kaXRpb25zKSB7XG4gICAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgICAgIGlmIChjb25kaXRpb24gaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgcmVzdWx0ID0gY29uZGl0aW9uLnRlc3QodmFsdWUpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY29uZGl0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJlc3VsdCA9IGF3YWl0IGNvbmRpdGlvbih7IHBhZ2UsIHZhbHVlIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gdmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gY29uZGl0aW9uLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGtleSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShMb2dpblJlc3VsdHMuVW5rbm93bkVycm9yKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlTG9naW5SZXN1bHQoc2NyYXBlcjogQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgbG9naW5SZXN1bHQ6IExvZ2luUmVzdWx0cykge1xuICBzd2l0Y2ggKGxvZ2luUmVzdWx0KSB7XG4gICAgY2FzZSBMb2dpblJlc3VsdHMuU3VjY2VzczpcbiAgICAgIHNjcmFwZXIuZW1pdFByb2dyZXNzKFNjYXBlclByb2dyZXNzVHlwZXMuTG9naW5TdWNjZXNzKTtcbiAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICBjYXNlIExvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmQ6XG4gICAgY2FzZSBMb2dpblJlc3VsdHMuVW5rbm93bkVycm9yOlxuICAgICAgc2NyYXBlci5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Mb2dpbkZhaWxlZCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3JUeXBlOiBsb2dpblJlc3VsdCA9PT0gTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZCA/IFNjcmFwZXJFcnJvclR5cGVzLkludmFsaWRQYXNzd29yZCA6XG4gICAgICAgICAgU2NyYXBlckVycm9yVHlwZXMuR2VuZXJhbCxcbiAgICAgICAgZXJyb3JNZXNzYWdlOiBgTG9naW4gZmFpbGVkIHdpdGggJHtsb2dpblJlc3VsdH0gZXJyb3JgLFxuICAgICAgfTtcbiAgICBjYXNlIExvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZDpcbiAgICAgIHNjcmFwZXIuZW1pdFByb2dyZXNzKFNjYXBlclByb2dyZXNzVHlwZXMuQ2hhbmdlUGFzc3dvcmQpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMuQ2hhbmdlUGFzc3dvcmQsXG4gICAgICB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuZXhwZWN0ZWQgbG9naW4gcmVzdWx0IFwiJHtsb2dpblJlc3VsdH1cImApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUdlbmVyYWxFcnJvcigpOiBTY2FwZXJTY3JhcGluZ1Jlc3VsdCB7XG4gIHJldHVybiB7XG4gICAgc3VjY2VzczogZmFsc2UsXG4gICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmFsLFxuICB9O1xufVxuXG5jbGFzcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIGV4dGVuZHMgQmFzZVNjcmFwZXIge1xuICAvLyBOT1RJQ0UgLSBpdCBpcyBkaXNjb3VyYWdlIHRvIHVzZSBiYW5nICghKSBpbiBnZW5lcmFsLiBJdCBpcyB1c2VkIGhlcmUgYmVjYXVzZVxuICAvLyBhbGwgdGhlIGNsYXNzZXMgdGhhdCBpbmhlcml0IGZyb20gdGhpcyBiYXNlIGFzc3VtZSBpcyBpdCBtYW5kYXRvcnkuXG4gIHByb3RlY3RlZCBicm93c2VyITogQnJvd3NlcjtcblxuICAvLyBOT1RJQ0UgLSBpdCBpcyBkaXNjb3VyYWdlIHRvIHVzZSBiYW5nICghKSBpbiBnZW5lcmFsLiBJdCBpcyB1c2VkIGhlcmUgYmVjYXVzZVxuICAvLyBhbGwgdGhlIGNsYXNzZXMgdGhhdCBpbmhlcml0IGZyb20gdGhpcyBiYXNlIGFzc3VtZSBpcyBpdCBtYW5kYXRvcnkuXG4gIHByb3RlY3RlZCBwYWdlITogUGFnZTtcblxuICBwcm90ZWN0ZWQgZ2V0Vmlld1BvcnQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiBWSUVXUE9SVF9XSURUSCxcbiAgICAgIGhlaWdodDogVklFV1BPUlRfSEVJR0hULFxuICAgIH07XG4gIH1cblxuICBhc3luYyBpbml0aWFsaXplKCkge1xuICAgIGRlYnVnKCdpbml0aWFsaXplIHNjcmFwZXInKTtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkluaXRpYWxpemluZyk7XG5cbiAgICBsZXQgZW52OiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkO1xuICAgIGlmICh0aGlzLm9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgZW52ID0geyBERUJVRzogJyonLCAuLi5wcm9jZXNzLmVudiB9O1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLmJyb3dzZXIgIT09ICd1bmRlZmluZWQnICYmIHRoaXMub3B0aW9ucy5icm93c2VyICE9PSBudWxsKSB7XG4gICAgICBkZWJ1ZygndXNlIGN1c3RvbSBicm93c2VyIGluc3RhbmNlIHByb3ZpZGVkIGluIG9wdGlvbnMnKTtcbiAgICAgIHRoaXMuYnJvd3NlciA9IHRoaXMub3B0aW9ucy5icm93c2VyO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBleGVjdXRhYmxlUGF0aCA9IHRoaXMub3B0aW9ucy5leGVjdXRhYmxlUGF0aCB8fCB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBhcmdzID0gdGhpcy5vcHRpb25zLmFyZ3MgfHwgW107XG5cbiAgICAgIGNvbnN0IGhlYWRsZXNzID0gIXRoaXMub3B0aW9ucy5zaG93QnJvd3NlcjtcbiAgICAgIGRlYnVnKGBsYXVuY2ggYSBicm93c2VyIHdpdGggaGVhZGxlc3MgbW9kZSA9ICR7aGVhZGxlc3N9YCk7XG4gICAgICB0aGlzLmJyb3dzZXIgPSBhd2FpdCBwdXBwZXRlZXIubGF1bmNoKHtcbiAgICAgICAgZW52LFxuICAgICAgICBoZWFkbGVzcyxcbiAgICAgICAgZXhlY3V0YWJsZVBhdGgsXG4gICAgICAgIGFyZ3MsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnByZXBhcmVCcm93c2VyKSB7XG4gICAgICBkZWJ1ZygnZXhlY3V0ZSBcXCdwcmVwYXJlQnJvd3NlclxcJyBpbnRlcmNlcHRvciBwcm92aWRlZCBpbiBvcHRpb25zJyk7XG4gICAgICBhd2FpdCB0aGlzLm9wdGlvbnMucHJlcGFyZUJyb3dzZXIodGhpcy5icm93c2VyKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuYnJvd3Nlcikge1xuICAgICAgZGVidWcoJ2ZhaWxlZCB0byBpbml0aWF0ZSBhIGJyb3dzZXIsIGV4aXQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwYWdlcyA9IGF3YWl0IHRoaXMuYnJvd3Nlci5wYWdlcygpO1xuICAgIGlmIChwYWdlcy5sZW5ndGgpIHtcbiAgICAgIGRlYnVnKCdicm93c2VyIGhhcyBhbHJlYWR5IHBhZ2VzIG9wZW4sIHVzZSB0aGUgZmlyc3Qgb25lJyk7XG4gICAgICBbdGhpcy5wYWdlXSA9IHBhZ2VzO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWJ1ZygnY3JlYXRlIGEgbmV3IGJyb3dzZXIgcGFnZScpO1xuICAgICAgdGhpcy5wYWdlID0gYXdhaXQgdGhpcy5icm93c2VyLm5ld1BhZ2UoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnByZXBhcmVQYWdlKSB7XG4gICAgICBkZWJ1ZygnZXhlY3V0ZSBcXCdwcmVwYXJlUGFnZVxcJyBpbnRlcmNlcHRvciBwcm92aWRlZCBpbiBvcHRpb25zJyk7XG4gICAgICBhd2FpdCB0aGlzLm9wdGlvbnMucHJlcGFyZVBhZ2UodGhpcy5wYWdlKTtcbiAgICB9XG5cbiAgICBjb25zdCB2aWV3cG9ydCA9IHRoaXMuZ2V0Vmlld1BvcnQoKTtcbiAgICBkZWJ1Zyhgc2V0IHZpZXdwb3J0IHRvIHdpZHRoICR7dmlld3BvcnQud2lkdGh9LCBoZWlnaHQgJHt2aWV3cG9ydC5oZWlnaHR9YCk7XG4gICAgYXdhaXQgdGhpcy5wYWdlLnNldFZpZXdwb3J0KHtcbiAgICAgIHdpZHRoOiB2aWV3cG9ydC53aWR0aCxcbiAgICAgIGhlaWdodDogdmlld3BvcnQuaGVpZ2h0LFxuICAgIH0pO1xuXG4gICAgdGhpcy5wYWdlLm9uKCdyZXF1ZXN0ZmFpbGVkJywgKHJlcXVlc3QpID0+IHtcbiAgICAgIGRlYnVnKCdSZXF1ZXN0IGZhaWxlZDogJXMgJXMnLCByZXF1ZXN0LmZhaWx1cmUoKT8uZXJyb3JUZXh0LCByZXF1ZXN0LnVybCgpKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG5hdmlnYXRlVG8odXJsOiBzdHJpbmcsIHBhZ2U/OiBQYWdlLCB0aW1lb3V0PzogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGFnZVRvVXNlID0gcGFnZSB8fCB0aGlzLnBhZ2U7XG5cbiAgICBpZiAoIXBhZ2VUb1VzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7IC4uLih0aW1lb3V0ID09PSBudWxsID8gbnVsbCA6IHsgdGltZW91dCB9KSB9O1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcGFnZVRvVXNlLmdvdG8odXJsLCBvcHRpb25zKTtcblxuICAgIC8vIG5vdGU6IHJlc3BvbnNlIHdpbGwgYmUgbnVsbCB3aGVuIG5hdmlnYXRpbmcgdG8gc2FtZSB1cmwgd2hpbGUgY2hhbmdpbmcgdGhlIGhhc2ggcGFydC4gdGhlIGNvbmRpdGlvbiBiZWxvdyB3aWxsIGFsd2F5cyBhY2NlcHQgbnVsbCBhcyB2YWxpZCByZXN1bHQuXG4gICAgaWYgKHJlc3BvbnNlICE9PSBudWxsICYmIChyZXNwb25zZSA9PT0gdW5kZWZpbmVkIHx8IHJlc3BvbnNlLnN0YXR1cygpICE9PSBPS19TVEFUVVMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIHdoaWxlIHRyeWluZyB0byBuYXZpZ2F0ZSB0byB1cmwgJHt1cmx9YCk7XG4gICAgfVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBnZXRMb2dpbk9wdGlvbnMoX2NyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpOiBMb2dpbk9wdGlvbnMge1xuICAgIHRocm93IG5ldyBFcnJvcihgZ2V0TG9naW5PcHRpb25zKCkgaXMgbm90IGNyZWF0ZWQgaW4gJHt0aGlzLm9wdGlvbnMuY29tcGFueUlkfWApO1xuICB9XG5cbiAgYXN5bmMgZmlsbElucHV0cyhwYWdlT3JGcmFtZTogUGFnZSB8IEZyYW1lLCBmaWVsZHM6IHsgc2VsZWN0b3I6IHN0cmluZywgdmFsdWU6IHN0cmluZ31bXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1vZGlmaWVkID0gWy4uLmZpZWxkc107XG4gICAgY29uc3QgaW5wdXQgPSBtb2RpZmllZC5zaGlmdCgpO1xuXG4gICAgaWYgKCFpbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCBmaWxsSW5wdXQocGFnZU9yRnJhbWUsIGlucHV0LnNlbGVjdG9yLCBpbnB1dC52YWx1ZSk7XG4gICAgaWYgKG1vZGlmaWVkLmxlbmd0aCkge1xuICAgICAgYXdhaXQgdGhpcy5maWxsSW5wdXRzKHBhZ2VPckZyYW1lLCBtb2RpZmllZCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9naW4oY3JlZGVudGlhbHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBQcm9taXNlPFNjYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgaWYgKCFjcmVkZW50aWFscyB8fCAhdGhpcy5wYWdlKSB7XG4gICAgICByZXR1cm4gY3JlYXRlR2VuZXJhbEVycm9yKCk7XG4gICAgfVxuXG4gICAgZGVidWcoJ2V4ZWN1dGUgbG9naW4gcHJvY2VzcycpO1xuICAgIGNvbnN0IGxvZ2luT3B0aW9ucyA9IHRoaXMuZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzKTtcblxuICAgIGlmIChsb2dpbk9wdGlvbnMudXNlckFnZW50KSB7XG4gICAgICBkZWJ1Zygnc2V0IGN1c3RvbSB1c2VyIGFnZW50IHByb3ZpZGVkIGluIG9wdGlvbnMnKTtcbiAgICAgIGF3YWl0IHRoaXMucGFnZS5zZXRVc2VyQWdlbnQobG9naW5PcHRpb25zLnVzZXJBZ2VudCk7XG4gICAgfVxuXG4gICAgZGVidWcoJ25hdmlnYXRlIHRvIGxvZ2luIHVybCcpO1xuICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUbyhsb2dpbk9wdGlvbnMubG9naW5VcmwpO1xuICAgIGlmIChsb2dpbk9wdGlvbnMuY2hlY2tSZWFkaW5lc3MpIHtcbiAgICAgIGRlYnVnKCdleGVjdXRlIFxcJ2NoZWNrUmVhZGluZXNzXFwnIGludGVyY2VwdG9yIHByb3ZpZGVkIGluIGxvZ2luIG9wdGlvbnMnKTtcbiAgICAgIGF3YWl0IGxvZ2luT3B0aW9ucy5jaGVja1JlYWRpbmVzcygpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGxvZ2luT3B0aW9ucy5zdWJtaXRCdXR0b25TZWxlY3RvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGRlYnVnKCd3YWl0IHVudGlsIHN1Ym1pdCBidXR0b24gaXMgYXZhaWxhYmxlJyk7XG4gICAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCBsb2dpbk9wdGlvbnMuc3VibWl0QnV0dG9uU2VsZWN0b3IpO1xuICAgIH1cblxuICAgIGxldCBsb2dpbkZyYW1lT3JQYWdlOiAoUGFnZSB8IEZyYW1lIHwgbnVsbCkgPSB0aGlzLnBhZ2U7XG4gICAgaWYgKGxvZ2luT3B0aW9ucy5wcmVBY3Rpb24pIHtcbiAgICAgIGRlYnVnKCdleGVjdXRlIFxcJ3ByZUFjdGlvblxcJyBpbnRlcmNlcHRvciBwcm92aWRlZCBpbiBsb2dpbiBvcHRpb25zJyk7XG4gICAgICBsb2dpbkZyYW1lT3JQYWdlID0gYXdhaXQgbG9naW5PcHRpb25zLnByZUFjdGlvbigpIHx8IHRoaXMucGFnZTtcbiAgICB9XG5cbiAgICBkZWJ1ZygnZmlsbCBsb2dpbiBjb21wb25lbnRzIGlucHV0IHdpdGggcmVsZXZhbnQgdmFsdWVzJyk7XG4gICAgYXdhaXQgdGhpcy5maWxsSW5wdXRzKGxvZ2luRnJhbWVPclBhZ2UsIGxvZ2luT3B0aW9ucy5maWVsZHMpO1xuICAgIGRlYnVnKCdjbGljayBvbiBsb2dpbiBzdWJtaXQgYnV0dG9uJyk7XG4gICAgaWYgKHR5cGVvZiBsb2dpbk9wdGlvbnMuc3VibWl0QnV0dG9uU2VsZWN0b3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBhd2FpdCBjbGlja0J1dHRvbihsb2dpbkZyYW1lT3JQYWdlLCBsb2dpbk9wdGlvbnMuc3VibWl0QnV0dG9uU2VsZWN0b3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCBsb2dpbk9wdGlvbnMuc3VibWl0QnV0dG9uU2VsZWN0b3IoKTtcbiAgICB9XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Mb2dnaW5nSW4pO1xuXG4gICAgaWYgKGxvZ2luT3B0aW9ucy5wb3N0QWN0aW9uKSB7XG4gICAgICBkZWJ1ZygnZXhlY3V0ZSBcXCdwb3N0QWN0aW9uXFwnIGludGVyY2VwdG9yIHByb3ZpZGVkIGluIGxvZ2luIG9wdGlvbnMnKTtcbiAgICAgIGF3YWl0IGxvZ2luT3B0aW9ucy5wb3N0QWN0aW9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlYnVnKCd3YWl0IGZvciBwYWdlIG5hdmlnYXRpb24nKTtcbiAgICAgIGF3YWl0IHdhaXRGb3JOYXZpZ2F0aW9uKHRoaXMucGFnZSk7XG4gICAgfVxuXG4gICAgZGVidWcoJ2NoZWNrIGxvZ2luIHJlc3VsdCcpO1xuICAgIGNvbnN0IGN1cnJlbnQgPSBhd2FpdCBnZXRDdXJyZW50VXJsKHRoaXMucGFnZSwgdHJ1ZSk7XG4gICAgY29uc3QgbG9naW5SZXN1bHQgPSBhd2FpdCBnZXRLZXlCeVZhbHVlKGxvZ2luT3B0aW9ucy5wb3NzaWJsZVJlc3VsdHMsIGN1cnJlbnQsIHRoaXMucGFnZSk7XG4gICAgZGVidWcoYGhhbmRsZSBsb2dpbiByZXN1bHRzICR7bG9naW5SZXN1bHR9YCk7XG4gICAgcmV0dXJuIGhhbmRsZUxvZ2luUmVzdWx0KHRoaXMsIGxvZ2luUmVzdWx0KTtcbiAgfVxuXG4gIGFzeW5jIHRlcm1pbmF0ZShfc3VjY2VzczogYm9vbGVhbikge1xuICAgIGRlYnVnKGB0ZXJtaW5hdGluZyBicm93c2VyIHdpdGggc3VjY2VzcyA9ICR7X3N1Y2Nlc3N9YCk7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5UZXJtaW5hdGluZyk7XG5cbiAgICBpZiAoIV9zdWNjZXNzICYmICEhdGhpcy5vcHRpb25zLnN0b3JlRmFpbHVyZVNjcmVlblNob3RQYXRoKSB7XG4gICAgICBkZWJ1ZyhgY3JlYXRlIGEgc25hcHNob3QgYmVmb3JlIHRlcm1pbmF0ZWQgaW4gJHt0aGlzLm9wdGlvbnMuc3RvcmVGYWlsdXJlU2NyZWVuU2hvdFBhdGh9YCk7XG4gICAgICBhd2FpdCB0aGlzLnBhZ2Uuc2NyZWVuc2hvdCh7XG4gICAgICAgIHBhdGg6IHRoaXMub3B0aW9ucy5zdG9yZUZhaWx1cmVTY3JlZW5TaG90UGF0aCxcbiAgICAgICAgZnVsbFBhZ2U6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuYnJvd3Nlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuYnJvd3Nlci5jbG9zZSgpO1xuICB9XG59XG5cbmV4cG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIgfTtcbiJdfQ==
|
|
326
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyLnRzIl0sIm5hbWVzIjpbIlZJRVdQT1JUX1dJRFRIIiwiVklFV1BPUlRfSEVJR0hUIiwiT0tfU1RBVFVTIiwiZGVidWciLCJMb2dpbkJhc2VSZXN1bHRzIiwiVGltZW91dCIsIkdlbmVyaWMiLCJHZW5lcmFsIiwiU2NyYXBlckVycm9yVHlwZXMiLCJyZXN0IiwiTG9naW5SZXN1bHRzIiwiZ2V0S2V5QnlWYWx1ZSIsIm9iamVjdCIsInZhbHVlIiwicGFnZSIsImtleXMiLCJPYmplY3QiLCJrZXkiLCJjb25kaXRpb25zIiwiY29uZGl0aW9uIiwicmVzdWx0IiwiUmVnRXhwIiwidGVzdCIsInRvTG93ZXJDYXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJVbmtub3duRXJyb3IiLCJoYW5kbGVMb2dpblJlc3VsdCIsInNjcmFwZXIiLCJsb2dpblJlc3VsdCIsIlN1Y2Nlc3MiLCJlbWl0UHJvZ3Jlc3MiLCJTY2FwZXJQcm9ncmVzc1R5cGVzIiwiTG9naW5TdWNjZXNzIiwic3VjY2VzcyIsIkludmFsaWRQYXNzd29yZCIsIkxvZ2luRmFpbGVkIiwiZXJyb3JUeXBlIiwiZXJyb3JNZXNzYWdlIiwiQ2hhbmdlUGFzc3dvcmQiLCJFcnJvciIsImNyZWF0ZUdlbmVyYWxFcnJvciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJCYXNlU2NyYXBlciIsImdldFZpZXdQb3J0Iiwid2lkdGgiLCJoZWlnaHQiLCJpbml0aWFsaXplIiwiZW52Iiwib3B0aW9ucyIsInZlcmJvc2UiLCJERUJVRyIsInByb2Nlc3MiLCJicm93c2VyIiwiZXhlY3V0YWJsZVBhdGgiLCJ1bmRlZmluZWQiLCJhcmdzIiwiaGVhZGxlc3MiLCJzaG93QnJvd3NlciIsInB1cHBldGVlciIsImxhdW5jaCIsInByZXBhcmVCcm93c2VyIiwicGFnZXMiLCJsZW5ndGgiLCJuZXdQYWdlIiwiZGVmYXVsdFRpbWVvdXQiLCJzZXREZWZhdWx0VGltZW91dCIsInByZXBhcmVQYWdlIiwidmlld3BvcnQiLCJzZXRWaWV3cG9ydCIsIm9uIiwicmVxdWVzdCIsImZhaWx1cmUiLCJlcnJvclRleHQiLCJ1cmwiLCJuYXZpZ2F0ZVRvIiwidGltZW91dCIsInBhZ2VUb1VzZSIsInJlc3BvbnNlIiwiZ290byIsInN0YXR1cyIsImdldExvZ2luT3B0aW9ucyIsIl9jcmVkZW50aWFscyIsImNvbXBhbnlJZCIsImZpbGxJbnB1dHMiLCJwYWdlT3JGcmFtZSIsImZpZWxkcyIsIm1vZGlmaWVkIiwiaW5wdXQiLCJzaGlmdCIsInNlbGVjdG9yIiwibG9naW4iLCJjcmVkZW50aWFscyIsImxvZ2luT3B0aW9ucyIsInVzZXJBZ2VudCIsInNldFVzZXJBZ2VudCIsImxvZ2luVXJsIiwiY2hlY2tSZWFkaW5lc3MiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsImxvZ2luRnJhbWVPclBhZ2UiLCJwcmVBY3Rpb24iLCJMb2dnaW5nSW4iLCJwb3N0QWN0aW9uIiwiY3VycmVudCIsInBvc3NpYmxlUmVzdWx0cyIsInRlcm1pbmF0ZSIsIl9zdWNjZXNzIiwiVGVybWluYXRpbmciLCJzdG9yZUZhaWx1cmVTY3JlZW5TaG90UGF0aCIsInNjcmVlbnNob3QiLCJwYXRoIiwiZnVsbFBhZ2UiLCJjbG9zZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFLQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7QUFFQSxNQUFNQSxjQUFjLEdBQUcsSUFBdkI7QUFDQSxNQUFNQyxlQUFlLEdBQUcsR0FBeEI7QUFDQSxNQUFNQyxTQUFTLEdBQUcsR0FBbEI7QUFFQSxNQUFNQyxLQUFLLEdBQUcscUJBQVMsMkJBQVQsQ0FBZDtJQUVLQyxnQjs7V0FBQUEsZ0I7QUFBQUEsRUFBQUEsZ0I7QUFBQUEsRUFBQUEsZ0I7R0FBQUEsZ0IsS0FBQUEsZ0I7O0FBS0wsTUFBTTtBQUNKQyxFQUFBQSxPQURJO0FBQ0tDLEVBQUFBLE9BREw7QUFDY0MsRUFBQUE7QUFEZCxJQUVGQyw4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LElBQTdDLENBQXZDO0FBQ0FYLElBQUFBLEtBQUssQ0FBRSx3QkFBdUIwQixXQUFZLEVBQXJDLENBQUw7QUFDQSxXQUFPRixpQkFBaUIsQ0FBQyxJQUFELEVBQU9FLFdBQVAsQ0FBeEI7QUFDRDs7QUFFRCxRQUFNNEUsU0FBTixDQUFnQkMsUUFBaEIsRUFBbUM7QUFDakN2RyxJQUFBQSxLQUFLLENBQUUsc0NBQXFDdUcsUUFBUyxFQUFoRCxDQUFMO0FBQ0EsU0FBSzNFLFlBQUwsQ0FBa0JDLGlDQUFvQjJFLFdBQXRDOztBQUVBLFFBQUksQ0FBQ0QsUUFBRCxJQUFhLENBQUMsQ0FBQyxLQUFLekQsT0FBTCxDQUFhMkQsMEJBQWhDLEVBQTREO0FBQzFEekcsTUFBQUEsS0FBSyxDQUFFLDBDQUF5QyxLQUFLOEMsT0FBTCxDQUFhMkQsMEJBQTJCLEVBQW5GLENBQUw7QUFDQSxZQUFNLEtBQUs5RixJQUFMLENBQVUrRixVQUFWLENBQXFCO0FBQ3pCQyxRQUFBQSxJQUFJLEVBQUUsS0FBSzdELE9BQUwsQ0FBYTJELDBCQURNO0FBRXpCRyxRQUFBQSxRQUFRLEVBQUU7QUFGZSxPQUFyQixDQUFOO0FBSUQ7O0FBRUQsUUFBSSxDQUFDLEtBQUsxRCxPQUFWLEVBQW1CO0FBQ2pCO0FBQ0Q7O0FBRUQsVUFBTSxLQUFLQSxPQUFMLENBQWEyRCxLQUFiLEVBQU47QUFDRDs7QUEzTDhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHB1cHBldGVlciwgeyBCcm93c2VyLCBGcmFtZSwgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5cbmltcG9ydCB7XG4gIFNjcmFwZXJFcnJvclR5cGVzLFxuICBCYXNlU2NyYXBlciwgU2NhcGVyU2NyYXBpbmdSZXN1bHQsIFNjYXBlclByb2dyZXNzVHlwZXMsXG4gIFNjcmFwZXJDcmVkZW50aWFscyxcbn0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHsgZ2V0Q3VycmVudFVybCwgd2FpdEZvck5hdmlnYXRpb24gfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgY2xpY2tCdXR0b24sIGZpbGxJbnB1dCwgd2FpdFVudGlsRWxlbWVudEZvdW5kIH0gZnJvbSAnLi4vaGVscGVycy9lbGVtZW50cy1pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IHsgZ2V0RGVidWcgfSBmcm9tICcuLi9oZWxwZXJzL2RlYnVnJztcblxuY29uc3QgVklFV1BPUlRfV0lEVEggPSAxMDI0O1xuY29uc3QgVklFV1BPUlRfSEVJR0hUID0gNzY4O1xuY29uc3QgT0tfU1RBVFVTID0gMjAwO1xuXG5jb25zdCBkZWJ1ZyA9IGdldERlYnVnKCdiYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJyk7XG5cbmVudW0gTG9naW5CYXNlUmVzdWx0cyB7XG4gIFN1Y2Nlc3MgPSAnU1VDQ0VTUycsXG4gIFVua25vd25FcnJvciA9ICdVTktOT1dOX0VSUk9SJ1xufVxuXG5jb25zdCB7XG4gIFRpbWVvdXQsIEdlbmVyaWMsIEdlbmVyYWwsIC4uLnJlc3Rcbn0gPSBTY3JhcGVyRXJyb3JUeXBlcztcbmV4cG9ydCBjb25zdCBMb2dpblJlc3VsdHMgPSB7XG4gIC4uLnJlc3QsXG4gIC4uLkxvZ2luQmFzZVJlc3VsdHMsXG59O1xuXG5leHBvcnQgdHlwZSBMb2dpblJlc3VsdHMgPSBFeGNsdWRlPFNjcmFwZXJFcnJvclR5cGVzLFxuU2NyYXBlckVycm9yVHlwZXMuVGltZW91dFxufCBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljXG58IFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyYWw+IHwgTG9naW5CYXNlUmVzdWx0cztcblxuZXhwb3J0IHR5cGUgUG9zc2libGVMb2dpblJlc3VsdHMgPSB7XG4gIFtrZXkgaW4gTG9naW5SZXN1bHRzXT86IChzdHJpbmcgfCBSZWdFeHAgfCAoKG9wdGlvbnM/OiB7IHBhZ2U/OiBQYWdlfSkgPT4gUHJvbWlzZTxib29sZWFuPikpW11cbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5PcHRpb25zIHtcbiAgbG9naW5Vcmw6IHN0cmluZztcbiAgY2hlY2tSZWFkaW5lc3M/OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBmaWVsZHM6IHtzZWxlY3Rvcjogc3RyaW5nLCB2YWx1ZTogc3RyaW5nfVtdO1xuICBzdWJtaXRCdXR0b25TZWxlY3Rvcjogc3RyaW5nIHwgKCgpID0+IFByb21pc2U8dm9pZD4pO1xuICBwcmVBY3Rpb24/OiAoKSA9PiBQcm9taXNlPEZyYW1lIHwgdm9pZD47XG4gIHBvc3RBY3Rpb24/OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBwb3NzaWJsZVJlc3VsdHM6IFBvc3NpYmxlTG9naW5SZXN1bHRzO1xuICB1c2VyQWdlbnQ/OiBzdHJpbmc7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEtleUJ5VmFsdWUob2JqZWN0OiBQb3NzaWJsZUxvZ2luUmVzdWx0cywgdmFsdWU6IHN0cmluZywgcGFnZTogUGFnZSk6IFByb21pc2U8TG9naW5SZXN1bHRzPiB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGNvbmRpdGlvbnMgPSBvYmplY3Rba2V5XTtcblxuICAgIGZvciAoY29uc3QgY29uZGl0aW9uIG9mIGNvbmRpdGlvbnMpIHtcbiAgICAgIGxldCByZXN1bHQgPSBmYWxzZTtcblxuICAgICAgaWYgKGNvbmRpdGlvbiBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgICByZXN1bHQgPSBjb25kaXRpb24udGVzdCh2YWx1ZSk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb25kaXRpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmVzdWx0ID0gYXdhaXQgY29uZGl0aW9uKHsgcGFnZSwgdmFsdWUgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpID09PSBjb25kaXRpb24udG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoa2V5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKExvZ2luUmVzdWx0cy5Vbmtub3duRXJyb3IpO1xufVxuXG5mdW5jdGlvbiBoYW5kbGVMb2dpblJlc3VsdChzY3JhcGVyOiBCYXNlU2NyYXBlcldpdGhCcm93c2VyLCBsb2dpblJlc3VsdDogTG9naW5SZXN1bHRzKSB7XG4gIHN3aXRjaCAobG9naW5SZXN1bHQpIHtcbiAgICBjYXNlIExvZ2luUmVzdWx0cy5TdWNjZXNzOlxuICAgICAgc2NyYXBlci5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Mb2dpblN1Y2Nlc3MpO1xuICAgICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSB9O1xuICAgIGNhc2UgTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZDpcbiAgICBjYXNlIExvZ2luUmVzdWx0cy5Vbmtub3duRXJyb3I6XG4gICAgICBzY3JhcGVyLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkxvZ2luRmFpbGVkKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvclR5cGU6IGxvZ2luUmVzdWx0ID09PSBMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkID8gU2NyYXBlckVycm9yVHlwZXMuSW52YWxpZFBhc3N3b3JkIDpcbiAgICAgICAgICBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmFsLFxuICAgICAgICBlcnJvck1lc3NhZ2U6IGBMb2dpbiBmYWlsZWQgd2l0aCAke2xvZ2luUmVzdWx0fSBlcnJvcmAsXG4gICAgICB9O1xuICAgIGNhc2UgTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkOlxuICAgICAgc2NyYXBlci5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5DaGFuZ2VQYXNzd29yZCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5DaGFuZ2VQYXNzd29yZCxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdW5leHBlY3RlZCBsb2dpbiByZXN1bHQgXCIke2xvZ2luUmVzdWx0fVwiYCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlR2VuZXJhbEVycm9yKCk6IFNjYXBlclNjcmFwaW5nUmVzdWx0IHtcbiAgcmV0dXJuIHtcbiAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyYWwsXG4gIH07XG59XG5cbmNsYXNzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIgZXh0ZW5kcyBCYXNlU2NyYXBlciB7XG4gIC8vIE5PVElDRSAtIGl0IGlzIGRpc2NvdXJhZ2UgdG8gdXNlIGJhbmcgKCEpIGluIGdlbmVyYWwuIEl0IGlzIHVzZWQgaGVyZSBiZWNhdXNlXG4gIC8vIGFsbCB0aGUgY2xhc3NlcyB0aGF0IGluaGVyaXQgZnJvbSB0aGlzIGJhc2UgYXNzdW1lIGlzIGl0IG1hbmRhdG9yeS5cbiAgcHJvdGVjdGVkIGJyb3dzZXIhOiBCcm93c2VyO1xuXG4gIC8vIE5PVElDRSAtIGl0IGlzIGRpc2NvdXJhZ2UgdG8gdXNlIGJhbmcgKCEpIGluIGdlbmVyYWwuIEl0IGlzIHVzZWQgaGVyZSBiZWNhdXNlXG4gIC8vIGFsbCB0aGUgY2xhc3NlcyB0aGF0IGluaGVyaXQgZnJvbSB0aGlzIGJhc2UgYXNzdW1lIGlzIGl0IG1hbmRhdG9yeS5cbiAgcHJvdGVjdGVkIHBhZ2UhOiBQYWdlO1xuXG4gIHByb3RlY3RlZCBnZXRWaWV3UG9ydCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IFZJRVdQT1JUX1dJRFRILFxuICAgICAgaGVpZ2h0OiBWSUVXUE9SVF9IRUlHSFQsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGluaXRpYWxpemUoKSB7XG4gICAgYXdhaXQgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgIGRlYnVnKCdpbml0aWFsaXplIHNjcmFwZXInKTtcblxuICAgIGxldCBlbnY6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQ7XG4gICAgaWYgKHRoaXMub3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICBlbnYgPSB7IERFQlVHOiAnKicsIC4uLnByb2Nlc3MuZW52IH07XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuYnJvd3NlciAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5vcHRpb25zLmJyb3dzZXIgIT09IG51bGwpIHtcbiAgICAgIGRlYnVnKCd1c2UgY3VzdG9tIGJyb3dzZXIgaW5zdGFuY2UgcHJvdmlkZWQgaW4gb3B0aW9ucycpO1xuICAgICAgdGhpcy5icm93c2VyID0gdGhpcy5vcHRpb25zLmJyb3dzZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGV4ZWN1dGFibGVQYXRoID0gdGhpcy5vcHRpb25zLmV4ZWN1dGFibGVQYXRoIHx8IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGFyZ3MgPSB0aGlzLm9wdGlvbnMuYXJncyB8fCBbXTtcblxuICAgICAgY29uc3QgaGVhZGxlc3MgPSAhdGhpcy5vcHRpb25zLnNob3dCcm93c2VyO1xuICAgICAgZGVidWcoYGxhdW5jaCBhIGJyb3dzZXIgd2l0aCBoZWFkbGVzcyBtb2RlID0gJHtoZWFkbGVzc31gKTtcbiAgICAgIHRoaXMuYnJvd3NlciA9IGF3YWl0IHB1cHBldGVlci5sYXVuY2goe1xuICAgICAgICBlbnYsXG4gICAgICAgIGhlYWRsZXNzLFxuICAgICAgICBleGVjdXRhYmxlUGF0aCxcbiAgICAgICAgYXJncyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMucHJlcGFyZUJyb3dzZXIpIHtcbiAgICAgIGRlYnVnKCdleGVjdXRlIFxcJ3ByZXBhcmVCcm93c2VyXFwnIGludGVyY2VwdG9yIHByb3ZpZGVkIGluIG9wdGlvbnMnKTtcbiAgICAgIGF3YWl0IHRoaXMub3B0aW9ucy5wcmVwYXJlQnJvd3Nlcih0aGlzLmJyb3dzZXIpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5icm93c2VyKSB7XG4gICAgICBkZWJ1ZygnZmFpbGVkIHRvIGluaXRpYXRlIGEgYnJvd3NlciwgZXhpdCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhZ2VzID0gYXdhaXQgdGhpcy5icm93c2VyLnBhZ2VzKCk7XG4gICAgaWYgKHBhZ2VzLmxlbmd0aCkge1xuICAgICAgZGVidWcoJ2Jyb3dzZXIgaGFzIGFscmVhZHkgcGFnZXMgb3BlbiwgdXNlIHRoZSBmaXJzdCBvbmUnKTtcbiAgICAgIFt0aGlzLnBhZ2VdID0gcGFnZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlYnVnKCdjcmVhdGUgYSBuZXcgYnJvd3NlciBwYWdlJyk7XG4gICAgICB0aGlzLnBhZ2UgPSBhd2FpdCB0aGlzLmJyb3dzZXIubmV3UGFnZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMuZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgIHRoaXMucGFnZS5zZXREZWZhdWx0VGltZW91dCh0aGlzLm9wdGlvbnMuZGVmYXVsdFRpbWVvdXQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMucHJlcGFyZVBhZ2UpIHtcbiAgICAgIGRlYnVnKCdleGVjdXRlIFxcJ3ByZXBhcmVQYWdlXFwnIGludGVyY2VwdG9yIHByb3ZpZGVkIGluIG9wdGlvbnMnKTtcbiAgICAgIGF3YWl0IHRoaXMub3B0aW9ucy5wcmVwYXJlUGFnZSh0aGlzLnBhZ2UpO1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXdwb3J0ID0gdGhpcy5nZXRWaWV3UG9ydCgpO1xuICAgIGRlYnVnKGBzZXQgdmlld3BvcnQgdG8gd2lkdGggJHt2aWV3cG9ydC53aWR0aH0sIGhlaWdodCAke3ZpZXdwb3J0LmhlaWdodH1gKTtcbiAgICBhd2FpdCB0aGlzLnBhZ2Uuc2V0Vmlld3BvcnQoe1xuICAgICAgd2lkdGg6IHZpZXdwb3J0LndpZHRoLFxuICAgICAgaGVpZ2h0OiB2aWV3cG9ydC5oZWlnaHQsXG4gICAgfSk7XG5cbiAgICB0aGlzLnBhZ2Uub24oJ3JlcXVlc3RmYWlsZWQnLCAocmVxdWVzdCkgPT4ge1xuICAgICAgZGVidWcoJ1JlcXVlc3QgZmFpbGVkOiAlcyAlcycsIHJlcXVlc3QuZmFpbHVyZSgpPy5lcnJvclRleHQsIHJlcXVlc3QudXJsKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbmF2aWdhdGVUbyh1cmw6IHN0cmluZywgcGFnZT86IFBhZ2UsIHRpbWVvdXQ/OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwYWdlVG9Vc2UgPSBwYWdlIHx8IHRoaXMucGFnZTtcblxuICAgIGlmICghcGFnZVRvVXNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHsgLi4uKHRpbWVvdXQgPT09IG51bGwgPyBudWxsIDogeyB0aW1lb3V0IH0pIH07XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwYWdlVG9Vc2UuZ290byh1cmwsIG9wdGlvbnMpO1xuXG4gICAgLy8gbm90ZTogcmVzcG9uc2Ugd2lsbCBiZSBudWxsIHdoZW4gbmF2aWdhdGluZyB0byBzYW1lIHVybCB3aGlsZSBjaGFuZ2luZyB0aGUgaGFzaCBwYXJ0LiB0aGUgY29uZGl0aW9uIGJlbG93IHdpbGwgYWx3YXlzIGFjY2VwdCBudWxsIGFzIHZhbGlkIHJlc3VsdC5cbiAgICBpZiAocmVzcG9uc2UgIT09IG51bGwgJiYgKHJlc3BvbnNlID09PSB1bmRlZmluZWQgfHwgcmVzcG9uc2Uuc3RhdHVzKCkgIT09IE9LX1NUQVRVUykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3Igd2hpbGUgdHJ5aW5nIHRvIG5hdmlnYXRlIHRvIHVybCAke3VybH1gKTtcbiAgICB9XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGdldExvZ2luT3B0aW9ucyhfY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscyk6IExvZ2luT3B0aW9ucyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBnZXRMb2dpbk9wdGlvbnMoKSBpcyBub3QgY3JlYXRlZCBpbiAke3RoaXMub3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cblxuICBhc3luYyBmaWxsSW5wdXRzKHBhZ2VPckZyYW1lOiBQYWdlIHwgRnJhbWUsIGZpZWxkczogeyBzZWxlY3Rvcjogc3RyaW5nLCB2YWx1ZTogc3RyaW5nfVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbW9kaWZpZWQgPSBbLi4uZmllbGRzXTtcbiAgICBjb25zdCBpbnB1dCA9IG1vZGlmaWVkLnNoaWZ0KCk7XG5cbiAgICBpZiAoIWlucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IGZpbGxJbnB1dChwYWdlT3JGcmFtZSwgaW5wdXQuc2VsZWN0b3IsIGlucHV0LnZhbHVlKTtcbiAgICBpZiAobW9kaWZpZWQubGVuZ3RoKSB7XG4gICAgICBhd2FpdCB0aGlzLmZpbGxJbnB1dHMocGFnZU9yRnJhbWUsIG1vZGlmaWVkKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2dpbihjcmVkZW50aWFsczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IFByb21pc2U8U2NhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICBpZiAoIWNyZWRlbnRpYWxzIHx8ICF0aGlzLnBhZ2UpIHtcbiAgICAgIHJldHVybiBjcmVhdGVHZW5lcmFsRXJyb3IoKTtcbiAgICB9XG5cbiAgICBkZWJ1ZygnZXhlY3V0ZSBsb2dpbiBwcm9jZXNzJyk7XG4gICAgY29uc3QgbG9naW5PcHRpb25zID0gdGhpcy5nZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHMpO1xuXG4gICAgaWYgKGxvZ2luT3B0aW9ucy51c2VyQWdlbnQpIHtcbiAgICAgIGRlYnVnKCdzZXQgY3VzdG9tIHVzZXIgYWdlbnQgcHJvdmlkZWQgaW4gb3B0aW9ucycpO1xuICAgICAgYXdhaXQgdGhpcy5wYWdlLnNldFVzZXJBZ2VudChsb2dpbk9wdGlvbnMudXNlckFnZW50KTtcbiAgICB9XG5cbiAgICBkZWJ1ZygnbmF2aWdhdGUgdG8gbG9naW4gdXJsJyk7XG4gICAgYXdhaXQgdGhpcy5uYXZpZ2F0ZVRvKGxvZ2luT3B0aW9ucy5sb2dpblVybCk7XG4gICAgaWYgKGxvZ2luT3B0aW9ucy5jaGVja1JlYWRpbmVzcykge1xuICAgICAgZGVidWcoJ2V4ZWN1dGUgXFwnY2hlY2tSZWFkaW5lc3NcXCcgaW50ZXJjZXB0b3IgcHJvdmlkZWQgaW4gbG9naW4gb3B0aW9ucycpO1xuICAgICAgYXdhaXQgbG9naW5PcHRpb25zLmNoZWNrUmVhZGluZXNzKCk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgbG9naW5PcHRpb25zLnN1Ym1pdEJ1dHRvblNlbGVjdG9yID09PSAnc3RyaW5nJykge1xuICAgICAgZGVidWcoJ3dhaXQgdW50aWwgc3VibWl0IGJ1dHRvbiBpcyBhdmFpbGFibGUnKTtcbiAgICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsIGxvZ2luT3B0aW9ucy5zdWJtaXRCdXR0b25TZWxlY3Rvcik7XG4gICAgfVxuXG4gICAgbGV0IGxvZ2luRnJhbWVPclBhZ2U6IChQYWdlIHwgRnJhbWUgfCBudWxsKSA9IHRoaXMucGFnZTtcbiAgICBpZiAobG9naW5PcHRpb25zLnByZUFjdGlvbikge1xuICAgICAgZGVidWcoJ2V4ZWN1dGUgXFwncHJlQWN0aW9uXFwnIGludGVyY2VwdG9yIHByb3ZpZGVkIGluIGxvZ2luIG9wdGlvbnMnKTtcbiAgICAgIGxvZ2luRnJhbWVPclBhZ2UgPSBhd2FpdCBsb2dpbk9wdGlvbnMucHJlQWN0aW9uKCkgfHwgdGhpcy5wYWdlO1xuICAgIH1cblxuICAgIGRlYnVnKCdmaWxsIGxvZ2luIGNvbXBvbmVudHMgaW5wdXQgd2l0aCByZWxldmFudCB2YWx1ZXMnKTtcbiAgICBhd2FpdCB0aGlzLmZpbGxJbnB1dHMobG9naW5GcmFtZU9yUGFnZSwgbG9naW5PcHRpb25zLmZpZWxkcyk7XG4gICAgZGVidWcoJ2NsaWNrIG9uIGxvZ2luIHN1Ym1pdCBidXR0b24nKTtcbiAgICBpZiAodHlwZW9mIGxvZ2luT3B0aW9ucy5zdWJtaXRCdXR0b25TZWxlY3RvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKGxvZ2luRnJhbWVPclBhZ2UsIGxvZ2luT3B0aW9ucy5zdWJtaXRCdXR0b25TZWxlY3Rvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IGxvZ2luT3B0aW9ucy5zdWJtaXRCdXR0b25TZWxlY3RvcigpO1xuICAgIH1cbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkxvZ2dpbmdJbik7XG5cbiAgICBpZiAobG9naW5PcHRpb25zLnBvc3RBY3Rpb24pIHtcbiAgICAgIGRlYnVnKCdleGVjdXRlIFxcJ3Bvc3RBY3Rpb25cXCcgaW50ZXJjZXB0b3IgcHJvdmlkZWQgaW4gbG9naW4gb3B0aW9ucycpO1xuICAgICAgYXdhaXQgbG9naW5PcHRpb25zLnBvc3RBY3Rpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVidWcoJ3dhaXQgZm9yIHBhZ2UgbmF2aWdhdGlvbicpO1xuICAgICAgYXdhaXQgd2FpdEZvck5hdmlnYXRpb24odGhpcy5wYWdlKTtcbiAgICB9XG5cbiAgICBkZWJ1ZygnY2hlY2sgbG9naW4gcmVzdWx0Jyk7XG4gICAgY29uc3QgY3VycmVudCA9IGF3YWl0IGdldEN1cnJlbnRVcmwodGhpcy5wYWdlLCB0cnVlKTtcbiAgICBjb25zdCBsb2dpblJlc3VsdCA9IGF3YWl0IGdldEtleUJ5VmFsdWUobG9naW5PcHRpb25zLnBvc3NpYmxlUmVzdWx0cywgY3VycmVudCwgdGhpcy5wYWdlKTtcbiAgICBkZWJ1ZyhgaGFuZGxlIGxvZ2luIHJlc3VsdHMgJHtsb2dpblJlc3VsdH1gKTtcbiAgICByZXR1cm4gaGFuZGxlTG9naW5SZXN1bHQodGhpcywgbG9naW5SZXN1bHQpO1xuICB9XG5cbiAgYXN5bmMgdGVybWluYXRlKF9zdWNjZXNzOiBib29sZWFuKSB7XG4gICAgZGVidWcoYHRlcm1pbmF0aW5nIGJyb3dzZXIgd2l0aCBzdWNjZXNzID0gJHtfc3VjY2Vzc31gKTtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLlRlcm1pbmF0aW5nKTtcblxuICAgIGlmICghX3N1Y2Nlc3MgJiYgISF0aGlzLm9wdGlvbnMuc3RvcmVGYWlsdXJlU2NyZWVuU2hvdFBhdGgpIHtcbiAgICAgIGRlYnVnKGBjcmVhdGUgYSBzbmFwc2hvdCBiZWZvcmUgdGVybWluYXRlZCBpbiAke3RoaXMub3B0aW9ucy5zdG9yZUZhaWx1cmVTY3JlZW5TaG90UGF0aH1gKTtcbiAgICAgIGF3YWl0IHRoaXMucGFnZS5zY3JlZW5zaG90KHtcbiAgICAgICAgcGF0aDogdGhpcy5vcHRpb25zLnN0b3JlRmFpbHVyZVNjcmVlblNob3RQYXRoLFxuICAgICAgICBmdWxsUGFnZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5icm93c2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5icm93c2VyLmNsb3NlKCk7XG4gIH1cbn1cblxuZXhwb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciB9O1xuIl19
|
|
@@ -86,6 +86,10 @@ export interface ScraperOptions {
|
|
|
86
86
|
* if set, store a screenshot if failed to scrape. Used for debug purposes
|
|
87
87
|
*/
|
|
88
88
|
storeFailureScreenShotPath?: string;
|
|
89
|
+
/**
|
|
90
|
+
* if set, will set the timeout in milliseconds of puppeteer's `page.setDefaultTimeout`.
|
|
91
|
+
*/
|
|
92
|
+
defaultTimeout?: number;
|
|
89
93
|
}
|
|
90
94
|
export declare enum ScaperProgressTypes {
|
|
91
95
|
Initializing = "INITIALIZING",
|
|
@@ -9,8 +9,12 @@ exports.BaseScraper = exports.ScaperProgressTypes = exports.ScraperErrorTypes =
|
|
|
9
9
|
|
|
10
10
|
var _events = require("events");
|
|
11
11
|
|
|
12
|
+
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
13
|
+
|
|
12
14
|
var _waiting = require("../helpers/waiting");
|
|
13
15
|
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
14
18
|
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; }
|
|
15
19
|
|
|
16
20
|
const SCRAPE_PROGRESS = 'SCRAPE_PROGRESS';
|
|
@@ -66,6 +70,8 @@ class BaseScraper {
|
|
|
66
70
|
|
|
67
71
|
async initialize() {
|
|
68
72
|
this.emitProgress(ScaperProgressTypes.Initializing);
|
|
73
|
+
|
|
74
|
+
_momentTimezone.default.tz.setDefault('Asia/Jerusalem');
|
|
69
75
|
}
|
|
70
76
|
|
|
71
77
|
async scrape(credentials) {
|
|
@@ -134,4 +140,4 @@ class BaseScraper {
|
|
|
134
140
|
}
|
|
135
141
|
|
|
136
142
|
exports.BaseScraper = BaseScraper;
|
|
137
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXIudHMiXSwibmFtZXMiOlsiU0NSQVBFX1BST0dSRVNTIiwiU2NyYXBlckVycm9yVHlwZXMiLCJTY2FwZXJQcm9ncmVzc1R5cGVzIiwiY3JlYXRlRXJyb3JSZXN1bHQiLCJlcnJvclR5cGUiLCJlcnJvck1lc3NhZ2UiLCJzdWNjZXNzIiwiY3JlYXRlVGltZW91dEVycm9yIiwiVGltZW91dCIsImNyZWF0ZUdlbmVyaWNFcnJvciIsIkdlbmVyaWMiLCJCYXNlU2NyYXBlciIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsIkV2ZW50RW1pdHRlciIsImluaXRpYWxpemUiLCJlbWl0UHJvZ3Jlc3MiLCJJbml0aWFsaXppbmciLCJzY3JhcGUiLCJjcmVkZW50aWFscyIsIlN0YXJ0U2NyYXBpbmciLCJsb2dpblJlc3VsdCIsImxvZ2luIiwiZSIsIlRpbWVvdXRFcnJvciIsIm1lc3NhZ2UiLCJzY3JhcGVSZXN1bHQiLCJmZXRjaERhdGEiLCJ0ZXJtaW5hdGUiLCJFbmRTY3JhcGluZyIsIl9jcmVkZW50aWFscyIsIkVycm9yIiwiY29tcGFueUlkIiwiX3N1Y2Nlc3MiLCJUZXJtaW5hdGluZyIsInR5cGUiLCJlbWl0IiwiZXZlbnROYW1lIiwicGF5bG9hZCIsImV2ZW50RW1pdHRlciIsIm9uUHJvZ3Jlc3MiLCJmdW5jIiwib24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBOzs7O0FBSUEsTUFBTUEsZUFBZSxHQUFHLGlCQUF4QjtJQUVZQyxpQjs7O1dBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0FBQUFBLEVBQUFBLGlCO0dBQUFBLGlCLGlDQUFBQSxpQjs7SUF5R0FDLG1COzs7V0FBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7QUFBQUEsRUFBQUEsbUI7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Q0QsR0F6RHNCLENBMkR2Qjs7O0FBQ0EsUUFBTUosU0FBTixDQUFnQkssUUFBaEIsRUFBbUM7QUFDakMsU0FBS2pCLFlBQUwsQ0FBa0JkLG1CQUFtQixDQUFDZ0MsV0FBdEM7QUFDRDs7QUFFRGxCLEVBQUFBLFlBQVksQ0FBQ21CLElBQUQsRUFBNEI7QUFDdEMsU0FBS0MsSUFBTCxDQUFVcEMsZUFBVixFQUEyQjtBQUFFbUMsTUFBQUE7QUFBRixLQUEzQjtBQUNEOztBQUVEQyxFQUFBQSxJQUFJLENBQUNDLFNBQUQsRUFBb0JDLE9BQXBCLEVBQWtEO0FBQ3BELFNBQUtDLFlBQUwsQ0FBa0JILElBQWxCLENBQXVCQyxTQUF2QixFQUFrQyxLQUFLeEIsT0FBTCxDQUFhbUIsU0FBL0MsRUFBMERNLE9BQTFEO0FBQ0Q7O0FBRURFLEVBQUFBLFVBQVUsQ0FBQ0MsSUFBRCxFQUFpQztBQUN6QyxTQUFLRixZQUFMLENBQWtCRyxFQUFsQixDQUFxQjFDLGVBQXJCLEVBQXNDeUMsSUFBdEM7QUFDRDs7QUExRXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRzJztcbmltcG9ydCB7IEJyb3dzZXIsIFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IHsgVGltZW91dEVycm9yIH0gZnJvbSAnLi4vaGVscGVycy93YWl0aW5nJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uc0FjY291bnQgfSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgQ29tcGFueVR5cGVzIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuXG5jb25zdCBTQ1JBUEVfUFJPR1JFU1MgPSAnU0NSQVBFX1BST0dSRVNTJztcblxuZXhwb3J0IGVudW0gU2NyYXBlckVycm9yVHlwZXMge1xuICBJbnZhbGlkUGFzc3dvcmQgPSdJTlZBTElEX1BBU1NXT1JEJyxcbiAgQ2hhbmdlUGFzc3dvcmQgPSAnQ0hBTkdFX1BBU1NXT1JEJyxcbiAgVGltZW91dCA9ICdUSU1FT1VUJyxcbiAgQWNjb3VudEJsb2NrZWQgPSAnQUNDT1VOVF9CTE9DS0VEJyxcbiAgR2VuZXJpYyA9ICdHRU5FUklDJyxcbiAgR2VuZXJhbCA9ICdHRU5FUkFMX0VSUk9SJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjYXBlckxvZ2luUmVzdWx0IHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgZXJyb3JUeXBlPzogU2NyYXBlckVycm9yVHlwZXM7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZzsgLy8gb25seSBvbiBzdWNjZXNzPWZhbHNlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnV0dXJlRGViaXQge1xuICBhbW91bnQ6IG51bWJlcjtcbiAgYW1vdW50Q3VycmVuY3k6IHN0cmluZztcbiAgY2hhcmdlRGF0ZT86IHN0cmluZztcbiAgYmFua0FjY291bnROdW1iZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NhcGVyU2NyYXBpbmdSZXN1bHQge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBhY2NvdW50cz86IFRyYW5zYWN0aW9uc0FjY291bnRbXTtcbiAgZnV0dXJlRGViaXRzPzogRnV0dXJlRGViaXRbXTtcbiAgZXJyb3JUeXBlPzogU2NyYXBlckVycm9yVHlwZXM7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZzsgLy8gb25seSBvbiBzdWNjZXNzPWZhbHNlXG59XG5cbmV4cG9ydCB0eXBlIFNjcmFwZXJDcmVkZW50aWFscyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NyYXBlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGNvbXBhbnkgeW91IHdhbnQgdG8gc2NyYXBlXG4gICAqL1xuICBjb21wYW55SWQ6IENvbXBhbnlUeXBlcztcblxuICAvKipcbiAgICogaW5jbHVkZSBtb3JlIGRlYnVnIGluZm8gYWJvdXQgaW4gdGhlIG91dHB1dFxuICAgKi9cbiAgdmVyYm9zZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIHRoZSBkYXRlIHRvIGZldGNoIHRyYW5zYWN0aW9ucyBmcm9tIChjYW4ndCBiZSBiZWZvcmUgdGhlIG1pbmltdW0gYWxsb3dlZCB0aW1lIGRpZmZlcmVuY2UgZm9yIHRoZSBzY3JhcGVyKVxuICAgKi9cbiAgc3RhcnREYXRlOiBEYXRlO1xuXG4gIC8qKlxuICAgKiBzaG93cyB0aGUgYnJvd3NlciB3aGlsZSBzY3JhcGluZywgZ29vZCBmb3IgZGVidWdnaW5nIChkZWZhdWx0IGZhbHNlKVxuICAgKi9cbiAgc2hvd0Jyb3dzZXI/OiBib29sZWFuO1xuXG5cbiAgLyoqXG4gICAqIHNjcmFwZSB0cmFuc2FjdGlvbnMgdG8gYmUgcHJvY2Vzc2VkIFggbW9udGhzIGluIHRoZSBmdXR1cmVcbiAgICovXG4gIGZ1dHVyZU1vbnRoc1RvU2NyYXBlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBvcHRpb24gZnJvbSBpbml0IHB1cHBldGVlciBicm93c2VyIGluc3RhbmNlIG91dHNpZGUgdGhlIGxpYmFyeSBzY29wZS4geW91IGNhbiBnZXRcbiAgICogYnJvd3NlciBkaXJldGx5IGZyb20gcHVwcGV0ZWVyIHZpYSBgcHVwcGV0ZWVyLmxhdW5jaCgpYFxuICAgKi9cbiAgYnJvd3Nlcj86IGFueTtcblxuICAvKipcbiAgICogcHJvdmlkZSBhIHBhdGNoIHRvIGxvY2FsIGNocm9taXVtIHRvIGJlIHVzZWQgYnkgcHVwcGV0ZWVyLiBSZWxldmFudCB3aGVuIHVzaW5nXG4gICAqIGBpc3JhZWxpLWJhbmstc2NyYXBlcnMtY29yZWAgbGlicmFyeVxuICAgKi9cbiAgZXhlY3V0YWJsZVBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGlmIHNldCB0byB0cnVlLCBhbGwgaW5zdGFsbG1lbnQgdHJhbnNhY3Rpb25zIHdpbGwgYmUgY29tYmluZSBpbnRvIHRoZSBmaXJzdCBvbmVcbiAgICovXG4gIGNvbWJpbmVJbnN0YWxsbWVudHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBicm93c2VyIGluc3RhbmNlLiBUaGUgbGlzdCBvZiBmbGFncyBjYW4gYmUgZm91bmQgaW5cbiAgICpcbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9Nb3ppbGxhL0NvbW1hbmRfTGluZV9PcHRpb25zXG4gICAqIGh0dHBzOi8vcGV0ZXIuc2gvZXhwZXJpbWVudHMvY2hyb21pdW0tY29tbWFuZC1saW5lLXN3aXRjaGVzL1xuICAgKi9cbiAgYXJncz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBhZGp1c3QgdGhlIGJyb3dzZXIgaW5zdGFuY2UgYmVmb3JlIGl0IGlzIGJlaW5nIHVzZWRcbiAgICpcbiAgICogQHBhcmFtIGJyb3dzZXJcbiAgICovXG4gIHByZXBhcmVCcm93c2VyPzogKGJyb3dzZXI6IEJyb3dzZXIpID0+IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIGFkanVzdCB0aGUgcGFnZSBpbnN0YW5jZSBiZWZvcmUgaXQgaXMgYmVpbmcgdXNlZC5cbiAgICpcbiAgICogQHBhcmFtIHBhZ2VcbiAgICovXG4gIHByZXBhcmVQYWdlPzogKHBhZ2U6IFBhZ2UpID0+IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIGlmIHNldCwgc3RvcmUgYSBzY3JlZW5zaG90IGlmIGZhaWxlZCB0byBzY3JhcGUuIFVzZWQgZm9yIGRlYnVnIHB1cnBvc2VzXG4gICAqL1xuICBzdG9yZUZhaWx1cmVTY3JlZW5TaG90UGF0aD86IHN0cmluZztcblxufVxuXG5leHBvcnQgZW51bSBTY2FwZXJQcm9ncmVzc1R5cGVzIHtcbiAgSW5pdGlhbGl6aW5nID0gJ0lOSVRJQUxJWklORycsXG4gIFN0YXJ0U2NyYXBpbmcgPSAnU1RBUlRfU0NSQVBJTkcnLFxuICBMb2dnaW5nSW4gPSAnTE9HR0lOR19JTicsXG4gIExvZ2luU3VjY2VzcyA9ICdMT0dJTl9TVUNDRVNTJyxcbiAgTG9naW5GYWlsZWQgPSAnTE9HSU5fRkFJTEVEJyxcbiAgQ2hhbmdlUGFzc3dvcmQgPSAnQ0hBTkdFX1BBU1NXT1JEJyxcbiAgRW5kU2NyYXBpbmcgPSAnRU5EX1NDUkFQSU5HJyxcbiAgVGVybWluYXRpbmcgPSAnVEVSTUlOQVRJTkcnLFxufVxuXG5mdW5jdGlvbiBjcmVhdGVFcnJvclJlc3VsdChlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLCBlcnJvck1lc3NhZ2U6IHN0cmluZykge1xuICByZXR1cm4ge1xuICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgIGVycm9yVHlwZSxcbiAgICBlcnJvck1lc3NhZ2UsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVRpbWVvdXRFcnJvcihlcnJvck1lc3NhZ2U6IHN0cmluZykge1xuICByZXR1cm4gY3JlYXRlRXJyb3JSZXN1bHQoU2NyYXBlckVycm9yVHlwZXMuVGltZW91dCwgZXJyb3JNZXNzYWdlKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlR2VuZXJpY0Vycm9yKGVycm9yTWVzc2FnZTogc3RyaW5nKSB7XG4gIHJldHVybiBjcmVhdGVFcnJvclJlc3VsdChTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljLCBlcnJvck1lc3NhZ2UpO1xufVxuXG5leHBvcnQgY2xhc3MgQmFzZVNjcmFwZXIge1xuICBwcml2YXRlIGV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgb3B0aW9uczogU2NyYXBlck9wdGlvbnMpIHtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcbiAgYXN5bmMgaW5pdGlhbGl6ZSgpIHtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkluaXRpYWxpemluZyk7XG4gIH1cblxuICBhc3luYyBzY3JhcGUoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscyk6IFByb21pc2U8U2NhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLlN0YXJ0U2NyYXBpbmcpO1xuICAgIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZSgpO1xuXG4gICAgbGV0IGxvZ2luUmVzdWx0O1xuICAgIHRyeSB7XG4gICAgICBsb2dpblJlc3VsdCA9IGF3YWl0IHRoaXMubG9naW4oY3JlZGVudGlhbHMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGxvZ2luUmVzdWx0ID0gZSBpbnN0YW5jZW9mIFRpbWVvdXRFcnJvciA/XG4gICAgICAgIGNyZWF0ZVRpbWVvdXRFcnJvcihlLm1lc3NhZ2UpIDpcbiAgICAgICAgY3JlYXRlR2VuZXJpY0Vycm9yKGUubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgbGV0IHNjcmFwZVJlc3VsdDtcbiAgICBpZiAobG9naW5SZXN1bHQuc3VjY2Vzcykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgc2NyYXBlUmVzdWx0ID0gYXdhaXQgdGhpcy5mZXRjaERhdGEoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgc2NyYXBlUmVzdWx0ID1cbiAgICAgICAgICBlIGluc3RhbmNlb2YgVGltZW91dEVycm9yID9cbiAgICAgICAgICAgIGNyZWF0ZVRpbWVvdXRFcnJvcihlLm1lc3NhZ2UpIDpcbiAgICAgICAgICAgIGNyZWF0ZUdlbmVyaWNFcnJvcihlLm1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzY3JhcGVSZXN1bHQgPSBsb2dpblJlc3VsdDtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3VjY2VzcyA9IHNjcmFwZVJlc3VsdCAmJiBzY3JhcGVSZXN1bHQuc3VjY2VzcyA9PT0gdHJ1ZTtcbiAgICAgIGF3YWl0IHRoaXMudGVybWluYXRlKHN1Y2Nlc3MpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHNjcmFwZVJlc3VsdCA9IGNyZWF0ZUdlbmVyaWNFcnJvcihlLm1lc3NhZ2UpO1xuICAgIH1cbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLkVuZFNjcmFwaW5nKTtcblxuICAgIHJldHVybiBzY3JhcGVSZXN1bHQ7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdFxuICBhc3luYyBsb2dpbihfY3JlZGVudGlhbHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBQcm9taXNlPFNjYXBlckxvZ2luUmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBsb2dpbigpIGlzIG5vdCBjcmVhdGVkIGluICR7dGhpcy5vcHRpb25zLmNvbXBhbnlJZH1gKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcbiAgYXN5bmMgZmV0Y2hEYXRhKCk6IFByb21pc2U8U2NhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGZldGNoRGF0YSgpIGlzIG5vdCBjcmVhdGVkIGluICR7dGhpcy5vcHRpb25zLmNvbXBhbnlJZH1gKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIGFzeW5jIHRlcm1pbmF0ZShfc3VjY2VzczogYm9vbGVhbikge1xuICAgIHRoaXMuZW1pdFByb2dyZXNzKFNjYXBlclByb2dyZXNzVHlwZXMuVGVybWluYXRpbmcpO1xuICB9XG5cbiAgZW1pdFByb2dyZXNzKHR5cGU6IFNjYXBlclByb2dyZXNzVHlwZXMpIHtcbiAgICB0aGlzLmVtaXQoU0NSQVBFX1BST0dSRVNTLCB7IHR5cGUgfSk7XG4gIH1cblxuICBlbWl0KGV2ZW50TmFtZTogc3RyaW5nLCBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gICAgdGhpcy5ldmVudEVtaXR0ZXIuZW1pdChldmVudE5hbWUsIHRoaXMub3B0aW9ucy5jb21wYW55SWQsIHBheWxvYWQpO1xuICB9XG5cbiAgb25Qcm9ncmVzcyhmdW5jOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpIHtcbiAgICB0aGlzLmV2ZW50RW1pdHRlci5vbihTQ1JBUEVfUFJPR1JFU1MsIGZ1bmMpO1xuICB9XG59XG4iXX0=
|
|
143
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXIudHMiXSwibmFtZXMiOlsiU0NSQVBFX1BST0dSRVNTIiwiU2NyYXBlckVycm9yVHlwZXMiLCJTY2FwZXJQcm9ncmVzc1R5cGVzIiwiY3JlYXRlRXJyb3JSZXN1bHQiLCJlcnJvclR5cGUiLCJlcnJvck1lc3NhZ2UiLCJzdWNjZXNzIiwiY3JlYXRlVGltZW91dEVycm9yIiwiVGltZW91dCIsImNyZWF0ZUdlbmVyaWNFcnJvciIsIkdlbmVyaWMiLCJCYXNlU2NyYXBlciIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsIkV2ZW50RW1pdHRlciIsImluaXRpYWxpemUiLCJlbWl0UHJvZ3Jlc3MiLCJJbml0aWFsaXppbmciLCJtb21lbnQiLCJ0eiIsInNldERlZmF1bHQiLCJzY3JhcGUiLCJjcmVkZW50aWFscyIsIlN0YXJ0U2NyYXBpbmciLCJsb2dpblJlc3VsdCIsImxvZ2luIiwiZSIsIlRpbWVvdXRFcnJvciIsIm1lc3NhZ2UiLCJzY3JhcGVSZXN1bHQiLCJmZXRjaERhdGEiLCJ0ZXJtaW5hdGUiLCJFbmRTY3JhcGluZyIsIl9jcmVkZW50aWFscyIsIkVycm9yIiwiY29tcGFueUlkIiwiX3N1Y2Nlc3MiLCJUZXJtaW5hdGluZyIsInR5cGUiLCJlbWl0IiwiZXZlbnROYW1lIiwicGF5bG9hZCIsImV2ZW50RW1pdHRlciIsIm9uUHJvZ3Jlc3MiLCJmdW5jIiwib24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7Ozs7QUFJQSxNQUFNQSxlQUFlLEdBQUcsaUJBQXhCO0lBRVlDLGlCOzs7V0FBQUEsaUI7QUFBQUEsRUFBQUEsaUI7QUFBQUEsRUFBQUEsaUI7QUFBQUEsRUFBQUEsaUI7QUFBQUEsRUFBQUEsaUI7QUFBQUEsRUFBQUEsaUI7QUFBQUEsRUFBQUEsaUI7R0FBQUEsaUIsaUNBQUFBLGlCOztJQTZHQUMsbUI7OztXQUFBQSxtQjtBQUFBQSxFQUFBQSxtQjtBQUFBQSxFQUFB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LFNBQU4sR0FBaUQ7QUFDL0MsVUFBTSxJQUFJSSxLQUFKLENBQVcsaUNBQWdDLEtBQUtyQixPQUFMLENBQWFzQixTQUFVLEVBQWxFLENBQU47QUFDRCxHQTFEc0IsQ0E0RHZCOzs7QUFDQSxRQUFNSixTQUFOLENBQWdCSyxRQUFoQixFQUFtQztBQUNqQyxTQUFLcEIsWUFBTCxDQUFrQmQsbUJBQW1CLENBQUNtQyxXQUF0QztBQUNEOztBQUVEckIsRUFBQUEsWUFBWSxDQUFDc0IsSUFBRCxFQUE0QjtBQUN0QyxTQUFLQyxJQUFMLENBQVV2QyxlQUFWLEVBQTJCO0FBQUVzQyxNQUFBQTtBQUFGLEtBQTNCO0FBQ0Q7O0FBRURDLEVBQUFBLElBQUksQ0FBQ0MsU0FBRCxFQUFvQkMsT0FBcEIsRUFBa0Q7QUFDcEQsU0FBS0MsWUFBTCxDQUFrQkgsSUFBbEIsQ0FBdUJDLFNBQXZCLEVBQWtDLEtBQUszQixPQUFMLENBQWFzQixTQUEvQyxFQUEwRE0sT0FBMUQ7QUFDRDs7QUFFREUsRUFBQUEsVUFBVSxDQUFDQyxJQUFELEVBQWlDO0FBQ3pDLFNBQUtGLFlBQUwsQ0FBa0JHLEVBQWxCLENBQXFCN0MsZUFBckIsRUFBc0M0QyxJQUF0QztBQUNEOztBQTNFc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudHMnO1xuaW1wb3J0IHsgQnJvd3NlciwgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgeyBUaW1lb3V0RXJyb3IgfSBmcm9tICcuLi9oZWxwZXJzL3dhaXRpbmcnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25zQWNjb3VudCB9IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBDb21wYW55VHlwZXMgfSBmcm9tICcuLi9kZWZpbml0aW9ucyc7XG5cbmNvbnN0IFNDUkFQRV9QUk9HUkVTUyA9ICdTQ1JBUEVfUFJPR1JFU1MnO1xuXG5leHBvcnQgZW51bSBTY3JhcGVyRXJyb3JUeXBlcyB7XG4gIEludmFsaWRQYXNzd29yZCA9J0lOVkFMSURfUEFTU1dPUkQnLFxuICBDaGFuZ2VQYXNzd29yZCA9ICdDSEFOR0VfUEFTU1dPUkQnLFxuICBUaW1lb3V0ID0gJ1RJTUVPVVQnLFxuICBBY2NvdW50QmxvY2tlZCA9ICdBQ0NPVU5UX0JMT0NLRUQnLFxuICBHZW5lcmljID0gJ0dFTkVSSUMnLFxuICBHZW5lcmFsID0gJ0dFTkVSQUxfRVJST1InXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NhcGVyTG9naW5SZXN1bHQge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBlcnJvclR5cGU/OiBTY3JhcGVyRXJyb3JUeXBlcztcbiAgZXJyb3JNZXNzYWdlPzogc3RyaW5nOyAvLyBvbmx5IG9uIHN1Y2Nlc3M9ZmFsc2Vcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdXR1cmVEZWJpdCB7XG4gIGFtb3VudDogbnVtYmVyO1xuICBhbW91bnRDdXJyZW5jeTogc3RyaW5nO1xuICBjaGFyZ2VEYXRlPzogc3RyaW5nO1xuICBiYW5rQWNjb3VudE51bWJlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY2FwZXJTY3JhcGluZ1Jlc3VsdCB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIGFjY291bnRzPzogVHJhbnNhY3Rpb25zQWNjb3VudFtdO1xuICBmdXR1cmVEZWJpdHM/OiBGdXR1cmVEZWJpdFtdO1xuICBlcnJvclR5cGU/OiBTY3JhcGVyRXJyb3JUeXBlcztcbiAgZXJyb3JNZXNzYWdlPzogc3RyaW5nOyAvLyBvbmx5IG9uIHN1Y2Nlc3M9ZmFsc2Vcbn1cblxuZXhwb3J0IHR5cGUgU2NyYXBlckNyZWRlbnRpYWxzID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuZXhwb3J0IGludGVyZmFjZSBTY3JhcGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY29tcGFueSB5b3Ugd2FudCB0byBzY3JhcGVcbiAgICovXG4gIGNvbXBhbnlJZDogQ29tcGFueVR5cGVzO1xuXG4gIC8qKlxuICAgKiBpbmNsdWRlIG1vcmUgZGVidWcgaW5mbyBhYm91dCBpbiB0aGUgb3V0cHV0XG4gICAqL1xuICB2ZXJib3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogdGhlIGRhdGUgdG8gZmV0Y2ggdHJhbnNhY3Rpb25zIGZyb20gKGNhbid0IGJlIGJlZm9yZSB0aGUgbWluaW11bSBhbGxvd2VkIHRpbWUgZGlmZmVyZW5jZSBmb3IgdGhlIHNjcmFwZXIpXG4gICAqL1xuICBzdGFydERhdGU6IERhdGU7XG5cbiAgLyoqXG4gICAqIHNob3dzIHRoZSBicm93c2VyIHdoaWxlIHNjcmFwaW5nLCBnb29kIGZvciBkZWJ1Z2dpbmcgKGRlZmF1bHQgZmFsc2UpXG4gICAqL1xuICBzaG93QnJvd3Nlcj86IGJvb2xlYW47XG5cblxuICAvKipcbiAgICogc2NyYXBlIHRyYW5zYWN0aW9ucyB0byBiZSBwcm9jZXNzZWQgWCBtb250aHMgaW4gdGhlIGZ1dHVyZVxuICAgKi9cbiAgZnV0dXJlTW9udGhzVG9TY3JhcGU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIG9wdGlvbiBmcm9tIGluaXQgcHVwcGV0ZWVyIGJyb3dzZXIgaW5zdGFuY2Ugb3V0c2lkZSB0aGUgbGliYXJ5IHNjb3BlLiB5b3UgY2FuIGdldFxuICAgKiBicm93c2VyIGRpcmV0bHkgZnJvbSBwdXBwZXRlZXIgdmlhIGBwdXBwZXRlZXIubGF1bmNoKClgXG4gICAqL1xuICBicm93c2VyPzogYW55O1xuXG4gIC8qKlxuICAgKiBwcm92aWRlIGEgcGF0Y2ggdG8gbG9jYWwgY2hyb21pdW0gdG8gYmUgdXNlZCBieSBwdXBwZXRlZXIuIFJlbGV2YW50IHdoZW4gdXNpbmdcbiAgICogYGlzcmFlbGktYmFuay1zY3JhcGVycy1jb3JlYCBsaWJyYXJ5XG4gICAqL1xuICBleGVjdXRhYmxlUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogaWYgc2V0IHRvIHRydWUsIGFsbCBpbnN0YWxsbWVudCB0cmFuc2FjdGlvbnMgd2lsbCBiZSBjb21iaW5lIGludG8gdGhlIGZpcnN0IG9uZVxuICAgKi9cbiAgY29tYmluZUluc3RhbGxtZW50cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIGJyb3dzZXIgaW5zdGFuY2UuIFRoZSBsaXN0IG9mIGZsYWdzIGNhbiBiZSBmb3VuZCBpblxuICAgKlxuICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL01vemlsbGEvQ29tbWFuZF9MaW5lX09wdGlvbnNcbiAgICogaHR0cHM6Ly9wZXRlci5zaC9leHBlcmltZW50cy9jaHJvbWl1bS1jb21tYW5kLWxpbmUtc3dpdGNoZXMvXG4gICAqL1xuICBhcmdzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIGFkanVzdCB0aGUgYnJvd3NlciBpbnN0YW5jZSBiZWZvcmUgaXQgaXMgYmVpbmcgdXNlZFxuICAgKlxuICAgKiBAcGFyYW0gYnJvd3NlclxuICAgKi9cbiAgcHJlcGFyZUJyb3dzZXI/OiAoYnJvd3NlcjogQnJvd3NlcikgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogYWRqdXN0IHRoZSBwYWdlIGluc3RhbmNlIGJlZm9yZSBpdCBpcyBiZWluZyB1c2VkLlxuICAgKlxuICAgKiBAcGFyYW0gcGFnZVxuICAgKi9cbiAgcHJlcGFyZVBhZ2U/OiAocGFnZTogUGFnZSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogaWYgc2V0LCBzdG9yZSBhIHNjcmVlbnNob3QgaWYgZmFpbGVkIHRvIHNjcmFwZS4gVXNlZCBmb3IgZGVidWcgcHVycG9zZXNcbiAgICovXG4gIHN0b3JlRmFpbHVyZVNjcmVlblNob3RQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBpZiBzZXQsIHdpbGwgc2V0IHRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyBvZiBwdXBwZXRlZXIncyBgcGFnZS5zZXREZWZhdWx0VGltZW91dGAuXG4gICAqL1xuICBkZWZhdWx0VGltZW91dD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGVudW0gU2NhcGVyUHJvZ3Jlc3NUeXBlcyB7XG4gIEluaXRpYWxpemluZyA9ICdJTklUSUFMSVpJTkcnLFxuICBTdGFydFNjcmFwaW5nID0gJ1NUQVJUX1NDUkFQSU5HJyxcbiAgTG9nZ2luZ0luID0gJ0xPR0dJTkdfSU4nLFxuICBMb2dpblN1Y2Nlc3MgPSAnTE9HSU5fU1VDQ0VTUycsXG4gIExvZ2luRmFpbGVkID0gJ0xPR0lOX0ZBSUxFRCcsXG4gIENoYW5nZVBhc3N3b3JkID0gJ0NIQU5HRV9QQVNTV09SRCcsXG4gIEVuZFNjcmFwaW5nID0gJ0VORF9TQ1JBUElORycsXG4gIFRlcm1pbmF0aW5nID0gJ1RFUk1JTkFUSU5HJyxcbn1cblxuZnVuY3Rpb24gY3JlYXRlRXJyb3JSZXN1bHQoZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcywgZXJyb3JNZXNzYWdlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHtcbiAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICBlcnJvclR5cGUsXG4gICAgZXJyb3JNZXNzYWdlLFxuICB9O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVUaW1lb3V0RXJyb3IoZXJyb3JNZXNzYWdlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KFNjcmFwZXJFcnJvclR5cGVzLlRpbWVvdXQsIGVycm9yTWVzc2FnZSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUdlbmVyaWNFcnJvcihlcnJvck1lc3NhZ2U6IHN0cmluZykge1xuICByZXR1cm4gY3JlYXRlRXJyb3JSZXN1bHQoU2NyYXBlckVycm9yVHlwZXMuR2VuZXJpYywgZXJyb3JNZXNzYWdlKTtcbn1cblxuZXhwb3J0IGNsYXNzIEJhc2VTY3JhcGVyIHtcbiAgcHJpdmF0ZSBldmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIG9wdGlvbnM6IFNjcmFwZXJPcHRpb25zKSB7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIGFzeW5jIGluaXRpYWxpemUoKSB7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5Jbml0aWFsaXppbmcpO1xuICAgIG1vbWVudC50ei5zZXREZWZhdWx0KCdBc2lhL0plcnVzYWxlbScpO1xuICB9XG5cbiAgYXN5bmMgc2NyYXBlKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpOiBQcm9taXNlPFNjYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5TdGFydFNjcmFwaW5nKTtcbiAgICBhd2FpdCB0aGlzLmluaXRpYWxpemUoKTtcblxuICAgIGxldCBsb2dpblJlc3VsdDtcbiAgICB0cnkge1xuICAgICAgbG9naW5SZXN1bHQgPSBhd2FpdCB0aGlzLmxvZ2luKGNyZWRlbnRpYWxzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBsb2dpblJlc3VsdCA9IGUgaW5zdGFuY2VvZiBUaW1lb3V0RXJyb3IgP1xuICAgICAgICBjcmVhdGVUaW1lb3V0RXJyb3IoZS5tZXNzYWdlKSA6XG4gICAgICAgIGNyZWF0ZUdlbmVyaWNFcnJvcihlLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGxldCBzY3JhcGVSZXN1bHQ7XG4gICAgaWYgKGxvZ2luUmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNjcmFwZVJlc3VsdCA9IGF3YWl0IHRoaXMuZmV0Y2hEYXRhKCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHNjcmFwZVJlc3VsdCA9XG4gICAgICAgICAgZSBpbnN0YW5jZW9mIFRpbWVvdXRFcnJvciA/XG4gICAgICAgICAgICBjcmVhdGVUaW1lb3V0RXJyb3IoZS5tZXNzYWdlKSA6XG4gICAgICAgICAgICBjcmVhdGVHZW5lcmljRXJyb3IoZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2NyYXBlUmVzdWx0ID0gbG9naW5SZXN1bHQ7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBzY3JhcGVSZXN1bHQgJiYgc2NyYXBlUmVzdWx0LnN1Y2Nlc3MgPT09IHRydWU7XG4gICAgICBhd2FpdCB0aGlzLnRlcm1pbmF0ZShzdWNjZXNzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBzY3JhcGVSZXN1bHQgPSBjcmVhdGVHZW5lcmljRXJyb3IoZS5tZXNzYWdlKTtcbiAgICB9XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NhcGVyUHJvZ3Jlc3NUeXBlcy5FbmRTY3JhcGluZyk7XG5cbiAgICByZXR1cm4gc2NyYXBlUmVzdWx0O1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcbiAgYXN5bmMgbG9naW4oX2NyZWRlbnRpYWxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTxTY2FwZXJMb2dpblJlc3VsdD4ge1xuICAgIHRocm93IG5ldyBFcnJvcihgbG9naW4oKSBpcyBub3QgY3JlYXRlZCBpbiAke3RoaXMub3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIGFzeW5jIGZldGNoRGF0YSgpOiBQcm9taXNlPFNjYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBmZXRjaERhdGEoKSBpcyBub3QgY3JlYXRlZCBpbiAke3RoaXMub3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdFxuICBhc3luYyB0ZXJtaW5hdGUoX3N1Y2Nlc3M6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY2FwZXJQcm9ncmVzc1R5cGVzLlRlcm1pbmF0aW5nKTtcbiAgfVxuXG4gIGVtaXRQcm9ncmVzcyh0eXBlOiBTY2FwZXJQcm9ncmVzc1R5cGVzKSB7XG4gICAgdGhpcy5lbWl0KFNDUkFQRV9QUk9HUkVTUywgeyB0eXBlIH0pO1xuICB9XG5cbiAgZW1pdChldmVudE5hbWU6IHN0cmluZywgcGF5bG9hZDogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHRoaXMuZXZlbnRFbWl0dGVyLmVtaXQoZXZlbnROYW1lLCB0aGlzLm9wdGlvbnMuY29tcGFueUlkLCBwYXlsb2FkKTtcbiAgfVxuXG4gIG9uUHJvZ3Jlc3MoZnVuYzogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5ldmVudEVtaXR0ZXIub24oU0NSQVBFX1BST0dSRVNTLCBmdW5jKTtcbiAgfVxufVxuIl19
|
package/lib/scrapers/mizrahi.js
CHANGED
|
@@ -19,6 +19,8 @@ var _fetch = require("../helpers/fetch");
|
|
|
19
19
|
|
|
20
20
|
var _navigation = require("../helpers/navigation");
|
|
21
21
|
|
|
22
|
+
var _waiting = require("../helpers/waiting");
|
|
23
|
+
|
|
22
24
|
var _transactions = require("../transactions");
|
|
23
25
|
|
|
24
26
|
var _baseScraper = require("./base-scraper");
|
|
@@ -173,9 +175,9 @@ class MizrahiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
173
175
|
|
|
174
176
|
async fetchAccount() {
|
|
175
177
|
// workaround for situations where Mizrahi pops up pages (e.g. email update page)
|
|
176
|
-
await this.page.waitForNavigation({
|
|
178
|
+
await (0, _waiting.raceTimeout)(5 * _waiting.SECOND, this.page.waitForNavigation({
|
|
177
179
|
waitUntil: 'networkidle2'
|
|
178
|
-
});
|
|
180
|
+
}));
|
|
179
181
|
await this.page.$eval(`a[href="${OSH_PAGE}"]`, el => el.click());
|
|
180
182
|
await (0, _elementsInteractions.waitUntilElementFound)(this.page, `a[href="${TRANSACTIONS_PAGE}"]`);
|
|
181
183
|
await this.page.$eval(`a[href="${TRANSACTIONS_PAGE}"]`, el => el.click());
|
|
@@ -209,4 +211,4 @@ class MizrahiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
209
211
|
|
|
210
212
|
var _default = MizrahiScraper;
|
|
211
213
|
exports.default = _default;
|
|
212
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9taXpyYWhpLnRzIl0sIm5hbWVzIjpbIkJBU0VfV0VCU0lURV9VUkwiLCJMT0dJTl9VUkwiLCJCQVNFX0FQUF9VUkwiLCJBRlRFUl9MT0dJTl9CQVNFX1VSTCIsIk9TSF9QQUdFIiwiVFJBTlNBQ1RJT05TX1BBR0UiLCJUUkFOU0FDVElPTlNfUkVRVUVTVF9VUkwiLCJQRU5ESU5HX1RSQU5TQUNUSU9OU19QQUdFIiwiUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FIiwiQ0hBTkdFX1BBU1NXT1JEX1VSTCIsIkRBVEVfRk9STUFUIiwiTUFYX1JPV1NfUEVSX1JFUVVFU1QiLCJ1c2VybmFtZVNlbGVjdG9yIiwicGFzc3dvcmRTZWxlY3RvciIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiaW52YWxpZFBhc3N3b3JkU2VsZWN0b3IiLCJhZnRlckxvZ2luU2VsZWN0b3IiLCJsb2dpblNwaW5uZXJTZWxlY3RvciIsImFjY291bnREcm9wRG93bkl0ZW1TZWxlY3RvciIsInBlbmRpbmdUcnhJZGVudGlmaWVySWQiLCJjaGVja2luZ0FjY291bnRUYWJIZWJyZXdOYW1lIiwiY2hlY2tpbmdBY2NvdW50VGFiRW5nbGlzaE5hbWUiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInBhZ2UiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiJHgiLCJJbnZhbGlkUGFzc3dvcmQiLCIkIiwiQ2hhbmdlUGFzc3dvcmQiLCJnZXRTdGFydE1vbWVudCIsIm9wdGlvbnNTdGFydERhdGUiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsInN0YXJ0RGF0ZSIsInRvRGF0ZSIsIm1vbWVudCIsIm1heCIsImNyZWF0ZURhdGFGcm9tUmVxdWVzdCIsInJlcXVlc3QiLCJkYXRhIiwiSlNPTiIsInBhcnNlIiwicG9zdERhdGEiLCJpbkZyb21EYXRlIiwiZm9ybWF0IiwiaW5Ub0RhdGUiLCJ0YWJsZSIsIm1heFJvdyIsImNyZWF0ZUhlYWRlcnNGcm9tUmVxdWVzdCIsIm1penJhaGl4c3JmdG9rZW4iLCJoZWFkZXJzIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJtYXAiLCJyb3ciLCJ0eG5EYXRlIiwiTUMwMlBldWxhVGFhRVoiLCJIVE1MNV9GTVQiLCJEQVRFVElNRV9MT0NBTF9TRUNPTkRTIiwidG9JU09TdHJpbmciLCJ0eXBlIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsImlkZW50aWZpZXIiLCJNQzAyQXNtYWh0YU1la29yaXRFWiIsInBhcnNlSW50IiwidW5kZWZpbmVkIiwiZGF0ZSIsInByb2Nlc3NlZERhdGUiLCJvcmlnaW5hbEFtb3VudCIsIk1DMDJTY2h1bUVaIiwib3JpZ2luYWxDdXJyZW5jeSIsIlNIRUtFTF9DVVJSRU5DWSIsImNoYXJnZWRBbW91bnQiLCJkZXNjcmlwdGlvbiIsIk1DMDJUbnVhVGV1ckVaIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsImV4dHJhY3RQZW5kaW5nVHJhbnNhY3Rpb25zIiwicGVuZGluZ1R4biIsInRycyIsInRyIiwiQXJyYXkiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsInRkIiwidGV4dENvbnRlbnQiLCJ0eG4iLCJhbW91bnQiLCJQZW5kaW5nIiwicG9zdExvZ2luIiwiUHJvbWlzZSIsInJhY2UiLCJNaXpyYWhpU2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImZpZWxkcyIsImNoZWNrUmVhZGluZXNzIiwicG9zdEFjdGlvbiIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSIsIiRldmFsIiwiZWwiLCJjbGljayIsIm51bU9mQWNjb3VudHMiLCIkJCIsImxlbmd0aCIsInJlc3VsdHMiLCJpIiwicHVzaCIsImZldGNoQWNjb3VudCIsInN1Y2Nlc3MiLCJhY2NvdW50cyIsImUiLCJlcnJvclR5cGUiLCJTY3JhcGVyRXJyb3JUeXBlcyIsIkdlbmVyaWMiLCJlcnJvck1lc3NhZ2UiLCJtZXNzYWdlIiwid2FpdEZvck5hdmlnYXRpb24iLCJ3YWl0VW50aWwiLCJ3YWl0Rm9yUmVxdWVzdCIsIm9wdGlvbnMiLCJyZXNwb25zZSIsImhlYWRlciIsIkVycm9yIiwibWVzc2FnZXMiLCJ0ZXh0IiwicmVsZXZhbnRSb3dzIiwiYm9keSIsInJvd3MiLCJmaWx0ZXIiLCJSZWNUeXBlU3BlY2lmaWVkIiwib3NoVHhuIiwic3RhcnRNb21lbnQiLCJvc2hUeG5BZnRlclN0YXJ0RGF0ZSIsImlzU2FtZU9yQWZ0ZXIiLCJmcmFtZSIsImYiLCJ1cmwiLCJpbmNsdWRlcyIsImFsbFR4biIsImNvbmNhdCIsImFjY291bnROdW1iZXIiLCJBY2NvdW50TnVtYmVyIiwiYmFsYW5jZSIsIllpdHJhTGVsb0NoZWtpbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7OztBQTBCQSxNQUFNQSxnQkFBZ0IsR0FBRyxtQ0FBekI7QUFDQSxNQUFNQyxTQUFTLEdBQUksR0FBRUQsZ0JBQWlCLGlDQUF0QztBQUNBLE1BQU1FLFlBQVksR0FBRyxtQ0FBckI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRyx1REFBN0I7QUFDQSxNQUFNQyxRQUFRLEdBQUcsdUNBQWpCO0FBQ0EsTUFBTUMsaUJBQWlCLEdBQUcsNkNBQTFCO0FBQ0EsTUFBTUMsd0JBQXdCLEdBQUksR0FBRUosWUFBYSxnQ0FBakQ7QUFDQSxNQUFNSyx5QkFBeUIsR0FBRyx1Q0FBbEM7QUFDQSxNQUFNQywyQkFBMkIsR0FBRyxXQUFwQztBQUNBLE1BQU1DLG1CQUFtQixHQUFHLCtFQUE1QjtBQUNBLE1BQU1DLFdBQVcsR0FBRyxZQUFwQjtBQUNBLE1BQU1DLG9CQUFvQixHQUFHLFdBQTdCO0FBRUEsTUFBTUMsZ0JBQWdCLEdBQUcsa0JBQXpCO0FBQ0Es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b21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEZyYW1lLCBQYWdlLCBSZXF1ZXN0IH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IFNIRUtFTF9DVVJSRU5DWSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBwYWdlRXZhbEFsbCwgd2FpdFVudGlsRWxlbWVudERpc2FwcGVhciwgd2FpdFVudGlsRWxlbWVudEZvdW5kLCB3YWl0VW50aWxJZnJhbWVGb3VuZCxcbn0gZnJvbSAnLi4vaGVscGVycy9lbGVtZW50cy1pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb3N0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHsgd2FpdEZvclVybCB9IGZyb20gJy4uL2hlbHBlcnMvbmF2aWdhdGlvbic7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25zQWNjb3VudCwgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyxcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IFNjcmFwZXJDcmVkZW50aWFscywgU2NyYXBlckVycm9yVHlwZXMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlcic7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyLCBMb2dpblJlc3VsdHMsIFBvc3NpYmxlTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbiB7XG4gIFJlY1R5cGVTcGVjaWZpZWQ6IGJvb2xlYW47XG4gIE1DMDJQZXVsYVRhYUVaOiBzdHJpbmc7XG4gIE1DMDJTY2h1bUVaOiBudW1iZXI7XG4gIE1DMDJBc21haHRhTWVrb3JpdEVaOiBzdHJpbmc7XG4gIE1DMDJUbnVhVGV1ckVaOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb25zUmVzdWx0IHtcbiAgaGVhZGVyOiB7XG4gICAgc3VjY2VzczogYm9vbGVhbjtcbiAgICBtZXNzYWdlczogeyB0ZXh0OiBzdHJpbmcgfVtdO1xuICB9O1xuICBib2R5OiB7XG4gICAgZmllbGRzOiB7XG4gICAgICBBY2NvdW50TnVtYmVyOiBzdHJpbmc7XG4gICAgICBZaXRyYUxlbG9DaGVraW06IHN0cmluZztcbiAgICB9O1xuICAgIHRhYmxlOiB7XG4gICAgICByb3dzOiBTY3JhcGVkVHJhbnNhY3Rpb25bXTtcbiAgICB9O1xuICB9O1xufVxuXG5jb25zdCBCQVNFX1dFQlNJVEVfVVJMID0gJ2h0dHBzOi8vd3d3Lm1penJhaGktdGVmYWhvdC5jby5pbCc7XG5jb25zdCBMT0dJTl9VUkwgPSBgJHtCQVNFX1dFQlNJVEVfVVJMfS9sb2dpbi9pbmRleC5odG1sIy9hdXRoLXBhZ2UtaGVgO1xuY29uc3QgQkFTRV9BUFBfVVJMID0gJ2h0dHBzOi8vbXRvLm1penJhaGktdGVmYWhvdC5jby5pbCc7XG5jb25zdCBBRlRFUl9MT0dJTl9CQVNFX1VSTCA9IC9odHRwczpcXC9cXC9tdG9cXC5taXpyYWhpLXRlZmFob3RcXC5jb1xcLmlsXFwvT25saW5lQXBwXFwvLiovO1xuY29uc3QgT1NIX1BBR0UgPSAnL09ubGluZUFwcC9vc2gvbGVnYWN5L2xlZ2FjeS1Pc2gtTWFpbic7XG5jb25zdCBUUkFOU0FDVElPTlNfUEFHRSA9ICcvT25saW5lQXBwL29zaC9sZWdhY3kvcm9vdC1tYWluLW9zaC1wNDI4TmV3JztcbmNvbnN0IFRSQU5TQUNUSU9OU19SRVFVRVNUX1VSTCA9IGAke0JBU0VfQVBQX1VSTH0vT25saW5lL2FwaS9Ta3lPU0gvZ2V0NDI4SW5kZXhgO1xuY29uc3QgUEVORElOR19UUkFOU0FDVElPTlNfUEFHRSA9ICcvT25saW5lQXBwL29zaC9sZWdhY3kvbGVnYWN5LU9zaC1wNDIwJztcbmNvbnN0IFBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSA9ICdwNDIwLmFzcHgnO1xuY29uc3QgQ0hBTkdFX1BBU1NXT1JEX1VSTCA9IC9odHRwczpcXC9cXC93d3dcXC5taXpyYWhpLXRlZmFob3RcXC5jb1xcLmlsXFwvbG9naW5cXC9cXHcrXFwvaW5kZXhcXC5odG1sI1xcL2NoYW5nZS1wYXNzLztcbmNvbnN0IERBVEVfRk9STUFUID0gJ0REL01NL1lZWVknO1xuY29uc3QgTUFYX1JPV1NfUEVSX1JFUVVFU1QgPSAxMDAwMDAwMDAwMDtcblxuY29uc3QgdXNlcm5hbWVTZWxlY3RvciA9ICcjZW1haWxEZXNrdG9wSGViJztcbmNvbnN0IHBhc3N3b3JkU2VsZWN0b3IgPSAnI3Bhc3N3b3JkSUREZXNrdG9wSEVCJztcbmNvbnN0IHN1Ym1pdEJ1dHRvblNlbGVjdG9yID0gJy5mb3JtLWRlc2t0b3AgYnV0dG9uJztcbmNvbnN0IGludmFsaWRQYXNzd29yZFNlbGVjdG9yID0gJ2FbaHJlZio9XCJodHRwczovL3NjLm1penJhaGktdGVmYWhvdC5jby5pbC9TQ1NlcnZpY2VzL1NDL1AwMTAuYXNweFwiXSc7XG5jb25zdCBhZnRlckxvZ2luU2VsZWN0b3IgPSAnI2Ryb3Bkb3duQmFzaWMnO1xuY29uc3QgbG9naW5TcGlubmVyU2VsZWN0b3IgPSAnZGl2Lm5neC1vdmVybGF5LmxvYWRpbmctZm9yZWdyb3VuZCc7XG5jb25zdCBhY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3IgPSAnI0FjY291bnRQaWNrZXIgLml0ZW0nO1xuY29uc3QgcGVuZGluZ1RyeElkZW50aWZpZXJJZCA9ICcjY3RsMDBfQ29udGVudFBsYWNlSG9sZGVyMl9wYW5lbDEnO1xuY29uc3QgY2hlY2tpbmdBY2NvdW50VGFiSGVicmV3TmFtZSA9ICfXoteV15HXqCDXldep15EnO1xuY29uc3QgY2hlY2tpbmdBY2NvdW50VGFiRW5nbGlzaE5hbWUgPSAnQ2hlY2tpbmcgQWNjb3VudCc7XG5cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICByZXR1cm4gW1xuICAgIHsgc2VsZWN0b3I6IHVzZXJuYW1lU2VsZWN0b3IsIHZhbHVlOiBjcmVkZW50aWFscy51c2VybmFtZSB9LFxuICAgIHsgc2VsZWN0b3I6IHBhc3N3b3JkU2VsZWN0b3IsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyhwYWdlOiBQYWdlKTogUG9zc2libGVMb2dpblJlc3VsdHMge1xuICByZXR1cm4ge1xuICAgIFtMb2dpblJlc3VsdHMuU3VjY2Vzc106IFtBRlRFUl9MT0dJTl9CQVNFX1VSTCwgYXN5bmMgKCkgPT4gISEoYXdhaXQgcGFnZS4keChgLy9hLy9zcGFuW2NvbnRhaW5zKC4sIFwiJHtjaGVja2luZ0FjY291bnRUYWJIZWJyZXdOYW1lfVwiKSBvciBjb250YWlucyguLCBcIiR7Y2hlY2tpbmdBY2NvdW50VGFiRW5nbGlzaE5hbWV9XCIpXWApKV0sXG4gICAgW0xvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRdOiBbYXN5bmMgKCkgPT4gISEoYXdhaXQgcGFnZS4kKGludmFsaWRQYXNzd29yZFNlbGVjdG9yKSldLFxuICAgIFtMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdOiBbQ0hBTkdFX1BBU1NXT1JEX1VSTF0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFN0YXJ0TW9tZW50KG9wdGlvbnNTdGFydERhdGU6IERhdGUpIHtcbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJyk7XG4gIGNvbnN0IHN0YXJ0RGF0ZSA9IG9wdGlvbnNTdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICByZXR1cm4gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGF0YUZyb21SZXF1ZXN0KHJlcXVlc3Q6IFJlcXVlc3QsIG9wdGlvbnNTdGFydERhdGU6IERhdGUpIHtcbiAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UocmVxdWVzdC5wb3N0RGF0YSgpIHx8ICd7fScpO1xuXG4gIGRhdGEuaW5Gcm9tRGF0ZSA9IGdldFN0YXJ0TW9tZW50KG9wdGlvbnNTdGFydERhdGUpLmZvcm1hdChEQVRFX0ZPUk1BVCk7XG4gIGRhdGEuaW5Ub0RhdGUgPSBtb21lbnQoKS5mb3JtYXQoREFURV9GT1JNQVQpO1xuICBkYXRhLnRhYmxlLm1heFJvdyA9IE1BWF9ST1dTX1BFUl9SRVFVRVNUO1xuXG4gIHJldHVybiBkYXRhO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVIZWFkZXJzRnJvbVJlcXVlc3QocmVxdWVzdDogUmVxdWVzdCkge1xuICByZXR1cm4ge1xuICAgIG1penJhaGl4c3JmdG9rZW46IHJlcXVlc3QuaGVhZGVycygpLm1penJhaGl4c3JmdG9rZW4sXG4gICAgJ0NvbnRlbnQtVHlwZSc6IHJlcXVlc3QuaGVhZGVycygpWydjb250ZW50LXR5cGUnXSxcbiAgfTtcbn1cblxuXG5mdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSB7XG4gIHJldHVybiB0eG5zLm1hcCgocm93KSA9PiB7XG4gICAgY29uc3QgdHhuRGF0ZSA9IG1vbWVudChyb3cuTUMwMlBldWxhVGFhRVosIG1vbWVudC5IVE1MNV9GTVQuREFURVRJTUVfTE9DQUxfU0VDT05EUylcbiAgICAgIC50b0lTT1N0cmluZygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgaWRlbnRpZmllcjogcm93Lk1DMDJBc21haHRhTWVrb3JpdEVaID8gcGFyc2VJbnQocm93Lk1DMDJBc21haHRhTWVrb3JpdEVaLCAxMCkgOiB1bmRlZmluZWQsXG4gICAgICBkYXRlOiB0eG5EYXRlLFxuICAgICAgcHJvY2Vzc2VkRGF0ZTogdHhuRGF0ZSxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiByb3cuTUMwMlNjaHVtRVosXG4gICAgICBvcmlnaW5hbEN1cnJlbmN5OiBTSEVLRUxfQ1VSUkVOQ1ksXG4gICAgICBjaGFyZ2VkQW1vdW50OiByb3cuTUMwMlNjaHVtRVosXG4gICAgICBkZXNjcmlwdGlvbjogcm93Lk1DMDJUbnVhVGV1ckVaLFxuICAgICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICB9O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZXh0cmFjdFBlbmRpbmdUcmFuc2FjdGlvbnMocGFnZTogRnJhbWUpOiBQcm9taXNlPFRyYW5zYWN0aW9uW10+IHtcbiAgY29uc3QgcGVuZGluZ1R4biA9IGF3YWl0IHBhZ2VFdmFsQWxsKHBhZ2UsICd0ci5yZ1JvdycsIFtdLCAodHJzKSA9PiB7XG4gICAgcmV0dXJuIHRycy5tYXAoKHRyKSA9PiBBcnJheS5mcm9tKHRyLnF1ZXJ5U2VsZWN0b3JBbGwoJ3RkJyksICh0ZDogSFRNTFRhYmxlRGF0YUNlbGxFbGVtZW50KSA9PiB0ZC50ZXh0Q29udGVudCB8fCAnJykpO1xuICB9KTtcblxuICByZXR1cm4gcGVuZGluZ1R4bi5tYXAoKHR4bikgPT4ge1xuICAgIGNvbnN0IGRhdGUgPSBtb21lbnQodHhuWzBdLCAnREQvTU0vWVknKS50b0lTT1N0cmluZygpO1xuICAgIGNvbnN0IGFtb3VudCA9IHBhcnNlSW50KHR4blszXSwgMTApO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbCxcbiAgICAgIGRhdGUsXG4gICAgICBwcm9jZXNzZWREYXRlOiBkYXRlLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IGFtb3VudCxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IFNIRUtFTF9DVVJSRU5DWSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IGFtb3VudCxcbiAgICAgIGRlc2NyaXB0aW9uOiB0eG5bMV0sXG4gICAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuUGVuZGluZyxcbiAgICB9O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcG9zdExvZ2luKHBhZ2U6IFBhZ2UpIHtcbiAgYXdhaXQgUHJvbWlzZS5yYWNlKFtcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgYWZ0ZXJMb2dpblNlbGVjdG9yKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgaW52YWxpZFBhc3N3b3JkU2VsZWN0b3IpLFxuICAgIHdhaXRGb3JVcmwocGFnZSwgQ0hBTkdFX1BBU1NXT1JEX1VSTCksXG4gIF0pO1xufVxuXG5jbGFzcyBNaXpyYWhpU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogTE9HSU5fVVJMLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcixcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiB3YWl0VW50aWxFbGVtZW50RGlzYXBwZWFyKHRoaXMucGFnZSwgbG9naW5TcGlubmVyU2VsZWN0b3IpLFxuICAgICAgcG9zdEFjdGlvbjogYXN5bmMgKCkgPT4gcG9zdExvZ2luKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHRoaXMucGFnZSksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoJyNkcm9wZG93bkJhc2ljLCAuaXRlbScsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcblxuICAgIGNvbnN0IG51bU9mQWNjb3VudHMgPSAoYXdhaXQgdGhpcy5wYWdlLiQkKGFjY291bnREcm9wRG93bkl0ZW1TZWxlY3RvcikpLmxlbmd0aDtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHRzOiBUcmFuc2FjdGlvbnNBY2NvdW50W10gPSBbXTtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1PZkFjY291bnRzOyBpICs9IDEpIHtcbiAgICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKCcjZHJvcGRvd25CYXNpYywgLml0ZW0nLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoYCR7YWNjb3VudERyb3BEb3duSXRlbVNlbGVjdG9yfTpudGgtY2hpbGQoJHtpICsgMX0pYCwgKGVsKSA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCkpO1xuICAgICAgICByZXN1bHRzLnB1c2goKGF3YWl0IHRoaXMuZmV0Y2hBY2NvdW50KCkpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgYWNjb3VudHM6IHJlc3VsdHMsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyaWMsXG4gICAgICAgIGVycm9yTWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZldGNoQWNjb3VudCgpIHtcbiAgICAvLyB3b3JrYXJvdW5kIGZvciBzaXR1YXRpb25zIHdoZXJlIE1penJhaGkgcG9wcyB1cCBwYWdlcyAoZS5nLiBlbWFpbCB1cGRhdGUgcGFnZSlcbiAgICBhd2FpdCB0aGlzLnBhZ2Uud2FpdEZvck5hdmlnYXRpb24oeyB3YWl0VW50aWw6ICduZXR3b3JraWRsZTInIH0pO1xuICAgIGF3YWl0IHRoaXMucGFnZS4kZXZhbChgYVtocmVmPVwiJHtPU0hfUEFHRX1cIl1gLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgYGFbaHJlZj1cIiR7VFJBTlNBQ1RJT05TX1BBR0V9XCJdYCk7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGBhW2hyZWY9XCIke1RSQU5TQUNUSU9OU19QQUdFfVwiXWAsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcblxuICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCB0aGlzLnBhZ2Uud2FpdEZvclJlcXVlc3QoVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMKTtcbiAgICBjb25zdCBkYXRhID0gY3JlYXRlRGF0YUZyb21SZXF1ZXN0KHJlcXVlc3QsIHRoaXMub3B0aW9ucy5zdGFydERhdGUpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBjcmVhdGVIZWFkZXJzRnJvbVJlcXVlc3QocmVxdWVzdCk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoUG9zdFdpdGhpblBhZ2U8U2NyYXBlZFRyYW5zYWN0aW9uc1Jlc3VsdD4odGhpcy5wYWdlLFxuICAgICAgVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMLCBkYXRhLCBoZWFkZXJzKTtcblxuICAgIGlmICghcmVzcG9uc2UgfHwgcmVzcG9uc2UuaGVhZGVyLnN1Y2Nlc3MgPT09IGZhbHNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIGZldGNoaW5nIHRyYW5zYWN0aW9uLiBSZXNwb25zZSBtZXNzYWdlOiAke3Jlc3BvbnNlID8gcmVzcG9uc2UuaGVhZGVyLm1lc3NhZ2VzWzBdLnRleHQgOiAnJ31gKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxldmFudFJvd3MgPSByZXNwb25zZS5ib2R5LnRhYmxlLnJvd3MuZmlsdGVyKChyb3cpID0+IHJvdy5SZWNUeXBlU3BlY2lmaWVkKTtcbiAgICBjb25zdCBvc2hUeG4gPSBjb252ZXJ0VHJhbnNhY3Rpb25zKHJlbGV2YW50Um93cyk7XG5cbiAgICAvLyB3b3JrYXJvdW5kIGZvciBhIGJ1ZyB3aGljaCB0aGUgYmFuaydzIEFQSSByZXR1cm5zIHRyYW5zYWN0aW9ucyBiZWZvcmUgdGhlIHJlcXVlc3RlZCBzdGFydCBkYXRlXG4gICAgY29uc3Qgc3RhcnRNb21lbnQgPSBnZXRTdGFydE1vbWVudCh0aGlzLm9wdGlvbnMuc3RhcnREYXRlKTtcbiAgICBjb25zdCBvc2hUeG5BZnRlclN0YXJ0RGF0ZSA9IG9zaFR4bi5maWx0ZXIoKHR4bikgPT4gbW9tZW50KHR4bi5kYXRlKS5pc1NhbWVPckFmdGVyKHN0YXJ0TW9tZW50KSk7XG5cbiAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoYGFbaHJlZj1cIiR7UEVORElOR19UUkFOU0FDVElPTlNfUEFHRX1cIl1gLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG4gICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3YWl0VW50aWxJZnJhbWVGb3VuZCh0aGlzLnBhZ2UsIChmKSA9PiBmLnVybCgpLmluY2x1ZGVzKFBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSkpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChmcmFtZSwgcGVuZGluZ1RyeElkZW50aWZpZXJJZCk7XG4gICAgY29uc3QgcGVuZGluZ1R4biA9IGF3YWl0IGV4dHJhY3RQZW5kaW5nVHJhbnNhY3Rpb25zKGZyYW1lKTtcblxuICAgIGNvbnN0IGFsbFR4biA9IG9zaFR4bkFmdGVyU3RhcnREYXRlLmNvbmNhdChwZW5kaW5nVHhuKTtcblxuICAgIHJldHVybiB7XG4gICAgICBhY2NvdW50TnVtYmVyOiByZXNwb25zZS5ib2R5LmZpZWxkcy5BY2NvdW50TnVtYmVyLFxuICAgICAgdHhuczogYWxsVHhuLFxuICAgICAgYmFsYW5jZTogK3Jlc3BvbnNlLmJvZHkuZmllbGRzLllpdHJhTGVsb0NoZWtpbSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1penJhaGlTY3JhcGVyO1xuIl19
|
|
214
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9taXpyYWhpLnRzIl0sIm5hbWVzIjpbIkJBU0VfV0VCU0lURV9VUkwiLCJMT0dJTl9VUkwiLCJCQVNFX0FQUF9VUkwiLCJBRlRFUl9MT0dJTl9CQVNFX1VSTCIsIk9TSF9QQUdFIiwiVFJBTlNBQ1RJT05TX1BBR0UiLCJUUkFOU0FDVElPTlNfUkVRVUVTVF9VUkwiLCJQRU5ESU5HX1RSQU5TQUNUSU9OU19QQUdFIiwiUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FIiwiQ0hBTkdFX1BBU1NXT1JEX1VSTCIsIkRBVEVfRk9STUFUIiwiTUFYX1JPV1NfUEVSX1JFUVVFU1QiLCJ1c2VybmFtZVNlbGVjdG9yIiwicGFzc3dvcmRTZWxlY3RvciIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiaW52YWxpZFBhc3N3b3JkU2VsZWN0b3IiLCJhZnRlckxvZ2luU2VsZWN0b3IiLCJsb2dpblNwaW5uZXJTZWxlY3RvciIsImFjY291bnREcm9wRG93bkl0ZW1TZWxlY3RvciIsInBlbmRpbmdUcnhJZGVudGlmaWVySWQiLCJjaGVja2luZ0FjY291bnRUYWJIZWJyZXdOYW1lIiwiY2hlY2tpbmdBY2NvdW50VGFiRW5nbGlzaE5hbWUiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInBhZ2UiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiJHgiLCJJbnZhbGlkUGFzc3dvcmQiLCIkIiwiQ2hhbmdlUGFzc3dvcmQiLCJnZXRTdGFydE1vbWVudCIsIm9wdGlvbnNTdGFydERhdGUiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsInN0YXJ0RGF0ZSIsInRvRGF0ZSIsIm1vbWVudCIsIm1heCIsImNyZWF0ZURhdGFGcm9tUmVxdWVzdCIsInJlcXVlc3QiLCJkYXRhIiwiSlNPTiIsInBhcnNlIiwicG9zdERhdGEiLCJpbkZyb21EYXRlIiwiZm9ybWF0IiwiaW5Ub0RhdGUiLCJ0YWJsZSIsIm1heFJvdyIsImNyZWF0ZUhlYWRlcnNGcm9tUmVxdWVzdCIsIm1penJhaGl4c3JmdG9rZW4iLCJoZWFkZXJzIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJtYXAiLCJyb3ciLCJ0eG5EYXRlIiwiTUMwMlBldWxhVGFhRVoiLCJIVE1MNV9GTVQiLCJEQVRFVElNRV9MT0NBTF9TRUNPTkRTIiwidG9JU09TdHJpbmciLCJ0eXBlIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsImlkZW50aWZpZXIiLCJNQzAyQXNtYWh0YU1la29yaXRFWiIsInBhcnNlSW50IiwidW5kZWZpbmVkIiwiZGF0ZSIsInByb2Nlc3NlZERhdGUiLCJvcmlnaW5hbEFtb3VudCIsIk1DMDJTY2h1bUVaIiwib3JpZ2luYWxDdXJyZW5jeSIsIlNIRUtFTF9DVVJSRU5DWSIsImNoYXJnZWRBbW91bnQiLCJkZXNjcmlwdGlvbiIsIk1DMDJUbnVhVGV1ckVaIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsImV4dHJhY3RQZW5kaW5nVHJhbnNhY3Rpb25zIiwicGVuZGluZ1R4biIsInRycyIsInRyIiwiQXJyYXkiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsInRkIiwidGV4dENvbnRlbnQiLCJ0eG4iLCJhbW91bnQiLCJQZW5kaW5nIiwicG9zdExvZ2luIiwiUHJvbWlzZSIsInJhY2UiLCJNaXpyYWhpU2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImZpZWxkcyIsImNoZWNrUmVhZGluZXNzIiwicG9zdEFjdGlvbiIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSIsIiRldmFsIiwiZWwiLCJjbGljayIsIm51bU9mQWNjb3VudHMiLCIkJCIsImxlbmd0aCIsInJlc3VsdHMiLCJpIiwicHVzaCIsImZldGNoQWNjb3VudCIsInN1Y2Nlc3MiLCJhY2NvdW50cyIsImUiLCJlcnJvclR5cGUiLCJTY3JhcGVyRXJyb3JUeXBlcyIsIkdlbmVyaWMiLCJlcnJvck1lc3NhZ2UiLCJtZXNzYWdlIiwiU0VDT05EIiwid2FpdEZvck5hdmlnYXRpb24iLCJ3YWl0VW50aWwiLCJ3YWl0Rm9yUmVxdWVzdCIsIm9wdGlvbnMiLCJyZXNwb25zZSIsImhlYWRlciIsIkVycm9yIiwibWVzc2FnZXMiLCJ0ZXh0IiwicmVsZXZhbnRSb3dzIiwiYm9keSIsInJvd3MiLCJmaWx0ZXIiLCJSZWNUeXBlU3BlY2lmaWVkIiwib3NoVHhuIiwic3RhcnRNb21lbnQiLCJvc2hUeG5BZnRlclN0YXJ0RGF0ZSIsImlzU2FtZU9yQWZ0ZXIiLCJmcmFtZSIsImYiLCJ1cmwiLCJpbmNsdWRlcyIsImFsbFR4biIsImNvbmNhdCIsImFjY291bnROdW1iZXIiLCJBY2NvdW50TnVtYmVyIiwiYmFsYW5jZSIsIllpdHJhTGVsb0NoZWtpbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7OztBQTBCQSxNQUFNQSxnQkFBZ0IsR0FBRyxtQ0FBekI7QUFDQSxNQUFNQyxTQUFTLEdBQUksR0FBRUQsZ0JBQWlCLGlDQUF0QztBQUNBLE1BQU1FLFlBQVksR0FBRyxtQ0FBckI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRyx1REFBN0I7QUFDQSxNQUFNQyxRQUFRLEdBQUcsdUNBQWpCO0FBQ0EsTUFBTUMsaUJBQWlCLEdBQUcsNkNBQTFCO0FBQ0EsTUFBTUMsd0JBQXdCLEdBQUksR0FBRUosWUFBYSxnQ0FBakQ7QUFDQSxNQUFNSyx5QkFBeUIsR0FBRyx1Q0FBbEM7QUFDQSxNQUFNQywyQkFBMkIsR0FBRyxXQUFwQztBQUNBLE1BQU1DLG1CQUFtQixHQUFHLCtFQUE1QjtBQUNBLE1BQU1DLFdBQVcsR0FBRyxZQUFwQjtBQUNBLE1BQU1DLG9CQUFvQixHQUFHLFdBQTdCO0FBRUEsTUFBTUMsZ0JBQWdCLEdBQUcsa0JBQXpCO0FBQ0EsTUFBTUMsZ0JBQWdCLEdBQUcsdUJBQXpCO0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUcsc0JBQTdCO0FBQ0EsTUFBTUMsdUJBQXVCLEdBQUcscUVBQWhDO0FBQ0EsTUFBTUMsa0JBQWtCLEdBQUcsZ0JBQTNCO0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUcsb0NBQTdCO0FBQ0EsTUFBTUMsMkJBQTJCLEdBQUcsc0JBQXBDO0FBQ0EsTUFBTUMsc0JBQXNCLEdBQUcsbUNBQS9CO0FBQ0EsTUFBTUMsNEJBQTRCLEdBQUcsVUFBckM7QUFDQSxNQUFNQyw2QkFBNkIsR0FBRyxrQkFBdEM7O0FBR0EsU0FBU0MsaUJBQVQsQ0FBMkJDLFdBQTNCLEVBQTREO0FBQzFELFNBQU8sQ0FDTDtBQUFFQyxJQUFBQSxRQUFRLEVBQUVaLGdCQUFaO0FBQThCYSxJQUFBQSxLQUFLLEVBQUVGLFdBQVcsQ0FBQ0c7QUFBakQsR0FESyxFQUVMO0FBQUVGLElBQUFBLFFBQVEsRUFBRVgsZ0JBQVo7QUFBOEJZLElBQUFBLEtBQUssRUFBRUYsV0FBVyxDQUFDSTtBQUFqRCxHQUZLLENBQVA7QUFJRDs7QUFFRCxTQUFTQyx1QkFBVCxDQUFpQ0MsSUFBakMsRUFBbUU7QUFDakUsU0FBTztBQUNMLEtBQUNDLHFDQUFhQyxPQUFkLEdBQXdCLENBQUM1QixvQkFBRCxFQUF1QixZQUFZLENBQUMsRUFBRSxNQUFNMEIsSUFBSSxDQUFDRyxFQUFMLENBQVMsMEJBQXlCWiw0QkFBNkIsc0JBQXFCQyw2QkFBOEIsS0FBbEgsQ0FBUixDQUFwQyxDQURuQjtBQUVMLEtBQUNTLHFDQUFhRyxlQUFkLEdBQWdDLENBQUMsWUFBWSxDQUFDLEVBQUUsTUFBTUosSUFBSSxDQUFDSyxDQUFMLENBQU9uQix1QkFBUCxDQUFSLENBQWQsQ0FGM0I7QUFHTCxLQUFDZSxxQ0FBYUssY0FBZCxHQUErQixDQUFDMUIsbUJBQUQ7QUFIMUIsR0FBUDtBQUtEOztBQUVELFNBQVMyQixjQUFULENBQXdCQyxnQkFBeEIsRUFBZ0Q7QUFDOUMsUUFBTUMsa0JBQWtCLEdBQUcsdUJBQVNDLFFBQVQsQ0FBa0IsQ0FBbEIsRUFBcUIsT0FBckIsQ0FBM0I7QUFDQSxRQUFNQyxTQUFTLEdBQUdILGdCQUFnQixJQUFJQyxrQkFBa0IsQ0FBQ0csTUFBbkIsRUFBdEM7QUFDQSxTQUFPQyxnQkFBT0MsR0FBUCxDQUFXTCxrQkFBWCxFQUErQixxQkFBT0UsU0FBUCxDQUEvQixDQUFQO0FBQ0Q7O0FBRUQsU0FBU0kscUJBQVQsQ0FBK0JDLE9BQS9CLEVBQWlEUixnQkFBakQsRUFBeUU7QUFDdkUsUUFBTVMsSUFBSSxHQUFHQyxJQUFJLENBQUNDLEtBQUwsQ0FBV0gsT0FBTyxDQUFDSSxRQUFSLE1BQXNCLElBQWpDLENBQWI7QUFFQUgsRUFBQUEsSUFBSSxDQUFDSSxVQUFMLEdBQWtCZCxjQUFjLENBQUNDLGdCQUFELENBQWQsQ0FBaUNjLE1BQWpDLENBQXdDekMsV0FBeEMsQ0FBbEI7QUFDQW9DLEVBQUFBLElBQUksQ0FBQ00sUUFBTCxHQUFnQix1QkFBU0QsTUFBVCxDQUFnQnpDLFdBQWhCLENBQWhCO0FBQ0FvQyxFQUFBQSxJQUFJLENBQUNPLEtBQUwsQ0FBV0MsTUFBWCxHQUFvQjNDLG9CQUFwQjtBQUVBLFNBQU9tQyxJQUFQO0FBQ0Q7O0FBRUQsU0FBU1Msd0JBQVQsQ0FBa0NWLE9BQWxDLEVBQW9EO0FBQ2xELFNBQU87QUFDTFcsSUFBQUEsZ0JBQWdCLEVBQUVYLE9BQU8sQ0FBQ1ksT0FBUixHQUFrQkQsZ0JBRC9CO0FBRUwsb0JBQWdCWCxPQUFPLENBQUNZLE9BQVIsR0FBa0IsY0FBbEI7QUFGWCxHQUFQO0FBSUQ7O0FBR0QsU0FBU0MsbUJBQVQsQ0FBNkJDLElBQTdCLEVBQXdFO0FBQ3RFLFNBQU9BLElBQUksQ0FBQ0MsR0FBTCxDQUFVQyxHQUFELElBQVM7QUFDdkIsVUFBTUMsT0FBTyxHQUFHLHFCQUFPRCxHQUFHLENBQUNFLGNBQVgsRUFBMkJyQixnQkFBT3NCLFNBQVAsQ0FBaUJDLHNCQUE1QyxFQUNiQyxXQURhLEVBQWhCO0FBR0EsV0FBTztBQUNMQyxNQUFBQSxJQUFJLEVBQUVDLCtCQUFpQkMsTUFEbEI7QUFFTEMsTUFBQUEsVUFBVSxFQUFFVCxHQUFHLENBQUNVLG9CQUFKLEdBQTJCQyxRQUFRLENBQUNYLEdBQUcsQ0FBQ1Usb0JBQUwsRUFBMkIsRUFBM0IsQ0FBbkMsR0FBb0VFLFNBRjNFO0FBR0xDLE1BQUFBLElBQUksRUFBRVosT0FIRDtBQUlMYSxNQUFBQSxhQUFhLEVBQUViLE9BSlY7QUFLTGMsTUFBQUEsY0FBYyxFQUFFZixHQUFHLENBQUNnQixXQUxmO0FBTUxDLE1BQUFBLGdCQUFnQixFQUFFQywwQkFOYjtBQU9MQyxNQUFBQSxhQUFhLEVBQUVuQixHQUFHLENBQUNnQixXQVBkO0FBUUxJLE1BQUFBLFdBQVcsRUFBRXBCLEdBQUcsQ0FBQ3FCLGNBUlo7QUFTTEMsTUFBQUEsTUFBTSxFQUFFQyxrQ0FBb0JDO0FBVHZCLEtBQVA7QUFXRCxHQWZNLENBQVA7QUFnQkQ7O0FBRUQsZUFBZUMsMEJBQWYsQ0FBMEN6RCxJQUExQyxFQUErRTtBQUM3RSxRQUFNMEQsVUFBVSxHQUFHLE1BQU0sdUNBQVkxRCxJQUFaLEVBQWtCLFVBQWxCLEVBQThCLEVBQTlCLEVBQW1DMkQsR0FBRCxJQUFTO0FBQ2xFLFdBQU9BLEdBQUcsQ0FBQzVCLEdBQUosQ0FBUzZCLEVBQUQsSUFBUUMsS0FBSyxDQUFDQyxJQUFOLENBQVdGLEVBQUUsQ0FBQ0csZ0JBQUgsQ0FBb0IsSUFBcEIsQ0FBWCxFQUF1Q0MsRUFBRCxJQUFrQ0EsRUFBRSxDQUFDQyxXQUFILElBQWtCLEVBQTFGLENBQWhCLENBQVA7QUFDRCxHQUZ3QixDQUF6QjtBQUlBLFNBQU9QLFVBQVUsQ0FBQzNCLEdBQVgsQ0FBZ0JtQyxHQUFELElBQVM7QUFDN0IsVUFBTXJCLElBQUksR0FBRyxxQkFBT3FCLEdBQUcsQ0FBQyxDQUFELENBQVYsRUFBZSxVQUFmLEVBQTJCN0IsV0FBM0IsRUFBYjtBQUNBLFVBQU04QixNQUFNLEdBQUd4QixRQUFRLENBQUN1QixHQUFHLENBQUMsQ0FBRCxDQUFKLEVBQVMsRUFBVCxDQUF2QjtBQUNBLFdBQU87QUFDTDVCLE1BQUFBLElBQUksRUFBRUMsK0JBQWlCQyxNQURsQjtBQUVMSyxNQUFBQSxJQUZLO0FBR0xDLE1BQUFBLGFBQWEsRUFBRUQsSUFIVjtBQUlMRSxNQUFBQSxjQUFjLEVBQUVvQixNQUpYO0FBS0xsQixNQUFBQSxnQkFBZ0IsRUFBRUMsMEJBTGI7QUFNTEMsTUFBQUEsYUFBYSxFQUFFZ0IsTUFOVjtBQU9MZixNQUFBQSxXQUFXLEVBQUVjLEdBQUcsQ0FBQyxDQUFELENBUFg7QUFRTFosTUFBQUEsTUFBTSxFQUFFQyxrQ0FBb0JhO0FBUnZCLEtBQVA7QUFVRCxHQWJNLENBQVA7QUFjRDs7QUFFRCxlQUFlQyxTQUFmLENBQXlCckUsSUFBekIsRUFBcUM7QUFDbkMsUUFBTXNFLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLENBQ2pCLGlEQUFzQnZFLElBQXRCLEVBQTRCYixrQkFBNUIsQ0FEaUIsRUFFakIsaURBQXNCYSxJQUF0QixFQUE0QmQsdUJBQTVCLENBRmlCLEVBR2pCLDRCQUFXYyxJQUFYLEVBQWlCcEIsbUJBQWpCLENBSGlCLENBQWIsQ0FBTjtBQUtEOztBQUVELE1BQU00RixjQUFOLFNBQTZCQyw4Q0FBN0IsQ0FBb0Q7QUFDbERDLEVBQUFBLGVBQWUsQ0FBQ2hGLFdBQUQsRUFBa0M7QUFDL0MsV0FBTztBQUNMaUYsTUFBQUEsUUFBUSxFQUFFdkcsU0FETDtBQUVMd0csTUFBQUEsTUFBTSxFQUFFbkYsaUJBQWlCLENBQUNDLFdBQUQsQ0FGcEI7QUFHTFQsTUFBQUEsb0JBSEs7QUFJTDRGLE1BQUFBLGNBQWMsRUFBRSxZQUFZLHFEQUEwQixLQUFLN0UsSUFBL0IsRUFBcUNaLG9CQUFyQyxDQUp2QjtBQUtMMEYsTUFBQUEsVUFBVSxFQUFFLFlBQVlULFNBQVMsQ0FBQyxLQUFLckUsSUFBTixDQUw1QjtBQU1MK0UsTUFBQUEsZUFBZSxFQUFFaEYsdUJBQXVCLENBQUMsS0FBS0MsSUFBTjtBQU5uQyxLQUFQO0FBUUQ7O0FBRUQsUUFBTWdGLFNBQU4sR0FBa0I7QUFDaEIsVUFBTSxLQUFLaEYsSUFBTCxDQUFVaUYsS0FBVixDQUFnQix1QkFBaEIsRUFBMENDLEVBQUQsSUFBU0EsRUFBRCxDQUFvQkMsS0FBcEIsRUFBakQsQ0FBTjtBQUVBLFVBQU1DLGFBQWEsR0FBRyxDQUFDLE1BQU0sS0FBS3BGLElBQUwsQ0FBVXFGLEVBQVYsQ0FBYWhHLDJCQUFiLENBQVAsRUFBa0RpRyxNQUF4RTs7QUFFQSxRQUFJO0FBQ0YsWUFBTUMsT0FBOEIsR0FBRyxFQUF2Qzs7QUFFQSxXQUFLLElBQUlDLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUdKLGFBQXBCLEVBQW1DSSxDQUFDLElBQUksQ0FBeEMsRUFBMkM7QUFDekMsWUFBSUEsQ0FBQyxHQUFHLENBQVIsRUFBVztBQUNULGdCQUFNLEtBQUt4RixJQUFMLENBQVVpRixLQUFWLENBQWdCLHVCQUFoQixFQUEwQ0MsRUFBRCxJQUFTQSxFQUFELENBQW9CQyxLQUFwQixFQUFqRCxDQUFOO0FBQ0Q7O0FBRUQsY0FBTSxLQUFLbkYsSUFBTCxDQUFVaUYsS0FBVixDQUFpQixHQUFFNUYsMkJBQTRCLGNBQWFtRyxDQUFDLEdBQUcsQ0FBRSxHQUFsRSxFQUF1RU4sRUFBRCxJQUFTQSxFQUFELENBQW9CQyxLQUFwQixFQUE5RSxDQUFOO0FBQ0FJLFFBQUFBLE9BQU8sQ0FBQ0UsSUFBUixFQUFjLE1BQU0sS0FBS0MsWUFBTCxFQUFwQjtBQUNEOztBQUVELGFBQU87QUFDTEMsUUFBQUEsT0FBTyxFQUFFLElBREo7QUFFTEMsUUFBQUEsUUFBUSxFQUFFTDtBQUZMLE9BQVA7QUFJRCxLQWhCRCxDQWdCRSxPQUFPTSxDQUFQLEVBQVU7QUFDVixhQUFPO0FBQ0xGLFFBQUFBLE9BQU8sRUFBRSxLQURKO0FBRUxHLFFBQUFBLFNBQVMsRUFBRUMsK0JBQWtCQyxPQUZ4QjtBQUdMQyxRQUFBQSxZQUFZLEVBQUVKLENBQUMsQ0FBQ0s7QUFIWCxPQUFQO0FBS0Q7QUFDRjs7QUFFRCxRQUFjUixZQUFkLEdBQTZCO0FBQzNCO0FBQ0EsVUFBTSwwQkFBWSxJQUFJUyxlQUFoQixFQUF3QixLQUFLbkcsSUFBTCxDQUFVb0csaUJBQVYsQ0FBNEI7QUFBRUMsTUFBQUEsU0FBUyxFQUFFO0FBQWIsS0FBNUIsQ0FBeEIsQ0FBTjtBQUNBLFVBQU0sS0FBS3JHLElBQUwsQ0FBVWlGLEtBQVYsQ0FBaUIsV0FBVTFHLFFBQVMsSUFBcEMsRUFBMEMyRyxFQUFELElBQVNBLEVBQUQsQ0FBb0JDLEtBQXBCLEVBQWpELENBQU47QUFDQSxVQUFNLGlEQUFzQixLQUFLbkYsSUFBM0IsRUFBa0MsV0FBVXhCLGlCQUFrQixJQUE5RCxDQUFOO0FBQ0EsVUFBTSxLQUFLd0IsSUFBTCxDQUFVaUYsS0FBVixDQUFpQixXQUFVekcsaUJBQWtCLElBQTdDLEVBQW1EMEcsRUFBRCxJQUFTQSxFQUFELENBQW9CQyxLQUFwQixFQUExRCxDQUFOO0FBRUEsVUFBTW5FLE9BQU8sR0FBRyxNQUFNLEtBQUtoQixJQUFMLENBQVVzRyxjQUFWLENBQXlCN0gsd0JBQXpCLENBQXRCO0FBQ0EsVUFBTXdDLElBQUksR0FBR0YscUJBQXFCLENBQUNDLE9BQUQsRUFBVSxLQUFLdUYsT0FBTCxDQUFhNUYsU0FBdkIsQ0FBbEM7QUFDQSxVQUFNaUIsT0FBTyxHQUFHRix3QkFBd0IsQ0FBQ1YsT0FBRCxDQUF4QztBQUVBLFVBQU13RixRQUFRLEdBQUcsTUFBTSxnQ0FBK0MsS0FBS3hHLElBQXBELEVBQ3JCdkIsd0JBRHFCLEVBQ0t3QyxJQURMLEVBQ1dXLE9BRFgsQ0FBdkI7O0FBR0EsUUFBSSxDQUFDNEUsUUFBRCxJQUFhQSxRQUFRLENBQUNDLE1BQVQsQ0FBZ0JkLE9BQWhCLEtBQTRCLEtBQTdDLEVBQW9EO0FBQ2xELFlBQU0sSUFBSWUsS0FBSixDQUFXLGlEQUFnREYsUUFBUSxHQUFHQSxRQUFRLENBQUNDLE1BQVQsQ0FBZ0JFLFFBQWhCLENBQXlCLENBQXpCLEVBQTRCQyxJQUEvQixHQUFzQyxFQUFHLEVBQTVHLENBQU47QUFDRDs7QUFFRCxVQUFNQyxZQUFZLEdBQUdMLFFBQVEsQ0FBQ00sSUFBVCxDQUFjdEYsS0FBZCxDQUFvQnVGLElBQXBCLENBQXlCQyxNQUF6QixDQUFpQ2hGLEdBQUQsSUFBU0EsR0FBRyxDQUFDaUYsZ0JBQTdDLENBQXJCO0FBQ0EsVUFBTUMsTUFBTSxHQUFHckYsbUJBQW1CLENBQUNnRixZQUFELENBQWxDLENBbkIyQixDQXFCM0I7O0FBQ0EsVUFBTU0sV0FBVyxHQUFHNUcsY0FBYyxDQUFDLEtBQUtnRyxPQUFMLENBQWE1RixTQUFkLENBQWxDO0FBQ0EsVUFBTXlHLG9CQUFvQixHQUFHRixNQUFNLENBQUNGLE1BQVAsQ0FBZTlDLEdBQUQsSUFBUyxxQkFBT0EsR0FBRyxDQUFDckIsSUFBWCxFQUFpQndFLGFBQWpCLENBQStCRixXQUEvQixDQUF2QixDQUE3QjtBQUVBLFVBQU0sS0FBS25ILElBQUwsQ0FBVWlGLEtBQVYsQ0FBaUIsV0FBVXZHLHlCQUEwQixJQUFyRCxFQUEyRHdHLEVBQUQsSUFBU0EsRUFBRCxDQUFvQkMsS0FBcEIsRUFBbEUsQ0FBTjtBQUNBLFVBQU1tQyxLQUFLLEdBQUcsTUFBTSxnREFBcUIsS0FBS3RILElBQTFCLEVBQWlDdUgsQ0FBRCxJQUFPQSxDQUFDLENBQUNDLEdBQUYsR0FBUUMsUUFBUixDQUFpQjlJLDJCQUFqQixDQUF2QyxDQUFwQjtBQUNBLFVBQU0saURBQXNCMkksS0FBdEIsRUFBNkJoSSxzQkFBN0IsQ0FBTjtBQUNBLFVBQU1vRSxVQUFVLEdBQUcsTUFBTUQsMEJBQTBCLENBQUM2RCxLQUFELENBQW5EO0FBRUEsVUFBTUksTUFBTSxHQUFHTixvQkFBb0IsQ0FBQ08sTUFBckIsQ0FBNEJqRSxVQUE1QixDQUFmO0FBRUEsV0FBTztBQUNMa0UsTUFBQUEsYUFBYSxFQUFFcEIsUUFBUSxDQUFDTSxJQUFULENBQWNsQyxNQUFkLENBQXFCaUQsYUFEL0I7QUFFTC9GLE1BQUFBLElBQUksRUFBRTRGLE1BRkQ7QUFHTEksTUFBQUEsT0FBTyxFQUFFLENBQUN0QixRQUFRLENBQUNNLElBQVQsQ0FBY2xDLE1BQWQsQ0FBcUJtRDtBQUgxQixLQUFQO0FBS0Q7O0FBL0VpRDs7ZUFrRnJDdkQsYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEZyYW1lLCBQYWdlLCBSZXF1ZXN0IH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IFNIRUtFTF9DVVJSRU5DWSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBwYWdlRXZhbEFsbCwgd2FpdFVudGlsRWxlbWVudERpc2FwcGVhciwgd2FpdFVudGlsRWxlbWVudEZvdW5kLCB3YWl0VW50aWxJZnJhbWVGb3VuZCxcbn0gZnJvbSAnLi4vaGVscGVycy9lbGVtZW50cy1pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb3N0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHsgd2FpdEZvclVybCB9IGZyb20gJy4uL2hlbHBlcnMvbmF2aWdhdGlvbic7XG5pbXBvcnQgeyByYWNlVGltZW91dCwgU0VDT05EIH0gZnJvbSAnLi4vaGVscGVycy93YWl0aW5nJztcbmltcG9ydCB7XG4gIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbnNBY2NvdW50LCBUcmFuc2FjdGlvblN0YXR1c2VzLCBUcmFuc2FjdGlvblR5cGVzLFxufSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgU2NyYXBlckNyZWRlbnRpYWxzLCBTY3JhcGVyRXJyb3JUeXBlcyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgUG9zc2libGVMb2dpblJlc3VsdHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlci13aXRoLWJyb3dzZXInO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgUmVjVHlwZVNwZWNpZmllZDogYm9vbGVhbjtcbiAgTUMwMlBldWxhVGFhRVo6IHN0cmluZztcbiAgTUMwMlNjaHVtRVo6IG51bWJlcjtcbiAgTUMwMkFzbWFodGFNZWtvcml0RVo6IHN0cmluZztcbiAgTUMwMlRudWFUZXVyRVo6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbnNSZXN1bHQge1xuICBoZWFkZXI6IHtcbiAgICBzdWNjZXNzOiBib29sZWFuO1xuICAgIG1lc3NhZ2VzOiB7IHRleHQ6IHN0cmluZyB9W107XG4gIH07XG4gIGJvZHk6IHtcbiAgICBmaWVsZHM6IHtcbiAgICAgIEFjY291bnROdW1iZXI6IHN0cmluZztcbiAgICAgIFlpdHJhTGVsb0NoZWtpbTogc3RyaW5nO1xuICAgIH07XG4gICAgdGFibGU6IHtcbiAgICAgIHJvd3M6IFNjcmFwZWRUcmFuc2FjdGlvbltdO1xuICAgIH07XG4gIH07XG59XG5cbmNvbnN0IEJBU0VfV0VCU0lURV9VUkwgPSAnaHR0cHM6Ly93d3cubWl6cmFoaS10ZWZhaG90LmNvLmlsJztcbmNvbnN0IExPR0lOX1VSTCA9IGAke0JBU0VfV0VCU0lURV9VUkx9L2xvZ2luL2luZGV4Lmh0bWwjL2F1dGgtcGFnZS1oZWA7XG5jb25zdCBCQVNFX0FQUF9VUkwgPSAnaHR0cHM6Ly9tdG8ubWl6cmFoaS10ZWZhaG90LmNvLmlsJztcbmNvbnN0IEFGVEVSX0xPR0lOX0JBU0VfVVJMID0gL2h0dHBzOlxcL1xcL210b1xcLm1penJhaGktdGVmYWhvdFxcLmNvXFwuaWxcXC9PbmxpbmVBcHBcXC8uKi87XG5jb25zdCBPU0hfUEFHRSA9ICcvT25saW5lQXBwL29zaC9sZWdhY3kvbGVnYWN5LU9zaC1NYWluJztcbmNvbnN0IFRSQU5TQUNUSU9OU19QQUdFID0gJy9PbmxpbmVBcHAvb3NoL2xlZ2FjeS9yb290LW1haW4tb3NoLXA0MjhOZXcnO1xuY29uc3QgVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMID0gYCR7QkFTRV9BUFBfVVJMfS9PbmxpbmUvYXBpL1NreU9TSC9nZXQ0MjhJbmRleGA7XG5jb25zdCBQRU5ESU5HX1RSQU5TQUNUSU9OU19QQUdFID0gJy9PbmxpbmVBcHAvb3NoL2xlZ2FjeS9sZWdhY3ktT3NoLXA0MjAnO1xuY29uc3QgUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FID0gJ3A0MjAuYXNweCc7XG5jb25zdCBDSEFOR0VfUEFTU1dPUkRfVVJMID0gL2h0dHBzOlxcL1xcL3d3d1xcLm1penJhaGktdGVmYWhvdFxcLmNvXFwuaWxcXC9sb2dpblxcL1xcdytcXC9pbmRleFxcLmh0bWwjXFwvY2hhbmdlLXBhc3MvO1xuY29uc3QgREFURV9GT1JNQVQgPSAnREQvTU0vWVlZWSc7XG5jb25zdCBNQVhfUk9XU19QRVJfUkVRVUVTVCA9IDEwMDAwMDAwMDAwO1xuXG5jb25zdCB1c2VybmFtZVNlbGVjdG9yID0gJyNlbWFpbERlc2t0b3BIZWInO1xuY29uc3QgcGFzc3dvcmRTZWxlY3RvciA9ICcjcGFzc3dvcmRJRERlc2t0b3BIRUInO1xuY29uc3Qgc3VibWl0QnV0dG9uU2VsZWN0b3IgPSAnLmZvcm0tZGVza3RvcCBidXR0b24nO1xuY29uc3QgaW52YWxpZFBhc3N3b3JkU2VsZWN0b3IgPSAnYVtocmVmKj1cImh0dHBzOi8vc2MubWl6cmFoaS10ZWZhaG90LmNvLmlsL1NDU2VydmljZXMvU0MvUDAxMC5hc3B4XCJdJztcbmNvbnN0IGFmdGVyTG9naW5TZWxlY3RvciA9ICcjZHJvcGRvd25CYXNpYyc7XG5jb25zdCBsb2dpblNwaW5uZXJTZWxlY3RvciA9ICdkaXYubmd4LW92ZXJsYXkubG9hZGluZy1mb3JlZ3JvdW5kJztcbmNvbnN0IGFjY291bnREcm9wRG93bkl0ZW1TZWxlY3RvciA9ICcjQWNjb3VudFBpY2tlciAuaXRlbSc7XG5jb25zdCBwZW5kaW5nVHJ4SWRlbnRpZmllcklkID0gJyNjdGwwMF9Db250ZW50UGxhY2VIb2xkZXIyX3BhbmVsMSc7XG5jb25zdCBjaGVja2luZ0FjY291bnRUYWJIZWJyZXdOYW1lID0gJ9ei15XXkdeoINeV16nXkSc7XG5jb25zdCBjaGVja2luZ0FjY291bnRUYWJFbmdsaXNoTmFtZSA9ICdDaGVja2luZyBBY2NvdW50JztcblxuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogdXNlcm5hbWVTZWxlY3RvciwgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lIH0sXG4gICAgeyBzZWxlY3RvcjogcGFzc3dvcmRTZWxlY3RvciwgdmFsdWU6IGNyZWRlbnRpYWxzLnBhc3N3b3JkIH0sXG4gIF07XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHBhZ2U6IFBhZ2UpOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyB7XG4gIHJldHVybiB7XG4gICAgW0xvZ2luUmVzdWx0cy5TdWNjZXNzXTogW0FGVEVSX0xPR0lOX0JBU0VfVVJMLCBhc3luYyAoKSA9PiAhIShhd2FpdCBwYWdlLiR4KGAvL2EvL3NwYW5bY29udGFpbnMoLiwgXCIke2NoZWNraW5nQWNjb3VudFRhYkhlYnJld05hbWV9XCIpIG9yIGNvbnRhaW5zKC4sIFwiJHtjaGVja2luZ0FjY291bnRUYWJFbmdsaXNoTmFtZX1cIildYCkpXSxcbiAgICBbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF06IFthc3luYyAoKSA9PiAhIShhd2FpdCBwYWdlLiQoaW52YWxpZFBhc3N3b3JkU2VsZWN0b3IpKV0sXG4gICAgW0xvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZF06IFtDSEFOR0VfUEFTU1dPUkRfVVJMXSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhcnRNb21lbnQob3B0aW9uc1N0YXJ0RGF0ZTogRGF0ZSkge1xuICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAneWVhcnMnKTtcbiAgY29uc3Qgc3RhcnREYXRlID0gb3B0aW9uc1N0YXJ0RGF0ZSB8fCBkZWZhdWx0U3RhcnRNb21lbnQudG9EYXRlKCk7XG4gIHJldHVybiBtb21lbnQubWF4KGRlZmF1bHRTdGFydE1vbWVudCwgbW9tZW50KHN0YXJ0RGF0ZSkpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVEYXRhRnJvbVJlcXVlc3QocmVxdWVzdDogUmVxdWVzdCwgb3B0aW9uc1N0YXJ0RGF0ZTogRGF0ZSkge1xuICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShyZXF1ZXN0LnBvc3REYXRhKCkgfHwgJ3t9Jyk7XG5cbiAgZGF0YS5pbkZyb21EYXRlID0gZ2V0U3RhcnRNb21lbnQob3B0aW9uc1N0YXJ0RGF0ZSkuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgZGF0YS5pblRvRGF0ZSA9IG1vbWVudCgpLmZvcm1hdChEQVRFX0ZPUk1BVCk7XG4gIGRhdGEudGFibGUubWF4Um93ID0gTUFYX1JPV1NfUEVSX1JFUVVFU1Q7XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUhlYWRlcnNGcm9tUmVxdWVzdChyZXF1ZXN0OiBSZXF1ZXN0KSB7XG4gIHJldHVybiB7XG4gICAgbWl6cmFoaXhzcmZ0b2tlbjogcmVxdWVzdC5oZWFkZXJzKCkubWl6cmFoaXhzcmZ0b2tlbixcbiAgICAnQ29udGVudC1UeXBlJzogcmVxdWVzdC5oZWFkZXJzKClbJ2NvbnRlbnQtdHlwZSddLFxuICB9O1xufVxuXG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2FjdGlvbnModHhuczogU2NyYXBlZFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdIHtcbiAgcmV0dXJuIHR4bnMubWFwKChyb3cpID0+IHtcbiAgICBjb25zdCB0eG5EYXRlID0gbW9tZW50KHJvdy5NQzAyUGV1bGFUYWFFWiwgbW9tZW50LkhUTUw1X0ZNVC5EQVRFVElNRV9MT0NBTF9TRUNPTkRTKVxuICAgICAgLnRvSVNPU3RyaW5nKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBpZGVudGlmaWVyOiByb3cuTUMwMkFzbWFodGFNZWtvcml0RVogPyBwYXJzZUludChyb3cuTUMwMkFzbWFodGFNZWtvcml0RVosIDEwKSA6IHVuZGVmaW5lZCxcbiAgICAgIGRhdGU6IHR4bkRhdGUsXG4gICAgICBwcm9jZXNzZWREYXRlOiB0eG5EYXRlLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IHJvdy5NQzAyU2NodW1FWixcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IFNIRUtFTF9DVVJSRU5DWSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IHJvdy5NQzAyU2NodW1FWixcbiAgICAgIGRlc2NyaXB0aW9uOiByb3cuTUMwMlRudWFUZXVyRVosXG4gICAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICAgIH07XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBleHRyYWN0UGVuZGluZ1RyYW5zYWN0aW9ucyhwYWdlOiBGcmFtZSk6IFByb21pc2U8VHJhbnNhY3Rpb25bXT4ge1xuICBjb25zdCBwZW5kaW5nVHhuID0gYXdhaXQgcGFnZUV2YWxBbGwocGFnZSwgJ3RyLnJnUm93JywgW10sICh0cnMpID0+IHtcbiAgICByZXR1cm4gdHJzLm1hcCgodHIpID0+IEFycmF5LmZyb20odHIucXVlcnlTZWxlY3RvckFsbCgndGQnKSwgKHRkOiBIVE1MVGFibGVEYXRhQ2VsbEVsZW1lbnQpID0+IHRkLnRleHRDb250ZW50IHx8ICcnKSk7XG4gIH0pO1xuXG4gIHJldHVybiBwZW5kaW5nVHhuLm1hcCgodHhuKSA9PiB7XG4gICAgY29uc3QgZGF0ZSA9IG1vbWVudCh0eG5bMF0sICdERC9NTS9ZWScpLnRvSVNPU3RyaW5nKCk7XG4gICAgY29uc3QgYW1vdW50ID0gcGFyc2VJbnQodHhuWzNdLCAxMCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgZGF0ZSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IGRhdGUsXG4gICAgICBvcmlnaW5hbEFtb3VudDogYW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogU0hFS0VMX0NVUlJFTkNZLFxuICAgICAgY2hhcmdlZEFtb3VudDogYW1vdW50LFxuICAgICAgZGVzY3JpcHRpb246IHR4blsxXSxcbiAgICAgIHN0YXR1czogVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nLFxuICAgIH07XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwb3N0TG9naW4ocGFnZTogUGFnZSkge1xuICBhd2FpdCBQcm9taXNlLnJhY2UoW1xuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBhZnRlckxvZ2luU2VsZWN0b3IpLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBpbnZhbGlkUGFzc3dvcmRTZWxlY3RvciksXG4gICAgd2FpdEZvclVybChwYWdlLCBDSEFOR0VfUEFTU1dPUkRfVVJMKSxcbiAgXSk7XG59XG5cbmNsYXNzIE1penJhaGlTY3JhcGVyIGV4dGVuZHMgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciB7XG4gIGdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2luVXJsOiBMT0dJTl9VUkwsXG4gICAgICBmaWVsZHM6IGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzKSxcbiAgICAgIHN1Ym1pdEJ1dHRvblNlbGVjdG9yLFxuICAgICAgY2hlY2tSZWFkaW5lc3M6IGFzeW5jICgpID0+IHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIodGhpcy5wYWdlLCBsb2dpblNwaW5uZXJTZWxlY3RvciksXG4gICAgICBwb3N0QWN0aW9uOiBhc3luYyAoKSA9PiBwb3N0TG9naW4odGhpcy5wYWdlKSxcbiAgICAgIHBvc3NpYmxlUmVzdWx0czogZ2V0UG9zc2libGVMb2dpblJlc3VsdHModGhpcy5wYWdlKSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hEYXRhKCkge1xuICAgIGF3YWl0IHRoaXMucGFnZS4kZXZhbCgnI2Ryb3Bkb3duQmFzaWMsIC5pdGVtJywgKGVsKSA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCkpO1xuXG4gICAgY29uc3QgbnVtT2ZBY2NvdW50cyA9IChhd2FpdCB0aGlzLnBhZ2UuJCQoYWNjb3VudERyb3BEb3duSXRlbVNlbGVjdG9yKSkubGVuZ3RoO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdHM6IFRyYW5zYWN0aW9uc0FjY291bnRbXSA9IFtdO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bU9mQWNjb3VudHM7IGkgKz0gMSkge1xuICAgICAgICBpZiAoaSA+IDApIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoJyNkcm9wZG93bkJhc2ljLCAuaXRlbScsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IHRoaXMucGFnZS4kZXZhbChgJHthY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3J9Om50aC1jaGlsZCgke2kgKyAxfSlgLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG4gICAgICAgIHJlc3VsdHMucHVzaCgoYXdhaXQgdGhpcy5mZXRjaEFjY291bnQoKSkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBhY2NvdW50czogcmVzdWx0cyxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMuR2VuZXJpYyxcbiAgICAgICAgZXJyb3JNZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZmV0Y2hBY2NvdW50KCkge1xuICAgIC8vIHdvcmthcm91bmQgZm9yIHNpdHVhdGlvbnMgd2hlcmUgTWl6cmFoaSBwb3BzIHVwIHBhZ2VzIChlLmcuIGVtYWlsIHVwZGF0ZSBwYWdlKVxuICAgIGF3YWl0IHJhY2VUaW1lb3V0KDUgKiBTRUNPTkQsIHRoaXMucGFnZS53YWl0Rm9yTmF2aWdhdGlvbih7IHdhaXRVbnRpbDogJ25ldHdvcmtpZGxlMicgfSkpO1xuICAgIGF3YWl0IHRoaXMucGFnZS4kZXZhbChgYVtocmVmPVwiJHtPU0hfUEFHRX1cIl1gLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgYGFbaHJlZj1cIiR7VFJBTlNBQ1RJT05TX1BBR0V9XCJdYCk7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGBhW2hyZWY9XCIke1RSQU5TQUNUSU9OU19QQUdFfVwiXWAsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcblxuICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCB0aGlzLnBhZ2Uud2FpdEZvclJlcXVlc3QoVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMKTtcbiAgICBjb25zdCBkYXRhID0gY3JlYXRlRGF0YUZyb21SZXF1ZXN0KHJlcXVlc3QsIHRoaXMub3B0aW9ucy5zdGFydERhdGUpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBjcmVhdGVIZWFkZXJzRnJvbVJlcXVlc3QocmVxdWVzdCk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoUG9zdFdpdGhpblBhZ2U8U2NyYXBlZFRyYW5zYWN0aW9uc1Jlc3VsdD4odGhpcy5wYWdlLFxuICAgICAgVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMLCBkYXRhLCBoZWFkZXJzKTtcblxuICAgIGlmICghcmVzcG9uc2UgfHwgcmVzcG9uc2UuaGVhZGVyLnN1Y2Nlc3MgPT09IGZhbHNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIGZldGNoaW5nIHRyYW5zYWN0aW9uLiBSZXNwb25zZSBtZXNzYWdlOiAke3Jlc3BvbnNlID8gcmVzcG9uc2UuaGVhZGVyLm1lc3NhZ2VzWzBdLnRleHQgOiAnJ31gKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxldmFudFJvd3MgPSByZXNwb25zZS5ib2R5LnRhYmxlLnJvd3MuZmlsdGVyKChyb3cpID0+IHJvdy5SZWNUeXBlU3BlY2lmaWVkKTtcbiAgICBjb25zdCBvc2hUeG4gPSBjb252ZXJ0VHJhbnNhY3Rpb25zKHJlbGV2YW50Um93cyk7XG5cbiAgICAvLyB3b3JrYXJvdW5kIGZvciBhIGJ1ZyB3aGljaCB0aGUgYmFuaydzIEFQSSByZXR1cm5zIHRyYW5zYWN0aW9ucyBiZWZvcmUgdGhlIHJlcXVlc3RlZCBzdGFydCBkYXRlXG4gICAgY29uc3Qgc3RhcnRNb21lbnQgPSBnZXRTdGFydE1vbWVudCh0aGlzLm9wdGlvbnMuc3RhcnREYXRlKTtcbiAgICBjb25zdCBvc2hUeG5BZnRlclN0YXJ0RGF0ZSA9IG9zaFR4bi5maWx0ZXIoKHR4bikgPT4gbW9tZW50KHR4bi5kYXRlKS5pc1NhbWVPckFmdGVyKHN0YXJ0TW9tZW50KSk7XG5cbiAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoYGFbaHJlZj1cIiR7UEVORElOR19UUkFOU0FDVElPTlNfUEFHRX1cIl1gLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG4gICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3YWl0VW50aWxJZnJhbWVGb3VuZCh0aGlzLnBhZ2UsIChmKSA9PiBmLnVybCgpLmluY2x1ZGVzKFBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSkpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChmcmFtZSwgcGVuZGluZ1RyeElkZW50aWZpZXJJZCk7XG4gICAgY29uc3QgcGVuZGluZ1R4biA9IGF3YWl0IGV4dHJhY3RQZW5kaW5nVHJhbnNhY3Rpb25zKGZyYW1lKTtcblxuICAgIGNvbnN0IGFsbFR4biA9IG9zaFR4bkFmdGVyU3RhcnREYXRlLmNvbmNhdChwZW5kaW5nVHhuKTtcblxuICAgIHJldHVybiB7XG4gICAgICBhY2NvdW50TnVtYmVyOiByZXNwb25zZS5ib2R5LmZpZWxkcy5BY2NvdW50TnVtYmVyLFxuICAgICAgdHhuczogYWxsVHhuLFxuICAgICAgYmFsYW5jZTogK3Jlc3BvbnNlLmJvZHkuZmllbGRzLllpdHJhTGVsb0NoZWtpbSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1penJhaGlTY3JhcGVyO1xuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "israeli-bank-scrapers",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Provide scrapers for all major Israeli banks and credit card companies",
|
|
6
6
|
"engines": {
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"json2csv": "^4.5.4",
|
|
87
87
|
"lodash": "^4.17.10",
|
|
88
88
|
"moment": "^2.22.2",
|
|
89
|
+
"moment-timezone": "^0.5.37",
|
|
89
90
|
"node-fetch": "^2.2.0",
|
|
90
91
|
"puppeteer": "^6.0.0",
|
|
91
92
|
"uuid": "^3.3.2"
|