israeli-bank-scrapers 1.12.0 → 1.12.1

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.
@@ -323,10 +323,10 @@ async function fetchTransactions(page, startDate, scraperOptions) {
323
323
 
324
324
  async function fetchFutureDebits(page) {
325
325
  const futureDebitsSelector = '.homepage-banks-top';
326
- const debitMountClass = 'amount';
327
- const debitWhenChargeClass = 'when-charge';
328
- const debitBankNumberClass = 'bankDesc';
329
326
  const result = await (0, _elementsInteractions.pageEvalAll)(page, futureDebitsSelector, [], items => {
327
+ const debitMountClass = 'amount';
328
+ const debitWhenChargeClass = 'when-charge';
329
+ const debitBankNumberClass = 'bankDesc';
330
330
  return items.map(currBankEl => {
331
331
  const amount = currBankEl.getElementsByClassName(debitMountClass)[0].innerText;
332
332
  const whenCharge = currBankEl.getElementsByClassName(debitWhenChargeClass)[0].innerText;
@@ -412,4 +412,4 @@ class VisaCalScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
412
412
 
413
413
  var _default = VisaCalScraper;
414
414
  exports.default = _default;
415
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy92aXNhLWNhbC50cyJdLCJuYW1lcyI6WyJMT0dJTl9VUkwiLCJUUkFOU0FDVElPTlNfVVJMIiwiTE9OR19EQVRFX0ZPUk1BVCIsIkRBVEVfRk9STUFUIiwiSW52YWxpZFBhc3N3b3JkTWVzc2FnZSIsImRlYnVnIiwiZ2V0TG9naW5GcmFtZSIsInBhZ2UiLCJmcmFtZSIsImZyYW1lcyIsImZpbmQiLCJmIiwidXJsIiwiaW5jbHVkZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkVycm9yIiwiaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IiLCJlcnJvckZvdW5kIiwiZXJyb3JNZXNzYWdlIiwiaXRlbSIsImlubmVyVGV4dCIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJvcHRpb25zIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZ2V0QW1vdW50RGF0YSIsImFtb3VudFN0ciIsImFtb3VudFN0ckNsbiIsInJlcGxhY2UiLCJjdXJyZW5jeSIsImFtb3VudCIsIlNIRUtFTF9DVVJSRU5DWV9TWU1CT0wiLCJwYXJzZUZsb2F0IiwiU0hFS0VMX0NVUlJFTkNZIiwiRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCIsIkRPTExBUl9DVVJSRU5DWSIsIkVVUk9fQ1VSUkVOQ1lfU1lNQk9MIiwiRVVST19DVVJSRU5DWSIsInBhcnRzIiwic3BsaXQiLCJnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyIsIm1lbW8iLCJwYXJzZWRNZW1vIiwiZXhlYyIsImxlbmd0aCIsIm51bWJlciIsInBhcnNlSW50IiwidG90YWwiLCJjb252ZXJ0VHJhbnNhY3Rpb25zIiwidHhucyIsIm1hcCIsInR4biIsIm9yaWdpbmFsQW1vdW50VHVwbGUiLCJvcmlnaW5hbEFtb3VudCIsImNoYXJnZWRBbW91bnRUdXBsZSIsImNoYXJnZWRBbW91bnQiLCJpbnN0YWxsbWVudHMiLCJ0eG5EYXRlIiwiZGF0ZSIsInByb2Nlc3NlZERhdGVGb3JtYXQiLCJwcm9jZXNzZWREYXRlIiwidHhuUHJvY2Vzc2VkRGF0ZSIsInJlc3VsdCIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiSW5zdGFsbG1lbnRzIiwiTm9ybWFsIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsImFkZCIsInRvSVNPU3RyaW5nIiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRDdXJyZW5jeSIsImRlc2NyaXB0aW9uIiwiZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50Iiwic3RhcnREYXRlIiwiYWNjb3VudE51bWJlciIsInNjcmFwZXJPcHRpb25zIiwic3RhcnREYXRlVmFsdWUiLCJmb3JtYXQiLCJkYXRlU2VsZWN0b3IiLCJkYXRlSGlkZGVuRmllbGRTZWxlY3RvciIsImJ1dHRvblNlbGVjdG9yIiwibmV4dFBhZ2VTZWxlY3RvciIsImJpbGxpbmdMYWJlbFNlbGVjdG9yIiwic2Vjb25kYXJ5QmlsbGluZ0xhYmVsU2VsZWN0b3IiLCJub0RhdGFTZWxlY3RvciIsIml0ZW1zIiwiZWwiLCJzdGFydERhdGVJbmRleCIsImZpbmRJbmRleCIsIm9wdGlvbiIsImFjY291bnRUcmFuc2FjdGlvbnMiLCJjdXJyZW50RGF0ZUluZGV4Iiwid2FpdEZvciIsImFsbCIsIndhaXRGb3JOYXZpZ2F0aW9uIiwid2FpdFVudGlsIiwicGFnZUhhc05vVHJhbnNhY3Rpb25zIiwiZWxlbWVudCIsInNpdGVWYWx1ZSIsImJpbGxpbmdEYXRlTGFiZWwiLCJzZXR0bGVtZW50RGF0ZVJlZ2V4IiwiYmlsbGluZ0RhdGUiLCJoYXNOZXh0UGFnZSIsInJhd1RyYW5zYWN0aW9ucyIsImNvbHVtbnMiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsInB1c2giLCJmaWx0ZXIiLCJjb21iaW5lSW5zdGFsbG1lbnRzIiwic3Vic3RyaW5nIiwiZ2V0QWNjb3VudE51bWJlcnMiLCJlbGVtZW50cyIsImUiLCJ0ZXh0IiwidGhlbiIsInJlcyIsInRyaW0iLCJzZXRBY2NvdW50IiwiYWNjb3VudCIsImVsZW0iLCJhIiwiY2xpY2siLCJmZXRjaFRyYW5zYWN0aW9ucyIsImFjY291bnROdW1iZXJzIiwiYWNjb3VudHMiLCJmZXRjaEZ1dHVyZURlYml0cyIsImZ1dHVyZURlYml0c1NlbGVjdG9yIiwiZGViaXRNb3VudENsYXNzIiwiZGViaXRXaGVuQ2hhcmdlQ2xhc3MiLCJkZWJpdEJhbmtOdW1iZXJDbGFzcyIsImN1cnJCYW5rRWwiLCJnZXRFbGVtZW50c0J5Q2xhc3NOYW1lIiwid2hlbkNoYXJnZSIsImJhbmtOdW1iZXIiLCJmdXR1cmVEZWJpdHMiLCJhbW91bnREYXRhIiwiY2hhcmdlRGF0ZSIsImJhbmtBY2NvdW50TnVtYmVyIiwiYW1vdW50Q3VycmVuY3kiLCJWaXNhQ2FsU2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwicG9zc2libGVSZXN1bHRzIiwiY2hlY2tSZWFkaW5lc3MiLCJwcmVBY3Rpb24iLCJvcGVuTG9naW5Qb3B1cCIsInVzZXJBZ2VudCIsImZldGNoRGF0YSIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0IiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJuYXZpZ2F0ZVRvIiwidW5kZWZpbmVkIiwic3VjY2VzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFHQTs7QUFRQTs7QUFHQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsTUFBTUEsU0FBUyxHQUFHLCtCQUFsQjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLHVGQUF6QjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLFlBQXpCO0FBQ0EsTUFBTUMsV0FBVyxHQUFHLFVBQXBCO0FBQ0EsTUFBTUMsc0JBQXNCLEdBQUcsbUNBQS9CO0FBRUEsTUFBTUMsS0FBSyxHQUFHLHFCQUFTLFVBQVQsQ0FBZDs7QUFXQSxlQUFlQyxhQUFmLENBQTZCQyxJQUE3QixFQUF5QztBQUN2QyxNQUFJQyxLQUFtQixHQUFHLElBQTFCO0FBQ0FILEVBQUFBLEtBQUssQ0FBQyw4QkFBRCxDQUFMO0FBQ0EsUUFBTSx3QkFBVSxNQUFNO0FBQ3BCRyxJQUFBQSxLQUFLLEdBQUdELElBQUksQ0FDVEUsTUFESyxHQUVMQyxJQUZLLENBRUNDLENBQUQsSUFBT0EsQ0FBQyxDQUFDQyxHQUFGLEdBQVFDLFFBQVIsQ0FBaUIsb0JBQWpCLENBRlAsS0FFa0QsSUFGMUQ7QUFHQSxXQUFPQyxPQUFPLENBQUNDLE9BQVIsQ0FBZ0IsQ0FBQyxDQUFDUCxLQUFsQixDQUFQO0FBQ0QsR0FMSyxFQUtILGlDQUxHLEVBS2dDLEtBTGhDLEVBS3VDLElBTHZDLENBQU47O0FBT0EsTUFBSSxDQUFDQSxLQUFMLEVBQVk7QUFDVkgsSUFBQUEsS0FBSyxDQUFDLDJDQUFELENBQUw7QUFDQSxVQUFNLElBQUlXLEtBQUosQ0FBVSxnQ0FBVixDQUFOO0FBQ0Q7O0FBRUQsU0FBT1IsS0FBUDtBQUNEOztBQUVELGVBQWVTLHVCQUFmLENBQXVDVixJQUF2QyxFQUFtRDtBQUNqRCxRQUFNQyxLQUFLLEdBQUcsTUFBTUYsYUFBYSxDQUFDQyxJQUFELENBQWpDO0FBQ0EsUUFBTVcsVUFBVSxHQUFHLE1BQU0sZ0RBQXFCVixLQUFyQixFQUE0Qix5QkFBNUIsQ0FBekI7QUFDQSxRQUFNVyxZQUFZLEdBQUdELFVBQVUsR0FBRyxNQUFNLG9DQUFTVixLQUFULEVBQWdCLHlCQUFoQixFQUEyQyxFQUEzQyxFQUFnRFksSUFBRCxJQUFVO0FBQy9GLFdBQVFBLElBQUQsQ0FBeUJDLFNBQWhDO0FBQ0QsR0FGdUMsQ0FBVCxHQUUxQixFQUZMO0FBR0EsU0FBT0YsWUFBWSxLQUFLZixzQkFBeEI7QUFDRDs7QUFFRCxTQUFTa0IsdUJBQVQsR0FBbUM7QUFDakNqQixFQUFBQSxLQUFLLENBQUMsK0JBQUQsQ0FBTDtBQUNBLFFBQU1rQixJQUFxQyxHQUFHO0FBQzVDLEtBQUNDLHFDQUFhQyxPQUFkLEdBQXdCLENBQUMsb0JBQUQsQ0FEb0I7QUFFNUMsS0FBQ0QscUNBQWFFLGVBQWQsR0FBZ0MsQ0FBQyxNQUFPQyxPQUFQLElBQW9DO0FBQ25FLFlBQU1wQixJQUFJLEdBQUdvQixPQUFILGFBQUdBLE9BQUgsdUJBQUdBLE9BQU8sQ0FBRXBCLElBQXRCOztBQUNBLFVBQUksQ0FBQ0EsSUFBTCxFQUFXO0FBQ1QsZUFBTyxLQUFQO0FBQ0Q7O0FBQ0QsYUFBT1UsdUJBQXVCLENBQUNWLElBQUQsQ0FBOUI7QUFDRCxLQU4rQixDQUZZLENBUzVDO0FBQ0E7O0FBVjRDLEdBQTlDO0FBWUEsU0FBT2dCLElBQVA7QUFDRDs7QUFFRCxTQUFTSyxpQkFBVCxDQUEyQkMsV0FBM0IsRUFBNEQ7QUFDMUR4QixFQUFBQSxLQUFLLENBQUMsK0NBQUQsQ0FBTDtBQUNBLFNBQU8sQ0FDTDtBQUFFeUIsSUFBQUEsUUFBUSxFQUFFLDhCQUFaO0FBQTRDQyxJQUFBQSxLQUFLLEVBQUVGLFdBQVcsQ0FBQ0c7QUFBL0QsR0FESyxFQUVMO0FBQUVGLElBQUFBLFFBQVEsRUFBRSw4QkFBWjtBQUE0Q0MsSUFBQUEsS0FBSyxFQUFFRixXQUFXLENBQUNJO0FBQS9ELEdBRkssQ0FBUDtBQUlEOztBQUdELFNBQVNDLGFBQVQsQ0FBdUJDLFNBQXZCLEVBQTBDO0FBQ3hDLFFBQU1DLFlBQVksR0FBR0QsU0FBUyxDQUFDRSxPQUFWLENBQWtCLEdBQWxCLEVBQXVCLEVBQXZCLENBQXJCO0FBQ0EsTUFBSUMsUUFBdUIsR0FBRyxJQUE5QjtBQUNBLE1BQUlDLE1BQXFCLEdBQUcsSUFBNUI7O0FBQ0EsTUFBSUgsWUFBWSxDQUFDdkIsUUFBYixDQUFzQjJCLGlDQUF0QixDQUFKLEVBQW1EO0FBQ2pERCxJQUFBQSxNQUFNLEdBQUcsQ0FBQ0UsVUFBVSxDQUFDTCxZQUFZLENBQUNDLE9BQWIsQ0FBcUJHLGlDQUFyQixFQUE2QyxFQUE3QyxDQUFELENBQXBCO0FBQ0FGLElBQUFBLFFBQVEsR0FBR0ksMEJBQVg7QUFDRCxHQUhELE1BR08sSUFBSU4sWUFBWSxDQUFDdkIsUUFBYixDQUFzQjhCLGlDQUF0QixDQUFKLEVBQW1EO0FBQ3hESixJQUFBQSxNQUFNLEdBQUcsQ0FBQ0UsVUFBVSxDQUFDTCxZQUFZLENBQUNDLE9BQWIsQ0FBcUJNLGlDQUFyQixFQUE2QyxFQUE3QyxDQUFELENBQXBCO0FBQ0FMLElBQUFBLFFBQVEsR0FBR00sMEJBQVg7QUFDRCxHQUhNLE1BR0EsSUFBSVIsWUFBWSxDQUFDdkIsUUFBYixDQUFzQmdDLCtCQUF0QixDQUFKLEVBQWlEO0FBQ3RETixJQUFBQSxNQUFNLEdBQUcsQ0FBQ0UsVUFBVSxDQUFDTCxZQUFZLENBQUNDLE9BQWIsQ0FBcUJRLCtCQUFyQixFQUEyQyxFQUEzQyxDQUFELENBQXBCO0FBQ0FQLElBQUFBLFFBQVEsR0FBR1Esd0JBQVg7QUFDRCxHQUhNLE1BR0E7QUFDTCxVQUFNQyxLQUFLLEdBQUdYLFlBQVksQ0FBQ1ksS0FBYixDQUFtQixHQUFuQixDQUFkO0FBQ0EsS0FBQ1YsUUFBRCxJQUFhUyxLQUFiO0FBQ0FSLElBQUFBLE1BQU0sR0FBRyxDQUFDRSxVQUFVLENBQUNNLEtBQUssQ0FBQyxDQUFELENBQU4sQ0FBcEI7QUFDRDs7QUFFRCxTQUFPO0FBQ0xSLElBQUFBLE1BREs7QUFFTEQsSUFBQUE7QUFGSyxHQUFQO0FBSUQ7O0FBRUQsU0FBU1csMEJBQVQsQ0FBb0NDLElBQXBDLEVBQWtGO0FBQ2hGLFFBQU1DLFVBQVUsR0FBSSx3QkFBRCxDQUEyQkMsSUFBM0IsQ0FBZ0NGLElBQUksSUFBSSxFQUF4QyxDQUFuQjs7QUFFQSxNQUFJLENBQUNDLFVBQUQsSUFBZUEsVUFBVSxDQUFDRSxNQUFYLEtBQXNCLENBQXpDLEVBQTRDO0FBQzFDLFdBQU8sSUFBUDtBQUNEOztBQUVELFNBQU87QUFDTEMsSUFBQUEsTUFBTSxFQUFFQyxRQUFRLENBQUNKLFVBQVUsQ0FBQyxDQUFELENBQVgsRUFBZ0IsRUFBaEIsQ0FEWDtBQUVMSyxJQUFBQSxLQUFLLEVBQUVELFFBQVEsQ0FBQ0osVUFBVSxDQUFDLENBQUQsQ0FBWCxFQUFnQixFQUFoQjtBQUZWLEdBQVA7QUFJRDs7QUFDRCxTQUFTTSxtQkFBVCxDQUE2QkMsSUFBN0IsRUFBd0U7QUFDdEVyRCxFQUFBQSxLQUFLLENBQUUsV0FBVXFELElBQUksQ0FBQ0wsTUFBTyxxREFBeEIsQ0FBTDtBQUNBLFNBQU9LLElBQUksQ0FBQ0MsR0FBTCxDQUFVQyxHQUFELElBQVM7QUFDdkIsVUFBTUMsbUJBQW1CLEdBQUczQixhQUFhLENBQUMwQixHQUFHLENBQUNFLGNBQUosSUFBc0IsRUFBdkIsQ0FBekM7QUFDQSxVQUFNQyxrQkFBa0IsR0FBRzdCLGFBQWEsQ0FBQzBCLEdBQUcsQ0FBQ0ksYUFBSixJQUFxQixFQUF0QixDQUF4QztBQUVBLFVBQU1DLFlBQVksR0FBR2hCLDBCQUEwQixDQUFDVyxHQUFHLENBQUNWLElBQUwsQ0FBL0M7QUFDQSxVQUFNZ0IsT0FBTyxHQUFHLHFCQUFPTixHQUFHLENBQUNPLElBQVgsRUFBaUJoRSxXQUFqQixDQUFoQjtBQUNBLFVBQU1pRSxtQkFBbUIsR0FDdkJSLEdBQUcsQ0FBQ1MsYUFBSixDQUFrQmhCLE1BQWxCLEtBQTZCLENBQTdCLEdBQ0VsRCxXQURGLEdBRUV5RCxHQUFHLENBQUNTLGFBQUosQ0FBa0JoQixNQUFsQixLQUE2QixDQUE3QixJQUFrQ08sR0FBRyxDQUFDUyxhQUFKLENBQWtCaEIsTUFBbEIsS0FBNkIsRUFBL0QsR0FDRW5ELGdCQURGLEdBRUUsSUFMTjs7QUFNQSxRQUFJLENBQUNrRSxtQkFBTCxFQUEwQjtBQUN4QixZQUFNLElBQUlwRCxLQUFKLENBQVUsd0JBQVYsQ0FBTjtBQUNEOztBQUNELFVBQU1zRCxnQkFBZ0IsR0FBRyxxQkFBT1YsR0FBRyxDQUFDUyxhQUFYLEVBQTBCRCxtQkFBMUIsQ0FBekI7QUFFQSxVQUFNRyxNQUFtQixHQUFHO0FBQzFCQyxNQUFBQSxJQUFJLEVBQUVQLFlBQVksR0FBR1EsK0JBQWlCQyxZQUFwQixHQUFtQ0QsK0JBQWlCRSxNQUQ1QztBQUUxQkMsTUFBQUEsTUFBTSxFQUFFQyxrQ0FBb0JDLFNBRkY7QUFHMUJYLE1BQUFBLElBQUksRUFBRUYsWUFBWSxHQUFHQyxPQUFPLENBQUNhLEdBQVIsQ0FBWWQsWUFBWSxDQUFDWCxNQUFiLEdBQXNCLENBQWxDLEVBQXFDLE9BQXJDLEVBQThDMEIsV0FBOUMsRUFBSCxHQUFpRWQsT0FBTyxDQUFDYyxXQUFSLEVBSHpEO0FBSTFCWCxNQUFBQSxhQUFhLEVBQUVDLGdCQUFnQixDQUFDVSxXQUFqQixFQUpXO0FBSzFCbEIsTUFBQUEsY0FBYyxFQUFFRCxtQkFBbUIsQ0FBQ3RCLE1BTFY7QUFNMUIwQyxNQUFBQSxnQkFBZ0IsRUFBRXBCLG1CQUFtQixDQUFDdkIsUUFOWjtBQU8xQjBCLE1BQUFBLGFBQWEsRUFBRUQsa0JBQWtCLENBQUN4QixNQVBSO0FBUTFCMkMsTUFBQUEsZUFBZSxFQUFFbkIsa0JBQWtCLENBQUN6QixRQVJWO0FBUzFCNkMsTUFBQUEsV0FBVyxFQUFFdkIsR0FBRyxDQUFDdUIsV0FBSixJQUFtQixFQVROO0FBVTFCakMsTUFBQUEsSUFBSSxFQUFFVSxHQUFHLENBQUNWLElBQUosSUFBWTtBQVZRLEtBQTVCOztBQWFBLFFBQUllLFlBQUosRUFBa0I7QUFDaEJNLE1BQUFBLE1BQU0sQ0FBQ04sWUFBUCxHQUFzQkEsWUFBdEI7QUFDRDs7QUFFRCxXQUFPTSxNQUFQO0FBQ0QsR0FuQ00sQ0FBUDtBQW9DRDs7QUFFRCxlQUFlYSwyQkFBZixDQUEyQzdFLElBQTNDLEVBQXVEOEUsU0FBdkQsRUFBMEVDLGFBQTFFLEVBQWlHQyxjQUFqRyxFQUE4SjtBQUM1SixRQUFNQyxjQUFjLEdBQUdILFNBQVMsQ0FBQ0ksTUFBVixDQUFpQixTQUFqQixDQUF2QjtBQUNBLFFBQU1DLFlBQVksR0FBRywrREFBckI7QUFDQSxRQUFNQyx1QkFBdUIsR0FBRyxtRUFBaEM7QUFDQSxRQUFNQyxjQUFjLEdBQUcsb0RBQXZCO0FBQ0EsUUFBTUMsZ0JBQWdCLEdBQUcsd0RBQXpCO0FBQ0EsUUFBTUMsb0JBQW9CLEdBQUcsMkRBQTdCO0FBQ0EsUUFBTUMsNkJBQTZCLEdBQUcsZ0VBQXRDO0FBQ0EsUUFBTUMsY0FBYyxHQUFHLHFEQUF2QjtBQUVBM0YsRUFBQUEsS0FBSyxDQUFDLDBDQUFELENBQUw7QUFDQSxRQUFNc0IsT0FBTyxHQUFHLE1BQU0sdUNBQVlwQixJQUFaLEVBQWtCLHFFQUFsQixFQUF5RixFQUF6RixFQUE4RjBGLEtBQUQsSUFBVztBQUM1SCxXQUFPQSxLQUFLLENBQUN0QyxHQUFOLENBQVd1QyxFQUFELElBQWFBLEVBQUUsQ0FBQzdFLFNBQTFCLENBQVA7QUFDRCxHQUZxQixDQUF0QjtBQUdBLFFBQU04RSxjQUFjLEdBQUd4RSxPQUFPLENBQUN5RSxTQUFSLENBQW1CQyxNQUFELElBQVlBLE1BQU0sS0FBS2IsY0FBekMsQ0FBdkI7QUFFQW5GLEVBQUFBLEtBQUssQ0FBRSxVQUFTc0IsT0FBTyxDQUFDMEIsTUFBUixHQUFpQjhDLGNBQWUsaUJBQTNDLENBQUw7QUFDQSxRQUFNRyxtQkFBa0MsR0FBRyxFQUEzQzs7QUFDQSxPQUFLLElBQUlDLGdCQUFnQixHQUFHSixjQUE1QixFQUE0Q0ksZ0JBQWdCLEdBQUc1RSxPQUFPLENBQUMwQixNQUF2RSxFQUErRWtELGdCQUFnQixJQUFJLENBQW5HLEVBQXNHO0FBQ3BHbEcsSUFBQUEsS0FBSyxDQUFDLG9DQUFELENBQUw7QUFDQSxVQUFNLGlEQUFzQkUsSUFBdEIsRUFBNEJtRixZQUE1QixFQUEwQyxJQUExQyxDQUFOO0FBQ0FyRixJQUFBQSxLQUFLLENBQUUseURBQXdEa0csZ0JBQWlCLEVBQTNFLENBQUw7QUFDQSxVQUFNLG9DQUFTaEcsSUFBVCxFQUFlb0YsdUJBQWYsRUFBeUMsR0FBRVksZ0JBQWlCLEVBQTVELENBQU47QUFDQWxHLElBQUFBLEtBQUssQ0FBQyx1RUFBRCxDQUFMO0FBQ0EsVUFBTUUsSUFBSSxDQUFDaUcsT0FBTCxDQUFhLElBQWIsQ0FBTjtBQUNBbkcsSUFBQUEsS0FBSyxDQUFDLDJEQUFELENBQUw7QUFDQSxVQUFNUyxPQUFPLENBQUMyRixHQUFSLENBQVksQ0FDaEJsRyxJQUFJLENBQUNtRyxpQkFBTCxDQUF1QjtBQUFFQyxNQUFBQSxTQUFTLEVBQUU7QUFBYixLQUF2QixDQURnQixFQUVoQix1Q0FBWXBHLElBQVosRUFBa0JxRixjQUFsQixDQUZnQixDQUFaLENBQU47QUFJQXZGLElBQUFBLEtBQUssQ0FBQyxvQ0FBRCxDQUFMO0FBQ0EsVUFBTXVHLHFCQUFxQixHQUFHLE1BQU0sb0NBQVNyRyxJQUFULEVBQWV5RixjQUFmLEVBQStCLEtBQS9CLEVBQXdDYSxPQUFELElBQWE7QUFDdEYsWUFBTUMsU0FBUyxHQUFHLENBQUVELE9BQUQsQ0FBNkJ4RixTQUE3QixJQUEwQyxFQUEzQyxFQUErQ2dCLE9BQS9DLENBQXVELFVBQXZELEVBQW1FLEVBQW5FLENBQWxCO0FBQ0EsYUFBT3lFLFNBQVMsS0FBSyxpQkFBckI7QUFDRCxLQUhtQyxDQUFwQzs7QUFLQSxRQUFJRixxQkFBSixFQUEyQjtBQUN6QnZHLE1BQUFBLEtBQUssQ0FBQywwQkFBRCxDQUFMO0FBQ0QsS0FGRCxNQUVPO0FBQUE7O0FBQ0xBLE1BQUFBLEtBQUssQ0FBQyx1QkFBRCxDQUFMO0FBQ0EsVUFBSTBHLGdCQUFnQixHQUFHLE1BQU0sb0NBQVN4RyxJQUFULEVBQWV1RixvQkFBZixFQUFxQyxFQUFyQyxFQUEyQ2UsT0FBRCxJQUFhO0FBQ2xGLGVBQVFBLE9BQUQsQ0FBNkJ4RixTQUFwQztBQUNELE9BRjRCLENBQTdCO0FBR0EsVUFBSTJGLG1CQUFtQixHQUFHLDJCQUExQjs7QUFFQSxVQUFJRCxnQkFBZ0IsS0FBSyxFQUF6QixFQUE2QjtBQUMzQkEsUUFBQUEsZ0JBQWdCLEdBQUcsTUFBTSxvQ0FBU3hHLElBQVQsRUFBZXdGLDZCQUFmLEVBQThDLEVBQTlDLEVBQW9EYyxPQUFELElBQWE7QUFDdkYsaUJBQVFBLE9BQUQsQ0FBNkJ4RixTQUFwQztBQUNELFNBRndCLENBQXpCO0FBR0EyRixRQUFBQSxtQkFBbUIsR0FBRyxtQkFBdEI7QUFDRDs7QUFFRCxZQUFNQyxXQUFXLDRCQUFHRCxtQkFBbUIsQ0FBQzVELElBQXBCLENBQXlCMkQsZ0JBQXpCLENBQUgsMERBQUcsc0JBQTZDLENBQTdDLENBQXBCOztBQUVBLFVBQUksQ0FBQ0UsV0FBTCxFQUFrQjtBQUNoQixjQUFNLElBQUlqRyxLQUFKLENBQVUsOEJBQVYsQ0FBTjtBQUNEOztBQUVEWCxNQUFBQSxLQUFLLENBQUUseUNBQXdDNEcsV0FBWSxFQUF0RCxDQUFMO0FBQ0EsVUFBSUMsV0FBVyxHQUFHLEtBQWxCOztBQUNBLFNBQUc7QUFDRDdHLFFBQUFBLEtBQUssQ0FBQyxrQ0FBRCxDQUFMO0FBQ0EsY0FBTThHLGVBQWUsR0FBRyxNQUFNLHVDQUEyQzVHLElBQTNDLEVBQWlELHVEQUFqRCxFQUEwRyxFQUExRyxFQUE4RyxDQUFDMEYsS0FBRCxFQUFRZ0IsV0FBUixLQUF3QjtBQUNsSyxpQkFBUWhCLEtBQUQsQ0FBUXRDLEdBQVIsQ0FBYXVDLEVBQUQsSUFBUTtBQUN6QixrQkFBTWtCLE9BQU8sR0FBR2xCLEVBQUUsQ0FBQ21CLG9CQUFILENBQXdCLElBQXhCLENBQWhCOztBQUNBLGdCQUFJRCxPQUFPLENBQUMvRCxNQUFSLEtBQW1CLENBQXZCLEVBQTBCO0FBQ3hCLHFCQUFPO0FBQ0xnQixnQkFBQUEsYUFBYSxFQUFFK0MsT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUFXL0YsU0FEckI7QUFFTDhDLGdCQUFBQSxJQUFJLEVBQUVpRCxPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVcvRixTQUZaO0FBR0w4RCxnQkFBQUEsV0FBVyxFQUFFaUMsT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUFXL0YsU0FIbkI7QUFJTHlDLGdCQUFBQSxjQUFjLEVBQUVzRCxPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVcvRixTQUp0QjtBQUtMMkMsZ0JBQUFBLGFBQWEsRUFBRW9ELE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBVy9GLFNBTHJCO0FBTUw2QixnQkFBQUEsSUFBSSxFQUFFa0UsT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUFXL0Y7QUFOWixlQUFQO0FBUUQ7O0FBQ0QsZ0JBQUkrRixPQUFPLENBQUMvRCxNQUFSLEtBQW1CLENBQXZCLEVBQTBCO0FBQ3hCLHFCQUFPO0FBQ0xnQixnQkFBQUEsYUFBYSxFQUFFNEMsV0FEVjtBQUVMOUMsZ0JBQUFBLElBQUksRUFBRWlELE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBVy9GLFNBRlo7QUFHTDhELGdCQUFBQSxXQUFXLEVBQUVpQyxPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVcvRixTQUhuQjtBQUlMeUMsZ0JBQUFBLGNBQWMsRUFBRXNELE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBVy9GLFNBSnRCO0FBS0wyQyxnQkFBQUEsYUFBYSxFQUFFb0QsT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUFXL0YsU0FMckI7QUFNTDZCLGdCQUFBQSxJQUFJLEVBQUVrRSxPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVcvRjtBQU5aLGVBQVA7QUFRRDs7QUFDRCxtQkFBTyxJQUFQO0FBQ0QsV0F2Qk0sQ0FBUDtBQXdCRCxTQXpCNkIsRUF5QjNCNEYsV0F6QjJCLENBQTlCO0FBMEJBNUcsUUFBQUEsS0FBSyxDQUFFLFdBQVU4RyxlQUFlLENBQUM5RCxNQUFPLDZCQUFuQyxDQUFMO0FBQ0FpRCxRQUFBQSxtQkFBbUIsQ0FBQ2dCLElBQXBCLENBQXlCLEdBQUc3RCxtQkFBbUIsQ0FBRTBELGVBQUQsQ0FDN0NJLE1BRDZDLENBQ3JDbkcsSUFBRCxJQUFVLENBQUMsQ0FBQ0EsSUFEMEIsQ0FBRCxDQUEvQztBQUdBZixRQUFBQSxLQUFLLENBQUMscUNBQUQsQ0FBTDtBQUNBNkcsUUFBQUEsV0FBVyxHQUFHLE1BQU0sZ0RBQXFCM0csSUFBckIsRUFBMkJzRixnQkFBM0IsQ0FBcEI7O0FBQ0EsWUFBSXFCLFdBQUosRUFBaUI7QUFDZjdHLFVBQUFBLEtBQUssQ0FBQyxxRUFBRCxDQUFMO0FBQ0EsZ0JBQU1TLE9BQU8sQ0FBQzJGLEdBQVIsQ0FBWSxDQUNoQmxHLElBQUksQ0FBQ21HLGlCQUFMLENBQXVCO0FBQUVDLFlBQUFBLFNBQVMsRUFBRTtBQUFiLFdBQXZCLENBRGdCLEVBRWhCLE1BQU0sdUNBQVlwRyxJQUFaLEVBQWtCLHNEQUFsQixDQUZVLENBQVosQ0FBTjtBQUlEO0FBQ0YsT0F6Q0QsUUF5Q1MyRyxXQXpDVDtBQTBDRDtBQUNGOztBQUVEN0csRUFBQUEsS0FBSyxDQUFDLDRCQUFELENBQUw7QUFDQSxRQUFNcUQsSUFBSSxHQUFHLDBDQUFzQjRDLG1CQUF0QixFQUEyQ2pCLFNBQTNDLEVBQXNERSxjQUFjLENBQUNpQyxtQkFBZixJQUFzQyxLQUE1RixDQUFiO0FBQ0FuSCxFQUFBQSxLQUFLLENBQUUsU0FBUXFELElBQUksQ0FBQ0wsTUFBTyw4QkFBNkJpRCxtQkFBbUIsQ0FBQ2pELE1BQU8seUNBQXdDaUMsYUFBYSxDQUFDbUMsU0FBZCxDQUF3Qm5DLGFBQWEsQ0FBQ2pDLE1BQWQsR0FBdUIsQ0FBL0MsQ0FBa0QsRUFBeEssQ0FBTDtBQUNBLFNBQU87QUFDTGlDLElBQUFBLGFBREs7QUFFTDVCLElBQUFBO0FBRkssR0FBUDtBQUlEOztBQUVELGVBQWVnRSxpQkFBZixDQUFpQ25ILElBQWpDLEVBQWdFO0FBQzlELFNBQU8sdUNBQVlBLElBQVosRUFBa0IsZUFBbEIsRUFBbUMsRUFBbkMsRUFBd0NvSCxRQUFELElBQWNBLFFBQVEsQ0FBQ2hFLEdBQVQsQ0FBY2lFLENBQUQsSUFBUUEsQ0FBRCxDQUF5QkMsSUFBN0MsQ0FBckQsRUFBeUdDLElBQXpHLENBQStHQyxHQUFELElBQVNBLEdBQUcsQ0FBQ3BFLEdBQUosQ0FBU2tFLElBQUQ7QUFBQTs7QUFBQSxnQ0FBVSxPQUFPekUsSUFBUCxDQUFZeUUsSUFBSSxDQUFDRyxJQUFMLEVBQVosQ0FBViwyQ0FBVSxPQUEyQixDQUEzQixDQUFWLDZDQUEyQyxFQUEzQztBQUFBLEdBQVIsQ0FBdkgsQ0FBUDtBQUNEOztBQUVELGVBQWVDLFVBQWYsQ0FBMEIxSCxJQUExQixFQUFzQzJILE9BQXRDLEVBQXVEO0FBQ3JELFFBQU0sdUNBQ0ozSCxJQURJLEVBRUosZUFGSSxFQUdKLElBSEksRUFJSixDQUFDb0gsUUFBRCxFQUFXTyxPQUFYLEtBQXVCO0FBQ3JCLFNBQUssTUFBTUMsSUFBWCxJQUFtQlIsUUFBbkIsRUFBNkI7QUFDM0IsWUFBTVMsQ0FBQyxHQUFHRCxJQUFWOztBQUNBLFVBQUlDLENBQUMsQ0FBQ1AsSUFBRixDQUFPaEgsUUFBUCxDQUFnQnFILE9BQWhCLENBQUosRUFBOEI7QUFDNUJFLFFBQUFBLENBQUMsQ0FBQ0MsS0FBRjtBQUNEO0FBQ0Y7QUFDRixHQVhHLEVBWUpILE9BWkksQ0FBTjtBQWNEOztBQUVELGVBQWVJLGlCQUFmLENBQWlDL0gsSUFBakMsRUFBNkM4RSxTQUE3QyxFQUFnRUUsY0FBaEUsRUFBK0g7QUFDN0gsUUFBTWdELGNBQXdCLEdBQUcsTUFBTWIsaUJBQWlCLENBQUNuSCxJQUFELENBQXhEO0FBQ0EsUUFBTWlJLFFBQStCLEdBQUcsRUFBeEM7O0FBRUEsT0FBSyxNQUFNTixPQUFYLElBQXNCSyxjQUF0QixFQUFzQztBQUNwQ2xJLElBQUFBLEtBQUssQ0FBRSxvQkFBbUI2SCxPQUFRLEVBQTdCLENBQUw7QUFDQSxVQUFNRCxVQUFVLENBQUMxSCxJQUFELEVBQU8ySCxPQUFQLENBQWhCO0FBQ0EsVUFBTTNILElBQUksQ0FBQ2lHLE9BQUwsQ0FBYSxJQUFiLENBQU47QUFDQWdDLElBQUFBLFFBQVEsQ0FBQ2xCLElBQVQsRUFDRSxNQUFNbEMsMkJBQTJCLENBQy9CN0UsSUFEK0IsRUFFL0I4RSxTQUYrQixFQUcvQjZDLE9BSCtCLEVBSS9CM0MsY0FKK0IsQ0FEbkM7QUFRRDs7QUFFRCxTQUFPaUQsUUFBUDtBQUNEOztBQUVELGVBQWVDLGlCQUFmLENBQWlDbEksSUFBakMsRUFBNkM7QUFDM0MsUUFBTW1JLG9CQUFvQixHQUFHLHFCQUE3QjtBQUNBLFFBQU1DLGVBQWUsR0FBRyxRQUF4QjtBQUNBLFFBQU1DLG9CQUFvQixHQUFHLGFBQTdCO0FBQ0EsUUFBTUMsb0JBQW9CLEdBQUcsVUFBN0I7QUFFQSxRQUFNdEUsTUFBTSxHQUFHLE1BQU0sdUNBQVloRSxJQUFaLEVBQWtCbUksb0JBQWxCLEVBQXdDLEVBQXhDLEVBQTZDekMsS0FBRCxJQUFXO0FBQzFFLFdBQU9BLEtBQUssQ0FBQ3RDLEdBQU4sQ0FBV21GLFVBQUQsSUFBcUI7QUFDcEMsWUFBTXZHLE1BQU0sR0FBR3VHLFVBQVUsQ0FBQ0Msc0JBQVgsQ0FBa0NKLGVBQWxDLEVBQW1ELENBQW5ELEVBQXNEdEgsU0FBckU7QUFDQSxZQUFNMkgsVUFBVSxHQUFHRixVQUFVLENBQUNDLHNCQUFYLENBQWtDSCxvQkFBbEMsRUFBd0QsQ0FBeEQsRUFBMkR2SCxTQUE5RTtBQUNBLFlBQU00SCxVQUFVLEdBQUdILFVBQVUsQ0FBQ0Msc0JBQVgsQ0FBa0NGLG9CQUFsQyxFQUF3RCxDQUF4RCxFQUEyRHhILFNBQTlFO0FBQ0EsYUFBTztBQUNMa0IsUUFBQUEsTUFESztBQUVMeUcsUUFBQUEsVUFGSztBQUdMQyxRQUFBQTtBQUhLLE9BQVA7QUFLRCxLQVRNLENBQVA7QUFVRCxHQVhvQixDQUFyQjtBQVlBLFFBQU1DLFlBQVksR0FBRzNFLE1BQU0sQ0FBQ1osR0FBUCxDQUFZdkMsSUFBRCxJQUFVO0FBQUE7O0FBQ3hDLFVBQU0rSCxVQUFVLEdBQUdqSCxhQUFhLENBQUNkLElBQUksQ0FBQ21CLE1BQU4sQ0FBaEM7QUFDQSxVQUFNNkcsVUFBVSxjQUFHLDRCQUE0QmhHLElBQTVCLENBQWlDaEMsSUFBSSxDQUFDNEgsVUFBdEMsQ0FBSCw0Q0FBRyxRQUFvRCxDQUFwRCxDQUFuQjtBQUNBLFVBQU1LLGlCQUFpQixjQUFHLFVBQVVqRyxJQUFWLENBQWVoQyxJQUFJLENBQUM2SCxVQUFwQixDQUFILDRDQUFHLFFBQWtDLENBQWxDLENBQTFCO0FBQ0EsV0FBTztBQUNMMUcsTUFBQUEsTUFBTSxFQUFFNEcsVUFBVSxDQUFDNUcsTUFEZDtBQUVMK0csTUFBQUEsY0FBYyxFQUFFSCxVQUFVLENBQUM3RyxRQUZ0QjtBQUdMOEcsTUFBQUEsVUFISztBQUlMQyxNQUFBQTtBQUpLLEtBQVA7QUFNRCxHQVZvQixDQUFyQjtBQVdBLFNBQU9ILFlBQVA7QUFDRDs7QUFFRCxNQUFNSyxjQUFOLFNBQTZCQyw4Q0FBN0IsQ0FBb0Q7QUFBQTtBQUFBOztBQUFBLDRDQUNqQyxZQUFZO0FBQzNCbkosTUFBQUEsS0FBSyxDQUFDLHFEQUFELENBQUw7QUFDQSxZQUFNLGlEQUFzQixLQUFLRSxJQUEzQixFQUFpQyxvQkFBakMsRUFBdUQsSUFBdkQsQ0FBTjtBQUNBRixNQUFBQSxLQUFLLENBQUMsMkJBQUQsQ0FBTDtBQUNBLFlBQU0sdUNBQVksS0FBS0UsSUFBakIsRUFBdUIsb0JBQXZCLENBQU47QUFDQUYsTUFBQUEsS0FBSyxDQUFDLG9DQUFELENBQUw7QUFDQSxZQUFNRyxLQUFLLEdBQUcsTUFBTUYsYUFBYSxDQUFDLEtBQUtDLElBQU4sQ0FBakM7QUFDQUYsTUFBQUEsS0FBSyxDQUFDLHVEQUFELENBQUw7QUFDQSxZQUFNLGlEQUFzQkcsS0FBdEIsRUFBNkIsZ0JBQTdCLENBQU47QUFDQUgsTUFBQUEsS0FBSyxDQUFDLG9DQUFELENBQUw7QUFDQSxZQUFNLHVDQUFZRyxLQUFaLEVBQW1CLGdCQUFuQixDQUFOO0FBQ0FILE1BQUFBLEtBQUssQ0FBQyw2Q0FBRCxDQUFMO0FBQ0EsWUFBTSxpREFBc0JHLEtBQXRCLEVBQTZCLGVBQTdCLENBQU47QUFFQSxhQUFPQSxLQUFQO0FBQ0QsS0FoQmlEO0FBQUE7O0FBa0JsRGlKLEVBQUFBLGVBQWUsQ0FBQzVILFdBQUQsRUFBc0M7QUFDbkQsV0FBTztBQUNMNkgsTUFBQUEsUUFBUSxFQUFHLEdBQUUxSixTQUFVLEVBRGxCO0FBRUwySixNQUFBQSxNQUFNLEVBQUUvSCxpQkFBaUIsQ0FBQ0MsV0FBRCxDQUZwQjtBQUdMK0gsTUFBQUEsb0JBQW9CLEVBQUUsdUJBSGpCO0FBSUxDLE1BQUFBLGVBQWUsRUFBRXZJLHVCQUF1QixFQUpuQztBQUtMd0ksTUFBQUEsY0FBYyxFQUFFLFlBQVksaURBQXNCLEtBQUt2SixJQUEzQixFQUFpQyxvQkFBakMsQ0FMdkI7QUFNTHdKLE1BQUFBLFNBQVMsRUFBRSxLQUFLQyxjQU5YO0FBT0xDLE1BQUFBLFNBQVMsRUFBRTtBQVBOLEtBQVA7QUFTRDs7QUFFRCxRQUFNQyxTQUFOLEdBQWlEO0FBQy9DLFVBQU1DLGtCQUFrQixHQUFHLHVCQUFTQyxRQUFULENBQWtCLENBQWxCLEVBQXFCLE9BQXJCLEVBQThCckYsR0FBOUIsQ0FBa0MsQ0FBbEMsRUFBcUMsS0FBckMsQ0FBM0I7QUFDQSxVQUFNTSxTQUFTLEdBQUcsS0FBSzFELE9BQUwsQ0FBYTBELFNBQWIsSUFBMEI4RSxrQkFBa0IsQ0FBQ0UsTUFBbkIsRUFBNUM7O0FBQ0EsVUFBTUMsV0FBVyxHQUFHQyxnQkFBT0MsR0FBUCxDQUFXTCxrQkFBWCxFQUErQixxQkFBTzlFLFNBQVAsQ0FBL0IsQ0FBcEI7O0FBQ0FoRixJQUFBQSxLQUFLLENBQUUsK0JBQThCaUssV0FBVyxDQUFDN0UsTUFBWixFQUFxQixFQUFyRCxDQUFMO0FBRUFwRixJQUFBQSxLQUFLLENBQUMscUJBQUQsQ0FBTDtBQUNBLFVBQU02SSxZQUFZLEdBQUcsTUFBTVQsaUJBQWlCLENBQUMsS0FBS2xJLElBQU4sQ0FBNUM7QUFFQUYsSUFBQUEsS0FBSyxDQUFDLCtCQUFELENBQUw7QUFDQSxVQUFNLEtBQUtvSyxVQUFMLENBQWdCeEssZ0JBQWhCLEVBQWtDeUssU0FBbEMsRUFBNkMsS0FBN0MsQ0FBTjtBQUVBckssSUFBQUEsS0FBSyxDQUFDLDZCQUFELENBQUw7QUFDQSxVQUFNbUksUUFBUSxHQUFHLE1BQU1GLGlCQUFpQixDQUFDLEtBQUsvSCxJQUFOLEVBQVkrSixXQUFaLEVBQXlCLEtBQUszSSxPQUE5QixDQUF4QztBQUVBdEIsSUFBQUEsS0FBSyxDQUFDLDZCQUFELENBQUw7QUFDQSxXQUFPO0FBQ0xzSyxNQUFBQSxPQUFPLEVBQUUsSUFESjtBQUVMbkMsTUFBQUEsUUFGSztBQUdMVSxNQUFBQTtBQUhLLEtBQVA7QUFLRDs7QUFuRGlEOztlQXNEckNLLGMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50LCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBGcmFtZSwgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyLCBMb2dpbk9wdGlvbnMsIExvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQge1xuICBjbGlja0J1dHRvbiwgZWxlbWVudFByZXNlbnRPblBhZ2UsIHBhZ2VFdmFsLCBwYWdlRXZhbEFsbCwgc2V0VmFsdWUsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCxcbn0gZnJvbSAnLi4vaGVscGVycy9lbGVtZW50cy1pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uSW5zdGFsbG1lbnRzLFxuICBUcmFuc2FjdGlvbnNBY2NvdW50LFxuICBUcmFuc2FjdGlvblN0YXR1c2VzLFxuICBUcmFuc2FjdGlvblR5cGVzLFxufSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgU2NhcGVyT3B0aW9ucywgU2NhcGVyU2NyYXBpbmdSZXN1bHQsIFNjcmFwZXJDcmVkZW50aWFscyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyJztcbmltcG9ydCB7XG4gIERPTExBUl9DVVJSRU5DWSwgRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCwgRVVST19DVVJSRU5DWSwgRVVST19DVVJSRU5DWV9TWU1CT0wsIFNIRUtFTF9DVVJSRU5DWSwgU0hFS0VMX0NVUlJFTkNZX1NZTUJPTCxcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHdhaXRVbnRpbCB9IGZyb20gJy4uL2hlbHBlcnMvd2FpdGluZyc7XG5pbXBvcnQgeyBmaWx0ZXJPbGRUcmFuc2FjdGlvbnMgfSBmcm9tICcuLi9oZWxwZXJzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuXG5jb25zdCBMT0dJTl9VUkwgPSAnaHR0cHM6Ly93d3cuY2FsLW9ubGluZS5jby5pbC8nO1xuY29uc3QgVFJBTlNBQ1RJT05TX1VSTCA9ICdodHRwczovL3NlcnZpY2VzLmNhbC1vbmxpbmUuY28uaWwvQ2FyZC1Ib2xkZXJzL1NjcmVlbnMvVHJhbnNhY3Rpb25zL1RyYW5zYWN0aW9ucy5hc3B4JztcbmNvbnN0IExPTkdfREFURV9GT1JNQVQgPSAnREQvTU0vWVlZWSc7XG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdERC9NTS9ZWSc7XG5jb25zdCBJbnZhbGlkUGFzc3dvcmRNZXNzYWdlID0gJ9ep150g15TXntep16rXntepINeQ15Ug15TXodeZ16HXnteUINep15TXldeW16DXlSDXqdeS15XXmdeZ150nO1xuXG5jb25zdCBkZWJ1ZyA9IGdldERlYnVnKCd2aXNhLWNhbCcpO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgZGF0ZTogc3RyaW5nO1xuICBwcm9jZXNzZWREYXRlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIG9yaWdpbmFsQW1vdW50OiBzdHJpbmc7XG4gIGNoYXJnZWRBbW91bnQ6IHN0cmluZztcbiAgbWVtbzogc3RyaW5nO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRMb2dpbkZyYW1lKHBhZ2U6IFBhZ2UpIHtcbiAgbGV0IGZyYW1lOiBGcmFtZSB8IG51bGwgPSBudWxsO1xuICBkZWJ1Zygnd2FpdCB1bnRpbCBsb2dpbiBmcmFtZSBmb3VuZCcpO1xuICBhd2FpdCB3YWl0VW50aWwoKCkgPT4ge1xuICAgIGZyYW1lID0gcGFnZVxuICAgICAgLmZyYW1lcygpXG4gICAgICAuZmluZCgoZikgPT4gZi51cmwoKS5pbmNsdWRlcygnY29ubmVjdC5jYWwtb25saW5lJykpIHx8IG51bGw7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSghIWZyYW1lKTtcbiAgfSwgJ3dhaXQgZm9yIGlmcmFtZSB3aXRoIGxvZ2luIGZvcm0nLCAxMDAwMCwgMTAwMCk7XG5cbiAgaWYgKCFmcmFtZSkge1xuICAgIGRlYnVnKCdmYWlsZWQgdG8gZmluZCBsb2dpbiBmcmFtZSBmb3IgMTAgc2Vjb25kcycpO1xuICAgIHRocm93IG5ldyBFcnJvcignZmFpbGVkIHRvIGV4dHJhY3QgbG9naW4gaWZyYW1lJyk7XG4gIH1cblxuICByZXR1cm4gZnJhbWU7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGhhc0ludmFsaWRQYXNzd29yZEVycm9yKHBhZ2U6IFBhZ2UpIHtcbiAgY29uc3QgZnJhbWUgPSBhd2FpdCBnZXRMb2dpbkZyYW1lKHBhZ2UpO1xuICBjb25zdCBlcnJvckZvdW5kID0gYXdhaXQgZWxlbWVudFByZXNlbnRPblBhZ2UoZnJhbWUsICdkaXYuZ2VuZXJhbC1lcnJvciA+IGRpdicpO1xuICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvckZvdW5kID8gYXdhaXQgcGFnZUV2YWwoZnJhbWUsICdkaXYuZ2VuZXJhbC1lcnJvciA+IGRpdicsICcnLCAoaXRlbSkgPT4ge1xuICAgIHJldHVybiAoaXRlbSBhcyBIVE1MRGl2RWxlbWVudCkuaW5uZXJUZXh0O1xuICB9KSA6ICcnO1xuICByZXR1cm4gZXJyb3JNZXNzYWdlID09PSBJbnZhbGlkUGFzc3dvcmRNZXNzYWdlO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpIHtcbiAgZGVidWcoJ3JldHVybiBwb3NzaWJsZSBsb2dpbiByZXN1bHRzJyk7XG4gIGNvbnN0IHVybHM6IExvZ2luT3B0aW9uc1sncG9zc2libGVSZXN1bHRzJ10gPSB7XG4gICAgW0xvZ2luUmVzdWx0cy5TdWNjZXNzXTogWy9BY2NvdW50TWFuYWdlbWVudC9pXSxcbiAgICBbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF06IFthc3luYyAob3B0aW9ucz86IHsgcGFnZT86IFBhZ2V9KSA9PiB7XG4gICAgICBjb25zdCBwYWdlID0gb3B0aW9ucz8ucGFnZTtcbiAgICAgIGlmICghcGFnZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IocGFnZSk7XG4gICAgfV0sXG4gICAgLy8gW0xvZ2luUmVzdWx0cy5BY2NvdW50QmxvY2tlZF06IFtdLCAvLyBUT0RPIGFkZCB3aGVuIHJlYWNoaW5nIHRoaXMgc2NlbmFyaW9cbiAgICAvLyBbTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkXTogW10sIC8vIFRPRE8gYWRkIHdoZW4gcmVhY2hpbmcgdGhpcyBzY2VuYXJpb1xuICB9O1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICBkZWJ1ZygnY3JlYXRlIGxvZ2luIGZpZWxkcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkJyk7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogJ1tmb3JtY29udHJvbG5hbWU9XCJ1c2VyTmFtZVwiXScsIHZhbHVlOiBjcmVkZW50aWFscy51c2VybmFtZSB9LFxuICAgIHsgc2VsZWN0b3I6ICdbZm9ybWNvbnRyb2xuYW1lPVwicGFzc3dvcmRcIl0nLCB2YWx1ZTogY3JlZGVudGlhbHMucGFzc3dvcmQgfSxcbiAgXTtcbn1cblxuXG5mdW5jdGlvbiBnZXRBbW91bnREYXRhKGFtb3VudFN0cjogc3RyaW5nKSB7XG4gIGNvbnN0IGFtb3VudFN0ckNsbiA9IGFtb3VudFN0ci5yZXBsYWNlKCcsJywgJycpO1xuICBsZXQgY3VycmVuY3k6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBsZXQgYW1vdW50OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgaWYgKGFtb3VudFN0ckNsbi5pbmNsdWRlcyhTSEVLRUxfQ1VSUkVOQ1lfU1lNQk9MKSkge1xuICAgIGFtb3VudCA9IC1wYXJzZUZsb2F0KGFtb3VudFN0ckNsbi5yZXBsYWNlKFNIRUtFTF9DVVJSRU5DWV9TWU1CT0wsICcnKSk7XG4gICAgY3VycmVuY3kgPSBTSEVLRUxfQ1VSUkVOQ1k7XG4gIH0gZWxzZSBpZiAoYW1vdW50U3RyQ2xuLmluY2x1ZGVzKERPTExBUl9DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gLXBhcnNlRmxvYXQoYW1vdW50U3RyQ2xuLnJlcGxhY2UoRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCwgJycpKTtcbiAgICBjdXJyZW5jeSA9IERPTExBUl9DVVJSRU5DWTtcbiAgfSBlbHNlIGlmIChhbW91bnRTdHJDbG4uaW5jbHVkZXMoRVVST19DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gLXBhcnNlRmxvYXQoYW1vdW50U3RyQ2xuLnJlcGxhY2UoRVVST19DVVJSRU5DWV9TWU1CT0wsICcnKSk7XG4gICAgY3VycmVuY3kgPSBFVVJPX0NVUlJFTkNZO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHBhcnRzID0gYW1vdW50U3RyQ2xuLnNwbGl0KCcgJyk7XG4gICAgW2N1cnJlbmN5XSA9IHBhcnRzO1xuICAgIGFtb3VudCA9IC1wYXJzZUZsb2F0KHBhcnRzWzFdKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYW1vdW50LFxuICAgIGN1cnJlbmN5LFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyhtZW1vOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkluc3RhbGxtZW50cyB8IG51bGwge1xuICBjb25zdCBwYXJzZWRNZW1vID0gKC/Xqtep15zXldedIChcXGQrKSDXnteq15XXmiAoXFxkKykvKS5leGVjKG1lbW8gfHwgJycpO1xuXG4gIGlmICghcGFyc2VkTWVtbyB8fCBwYXJzZWRNZW1vLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBudW1iZXI6IHBhcnNlSW50KHBhcnNlZE1lbW9bMV0sIDEwKSxcbiAgICB0b3RhbDogcGFyc2VJbnQocGFyc2VkTWVtb1syXSwgMTApLFxuICB9O1xufVxuZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9ucyh0eG5zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10ge1xuICBkZWJ1ZyhgY29udmVydCAke3R4bnMubGVuZ3RofSByYXcgdHJhbnNhY3Rpb25zIHRvIG9mZmljaWFsIFRyYW5zYWN0aW9uIHN0cnVjdHVyZWApO1xuICByZXR1cm4gdHhucy5tYXAoKHR4bikgPT4ge1xuICAgIGNvbnN0IG9yaWdpbmFsQW1vdW50VHVwbGUgPSBnZXRBbW91bnREYXRhKHR4bi5vcmlnaW5hbEFtb3VudCB8fCAnJyk7XG4gICAgY29uc3QgY2hhcmdlZEFtb3VudFR1cGxlID0gZ2V0QW1vdW50RGF0YSh0eG4uY2hhcmdlZEFtb3VudCB8fCAnJyk7XG5cbiAgICBjb25zdCBpbnN0YWxsbWVudHMgPSBnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyh0eG4ubWVtbyk7XG4gICAgY29uc3QgdHhuRGF0ZSA9IG1vbWVudCh0eG4uZGF0ZSwgREFURV9GT1JNQVQpO1xuICAgIGNvbnN0IHByb2Nlc3NlZERhdGVGb3JtYXQgPVxuICAgICAgdHhuLnByb2Nlc3NlZERhdGUubGVuZ3RoID09PSA4ID9cbiAgICAgICAgREFURV9GT1JNQVQgOlxuICAgICAgICB0eG4ucHJvY2Vzc2VkRGF0ZS5sZW5ndGggPT09IDkgfHwgdHhuLnByb2Nlc3NlZERhdGUubGVuZ3RoID09PSAxMCA/XG4gICAgICAgICAgTE9OR19EQVRFX0ZPUk1BVCA6XG4gICAgICAgICAgbnVsbDtcbiAgICBpZiAoIXByb2Nlc3NlZERhdGVGb3JtYXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwcm9jZXNzZWQgZGF0ZScpO1xuICAgIH1cbiAgICBjb25zdCB0eG5Qcm9jZXNzZWREYXRlID0gbW9tZW50KHR4bi5wcm9jZXNzZWREYXRlLCBwcm9jZXNzZWREYXRlRm9ybWF0KTtcblxuICAgIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb24gPSB7XG4gICAgICB0eXBlOiBpbnN0YWxsbWVudHMgPyBUcmFuc2FjdGlvblR5cGVzLkluc3RhbGxtZW50cyA6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICAgIGRhdGU6IGluc3RhbGxtZW50cyA/IHR4bkRhdGUuYWRkKGluc3RhbGxtZW50cy5udW1iZXIgLSAxLCAnbW9udGgnKS50b0lTT1N0cmluZygpIDogdHhuRGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgcHJvY2Vzc2VkRGF0ZTogdHhuUHJvY2Vzc2VkRGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IG9yaWdpbmFsQW1vdW50VHVwbGUuYW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogb3JpZ2luYWxBbW91bnRUdXBsZS5jdXJyZW5jeSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IGNoYXJnZWRBbW91bnRUdXBsZS5hbW91bnQsXG4gICAgICBjaGFyZ2VkQ3VycmVuY3k6IGNoYXJnZWRBbW91bnRUdXBsZS5jdXJyZW5jeSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0eG4uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBtZW1vOiB0eG4ubWVtbyB8fCAnJyxcbiAgICB9O1xuXG4gICAgaWYgKGluc3RhbGxtZW50cykge1xuICAgICAgcmVzdWx0Lmluc3RhbGxtZW50cyA9IGluc3RhbGxtZW50cztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50KHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50LCBhY2NvdW50TnVtYmVyOiBzdHJpbmcsIHNjcmFwZXJPcHRpb25zOiBTY2FwZXJPcHRpb25zKTogUHJvbWlzZTxUcmFuc2FjdGlvbnNBY2NvdW50PiB7XG4gIGNvbnN0IHN0YXJ0RGF0ZVZhbHVlID0gc3RhcnREYXRlLmZvcm1hdCgnTU0vWVlZWScpO1xuICBjb25zdCBkYXRlU2VsZWN0b3IgPSAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY2xuZHJEZWJpdERhdGVTY29wZV9UZXh0Qm94XCJdJztcbiAgY29uc3QgZGF0ZUhpZGRlbkZpZWxkU2VsZWN0b3IgPSAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY2xuZHJEZWJpdERhdGVTY29wZV9IaWRkZW5GaWVsZFwiXSc7XG4gIGNvbnN0IGJ1dHRvblNlbGVjdG9yID0gJ1tpZCQ9XCJGb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2N0bFN1Ym1pdFJlcXVlc3RcIl0nO1xuICBjb25zdCBuZXh0UGFnZVNlbGVjdG9yID0gJ1tpZCQ9XCJGb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2N0bEdyaWRQYWdlcl9idG5OZXh0XCJdJztcbiAgY29uc3QgYmlsbGluZ0xhYmVsU2VsZWN0b3IgPSAnW2lkJD1Gb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2N0bE1haW5Ub29sQmFyX2xibENhcHRpb25dJztcbiAgY29uc3Qgc2Vjb25kYXJ5QmlsbGluZ0xhYmVsU2VsZWN0b3IgPSAnW2lkJD1Gb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2N0bFNlY29uZGFyeVRvb2xCYXJfbGJsQ2FwdGlvbl0nO1xuICBjb25zdCBub0RhdGFTZWxlY3RvciA9ICdbaWQkPUZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfbXNnYm94RXJyb3JNZXNzYWdlc10nO1xuXG4gIGRlYnVnKCdmaW5kIHRoZSBzdGFydCBkYXRlIGluZGV4IGluIHRoZSBkcm9wYm94Jyk7XG4gIGNvbnN0IG9wdGlvbnMgPSBhd2FpdCBwYWdlRXZhbEFsbChwYWdlLCAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY2xuZHJEZWJpdERhdGVTY29wZV9PcHRpb25MaXN0XCJdIGxpJywgW10sIChpdGVtcykgPT4ge1xuICAgIHJldHVybiBpdGVtcy5tYXAoKGVsOiBhbnkpID0+IGVsLmlubmVyVGV4dCk7XG4gIH0pO1xuICBjb25zdCBzdGFydERhdGVJbmRleCA9IG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbiA9PT0gc3RhcnREYXRlVmFsdWUpO1xuXG4gIGRlYnVnKGBzY3JhcGUgJHtvcHRpb25zLmxlbmd0aCAtIHN0YXJ0RGF0ZUluZGV4fSBiaWxsaW5nIGN5Y2xlc2ApO1xuICBjb25zdCBhY2NvdW50VHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gW107XG4gIGZvciAobGV0IGN1cnJlbnREYXRlSW5kZXggPSBzdGFydERhdGVJbmRleDsgY3VycmVudERhdGVJbmRleCA8IG9wdGlvbnMubGVuZ3RoOyBjdXJyZW50RGF0ZUluZGV4ICs9IDEpIHtcbiAgICBkZWJ1Zygnd2FpdCBmb3IgZGF0ZSBzZWxlY3RvciB0byBiZSBmb3VuZCcpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBkYXRlU2VsZWN0b3IsIHRydWUpO1xuICAgIGRlYnVnKGBzZXQgaGlkZGVuIHZhbHVlIG9mIHRoZSBkYXRlIHNlbGVjdG9yIHRvIGJlIHRoZSBpbmRleCAke2N1cnJlbnREYXRlSW5kZXh9YCk7XG4gICAgYXdhaXQgc2V0VmFsdWUocGFnZSwgZGF0ZUhpZGRlbkZpZWxkU2VsZWN0b3IsIGAke2N1cnJlbnREYXRlSW5kZXh9YCk7XG4gICAgZGVidWcoJ3dhaXQgYSBzZWNvbmQgdG8gd29ya2Fyb3VuZCBuYXZpZ2F0aW9uIGlzc3VlIGluIGhlYWRsZXNzIGJyb3dzZXIgbW9kZScpO1xuICAgIGF3YWl0IHBhZ2Uud2FpdEZvcigxMDAwKTtcbiAgICBkZWJ1ZygnY2xpY2sgb24gdGhlIGZpbHRlciBzdWJtaXQgYnV0dG9uIGFuZCB3YWl0IGZvciBuYXZpZ2F0aW9uJyk7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgcGFnZS53YWl0Rm9yTmF2aWdhdGlvbih7IHdhaXRVbnRpbDogJ2RvbWNvbnRlbnRsb2FkZWQnIH0pLFxuICAgICAgY2xpY2tCdXR0b24ocGFnZSwgYnV0dG9uU2VsZWN0b3IpLFxuICAgIF0pO1xuICAgIGRlYnVnKCdjaGVjayBpZiBtb250aCBoYXMgbm8gdHJhbnNhY3Rpb25zJyk7XG4gICAgY29uc3QgcGFnZUhhc05vVHJhbnNhY3Rpb25zID0gYXdhaXQgcGFnZUV2YWwocGFnZSwgbm9EYXRhU2VsZWN0b3IsIGZhbHNlLCAoKGVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHNpdGVWYWx1ZSA9ICgoZWxlbWVudCBhcyBIVE1MU3BhbkVsZW1lbnQpLmlubmVyVGV4dCB8fCAnJykucmVwbGFjZSgvW14g15At16pdL2csICcnKTtcbiAgICAgIHJldHVybiBzaXRlVmFsdWUgPT09ICfXnNeQINeg157XpteQ15Ug16DXqteV16DXmdedJztcbiAgICB9KSk7XG5cbiAgICBpZiAocGFnZUhhc05vVHJhbnNhY3Rpb25zKSB7XG4gICAgICBkZWJ1ZygncGFnZSBoYXMgbm8gdHJhbnNhY3Rpb25zJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlYnVnKCdmaW5kIHRoZSBiaWxsaW5nIGRhdGUnKTtcbiAgICAgIGxldCBiaWxsaW5nRGF0ZUxhYmVsID0gYXdhaXQgcGFnZUV2YWwocGFnZSwgYmlsbGluZ0xhYmVsU2VsZWN0b3IsICcnLCAoKGVsZW1lbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIChlbGVtZW50IGFzIEhUTUxTcGFuRWxlbWVudCkuaW5uZXJUZXh0O1xuICAgICAgfSkpO1xuICAgICAgbGV0IHNldHRsZW1lbnREYXRlUmVnZXggPSAvXFxkezEsMn1bL11cXGR7Mn1bL11cXGR7Miw0fS87XG5cbiAgICAgIGlmIChiaWxsaW5nRGF0ZUxhYmVsID09PSAnJykge1xuICAgICAgICBiaWxsaW5nRGF0ZUxhYmVsID0gYXdhaXQgcGFnZUV2YWwocGFnZSwgc2Vjb25kYXJ5QmlsbGluZ0xhYmVsU2VsZWN0b3IsICcnLCAoKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGVsZW1lbnQgYXMgSFRNTFNwYW5FbGVtZW50KS5pbm5lclRleHQ7XG4gICAgICAgIH0pKTtcbiAgICAgICAgc2V0dGxlbWVudERhdGVSZWdleCA9IC9cXGR7MSwyfVsvXVxcZHsyLDR9LztcbiAgICAgIH1cblxuICAgICAgY29uc3QgYmlsbGluZ0RhdGUgPSBzZXR0bGVtZW50RGF0ZVJlZ2V4LmV4ZWMoYmlsbGluZ0RhdGVMYWJlbCk/LlswXTtcblxuICAgICAgaWYgKCFiaWxsaW5nRGF0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZhaWxlZCB0byBmZXRjaCBwcm9jZXNzIGRhdGUnKTtcbiAgICAgIH1cblxuICAgICAgZGVidWcoYGZvdW5kIHRoZSBiaWxsaW5nIGRhdGUgZm9yIHRoYXQgbW9udGggJHtiaWxsaW5nRGF0ZX1gKTtcbiAgICAgIGxldCBoYXNOZXh0UGFnZSA9IGZhbHNlO1xuICAgICAgZG8ge1xuICAgICAgICBkZWJ1ZygnZmV0Y2ggcmF3IHRyYW5zYWN0aW9ucyBmcm9tIHBhZ2UnKTtcbiAgICAgICAgY29uc3QgcmF3VHJhbnNhY3Rpb25zID0gYXdhaXQgcGFnZUV2YWxBbGw8KFNjcmFwZWRUcmFuc2FjdGlvbiB8IG51bGwpW10+KHBhZ2UsICcjY3RsTWFpbkdyaWQgPiB0Ym9keSB0ciwgI2N0bFNlY29uZGFyeUdyaWQgPiB0Ym9keSB0cicsIFtdLCAoaXRlbXMsIGJpbGxpbmdEYXRlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChpdGVtcykubWFwKChlbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29sdW1ucyA9IGVsLmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0ZCcpO1xuICAgICAgICAgICAgaWYgKGNvbHVtbnMubGVuZ3RoID09PSA2KSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc2VkRGF0ZTogY29sdW1uc1swXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgZGF0ZTogY29sdW1uc1sxXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGNvbHVtbnNbMl0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIG9yaWdpbmFsQW1vdW50OiBjb2x1bW5zWzNdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBjaGFyZ2VkQW1vdW50OiBjb2x1bW5zWzRdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBtZW1vOiBjb2x1bW5zWzVdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjb2x1bW5zLmxlbmd0aCA9PT0gNSkge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHByb2Nlc3NlZERhdGU6IGJpbGxpbmdEYXRlLFxuICAgICAgICAgICAgICAgIGRhdGU6IGNvbHVtbnNbMF0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjb2x1bW5zWzFdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEFtb3VudDogY29sdW1uc1syXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgY2hhcmdlZEFtb3VudDogY29sdW1uc1szXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgbWVtbzogY29sdW1uc1s0XS5pbm5lclRleHQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgYmlsbGluZ0RhdGUpO1xuICAgICAgICBkZWJ1ZyhgZmV0Y2hlZCAke3Jhd1RyYW5zYWN0aW9ucy5sZW5ndGh9IHJhdyB0cmFuc2FjdGlvbnMgZnJvbSBwYWdlYCk7XG4gICAgICAgIGFjY291bnRUcmFuc2FjdGlvbnMucHVzaCguLi5jb252ZXJ0VHJhbnNhY3Rpb25zKChyYXdUcmFuc2FjdGlvbnMgYXMgU2NyYXBlZFRyYW5zYWN0aW9uW10pXG4gICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKSkpO1xuXG4gICAgICAgIGRlYnVnKCdjaGVjayBmb3IgZXhpc3RhbmNlIG9mIGFub3RoZXIgcGFnZScpO1xuICAgICAgICBoYXNOZXh0UGFnZSA9IGF3YWl0IGVsZW1lbnRQcmVzZW50T25QYWdlKHBhZ2UsIG5leHRQYWdlU2VsZWN0b3IpO1xuICAgICAgICBpZiAoaGFzTmV4dFBhZ2UpIHtcbiAgICAgICAgICBkZWJ1ZygnaGFzIGFub3RoZXIgcGFnZSwgY2xpY2sgb24gYnV0dG9uIG5leHQgYW5kIHdhaXQgZm9yIHBhZ2UgbmF2aWdhdGlvbicpO1xuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgIHBhZ2Uud2FpdEZvck5hdmlnYXRpb24oeyB3YWl0VW50aWw6ICdkb21jb250ZW50bG9hZGVkJyB9KSxcbiAgICAgICAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsICdbaWQkPUZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY3RsR3JpZFBhZ2VyX2J0bk5leHRdJyksXG4gICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgIH0gd2hpbGUgKGhhc05leHRQYWdlKTtcbiAgICB9XG4gIH1cblxuICBkZWJ1ZygnZmlsZXIgb3V0IG9sZCB0cmFuc2FjdGlvbnMnKTtcbiAgY29uc3QgdHhucyA9IGZpbHRlck9sZFRyYW5zYWN0aW9ucyhhY2NvdW50VHJhbnNhY3Rpb25zLCBzdGFydERhdGUsIHNjcmFwZXJPcHRpb25zLmNvbWJpbmVJbnN0YWxsbWVudHMgfHwgZmFsc2UpO1xuICBkZWJ1ZyhgZm91bmQgJHt0eG5zLmxlbmd0aH0gdmFsaWQgdHJhbnNhY3Rpb25zIG91dCBvZiAke2FjY291bnRUcmFuc2FjdGlvbnMubGVuZ3RofSB0cmFuc2FjdGlvbnMgZm9yIGFjY291bnQgZW5kaW5nIHdpdGggJHthY2NvdW50TnVtYmVyLnN1YnN0cmluZyhhY2NvdW50TnVtYmVyLmxlbmd0aCAtIDIpfWApO1xuICByZXR1cm4ge1xuICAgIGFjY291bnROdW1iZXIsXG4gICAgdHhucyxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0QWNjb3VudE51bWJlcnMocGFnZTogUGFnZSk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgcmV0dXJuIHBhZ2VFdmFsQWxsKHBhZ2UsICdbaWQkPWxua0l0ZW1dJywgW10sIChlbGVtZW50cykgPT4gZWxlbWVudHMubWFwKChlKSA9PiAoZSBhcyBIVE1MQW5jaG9yRWxlbWVudCkudGV4dCkpLnRoZW4oKHJlcykgPT4gcmVzLm1hcCgodGV4dCkgPT4gL1xcZCskLy5leGVjKHRleHQudHJpbSgpKT8uWzBdID8/ICcnKSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNldEFjY291bnQocGFnZTogUGFnZSwgYWNjb3VudDogc3RyaW5nKSB7XG4gIGF3YWl0IHBhZ2VFdmFsQWxsKFxuICAgIHBhZ2UsXG4gICAgJ1tpZCQ9bG5rSXRlbV0nLFxuICAgIG51bGwsXG4gICAgKGVsZW1lbnRzLCBhY2NvdW50KSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGVsZW0gb2YgZWxlbWVudHMpIHtcbiAgICAgICAgY29uc3QgYSA9IGVsZW0gYXMgSFRNTEFuY2hvckVsZW1lbnQ7XG4gICAgICAgIGlmIChhLnRleHQuaW5jbHVkZXMoYWNjb3VudCkpIHtcbiAgICAgICAgICBhLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIGFjY291bnQsXG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zKHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50LCBzY3JhcGVyT3B0aW9uczogU2NhcGVyT3B0aW9ucyk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudFtdPiB7XG4gIGNvbnN0IGFjY291bnROdW1iZXJzOiBzdHJpbmdbXSA9IGF3YWl0IGdldEFjY291bnROdW1iZXJzKHBhZ2UpO1xuICBjb25zdCBhY2NvdW50czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgZm9yIChjb25zdCBhY2NvdW50IG9mIGFjY291bnROdW1iZXJzKSB7XG4gICAgZGVidWcoYHNldHRpbmcgYWNjb3VudDogJHthY2NvdW50fWApO1xuICAgIGF3YWl0IHNldEFjY291bnQocGFnZSwgYWNjb3VudCk7XG4gICAgYXdhaXQgcGFnZS53YWl0Rm9yKDEwMDApO1xuICAgIGFjY291bnRzLnB1c2goXG4gICAgICBhd2FpdCBmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQoXG4gICAgICAgIHBhZ2UsXG4gICAgICAgIHN0YXJ0RGF0ZSxcbiAgICAgICAgYWNjb3VudCxcbiAgICAgICAgc2NyYXBlck9wdGlvbnMsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gYWNjb3VudHM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoRnV0dXJlRGViaXRzKHBhZ2U6IFBhZ2UpIHtcbiAgY29uc3QgZnV0dXJlRGViaXRzU2VsZWN0b3IgPSAnLmhvbWVwYWdlLWJhbmtzLXRvcCc7XG4gIGNvbnN0IGRlYml0TW91bnRDbGFzcyA9ICdhbW91bnQnO1xuICBjb25zdCBkZWJpdFdoZW5DaGFyZ2VDbGFzcyA9ICd3aGVuLWNoYXJnZSc7XG4gIGNvbnN0IGRlYml0QmFua051bWJlckNsYXNzID0gJ2JhbmtEZXNjJztcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYWdlRXZhbEFsbChwYWdlLCBmdXR1cmVEZWJpdHNTZWxlY3RvciwgW10sIChpdGVtcykgPT4ge1xuICAgIHJldHVybiBpdGVtcy5tYXAoKGN1cnJCYW5rRWw6IGFueSkgPT4ge1xuICAgICAgY29uc3QgYW1vdW50ID0gY3VyckJhbmtFbC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGRlYml0TW91bnRDbGFzcylbMF0uaW5uZXJUZXh0O1xuICAgICAgY29uc3Qgd2hlbkNoYXJnZSA9IGN1cnJCYW5rRWwuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShkZWJpdFdoZW5DaGFyZ2VDbGFzcylbMF0uaW5uZXJUZXh0O1xuICAgICAgY29uc3QgYmFua051bWJlciA9IGN1cnJCYW5rRWwuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShkZWJpdEJhbmtOdW1iZXJDbGFzcylbMF0uaW5uZXJUZXh0O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYW1vdW50LFxuICAgICAgICB3aGVuQ2hhcmdlLFxuICAgICAgICBiYW5rTnVtYmVyLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfSk7XG4gIGNvbnN0IGZ1dHVyZURlYml0cyA9IHJlc3VsdC5tYXAoKGl0ZW0pID0+IHtcbiAgICBjb25zdCBhbW91bnREYXRhID0gZ2V0QW1vdW50RGF0YShpdGVtLmFtb3VudCk7XG4gICAgY29uc3QgY2hhcmdlRGF0ZSA9IC9cXGR7MSwyfVsvXVxcZHsyfVsvXVxcZHsyLDR9Ly5leGVjKGl0ZW0ud2hlbkNoYXJnZSk/LlswXTtcbiAgICBjb25zdCBiYW5rQWNjb3VudE51bWJlciA9IC9cXGQrLVxcZCsvLmV4ZWMoaXRlbS5iYW5rTnVtYmVyKT8uWzBdO1xuICAgIHJldHVybiB7XG4gICAgICBhbW91bnQ6IGFtb3VudERhdGEuYW1vdW50LFxuICAgICAgYW1vdW50Q3VycmVuY3k6IGFtb3VudERhdGEuY3VycmVuY3ksXG4gICAgICBjaGFyZ2VEYXRlLFxuICAgICAgYmFua0FjY291bnROdW1iZXIsXG4gICAgfTtcbiAgfSk7XG4gIHJldHVybiBmdXR1cmVEZWJpdHM7XG59XG5cbmNsYXNzIFZpc2FDYWxTY3JhcGVyIGV4dGVuZHMgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciB7XG4gIG9wZW5Mb2dpblBvcHVwID0gYXN5bmMgKCkgPT4ge1xuICAgIGRlYnVnKCdvcGVuIGxvZ2luIHBvcHVwLCB3YWl0IHVudGlsIGxvZ2luIGJ1dHRvbiBhdmFpbGFibGUnKTtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnI2NjTG9naW5EZXNrdG9wQnRuJywgdHJ1ZSk7XG4gICAgZGVidWcoJ2NsaWNrIG9uIHRoZSBsb2dpbiBidXR0b24nKTtcbiAgICBhd2FpdCBjbGlja0J1dHRvbih0aGlzLnBhZ2UsICcjY2NMb2dpbkRlc2t0b3BCdG4nKTtcbiAgICBkZWJ1ZygnZ2V0IHRoZSBmcmFtZSB0aGF0IGhvbGRzIHRoZSBsb2dpbicpO1xuICAgIGNvbnN0IGZyYW1lID0gYXdhaXQgZ2V0TG9naW5GcmFtZSh0aGlzLnBhZ2UpO1xuICAgIGRlYnVnKCd3YWl0IHVudGlsIHRoZSBwYXNzd29yZCBsb2dpbiB0YWIgaGVhZGVyIGlzIGF2YWlsYWJsZScpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChmcmFtZSwgJyNyZWd1bGFyLWxvZ2luJyk7XG4gICAgZGVidWcoJ25hdmlnYXRlIHRvIHRoZSBwYXNzd29yZCBsb2dpbiB0YWInKTtcbiAgICBhd2FpdCBjbGlja0J1dHRvbihmcmFtZSwgJyNyZWd1bGFyLWxvZ2luJyk7XG4gICAgZGVidWcoJ3dhaXQgdW50aWwgdGhlIHBhc3N3b3JkIGxvZ2luIHRhYiBpcyBhY3RpdmUnKTtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQoZnJhbWUsICdyZWd1bGFyLWxvZ2luJyk7XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH07XG5cbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2luVXJsOiBgJHtMT0dJTl9VUkx9YCxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6ICdidXR0b25bdHlwZT1cInN1Ym1pdFwiXScsXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCksXG4gICAgICBjaGVja1JlYWRpbmVzczogYXN5bmMgKCkgPT4gd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJyNjY0xvZ2luRGVza3RvcEJ0bicpLFxuICAgICAgcHJlQWN0aW9uOiB0aGlzLm9wZW5Mb2dpblBvcHVwLFxuICAgICAgdXNlckFnZW50OiAnTW96aWxsYS81LjAgKFgxMTsgTGludXggeDg2XzY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvNzguMC4zOTA0LjEwOCBTYWZhcmkvNTM3LjM2JyxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hEYXRhKCk6IFByb21pc2U8U2NhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAneWVhcnMnKS5hZGQoMSwgJ2RheScpO1xuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMub3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICAgIGNvbnN0IHN0YXJ0TW9tZW50ID0gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcbiAgICBkZWJ1ZyhgZmV0Y2ggdHJhbnNhY3Rpb25zIHN0YXJ0aW5nICR7c3RhcnRNb21lbnQuZm9ybWF0KCl9YCk7XG5cbiAgICBkZWJ1ZygnZmV0Y2ggZnV0dXJlIGRlYml0cycpO1xuICAgIGNvbnN0IGZ1dHVyZURlYml0cyA9IGF3YWl0IGZldGNoRnV0dXJlRGViaXRzKHRoaXMucGFnZSk7XG5cbiAgICBkZWJ1ZygnbmF2aWdhdGUgdG8gdHJhbnNhY3Rpb25zIHBhZ2UnKTtcbiAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG8oVFJBTlNBQ1RJT05TX1VSTCwgdW5kZWZpbmVkLCA2MDAwMCk7XG5cbiAgICBkZWJ1ZygnZmV0Y2ggYWNjb3VudHMgdHJhbnNhY3Rpb25zJyk7XG4gICAgY29uc3QgYWNjb3VudHMgPSBhd2FpdCBmZXRjaFRyYW5zYWN0aW9ucyh0aGlzLnBhZ2UsIHN0YXJ0TW9tZW50LCB0aGlzLm9wdGlvbnMpO1xuXG4gICAgZGVidWcoJ3JldHVybiB0aGUgc2NyYXBlZCBhY2NvdW50cycpO1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgYWNjb3VudHMsXG4gICAgICBmdXR1cmVEZWJpdHMsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBWaXNhQ2FsU2NyYXBlcjtcbiJdfQ==
415
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy92aXNhLWNhbC50cyJdLCJuYW1lcyI6WyJMT0dJTl9VUkwiLCJUUkFOU0FDVElPTlNfVVJMIiwiTE9OR19EQVRFX0ZPUk1BVCIsIkRBVEVfRk9STUFUIiwiSW52YWxpZFBhc3N3b3JkTWVzc2FnZSIsImRlYnVnIiwiZ2V0TG9naW5GcmFtZSIsInBhZ2UiLCJmcmFtZSIsImZyYW1lcyIsImZpbmQiLCJmIiwidXJsIiwiaW5jbHVkZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkVycm9yIiwiaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IiLCJlcnJvckZvdW5kIiwiZXJyb3JNZXNzYWdlIiwiaXRlbSIsImlubmVyVGV4dCIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJvcHRpb25zIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZ2V0QW1vdW50RGF0YSIsImFtb3VudFN0ciIsImFtb3VudFN0ckNsbiIsInJlcGxhY2UiLCJjdXJyZW5jeSIsImFtb3VudCIsIlNIRUtFTF9DVVJSRU5DWV9TWU1CT0wiLCJwYXJzZUZsb2F0IiwiU0hFS0VMX0NVUlJFTkNZIiwiRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCIsIkRPTExBUl9DVVJSRU5DWSIsIkVVUk9fQ1VSUkVOQ1lfU1lNQk9MIiwiRVVST19DVVJSRU5DWSIsInBhcnRzIiwic3BsaXQiLCJnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyIsIm1lbW8iLCJwYXJzZWRNZW1vIiwiZXhlYyIsImxlbmd0aCIsIm51bWJlciIsInBhcnNlSW50IiwidG90YWwiLCJjb252ZXJ0VHJhbnNhY3Rpb25zIiwidHhucyIsIm1hcCIsInR4biIsIm9yaWdpbmFsQW1vdW50VHVwbGUiLCJvcmlnaW5hbEFtb3VudCIsImNoYXJnZWRBbW91bnRUdXBsZSIsImNoYXJnZWRBbW91bnQiLCJpbnN0YWxsbWVudHMiLCJ0eG5EYXRlIiwiZGF0ZSIsInByb2Nlc3NlZERhdGVGb3JtYXQiLCJwcm9jZXNzZWREYXRlIiwidHhuUHJvY2Vzc2VkRGF0ZSIsInJlc3VsdCIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiSW5zdGFsbG1lbnRzIiwiTm9ybWFsIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsImFkZCIsInRvSVNPU3RyaW5nIiwib3JpZ2luYWxDdXJyZW5jeSIsImNoYXJnZWRDdXJyZW5jeSIsImRlc2NyaXB0aW9uIiwiZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50Iiwic3RhcnREYXRlIiwiYWNjb3VudE51bWJlciIsInNjcmFwZXJPcHRpb25zIiwic3RhcnREYXRlVmFsdWUiLCJmb3JtYXQiLCJkYXRlU2VsZWN0b3IiLCJkYXRlSGlkZGVuRmllbGRTZWxlY3RvciIsImJ1dHRvblNlbGVjdG9yIiwibmV4dFBhZ2VTZWxlY3RvciIsImJpbGxpbmdMYWJlbFNlbGVjdG9yIiwic2Vjb25kYXJ5QmlsbGluZ0xhYmVsU2VsZWN0b3IiLCJub0RhdGFTZWxlY3RvciIsIml0ZW1zIiwiZWwiLCJzdGFydERhdGVJbmRleCIsImZpbmRJbmRleCIsIm9wdGlvbiIsImFjY291bnRUcmFuc2FjdGlvbnMiLCJjdXJyZW50RGF0ZUluZGV4Iiwid2FpdEZvciIsImFsbCIsIndhaXRGb3JOYXZpZ2F0aW9uIiwid2FpdFVudGlsIiwicGFnZUhhc05vVHJhbnNhY3Rpb25zIiwiZWxlbWVudCIsInNpdGVWYWx1ZSIsImJpbGxpbmdEYXRlTGFiZWwiLCJzZXR0bGVtZW50RGF0ZVJlZ2V4IiwiYmlsbGluZ0RhdGUiLCJoYXNOZXh0UGFnZSIsInJhd1RyYW5zYWN0aW9ucyIsImNvbHVtbnMiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsInB1c2giLCJmaWx0ZXIiLCJjb21iaW5lSW5zdGFsbG1lbnRzIiwic3Vic3RyaW5nIiwiZ2V0QWNjb3VudE51bWJlcnMiLCJlbGVtZW50cyIsImUiLCJ0ZXh0IiwidGhlbiIsInJlcyIsInRyaW0iLCJzZXRBY2NvdW50IiwiYWNjb3VudCIsImVsZW0iLCJhIiwiY2xpY2siLCJmZXRjaFRyYW5zYWN0aW9ucyIsImFjY291bnROdW1iZXJzIiwiYWNjb3VudHMiLCJmZXRjaEZ1dHVyZURlYml0cyIsImZ1dHVyZURlYml0c1NlbGVjdG9yIiwiZGViaXRNb3VudENsYXNzIiwiZGViaXRXaGVuQ2hhcmdlQ2xhc3MiLCJkZWJpdEJhbmtOdW1iZXJDbGFzcyIsImN1cnJCYW5rRWwiLCJnZXRFbGVtZW50c0J5Q2xhc3NOYW1lIiwid2hlbkNoYXJnZSIsImJhbmtOdW1iZXIiLCJmdXR1cmVEZWJpdHMiLCJhbW91bnREYXRhIiwiY2hhcmdlRGF0ZSIsImJhbmtBY2NvdW50TnVtYmVyIiwiYW1vdW50Q3VycmVuY3kiLCJWaXNhQ2FsU2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwicG9zc2libGVSZXN1bHRzIiwiY2hlY2tSZWFkaW5lc3MiLCJwcmVBY3Rpb24iLCJvcGVuTG9naW5Qb3B1cCIsInVzZXJBZ2VudCIsImZldGNoRGF0YSIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0IiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJuYXZpZ2F0ZVRvIiwidW5kZWZpbmVkIiwic3VjY2VzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFHQTs7QUFRQTs7QUFHQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsTUFBTUEsU0FBUyxHQUFHLCtCQUFsQjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLHVGQUF6QjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLFlBQXpCO0FBQ0EsTUFBTUMsV0FBVyxHQUFHLFVBQXBCO0FBQ0EsTUFB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J21vbWVudCc7XG5pbXBvcnQgeyBGcmFtZSwgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyLCBMb2dpbk9wdGlvbnMsIExvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQge1xuICBjbGlja0J1dHRvbiwgZWxlbWVudFByZXNlbnRPblBhZ2UsIHBhZ2VFdmFsLCBwYWdlRXZhbEFsbCwgc2V0VmFsdWUsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCxcbn0gZnJvbSAnLi4vaGVscGVycy9lbGVtZW50cy1pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uSW5zdGFsbG1lbnRzLFxuICBUcmFuc2FjdGlvbnNBY2NvdW50LFxuICBUcmFuc2FjdGlvblN0YXR1c2VzLFxuICBUcmFuc2FjdGlvblR5cGVzLFxufSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgU2NhcGVyT3B0aW9ucywgU2NhcGVyU2NyYXBpbmdSZXN1bHQsIFNjcmFwZXJDcmVkZW50aWFscyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyJztcbmltcG9ydCB7XG4gIERPTExBUl9DVVJSRU5DWSwgRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCwgRVVST19DVVJSRU5DWSwgRVVST19DVVJSRU5DWV9TWU1CT0wsIFNIRUtFTF9DVVJSRU5DWSwgU0hFS0VMX0NVUlJFTkNZX1NZTUJPTCxcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHdhaXRVbnRpbCB9IGZyb20gJy4uL2hlbHBlcnMvd2FpdGluZyc7XG5pbXBvcnQgeyBmaWx0ZXJPbGRUcmFuc2FjdGlvbnMgfSBmcm9tICcuLi9oZWxwZXJzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuXG5jb25zdCBMT0dJTl9VUkwgPSAnaHR0cHM6Ly93d3cuY2FsLW9ubGluZS5jby5pbC8nO1xuY29uc3QgVFJBTlNBQ1RJT05TX1VSTCA9ICdodHRwczovL3NlcnZpY2VzLmNhbC1vbmxpbmUuY28uaWwvQ2FyZC1Ib2xkZXJzL1NjcmVlbnMvVHJhbnNhY3Rpb25zL1RyYW5zYWN0aW9ucy5hc3B4JztcbmNvbnN0IExPTkdfREFURV9GT1JNQVQgPSAnREQvTU0vWVlZWSc7XG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdERC9NTS9ZWSc7XG5jb25zdCBJbnZhbGlkUGFzc3dvcmRNZXNzYWdlID0gJ9ep150g15TXntep16rXntepINeQ15Ug15TXodeZ16HXnteUINep15TXldeW16DXlSDXqdeS15XXmdeZ150nO1xuXG5jb25zdCBkZWJ1ZyA9IGdldERlYnVnKCd2aXNhLWNhbCcpO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgZGF0ZTogc3RyaW5nO1xuICBwcm9jZXNzZWREYXRlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIG9yaWdpbmFsQW1vdW50OiBzdHJpbmc7XG4gIGNoYXJnZWRBbW91bnQ6IHN0cmluZztcbiAgbWVtbzogc3RyaW5nO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRMb2dpbkZyYW1lKHBhZ2U6IFBhZ2UpIHtcbiAgbGV0IGZyYW1lOiBGcmFtZSB8IG51bGwgPSBudWxsO1xuICBkZWJ1Zygnd2FpdCB1bnRpbCBsb2dpbiBmcmFtZSBmb3VuZCcpO1xuICBhd2FpdCB3YWl0VW50aWwoKCkgPT4ge1xuICAgIGZyYW1lID0gcGFnZVxuICAgICAgLmZyYW1lcygpXG4gICAgICAuZmluZCgoZikgPT4gZi51cmwoKS5pbmNsdWRlcygnY29ubmVjdC5jYWwtb25saW5lJykpIHx8IG51bGw7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSghIWZyYW1lKTtcbiAgfSwgJ3dhaXQgZm9yIGlmcmFtZSB3aXRoIGxvZ2luIGZvcm0nLCAxMDAwMCwgMTAwMCk7XG5cbiAgaWYgKCFmcmFtZSkge1xuICAgIGRlYnVnKCdmYWlsZWQgdG8gZmluZCBsb2dpbiBmcmFtZSBmb3IgMTAgc2Vjb25kcycpO1xuICAgIHRocm93IG5ldyBFcnJvcignZmFpbGVkIHRvIGV4dHJhY3QgbG9naW4gaWZyYW1lJyk7XG4gIH1cblxuICByZXR1cm4gZnJhbWU7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGhhc0ludmFsaWRQYXNzd29yZEVycm9yKHBhZ2U6IFBhZ2UpIHtcbiAgY29uc3QgZnJhbWUgPSBhd2FpdCBnZXRMb2dpbkZyYW1lKHBhZ2UpO1xuICBjb25zdCBlcnJvckZvdW5kID0gYXdhaXQgZWxlbWVudFByZXNlbnRPblBhZ2UoZnJhbWUsICdkaXYuZ2VuZXJhbC1lcnJvciA+IGRpdicpO1xuICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvckZvdW5kID8gYXdhaXQgcGFnZUV2YWwoZnJhbWUsICdkaXYuZ2VuZXJhbC1lcnJvciA+IGRpdicsICcnLCAoaXRlbSkgPT4ge1xuICAgIHJldHVybiAoaXRlbSBhcyBIVE1MRGl2RWxlbWVudCkuaW5uZXJUZXh0O1xuICB9KSA6ICcnO1xuICByZXR1cm4gZXJyb3JNZXNzYWdlID09PSBJbnZhbGlkUGFzc3dvcmRNZXNzYWdlO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpIHtcbiAgZGVidWcoJ3JldHVybiBwb3NzaWJsZSBsb2dpbiByZXN1bHRzJyk7XG4gIGNvbnN0IHVybHM6IExvZ2luT3B0aW9uc1sncG9zc2libGVSZXN1bHRzJ10gPSB7XG4gICAgW0xvZ2luUmVzdWx0cy5TdWNjZXNzXTogWy9BY2NvdW50TWFuYWdlbWVudC9pXSxcbiAgICBbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF06IFthc3luYyAob3B0aW9ucz86IHsgcGFnZT86IFBhZ2V9KSA9PiB7XG4gICAgICBjb25zdCBwYWdlID0gb3B0aW9ucz8ucGFnZTtcbiAgICAgIGlmICghcGFnZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IocGFnZSk7XG4gICAgfV0sXG4gICAgLy8gW0xvZ2luUmVzdWx0cy5BY2NvdW50QmxvY2tlZF06IFtdLCAvLyBUT0RPIGFkZCB3aGVuIHJlYWNoaW5nIHRoaXMgc2NlbmFyaW9cbiAgICAvLyBbTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkXTogW10sIC8vIFRPRE8gYWRkIHdoZW4gcmVhY2hpbmcgdGhpcyBzY2VuYXJpb1xuICB9O1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICBkZWJ1ZygnY3JlYXRlIGxvZ2luIGZpZWxkcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkJyk7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogJ1tmb3JtY29udHJvbG5hbWU9XCJ1c2VyTmFtZVwiXScsIHZhbHVlOiBjcmVkZW50aWFscy51c2VybmFtZSB9LFxuICAgIHsgc2VsZWN0b3I6ICdbZm9ybWNvbnRyb2xuYW1lPVwicGFzc3dvcmRcIl0nLCB2YWx1ZTogY3JlZGVudGlhbHMucGFzc3dvcmQgfSxcbiAgXTtcbn1cblxuXG5mdW5jdGlvbiBnZXRBbW91bnREYXRhKGFtb3VudFN0cjogc3RyaW5nKSB7XG4gIGNvbnN0IGFtb3VudFN0ckNsbiA9IGFtb3VudFN0ci5yZXBsYWNlKCcsJywgJycpO1xuICBsZXQgY3VycmVuY3k6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBsZXQgYW1vdW50OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgaWYgKGFtb3VudFN0ckNsbi5pbmNsdWRlcyhTSEVLRUxfQ1VSUkVOQ1lfU1lNQk9MKSkge1xuICAgIGFtb3VudCA9IC1wYXJzZUZsb2F0KGFtb3VudFN0ckNsbi5yZXBsYWNlKFNIRUtFTF9DVVJSRU5DWV9TWU1CT0wsICcnKSk7XG4gICAgY3VycmVuY3kgPSBTSEVLRUxfQ1VSUkVOQ1k7XG4gIH0gZWxzZSBpZiAoYW1vdW50U3RyQ2xuLmluY2x1ZGVzKERPTExBUl9DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gLXBhcnNlRmxvYXQoYW1vdW50U3RyQ2xuLnJlcGxhY2UoRE9MTEFSX0NVUlJFTkNZX1NZTUJPTCwgJycpKTtcbiAgICBjdXJyZW5jeSA9IERPTExBUl9DVVJSRU5DWTtcbiAgfSBlbHNlIGlmIChhbW91bnRTdHJDbG4uaW5jbHVkZXMoRVVST19DVVJSRU5DWV9TWU1CT0wpKSB7XG4gICAgYW1vdW50ID0gLXBhcnNlRmxvYXQoYW1vdW50U3RyQ2xuLnJlcGxhY2UoRVVST19DVVJSRU5DWV9TWU1CT0wsICcnKSk7XG4gICAgY3VycmVuY3kgPSBFVVJPX0NVUlJFTkNZO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHBhcnRzID0gYW1vdW50U3RyQ2xuLnNwbGl0KCcgJyk7XG4gICAgW2N1cnJlbmN5XSA9IHBhcnRzO1xuICAgIGFtb3VudCA9IC1wYXJzZUZsb2F0KHBhcnRzWzFdKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYW1vdW50LFxuICAgIGN1cnJlbmN5LFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyhtZW1vOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkluc3RhbGxtZW50cyB8IG51bGwge1xuICBjb25zdCBwYXJzZWRNZW1vID0gKC/Xqtep15zXldedIChcXGQrKSDXnteq15XXmiAoXFxkKykvKS5leGVjKG1lbW8gfHwgJycpO1xuXG4gIGlmICghcGFyc2VkTWVtbyB8fCBwYXJzZWRNZW1vLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBudW1iZXI6IHBhcnNlSW50KHBhcnNlZE1lbW9bMV0sIDEwKSxcbiAgICB0b3RhbDogcGFyc2VJbnQocGFyc2VkTWVtb1syXSwgMTApLFxuICB9O1xufVxuZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9ucyh0eG5zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10ge1xuICBkZWJ1ZyhgY29udmVydCAke3R4bnMubGVuZ3RofSByYXcgdHJhbnNhY3Rpb25zIHRvIG9mZmljaWFsIFRyYW5zYWN0aW9uIHN0cnVjdHVyZWApO1xuICByZXR1cm4gdHhucy5tYXAoKHR4bikgPT4ge1xuICAgIGNvbnN0IG9yaWdpbmFsQW1vdW50VHVwbGUgPSBnZXRBbW91bnREYXRhKHR4bi5vcmlnaW5hbEFtb3VudCB8fCAnJyk7XG4gICAgY29uc3QgY2hhcmdlZEFtb3VudFR1cGxlID0gZ2V0QW1vdW50RGF0YSh0eG4uY2hhcmdlZEFtb3VudCB8fCAnJyk7XG5cbiAgICBjb25zdCBpbnN0YWxsbWVudHMgPSBnZXRUcmFuc2FjdGlvbkluc3RhbGxtZW50cyh0eG4ubWVtbyk7XG4gICAgY29uc3QgdHhuRGF0ZSA9IG1vbWVudCh0eG4uZGF0ZSwgREFURV9GT1JNQVQpO1xuICAgIGNvbnN0IHByb2Nlc3NlZERhdGVGb3JtYXQgPVxuICAgICAgdHhuLnByb2Nlc3NlZERhdGUubGVuZ3RoID09PSA4ID9cbiAgICAgICAgREFURV9GT1JNQVQgOlxuICAgICAgICB0eG4ucHJvY2Vzc2VkRGF0ZS5sZW5ndGggPT09IDkgfHwgdHhuLnByb2Nlc3NlZERhdGUubGVuZ3RoID09PSAxMCA/XG4gICAgICAgICAgTE9OR19EQVRFX0ZPUk1BVCA6XG4gICAgICAgICAgbnVsbDtcbiAgICBpZiAoIXByb2Nlc3NlZERhdGVGb3JtYXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwcm9jZXNzZWQgZGF0ZScpO1xuICAgIH1cbiAgICBjb25zdCB0eG5Qcm9jZXNzZWREYXRlID0gbW9tZW50KHR4bi5wcm9jZXNzZWREYXRlLCBwcm9jZXNzZWREYXRlRm9ybWF0KTtcblxuICAgIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb24gPSB7XG4gICAgICB0eXBlOiBpbnN0YWxsbWVudHMgPyBUcmFuc2FjdGlvblR5cGVzLkluc3RhbGxtZW50cyA6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICAgIGRhdGU6IGluc3RhbGxtZW50cyA/IHR4bkRhdGUuYWRkKGluc3RhbGxtZW50cy5udW1iZXIgLSAxLCAnbW9udGgnKS50b0lTT1N0cmluZygpIDogdHhuRGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgcHJvY2Vzc2VkRGF0ZTogdHhuUHJvY2Vzc2VkRGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IG9yaWdpbmFsQW1vdW50VHVwbGUuYW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogb3JpZ2luYWxBbW91bnRUdXBsZS5jdXJyZW5jeSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IGNoYXJnZWRBbW91bnRUdXBsZS5hbW91bnQsXG4gICAgICBjaGFyZ2VkQ3VycmVuY3k6IGNoYXJnZWRBbW91bnRUdXBsZS5jdXJyZW5jeSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0eG4uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBtZW1vOiB0eG4ubWVtbyB8fCAnJyxcbiAgICB9O1xuXG4gICAgaWYgKGluc3RhbGxtZW50cykge1xuICAgICAgcmVzdWx0Lmluc3RhbGxtZW50cyA9IGluc3RhbGxtZW50cztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50KHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50LCBhY2NvdW50TnVtYmVyOiBzdHJpbmcsIHNjcmFwZXJPcHRpb25zOiBTY2FwZXJPcHRpb25zKTogUHJvbWlzZTxUcmFuc2FjdGlvbnNBY2NvdW50PiB7XG4gIGNvbnN0IHN0YXJ0RGF0ZVZhbHVlID0gc3RhcnREYXRlLmZvcm1hdCgnTU0vWVlZWScpO1xuICBjb25zdCBkYXRlU2VsZWN0b3IgPSAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY2xuZHJEZWJpdERhdGVTY29wZV9UZXh0Qm94XCJdJztcbiAgY29uc3QgZGF0ZUhpZGRlbkZpZWxkU2VsZWN0b3IgPSAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY2xuZHJEZWJpdERhdGVTY29wZV9IaWRkZW5GaWVsZFwiXSc7XG4gIGNvbnN0IGJ1dHRvblNlbGVjdG9yID0gJ1tpZCQ9XCJGb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2N0bFN1Ym1pdFJlcXVlc3RcIl0nO1xuICBjb25zdCBuZXh0UGFnZVNlbGVjdG9yID0gJ1tpZCQ9XCJGb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2N0bEdyaWRQYWdlcl9idG5OZXh0XCJdJztcbiAgY29uc3QgYmlsbGluZ0xhYmVsU2VsZWN0b3IgPSAnW2lkJD1Gb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2N0bE1haW5Ub29sQmFyX2xibENhcHRpb25dJztcbiAgY29uc3Qgc2Vjb25kYXJ5QmlsbGluZ0xhYmVsU2VsZWN0b3IgPSAnW2lkJD1Gb3JtQXJlYU5vQm9yZGVyX0Zvcm1BcmVhX2N0bFNlY29uZGFyeVRvb2xCYXJfbGJsQ2FwdGlvbl0nO1xuICBjb25zdCBub0RhdGFTZWxlY3RvciA9ICdbaWQkPUZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfbXNnYm94RXJyb3JNZXNzYWdlc10nO1xuXG4gIGRlYnVnKCdmaW5kIHRoZSBzdGFydCBkYXRlIGluZGV4IGluIHRoZSBkcm9wYm94Jyk7XG4gIGNvbnN0IG9wdGlvbnMgPSBhd2FpdCBwYWdlRXZhbEFsbChwYWdlLCAnW2lkJD1cIkZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY2xuZHJEZWJpdERhdGVTY29wZV9PcHRpb25MaXN0XCJdIGxpJywgW10sIChpdGVtcykgPT4ge1xuICAgIHJldHVybiBpdGVtcy5tYXAoKGVsOiBhbnkpID0+IGVsLmlubmVyVGV4dCk7XG4gIH0pO1xuICBjb25zdCBzdGFydERhdGVJbmRleCA9IG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbiA9PT0gc3RhcnREYXRlVmFsdWUpO1xuXG4gIGRlYnVnKGBzY3JhcGUgJHtvcHRpb25zLmxlbmd0aCAtIHN0YXJ0RGF0ZUluZGV4fSBiaWxsaW5nIGN5Y2xlc2ApO1xuICBjb25zdCBhY2NvdW50VHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gW107XG4gIGZvciAobGV0IGN1cnJlbnREYXRlSW5kZXggPSBzdGFydERhdGVJbmRleDsgY3VycmVudERhdGVJbmRleCA8IG9wdGlvbnMubGVuZ3RoOyBjdXJyZW50RGF0ZUluZGV4ICs9IDEpIHtcbiAgICBkZWJ1Zygnd2FpdCBmb3IgZGF0ZSBzZWxlY3RvciB0byBiZSBmb3VuZCcpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBkYXRlU2VsZWN0b3IsIHRydWUpO1xuICAgIGRlYnVnKGBzZXQgaGlkZGVuIHZhbHVlIG9mIHRoZSBkYXRlIHNlbGVjdG9yIHRvIGJlIHRoZSBpbmRleCAke2N1cnJlbnREYXRlSW5kZXh9YCk7XG4gICAgYXdhaXQgc2V0VmFsdWUocGFnZSwgZGF0ZUhpZGRlbkZpZWxkU2VsZWN0b3IsIGAke2N1cnJlbnREYXRlSW5kZXh9YCk7XG4gICAgZGVidWcoJ3dhaXQgYSBzZWNvbmQgdG8gd29ya2Fyb3VuZCBuYXZpZ2F0aW9uIGlzc3VlIGluIGhlYWRsZXNzIGJyb3dzZXIgbW9kZScpO1xuICAgIGF3YWl0IHBhZ2Uud2FpdEZvcigxMDAwKTtcbiAgICBkZWJ1ZygnY2xpY2sgb24gdGhlIGZpbHRlciBzdWJtaXQgYnV0dG9uIGFuZCB3YWl0IGZvciBuYXZpZ2F0aW9uJyk7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgcGFnZS53YWl0Rm9yTmF2aWdhdGlvbih7IHdhaXRVbnRpbDogJ2RvbWNvbnRlbnRsb2FkZWQnIH0pLFxuICAgICAgY2xpY2tCdXR0b24ocGFnZSwgYnV0dG9uU2VsZWN0b3IpLFxuICAgIF0pO1xuICAgIGRlYnVnKCdjaGVjayBpZiBtb250aCBoYXMgbm8gdHJhbnNhY3Rpb25zJyk7XG4gICAgY29uc3QgcGFnZUhhc05vVHJhbnNhY3Rpb25zID0gYXdhaXQgcGFnZUV2YWwocGFnZSwgbm9EYXRhU2VsZWN0b3IsIGZhbHNlLCAoKGVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHNpdGVWYWx1ZSA9ICgoZWxlbWVudCBhcyBIVE1MU3BhbkVsZW1lbnQpLmlubmVyVGV4dCB8fCAnJykucmVwbGFjZSgvW14g15At16pdL2csICcnKTtcbiAgICAgIHJldHVybiBzaXRlVmFsdWUgPT09ICfXnNeQINeg157XpteQ15Ug16DXqteV16DXmdedJztcbiAgICB9KSk7XG5cbiAgICBpZiAocGFnZUhhc05vVHJhbnNhY3Rpb25zKSB7XG4gICAgICBkZWJ1ZygncGFnZSBoYXMgbm8gdHJhbnNhY3Rpb25zJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlYnVnKCdmaW5kIHRoZSBiaWxsaW5nIGRhdGUnKTtcbiAgICAgIGxldCBiaWxsaW5nRGF0ZUxhYmVsID0gYXdhaXQgcGFnZUV2YWwocGFnZSwgYmlsbGluZ0xhYmVsU2VsZWN0b3IsICcnLCAoKGVsZW1lbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIChlbGVtZW50IGFzIEhUTUxTcGFuRWxlbWVudCkuaW5uZXJUZXh0O1xuICAgICAgfSkpO1xuICAgICAgbGV0IHNldHRsZW1lbnREYXRlUmVnZXggPSAvXFxkezEsMn1bL11cXGR7Mn1bL11cXGR7Miw0fS87XG5cbiAgICAgIGlmIChiaWxsaW5nRGF0ZUxhYmVsID09PSAnJykge1xuICAgICAgICBiaWxsaW5nRGF0ZUxhYmVsID0gYXdhaXQgcGFnZUV2YWwocGFnZSwgc2Vjb25kYXJ5QmlsbGluZ0xhYmVsU2VsZWN0b3IsICcnLCAoKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGVsZW1lbnQgYXMgSFRNTFNwYW5FbGVtZW50KS5pbm5lclRleHQ7XG4gICAgICAgIH0pKTtcbiAgICAgICAgc2V0dGxlbWVudERhdGVSZWdleCA9IC9cXGR7MSwyfVsvXVxcZHsyLDR9LztcbiAgICAgIH1cblxuICAgICAgY29uc3QgYmlsbGluZ0RhdGUgPSBzZXR0bGVtZW50RGF0ZVJlZ2V4LmV4ZWMoYmlsbGluZ0RhdGVMYWJlbCk/LlswXTtcblxuICAgICAgaWYgKCFiaWxsaW5nRGF0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZhaWxlZCB0byBmZXRjaCBwcm9jZXNzIGRhdGUnKTtcbiAgICAgIH1cblxuICAgICAgZGVidWcoYGZvdW5kIHRoZSBiaWxsaW5nIGRhdGUgZm9yIHRoYXQgbW9udGggJHtiaWxsaW5nRGF0ZX1gKTtcbiAgICAgIGxldCBoYXNOZXh0UGFnZSA9IGZhbHNlO1xuICAgICAgZG8ge1xuICAgICAgICBkZWJ1ZygnZmV0Y2ggcmF3IHRyYW5zYWN0aW9ucyBmcm9tIHBhZ2UnKTtcbiAgICAgICAgY29uc3QgcmF3VHJhbnNhY3Rpb25zID0gYXdhaXQgcGFnZUV2YWxBbGw8KFNjcmFwZWRUcmFuc2FjdGlvbiB8IG51bGwpW10+KHBhZ2UsICcjY3RsTWFpbkdyaWQgPiB0Ym9keSB0ciwgI2N0bFNlY29uZGFyeUdyaWQgPiB0Ym9keSB0cicsIFtdLCAoaXRlbXMsIGJpbGxpbmdEYXRlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChpdGVtcykubWFwKChlbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29sdW1ucyA9IGVsLmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0ZCcpO1xuICAgICAgICAgICAgaWYgKGNvbHVtbnMubGVuZ3RoID09PSA2KSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc2VkRGF0ZTogY29sdW1uc1swXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgZGF0ZTogY29sdW1uc1sxXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGNvbHVtbnNbMl0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIG9yaWdpbmFsQW1vdW50OiBjb2x1bW5zWzNdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBjaGFyZ2VkQW1vdW50OiBjb2x1bW5zWzRdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBtZW1vOiBjb2x1bW5zWzVdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjb2x1bW5zLmxlbmd0aCA9PT0gNSkge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHByb2Nlc3NlZERhdGU6IGJpbGxpbmdEYXRlLFxuICAgICAgICAgICAgICAgIGRhdGU6IGNvbHVtbnNbMF0uaW5uZXJUZXh0LFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjb2x1bW5zWzFdLmlubmVyVGV4dCxcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEFtb3VudDogY29sdW1uc1syXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgY2hhcmdlZEFtb3VudDogY29sdW1uc1szXS5pbm5lclRleHQsXG4gICAgICAgICAgICAgICAgbWVtbzogY29sdW1uc1s0XS5pbm5lclRleHQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgYmlsbGluZ0RhdGUpO1xuICAgICAgICBkZWJ1ZyhgZmV0Y2hlZCAke3Jhd1RyYW5zYWN0aW9ucy5sZW5ndGh9IHJhdyB0cmFuc2FjdGlvbnMgZnJvbSBwYWdlYCk7XG4gICAgICAgIGFjY291bnRUcmFuc2FjdGlvbnMucHVzaCguLi5jb252ZXJ0VHJhbnNhY3Rpb25zKChyYXdUcmFuc2FjdGlvbnMgYXMgU2NyYXBlZFRyYW5zYWN0aW9uW10pXG4gICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKSkpO1xuXG4gICAgICAgIGRlYnVnKCdjaGVjayBmb3IgZXhpc3RhbmNlIG9mIGFub3RoZXIgcGFnZScpO1xuICAgICAgICBoYXNOZXh0UGFnZSA9IGF3YWl0IGVsZW1lbnRQcmVzZW50T25QYWdlKHBhZ2UsIG5leHRQYWdlU2VsZWN0b3IpO1xuICAgICAgICBpZiAoaGFzTmV4dFBhZ2UpIHtcbiAgICAgICAgICBkZWJ1ZygnaGFzIGFub3RoZXIgcGFnZSwgY2xpY2sgb24gYnV0dG9uIG5leHQgYW5kIHdhaXQgZm9yIHBhZ2UgbmF2aWdhdGlvbicpO1xuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgIHBhZ2Uud2FpdEZvck5hdmlnYXRpb24oeyB3YWl0VW50aWw6ICdkb21jb250ZW50bG9hZGVkJyB9KSxcbiAgICAgICAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsICdbaWQkPUZvcm1BcmVhTm9Cb3JkZXJfRm9ybUFyZWFfY3RsR3JpZFBhZ2VyX2J0bk5leHRdJyksXG4gICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgIH0gd2hpbGUgKGhhc05leHRQYWdlKTtcbiAgICB9XG4gIH1cblxuICBkZWJ1ZygnZmlsZXIgb3V0IG9sZCB0cmFuc2FjdGlvbnMnKTtcbiAgY29uc3QgdHhucyA9IGZpbHRlck9sZFRyYW5zYWN0aW9ucyhhY2NvdW50VHJhbnNhY3Rpb25zLCBzdGFydERhdGUsIHNjcmFwZXJPcHRpb25zLmNvbWJpbmVJbnN0YWxsbWVudHMgfHwgZmFsc2UpO1xuICBkZWJ1ZyhgZm91bmQgJHt0eG5zLmxlbmd0aH0gdmFsaWQgdHJhbnNhY3Rpb25zIG91dCBvZiAke2FjY291bnRUcmFuc2FjdGlvbnMubGVuZ3RofSB0cmFuc2FjdGlvbnMgZm9yIGFjY291bnQgZW5kaW5nIHdpdGggJHthY2NvdW50TnVtYmVyLnN1YnN0cmluZyhhY2NvdW50TnVtYmVyLmxlbmd0aCAtIDIpfWApO1xuICByZXR1cm4ge1xuICAgIGFjY291bnROdW1iZXIsXG4gICAgdHhucyxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0QWNjb3VudE51bWJlcnMocGFnZTogUGFnZSk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgcmV0dXJuIHBhZ2VFdmFsQWxsKHBhZ2UsICdbaWQkPWxua0l0ZW1dJywgW10sIChlbGVtZW50cykgPT4gZWxlbWVudHMubWFwKChlKSA9PiAoZSBhcyBIVE1MQW5jaG9yRWxlbWVudCkudGV4dCkpLnRoZW4oKHJlcykgPT4gcmVzLm1hcCgodGV4dCkgPT4gL1xcZCskLy5leGVjKHRleHQudHJpbSgpKT8uWzBdID8/ICcnKSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNldEFjY291bnQocGFnZTogUGFnZSwgYWNjb3VudDogc3RyaW5nKSB7XG4gIGF3YWl0IHBhZ2VFdmFsQWxsKFxuICAgIHBhZ2UsXG4gICAgJ1tpZCQ9bG5rSXRlbV0nLFxuICAgIG51bGwsXG4gICAgKGVsZW1lbnRzLCBhY2NvdW50KSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGVsZW0gb2YgZWxlbWVudHMpIHtcbiAgICAgICAgY29uc3QgYSA9IGVsZW0gYXMgSFRNTEFuY2hvckVsZW1lbnQ7XG4gICAgICAgIGlmIChhLnRleHQuaW5jbHVkZXMoYWNjb3VudCkpIHtcbiAgICAgICAgICBhLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIGFjY291bnQsXG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zKHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50LCBzY3JhcGVyT3B0aW9uczogU2NhcGVyT3B0aW9ucyk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudFtdPiB7XG4gIGNvbnN0IGFjY291bnROdW1iZXJzOiBzdHJpbmdbXSA9IGF3YWl0IGdldEFjY291bnROdW1iZXJzKHBhZ2UpO1xuICBjb25zdCBhY2NvdW50czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgZm9yIChjb25zdCBhY2NvdW50IG9mIGFjY291bnROdW1iZXJzKSB7XG4gICAgZGVidWcoYHNldHRpbmcgYWNjb3VudDogJHthY2NvdW50fWApO1xuICAgIGF3YWl0IHNldEFjY291bnQocGFnZSwgYWNjb3VudCk7XG4gICAgYXdhaXQgcGFnZS53YWl0Rm9yKDEwMDApO1xuICAgIGFjY291bnRzLnB1c2goXG4gICAgICBhd2FpdCBmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQoXG4gICAgICAgIHBhZ2UsXG4gICAgICAgIHN0YXJ0RGF0ZSxcbiAgICAgICAgYWNjb3VudCxcbiAgICAgICAgc2NyYXBlck9wdGlvbnMsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gYWNjb3VudHM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoRnV0dXJlRGViaXRzKHBhZ2U6IFBhZ2UpIHtcbiAgY29uc3QgZnV0dXJlRGViaXRzU2VsZWN0b3IgPSAnLmhvbWVwYWdlLWJhbmtzLXRvcCc7XG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcGFnZUV2YWxBbGwocGFnZSwgZnV0dXJlRGViaXRzU2VsZWN0b3IsIFtdLCAoaXRlbXMpID0+IHtcbiAgICBjb25zdCBkZWJpdE1vdW50Q2xhc3MgPSAnYW1vdW50JztcbiAgICBjb25zdCBkZWJpdFdoZW5DaGFyZ2VDbGFzcyA9ICd3aGVuLWNoYXJnZSc7XG4gICAgY29uc3QgZGViaXRCYW5rTnVtYmVyQ2xhc3MgPSAnYmFua0Rlc2MnO1xuXG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoY3VyckJhbmtFbDogYW55KSA9PiB7XG4gICAgICBjb25zdCBhbW91bnQgPSBjdXJyQmFua0VsLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZGViaXRNb3VudENsYXNzKVswXS5pbm5lclRleHQ7XG4gICAgICBjb25zdCB3aGVuQ2hhcmdlID0gY3VyckJhbmtFbC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGRlYml0V2hlbkNoYXJnZUNsYXNzKVswXS5pbm5lclRleHQ7XG4gICAgICBjb25zdCBiYW5rTnVtYmVyID0gY3VyckJhbmtFbC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGRlYml0QmFua051bWJlckNsYXNzKVswXS5pbm5lclRleHQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhbW91bnQsXG4gICAgICAgIHdoZW5DaGFyZ2UsXG4gICAgICAgIGJhbmtOdW1iZXIsXG4gICAgICB9O1xuICAgIH0pO1xuICB9KTtcbiAgY29uc3QgZnV0dXJlRGViaXRzID0gcmVzdWx0Lm1hcCgoaXRlbSkgPT4ge1xuICAgIGNvbnN0IGFtb3VudERhdGEgPSBnZXRBbW91bnREYXRhKGl0ZW0uYW1vdW50KTtcbiAgICBjb25zdCBjaGFyZ2VEYXRlID0gL1xcZHsxLDJ9Wy9dXFxkezJ9Wy9dXFxkezIsNH0vLmV4ZWMoaXRlbS53aGVuQ2hhcmdlKT8uWzBdO1xuICAgIGNvbnN0IGJhbmtBY2NvdW50TnVtYmVyID0gL1xcZCstXFxkKy8uZXhlYyhpdGVtLmJhbmtOdW1iZXIpPy5bMF07XG4gICAgcmV0dXJuIHtcbiAgICAgIGFtb3VudDogYW1vdW50RGF0YS5hbW91bnQsXG4gICAgICBhbW91bnRDdXJyZW5jeTogYW1vdW50RGF0YS5jdXJyZW5jeSxcbiAgICAgIGNoYXJnZURhdGUsXG4gICAgICBiYW5rQWNjb3VudE51bWJlcixcbiAgICB9O1xuICB9KTtcbiAgcmV0dXJuIGZ1dHVyZURlYml0cztcbn1cblxuY2xhc3MgVmlzYUNhbFNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIHtcbiAgb3BlbkxvZ2luUG9wdXAgPSBhc3luYyAoKSA9PiB7XG4gICAgZGVidWcoJ29wZW4gbG9naW4gcG9wdXAsIHdhaXQgdW50aWwgbG9naW4gYnV0dG9uIGF2YWlsYWJsZScpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICcjY2NMb2dpbkRlc2t0b3BCdG4nLCB0cnVlKTtcbiAgICBkZWJ1ZygnY2xpY2sgb24gdGhlIGxvZ2luIGJ1dHRvbicpO1xuICAgIGF3YWl0IGNsaWNrQnV0dG9uKHRoaXMucGFnZSwgJyNjY0xvZ2luRGVza3RvcEJ0bicpO1xuICAgIGRlYnVnKCdnZXQgdGhlIGZyYW1lIHRoYXQgaG9sZHMgdGhlIGxvZ2luJyk7XG4gICAgY29uc3QgZnJhbWUgPSBhd2FpdCBnZXRMb2dpbkZyYW1lKHRoaXMucGFnZSk7XG4gICAgZGVidWcoJ3dhaXQgdW50aWwgdGhlIHBhc3N3b3JkIGxvZ2luIHRhYiBoZWFkZXIgaXMgYXZhaWxhYmxlJyk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKGZyYW1lLCAnI3JlZ3VsYXItbG9naW4nKTtcbiAgICBkZWJ1ZygnbmF2aWdhdGUgdG8gdGhlIHBhc3N3b3JkIGxvZ2luIHRhYicpO1xuICAgIGF3YWl0IGNsaWNrQnV0dG9uKGZyYW1lLCAnI3JlZ3VsYXItbG9naW4nKTtcbiAgICBkZWJ1Zygnd2FpdCB1bnRpbCB0aGUgcGFzc3dvcmQgbG9naW4gdGFiIGlzIGFjdGl2ZScpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChmcmFtZSwgJ3JlZ3VsYXItbG9naW4nKTtcblxuICAgIHJldHVybiBmcmFtZTtcbiAgfTtcblxuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IGAke0xPR0lOX1VSTH1gLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJ2J1dHRvblt0eXBlPVwic3VibWl0XCJdJyxcbiAgICAgIHBvc3NpYmxlUmVzdWx0czogZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoKSxcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnI2NjTG9naW5EZXNrdG9wQnRuJyksXG4gICAgICBwcmVBY3Rpb246IHRoaXMub3BlbkxvZ2luUG9wdXAsXG4gICAgICB1c2VyQWdlbnQ6ICdNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS83OC4wLjM5MDQuMTA4IFNhZmFyaS81MzcuMzYnLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKTogUHJvbWlzZTxTY2FwZXJTY3JhcGluZ1Jlc3VsdD4ge1xuICAgIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICd5ZWFycycpLmFkZCgxLCAnZGF5Jyk7XG4gICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5vcHRpb25zLnN0YXJ0RGF0ZSB8fCBkZWZhdWx0U3RhcnRNb21lbnQudG9EYXRlKCk7XG4gICAgY29uc3Qgc3RhcnRNb21lbnQgPSBtb21lbnQubWF4KGRlZmF1bHRTdGFydE1vbWVudCwgbW9tZW50KHN0YXJ0RGF0ZSkpO1xuICAgIGRlYnVnKGBmZXRjaCB0cmFuc2FjdGlvbnMgc3RhcnRpbmcgJHtzdGFydE1vbWVudC5mb3JtYXQoKX1gKTtcblxuICAgIGRlYnVnKCdmZXRjaCBmdXR1cmUgZGViaXRzJyk7XG4gICAgY29uc3QgZnV0dXJlRGViaXRzID0gYXdhaXQgZmV0Y2hGdXR1cmVEZWJpdHModGhpcy5wYWdlKTtcblxuICAgIGRlYnVnKCduYXZpZ2F0ZSB0byB0cmFuc2FjdGlvbnMgcGFnZScpO1xuICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUbyhUUkFOU0FDVElPTlNfVVJMLCB1bmRlZmluZWQsIDYwMDAwKTtcblxuICAgIGRlYnVnKCdmZXRjaCBhY2NvdW50cyB0cmFuc2FjdGlvbnMnKTtcbiAgICBjb25zdCBhY2NvdW50cyA9IGF3YWl0IGZldGNoVHJhbnNhY3Rpb25zKHRoaXMucGFnZSwgc3RhcnRNb21lbnQsIHRoaXMub3B0aW9ucyk7XG5cbiAgICBkZWJ1ZygncmV0dXJuIHRoZSBzY3JhcGVkIGFjY291bnRzJyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICBhY2NvdW50cyxcbiAgICAgIGZ1dHVyZURlYml0cyxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFZpc2FDYWxTY3JhcGVyO1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "israeli-bank-scrapers",
3
- "version": "1.12.0",
3
+ "version": "1.12.1",
4
4
  "private": false,
5
5
  "description": "Provide scrapers for all major Israeli banks and credit card companies",
6
6
  "engines": {