israeli-bank-scrapers 6.1.0 → 6.1.2

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.
Files changed (50) hide show
  1. package/lib/constants.js +1 -1
  2. package/lib/definitions.js +1 -1
  3. package/lib/helpers/browser.js +1 -4
  4. package/lib/helpers/elements-interactions.js +1 -3
  5. package/lib/helpers/fetch.js +7 -11
  6. package/lib/helpers/navigation.js +1 -4
  7. package/lib/helpers/storage.js +1 -2
  8. package/lib/helpers/transactions.js +4 -7
  9. package/lib/helpers/waiting.js +1 -3
  10. package/lib/index.js +1 -1
  11. package/lib/scrapers/amex.test.js +7 -12
  12. package/lib/scrapers/base-beinleumi-group.js +5 -18
  13. package/lib/scrapers/base-isracard-amex.js +13 -26
  14. package/lib/scrapers/base-scraper-with-browser.js +28 -40
  15. package/lib/scrapers/base-scraper-with-browser.test.js +4 -9
  16. package/lib/scrapers/base-scraper.js +2 -6
  17. package/lib/scrapers/behatsdaa.js +6 -10
  18. package/lib/scrapers/behatsdaa.test.js +7 -11
  19. package/lib/scrapers/beinleumi.js +4 -11
  20. package/lib/scrapers/beinleumi.test.js +7 -12
  21. package/lib/scrapers/beyahad-bishvilha.js +2 -8
  22. package/lib/scrapers/beyahad-bishvilha.test.js +7 -12
  23. package/lib/scrapers/discount.js +1 -3
  24. package/lib/scrapers/discount.test.js +7 -12
  25. package/lib/scrapers/hapoalim.js +7 -14
  26. package/lib/scrapers/hapoalim.test.js +7 -12
  27. package/lib/scrapers/interface.js +1 -1
  28. package/lib/scrapers/isracard.test.js +7 -12
  29. package/lib/scrapers/leumi.js +5 -11
  30. package/lib/scrapers/leumi.test.js +7 -12
  31. package/lib/scrapers/massad.js +4 -11
  32. package/lib/scrapers/max.js +14 -26
  33. package/lib/scrapers/max.test.js +7 -13
  34. package/lib/scrapers/mercantile.js +4 -8
  35. package/lib/scrapers/mercantile.test.js +7 -12
  36. package/lib/scrapers/mizrahi.js +6 -11
  37. package/lib/scrapers/mizrahi.test.js +7 -12
  38. package/lib/scrapers/one-zero.js +2 -21
  39. package/lib/scrapers/one-zero.test.js +7 -12
  40. package/lib/scrapers/otsar-hahayal.js +4 -11
  41. package/lib/scrapers/otsar-hahayal.test.js +7 -12
  42. package/lib/scrapers/pagi.js +4 -11
  43. package/lib/scrapers/pagi.test.js +7 -12
  44. package/lib/scrapers/union-bank.js +1 -7
  45. package/lib/scrapers/union-bank.test.js +7 -12
  46. package/lib/scrapers/visa-cal.js +27 -40
  47. package/lib/scrapers/visa-cal.test.js +7 -12
  48. package/lib/scrapers/yahav.js +1 -6
  49. package/lib/scrapers/yahav.test.js +7 -12
  50. package/package.json +10 -7
@@ -4,10 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.LoginResults = exports.BaseScraperWithBrowser = void 0;
7
- require("core-js/modules/es.array.iterator.js");
8
- require("core-js/modules/es.promise.js");
9
- require("core-js/modules/es.regexp.constructor.js");
10
- require("core-js/modules/es.regexp.exec.js");
11
7
  var _puppeteer = _interopRequireDefault(require("puppeteer"));
12
8
  var _definitions = require("../definitions");
13
9
  var _debug = require("../helpers/debug");
@@ -16,13 +12,6 @@ var _navigation = require("../helpers/navigation");
16
12
  var _baseScraper = require("./base-scraper");
17
13
  var _errors = require("./errors");
18
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
22
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
23
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
24
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
25
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
26
15
  const debug = (0, _debug.getDebug)('base-scraper-with-browser');
27
16
  var LoginBaseResults = /*#__PURE__*/function (LoginBaseResults) {
28
17
  LoginBaseResults["Success"] = "SUCCESS";
@@ -30,12 +19,15 @@ var LoginBaseResults = /*#__PURE__*/function (LoginBaseResults) {
30
19
  return LoginBaseResults;
31
20
  }(LoginBaseResults || {});
32
21
  const {
33
- Timeout,
34
- Generic,
35
- General
36
- } = _errors.ScraperErrorTypes,
37
- rest = _objectWithoutProperties(_errors.ScraperErrorTypes, ["Timeout", "Generic", "General"]);
38
- const LoginResults = exports.LoginResults = _objectSpread(_objectSpread({}, rest), LoginBaseResults);
22
+ Timeout,
23
+ Generic,
24
+ General,
25
+ ...rest
26
+ } = _errors.ScraperErrorTypes;
27
+ const LoginResults = exports.LoginResults = {
28
+ ...rest,
29
+ ...LoginBaseResults
30
+ };
39
31
 
40
32
  // eslint-disable-next-line @typescript-eslint/no-redeclare
41
33
 
@@ -71,20 +63,17 @@ function createGeneralError() {
71
63
  };
72
64
  }
73
65
  class BaseScraperWithBrowser extends _baseScraper.BaseScraper {
74
- constructor(...args) {
75
- super(...args);
76
- _defineProperty(this, "cleanups", []);
77
- _defineProperty(this, "defaultViewportSize", {
78
- width: 1024,
79
- height: 768
80
- });
81
- // NOTICE - it is discouraged to use bang (!) in general. It is used here because
82
- // all the classes that inherit from this base assume is it mandatory.
83
- _defineProperty(this, "page", void 0);
84
- }
66
+ cleanups = [];
67
+ defaultViewportSize = {
68
+ width: 1024,
69
+ height: 768
70
+ };
71
+
72
+ // NOTICE - it is discouraged to use bang (!) in general. It is used here because
73
+ // all the classes that inherit from this base assume is it mandatory.
74
+
85
75
  getViewPort() {
86
- var _this$options$viewpor;
87
- return (_this$options$viewpor = this.options.viewportSize) !== null && _this$options$viewpor !== void 0 ? _this$options$viewpor : this.defaultViewportSize;
76
+ return this.options.viewportSize ?? this.defaultViewportSize;
88
77
  }
89
78
  async initialize() {
90
79
  await super.initialize();
@@ -113,8 +102,7 @@ class BaseScraperWithBrowser extends _baseScraper.BaseScraper {
113
102
  height: viewport.height
114
103
  });
115
104
  this.page.on('requestfailed', request => {
116
- var _request$failure;
117
- debug('Request failed: %s %s', (_request$failure = request.failure()) === null || _request$failure === void 0 ? void 0 : _request$failure.errorText, request.url());
105
+ debug('Request failed: %s %s', request.failure()?.errorText, request.url());
118
106
  });
119
107
  }
120
108
  async initializePage() {
@@ -149,9 +137,10 @@ class BaseScraperWithBrowser extends _baseScraper.BaseScraper {
149
137
  const headless = !showBrowser;
150
138
  debug(`launch a browser with headless mode = ${headless}`);
151
139
  const browser = await _puppeteer.default.launch({
152
- env: this.options.verbose ? _objectSpread({
153
- DEBUG: '*'
154
- }, process.env) : undefined,
140
+ env: this.options.verbose ? {
141
+ DEBUG: '*',
142
+ ...process.env
143
+ } : undefined,
155
144
  headless,
156
145
  executablePath,
157
146
  args,
@@ -168,11 +157,10 @@ class BaseScraperWithBrowser extends _baseScraper.BaseScraper {
168
157
  debug('create a new browser page');
169
158
  return browser.newPage();
170
159
  }
171
- async navigateTo(url, waitUntil = 'load', retries = (_this$options$navigat => (_this$options$navigat = this.options.navigationRetryCount) !== null && _this$options$navigat !== void 0 ? _this$options$navigat : 0)()) {
172
- var _this$page;
173
- const response = await ((_this$page = this.page) === null || _this$page === void 0 ? void 0 : _this$page.goto(url, {
160
+ async navigateTo(url, waitUntil = 'load', retries = this.options.navigationRetryCount ?? 0) {
161
+ const response = await this.page?.goto(url, {
174
162
  waitUntil
175
- }));
163
+ });
176
164
  if (response === null) {
177
165
  // note: response will be null when navigating to same url while changing the hash part.
178
166
  // the condition below will always accept null as valid result.
@@ -293,4 +281,4 @@ class BaseScraperWithBrowser extends _baseScraper.BaseScraper {
293
281
  }
294
282
  }
295
283
  exports.BaseScraperWithBrowser = BaseScraperWithBrowser;
296
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcHVwcGV0ZWVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZGVmaW5pdGlvbnMiLCJfZGVidWciLCJfZWxlbWVudHNJbnRlcmFjdGlvbnMiLCJfbmF2aWdhdGlvbiIsIl9iYXNlU2NyYXBlciIsIl9lcnJvcnMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJuIiwiaW5kZXhPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiaGFzT3duUHJvcGVydHkiLCJkZWJ1ZyIsImdldERlYnVnIiwiTG9naW5CYXNlUmVzdWx0cyIsIlRpbWVvdXQiLCJHZW5lcmljIiwiR2VuZXJhbCIsIlNjcmFwZXJFcnJvclR5cGVzIiwicmVzdCIsIkxvZ2luUmVzdWx0cyIsImV4cG9ydHMiLCJnZXRLZXlCeVZhbHVlIiwib2JqZWN0IiwicGFnZSIsImtleSIsImNvbmRpdGlvbnMiLCJjb25kaXRpb24iLCJyZXN1bHQiLCJSZWdFeHAiLCJ0ZXN0IiwidG9Mb3dlckNhc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsIlVua25vd25FcnJvciIsImNyZWF0ZUdlbmVyYWxFcnJvciIsInN1Y2Nlc3MiLCJlcnJvclR5cGUiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiQmFzZVNjcmFwZXIiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJ3aWR0aCIsImhlaWdodCIsImdldFZpZXdQb3J0IiwiX3RoaXMkb3B0aW9ucyR2aWV3cG9yIiwib3B0aW9ucyIsInZpZXdwb3J0U2l6ZSIsImRlZmF1bHRWaWV3cG9ydFNpemUiLCJpbml0aWFsaXplIiwiZW1pdFByb2dyZXNzIiwiU2NyYXBlclByb2dyZXNzVHlwZXMiLCJJbml0aWFsaXppbmciLCJpbml0aWFsaXplUGFnZSIsInNldENhY2hlRW5hYmxlZCIsImNsZWFudXBzIiwiY2xvc2UiLCJkZWZhdWx0VGltZW91dCIsInNldERlZmF1bHRUaW1lb3V0IiwicHJlcGFyZVBhZ2UiLCJ2aWV3cG9ydCIsInNldFZpZXdwb3J0Iiwib24iLCJyZXF1ZXN0IiwiX3JlcXVlc3QkZmFpbHVyZSIsImZhaWx1cmUiLCJlcnJvclRleHQiLCJ1cmwiLCJicm93c2VyQ29udGV4dCIsIm5ld1BhZ2UiLCJicm93c2VyIiwic2tpcENsb3NlQnJvd3NlciIsInRpbWVvdXQiLCJleGVjdXRhYmxlUGF0aCIsInNob3dCcm93c2VyIiwiaGVhZGxlc3MiLCJwdXBwZXRlZXIiLCJsYXVuY2giLCJlbnYiLCJ2ZXJib3NlIiwiREVCVUciLCJwcm9jZXNzIiwidW5kZWZpbmVkIiwicHJlcGFyZUJyb3dzZXIiLCJuYXZpZ2F0ZVRvIiwid2FpdFVudGlsIiwicmV0cmllcyIsIl90aGlzJG9wdGlvbnMkbmF2aWdhdCIsIm5hdmlnYXRpb25SZXRyeUNvdW50IiwiX3RoaXMkcGFnZSIsInJlc3BvbnNlIiwiZ290byIsIkVycm9yIiwib2siLCJzdGF0dXMiLCJnZXRMb2dpbk9wdGlvbnMiLCJfY3JlZGVudGlhbHMiLCJjb21wYW55SWQiLCJmaWxsSW5wdXRzIiwicGFnZU9yRnJhbWUiLCJmaWVsZHMiLCJtb2RpZmllZCIsImlucHV0Iiwic2hpZnQiLCJmaWxsSW5wdXQiLCJzZWxlY3RvciIsImxvZ2luIiwiY3JlZGVudGlhbHMiLCJsb2dpbk9wdGlvbnMiLCJ1c2VyQWdlbnQiLCJzZXRVc2VyQWdlbnQiLCJsb2dpblVybCIsImNoZWNrUmVhZGluZXNzIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJ3YWl0VW50aWxFbGVtZW50Rm91bmQiLCJsb2dpbkZyYW1lT3JQYWdlIiwicHJlQWN0aW9uIiwiY2xpY2tCdXR0b24iLCJMb2dnaW5nSW4iLCJwb3N0QWN0aW9uIiwid2FpdEZvck5hdmlnYXRpb24iLCJjdXJyZW50IiwiZ2V0Q3VycmVudFVybCIsImxvZ2luUmVzdWx0IiwicG9zc2libGVSZXN1bHRzIiwiaGFuZGxlTG9naW5SZXN1bHQiLCJ0ZXJtaW5hdGUiLCJfc3VjY2VzcyIsIlRlcm1pbmF0aW5nIiwic3RvcmVGYWlsdXJlU2NyZWVuU2hvdFBhdGgiLCJzY3JlZW5zaG90IiwicGF0aCIsImZ1bGxQYWdlIiwiYWxsIiwicmV2ZXJzZSIsIm1hcCIsImNsZWFudXAiLCJTdWNjZXNzIiwiTG9naW5TdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwiTG9naW5GYWlsZWQiLCJlcnJvck1lc3NhZ2UiLCJDaGFuZ2VQYXNzd29yZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwdXBwZXRlZXIsIHsgdHlwZSBGcmFtZSwgdHlwZSBQYWdlLCB0eXBlIFB1cHBldGVlckxpZmVDeWNsZUV2ZW50IH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IFNjcmFwZXJQcm9ncmVzc1R5cGVzIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHsgZ2V0RGVidWcgfSBmcm9tICcuLi9oZWxwZXJzL2RlYnVnJztcbmltcG9ydCB7IGNsaWNrQnV0dG9uLCBmaWxsSW5wdXQsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCB9IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGdldEN1cnJlbnRVcmwsIHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHsgU2NyYXBlckVycm9yVHlwZXMgfSBmcm9tICcuL2Vycm9ycyc7XG5pbXBvcnQgeyB0eXBlIFNjcmFwZXJDcmVkZW50aWFscywgdHlwZSBTY3JhcGVyU2NyYXBpbmdSZXN1bHQgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ2Jhc2Utc2NyYXBlci13aXRoLWJyb3dzZXInKTtcblxuZW51bSBMb2dpbkJhc2VSZXN1bHRzIHtcbiAgU3VjY2VzcyA9ICdTVUNDRVNTJyxcbiAgVW5rbm93bkVycm9yID0gJ1VOS05PV05fRVJST1InLFxufVxuXG5jb25zdCB7XG4gIFRpbWVvdXQsIEdlbmVyaWMsIEdlbmVyYWwsIC4uLnJlc3Rcbn0gPSBTY3JhcGVyRXJyb3JUeXBlcztcbmV4cG9ydCBjb25zdCBMb2dpblJlc3VsdHMgPSB7XG4gIC4uLnJlc3QsXG4gIC4uLkxvZ2luQmFzZVJlc3VsdHMsXG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlZGVjbGFyZVxuZXhwb3J0IHR5cGUgTG9naW5SZXN1bHRzID1cbiAgfCBFeGNsdWRlPFNjcmFwZXJFcnJvclR5cGVzLCBTY3JhcGVyRXJyb3JUeXBlcy5UaW1lb3V0IHwgU2NyYXBlckVycm9yVHlwZXMuR2VuZXJpYyB8IFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyYWw+XG4gIHwgTG9naW5CYXNlUmVzdWx0cztcblxuZXhwb3J0IHR5cGUgUG9zc2libGVMb2dpblJlc3VsdHMgPSB7XG4gIFtrZXkgaW4gTG9naW5SZXN1bHRzXT86IChzdHJpbmcgfCBSZWdFeHAgfCAoKG9wdGlvbnM/OiB7IHBhZ2U/OiBQYWdlIH0pID0+IFByb21pc2U8Ym9vbGVhbj4pKVtdO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBMb2dpbk9wdGlvbnMge1xuICBsb2dpblVybDogc3RyaW5nO1xuICBjaGVja1JlYWRpbmVzcz86ICgpID0+IFByb21pc2U8dm9pZD47XG4gIGZpZWxkczogeyBzZWxlY3Rvcjogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXTtcbiAgc3VibWl0QnV0dG9uU2VsZWN0b3I6IHN0cmluZyB8ICgoKSA9PiBQcm9taXNlPHZvaWQ+KTtcbiAgcHJlQWN0aW9uPzogKCkgPT4gUHJvbWlzZTxGcmFtZSB8IHZvaWQ+O1xuICBwb3N0QWN0aW9uPzogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcG9zc2libGVSZXN1bHRzOiBQb3NzaWJsZUxvZ2luUmVzdWx0cztcbiAgdXNlckFnZW50Pzogc3RyaW5nO1xuICB3YWl0VW50aWw/OiBQdXBwZXRlZXJMaWZlQ3ljbGVFdmVudDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0S2V5QnlWYWx1ZShvYmplY3Q6IFBvc3NpYmxlTG9naW5SZXN1bHRzLCB2YWx1ZTogc3RyaW5nLCBwYWdlOiBQYWdlKTogUHJvbWlzZTxMb2dpblJlc3VsdHM+IHtcbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7XG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgY29uZGl0aW9ucyA9IG9iamVjdFtrZXldO1xuXG4gICAgZm9yIChjb25zdCBjb25kaXRpb24gb2YgY29uZGl0aW9ucykge1xuICAgICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuXG4gICAgICBpZiAoY29uZGl0aW9uIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIHJlc3VsdCA9IGNvbmRpdGlvbi50ZXN0KHZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbmRpdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXN1bHQgPSBhd2FpdCBjb25kaXRpb24oeyBwYWdlLCB2YWx1ZSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IHZhbHVlLnRvTG93ZXJDYXNlKCkgPT09IGNvbmRpdGlvbi50b0xvd2VyQ2FzZSgpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShrZXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoTG9naW5SZXN1bHRzLlVua25vd25FcnJvcik7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUdlbmVyYWxFcnJvcigpOiBTY3JhcGVyU2NyYXBpbmdSZXN1bHQge1xuICByZXR1cm4ge1xuICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgIGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMuR2VuZXJhbCxcbiAgfTtcbn1cblxuY2xhc3MgQmFzZVNjcmFwZXJXaXRoQnJvd3NlcjxUQ3JlZGVudGlhbHMgZXh0ZW5kcyBTY3JhcGVyQ3JlZGVudGlhbHM+IGV4dGVuZHMgQmFzZVNjcmFwZXI8VENyZWRlbnRpYWxzPiB7XG4gIHByaXZhdGUgY2xlYW51cHM6IEFycmF5PCgpID0+IFByb21pc2U8dm9pZD4+ID0gW107XG5cbiAgcHJpdmF0ZSBkZWZhdWx0Vmlld3BvcnRTaXplID0ge1xuICAgIHdpZHRoOiAxMDI0LFxuICAgIGhlaWdodDogNzY4LFxuICB9O1xuXG4gIC8vIE5PVElDRSAtIGl0IGlzIGRpc2NvdXJhZ2VkIHRvIHVzZSBiYW5nICghKSBpbiBnZW5lcmFsLiBJdCBpcyB1c2VkIGhlcmUgYmVjYXVzZVxuICAvLyBhbGwgdGhlIGNsYXNzZXMgdGhhdCBpbmhlcml0IGZyb20gdGhpcyBiYXNlIGFzc3VtZSBpcyBpdCBtYW5kYXRvcnkuXG4gIHByb3RlY3RlZCBwYWdlITogUGFnZTtcblxuICBwcm90ZWN0ZWQgZ2V0Vmlld1BvcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy52aWV3cG9ydFNpemUgPz8gdGhpcy5kZWZhdWx0Vmlld3BvcnRTaXplO1xuICB9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZSgpIHtcbiAgICBhd2FpdCBzdXBlci5pbml0aWFsaXplKCk7XG4gICAgZGVidWcoJ2luaXRpYWxpemUgc2NyYXBlcicpO1xuICAgIHRoaXMuZW1pdFByb2dyZXNzKFNjcmFwZXJQcm9ncmVzc1R5cGVzLkluaXRpYWxpemluZyk7XG5cbiAgICBjb25zdCBwYWdlID0gYXdhaXQgdGhpcy5pbml0aWFsaXplUGFnZSgpO1xuICAgIGF3YWl0IHBhZ2Uuc2V0Q2FjaGVFbmFibGVkKGZhbHNlKTsgLy8gQ2xlYXIgY2FjaGUgYW5kIGF2b2lkIDMwMCdzIHJlc3BvbnNlIHN0YXR1c1xuXG4gICAgaWYgKCFwYWdlKSB7XG4gICAgICBkZWJ1ZygnZmFpbGVkIHRvIGluaXRpYXRlIGEgYnJvd3NlciBwYWdlLCBleGl0Jyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wYWdlID0gcGFnZTtcblxuICAgIHRoaXMuY2xlYW51cHMucHVzaCgoKSA9PiBwYWdlLmNsb3NlKCkpO1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5kZWZhdWx0VGltZW91dCkge1xuICAgICAgdGhpcy5wYWdlLnNldERlZmF1bHRUaW1lb3V0KHRoaXMub3B0aW9ucy5kZWZhdWx0VGltZW91dCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5wcmVwYXJlUGFnZSkge1xuICAgICAgZGVidWcoXCJleGVjdXRlICdwcmVwYXJlUGFnZScgaW50ZXJjZXB0b3IgcHJvdmlkZWQgaW4gb3B0aW9uc1wiKTtcbiAgICAgIGF3YWl0IHRoaXMub3B0aW9ucy5wcmVwYXJlUGFnZSh0aGlzLnBhZ2UpO1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXdwb3J0ID0gdGhpcy5nZXRWaWV3UG9ydCgpO1xuICAgIGRlYnVnKGBzZXQgdmlld3BvcnQgdG8gd2lkdGggJHt2aWV3cG9ydC53aWR0aH0sIGhlaWdodCAke3ZpZXdwb3J0LmhlaWdodH1gKTtcbiAgICBhd2FpdCB0aGlzLnBhZ2Uuc2V0Vmlld3BvcnQoe1xuICAgICAgd2lkdGg6IHZpZXdwb3J0LndpZHRoLFxuICAgICAgaGVpZ2h0OiB2aWV3cG9ydC5oZWlnaHQsXG4gICAgfSk7XG5cbiAgICB0aGlzLnBhZ2Uub24oJ3JlcXVlc3RmYWlsZWQnLCAocmVxdWVzdCkgPT4ge1xuICAgICAgZGVidWcoJ1JlcXVlc3QgZmFpbGVkOiAlcyAlcycsIHJlcXVlc3QuZmFpbHVyZSgpPy5lcnJvclRleHQsIHJlcXVlc3QudXJsKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBpbml0aWFsaXplUGFnZSgpIHtcbiAgICBkZWJ1ZygnaW5pdGlhbGl6ZSBicm93c2VyIHBhZ2UnKTtcbiAgICBpZiAoJ2Jyb3dzZXJDb250ZXh0JyBpbiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIGRlYnVnKCdVc2luZyB0aGUgYnJvd3NlciBjb250ZXh0IHByb3ZpZGVkIGluIG9wdGlvbnMnKTtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYnJvd3NlckNvbnRleHQubmV3UGFnZSgpO1xuICAgIH1cblxuICAgIGlmICgnYnJvd3NlcicgaW4gdGhpcy5vcHRpb25zKSB7XG4gICAgICBkZWJ1ZygnVXNpbmcgdGhlIGJyb3dzZXIgaW5zdGFuY2UgcHJvdmlkZWQgaW4gb3B0aW9ucycpO1xuICAgICAgY29uc3QgeyBicm93c2VyIH0gPSB0aGlzLm9wdGlvbnM7XG5cbiAgICAgIC8qKlxuICAgICAgICogRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlIHdpbGwgY2xvc2UgdGhlIGJyb3dzZXIgZXZlbiBpZiB3ZSBkaWRuJ3QgY3JlYXRlIGl0XG4gICAgICAgKi9cbiAgICAgIGlmICghdGhpcy5vcHRpb25zLnNraXBDbG9zZUJyb3dzZXIpIHtcbiAgICAgICAgdGhpcy5jbGVhbnVwcy5wdXNoKGFzeW5jICgpID0+IHtcbiAgICAgICAgICBkZWJ1ZygnY2xvc2luZyB0aGUgYnJvd3NlcicpO1xuICAgICAgICAgIGF3YWl0IGJyb3dzZXIuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBicm93c2VyLm5ld1BhZ2UoKTtcbiAgICB9XG5cbiAgICBjb25zdCB7IHRpbWVvdXQsIGFyZ3MsIGV4ZWN1dGFibGVQYXRoLCBzaG93QnJvd3NlciB9ID0gdGhpcy5vcHRpb25zO1xuXG4gICAgY29uc3QgaGVhZGxlc3MgPSAhc2hvd0Jyb3dzZXI7XG4gICAgZGVidWcoYGxhdW5jaCBhIGJyb3dzZXIgd2l0aCBoZWFkbGVzcyBtb2RlID0gJHtoZWFkbGVzc31gKTtcblxuICAgIGNvbnN0IGJyb3dzZXIgPSBhd2FpdCBwdXBwZXRlZXIubGF1bmNoKHtcbiAgICAgIGVudjogdGhpcy5vcHRpb25zLnZlcmJvc2UgPyB7IERFQlVHOiAnKicsIC4uLnByb2Nlc3MuZW52IH0gOiB1bmRlZmluZWQsXG4gICAgICBoZWFkbGVzcyxcbiAgICAgIGV4ZWN1dGFibGVQYXRoLFxuICAgICAgYXJncyxcbiAgICAgIHRpbWVvdXQsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNsZWFudXBzLnB1c2goYXN5bmMgKCkgPT4ge1xuICAgICAgZGVidWcoJ2Nsb3NpbmcgdGhlIGJyb3dzZXInKTtcbiAgICAgIGF3YWl0IGJyb3dzZXIuY2xvc2UoKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm9wdGlvbnMucHJlcGFyZUJyb3dzZXIpIHtcbiAgICAgIGRlYnVnKFwiZXhlY3V0ZSAncHJlcGFyZUJyb3dzZXInIGludGVyY2VwdG9yIHByb3ZpZGVkIGluIG9wdGlvbnNcIik7XG4gICAgICBhd2FpdCB0aGlzLm9wdGlvbnMucHJlcGFyZUJyb3dzZXIoYnJvd3Nlcik7XG4gICAgfVxuXG4gICAgZGVidWcoJ2NyZWF0ZSBhIG5ldyBicm93c2VyIHBhZ2UnKTtcbiAgICByZXR1cm4gYnJvd3Nlci5uZXdQYWdlKCk7XG4gIH1cblxuICBhc3luYyBuYXZpZ2F0ZVRvKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHdhaXRVbnRpbDogUHVwcGV0ZWVyTGlmZUN5Y2xlRXZlbnQgfCB1bmRlZmluZWQgPSAnbG9hZCcsXG4gICAgcmV0cmllcyA9IHRoaXMub3B0aW9ucy5uYXZpZ2F0aW9uUmV0cnlDb3VudCA/PyAwLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucGFnZT8uZ290byh1cmwsIHsgd2FpdFVudGlsIH0pO1xuICAgIGlmIChyZXNwb25zZSA9PT0gbnVsbCkge1xuICAgICAgLy8gbm90ZTogcmVzcG9uc2Ugd2lsbCBiZSBudWxsIHdoZW4gbmF2aWdhdGluZyB0byBzYW1lIHVybCB3aGlsZSBjaGFuZ2luZyB0aGUgaGFzaCBwYXJ0LlxuICAgICAgLy8gdGhlIGNvbmRpdGlvbiBiZWxvdyB3aWxsIGFsd2F5cyBhY2NlcHQgbnVsbCBhcyB2YWxpZCByZXN1bHQuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRXJyb3Igd2hpbGUgdHJ5aW5nIHRvIG5hdmlnYXRlIHRvIHVybCAke3VybH0sIHJlc3BvbnNlIGlzIHVuZGVmaW5lZGAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghcmVzcG9uc2Uub2soKSkge1xuICAgICAgY29uc3Qgc3RhdHVzID0gcmVzcG9uc2Uuc3RhdHVzKCk7XG4gICAgICBpZiAocmV0cmllcyA+IDApIHtcbiAgICAgICAgZGVidWcoYEZhaWxlZCB0byBuYXZpZ2F0ZSB0byB1cmwgJHt1cmx9LCBzdGF0dXMgY29kZTogJHtzdGF0dXN9LCByZXRyeWluZyAke3JldHJpZXN9IG1vcmUgdGltZXNgKTtcbiAgICAgICAgYXdhaXQgdGhpcy5uYXZpZ2F0ZVRvKHVybCwgd2FpdFVudGlsLCByZXRyaWVzIC0gMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIGBGYWlsZWQgdG8gbmF2aWdhdGUgdG8gdXJsICR7dXJsfSwgc3RhdHVzIGNvZGU6ICR7c3RhdHVzfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgZ2V0TG9naW5PcHRpb25zKF9jcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKTogTG9naW5PcHRpb25zIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGdldExvZ2luT3B0aW9ucygpIGlzIG5vdCBjcmVhdGVkIGluICR7dGhpcy5vcHRpb25zLmNvbXBhbnlJZH1gKTtcbiAgfVxuXG4gIGFzeW5jIGZpbGxJbnB1dHMocGFnZU9yRnJhbWU6IFBhZ2UgfCBGcmFtZSwgZmllbGRzOiB7IHNlbGVjdG9yOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbW9kaWZpZWQgPSBbLi4uZmllbGRzXTtcbiAgICBjb25zdCBpbnB1dCA9IG1vZGlmaWVkLnNoaWZ0KCk7XG5cbiAgICBpZiAoIWlucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IGZpbGxJbnB1dChwYWdlT3JGcmFtZSwgaW5wdXQuc2VsZWN0b3IsIGlucHV0LnZhbHVlKTtcbiAgICBpZiAobW9kaWZpZWQubGVuZ3RoKSB7XG4gICAgICBhd2FpdCB0aGlzLmZpbGxJbnB1dHMocGFnZU9yRnJhbWUsIG1vZGlmaWVkKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2dpbihjcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKTogUHJvbWlzZTxTY3JhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICBpZiAoIWNyZWRlbnRpYWxzIHx8ICF0aGlzLnBhZ2UpIHtcbiAgICAgIHJldHVybiBjcmVhdGVHZW5lcmFsRXJyb3IoKTtcbiAgICB9XG5cbiAgICBkZWJ1ZygnZXhlY3V0ZSBsb2dpbiBwcm9jZXNzJyk7XG4gICAgY29uc3QgbG9naW5PcHRpb25zID0gdGhpcy5nZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHMpO1xuXG4gICAgaWYgKGxvZ2luT3B0aW9ucy51c2VyQWdlbnQpIHtcbiAgICAgIGRlYnVnKCdzZXQgY3VzdG9tIHVzZXIgYWdlbnQgcHJvdmlkZWQgaW4gb3B0aW9ucycpO1xuICAgICAgYXdhaXQgdGhpcy5wYWdlLnNldFVzZXJBZ2VudChsb2dpbk9wdGlvbnMudXNlckFnZW50KTtcbiAgICB9XG5cbiAgICBkZWJ1ZygnbmF2aWdhdGUgdG8gbG9naW4gdXJsJyk7XG4gICAgYXdhaXQgdGhpcy5uYXZpZ2F0ZVRvKGxvZ2luT3B0aW9ucy5sb2dpblVybCwgbG9naW5PcHRpb25zLndhaXRVbnRpbCk7XG4gICAgaWYgKGxvZ2luT3B0aW9ucy5jaGVja1JlYWRpbmVzcykge1xuICAgICAgZGVidWcoXCJleGVjdXRlICdjaGVja1JlYWRpbmVzcycgaW50ZXJjZXB0b3IgcHJvdmlkZWQgaW4gbG9naW4gb3B0aW9uc1wiKTtcbiAgICAgIGF3YWl0IGxvZ2luT3B0aW9ucy5jaGVja1JlYWRpbmVzcygpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGxvZ2luT3B0aW9ucy5zdWJtaXRCdXR0b25TZWxlY3RvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGRlYnVnKCd3YWl0IHVudGlsIHN1Ym1pdCBidXR0b24gaXMgYXZhaWxhYmxlJyk7XG4gICAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCBsb2dpbk9wdGlvbnMuc3VibWl0QnV0dG9uU2VsZWN0b3IpO1xuICAgIH1cblxuICAgIGxldCBsb2dpbkZyYW1lT3JQYWdlOiBQYWdlIHwgRnJhbWUgfCBudWxsID0gdGhpcy5wYWdlO1xuICAgIGlmIChsb2dpbk9wdGlvbnMucHJlQWN0aW9uKSB7XG4gICAgICBkZWJ1ZyhcImV4ZWN1dGUgJ3ByZUFjdGlvbicgaW50ZXJjZXB0b3IgcHJvdmlkZWQgaW4gbG9naW4gb3B0aW9uc1wiKTtcbiAgICAgIGxvZ2luRnJhbWVPclBhZ2UgPSAoYXdhaXQgbG9naW5PcHRpb25zLnByZUFjdGlvbigpKSB8fCB0aGlzLnBhZ2U7XG4gICAgfVxuXG4gICAgZGVidWcoJ2ZpbGwgbG9naW4gY29tcG9uZW50cyBpbnB1dCB3aXRoIHJlbGV2YW50IHZhbHVlcycpO1xuICAgIGF3YWl0IHRoaXMuZmlsbElucHV0cyhsb2dpbkZyYW1lT3JQYWdlLCBsb2dpbk9wdGlvbnMuZmllbGRzKTtcbiAgICBkZWJ1ZygnY2xpY2sgb24gbG9naW4gc3VibWl0IGJ1dHRvbicpO1xuICAgIGlmICh0eXBlb2YgbG9naW5PcHRpb25zLnN1Ym1pdEJ1dHRvblNlbGVjdG9yID09PSAnc3RyaW5nJykge1xuICAgICAgYXdhaXQgY2xpY2tCdXR0b24obG9naW5GcmFtZU9yUGFnZSwgbG9naW5PcHRpb25zLnN1Ym1pdEJ1dHRvblNlbGVjdG9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgbG9naW5PcHRpb25zLnN1Ym1pdEJ1dHRvblNlbGVjdG9yKCk7XG4gICAgfVxuICAgIHRoaXMuZW1pdFByb2dyZXNzKFNjcmFwZXJQcm9ncmVzc1R5cGVzLkxvZ2dpbmdJbik7XG5cbiAgICBpZiAobG9naW5PcHRpb25zLnBvc3RBY3Rpb24pIHtcbiAgICAgIGRlYnVnKFwiZXhlY3V0ZSAncG9zdEFjdGlvbicgaW50ZXJjZXB0b3IgcHJvdmlkZWQgaW4gbG9naW4gb3B0aW9uc1wiKTtcbiAgICAgIGF3YWl0IGxvZ2luT3B0aW9ucy5wb3N0QWN0aW9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlYnVnKCd3YWl0IGZvciBwYWdlIG5hdmlnYXRpb24nKTtcbiAgICAgIGF3YWl0IHdhaXRGb3JOYXZpZ2F0aW9uKHRoaXMucGFnZSk7XG4gICAgfVxuXG4gICAgZGVidWcoJ2NoZWNrIGxvZ2luIHJlc3VsdCcpO1xuICAgIGNvbnN0IGN1cnJlbnQgPSBhd2FpdCBnZXRDdXJyZW50VXJsKHRoaXMucGFnZSwgdHJ1ZSk7XG4gICAgY29uc3QgbG9naW5SZXN1bHQgPSBhd2FpdCBnZXRLZXlCeVZhbHVlKGxvZ2luT3B0aW9ucy5wb3NzaWJsZVJlc3VsdHMsIGN1cnJlbnQsIHRoaXMucGFnZSk7XG4gICAgZGVidWcoYGhhbmRsZSBsb2dpbiByZXN1bHRzICR7bG9naW5SZXN1bHR9YCk7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlTG9naW5SZXN1bHQobG9naW5SZXN1bHQpO1xuICB9XG5cbiAgYXN5bmMgdGVybWluYXRlKF9zdWNjZXNzOiBib29sZWFuKSB7XG4gICAgZGVidWcoYHRlcm1pbmF0aW5nIGJyb3dzZXIgd2l0aCBzdWNjZXNzID0gJHtfc3VjY2Vzc31gKTtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY3JhcGVyUHJvZ3Jlc3NUeXBlcy5UZXJtaW5hdGluZyk7XG5cbiAgICBpZiAoIV9zdWNjZXNzICYmICEhdGhpcy5vcHRpb25zLnN0b3JlRmFpbHVyZVNjcmVlblNob3RQYXRoKSB7XG4gICAgICBkZWJ1ZyhgY3JlYXRlIGEgc25hcHNob3QgYmVmb3JlIHRlcm1pbmF0ZWQgaW4gJHt0aGlzLm9wdGlvbnMuc3RvcmVGYWlsdXJlU2NyZWVuU2hvdFBhdGh9YCk7XG4gICAgICBhd2FpdCB0aGlzLnBhZ2Uuc2NyZWVuc2hvdCh7XG4gICAgICAgIHBhdGg6IHRoaXMub3B0aW9ucy5zdG9yZUZhaWx1cmVTY3JlZW5TaG90UGF0aCxcbiAgICAgICAgZnVsbFBhZ2U6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmNsZWFudXBzLnJldmVyc2UoKS5tYXAoKGNsZWFudXApID0+IGNsZWFudXAoKSkpO1xuICAgIHRoaXMuY2xlYW51cHMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTG9naW5SZXN1bHQobG9naW5SZXN1bHQ6IExvZ2luUmVzdWx0cykge1xuICAgIHN3aXRjaCAobG9naW5SZXN1bHQpIHtcbiAgICAgIGNhc2UgTG9naW5SZXN1bHRzLlN1Y2Nlc3M6XG4gICAgICAgIHRoaXMuZW1pdFByb2dyZXNzKFNjcmFwZXJQcm9ncmVzc1R5cGVzLkxvZ2luU3VjY2Vzcyk7XG4gICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICAgIGNhc2UgTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZDpcbiAgICAgIGNhc2UgTG9naW5SZXN1bHRzLlVua25vd25FcnJvcjpcbiAgICAgICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NyYXBlclByb2dyZXNzVHlwZXMuTG9naW5GYWlsZWQpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICAgIGVycm9yVHlwZTpcbiAgICAgICAgICAgIGxvZ2luUmVzdWx0ID09PSBMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkID9cbiAgICAgICAgICAgICAgU2NyYXBlckVycm9yVHlwZXMuSW52YWxpZFBhc3N3b3JkIDpcbiAgICAgICAgICAgICAgU2NyYXBlckVycm9yVHlwZXMuR2VuZXJhbCxcbiAgICAgICAgICBlcnJvck1lc3NhZ2U6IGBMb2dpbiBmYWlsZWQgd2l0aCAke2xvZ2luUmVzdWx0fSBlcnJvcmAsXG4gICAgICAgIH07XG4gICAgICBjYXNlIExvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZDpcbiAgICAgICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NyYXBlclByb2dyZXNzVHlwZXMuQ2hhbmdlUGFzc3dvcmQpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICAgIGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMuQ2hhbmdlUGFzc3dvcmQsXG4gICAgICAgIH07XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuZXhwZWN0ZWQgbG9naW4gcmVzdWx0IFwiJHtsb2dpblJlc3VsdH1cImApO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIH07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
284
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcHVwcGV0ZWVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZGVmaW5pdGlvbnMiLCJfZGVidWciLCJfZWxlbWVudHNJbnRlcmFjdGlvbnMiLCJfbmF2aWdhdGlvbiIsIl9iYXNlU2NyYXBlciIsIl9lcnJvcnMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkZWJ1ZyIsImdldERlYnVnIiwiTG9naW5CYXNlUmVzdWx0cyIsIlRpbWVvdXQiLCJHZW5lcmljIiwiR2VuZXJhbCIsInJlc3QiLCJTY3JhcGVyRXJyb3JUeXBlcyIsIkxvZ2luUmVzdWx0cyIsImV4cG9ydHMiLCJnZXRLZXlCeVZhbHVlIiwib2JqZWN0IiwidmFsdWUiLCJwYWdlIiwia2V5cyIsIk9iamVjdCIsImtleSIsImNvbmRpdGlvbnMiLCJjb25kaXRpb24iLCJyZXN1bHQiLCJSZWdFeHAiLCJ0ZXN0IiwidG9Mb3dlckNhc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsIlVua25vd25FcnJvciIsImNyZWF0ZUdlbmVyYWxFcnJvciIsInN1Y2Nlc3MiLCJlcnJvclR5cGUiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiQmFzZVNjcmFwZXIiLCJjbGVhbnVwcyIsImRlZmF1bHRWaWV3cG9ydFNpemUiLCJ3aWR0aCIsImhlaWdodCIsImdldFZpZXdQb3J0Iiwib3B0aW9ucyIsInZpZXdwb3J0U2l6ZSIsImluaXRpYWxpemUiLCJlbWl0UHJvZ3Jlc3MiLCJTY3JhcGVyUHJvZ3Jlc3NUeXBlcyIsIkluaXRpYWxpemluZyIsImluaXRpYWxpemVQYWdlIiwic2V0Q2FjaGVFbmFibGVkIiwicHVzaCIsImNsb3NlIiwiZGVmYXVsdFRpbWVvdXQiLCJzZXREZWZhdWx0VGltZW91dCIsInByZXBhcmVQYWdlIiwidmlld3BvcnQiLCJzZXRWaWV3cG9ydCIsIm9uIiwicmVxdWVzdCIsImZhaWx1cmUiLCJlcnJvclRleHQiLCJ1cmwiLCJicm93c2VyQ29udGV4dCIsIm5ld1BhZ2UiLCJicm93c2VyIiwic2tpcENsb3NlQnJvd3NlciIsInRpbWVvdXQiLCJhcmdzIiwiZXhlY3V0YWJsZVBhdGgiLCJzaG93QnJvd3NlciIsImhlYWRsZXNzIiwicHVwcGV0ZWVyIiwibGF1bmNoIiwiZW52IiwidmVyYm9zZSIsIkRFQlVHIiwicHJvY2VzcyIsInVuZGVmaW5lZCIsInByZXBhcmVCcm93c2VyIiwibmF2aWdhdGVUbyIsIndhaXRVbnRpbCIsInJldHJpZXMiLCJuYXZpZ2F0aW9uUmV0cnlDb3VudCIsInJlc3BvbnNlIiwiZ290byIsIkVycm9yIiwib2siLCJzdGF0dXMiLCJnZXRMb2dpbk9wdGlvbnMiLCJfY3JlZGVudGlhbHMiLCJjb21wYW55SWQiLCJmaWxsSW5wdXRzIiwicGFnZU9yRnJhbWUiLCJmaWVsZHMiLCJtb2RpZmllZCIsImlucHV0Iiwic2hpZnQiLCJmaWxsSW5wdXQiLCJzZWxlY3RvciIsImxlbmd0aCIsImxvZ2luIiwiY3JlZGVudGlhbHMiLCJsb2dpbk9wdGlvbnMiLCJ1c2VyQWdlbnQiLCJzZXRVc2VyQWdlbnQiLCJsb2dpblVybCIsImNoZWNrUmVhZGluZXNzIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJ3YWl0VW50aWxFbGVtZW50Rm91bmQiLCJsb2dpbkZyYW1lT3JQYWdlIiwicHJlQWN0aW9uIiwiY2xpY2tCdXR0b24iLCJMb2dnaW5nSW4iLCJwb3N0QWN0aW9uIiwid2FpdEZvck5hdmlnYXRpb24iLCJjdXJyZW50IiwiZ2V0Q3VycmVudFVybCIsImxvZ2luUmVzdWx0IiwicG9zc2libGVSZXN1bHRzIiwiaGFuZGxlTG9naW5SZXN1bHQiLCJ0ZXJtaW5hdGUiLCJfc3VjY2VzcyIsIlRlcm1pbmF0aW5nIiwic3RvcmVGYWlsdXJlU2NyZWVuU2hvdFBhdGgiLCJzY3JlZW5zaG90IiwicGF0aCIsImZ1bGxQYWdlIiwiYWxsIiwicmV2ZXJzZSIsIm1hcCIsImNsZWFudXAiLCJTdWNjZXNzIiwiTG9naW5TdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwiTG9naW5GYWlsZWQiLCJlcnJvck1lc3NhZ2UiLCJDaGFuZ2VQYXNzd29yZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwdXBwZXRlZXIsIHsgdHlwZSBGcmFtZSwgdHlwZSBQYWdlLCB0eXBlIFB1cHBldGVlckxpZmVDeWNsZUV2ZW50IH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IFNjcmFwZXJQcm9ncmVzc1R5cGVzIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHsgZ2V0RGVidWcgfSBmcm9tICcuLi9oZWxwZXJzL2RlYnVnJztcbmltcG9ydCB7IGNsaWNrQnV0dG9uLCBmaWxsSW5wdXQsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCB9IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGdldEN1cnJlbnRVcmwsIHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHsgU2NyYXBlckVycm9yVHlwZXMgfSBmcm9tICcuL2Vycm9ycyc7XG5pbXBvcnQgeyB0eXBlIFNjcmFwZXJDcmVkZW50aWFscywgdHlwZSBTY3JhcGVyU2NyYXBpbmdSZXN1bHQgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ2Jhc2Utc2NyYXBlci13aXRoLWJyb3dzZXInKTtcblxuZW51bSBMb2dpbkJhc2VSZXN1bHRzIHtcbiAgU3VjY2VzcyA9ICdTVUNDRVNTJyxcbiAgVW5rbm93bkVycm9yID0gJ1VOS05PV05fRVJST1InLFxufVxuXG5jb25zdCB7IFRpbWVvdXQsIEdlbmVyaWMsIEdlbmVyYWwsIC4uLnJlc3QgfSA9IFNjcmFwZXJFcnJvclR5cGVzO1xuZXhwb3J0IGNvbnN0IExvZ2luUmVzdWx0cyA9IHtcbiAgLi4ucmVzdCxcbiAgLi4uTG9naW5CYXNlUmVzdWx0cyxcbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVkZWNsYXJlXG5leHBvcnQgdHlwZSBMb2dpblJlc3VsdHMgPVxuICB8IEV4Y2x1ZGU8U2NyYXBlckVycm9yVHlwZXMsIFNjcmFwZXJFcnJvclR5cGVzLlRpbWVvdXQgfCBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljIHwgU2NyYXBlckVycm9yVHlwZXMuR2VuZXJhbD5cbiAgfCBMb2dpbkJhc2VSZXN1bHRzO1xuXG5leHBvcnQgdHlwZSBQb3NzaWJsZUxvZ2luUmVzdWx0cyA9IHtcbiAgW2tleSBpbiBMb2dpblJlc3VsdHNdPzogKHN0cmluZyB8IFJlZ0V4cCB8ICgob3B0aW9ucz86IHsgcGFnZT86IFBhZ2UgfSkgPT4gUHJvbWlzZTxib29sZWFuPikpW107XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luT3B0aW9ucyB7XG4gIGxvZ2luVXJsOiBzdHJpbmc7XG4gIGNoZWNrUmVhZGluZXNzPzogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgZmllbGRzOiB7IHNlbGVjdG9yOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdO1xuICBzdWJtaXRCdXR0b25TZWxlY3Rvcjogc3RyaW5nIHwgKCgpID0+IFByb21pc2U8dm9pZD4pO1xuICBwcmVBY3Rpb24/OiAoKSA9PiBQcm9taXNlPEZyYW1lIHwgdm9pZD47XG4gIHBvc3RBY3Rpb24/OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBwb3NzaWJsZVJlc3VsdHM6IFBvc3NpYmxlTG9naW5SZXN1bHRzO1xuICB1c2VyQWdlbnQ/OiBzdHJpbmc7XG4gIHdhaXRVbnRpbD86IFB1cHBldGVlckxpZmVDeWNsZUV2ZW50O1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRLZXlCeVZhbHVlKG9iamVjdDogUG9zc2libGVMb2dpblJlc3VsdHMsIHZhbHVlOiBzdHJpbmcsIHBhZ2U6IFBhZ2UpOiBQcm9taXNlPExvZ2luUmVzdWx0cz4ge1xuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBjb25kaXRpb25zID0gb2JqZWN0W2tleV07XG5cbiAgICBmb3IgKGNvbnN0IGNvbmRpdGlvbiBvZiBjb25kaXRpb25zKSB7XG4gICAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgICAgIGlmIChjb25kaXRpb24gaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgcmVzdWx0ID0gY29uZGl0aW9uLnRlc3QodmFsdWUpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY29uZGl0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJlc3VsdCA9IGF3YWl0IGNvbmRpdGlvbih7IHBhZ2UsIHZhbHVlIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gdmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gY29uZGl0aW9uLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGtleSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShMb2dpblJlc3VsdHMuVW5rbm93bkVycm9yKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlR2VuZXJhbEVycm9yKCk6IFNjcmFwZXJTY3JhcGluZ1Jlc3VsdCB7XG4gIHJldHVybiB7XG4gICAgc3VjY2VzczogZmFsc2UsXG4gICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmFsLFxuICB9O1xufVxuXG5jbGFzcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyPFRDcmVkZW50aWFscyBleHRlbmRzIFNjcmFwZXJDcmVkZW50aWFscz4gZXh0ZW5kcyBCYXNlU2NyYXBlcjxUQ3JlZGVudGlhbHM+IHtcbiAgcHJpdmF0ZSBjbGVhbnVwczogQXJyYXk8KCkgPT4gUHJvbWlzZTx2b2lkPj4gPSBbXTtcblxuICBwcml2YXRlIGRlZmF1bHRWaWV3cG9ydFNpemUgPSB7XG4gICAgd2lkdGg6IDEwMjQsXG4gICAgaGVpZ2h0OiA3NjgsXG4gIH07XG5cbiAgLy8gTk9USUNFIC0gaXQgaXMgZGlzY291cmFnZWQgdG8gdXNlIGJhbmcgKCEpIGluIGdlbmVyYWwuIEl0IGlzIHVzZWQgaGVyZSBiZWNhdXNlXG4gIC8vIGFsbCB0aGUgY2xhc3NlcyB0aGF0IGluaGVyaXQgZnJvbSB0aGlzIGJhc2UgYXNzdW1lIGlzIGl0IG1hbmRhdG9yeS5cbiAgcHJvdGVjdGVkIHBhZ2UhOiBQYWdlO1xuXG4gIHByb3RlY3RlZCBnZXRWaWV3UG9ydCgpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnZpZXdwb3J0U2l6ZSA/PyB0aGlzLmRlZmF1bHRWaWV3cG9ydFNpemU7XG4gIH1cblxuICBhc3luYyBpbml0aWFsaXplKCkge1xuICAgIGF3YWl0IHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICBkZWJ1ZygnaW5pdGlhbGl6ZSBzY3JhcGVyJyk7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NyYXBlclByb2dyZXNzVHlwZXMuSW5pdGlhbGl6aW5nKTtcblxuICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCB0aGlzLmluaXRpYWxpemVQYWdlKCk7XG4gICAgYXdhaXQgcGFnZS5zZXRDYWNoZUVuYWJsZWQoZmFsc2UpOyAvLyBDbGVhciBjYWNoZSBhbmQgYXZvaWQgMzAwJ3MgcmVzcG9uc2Ugc3RhdHVzXG5cbiAgICBpZiAoIXBhZ2UpIHtcbiAgICAgIGRlYnVnKCdmYWlsZWQgdG8gaW5pdGlhdGUgYSBicm93c2VyIHBhZ2UsIGV4aXQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnBhZ2UgPSBwYWdlO1xuXG4gICAgdGhpcy5jbGVhbnVwcy5wdXNoKCgpID0+IHBhZ2UuY2xvc2UoKSk7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmRlZmF1bHRUaW1lb3V0KSB7XG4gICAgICB0aGlzLnBhZ2Uuc2V0RGVmYXVsdFRpbWVvdXQodGhpcy5vcHRpb25zLmRlZmF1bHRUaW1lb3V0KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnByZXBhcmVQYWdlKSB7XG4gICAgICBkZWJ1ZyhcImV4ZWN1dGUgJ3ByZXBhcmVQYWdlJyBpbnRlcmNlcHRvciBwcm92aWRlZCBpbiBvcHRpb25zXCIpO1xuICAgICAgYXdhaXQgdGhpcy5vcHRpb25zLnByZXBhcmVQYWdlKHRoaXMucGFnZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgdmlld3BvcnQgPSB0aGlzLmdldFZpZXdQb3J0KCk7XG4gICAgZGVidWcoYHNldCB2aWV3cG9ydCB0byB3aWR0aCAke3ZpZXdwb3J0LndpZHRofSwgaGVpZ2h0ICR7dmlld3BvcnQuaGVpZ2h0fWApO1xuICAgIGF3YWl0IHRoaXMucGFnZS5zZXRWaWV3cG9ydCh7XG4gICAgICB3aWR0aDogdmlld3BvcnQud2lkdGgsXG4gICAgICBoZWlnaHQ6IHZpZXdwb3J0LmhlaWdodCxcbiAgICB9KTtcblxuICAgIHRoaXMucGFnZS5vbigncmVxdWVzdGZhaWxlZCcsIHJlcXVlc3QgPT4ge1xuICAgICAgZGVidWcoJ1JlcXVlc3QgZmFpbGVkOiAlcyAlcycsIHJlcXVlc3QuZmFpbHVyZSgpPy5lcnJvclRleHQsIHJlcXVlc3QudXJsKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBpbml0aWFsaXplUGFnZSgpIHtcbiAgICBkZWJ1ZygnaW5pdGlhbGl6ZSBicm93c2VyIHBhZ2UnKTtcbiAgICBpZiAoJ2Jyb3dzZXJDb250ZXh0JyBpbiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIGRlYnVnKCdVc2luZyB0aGUgYnJvd3NlciBjb250ZXh0IHByb3ZpZGVkIGluIG9wdGlvbnMnKTtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYnJvd3NlckNvbnRleHQubmV3UGFnZSgpO1xuICAgIH1cblxuICAgIGlmICgnYnJvd3NlcicgaW4gdGhpcy5vcHRpb25zKSB7XG4gICAgICBkZWJ1ZygnVXNpbmcgdGhlIGJyb3dzZXIgaW5zdGFuY2UgcHJvdmlkZWQgaW4gb3B0aW9ucycpO1xuICAgICAgY29uc3QgeyBicm93c2VyIH0gPSB0aGlzLm9wdGlvbnM7XG5cbiAgICAgIC8qKlxuICAgICAgICogRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlIHdpbGwgY2xvc2UgdGhlIGJyb3dzZXIgZXZlbiBpZiB3ZSBkaWRuJ3QgY3JlYXRlIGl0XG4gICAgICAgKi9cbiAgICAgIGlmICghdGhpcy5vcHRpb25zLnNraXBDbG9zZUJyb3dzZXIpIHtcbiAgICAgICAgdGhpcy5jbGVhbnVwcy5wdXNoKGFzeW5jICgpID0+IHtcbiAgICAgICAgICBkZWJ1ZygnY2xvc2luZyB0aGUgYnJvd3NlcicpO1xuICAgICAgICAgIGF3YWl0IGJyb3dzZXIuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBicm93c2VyLm5ld1BhZ2UoKTtcbiAgICB9XG5cbiAgICBjb25zdCB7IHRpbWVvdXQsIGFyZ3MsIGV4ZWN1dGFibGVQYXRoLCBzaG93QnJvd3NlciB9ID0gdGhpcy5vcHRpb25zO1xuXG4gICAgY29uc3QgaGVhZGxlc3MgPSAhc2hvd0Jyb3dzZXI7XG4gICAgZGVidWcoYGxhdW5jaCBhIGJyb3dzZXIgd2l0aCBoZWFkbGVzcyBtb2RlID0gJHtoZWFkbGVzc31gKTtcblxuICAgIGNvbnN0IGJyb3dzZXIgPSBhd2FpdCBwdXBwZXRlZXIubGF1bmNoKHtcbiAgICAgIGVudjogdGhpcy5vcHRpb25zLnZlcmJvc2UgPyB7IERFQlVHOiAnKicsIC4uLnByb2Nlc3MuZW52IH0gOiB1bmRlZmluZWQsXG4gICAgICBoZWFkbGVzcyxcbiAgICAgIGV4ZWN1dGFibGVQYXRoLFxuICAgICAgYXJncyxcbiAgICAgIHRpbWVvdXQsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNsZWFudXBzLnB1c2goYXN5bmMgKCkgPT4ge1xuICAgICAgZGVidWcoJ2Nsb3NpbmcgdGhlIGJyb3dzZXInKTtcbiAgICAgIGF3YWl0IGJyb3dzZXIuY2xvc2UoKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm9wdGlvbnMucHJlcGFyZUJyb3dzZXIpIHtcbiAgICAgIGRlYnVnKFwiZXhlY3V0ZSAncHJlcGFyZUJyb3dzZXInIGludGVyY2VwdG9yIHByb3ZpZGVkIGluIG9wdGlvbnNcIik7XG4gICAgICBhd2FpdCB0aGlzLm9wdGlvbnMucHJlcGFyZUJyb3dzZXIoYnJvd3Nlcik7XG4gICAgfVxuXG4gICAgZGVidWcoJ2NyZWF0ZSBhIG5ldyBicm93c2VyIHBhZ2UnKTtcbiAgICByZXR1cm4gYnJvd3Nlci5uZXdQYWdlKCk7XG4gIH1cblxuICBhc3luYyBuYXZpZ2F0ZVRvKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHdhaXRVbnRpbDogUHVwcGV0ZWVyTGlmZUN5Y2xlRXZlbnQgfCB1bmRlZmluZWQgPSAnbG9hZCcsXG4gICAgcmV0cmllcyA9IHRoaXMub3B0aW9ucy5uYXZpZ2F0aW9uUmV0cnlDb3VudCA/PyAwLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucGFnZT8uZ290byh1cmwsIHsgd2FpdFVudGlsIH0pO1xuICAgIGlmIChyZXNwb25zZSA9PT0gbnVsbCkge1xuICAgICAgLy8gbm90ZTogcmVzcG9uc2Ugd2lsbCBiZSBudWxsIHdoZW4gbmF2aWdhdGluZyB0byBzYW1lIHVybCB3aGlsZSBjaGFuZ2luZyB0aGUgaGFzaCBwYXJ0LlxuICAgICAgLy8gdGhlIGNvbmRpdGlvbiBiZWxvdyB3aWxsIGFsd2F5cyBhY2NlcHQgbnVsbCBhcyB2YWxpZCByZXN1bHQuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciB3aGlsZSB0cnlpbmcgdG8gbmF2aWdhdGUgdG8gdXJsICR7dXJsfSwgcmVzcG9uc2UgaXMgdW5kZWZpbmVkYCk7XG4gICAgfVxuXG4gICAgaWYgKCFyZXNwb25zZS5vaygpKSB7XG4gICAgICBjb25zdCBzdGF0dXMgPSByZXNwb25zZS5zdGF0dXMoKTtcbiAgICAgIGlmIChyZXRyaWVzID4gMCkge1xuICAgICAgICBkZWJ1ZyhgRmFpbGVkIHRvIG5hdmlnYXRlIHRvIHVybCAke3VybH0sIHN0YXR1cyBjb2RlOiAke3N0YXR1c30sIHJldHJ5aW5nICR7cmV0cmllc30gbW9yZSB0aW1lc2ApO1xuICAgICAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG8odXJsLCB3YWl0VW50aWwsIHJldHJpZXMgLSAxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIG5hdmlnYXRlIHRvIHVybCAke3VybH0sIHN0YXR1cyBjb2RlOiAke3N0YXR1c31gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGdldExvZ2luT3B0aW9ucyhfY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscyk6IExvZ2luT3B0aW9ucyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBnZXRMb2dpbk9wdGlvbnMoKSBpcyBub3QgY3JlYXRlZCBpbiAke3RoaXMub3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cblxuICBhc3luYyBmaWxsSW5wdXRzKHBhZ2VPckZyYW1lOiBQYWdlIHwgRnJhbWUsIGZpZWxkczogeyBzZWxlY3Rvcjogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1vZGlmaWVkID0gWy4uLmZpZWxkc107XG4gICAgY29uc3QgaW5wdXQgPSBtb2RpZmllZC5zaGlmdCgpO1xuXG4gICAgaWYgKCFpbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCBmaWxsSW5wdXQocGFnZU9yRnJhbWUsIGlucHV0LnNlbGVjdG9yLCBpbnB1dC52YWx1ZSk7XG4gICAgaWYgKG1vZGlmaWVkLmxlbmd0aCkge1xuICAgICAgYXdhaXQgdGhpcy5maWxsSW5wdXRzKHBhZ2VPckZyYW1lLCBtb2RpZmllZCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9naW4oY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscyk6IFByb21pc2U8U2NyYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgaWYgKCFjcmVkZW50aWFscyB8fCAhdGhpcy5wYWdlKSB7XG4gICAgICByZXR1cm4gY3JlYXRlR2VuZXJhbEVycm9yKCk7XG4gICAgfVxuXG4gICAgZGVidWcoJ2V4ZWN1dGUgbG9naW4gcHJvY2VzcycpO1xuICAgIGNvbnN0IGxvZ2luT3B0aW9ucyA9IHRoaXMuZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzKTtcblxuICAgIGlmIChsb2dpbk9wdGlvbnMudXNlckFnZW50KSB7XG4gICAgICBkZWJ1Zygnc2V0IGN1c3RvbSB1c2VyIGFnZW50IHByb3ZpZGVkIGluIG9wdGlvbnMnKTtcbiAgICAgIGF3YWl0IHRoaXMucGFnZS5zZXRVc2VyQWdlbnQobG9naW5PcHRpb25zLnVzZXJBZ2VudCk7XG4gICAgfVxuXG4gICAgZGVidWcoJ25hdmlnYXRlIHRvIGxvZ2luIHVybCcpO1xuICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUbyhsb2dpbk9wdGlvbnMubG9naW5VcmwsIGxvZ2luT3B0aW9ucy53YWl0VW50aWwpO1xuICAgIGlmIChsb2dpbk9wdGlvbnMuY2hlY2tSZWFkaW5lc3MpIHtcbiAgICAgIGRlYnVnKFwiZXhlY3V0ZSAnY2hlY2tSZWFkaW5lc3MnIGludGVyY2VwdG9yIHByb3ZpZGVkIGluIGxvZ2luIG9wdGlvbnNcIik7XG4gICAgICBhd2FpdCBsb2dpbk9wdGlvbnMuY2hlY2tSZWFkaW5lc3MoKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBsb2dpbk9wdGlvbnMuc3VibWl0QnV0dG9uU2VsZWN0b3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBkZWJ1Zygnd2FpdCB1bnRpbCBzdWJtaXQgYnV0dG9uIGlzIGF2YWlsYWJsZScpO1xuICAgICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgbG9naW5PcHRpb25zLnN1Ym1pdEJ1dHRvblNlbGVjdG9yKTtcbiAgICB9XG5cbiAgICBsZXQgbG9naW5GcmFtZU9yUGFnZTogUGFnZSB8IEZyYW1lIHwgbnVsbCA9IHRoaXMucGFnZTtcbiAgICBpZiAobG9naW5PcHRpb25zLnByZUFjdGlvbikge1xuICAgICAgZGVidWcoXCJleGVjdXRlICdwcmVBY3Rpb24nIGludGVyY2VwdG9yIHByb3ZpZGVkIGluIGxvZ2luIG9wdGlvbnNcIik7XG4gICAgICBsb2dpbkZyYW1lT3JQYWdlID0gKGF3YWl0IGxvZ2luT3B0aW9ucy5wcmVBY3Rpb24oKSkgfHwgdGhpcy5wYWdlO1xuICAgIH1cblxuICAgIGRlYnVnKCdmaWxsIGxvZ2luIGNvbXBvbmVudHMgaW5wdXQgd2l0aCByZWxldmFudCB2YWx1ZXMnKTtcbiAgICBhd2FpdCB0aGlzLmZpbGxJbnB1dHMobG9naW5GcmFtZU9yUGFnZSwgbG9naW5PcHRpb25zLmZpZWxkcyk7XG4gICAgZGVidWcoJ2NsaWNrIG9uIGxvZ2luIHN1Ym1pdCBidXR0b24nKTtcbiAgICBpZiAodHlwZW9mIGxvZ2luT3B0aW9ucy5zdWJtaXRCdXR0b25TZWxlY3RvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKGxvZ2luRnJhbWVPclBhZ2UsIGxvZ2luT3B0aW9ucy5zdWJtaXRCdXR0b25TZWxlY3Rvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IGxvZ2luT3B0aW9ucy5zdWJtaXRCdXR0b25TZWxlY3RvcigpO1xuICAgIH1cbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY3JhcGVyUHJvZ3Jlc3NUeXBlcy5Mb2dnaW5nSW4pO1xuXG4gICAgaWYgKGxvZ2luT3B0aW9ucy5wb3N0QWN0aW9uKSB7XG4gICAgICBkZWJ1ZyhcImV4ZWN1dGUgJ3Bvc3RBY3Rpb24nIGludGVyY2VwdG9yIHByb3ZpZGVkIGluIGxvZ2luIG9wdGlvbnNcIik7XG4gICAgICBhd2FpdCBsb2dpbk9wdGlvbnMucG9zdEFjdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWJ1Zygnd2FpdCBmb3IgcGFnZSBuYXZpZ2F0aW9uJyk7XG4gICAgICBhd2FpdCB3YWl0Rm9yTmF2aWdhdGlvbih0aGlzLnBhZ2UpO1xuICAgIH1cblxuICAgIGRlYnVnKCdjaGVjayBsb2dpbiByZXN1bHQnKTtcbiAgICBjb25zdCBjdXJyZW50ID0gYXdhaXQgZ2V0Q3VycmVudFVybCh0aGlzLnBhZ2UsIHRydWUpO1xuICAgIGNvbnN0IGxvZ2luUmVzdWx0ID0gYXdhaXQgZ2V0S2V5QnlWYWx1ZShsb2dpbk9wdGlvbnMucG9zc2libGVSZXN1bHRzLCBjdXJyZW50LCB0aGlzLnBhZ2UpO1xuICAgIGRlYnVnKGBoYW5kbGUgbG9naW4gcmVzdWx0cyAke2xvZ2luUmVzdWx0fWApO1xuICAgIHJldHVybiB0aGlzLmhhbmRsZUxvZ2luUmVzdWx0KGxvZ2luUmVzdWx0KTtcbiAgfVxuXG4gIGFzeW5jIHRlcm1pbmF0ZShfc3VjY2VzczogYm9vbGVhbikge1xuICAgIGRlYnVnKGB0ZXJtaW5hdGluZyBicm93c2VyIHdpdGggc3VjY2VzcyA9ICR7X3N1Y2Nlc3N9YCk7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NyYXBlclByb2dyZXNzVHlwZXMuVGVybWluYXRpbmcpO1xuXG4gICAgaWYgKCFfc3VjY2VzcyAmJiAhIXRoaXMub3B0aW9ucy5zdG9yZUZhaWx1cmVTY3JlZW5TaG90UGF0aCkge1xuICAgICAgZGVidWcoYGNyZWF0ZSBhIHNuYXBzaG90IGJlZm9yZSB0ZXJtaW5hdGVkIGluICR7dGhpcy5vcHRpb25zLnN0b3JlRmFpbHVyZVNjcmVlblNob3RQYXRofWApO1xuICAgICAgYXdhaXQgdGhpcy5wYWdlLnNjcmVlbnNob3Qoe1xuICAgICAgICBwYXRoOiB0aGlzLm9wdGlvbnMuc3RvcmVGYWlsdXJlU2NyZWVuU2hvdFBhdGgsXG4gICAgICAgIGZ1bGxQYWdlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5jbGVhbnVwcy5yZXZlcnNlKCkubWFwKGNsZWFudXAgPT4gY2xlYW51cCgpKSk7XG4gICAgdGhpcy5jbGVhbnVwcyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVMb2dpblJlc3VsdChsb2dpblJlc3VsdDogTG9naW5SZXN1bHRzKSB7XG4gICAgc3dpdGNoIChsb2dpblJlc3VsdCkge1xuICAgICAgY2FzZSBMb2dpblJlc3VsdHMuU3VjY2VzczpcbiAgICAgICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NyYXBlclByb2dyZXNzVHlwZXMuTG9naW5TdWNjZXNzKTtcbiAgICAgICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSB9O1xuICAgICAgY2FzZSBMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkOlxuICAgICAgY2FzZSBMb2dpblJlc3VsdHMuVW5rbm93bkVycm9yOlxuICAgICAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY3JhcGVyUHJvZ3Jlc3NUeXBlcy5Mb2dpbkZhaWxlZCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgICAgZXJyb3JUeXBlOlxuICAgICAgICAgICAgbG9naW5SZXN1bHQgPT09IExvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRcbiAgICAgICAgICAgICAgPyBTY3JhcGVyRXJyb3JUeXBlcy5JbnZhbGlkUGFzc3dvcmRcbiAgICAgICAgICAgICAgOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmFsLFxuICAgICAgICAgIGVycm9yTWVzc2FnZTogYExvZ2luIGZhaWxlZCB3aXRoICR7bG9naW5SZXN1bHR9IGVycm9yYCxcbiAgICAgICAgfTtcbiAgICAgIGNhc2UgTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkOlxuICAgICAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY3JhcGVyUHJvZ3Jlc3NUeXBlcy5DaGFuZ2VQYXNzd29yZCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5DaGFuZ2VQYXNzd29yZCxcbiAgICAgICAgfTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgdW5leHBlY3RlZCBsb2dpbiByZXN1bHQgXCIke2xvZ2luUmVzdWx0fVwiYCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcscUJBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFlBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE9BQUEsR0FBQU4sT0FBQTtBQUE2QyxTQUFBRCx1QkFBQVEsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUc3QyxNQUFNRyxLQUFLLEdBQUcsSUFBQUMsZUFBUSxFQUFDLDJCQUEyQixDQUFDO0FBQUMsSUFFL0NDLGdCQUFnQiwwQkFBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0I7RUFBQSxPQUFoQkEsZ0JBQWdCO0FBQUEsRUFBaEJBLGdCQUFnQjtBQUtyQixNQUFNO0VBQUVDLE9BQU87RUFBRUMsT0FBTztFQUFFQyxPQUFPO0VBQUUsR0FBR0M7QUFBSyxDQUFDLEdBQUdDLHlCQUFpQjtBQUN6RCxNQUFNQyxZQUFZLEdBQUFDLE9BQUEsQ0FBQUQsWUFB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
@@ -1,13 +1,7 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.promise.js");
4
3
  var _testsUtils = require("../tests/tests-utils");
5
4
  var _baseScraperWithBrowser = require("./base-scraper-with-browser");
6
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
9
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
10
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
5
  const testsConfig = (0, _testsUtils.getTestsConfig)();
12
6
  function isNoSandbox(browser) {
13
7
  // eslint-disable-next-line no-underscore-dangle
@@ -19,11 +13,12 @@ describe('Base scraper with browser', () => {
19
13
  (0, _testsUtils.extendAsyncTimeout)(); // The default timeout is 5 seconds per async test, this function extends the timeout value
20
14
  });
21
15
  xtest('should pass custom args to scraper if provided', async () => {
22
- const options = _objectSpread(_objectSpread({}, testsConfig.options), {}, {
16
+ const options = {
17
+ ...testsConfig.options,
23
18
  companyId: 'test',
24
19
  showBrowser: false,
25
20
  args: []
26
- });
21
+ };
27
22
 
28
23
  // avoid false-positive result by confirming that --no-sandbox is not a default flag provided by puppeteer
29
24
  let baseScraperWithBrowser = new _baseScraperWithBrowser.BaseScraperWithBrowser(options);
@@ -55,4 +50,4 @@ describe('Base scraper with browser', () => {
55
50
  }
56
51
  });
57
52
  });
58
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdHNVdGlscyIsInJlcXVpcmUiLCJfYmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwidGVzdHNDb25maWciLCJnZXRUZXN0c0NvbmZpZyIsImlzTm9TYW5kYm94IiwiYnJvd3NlciIsImFyZ3MiLCJfcHJvY2VzcyIsInNwYXduYXJncyIsImluY2x1ZGVzIiwiZGVzY3JpYmUiLCJiZWZvcmVBbGwiLCJleHRlbmRBc3luY1RpbWVvdXQiLCJ4dGVzdCIsIm9wdGlvbnMiLCJjb21wYW55SWQiLCJzaG93QnJvd3NlciIsImJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiaW5pdGlhbGl6ZSIsImV4cGVjdCIsInRvQmVEZWZpbmVkIiwidG9CZSIsInRlcm1pbmF0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyLnRlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZXh0ZW5kQXN5bmNUaW1lb3V0LCBnZXRUZXN0c0NvbmZpZyxcbn0gZnJvbSAnLi4vdGVzdHMvdGVzdHMtdXRpbHMnO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5cbmNvbnN0IHRlc3RzQ29uZmlnID0gZ2V0VGVzdHNDb25maWcoKTtcblxuZnVuY3Rpb24gaXNOb1NhbmRib3goYnJvd3NlcjogYW55KSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICBjb25zdCBhcmdzID0gYnJvd3Nlci5fcHJvY2Vzcy5zcGF3bmFyZ3M7XG4gIHJldHVybiBhcmdzLmluY2x1ZGVzKCctLW5vLXNhbmRib3gnKTtcbn1cblxuZGVzY3JpYmUoJ0Jhc2Ugc2NyYXBlciB3aXRoIGJyb3dzZXInLCAoKSA9PiB7XG4gIGJlZm9yZUFsbCgoKSA9PiB7XG4gICAgZXh0ZW5kQXN5bmNUaW1lb3V0KCk7IC8vIFRoZSBkZWZhdWx0IHRpbWVvdXQgaXMgNSBzZWNvbmRzIHBlciBhc3luYyB0ZXN0LCB0aGlzIGZ1bmN0aW9uIGV4dGVuZHMgdGhlIHRpbWVvdXQgdmFsdWVcbiAgfSk7XG5cbiAgeHRlc3QoJ3Nob3VsZCBwYXNzIGN1c3RvbSBhcmdzIHRvIHNjcmFwZXIgaWYgcHJvdmlkZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICBjb21wYW55SWQ6ICd0ZXN0JyxcbiAgICAgIHNob3dCcm93c2VyOiBmYWxzZSxcbiAgICAgIGFyZ3M6IFtdLFxuICAgIH07XG5cbiAgICAvLyBhdm9pZCBmYWxzZS1wb3NpdGl2ZSByZXN1bHQgYnkgY29uZmlybWluZyB0aGF0IC0tbm8tc2FuZGJveCBpcyBub3QgYSBkZWZhdWx0IGZsYWcgcHJvdmlkZWQgYnkgcHVwcGV0ZWVyXG4gICAgbGV0IGJhc2VTY3JhcGVyV2l0aEJyb3dzZXIgPSBuZXcgQmFzZVNjcmFwZXJXaXRoQnJvd3NlcihvcHRpb25zKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgYmFzZVNjcmFwZXJXaXRoQnJvd3Nlci5pbml0aWFsaXplKCk7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QoYmFzZVNjcmFwZXJXaXRoQnJvd3Nlci5icm93c2VyKS50b0JlRGVmaW5lZCgpO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KGlzTm9TYW5kYm94KGJhc2VTY3JhcGVyV2l0aEJyb3dzZXIuYnJvd3NlcikpLnRvQmUoZmFsc2UpO1xuICAgICAgYXdhaXQgYmFzZVNjcmFwZXJXaXRoQnJvd3Nlci50ZXJtaW5hdGUodHJ1ZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYXdhaXQgYmFzZVNjcmFwZXJXaXRoQnJvd3Nlci50ZXJtaW5hdGUoZmFsc2UpO1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG5cbiAgICAvLyBzZXQgLS1uby1zYW5kYm94IGZsYWcgYW5kIGV4cGVjdCBpdCB0byBiZSBwYXNzZWQgYnkgcHVwcGV0ZWVyLmx1bmNoIHRvIHRoZSBuZXcgY3JlYXRlZCBicm93c2VyIGluc3RhbmNlXG4gICAgb3B0aW9ucy5hcmdzID0gW1xuICAgICAgJy0tbm8tc2FuZGJveCcsXG4gICAgICAnLS1kaXNhYmxlLWdwdScsXG4gICAgICAnLS13aW5kb3ctc2l6ZT0xOTIweDEwODAnLFxuICAgIF07XG4gICAgYmFzZVNjcmFwZXJXaXRoQnJvd3NlciA9IG5ldyBCYXNlU2NyYXBlcldpdGhCcm93c2VyKG9wdGlvbnMpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBiYXNlU2NyYXBlcldpdGhCcm93c2VyLmluaXRpYWxpemUoKTtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdChiYXNlU2NyYXBlcldpdGhCcm93c2VyLmJyb3dzZXIpLnRvQmVEZWZpbmVkKCk7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QoaXNOb1NhbmRib3goYmFzZVNjcmFwZXJXaXRoQnJvd3Nlci5icm93c2VyKSkudG9CZSh0cnVlKTtcbiAgICAgIGF3YWl0IGJhc2VTY3JhcGVyV2l0aEJyb3dzZXIudGVybWluYXRlKHRydWUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGF3YWl0IGJhc2VTY3JhcGVyV2l0aEJyb3dzZXIudGVybWluYXRlKGZhbHNlKTtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUFHQSxJQUFBQyx1QkFBQSxHQUFBRCxPQUFBO0FBQXFFLFNBQUFFLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFDLE1BQUEsRUFBQWIsQ0FBQSxVQUFBQyxDQUFBLFdBQUFXLFNBQUEsQ0FBQVosQ0FBQSxJQUFBWSxTQUFBLENBQUFaLENBQUEsUUFBQUEsQ0FBQSxPQUFBRixPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxPQUFBYSxPQUFBLFdBQUFkLENBQUEsSUFBQWUsZUFBQSxDQUFBaEIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBRSxNQUFBLENBQUFjLHlCQUFBLEdBQUFkLE1BQUEsQ0FBQWUsZ0JBQUEsQ0FBQWxCLENBQUEsRUFBQUcsTUFBQSxDQUFBYyx5QkFB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
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdHNVdGlscyIsInJlcXVpcmUiLCJfYmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsInRlc3RzQ29uZmlnIiwiZ2V0VGVzdHNDb25maWciLCJpc05vU2FuZGJveCIsImJyb3dzZXIiLCJhcmdzIiwiX3Byb2Nlc3MiLCJzcGF3bmFyZ3MiLCJpbmNsdWRlcyIsImRlc2NyaWJlIiwiYmVmb3JlQWxsIiwiZXh0ZW5kQXN5bmNUaW1lb3V0IiwieHRlc3QiLCJvcHRpb25zIiwiY29tcGFueUlkIiwic2hvd0Jyb3dzZXIiLCJiYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImluaXRpYWxpemUiLCJleHBlY3QiLCJ0b0JlRGVmaW5lZCIsInRvQmUiLCJ0ZXJtaW5hdGUiLCJlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmFwZXJzL2Jhc2Utc2NyYXBlci13aXRoLWJyb3dzZXIudGVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleHRlbmRBc3luY1RpbWVvdXQsIGdldFRlc3RzQ29uZmlnIH0gZnJvbSAnLi4vdGVzdHMvdGVzdHMtdXRpbHMnO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5cbmNvbnN0IHRlc3RzQ29uZmlnID0gZ2V0VGVzdHNDb25maWcoKTtcblxuZnVuY3Rpb24gaXNOb1NhbmRib3goYnJvd3NlcjogYW55KSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICBjb25zdCBhcmdzID0gYnJvd3Nlci5fcHJvY2Vzcy5zcGF3bmFyZ3M7XG4gIHJldHVybiBhcmdzLmluY2x1ZGVzKCctLW5vLXNhbmRib3gnKTtcbn1cblxuZGVzY3JpYmUoJ0Jhc2Ugc2NyYXBlciB3aXRoIGJyb3dzZXInLCAoKSA9PiB7XG4gIGJlZm9yZUFsbCgoKSA9PiB7XG4gICAgZXh0ZW5kQXN5bmNUaW1lb3V0KCk7IC8vIFRoZSBkZWZhdWx0IHRpbWVvdXQgaXMgNSBzZWNvbmRzIHBlciBhc3luYyB0ZXN0LCB0aGlzIGZ1bmN0aW9uIGV4dGVuZHMgdGhlIHRpbWVvdXQgdmFsdWVcbiAgfSk7XG5cbiAgeHRlc3QoJ3Nob3VsZCBwYXNzIGN1c3RvbSBhcmdzIHRvIHNjcmFwZXIgaWYgcHJvdmlkZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICBjb21wYW55SWQ6ICd0ZXN0JyxcbiAgICAgIHNob3dCcm93c2VyOiBmYWxzZSxcbiAgICAgIGFyZ3M6IFtdLFxuICAgIH07XG5cbiAgICAvLyBhdm9pZCBmYWxzZS1wb3NpdGl2ZSByZXN1bHQgYnkgY29uZmlybWluZyB0aGF0IC0tbm8tc2FuZGJveCBpcyBub3QgYSBkZWZhdWx0IGZsYWcgcHJvdmlkZWQgYnkgcHVwcGV0ZWVyXG4gICAgbGV0IGJhc2VTY3JhcGVyV2l0aEJyb3dzZXIgPSBuZXcgQmFzZVNjcmFwZXJXaXRoQnJvd3NlcihvcHRpb25zKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgYmFzZVNjcmFwZXJXaXRoQnJvd3Nlci5pbml0aWFsaXplKCk7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QoYmFzZVNjcmFwZXJXaXRoQnJvd3Nlci5icm93c2VyKS50b0JlRGVmaW5lZCgpO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KGlzTm9TYW5kYm94KGJhc2VTY3JhcGVyV2l0aEJyb3dzZXIuYnJvd3NlcikpLnRvQmUoZmFsc2UpO1xuICAgICAgYXdhaXQgYmFzZVNjcmFwZXJXaXRoQnJvd3Nlci50ZXJtaW5hdGUodHJ1ZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYXdhaXQgYmFzZVNjcmFwZXJXaXRoQnJvd3Nlci50ZXJtaW5hdGUoZmFsc2UpO1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG5cbiAgICAvLyBzZXQgLS1uby1zYW5kYm94IGZsYWcgYW5kIGV4cGVjdCBpdCB0byBiZSBwYXNzZWQgYnkgcHVwcGV0ZWVyLmx1bmNoIHRvIHRoZSBuZXcgY3JlYXRlZCBicm93c2VyIGluc3RhbmNlXG4gICAgb3B0aW9ucy5hcmdzID0gWyctLW5vLXNhbmRib3gnLCAnLS1kaXNhYmxlLWdwdScsICctLXdpbmRvdy1zaXplPTE5MjB4MTA4MCddO1xuICAgIGJhc2VTY3JhcGVyV2l0aEJyb3dzZXIgPSBuZXcgQmFzZVNjcmFwZXJXaXRoQnJvd3NlcihvcHRpb25zKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgYmFzZVNjcmFwZXJXaXRoQnJvd3Nlci5pbml0aWFsaXplKCk7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QoYmFzZVNjcmFwZXJXaXRoQnJvd3Nlci5icm93c2VyKS50b0JlRGVmaW5lZCgpO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KGlzTm9TYW5kYm94KGJhc2VTY3JhcGVyV2l0aEJyb3dzZXIuYnJvd3NlcikpLnRvQmUodHJ1ZSk7XG4gICAgICBhd2FpdCBiYXNlU2NyYXBlcldpdGhCcm93c2VyLnRlcm1pbmF0ZSh0cnVlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBhd2FpdCBiYXNlU2NyYXBlcldpdGhCcm93c2VyLnRlcm1pbmF0ZShmYWxzZSk7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyx1QkFBQSxHQUFBRCxPQUFBO0FBRUEsTUFBTUUsV0FBVyxHQUFHLElBQUFDLDBCQUFjLEVBQUMsQ0FBQztBQUVwQyxTQUFTQyxXQUFXQSxDQUFDQyxPQUFZLEVBQUU7RUFDakM7RUFDQSxNQUFNQyxJQUFJLEdBQUdELE9BQU8sQ0FBQ0UsUUFBUSxDQUFDQyxTQUFTO0VBQ3ZDLE9BQU9GLElBQUksQ0FBQ0csUUFBUSxDQUFDLGNBQWMsQ0FBQztBQUN0QztBQUVBQyxRQUFRLENBQUMsMkJBQTJCLEVBQUUsTUFBTTtFQUMxQ0MsU0FBUyxDQUFDLE1BQU07SUFDZCxJQUFBQyw4QkFBa0IsRUFBQyxDQUFDLENBQUMsQ0FBQztFQUN4QixDQUFDLENBQUM7RUFFRkMsS0FBSyxDQUFDLGdEQUFnRCxFQUFFLFlBQVk7SUFDbEUsTUFBTUMsT0FBTyxHQUFHO01BQ2QsR0FBR1osV0FBVyxDQUFDWSxPQUFPO01BQ3RCQyxTQUFTLEVBQUUsTUFBTTtNQUNqQkMsV0FBVyxFQUFFLEtBQUs7TUFDbEJWLElBQUksRUFBRTtJQUNSLENBQUM7O0lBRUQ7SUFDQSxJQUFJVyxzQkFBc0IsR0FBRyxJQUFJQyw4Q0FBc0IsQ0FBQ0osT0FBTyxDQUFDO0lBQ2hFLElBQUk7TUFDRixNQUFNRyxzQkFBc0IsQ0FBQ0UsVUFBVSxDQUFDLENBQUM7TUFDekM7TUFDQUMsTUFBTSxDQUFDSCxzQkFBc0IsQ0FBQ1osT0FBTyxDQUFDLENBQUNnQixXQUFXLENBQUMsQ0FBQztNQUNwRDtNQUNBRCxNQUFNLENBQUNoQixXQUFXLENBQUNhLHNCQUFzQixDQUFDWixPQUFPLENBQUMsQ0FBQyxDQUFDaUIsSUFBSSxDQUFDLEtBQUssQ0FBQztNQUMvRCxNQUFNTCxzQkFBc0IsQ0FBQ00sU0FBUyxDQUFDLElBQUksQ0FBQztJQUM5QyxDQUFDLENBQUMsT0FBT0MsQ0FBQyxFQUFFO01BQ1YsTUFBTVAsc0JBQXNCLENBQUNNLFNBQVMsQ0FBQyxLQUFLLENBQUM7TUFDN0MsTUFBTUMsQ0FBQztJQUNUOztJQUVBO0lBQ0FWLE9BQU8sQ0FBQ1IsSUFBSSxHQUFHLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSx5QkFBeUIsQ0FBQztJQUMzRVcsc0JBQXNCLEdBQUcsSUFBSUMsOENBQXNCLENBQUNKLE9BQU8sQ0FBQztJQUM1RCxJQUFJO01BQ0YsTUFBTUcsc0JBQXNCLENBQUNFLFVBQVUsQ0FBQyxDQUFDO01BQ3pDO01BQ0FDLE1BQU0sQ0FBQ0gsc0JBQXNCLENBQUNaLE9BQU8sQ0FBQyxDQUFDZ0IsV0FBVyxDQUFDLENBQUM7TUFDcEQ7TUFDQUQsTUFBTSxDQUFDaEIsV0FBVyxDQUFDYSxzQkFBc0IsQ0FBQ1osT0FBTyxDQUFDLENBQUMsQ0FBQ2lCLElBQUksQ0FBQyxJQUFJLENBQUM7TUFDOUQsTUFBTUwsc0JBQXNCLENBQUNNLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDOUMsQ0FBQyxDQUFDLE9BQU9DLENBQUMsRUFBRTtNQUNWLE1BQU1QLHNCQUFzQixDQUFDTSxTQUFTLENBQUMsS0FBSyxDQUFDO01BQzdDLE1BQU1DLENBQUM7SUFDVDtFQUNGLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -4,21 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.BaseScraper = void 0;
7
- require("core-js/modules/es.promise.js");
8
7
  var _events = require("events");
9
8
  var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
10
9
  var _definitions = require("../definitions");
11
10
  var _waiting = require("../helpers/waiting");
12
11
  var _errors = require("./errors");
13
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
15
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
16
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
13
  const SCRAPE_PROGRESS = 'SCRAPE_PROGRESS';
18
14
  class BaseScraper {
15
+ eventEmitter = new _events.EventEmitter();
19
16
  constructor(options) {
20
17
  this.options = options;
21
- _defineProperty(this, "eventEmitter", new _events.EventEmitter());
22
18
  }
23
19
 
24
20
  // eslint-disable-next-line @typescript-eslint/require-await
@@ -92,4 +88,4 @@ class BaseScraper {
92
88
  }
93
89
  }
94
90
  exports.BaseScraper = BaseScraper;
95
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwicmVxdWlyZSIsIl9tb21lbnRUaW1lem9uZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZGVmaW5pdGlvbnMiLCJfd2FpdGluZyIsIl9lcnJvcnMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZGVmaW5lUHJvcGVydHkiLCJyIiwidCIsIl90b1Byb3BlcnR5S2V5IiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImkiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJTQ1JBUEVfUFJPR1JFU1MiLCJCYXNlU2NyYXBlciIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsIkV2ZW50RW1pdHRlciIsImluaXRpYWxpemUiLCJlbWl0UHJvZ3Jlc3MiLCJTY3JhcGVyUHJvZ3Jlc3NUeXBlcyIsIkluaXRpYWxpemluZyIsIm1vbWVudCIsInR6Iiwic2V0RGVmYXVsdCIsInNjcmFwZSIsImNyZWRlbnRpYWxzIiwiU3RhcnRTY3JhcGluZyIsImxvZ2luUmVzdWx0IiwibG9naW4iLCJUaW1lb3V0RXJyb3IiLCJjcmVhdGVUaW1lb3V0RXJyb3IiLCJtZXNzYWdlIiwiY3JlYXRlR2VuZXJpY0Vycm9yIiwic2NyYXBlUmVzdWx0Iiwic3VjY2VzcyIsImZldGNoRGF0YSIsInRlcm1pbmF0ZSIsIkVuZFNjcmFwaW5nIiwidHJpZ2dlclR3b0ZhY3RvckF1dGgiLCJfcGhvbmVOdW1iZXIiLCJFcnJvciIsImNvbXBhbnlJZCIsImdldExvbmdUZXJtVHdvRmFjdG9yVG9rZW4iLCJfb3RwQ29kZSIsIl9jcmVkZW50aWFscyIsIl9zdWNjZXNzIiwiVGVybWluYXRpbmciLCJ0eXBlIiwiZW1pdCIsImV2ZW50TmFtZSIsInBheWxvYWQiLCJldmVudEVtaXR0ZXIiLCJvblByb2dyZXNzIiwiZnVuYyIsIm9uIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IHR5cGUgQ29tcGFueVR5cGVzLCBTY3JhcGVyUHJvZ3Jlc3NUeXBlcyB9IGZyb20gJy4uL2RlZmluaXRpb25zJztcbmltcG9ydCB7IFRpbWVvdXRFcnJvciB9IGZyb20gJy4uL2hlbHBlcnMvd2FpdGluZyc7XG5pbXBvcnQgeyBjcmVhdGVHZW5lcmljRXJyb3IsIGNyZWF0ZVRpbWVvdXRFcnJvciB9IGZyb20gJy4vZXJyb3JzJztcbmltcG9ydCB7XG4gIHR5cGUgU2NyYXBlcixcbiAgdHlwZSBTY3JhcGVyQ3JlZGVudGlhbHMsXG4gIHR5cGUgU2NyYXBlckdldExvbmdUZXJtVHdvRmFjdG9yVG9rZW5SZXN1bHQsXG4gIHR5cGUgU2NyYXBlckxvZ2luUmVzdWx0LFxuICB0eXBlIFNjcmFwZXJPcHRpb25zLFxuICB0eXBlIFNjcmFwZXJTY3JhcGluZ1Jlc3VsdCxcbiAgdHlwZSBTY3JhcGVyVHdvRmFjdG9yQXV0aFRyaWdnZXJSZXN1bHQsXG59IGZyb20gJy4vaW50ZXJmYWNlJztcblxuY29uc3QgU0NSQVBFX1BST0dSRVNTID0gJ1NDUkFQRV9QUk9HUkVTUyc7XG5cbmV4cG9ydCBjbGFzcyBCYXNlU2NyYXBlcjxUQ3JlZGVudGlhbHMgZXh0ZW5kcyBTY3JhcGVyQ3JlZGVudGlhbHM+IGltcGxlbWVudHMgU2NyYXBlcjxUQ3JlZGVudGlhbHM+IHtcbiAgcHJpdmF0ZSBldmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIG9wdGlvbnM6IFNjcmFwZXJPcHRpb25zKSB7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIGFzeW5jIGluaXRpYWxpemUoKSB7XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NyYXBlclByb2dyZXNzVHlwZXMuSW5pdGlhbGl6aW5nKTtcbiAgICBtb21lbnQudHouc2V0RGVmYXVsdCgnQXNpYS9KZXJ1c2FsZW0nKTtcbiAgfVxuXG4gIGFzeW5jIHNjcmFwZShjcmVkZW50aWFsczogVENyZWRlbnRpYWxzKTogUHJvbWlzZTxTY3JhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY3JhcGVyUHJvZ3Jlc3NUeXBlcy5TdGFydFNjcmFwaW5nKTtcbiAgICBhd2FpdCB0aGlzLmluaXRpYWxpemUoKTtcblxuICAgIGxldCBsb2dpblJlc3VsdDtcbiAgICB0cnkge1xuICAgICAgbG9naW5SZXN1bHQgPSBhd2FpdCB0aGlzLmxvZ2luKGNyZWRlbnRpYWxzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBsb2dpblJlc3VsdCA9IGUgaW5zdGFuY2VvZiBUaW1lb3V0RXJyb3IgP1xuICAgICAgICBjcmVhdGVUaW1lb3V0RXJyb3IoKGUgYXMgRXJyb3IpLm1lc3NhZ2UpIDpcbiAgICAgICAgY3JlYXRlR2VuZXJpY0Vycm9yKChlIGFzIEVycm9yKS5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICBsZXQgc2NyYXBlUmVzdWx0O1xuICAgIGlmIChsb2dpblJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICB0cnkge1xuICAgICAgICBzY3JhcGVSZXN1bHQgPSBhd2FpdCB0aGlzLmZldGNoRGF0YSgpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzY3JhcGVSZXN1bHQgPVxuICAgICAgICAgIGUgaW5zdGFuY2VvZiBUaW1lb3V0RXJyb3IgP1xuICAgICAgICAgICAgY3JlYXRlVGltZW91dEVycm9yKChlIGFzIEVycm9yKS5tZXNzYWdlKSA6XG4gICAgICAgICAgICBjcmVhdGVHZW5lcmljRXJyb3IoKGUgYXMgRXJyb3IpLm1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzY3JhcGVSZXN1bHQgPSBsb2dpblJlc3VsdDtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3VjY2VzcyA9IHNjcmFwZVJlc3VsdCAmJiBzY3JhcGVSZXN1bHQuc3VjY2VzcyA9PT0gdHJ1ZTtcbiAgICAgIGF3YWl0IHRoaXMudGVybWluYXRlKHN1Y2Nlc3MpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHNjcmFwZVJlc3VsdCA9IGNyZWF0ZUdlbmVyaWNFcnJvcigoZSBhcyBFcnJvcikubWVzc2FnZSk7XG4gICAgfVxuICAgIHRoaXMuZW1pdFByb2dyZXNzKFNjcmFwZXJQcm9ncmVzc1R5cGVzLkVuZFNjcmFwaW5nKTtcblxuICAgIHJldHVybiBzY3JhcGVSZXN1bHQ7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdFxuICB0cmlnZ2VyVHdvRmFjdG9yQXV0aChfcGhvbmVOdW1iZXI6IHN0cmluZyk6IFByb21pc2U8U2NyYXBlclR3b0ZhY3RvckF1dGhUcmlnZ2VyUmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB0cmlnZ2VyT3RwKCkgaXMgbm90IGNyZWF0ZWQgaW4gJHt0aGlzLm9wdGlvbnMuY29tcGFueUlkfWApO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcbiAgZ2V0TG9uZ1Rlcm1Ud29GYWN0b3JUb2tlbihfb3RwQ29kZTogc3RyaW5nKTogUHJvbWlzZTxTY3JhcGVyR2V0TG9uZ1Rlcm1Ud29GYWN0b3JUb2tlblJlc3VsdD4ge1xuICAgIHRocm93IG5ldyBFcnJvcihgZ2V0UGVybWFuZW50T3RwVG9rZW4oKSBpcyBub3QgY3JlYXRlZCBpbiAke3RoaXMub3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdFxuICBwcm90ZWN0ZWQgYXN5bmMgbG9naW4oX2NyZWRlbnRpYWxzOiBUQ3JlZGVudGlhbHMpOiBQcm9taXNlPFNjcmFwZXJMb2dpblJlc3VsdD4ge1xuICAgIHRocm93IG5ldyBFcnJvcihgbG9naW4oKSBpcyBub3QgY3JlYXRlZCBpbiAke3RoaXMub3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIHByb3RlY3RlZCBhc3luYyBmZXRjaERhdGEoKTogUHJvbWlzZTxTY3JhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGZldGNoRGF0YSgpIGlzIG5vdCBjcmVhdGVkIGluICR7dGhpcy5vcHRpb25zLmNvbXBhbnlJZH1gKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIHByb3RlY3RlZCBhc3luYyB0ZXJtaW5hdGUoX3N1Y2Nlc3M6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY3JhcGVyUHJvZ3Jlc3NUeXBlcy5UZXJtaW5hdGluZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZW1pdFByb2dyZXNzKHR5cGU6IFNjcmFwZXJQcm9ncmVzc1R5cGVzKSB7XG4gICAgdGhpcy5lbWl0KFNDUkFQRV9QUk9HUkVTUywgeyB0eXBlIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGVtaXQoZXZlbnROYW1lOiBzdHJpbmcsIHBheWxvYWQ6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICB0aGlzLmV2ZW50RW1pdHRlci5lbWl0KGV2ZW50TmFtZSwgdGhpcy5vcHRpb25zLmNvbXBhbnlJZCwgcGF5bG9hZCk7XG4gIH1cblxuICBvblByb2dyZXNzKGZ1bmM6IChjb21wYW55SWQ6IENvbXBhbnlUeXBlcywgcGF5bG9hZDogeyB0eXBlOiBTY3JhcGVyUHJvZ3Jlc3NUeXBlcyB9KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5ldmVudEVtaXR0ZXIub24oU0NSQVBFX1BST0dSRVNTLCBmdW5jKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBQWtFLFNBQUFFLHVCQUFBSSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBQUEsU0FBQUcsZ0JBQUFILENBQUEsRUFBQUksQ0FBQSxFQUFBQyxDQUFBLFlBQUFELENBQUEsR0FBQUUsY0FBQSxDQUFBRixDQUFBLE1BQUFKLENBQUEsR0FBQU8sTUFBQSxDQUFBQyxjQUFBLENBQUFSLENBQUEsRUFBQUksQ0FBQSxJQUFBSyxLQUFBLEVBQUFKLENBQUEsRUFBQUssVUFBQSxNQUFBQyxZQUFBLE1BQUFDLFFBQUEsVUFBQVosQ0FBQSxDQUFBSSxDQUFBLElBQUFDLENBQUEsRUFBQUwsQ0FBQTtBQUFBLFNBQUFNLGVBQUFELENBQUEsUUFBQVEsQ0FBQSxHQUFBQyxZQUFBLENBQUFULENBQUEsdUNBQUFRLENBQUEsR0FBQUEsQ0FBQSxHQUFBQSxDQUFBO0FBQUEsU0FBQUMsYUFBQVQsQ0FBQSxFQUFBRCxDQUFBLDJCQUFBQyxDQUFBLEtBQUFB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
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwicmVxdWlyZSIsIl9tb21lbnRUaW1lem9uZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZGVmaW5pdGlvbnMiLCJfd2FpdGluZyIsIl9lcnJvcnMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJTQ1JBUEVfUFJPR1JFU1MiLCJCYXNlU2NyYXBlciIsImV2ZW50RW1pdHRlciIsIkV2ZW50RW1pdHRlciIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsImluaXRpYWxpemUiLCJlbWl0UHJvZ3Jlc3MiLCJTY3JhcGVyUHJvZ3Jlc3NUeXBlcyIsIkluaXRpYWxpemluZyIsIm1vbWVudCIsInR6Iiwic2V0RGVmYXVsdCIsInNjcmFwZSIsImNyZWRlbnRpYWxzIiwiU3RhcnRTY3JhcGluZyIsImxvZ2luUmVzdWx0IiwibG9naW4iLCJUaW1lb3V0RXJyb3IiLCJjcmVhdGVUaW1lb3V0RXJyb3IiLCJtZXNzYWdlIiwiY3JlYXRlR2VuZXJpY0Vycm9yIiwic2NyYXBlUmVzdWx0Iiwic3VjY2VzcyIsImZldGNoRGF0YSIsInRlcm1pbmF0ZSIsIkVuZFNjcmFwaW5nIiwidHJpZ2dlclR3b0ZhY3RvckF1dGgiLCJfcGhvbmVOdW1iZXIiLCJFcnJvciIsImNvbXBhbnlJZCIsImdldExvbmdUZXJtVHdvRmFjdG9yVG9rZW4iLCJfb3RwQ29kZSIsIl9jcmVkZW50aWFscyIsIl9zdWNjZXNzIiwiVGVybWluYXRpbmciLCJ0eXBlIiwiZW1pdCIsImV2ZW50TmFtZSIsInBheWxvYWQiLCJvblByb2dyZXNzIiwiZnVuYyIsIm9uIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iYXNlLXNjcmFwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IHR5cGUgQ29tcGFueVR5cGVzLCBTY3JhcGVyUHJvZ3Jlc3NUeXBlcyB9IGZyb20gJy4uL2RlZmluaXRpb25zJztcbmltcG9ydCB7IFRpbWVvdXRFcnJvciB9IGZyb20gJy4uL2hlbHBlcnMvd2FpdGluZyc7XG5pbXBvcnQgeyBjcmVhdGVHZW5lcmljRXJyb3IsIGNyZWF0ZVRpbWVvdXRFcnJvciB9IGZyb20gJy4vZXJyb3JzJztcbmltcG9ydCB7XG4gIHR5cGUgU2NyYXBlcixcbiAgdHlwZSBTY3JhcGVyQ3JlZGVudGlhbHMsXG4gIHR5cGUgU2NyYXBlckdldExvbmdUZXJtVHdvRmFjdG9yVG9rZW5SZXN1bHQsXG4gIHR5cGUgU2NyYXBlckxvZ2luUmVzdWx0LFxuICB0eXBlIFNjcmFwZXJPcHRpb25zLFxuICB0eXBlIFNjcmFwZXJTY3JhcGluZ1Jlc3VsdCxcbiAgdHlwZSBTY3JhcGVyVHdvRmFjdG9yQXV0aFRyaWdnZXJSZXN1bHQsXG59IGZyb20gJy4vaW50ZXJmYWNlJztcblxuY29uc3QgU0NSQVBFX1BST0dSRVNTID0gJ1NDUkFQRV9QUk9HUkVTUyc7XG5cbmV4cG9ydCBjbGFzcyBCYXNlU2NyYXBlcjxUQ3JlZGVudGlhbHMgZXh0ZW5kcyBTY3JhcGVyQ3JlZGVudGlhbHM+IGltcGxlbWVudHMgU2NyYXBlcjxUQ3JlZGVudGlhbHM+IHtcbiAgcHJpdmF0ZSBldmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIG9wdGlvbnM6IFNjcmFwZXJPcHRpb25zKSB7fVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcbiAgYXN5bmMgaW5pdGlhbGl6ZSgpIHtcbiAgICB0aGlzLmVtaXRQcm9ncmVzcyhTY3JhcGVyUHJvZ3Jlc3NUeXBlcy5Jbml0aWFsaXppbmcpO1xuICAgIG1vbWVudC50ei5zZXREZWZhdWx0KCdBc2lhL0plcnVzYWxlbScpO1xuICB9XG5cbiAgYXN5bmMgc2NyYXBlKGNyZWRlbnRpYWxzOiBUQ3JlZGVudGlhbHMpOiBQcm9taXNlPFNjcmFwZXJTY3JhcGluZ1Jlc3VsdD4ge1xuICAgIHRoaXMuZW1pdFByb2dyZXNzKFNjcmFwZXJQcm9ncmVzc1R5cGVzLlN0YXJ0U2NyYXBpbmcpO1xuICAgIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZSgpO1xuXG4gICAgbGV0IGxvZ2luUmVzdWx0O1xuICAgIHRyeSB7XG4gICAgICBsb2dpblJlc3VsdCA9IGF3YWl0IHRoaXMubG9naW4oY3JlZGVudGlhbHMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGxvZ2luUmVzdWx0ID1cbiAgICAgICAgZSBpbnN0YW5jZW9mIFRpbWVvdXRFcnJvciA/IGNyZWF0ZVRpbWVvdXRFcnJvcigoZSBhcyBFcnJvcikubWVzc2FnZSkgOiBjcmVhdGVHZW5lcmljRXJyb3IoKGUgYXMgRXJyb3IpLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGxldCBzY3JhcGVSZXN1bHQ7XG4gICAgaWYgKGxvZ2luUmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNjcmFwZVJlc3VsdCA9IGF3YWl0IHRoaXMuZmV0Y2hEYXRhKCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHNjcmFwZVJlc3VsdCA9XG4gICAgICAgICAgZSBpbnN0YW5jZW9mIFRpbWVvdXRFcnJvclxuICAgICAgICAgICAgPyBjcmVhdGVUaW1lb3V0RXJyb3IoKGUgYXMgRXJyb3IpLm1lc3NhZ2UpXG4gICAgICAgICAgICA6IGNyZWF0ZUdlbmVyaWNFcnJvcigoZSBhcyBFcnJvcikubWVzc2FnZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNjcmFwZVJlc3VsdCA9IGxvZ2luUmVzdWx0O1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdWNjZXNzID0gc2NyYXBlUmVzdWx0ICYmIHNjcmFwZVJlc3VsdC5zdWNjZXNzID09PSB0cnVlO1xuICAgICAgYXdhaXQgdGhpcy50ZXJtaW5hdGUoc3VjY2Vzcyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgc2NyYXBlUmVzdWx0ID0gY3JlYXRlR2VuZXJpY0Vycm9yKChlIGFzIEVycm9yKS5tZXNzYWdlKTtcbiAgICB9XG4gICAgdGhpcy5lbWl0UHJvZ3Jlc3MoU2NyYXBlclByb2dyZXNzVHlwZXMuRW5kU2NyYXBpbmcpO1xuXG4gICAgcmV0dXJuIHNjcmFwZVJlc3VsdDtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIHRyaWdnZXJUd29GYWN0b3JBdXRoKF9waG9uZU51bWJlcjogc3RyaW5nKTogUHJvbWlzZTxTY3JhcGVyVHdvRmFjdG9yQXV0aFRyaWdnZXJSZXN1bHQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHRyaWdnZXJPdHAoKSBpcyBub3QgY3JlYXRlZCBpbiAke3RoaXMub3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdFxuICBnZXRMb25nVGVybVR3b0ZhY3RvclRva2VuKF9vdHBDb2RlOiBzdHJpbmcpOiBQcm9taXNlPFNjcmFwZXJHZXRMb25nVGVybVR3b0ZhY3RvclRva2VuUmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBnZXRQZXJtYW5lbnRPdHBUb2tlbigpIGlzIG5vdCBjcmVhdGVkIGluICR7dGhpcy5vcHRpb25zLmNvbXBhbnlJZH1gKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIHByb3RlY3RlZCBhc3luYyBsb2dpbihfY3JlZGVudGlhbHM6IFRDcmVkZW50aWFscyk6IFByb21pc2U8U2NyYXBlckxvZ2luUmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBsb2dpbigpIGlzIG5vdCBjcmVhdGVkIGluICR7dGhpcy5vcHRpb25zLmNvbXBhbnlJZH1gKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcbiAgcHJvdGVjdGVkIGFzeW5jIGZldGNoRGF0YSgpOiBQcm9taXNlPFNjcmFwZXJTY3JhcGluZ1Jlc3VsdD4ge1xuICAgIHRocm93IG5ldyBFcnJvcihgZmV0Y2hEYXRhKCkgaXMgbm90IGNyZWF0ZWQgaW4gJHt0aGlzLm9wdGlvbnMuY29tcGFueUlkfWApO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcbiAgcHJvdGVjdGVkIGFzeW5jIHRlcm1pbmF0ZShfc3VjY2VzczogYm9vbGVhbikge1xuICAgIHRoaXMuZW1pdFByb2dyZXNzKFNjcmFwZXJQcm9ncmVzc1R5cGVzLlRlcm1pbmF0aW5nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0UHJvZ3Jlc3ModHlwZTogU2NyYXBlclByb2dyZXNzVHlwZXMpIHtcbiAgICB0aGlzLmVtaXQoU0NSQVBFX1BST0dSRVNTLCB7IHR5cGUgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZW1pdChldmVudE5hbWU6IHN0cmluZywgcGF5bG9hZDogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHRoaXMuZXZlbnRFbWl0dGVyLmVtaXQoZXZlbnROYW1lLCB0aGlzLm9wdGlvbnMuY29tcGFueUlkLCBwYXlsb2FkKTtcbiAgfVxuXG4gIG9uUHJvZ3Jlc3MoZnVuYzogKGNvbXBhbnlJZDogQ29tcGFueVR5cGVzLCBwYXlsb2FkOiB7IHR5cGU6IFNjcmFwZXJQcm9ncmVzc1R5cGVzIH0pID0+IHZvaWQpIHtcbiAgICB0aGlzLmV2ZW50RW1pdHRlci5vbihTQ1JBUEVfUFJPR1JFU1MsIGZ1bmMpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFlBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQUwsT0FBQTtBQUFrRSxTQUFBRSx1QkFBQUksQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQVdsRSxNQUFNRyxlQUFlLEdBQUcsaUJBQWlCO0FBRWxDLE1BQU1DLFdBQVcsQ0FBMkU7RUFDekZDLFlBQVksR0FBRyxJQUFJQyxvQkFBWSxDQUFDLENBQUM7RUFFekNDLFdBQVdBLENBQVFDLE9BQXVCLEVBQUU7SUFBQSxLQUF6QkEsT0FBdUIsR0FBdkJBLE9BQXVCO0VBQUc7O0VBRTdDO0VBQ0EsTUFBTUMsVUFBVUEsQ0FBQSxFQUFHO0lBQ2pCLElBQUksQ0FBQ0MsWUFBWSxDQUFDQyxpQ0FBb0IsQ0FBQ0MsWUFBWSxDQUFDO0lBQ3BEQyx1QkFBTSxDQUFDQyxFQUFFLENBQUNDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztFQUN4QztFQUVBLE1BQU1DLE1BQU1BLENBQUNDLFdBQXlCLEVBQWtDO0lBQ3RFLElBQUksQ0FBQ1AsWUFBWSxDQUFDQyxpQ0FBb0IsQ0FBQ08sYUFBYSxDQUFDO0lBQ3JELE1BQU0sSUFBSSxDQUFDVCxVQUFVLENBQUMsQ0FBQztJQUV2QixJQUFJVSxXQUFXO0lBQ2YsSUFBSTtNQUNGQSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsV0FBVyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxPQUFPakIsQ0FBQyxFQUFFO01BQ1ZtQixXQUFXLEdBQ1RuQixDQUFDLFlBQVlxQixxQkFBWSxHQUFHLElB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
@@ -4,8 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- require("core-js/modules/es.array.iterator.js");
8
- require("core-js/modules/es.promise.js");
9
7
  var _moment = _interopRequireDefault(require("moment"));
10
8
  var _debug = require("../helpers/debug");
11
9
  var _elementsInteractions = require("../helpers/elements-interactions");
@@ -67,7 +65,6 @@ class BehatsdaaScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
67
65
  };
68
66
  }
69
67
  async fetchData() {
70
- var _res$data;
71
68
  const token = await this.page.evaluate(() => window.localStorage.getItem('userToken'));
72
69
  if (!token) {
73
70
  debug('Token not found in local storage');
@@ -83,20 +80,19 @@ class BehatsdaaScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
83
80
  };
84
81
  debug('Fetching data');
85
82
  const res = await (0, _fetch.fetchPostWithinPage)(this.page, PURCHASE_HISTORY_URL, body, {
86
- 'authorization': `Bearer ${token}`,
83
+ authorization: `Bearer ${token}`,
87
84
  'Content-Type': 'application/json',
88
- 'organizationid': '20'
85
+ organizationid: '20'
89
86
  });
90
87
  debug('Data fetched');
91
- if (res !== null && res !== void 0 && res.errorDescription || res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && _res$data.errorDescription) {
92
- var _res$data2;
93
- debug('Error fetching data', res.errorDescription || ((_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.errorDescription));
88
+ if (res?.errorDescription || res?.data?.errorDescription) {
89
+ debug('Error fetching data', res.errorDescription || res.data?.errorDescription);
94
90
  return {
95
91
  success: false,
96
92
  errorMessage: res.errorDescription
97
93
  };
98
94
  }
99
- if (!(res !== null && res !== void 0 && res.data)) {
95
+ if (!res?.data) {
100
96
  debug('No data found');
101
97
  return {
102
98
  success: false,
@@ -114,4 +110,4 @@ class BehatsdaaScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
114
110
  }
115
111
  }
116
112
  var _default = exports.default = BehatsdaaScraper;
117
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9tZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZGVidWciLCJfZWxlbWVudHNJbnRlcmFjdGlvbnMiLCJfZmV0Y2giLCJfd2FpdGluZyIsIl90cmFuc2FjdGlvbnMiLCJfYmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIkJBU0VfVVJMIiwiTE9HSU5fVVJMIiwiUFVSQ0hBU0VfSElTVE9SWV9VUkwiLCJkZWJ1ZyIsImdldERlYnVnIiwidmFyaWFudFRvVHJhbnNhY3Rpb24iLCJ2YXJpYW50Iiwib3JpZ2luYWxBbW91bnQiLCJjdXN0b21lclByaWNlIiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJpZGVudGlmaWVyIiwidFRyYW5zYWN0aW9uSUQiLCJkYXRlIiwibW9tZW50Iiwib3JkZXJEYXRlIiwiZm9ybWF0IiwicHJvY2Vzc2VkRGF0ZSIsIm9yaWdpbmFsQ3VycmVuY3kiLCJjaGFyZ2VkQW1vdW50IiwiY2hhcmdlZEN1cnJlbmN5IiwiZGVzY3JpcHRpb24iLCJuYW1lIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsIm1lbW8iLCJ2YXJpYW50TmFtZSIsIkJlaGF0c2RhYVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwiY3JlZGVudGlhbHMiLCJsb2dpblVybCIsImZpZWxkcyIsInNlbGVjdG9yIiwidmFsdWUiLCJpZCIsInBhc3N3b3JkIiwiY2hlY2tSZWFkaW5lc3MiLCJQcm9taXNlIiwiYWxsIiwid2FpdFVudGlsRWxlbWVudEZvdW5kIiwicGFnZSIsInBvc3NpYmxlUmVzdWx0cyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsInNsZWVwIiwiYnV0dG9uIiwiJCIsImNsaWNrIiwiZmV0Y2hEYXRhIiwiX3JlcyRkYXRhIiwidG9rZW4iLCJldmFsdWF0ZSIsIndpbmRvdyIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJzdWNjZXNzIiwiZXJyb3JNZXNzYWdlIiwiYm9keSIsIkZyb21EYXRlIiwib3B0aW9ucyIsInN0YXJ0RGF0ZSIsIlRvRGF0ZSIsIkJlbmVmaXRTdGF0dXNJZCIsInJlcyIsImZldGNoUG9zdFdpdGhpblBhZ2UiLCJlcnJvckRlc2NyaXB0aW9uIiwiZGF0YSIsIl9yZXMkZGF0YTIiLCJhY2NvdW50cyIsImFjY291bnROdW1iZXIiLCJtZW1iZXJJZCIsInR4bnMiLCJ2YXJpYW50cyIsIm1hcCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iZWhhdHNkYWEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgZ2V0RGVidWcgfSBmcm9tICcuLi9oZWxwZXJzL2RlYnVnJztcbmltcG9ydCB7IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCB9IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9zdFdpdGhpblBhZ2UgfSBmcm9tICcuLi9oZWxwZXJzL2ZldGNoJztcbmltcG9ydCB7IHNsZWVwIH0gZnJvbSAnLi4vaGVscGVycy93YWl0aW5nJztcbmltcG9ydCB7IHR5cGUgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMgfSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgdHlwZSBMb2dpbk9wdGlvbnMsIExvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyB0eXBlIFNjcmFwZXJTY3JhcGluZ1Jlc3VsdCB9IGZyb20gJy4vaW50ZXJmYWNlJztcblxuY29uc3QgQkFTRV9VUkwgPSAnaHR0cHM6Ly93d3cuYmVoYXRzZGFhLm9yZy5pbCc7XG5jb25zdCBMT0dJTl9VUkwgPSBgJHtCQVNFX1VSTH0vbG9naW5gO1xuY29uc3QgUFVSQ0hBU0VfSElTVE9SWV9VUkwgPSAnaHR0cHM6Ly9iYWNrLmJlaGF0c2RhYS5vcmcuaWwvYXBpL3B1cmNoYXNlcy9wdXJjaGFzZUhpc3RvcnknO1xuXG5jb25zdCBkZWJ1ZyA9IGdldERlYnVnKCdiZWhhdHNkYWEnKTtcblxudHlwZSBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscyA9IHsgaWQ6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyB9O1xuXG50eXBlIFZhcmlhbnQgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFyaWFudE5hbWU6IHN0cmluZztcbiAgY3VzdG9tZXJQcmljZTogbnVtYmVyO1xuICBvcmRlckRhdGU6IHN0cmluZzsgLy8gSVNPIHRpbWVzdGFtcCB3aXRoIG5vIHRpbWV6b25lXG4gIHRUcmFuc2FjdGlvbklEOiBzdHJpbmc7XG59O1xuXG50eXBlIFB1cmNoYXNlSGlzdG9yeVJlc3BvbnNlID0ge1xuICBkYXRhPzoge1xuICAgIGVycm9yRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgbWVtYmVySWQ6IHN0cmluZztcbiAgICB2YXJpYW50czogVmFyaWFudFtdO1xuICB9O1xuICBlcnJvckRlc2NyaXB0aW9uPzogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gdmFyaWFudFRvVHJhbnNhY3Rpb24odmFyaWFudDogVmFyaWFudCk6IFRyYW5zYWN0aW9uIHtcbiAgLy8gVGhlIHByaWNlIGlzIHBvc2l0aXZlLCBtYWtlIGl0IG5lZ2F0aXZlIGFzIGl0J3MgYW4gZXhwZW5zZVxuICBjb25zdCBvcmlnaW5hbEFtb3VudCA9IC12YXJpYW50LmN1c3RvbWVyUHJpY2U7XG4gIHJldHVybiB7XG4gICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgaWRlbnRpZmllcjogdmFyaWFudC50VHJhbnNhY3Rpb25JRCxcbiAgICBkYXRlOiBtb21lbnQodmFyaWFudC5vcmRlckRhdGUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpLFxuICAgIHByb2Nlc3NlZERhdGU6IG1vbWVudCh2YXJpYW50Lm9yZGVyRGF0ZSkuZm9ybWF0KCdZWVlZLU1NLUREJyksXG4gICAgb3JpZ2luYWxBbW91bnQsXG4gICAgb3JpZ2luYWxDdXJyZW5jeTogJ0lMUycsXG4gICAgY2hhcmdlZEFtb3VudDogb3JpZ2luYWxBbW91bnQsXG4gICAgY2hhcmdlZEN1cnJlbmN5OiAnSUxTJyxcbiAgICBkZXNjcmlwdGlvbjogdmFyaWFudC5uYW1lLFxuICAgIHN0YXR1czogVHJhbnNhY3Rpb25TdGF0dXNlcy5Db21wbGV0ZWQsXG4gICAgbWVtbzogdmFyaWFudC52YXJpYW50TmFtZSxcbiAgfTtcbn1cblxuY2xhc3MgQmVoYXRzZGFhU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXI8U2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHM+IHtcbiAgcHVibGljIGdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpOiBMb2dpbk9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogTE9HSU5fVVJMLFxuICAgICAgZmllbGRzOiBbXG4gICAgICAgIHsgc2VsZWN0b3I6ICcjbG9naW5JZCcsIHZhbHVlOiBjcmVkZW50aWFscy5pZCB9LFxuICAgICAgICB7IHNlbGVjdG9yOiAnI2xvZ2luUGFzc3dvcmQnLCB2YWx1ZTogY3JlZGVudGlhbHMucGFzc3dvcmQgfSxcbiAgICAgIF0sXG4gICAgICBjaGVja1JlYWRpbmVzczogYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJyNsb2dpblBhc3N3b3JkJyksXG4gICAgICAgICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJyNsb2dpbklkJyksXG4gICAgICAgIF0pO1xuICAgICAgfSxcbiAgICAgIHBvc3NpYmxlUmVzdWx0czoge1xuICAgICAgICBbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdOiBbYCR7QkFTRV9VUkx9L2BdLFxuICAgICAgICBbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF06IFsnLmN1c3RvbS1pbnB1dC1lcnJvci1sYWJlbCddLFxuICAgICAgfSxcbiAgICAgIHN1Ym1pdEJ1dHRvblNlbGVjdG9yOiBhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHNsZWVwKDEwMDApO1xuICAgICAgICBkZWJ1ZygnVHJ5aW5nIHRvIGZpbmQgc3VibWl0IGJ1dHRvbicpO1xuICAgICAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLnBhZ2UuJCgneHBhdGg9Ly9idXR0b25bY29udGFpbnMoLiwgXCLXlNeq15fXkdeo15XXqlwiKV0nKTtcbiAgICAgICAgaWYgKGJ1dHRvbikge1xuICAgICAgICAgIGRlYnVnKCdTdWJtaXQgYnV0dG9uIGZvdW5kJyk7XG4gICAgICAgICAgYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVidWcoJ1N1Ym1pdCBidXR0b24gbm90IGZvdW5kJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpOiBQcm9taXNlPFNjcmFwZXJTY3JhcGluZ1Jlc3VsdD4ge1xuICAgIGNvbnN0IHRva2VuID0gYXdhaXQgdGhpcy5wYWdlLmV2YWx1YXRlKCgpID0+IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlclRva2VuJykpO1xuICAgIGlmICghdG9rZW4pIHtcbiAgICAgIGRlYnVnKCdUb2tlbiBub3QgZm91bmQgaW4gbG9jYWwgc3RvcmFnZScpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIGVycm9yTWVzc2FnZTogJ1Rva2VuTm90Rm91bmQnLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBib2R5ID0ge1xuICAgICAgRnJvbURhdGU6IG1vbWVudCh0aGlzLm9wdGlvbnMuc3RhcnREYXRlKS5mb3JtYXQoJ1lZWVktTU0tRERUSEg6bW06c3MnKSxcbiAgICAgIFRvRGF0ZTogbW9tZW50KCkuZm9ybWF0KCdZWVlZLU1NLUREVEhIOm1tOnNzJyksXG4gICAgICBCZW5lZml0U3RhdHVzSWQ6IG51bGwsXG4gICAgfTtcblxuICAgIGRlYnVnKCdGZXRjaGluZyBkYXRhJyk7XG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaFBvc3RXaXRoaW5QYWdlPFB1cmNoYXNlSGlzdG9yeVJlc3BvbnNlPih0aGlzLnBhZ2UsIFBVUkNIQVNFX0hJU1RPUllfVVJMLCBib2R5LCB7XG4gICAgICAnYXV0aG9yaXphdGlvbic6IGBCZWFyZXIgJHt0b2tlbn1gLFxuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICdvcmdhbml6YXRpb25pZCc6ICcyMCcsXG4gICAgfSk7XG5cbiAgICBkZWJ1ZygnRGF0YSBmZXRjaGVkJyk7XG5cbiAgICBpZiAocmVzPy5lcnJvckRlc2NyaXB0aW9uIHx8IHJlcz8uZGF0YT8uZXJyb3JEZXNjcmlwdGlvbikge1xuICAgICAgZGVidWcoJ0Vycm9yIGZldGNoaW5nIGRhdGEnLCByZXMuZXJyb3JEZXNjcmlwdGlvbiB8fCByZXMuZGF0YT8uZXJyb3JEZXNjcmlwdGlvbik7XG4gICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3JNZXNzYWdlOiByZXMuZXJyb3JEZXNjcmlwdGlvbiB9O1xuICAgIH1cblxuICAgIGlmICghcmVzPy5kYXRhKSB7XG4gICAgICBkZWJ1ZygnTm8gZGF0YSBmb3VuZCcpO1xuICAgICAgcmV0dXJuIHsgc3VjY2VzczogZmFsc2UsIGVycm9yTWVzc2FnZTogJ05vRGF0YScgfTtcbiAgICB9XG5cbiAgICBkZWJ1ZygnRGF0YSBmZXRjaGVkIHN1Y2Nlc3NmdWxseScpO1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgYWNjb3VudHM6IFt7XG4gICAgICAgIGFjY291bnROdW1iZXI6IHJlcy5kYXRhLm1lbWJlcklkLFxuICAgICAgICB0eG5zOiByZXMuZGF0YS52YXJpYW50cy5tYXAodmFyaWFudFRvVHJhbnNhY3Rpb24pLFxuICAgICAgfV0sXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBCZWhhdHNkYWFTY3JhcGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLHFCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSx1QkFBQSxHQUFBTixPQUFBO0FBQXNHLFNBQUFELHVCQUFBUSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBR3RHLE1BQU1HLFFBQVEsR0FBRyw4QkFBOEI7QUFDL0MsTUFBTUMsU0FBUyxHQUFHLEdBQUdELFFBQVEsUUFBUTtBQUNyQyxNQUFNRSxvQkFBb0IsR0FBRyw2REFBNkQ7QUFFMUYsTUFBTUMsS0FBSyxHQUFHLElBQUFDLGVBQVEsRUFBQyxXQUFXLENBQUM7QUFxQm5DLFNBQVNDLG9CQUFvQkEsQ0FBQ0MsT0FBZ0IsRUFBZTtFQUMzRDtFQUNBLE1BQU1DLGNBQWMsR0FBRyxDQUFDRCxPQUFPLENBQUNFLGFBQWE7RUFDN0MsT0FBTztJQUNMQyxJQUFJLEVBQUVDLDhCQUFnQixDQUFDQyxNQUFNO0lBQzdCQyxVQUFVLEVBQUVOLE9BQU8sQ0FBQ08sY0FBYztJQUNsQ0MsSUFBSSxFQUFFLElBQUFDLGVBQU0sRUFBQ1QsT0FBTyxDQUFDVSxTQUFTLENBQUMs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
113
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9tZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZGVidWciLCJfZWxlbWVudHNJbnRlcmFjdGlvbnMiLCJfZmV0Y2giLCJfd2FpdGluZyIsIl90cmFuc2FjdGlvbnMiLCJfYmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIkJBU0VfVVJMIiwiTE9HSU5fVVJMIiwiUFVSQ0hBU0VfSElTVE9SWV9VUkwiLCJkZWJ1ZyIsImdldERlYnVnIiwidmFyaWFudFRvVHJhbnNhY3Rpb24iLCJ2YXJpYW50Iiwib3JpZ2luYWxBbW91bnQiLCJjdXN0b21lclByaWNlIiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJpZGVudGlmaWVyIiwidFRyYW5zYWN0aW9uSUQiLCJkYXRlIiwibW9tZW50Iiwib3JkZXJEYXRlIiwiZm9ybWF0IiwicHJvY2Vzc2VkRGF0ZSIsIm9yaWdpbmFsQ3VycmVuY3kiLCJjaGFyZ2VkQW1vdW50IiwiY2hhcmdlZEN1cnJlbmN5IiwiZGVzY3JpcHRpb24iLCJuYW1lIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsIm1lbW8iLCJ2YXJpYW50TmFtZSIsIkJlaGF0c2RhYVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwiY3JlZGVudGlhbHMiLCJsb2dpblVybCIsImZpZWxkcyIsInNlbGVjdG9yIiwidmFsdWUiLCJpZCIsInBhc3N3b3JkIiwiY2hlY2tSZWFkaW5lc3MiLCJQcm9taXNlIiwiYWxsIiwid2FpdFVudGlsRWxlbWVudEZvdW5kIiwicGFnZSIsInBvc3NpYmxlUmVzdWx0cyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsInNsZWVwIiwiYnV0dG9uIiwiJCIsImNsaWNrIiwiZmV0Y2hEYXRhIiwidG9rZW4iLCJldmFsdWF0ZSIsIndpbmRvdyIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJzdWNjZXNzIiwiZXJyb3JNZXNzYWdlIiwiYm9keSIsIkZyb21EYXRlIiwib3B0aW9ucyIsInN0YXJ0RGF0ZSIsIlRvRGF0ZSIsIkJlbmVmaXRTdGF0dXNJZCIsInJlcyIsImZldGNoUG9zdFdpdGhpblBhZ2UiLCJhdXRob3JpemF0aW9uIiwib3JnYW5pemF0aW9uaWQiLCJlcnJvckRlc2NyaXB0aW9uIiwiZGF0YSIsImFjY291bnRzIiwiYWNjb3VudE51bWJlciIsIm1lbWJlcklkIiwidHhucyIsInZhcmlhbnRzIiwibWFwIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmFwZXJzL2JlaGF0c2RhYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuaW1wb3J0IHsgd2FpdFVudGlsRWxlbWVudEZvdW5kIH0gZnJvbSAnLi4vaGVscGVycy9lbGVtZW50cy1pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb3N0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHsgc2xlZXAgfSBmcm9tICcuLi9oZWxwZXJzL3dhaXRpbmcnO1xuaW1wb3J0IHsgdHlwZSBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyB9IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyLCB0eXBlIExvZ2luT3B0aW9ucywgTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IHR5cGUgU2NyYXBlclNjcmFwaW5nUmVzdWx0IH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuXG5jb25zdCBCQVNFX1VSTCA9ICdodHRwczovL3d3dy5iZWhhdHNkYWEub3JnLmlsJztcbmNvbnN0IExPR0lOX1VSTCA9IGAke0JBU0VfVVJMfS9sb2dpbmA7XG5jb25zdCBQVVJDSEFTRV9ISVNUT1JZX1VSTCA9ICdodHRwczovL2JhY2suYmVoYXRzZGFhLm9yZy5pbC9hcGkvcHVyY2hhc2VzL3B1cmNoYXNlSGlzdG9yeSc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ2JlaGF0c2RhYScpO1xuXG50eXBlIFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzID0geyBpZDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH07XG5cbnR5cGUgVmFyaWFudCA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICB2YXJpYW50TmFtZTogc3RyaW5nO1xuICBjdXN0b21lclByaWNlOiBudW1iZXI7XG4gIG9yZGVyRGF0ZTogc3RyaW5nOyAvLyBJU08gdGltZXN0YW1wIHdpdGggbm8gdGltZXpvbmVcbiAgdFRyYW5zYWN0aW9uSUQ6IHN0cmluZztcbn07XG5cbnR5cGUgUHVyY2hhc2VIaXN0b3J5UmVzcG9uc2UgPSB7XG4gIGRhdGE/OiB7XG4gICAgZXJyb3JEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBtZW1iZXJJZDogc3RyaW5nO1xuICAgIHZhcmlhbnRzOiBWYXJpYW50W107XG4gIH07XG4gIGVycm9yRGVzY3JpcHRpb24/OiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiB2YXJpYW50VG9UcmFuc2FjdGlvbih2YXJpYW50OiBWYXJpYW50KTogVHJhbnNhY3Rpb24ge1xuICAvLyBUaGUgcHJpY2UgaXMgcG9zaXRpdmUsIG1ha2UgaXQgbmVnYXRpdmUgYXMgaXQncyBhbiBleHBlbnNlXG4gIGNvbnN0IG9yaWdpbmFsQW1vdW50ID0gLXZhcmlhbnQuY3VzdG9tZXJQcmljZTtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbCxcbiAgICBpZGVudGlmaWVyOiB2YXJpYW50LnRUcmFuc2FjdGlvbklELFxuICAgIGRhdGU6IG1vbWVudCh2YXJpYW50Lm9yZGVyRGF0ZSkuZm9ybWF0KCdZWVlZLU1NLUREJyksXG4gICAgcHJvY2Vzc2VkRGF0ZTogbW9tZW50KHZhcmlhbnQub3JkZXJEYXRlKS5mb3JtYXQoJ1lZWVktTU0tREQnKSxcbiAgICBvcmlnaW5hbEFtb3VudCxcbiAgICBvcmlnaW5hbEN1cnJlbmN5OiAnSUxTJyxcbiAgICBjaGFyZ2VkQW1vdW50OiBvcmlnaW5hbEFtb3VudCxcbiAgICBjaGFyZ2VkQ3VycmVuY3k6ICdJTFMnLFxuICAgIGRlc2NyaXB0aW9uOiB2YXJpYW50Lm5hbWUsXG4gICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICBtZW1vOiB2YXJpYW50LnZhcmlhbnROYW1lLFxuICB9O1xufVxuXG5jbGFzcyBCZWhhdHNkYWFTY3JhcGVyIGV4dGVuZHMgQmFzZVNjcmFwZXJXaXRoQnJvd3NlcjxTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscz4ge1xuICBwdWJsaWMgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscyk6IExvZ2luT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2luVXJsOiBMT0dJTl9VUkwsXG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAgeyBzZWxlY3RvcjogJyNsb2dpbklkJywgdmFsdWU6IGNyZWRlbnRpYWxzLmlkIH0sXG4gICAgICAgIHsgc2VsZWN0b3I6ICcjbG9naW5QYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICAgICAgXSxcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnI2xvZ2luUGFzc3dvcmQnKSxcbiAgICAgICAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnI2xvZ2luSWQnKSxcbiAgICAgICAgXSk7XG4gICAgICB9LFxuICAgICAgcG9zc2libGVSZXN1bHRzOiB7XG4gICAgICAgIFtMb2dpblJlc3VsdHMuU3VjY2Vzc106IFtgJHtCQVNFX1VSTH0vYF0sXG4gICAgICAgIFtMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXTogWycuY3VzdG9tLWlucHV0LWVycm9yLWxhYmVsJ10sXG4gICAgICB9LFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6IGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgc2xlZXAoMTAwMCk7XG4gICAgICAgIGRlYnVnKCdUcnlpbmcgdG8gZmluZCBzdWJtaXQgYnV0dG9uJyk7XG4gICAgICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMucGFnZS4kKCd4cGF0aD0vL2J1dHRvbltjb250YWlucyguLCBcIteU16rXl9eR16jXldeqXCIpXScpO1xuICAgICAgICBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgZGVidWcoJ1N1Ym1pdCBidXR0b24gZm91bmQnKTtcbiAgICAgICAgICBhd2FpdCBidXR0b24uY2xpY2soKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZWJ1ZygnU3VibWl0IGJ1dHRvbiBub3QgZm91bmQnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hEYXRhKCk6IFByb21pc2U8U2NyYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgY29uc3QgdG9rZW4gPSBhd2FpdCB0aGlzLnBhZ2UuZXZhbHVhdGUoKCkgPT4gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyVG9rZW4nKSk7XG4gICAgaWYgKCF0b2tlbikge1xuICAgICAgZGVidWcoJ1Rva2VuIG5vdCBmb3VuZCBpbiBsb2NhbCBzdG9yYWdlJyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3JNZXNzYWdlOiAnVG9rZW5Ob3RGb3VuZCcsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICBGcm9tRGF0ZTogbW9tZW50KHRoaXMub3B0aW9ucy5zdGFydERhdGUpLmZvcm1hdCgnWVlZWS1NTS1ERFRISDptbTpzcycpLFxuICAgICAgVG9EYXRlOiBtb21lbnQoKS5mb3JtYXQoJ1lZWVktTU0tRERUSEg6bW06c3MnKSxcbiAgICAgIEJlbmVmaXRTdGF0dXNJZDogbnVsbCxcbiAgICB9O1xuXG4gICAgZGVidWcoJ0ZldGNoaW5nIGRhdGEnKTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoUG9zdFdpdGhpblBhZ2U8UHVyY2hhc2VIaXN0b3J5UmVzcG9uc2U+KHRoaXMucGFnZSwgUFVSQ0hBU0VfSElTVE9SWV9VUkwsIGJvZHksIHtcbiAgICAgIGF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gLFxuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIG9yZ2FuaXphdGlvbmlkOiAnMjAnLFxuICAgIH0pO1xuXG4gICAgZGVidWcoJ0RhdGEgZmV0Y2hlZCcpO1xuXG4gICAgaWYgKHJlcz8uZXJyb3JEZXNjcmlwdGlvbiB8fCByZXM/LmRhdGE/LmVycm9yRGVzY3JpcHRpb24pIHtcbiAgICAgIGRlYnVnKCdFcnJvciBmZXRjaGluZyBkYXRhJywgcmVzLmVycm9yRGVzY3JpcHRpb24gfHwgcmVzLmRhdGE/LmVycm9yRGVzY3JpcHRpb24pO1xuICAgICAgcmV0dXJuIHsgc3VjY2VzczogZmFsc2UsIGVycm9yTWVzc2FnZTogcmVzLmVycm9yRGVzY3JpcHRpb24gfTtcbiAgICB9XG5cbiAgICBpZiAoIXJlcz8uZGF0YSkge1xuICAgICAgZGVidWcoJ05vIGRhdGEgZm91bmQnKTtcbiAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvck1lc3NhZ2U6ICdOb0RhdGEnIH07XG4gICAgfVxuXG4gICAgZGVidWcoJ0RhdGEgZmV0Y2hlZCBzdWNjZXNzZnVsbHknKTtcbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgIGFjY291bnRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhY2NvdW50TnVtYmVyOiByZXMuZGF0YS5tZW1iZXJJZCxcbiAgICAgICAgICB0eG5zOiByZXMuZGF0YS52YXJpYW50cy5tYXAodmFyaWFudFRvVHJhbnNhY3Rpb24pLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEJlaGF0c2RhYVNjcmFwZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLHFCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSx1QkFBQSxHQUFBTixPQUFBO0FBQXNHLFNBQUFELHVCQUFBUSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBR3RHLE1BQU1HLFFBQVEsR0FBRyw4QkFBOEI7QUFDL0MsTUFBTUMsU0FBUyxHQUFHLEdBQUdELFFBQVEsUUFBUTtBQUNyQyxNQUFNRSxvQkFBb0IsR0FBRyw2REFBNkQ7QUFFMUYsTUFBTUMsS0FBSyxHQUFHLElBQUFDLGVBQVEsRUFBQyxXQUFXLENBQUM7QUFxQm5DLFNBQVNDLG9CQUFvQkEsQ0FBQ0MsT0FBZ0IsRUFBZTtFQUMzRDtFQUNBLE1BQU1DLGNBQWMsR0FBRyxDQUFDRCxPQUFPLENBQUNFLGFBQWE7RUFDN0MsT0FBTztJQUNMQyxJQUFJLEVBQUVDLDhCQUFnQixDQUFDQyxNQUFNO0lBQzdCQyxVQUFVLEVBQUVOLE9BQU8sQ0FBQ08sY0FBYztJQUNsQ0MsSUFBSSxFQUFFLElBQUFDLGVBQU0s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
@@ -1,16 +1,10 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.promise.js");
4
3
  var _definitions = require("../definitions");
5
4
  var _testsUtils = require("../tests/tests-utils");
6
5
  var _baseScraperWithBrowser = require("./base-scraper-with-browser");
7
6
  var _behatsdaa = _interopRequireDefault(require("./behatsdaa"));
8
7
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
8
  const testsConfig = (0, _testsUtils.getTestsConfig)();
15
9
  describe('Behatsdaa scraper', () => {
16
10
  beforeAll(() => {
@@ -22,9 +16,10 @@ describe('Behatsdaa scraper', () => {
22
16
  expect(_definitions.SCRAPERS[_definitions.CompanyTypes.behatsdaa].loginFields).toContain('password');
23
17
  });
24
18
  (0, _testsUtils.maybeTestCompanyAPI)(_definitions.CompanyTypes.behatsdaa, config => config.companyAPI.invalidPassword)('should fail on invalid user/password"', async () => {
25
- const scraper = new _behatsdaa.default(_objectSpread(_objectSpread({}, testsConfig.options), {}, {
19
+ const scraper = new _behatsdaa.default({
20
+ ...testsConfig.options,
26
21
  companyId: _definitions.CompanyTypes.behatsdaa
27
- }));
22
+ });
28
23
  const result = await scraper.scrape({
29
24
  id: 'foofoofoo',
30
25
  password: 'barbarbar'
@@ -34,9 +29,10 @@ describe('Behatsdaa scraper', () => {
34
29
  expect(result.errorType).toBe(_baseScraperWithBrowser.LoginResults.InvalidPassword);
35
30
  });
36
31
  (0, _testsUtils.maybeTestCompanyAPI)(_definitions.CompanyTypes.behatsdaa)('should scrape transactions', async () => {
37
- const scraper = new _behatsdaa.default(_objectSpread(_objectSpread({}, testsConfig.options), {}, {
32
+ const scraper = new _behatsdaa.default({
33
+ ...testsConfig.options,
38
34
  companyId: _definitions.CompanyTypes.behatsdaa
39
- }));
35
+ });
40
36
  const result = await scraper.scrape(testsConfig.credentials[_definitions.CompanyTypes.behatsdaa]);
41
37
  expect(result).toBeDefined();
42
38
  expect(result.errorMessage).toBeFalsy();
@@ -47,4 +43,4 @@ describe('Behatsdaa scraper', () => {
47
43
  (0, _testsUtils.exportTransactions)(_definitions.CompanyTypes.behatsdaa, result.accounts || []);
48
44
  });
49
45
  });
50
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVmaW5pdGlvbnMiLCJyZXF1aXJlIiwiX3Rlc3RzVXRpbHMiLCJfYmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsIl9iZWhhdHNkYWEiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Iiwib3duS2V5cyIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsInRlc3RzQ29uZmlnIiwiZ2V0VGVzdHNDb25maWciLCJkZXNjcmliZSIsImJlZm9yZUFsbCIsImV4dGVuZEFzeW5jVGltZW91dCIsIml0IiwiZXhwZWN0IiwiU0NSQVBFUlMiLCJDb21wYW55VHlwZXMiLCJiZWhhdHNkYWEiLCJ0b0JlRGVmaW5lZCIsImxvZ2luRmllbGRzIiwidG9Db250YWluIiwibWF5YmVUZXN0Q29tcGFueUFQSSIsImNvbmZpZyIsImNvbXBhbnlBUEkiLCJpbnZhbGlkUGFzc3dvcmQiLCJzY3JhcGVyIiwiQmVoYXRzZGFhU2NyYXBlciIsIm9wdGlvbnMiLCJjb21wYW55SWQiLCJyZXN1bHQiLCJzY3JhcGUiLCJpZCIsInBhc3N3b3JkIiwic3VjY2VzcyIsInRvQmVGYWxzeSIsImVycm9yVHlwZSIsInRvQmUiLCJMb2dpblJlc3VsdHMiLCJJbnZhbGlkUGFzc3dvcmQiLCJjcmVkZW50aWFscyIsImVycm9yTWVzc2FnZSIsInRvQmVUcnV0aHkiLCJhY2NvdW50cyIsInRvSGF2ZUxlbmd0aCIsImV4cG9ydFRyYW5zYWN0aW9ucyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9iZWhhdHNkYWEudGVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wYW55VHlwZXMsIFNDUkFQRVJTIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHtcbiAgZXhwb3J0VHJhbnNhY3Rpb25zLCBleHRlbmRBc3luY1RpbWVvdXQsIGdldFRlc3RzQ29uZmlnLCBtYXliZVRlc3RDb21wYW55QVBJLFxufSBmcm9tICcuLi90ZXN0cy90ZXN0cy11dGlscyc7XG5pbXBvcnQgeyBMb2dpblJlc3VsdHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlci13aXRoLWJyb3dzZXInO1xuaW1wb3J0IEJlaGF0c2RhYVNjcmFwZXIgZnJvbSAnLi9iZWhhdHNkYWEnO1xuXG5jb25zdCB0ZXN0c0NvbmZpZyA9IGdldFRlc3RzQ29uZmlnKCk7XG5cbmRlc2NyaWJlKCdCZWhhdHNkYWEgc2NyYXBlcicsICgpID0+IHtcbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBleHRlbmRBc3luY1RpbWVvdXQoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBleHBvc2UgbG9naW4gZmllbGRzIGluIHNjcmFwZXJzIGNvbnN0YW50JywgKCkgPT4ge1xuICAgIGV4cGVjdChTQ1JBUEVSU1tDb21wYW55VHlwZXMuYmVoYXRzZGFhXSkudG9CZURlZmluZWQoKTtcbiAgICBleHBlY3QoU0NSQVBFUlNbQ29tcGFueVR5cGVzLmJlaGF0c2RhYV0ubG9naW5GaWVsZHMpLnRvQ29udGFpbignaWQnKTtcbiAgICBleHBlY3QoU0NSQVBFUlNbQ29tcGFueVR5cGVzLmJlaGF0c2RhYV0ubG9naW5GaWVsZHMpLnRvQ29udGFpbigncGFzc3dvcmQnKTtcbiAgfSk7XG5cbiAgbWF5YmVUZXN0Q29tcGFueUFQSShDb21wYW55VHlwZXMuYmVoYXRzZGFhLCAoY29uZmlnKSA9PiBjb25maWcuY29tcGFueUFQSS5pbnZhbGlkUGFzc3dvcmQpKCdzaG91bGQgZmFpbCBvbiBpbnZhbGlkIHVzZXIvcGFzc3dvcmRcIicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzY3JhcGVyID0gbmV3IEJlaGF0c2RhYVNjcmFwZXIoe1xuICAgICAgLi4udGVzdHNDb25maWcub3B0aW9ucyxcbiAgICAgIGNvbXBhbnlJZDogQ29tcGFueVR5cGVzLmJlaGF0c2RhYSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHNjcmFwZXIuc2NyYXBlKHsgaWQ6ICdmb29mb29mb28nLCBwYXNzd29yZDogJ2JhcmJhcmJhcicgfSk7XG5cbiAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChyZXN1bHQuc3VjY2VzcykudG9CZUZhbHN5KCk7XG4gICAgZXhwZWN0KHJlc3VsdC5lcnJvclR5cGUpLnRvQmUoTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZCk7XG4gIH0pO1xuXG4gIG1heWJlVGVzdENvbXBhbnlBUEkoQ29tcGFueVR5cGVzLmJlaGF0c2RhYSkoJ3Nob3VsZCBzY3JhcGUgdHJhbnNhY3Rpb25zJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHNjcmFwZXIgPSBuZXcgQmVoYXRzZGFhU2NyYXBlcih7XG4gICAgICAuLi50ZXN0c0NvbmZpZy5vcHRpb25zLFxuICAgICAgY29tcGFueUlkOiBDb21wYW55VHlwZXMuYmVoYXRzZGFhLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2NyYXBlci5zY3JhcGUodGVzdHNDb25maWcuY3JlZGVudGlhbHNbQ29tcGFueVR5cGVzLmJlaGF0c2RhYV0pO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KHJlc3VsdC5lcnJvck1lc3NhZ2UpLnRvQmVGYWxzeSgpO1xuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JUeXBlKS50b0JlRmFsc3koKTtcbiAgICBleHBlY3QocmVzdWx0LnN1Y2Nlc3MpLnRvQmVUcnV0aHkoKTtcbiAgICBleHBlY3QocmVzdWx0LmFjY291bnRzKS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChyZXN1bHQuYWNjb3VudHMpLnRvSGF2ZUxlbmd0aCgxKTtcbiAgICBleHBvcnRUcmFuc2FjdGlvbnMoQ29tcGFueVR5cGVzLmJlaGF0c2RhYSwgcmVzdWx0LmFjY291bnRzIHx8IFtdKTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsWUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBR0EsSUFBQUUsdUJBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUEyQyxTQUFBSSx1QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUFBLFNBQUFHLFFBQUFILENBQUEsRUFBQUksQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBUCxDQUFBLE9BQUFNLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFSLENBQUEsR0FBQUksQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVgsQ0FBQSxFQUFBSSxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBZixDQUFBLGFBQUFJLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFDLE1BQUEsRUFBQWIsQ0FBQSxVQUFB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
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVmaW5pdGlvbnMiLCJyZXF1aXJlIiwiX3Rlc3RzVXRpbHMiLCJfYmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsIl9iZWhhdHNkYWEiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidGVzdHNDb25maWciLCJnZXRUZXN0c0NvbmZpZyIsImRlc2NyaWJlIiwiYmVmb3JlQWxsIiwiZXh0ZW5kQXN5bmNUaW1lb3V0IiwiaXQiLCJleHBlY3QiLCJTQ1JBUEVSUyIsIkNvbXBhbnlUeXBlcyIsImJlaGF0c2RhYSIsInRvQmVEZWZpbmVkIiwibG9naW5GaWVsZHMiLCJ0b0NvbnRhaW4iLCJtYXliZVRlc3RDb21wYW55QVBJIiwiY29uZmlnIiwiY29tcGFueUFQSSIsImludmFsaWRQYXNzd29yZCIsInNjcmFwZXIiLCJCZWhhdHNkYWFTY3JhcGVyIiwib3B0aW9ucyIsImNvbXBhbnlJZCIsInJlc3VsdCIsInNjcmFwZSIsImlkIiwicGFzc3dvcmQiLCJzdWNjZXNzIiwidG9CZUZhbHN5IiwiZXJyb3JUeXBlIiwidG9CZSIsIkxvZ2luUmVzdWx0cyIsIkludmFsaWRQYXNzd29yZCIsImNyZWRlbnRpYWxzIiwiZXJyb3JNZXNzYWdlIiwidG9CZVRydXRoeSIsImFjY291bnRzIiwidG9IYXZlTGVuZ3RoIiwiZXhwb3J0VHJhbnNhY3Rpb25zIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmFwZXJzL2JlaGF0c2RhYS50ZXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBhbnlUeXBlcywgU0NSQVBFUlMgfSBmcm9tICcuLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBleHBvcnRUcmFuc2FjdGlvbnMsIGV4dGVuZEFzeW5jVGltZW91dCwgZ2V0VGVzdHNDb25maWcsIG1heWJlVGVzdENvbXBhbnlBUEkgfSBmcm9tICcuLi90ZXN0cy90ZXN0cy11dGlscyc7XG5pbXBvcnQgeyBMb2dpblJlc3VsdHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlci13aXRoLWJyb3dzZXInO1xuaW1wb3J0IEJlaGF0c2RhYVNjcmFwZXIgZnJvbSAnLi9iZWhhdHNkYWEnO1xuXG5jb25zdCB0ZXN0c0NvbmZpZyA9IGdldFRlc3RzQ29uZmlnKCk7XG5cbmRlc2NyaWJlKCdCZWhhdHNkYWEgc2NyYXBlcicsICgpID0+IHtcbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBleHRlbmRBc3luY1RpbWVvdXQoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBleHBvc2UgbG9naW4gZmllbGRzIGluIHNjcmFwZXJzIGNvbnN0YW50JywgKCkgPT4ge1xuICAgIGV4cGVjdChTQ1JBUEVSU1tDb21wYW55VHlwZXMuYmVoYXRzZGFhXSkudG9CZURlZmluZWQoKTtcbiAgICBleHBlY3QoU0NSQVBFUlNbQ29tcGFueVR5cGVzLmJlaGF0c2RhYV0ubG9naW5GaWVsZHMpLnRvQ29udGFpbignaWQnKTtcbiAgICBleHBlY3QoU0NSQVBFUlNbQ29tcGFueVR5cGVzLmJlaGF0c2RhYV0ubG9naW5GaWVsZHMpLnRvQ29udGFpbigncGFzc3dvcmQnKTtcbiAgfSk7XG5cbiAgbWF5YmVUZXN0Q29tcGFueUFQSShDb21wYW55VHlwZXMuYmVoYXRzZGFhLCBjb25maWcgPT4gY29uZmlnLmNvbXBhbnlBUEkuaW52YWxpZFBhc3N3b3JkKShcbiAgICAnc2hvdWxkIGZhaWwgb24gaW52YWxpZCB1c2VyL3Bhc3N3b3JkXCInLFxuICAgIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHNjcmFwZXIgPSBuZXcgQmVoYXRzZGFhU2NyYXBlcih7XG4gICAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICAgIGNvbXBhbnlJZDogQ29tcGFueVR5cGVzLmJlaGF0c2RhYSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzY3JhcGVyLnNjcmFwZSh7IGlkOiAnZm9vZm9vZm9vJywgcGFzc3dvcmQ6ICdiYXJiYXJiYXInIH0pO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5zdWNjZXNzKS50b0JlRmFsc3koKTtcbiAgICAgIGV4cGVjdChyZXN1bHQuZXJyb3JUeXBlKS50b0JlKExvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmQpO1xuICAgIH0sXG4gICk7XG5cbiAgbWF5YmVUZXN0Q29tcGFueUFQSShDb21wYW55VHlwZXMuYmVoYXRzZGFhKSgnc2hvdWxkIHNjcmFwZSB0cmFuc2FjdGlvbnMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc2NyYXBlciA9IG5ldyBCZWhhdHNkYWFTY3JhcGVyKHtcbiAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICBjb21wYW55SWQ6IENvbXBhbnlUeXBlcy5iZWhhdHNkYWEsXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzY3JhcGVyLnNjcmFwZSh0ZXN0c0NvbmZpZy5jcmVkZW50aWFsc1tDb21wYW55VHlwZXMuYmVoYXRzZGFhXSk7XG4gICAgZXhwZWN0KHJlc3VsdCkudG9CZURlZmluZWQoKTtcbiAgICBleHBlY3QocmVzdWx0LmVycm9yTWVzc2FnZSkudG9CZUZhbHN5KCk7XG4gICAgZXhwZWN0KHJlc3VsdC5lcnJvclR5cGUpLnRvQmVGYWxzeSgpO1xuICAgIGV4cGVjdChyZXN1bHQuc3VjY2VzcykudG9CZVRydXRoeSgpO1xuICAgIGV4cGVjdChyZXN1bHQuYWNjb3VudHMpLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KHJlc3VsdC5hY2NvdW50cykudG9IYXZlTGVuZ3RoKDEpO1xuICAgIGV4cG9ydFRyYW5zYWN0aW9ucyhDb21wYW55VHlwZXMuYmVoYXRzZGFhLCByZXN1bHQuYWNjb3VudHMgfHwgW10pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLHVCQUFBLEdB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