israeli-bank-scrapers 3.4.1 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -0
- package/lib/definitions.d.ts +6 -1
- package/lib/definitions.js +6 -1
- package/lib/helpers/fetch.d.ts +2 -1
- package/lib/helpers/fetch.js +26 -9
- package/lib/helpers/storage.d.ts +2 -0
- package/lib/helpers/storage.js +17 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.js +47 -3
- package/lib/scrapers/amex.d.ts +1 -1
- package/lib/scrapers/amex.js +1 -1
- package/lib/scrapers/amex.test.js +3 -2
- package/lib/scrapers/base-beinleumi-group.d.ts +7 -4
- package/lib/scrapers/base-beinleumi-group.js +1 -1
- package/lib/scrapers/base-isracard-amex.d.ts +8 -3
- package/lib/scrapers/base-isracard-amex.js +13 -11
- package/lib/scrapers/base-scraper-with-browser.d.ts +6 -3
- package/lib/scrapers/base-scraper-with-browser.js +14 -11
- package/lib/scrapers/base-scraper.d.ts +9 -119
- package/lib/scrapers/base-scraper.js +34 -50
- package/lib/scrapers/beyahad-bishvilha.d.ts +6 -3
- package/lib/scrapers/beyahad-bishvilha.js +1 -1
- package/lib/scrapers/discount.d.ts +9 -4
- package/lib/scrapers/discount.js +4 -4
- package/lib/scrapers/discount.test.js +4 -3
- package/lib/scrapers/errors.d.ts +16 -0
- package/lib/scrapers/errors.js +37 -0
- package/lib/scrapers/factory.d.ts +2 -16
- package/lib/scrapers/factory.js +6 -1
- package/lib/scrapers/hapoalim.d.ts +6 -3
- package/lib/scrapers/hapoalim.js +1 -1
- package/lib/scrapers/hapoalim.test.js +2 -2
- package/lib/scrapers/interface.d.ts +146 -0
- package/lib/scrapers/interface.js +2 -0
- package/lib/scrapers/isracard.d.ts +1 -1
- package/lib/scrapers/isracard.js +1 -1
- package/lib/scrapers/isracard.test.js +4 -3
- package/lib/scrapers/leumi.d.ts +8 -4
- package/lib/scrapers/leumi.js +1 -1
- package/lib/scrapers/max.d.ts +6 -3
- package/lib/scrapers/max.js +1 -1
- package/lib/scrapers/mizrahi.d.ts +7 -3
- package/lib/scrapers/mizrahi.js +11 -9
- package/lib/scrapers/one-zero-queries.d.ts +2 -0
- package/lib/scrapers/one-zero-queries.js +562 -0
- package/lib/scrapers/one-zero.d.ts +36 -0
- package/lib/scrapers/one-zero.js +304 -0
- package/lib/scrapers/one-zero.test.d.ts +1 -0
- package/lib/scrapers/one-zero.test.js +67 -0
- package/lib/scrapers/otsar-hahayal.d.ts +6 -3
- package/lib/scrapers/otsar-hahayal.js +1 -1
- package/lib/scrapers/union-bank.d.ts +6 -3
- package/lib/scrapers/union-bank.js +1 -1
- package/lib/scrapers/visa-cal.d.ts +103 -15
- package/lib/scrapers/visa-cal.js +154 -265
- package/lib/scrapers/yahav.d.ts +7 -3
- package/lib/scrapers/yahav.js +1 -1
- package/package.json +2 -2
package/lib/scrapers/max.js
CHANGED
|
@@ -314,4 +314,4 @@ class MaxScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
314
314
|
|
|
315
315
|
var _default = MaxScraper;
|
|
316
316
|
exports.default = _default;
|
|
317
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9tYXgudHMiXSwibmFtZXMiOlsiZGVidWciLCJCQVNFX0FDVElPTlNfVVJMIiwiQkFTRV9BUElfQUNUSU9OU19VUkwiLCJCQVNFX1dFTENPTUVfVVJMIiwiTE9HSU5fVVJMIiwiUEFTU1dPUkRfRVhQSVJFRF9VUkwiLCJTVUNDRVNTX1VSTCIsIk5PUk1BTF9UWVBFX05BTUUiLCJBVE1fVFlQRV9OQU1FIiwiSU5URVJORVRfU0hPUFBJTkdfVFlQRV9OQU1FIiwiSU5TVEFMTE1FTlRTX1RZUEVfTkFNRSIsIk1PTlRITFlfQ0hBUkdFX1RZUEVfTkFNRSIsIk9ORV9NT05USF9QT1NUUE9ORURfVFlQRV9OQU1FIiwiTU9OVEhMWV9QT1NUUE9ORURfVFlQRV9OQU1FIiwiTU9OVEhMWV9QQVlNRU5UX1RZUEVfTkFNRSIsIkZVVFVSRV9QVVJDSEFTRV9GSU5BTkNJTkciLCJNT05USExZX1BPU1RQT05FRF9JTlNUQUxMTUVOVFNfVFlQRV9OQU1FIiwiVEhJUlRZX0RBWVNfUExVU19UWVBFX05BTUUiLCJUV09fTU9OVEhTX1BPU1RQT05FRF9UWVBFX05BTUUiLCJNT05USExZX0NIQVJHRV9QTFVTX0lOVEVSRVNUX1RZUEVfTkFNRSIsIkNSRURJVF9UWVBFX05BTUUiLCJBQ0NVTVVMQVRJTkdfQkFTS0VUIiwiUE9TVFBPTkVEX1RSQU5TQUNUSU9OX0lOU1RBTExNRU5UUyIsIlJFUExBQ0VNRU5UX0NBUkQiLCJFQVJMWV9SRVBBWU1FTlQiLCJNT05USExZX0NBUkRfRkVFIiwiSU5WQUxJRF9ERVRBSUxTX1NFTEVDVE9SIiwiTE9HSU5fRVJST1JfU0VMRUNUT1IiLCJjYXRlZ29yaWVzIiwiTWFwIiwicmVkaXJlY3RPckRpYWxvZyIsInBhZ2UiLCJQcm9taXNlIiwicmFjZSIsImdldFRyYW5zYWN0aW9uc1VybCIsIm1vbnRoTW9tZW50IiwibW9udGgiLCJ5ZWFyIiwiZGF0ZSIsInBhdGgiLCJsb2FkQ2F0ZWdvcmllcyIsInJlcyIsIkFycmF5IiwiaXNBcnJheSIsInJlc3VsdCIsImxlbmd0aCIsImZvckVhY2giLCJpZCIsIm5hbWUiLCJzZXQiLCJnZXRUcmFuc2FjdGlvblR5cGUiLCJ0eG5UeXBlU3RyIiwiY2xlYW5lZFVwVHhuVHlwZVN0ciIsInJlcGxhY2UiLCJ0cmltIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsIkluc3RhbGxtZW50cyIsIkVycm9yIiwiZ2V0SW5zdGFsbG1lbnRzSW5mbyIsImNvbW1lbnRzIiwidW5kZWZpbmVkIiwibWF0Y2hlcyIsIm1hdGNoIiwibnVtYmVyIiwicGFyc2VJbnQiLCJ0b3RhbCIsIm1hcFRyYW5zYWN0aW9uIiwicmF3VHJhbnNhY3Rpb24iLCJpc1BlbmRpbmciLCJwYXltZW50RGF0ZSIsInByb2Nlc3NlZERhdGUiLCJwdXJjaGFzZURhdGUiLCJ0b0lTT1N0cmluZyIsInN0YXR1cyIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJQZW5kaW5nIiwiQ29tcGxldGVkIiwiaW5zdGFsbG1lbnRzIiwiaWRlbnRpZmllciIsImRlYWxEYXRhIiwiYXJuIiwidHlwZSIsInBsYW5OYW1lIiwib3JpZ2luYWxBbW91bnQiLCJvcmlnaW5hbEN1cnJlbmN5IiwiY2hhcmdlZEFtb3VudCIsImFjdHVhbFBheW1lbnRBbW91bnQiLCJkZXNjcmlwdGlvbiIsIm1lcmNoYW50TmFtZSIsIm1lbW8iLCJjYXRlZ29yeSIsImdldCIsImNhdGVnb3J5SWQiLCJmZXRjaFRyYW5zYWN0aW9uc0Zvck1vbnRoIiwidXJsIiwiZGF0YSIsInRyYW5zYWN0aW9uc0J5QWNjb3VudCIsInRyYW5zYWN0aW9ucyIsImZpbHRlciIsInRyYW5zYWN0aW9uIiwic2hvcnRDYXJkTnVtYmVyIiwibWFwcGVkVHJhbnNhY3Rpb24iLCJwdXNoIiwiYWRkUmVzdWx0IiwiYWxsUmVzdWx0cyIsImNsb25lZFJlc3VsdHMiLCJPYmplY3QiLCJrZXlzIiwiYWNjb3VudE51bWJlciIsInByZXBhcmVUcmFuc2FjdGlvbnMiLCJ0eG5zIiwic3RhcnRNb21lbnQiLCJjb21iaW5lSW5zdGFsbG1lbnRzIiwiZW5hYmxlVHJhbnNhY3Rpb25zRmlsdGVyQnlEYXRlIiwiY2xvbmVkVHhucyIsImZyb20iLCJmZXRjaFRyYW5zYWN0aW9ucyIsIm9wdGlvbnMiLCJmdXR1cmVNb250aHNUb1NjcmFwZSIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0Iiwic3RhcnREYXRlIiwidG9EYXRlIiwibW9tZW50IiwibWF4IiwiYWxsTW9udGhzIiwiaSIsIm91dHB1dERhdGEiLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiQ2hhbmdlUGFzc3dvcmQiLCJJbnZhbGlkUGFzc3dvcmQiLCJVbmtub3duRXJyb3IiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJNYXhTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldExvZ2luT3B0aW9ucyIsImxvZ2luVXJsIiwiZmllbGRzIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJwcmVBY3Rpb24iLCJjaGVja1JlYWRpbmVzcyIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiLCJyZXN1bHRzIiwiYWNjb3VudHMiLCJtYXAiLCJzdWNjZXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7OztBQUVBLE1BQU1BLEtBQUssR0FBRyxxQkFBUyxLQUFULENBQWQ7QUFrQkEsTUFBTUMsZ0JBQWdCLEdBQUcsMEJBQXpCO0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUcsK0JBQTdCO0FBQ0EsTUFBTUMsZ0JBQWdCLEdBQUcsdUJBQXpCO0FBRUEsTUFBTUMsU0FBUyxHQUFJLEdBQUVELGdCQUFpQixtQkFBdEM7QUFDQSxNQUFNRSxvQkFBb0IsR0FB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Q0Q7O0FBQ0QsY0FBTSx1Q0FBWSxLQUFLQSxJQUFqQixFQUF1Qix3Q0FBdkIsQ0FBTjtBQUNBLGNBQU0saURBQXNCLEtBQUtBLElBQTNCLEVBQWlDLHNCQUFqQyxFQUF5RCxJQUF6RCxDQUFOO0FBQ0EsY0FBTSx1Q0FBWSxLQUFLQSxJQUFqQixFQUF1QixzQkFBdkIsQ0FBTjtBQUNBLGNBQU0saURBQXNCLEtBQUtBLElBQTNCLEVBQWlDLHFEQUFqQyxFQUF3RixJQUF4RixDQUFOO0FBQ0QsT0FaSTtBQWFMc0gsTUFBQUEsY0FBYyxFQUFFLFlBQVk7QUFDMUIsY0FBTSxpREFBc0IsS0FBS3RILElBQTNCLEVBQWlDLHdDQUFqQyxFQUEyRSxJQUEzRSxDQUFOO0FBQ0QsT0FmSTtBQWdCTHVILE1BQUFBLFVBQVUsRUFBRSxZQUFZeEgsZ0JBQWdCLENBQUMsS0FBS0MsSUFBTixDQWhCbkM7QUFpQkx3SCxNQUFBQSxlQUFlLEVBQUV0Qix1QkFBdUIsQ0FBQyxLQUFLbEcsSUFBTjtBQWpCbkMsS0FBUDtBQW1CRDs7QUFFRCxRQUFNeUgsU0FBTixHQUFrQjtBQUNoQixVQUFNQyxPQUFPLEdBQUcsTUFBTXBDLGlCQUFpQixDQUFDLEtBQUt0RixJQUFOLEVBQVksS0FBS3VGLE9BQWpCLENBQXZDO0FBQ0EsVUFBTW9DLFFBQVEsR0FBRy9DLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZNkMsT0FBWixFQUFxQkUsR0FBckIsQ0FBMEI5QyxhQUFELElBQW1CO0FBQzNELGFBQU87QUFDTEEsUUFBQUEsYUFESztBQUVMRSxRQUFBQSxJQUFJLEVBQUUwQyxPQUFPLENBQUM1QyxhQUFEO0FBRlIsT0FBUDtBQUlELEtBTGdCLENBQWpCO0FBT0EsV0FBTztBQUNMK0MsTUFBQUEsT0FBTyxFQUFFLElBREo7QUFFTEYsTUFBQUE7QUFGSyxLQUFQO0FBSUQ7O0FBcEM2Qzs7ZUF1Q2pDWixVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJ1aWxkVXJsIGZyb20gJ2J1aWxkLXVybCc7XG5pbXBvcnQgbW9tZW50LCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IGZldGNoR2V0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyB3YWl0Rm9yUmVkaXJlY3QgfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgd2FpdFVudGlsRWxlbWVudEZvdW5kLCBlbGVtZW50UHJlc2VudE9uUGFnZSwgY2xpY2tCdXR0b24gfSBmcm9tICcuLi9oZWxwZXJzL2VsZW1lbnRzLWludGVyYWN0aW9ucyc7XG5pbXBvcnQgZ2V0QWxsTW9udGhNb21lbnRzIGZyb20gJy4uL2hlbHBlcnMvZGF0ZXMnO1xuaW1wb3J0IHsgZml4SW5zdGFsbG1lbnRzLCBzb3J0VHJhbnNhY3Rpb25zQnlEYXRlLCBmaWx0ZXJPbGRUcmFuc2FjdGlvbnMgfSBmcm9tICcuLi9oZWxwZXJzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyB9IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBTY3JhcGVyT3B0aW9ucywgU2NyYXBlckNyZWRlbnRpYWxzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHsgZ2V0RGVidWcgfSBmcm9tICcuLi9oZWxwZXJzL2RlYnVnJztcblxuY29uc3QgZGVidWcgPSBnZXREZWJ1ZygnbWF4Jyk7XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb24ge1xuICBzaG9ydENhcmROdW1iZXI6IHN0cmluZztcbiAgcGF5bWVudERhdGU/OiBzdHJpbmc7XG4gIHB1cmNoYXNlRGF0ZTogc3RyaW5nO1xuICBhY3R1YWxQYXltZW50QW1vdW50OiBzdHJpbmc7XG4gIG9yaWdpbmFsQ3VycmVuY3k6IHN0cmluZztcbiAgb3JpZ2luYWxBbW91bnQ6IG51bWJlcjtcbiAgcGxhbk5hbWU6IHN0cmluZztcbiAgY29tbWVudHM6IHN0cmluZztcbiAgbWVyY2hhbnROYW1lOiBzdHJpbmc7XG4gIGNhdGVnb3J5SWQ6IG51bWJlcjtcbiAgZGVhbERhdGE/OiB7XG4gICAgYXJuOiBzdHJpbmc7XG4gIH07XG59XG5cbmNvbnN0IEJBU0VfQUNUSU9OU19VUkwgPSAnaHR0cHM6Ly9vbmxpbmUubWF4LmNvLmlsJztcbmNvbnN0IEJBU0VfQVBJX0FDVElPTlNfVVJMID0gJ2h0dHBzOi8vb25saW5lbGNhcGkubWF4LmNvLmlsJztcbmNvbnN0IEJBU0VfV0VMQ09NRV9VUkwgPSAnaHR0cHM6Ly93d3cubWF4LmNvLmlsJztcblxuY29uc3QgTE9HSU5fVVJMID0gYCR7QkFTRV9XRUxDT01FX1VSTH0vaG9tZXBhZ2Uvd2VsY29tZWA7XG5jb25zdCBQQVNTV09SRF9FWFBJUkVEX1VSTCA9IGAke0JBU0VfQUNUSU9OU19VUkx9L0Fub255bW91cy9Mb2dpbi9QYXNzd29yZEV4cGlyZWQuYXNweGA7XG5jb25zdCBTVUNDRVNTX1VSTCA9IGAke0JBU0VfV0VMQ09NRV9VUkx9L2hvbWVwYWdlL3BlcnNvbmFsYDtcblxuY29uc3QgTk9STUFMX1RZUEVfTkFNRSA9ICfXqNeS15nXnNeUJztcbmNvbnN0IEFUTV9UWVBFX05BTUUgPSAn15fXmdeV15Eg16LXoden15XXqiDXnteZ15nXk9eZJztcbmNvbnN0IElOVEVSTkVUX1NIT1BQSU5HX1RZUEVfTkFNRSA9ICfXkNeZ16DXmNeo16DXmC/Xl9eVXCLXnCc7XG5jb25zdCBJTlNUQUxMTUVOVFNfVFlQRV9OQU1FID0gJ9eq16nXnNeV157XmdedJztcbmNvbnN0IE1PTlRITFlfQ0hBUkdFX1RZUEVfTkFNRSA9ICfXl9eZ15XXkSDXl9eV15PXqdeZJztcbmNvbnN0IE9ORV9NT05USF9QT1NUUE9ORURfVFlQRV9OQU1FID0gJ9eT15fXldeZINeX15XXk9epJztcbmNvbnN0IE1PTlRITFlfUE9TVFBPTkVEX1RZUEVfTkFNRSA9ICfXk9eX15XXmSDXnNeX15nXldeRINeU15fXldeT16nXmSc7XG5jb25zdCBNT05USExZX1BBWU1FTlRfVFlQRV9OQU1FID0gJ9eq16nXnNeV150g15fXldeT16nXmSc7XG5jb25zdCBGVVRVUkVfUFVSQ0hBU0VfRklOQU5DSU5HID0gJ9ee15nXnteV158g15zXqNeb15nXqdeUINei16rXmdeT15nXqic7XG5jb25zdCBNT05USExZX1BPU1RQT05FRF9JTlNUQUxMTUVOVFNfVFlQRV9OQU1FID0gJ9eT15fXldeZINeX15XXk9epINeq16nXnNeV157XmdedJztcbmNvbnN0IFRISVJUWV9EQVlTX1BMVVNfVFlQRV9OQU1FID0gJ9ei16HXp9eqIDMwINek15zXldehJztcbmNvbnN0IFRXT19NT05USFNfUE9TVFBPTkVEX1RZUEVfTkFNRSA9ICfXk9eX15XXmSDXl9eV15PXqdeZ15nXnSc7XG5jb25zdCBNT05USExZX0NIQVJHRV9QTFVTX0lOVEVSRVNUX1RZUEVfTkFNRSA9ICfXl9eV15PXqdeZICsg16jXmdeR15nXqic7XG5jb25zdCBDUkVESVRfVFlQRV9OQU1FID0gJ9en16jXk9eZ15gnO1xuY29uc3QgQUNDVU1VTEFUSU5HX0JBU0tFVCA9ICfXodecINee16bXmNeR16gnO1xuY29uc3QgUE9TVFBPTkVEX1RSQU5TQUNUSU9OX0lOU1RBTExNRU5UUyA9ICfXpNeo15nXodeqINeU16LXoden15Qg15TXk9eX15XXmdeUJztcbmNvbnN0IFJFUExBQ0VNRU5UX0NBUkQgPSAn15vXqNeY15nXoSDXl9ec15nXpNeZJztcbmNvbnN0IEVBUkxZX1JFUEFZTUVOVCA9ICfXpNeo16LXldefINee15XXp9eT150nO1xuY29uc3QgTU9OVEhMWV9DQVJEX0ZFRSA9ICfXk9ee15kg15vXqNeY15nXoSc7XG5cbmNvbnN0IElOVkFMSURfREVUQUlMU19TRUxFQ1RPUiA9ICcjcG9wdXBXcm9uZ0RldGFpbHMnO1xuY29uc3QgTE9HSU5fRVJST1JfU0VMRUNUT1IgPSAnI3BvcHVwQ2FyZEhvbGRlcnNMb2dpbkVycm9yJztcblxuY29uc3QgY2F0ZWdvcmllcyA9IG5ldyBNYXA8bnVtYmVyLCBzdHJpbmc+KCk7XG5cbmZ1bmN0aW9uIHJlZGlyZWN0T3JEaWFsb2cocGFnZTogUGFnZSkge1xuICByZXR1cm4gUHJvbWlzZS5yYWNlKFtcbiAgICB3YWl0Rm9yUmVkaXJlY3QocGFnZSwgMjAwMDAsIGZhbHNlLCBbQkFTRV9XRUxDT01FX1VSTCwgYCR7QkFTRV9XRUxDT01FX1VSTH0vYF0pLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBJTlZBTElEX0RFVEFJTFNfU0VMRUNUT1IsIHRydWUpLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBMT0dJTl9FUlJPUl9TRUxFQ1RPUiwgdHJ1ZSksXG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRUcmFuc2FjdGlvbnNVcmwobW9udGhNb21lbnQ6IE1vbWVudCkge1xuICBjb25zdCBtb250aCA9IG1vbnRoTW9tZW50Lm1vbnRoKCkgKyAxO1xuICBjb25zdCB5ZWFyID0gbW9udGhNb21lbnQueWVhcigpO1xuICBjb25zdCBkYXRlID0gYCR7eWVhcn0tJHttb250aH0tMDFgO1xuXG4gIC8qKlxuICAgICAqIHVybCBleHBsYW5hdGlvbjpcbiAgICAgKiB1c2VySW5kZXg6IC0xIGZvciBhbGwgYWNjb3VudCBvd25lcnNcbiAgICAgKiBjYXJkSW5kZXg6IC0xIGZvciBhbGwgY2FyZHMgdW5kZXIgdGhlIGFjY291bnRcbiAgICAgKiBhbGwgb3RoZXIgcXVlcnkgcGFyYW1zIGFyZSBzdGF0aWMsIGJlc2lkZSB0aGUgZGF0ZSB3aGljaCBjaGFuZ2VzIGZvciByZXF1ZXN0IHBlciBtb250aFxuICAgICAqL1xuICByZXR1cm4gYnVpbGRVcmwoQkFTRV9BUElfQUNUSU9OU19VUkwsIHtcbiAgICBwYXRoOiBgL2FwaS9yZWdpc3RlcmVkL3RyYW5zYWN0aW9uRGV0YWlscy9nZXRUcmFuc2FjdGlvbnNBbmRHcmFwaHM/ZmlsdGVyRGF0YT17XCJ1c2VySW5kZXhcIjotMSxcImNhcmRJbmRleFwiOi0xLFwibW9udGhWaWV3XCI6dHJ1ZSxcImRhdGVcIjpcIiR7ZGF0ZX1cIixcImRhdGVzXCI6e1wic3RhcnREYXRlXCI6XCIwXCIsXCJlbmREYXRlXCI6XCIwXCJ9LFwiYmFua0FjY291bnRcIjp7XCJiYW5rQWNjb3VudEluZGV4XCI6LTEsXCJjYXJkc1wiOm51bGx9fSZmaXJzdENhbGxDYXJkSW5kZXg9LTFgLFxuICB9KTtcbn1cblxuaW50ZXJmYWNlIEZldGNoQ2F0ZWdvcnlSZXN1bHQge1xuICByZXN1bHQ/IDogQXJyYXk8e1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICB9Pjtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZENhdGVnb3JpZXMocGFnZTogUGFnZSkge1xuICBkZWJ1ZygnTG9hZGluZyBjYXRlZ29yaWVzJyk7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoR2V0V2l0aGluUGFnZTxGZXRjaENhdGVnb3J5UmVzdWx0PihwYWdlLCBgJHtCQVNFX0FQSV9BQ1RJT05TX1VSTH0vYXBpL2NvbnRlbnRzL2dldENhdGVnb3JpZXNgKTtcbiAgaWYgKHJlcyAmJiBBcnJheS5pc0FycmF5KHJlcy5yZXN1bHQpKSB7XG4gICAgZGVidWcoYCR7cmVzLnJlc3VsdC5sZW5ndGh9IGNhdGVnb3JpZXMgbG9hZGVkYCk7XG4gICAgICByZXMucmVzdWx0Py5mb3JFYWNoKCh7IGlkLCBuYW1lIH0pID0+IGNhdGVnb3JpZXMuc2V0KGlkLCBuYW1lKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25UeXBlKHR4blR5cGVTdHI6IHN0cmluZykge1xuICBjb25zdCBjbGVhbmVkVXBUeG5UeXBlU3RyID0gdHhuVHlwZVN0ci5yZXBsYWNlKCdcXHQnLCAnICcpLnRyaW0oKTtcbiAgc3dpdGNoIChjbGVhbmVkVXBUeG5UeXBlU3RyKSB7XG4gICAgY2FzZSBBVE1fVFlQRV9OQU1FOlxuICAgIGNhc2UgTk9STUFMX1RZUEVfTkFNRTpcbiAgICBjYXNlIE1PTlRITFlfQ0hBUkdFX1RZUEVfTkFNRTpcbiAgICBjYXNlIE9ORV9NT05USF9QT1NUUE9ORURfVFlQRV9OQU1FOlxuICAgIGNhc2UgTU9OVEhMWV9QT1NUUE9ORURfVFlQRV9OQU1FOlxuICAgIGNhc2UgRlVUVVJFX1BVUkNIQVNFX0ZJTkFOQ0lORzpcbiAgICBjYXNlIE1PTlRITFlfUEFZTUVOVF9UWVBFX05BTUU6XG4gICAgY2FzZSBNT05USExZX1BPU1RQT05FRF9JTlNUQUxMTUVOVFNfVFlQRV9OQU1FOlxuICAgIGNhc2UgVEhJUlRZX0RBWVNfUExVU19UWVBFX05BTUU6XG4gICAgY2FzZSBUV09fTU9OVEhTX1BPU1RQT05FRF9UWVBFX05BTUU6XG4gICAgY2FzZSBBQ0NVTVVMQVRJTkdfQkFTS0VUOlxuICAgIGNhc2UgSU5URVJORVRfU0hPUFBJTkdfVFlQRV9OQU1FOlxuICAgIGNhc2UgTU9OVEhMWV9DSEFSR0VfUExVU19JTlRFUkVTVF9UWVBFX05BTUU6XG4gICAgY2FzZSBQT1NUUE9ORURfVFJBTlNBQ1RJT05fSU5TVEFMTE1FTlRTOlxuICAgIGNhc2UgUkVQTEFDRU1FTlRfQ0FSRDpcbiAgICBjYXNlIEVBUkxZX1JFUEFZTUVOVDpcbiAgICBjYXNlIE1PTlRITFlfQ0FSRF9GRUU6XG4gICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWw7XG4gICAgY2FzZSBJTlNUQUxMTUVOVFNfVFlQRV9OQU1FOlxuICAgIGNhc2UgQ1JFRElUX1RZUEVfTkFNRTpcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGVzLkluc3RhbGxtZW50cztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHRyYW5zYWN0aW9uIHR5cGUgJHtjbGVhbmVkVXBUeG5UeXBlU3RyfWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEluc3RhbGxtZW50c0luZm8oY29tbWVudHM6IHN0cmluZykge1xuICBpZiAoIWNvbW1lbnRzKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCBtYXRjaGVzID0gY29tbWVudHMubWF0Y2goL1xcZCsvZyk7XG4gIGlmICghbWF0Y2hlcyB8fCBtYXRjaGVzLmxlbmd0aCA8IDIpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBudW1iZXI6IHBhcnNlSW50KG1hdGNoZXNbMF0sIDEwKSxcbiAgICB0b3RhbDogcGFyc2VJbnQobWF0Y2hlc1sxXSwgMTApLFxuICB9O1xufVxuZnVuY3Rpb24gbWFwVHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IFNjcmFwZWRUcmFuc2FjdGlvbik6IFRyYW5zYWN0aW9uIHtcbiAgY29uc3QgaXNQZW5kaW5nID0gcmF3VHJhbnNhY3Rpb24ucGF5bWVudERhdGUgPT09IG51bGw7XG4gIGNvbnN0IHByb2Nlc3NlZERhdGUgPSBtb21lbnQoaXNQZW5kaW5nID9cbiAgICByYXdUcmFuc2FjdGlvbi5wdXJjaGFzZURhdGUgOlxuICAgIHJhd1RyYW5zYWN0aW9uLnBheW1lbnREYXRlKS50b0lTT1N0cmluZygpO1xuICBjb25zdCBzdGF0dXMgPSBpc1BlbmRpbmcgPyBUcmFuc2FjdGlvblN0YXR1c2VzLlBlbmRpbmcgOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZDtcblxuICBjb25zdCBpbnN0YWxsbWVudHMgPSBnZXRJbnN0YWxsbWVudHNJbmZvKHJhd1RyYW5zYWN0aW9uLmNvbW1lbnRzKTtcbiAgY29uc3QgaWRlbnRpZmllciA9IGluc3RhbGxtZW50cyA/XG4gICAgYCR7cmF3VHJhbnNhY3Rpb24uZGVhbERhdGE/LmFybn1fJHtpbnN0YWxsbWVudHMubnVtYmVyfWAgOlxuICAgIHJhd1RyYW5zYWN0aW9uLmRlYWxEYXRhPy5hcm47XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBnZXRUcmFuc2FjdGlvblR5cGUocmF3VHJhbnNhY3Rpb24ucGxhbk5hbWUpLFxuICAgIGRhdGU6IG1vbWVudChyYXdUcmFuc2FjdGlvbi5wdXJjaGFzZURhdGUpLnRvSVNPU3RyaW5nKCksXG4gICAgcHJvY2Vzc2VkRGF0ZSxcbiAgICBvcmlnaW5hbEFtb3VudDogLXJhd1RyYW5zYWN0aW9uLm9yaWdpbmFsQW1vdW50LFxuICAgIG9yaWdpbmFsQ3VycmVuY3k6IHJhd1RyYW5zYWN0aW9uLm9yaWdpbmFsQ3VycmVuY3ksXG4gICAgY2hhcmdlZEFtb3VudDogLXJhd1RyYW5zYWN0aW9uLmFjdHVhbFBheW1lbnRBbW91bnQsXG4gICAgZGVzY3JpcHRpb246IHJhd1RyYW5zYWN0aW9uLm1lcmNoYW50TmFtZS50cmltKCksXG4gICAgbWVtbzogcmF3VHJhbnNhY3Rpb24uY29tbWVudHMsXG4gICAgY2F0ZWdvcnk6IGNhdGVnb3JpZXMuZ2V0KHJhd1RyYW5zYWN0aW9uPy5jYXRlZ29yeUlkKSxcbiAgICBpbnN0YWxsbWVudHMsXG4gICAgaWRlbnRpZmllcixcbiAgICBzdGF0dXMsXG4gIH07XG59XG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uc1Jlc3VsdHtcbiAgcmVzdWx0Pzoge1xuICAgIHRyYW5zYWN0aW9uczogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zRm9yTW9udGgocGFnZTogUGFnZSwgbW9udGhNb21lbnQ6IE1vbWVudCkge1xuICBjb25zdCB1cmwgPSBnZXRUcmFuc2FjdGlvbnNVcmwobW9udGhNb21lbnQpO1xuXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCBmZXRjaEdldFdpdGhpblBhZ2U8U2NyYXBlZFRyYW5zYWN0aW9uc1Jlc3VsdD4ocGFnZSwgdXJsKTtcbiAgY29uc3QgdHJhbnNhY3Rpb25zQnlBY2NvdW50OiBSZWNvcmQ8c3RyaW5nLCBUcmFuc2FjdGlvbltdPiA9IHt9O1xuXG4gIGlmICghZGF0YSB8fCAhZGF0YS5yZXN1bHQpIHJldHVybiB0cmFuc2FjdGlvbnNCeUFjY291bnQ7XG5cbiAgZGF0YS5yZXN1bHQudHJhbnNhY3Rpb25zXG4gICAgLy8gRmlsdGVyIG91dCBub24tdHJhbnNhY3Rpb25zIHdpdGhvdXQgYSBwbGFuIHR5cGUsIGUuZy4gc3VtbWFyeSByb3dzXG4gICAgLmZpbHRlcigodHJhbnNhY3Rpb24pID0+ICEhdHJhbnNhY3Rpb24ucGxhbk5hbWUpXG4gICAgLmZvckVhY2goKHRyYW5zYWN0aW9uOiBTY3JhcGVkVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgIGlmICghdHJhbnNhY3Rpb25zQnlBY2NvdW50W3RyYW5zYWN0aW9uLnNob3J0Q2FyZE51bWJlcl0pIHtcbiAgICAgICAgdHJhbnNhY3Rpb25zQnlBY2NvdW50W3RyYW5zYWN0aW9uLnNob3J0Q2FyZE51bWJlcl0gPSBbXTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWFwcGVkVHJhbnNhY3Rpb24gPSBtYXBUcmFuc2FjdGlvbih0cmFuc2FjdGlvbik7XG4gICAgICB0cmFuc2FjdGlvbnNCeUFjY291bnRbdHJhbnNhY3Rpb24uc2hvcnRDYXJkTnVtYmVyXS5wdXNoKG1hcHBlZFRyYW5zYWN0aW9uKTtcbiAgICB9KTtcblxuICByZXR1cm4gdHJhbnNhY3Rpb25zQnlBY2NvdW50O1xufVxuXG5mdW5jdGlvbiBhZGRSZXN1bHQoYWxsUmVzdWx0czogUmVjb3JkPHN0cmluZywgVHJhbnNhY3Rpb25bXT4sIHJlc3VsdDogUmVjb3JkPHN0cmluZywgVHJhbnNhY3Rpb25bXT4pIHtcbiAgY29uc3QgY2xvbmVkUmVzdWx0czogUmVjb3JkPHN0cmluZywgVHJhbnNhY3Rpb25bXT4gPSB7IC4uLmFsbFJlc3VsdHMgfTtcbiAgT2JqZWN0LmtleXMocmVzdWx0KS5mb3JFYWNoKChhY2NvdW50TnVtYmVyKSA9PiB7XG4gICAgaWYgKCFjbG9uZWRSZXN1bHRzW2FjY291bnROdW1iZXJdKSB7XG4gICAgICBjbG9uZWRSZXN1bHRzW2FjY291bnROdW1iZXJdID0gW107XG4gICAgfVxuICAgIGNsb25lZFJlc3VsdHNbYWNjb3VudE51bWJlcl0ucHVzaCguLi5yZXN1bHRbYWNjb3VudE51bWJlcl0pO1xuICB9KTtcbiAgcmV0dXJuIGNsb25lZFJlc3VsdHM7XG59XG5cbmZ1bmN0aW9uIHByZXBhcmVUcmFuc2FjdGlvbnModHhuczogVHJhbnNhY3Rpb25bXSwgc3RhcnRNb21lbnQ6IG1vbWVudC5Nb21lbnQsIGNvbWJpbmVJbnN0YWxsbWVudHM6IGJvb2xlYW4sIGVuYWJsZVRyYW5zYWN0aW9uc0ZpbHRlckJ5RGF0ZTogYm9vbGVhbikge1xuICBsZXQgY2xvbmVkVHhucyA9IEFycmF5LmZyb20odHhucyk7XG4gIGlmICghY29tYmluZUluc3RhbGxtZW50cykge1xuICAgIGNsb25lZFR4bnMgPSBmaXhJbnN0YWxsbWVudHMoY2xvbmVkVHhucyk7XG4gIH1cbiAgY2xvbmVkVHhucyA9IHNvcnRUcmFuc2FjdGlvbnNCeURhdGUoY2xvbmVkVHhucyk7XG4gIGNsb25lZFR4bnMgPSBlbmFibGVUcmFuc2FjdGlvbnNGaWx0ZXJCeURhdGUgP1xuICAgIGZpbHRlck9sZFRyYW5zYWN0aW9ucyhjbG9uZWRUeG5zLCBzdGFydE1vbWVudCwgY29tYmluZUluc3RhbGxtZW50cyB8fCBmYWxzZSkgOlxuICAgIGNsb25lZFR4bnM7XG4gIHJldHVybiBjbG9uZWRUeG5zO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9ucyhwYWdlOiBQYWdlLCBvcHRpb25zOiBTY3JhcGVyT3B0aW9ucykge1xuICBjb25zdCBmdXR1cmVNb250aHNUb1NjcmFwZSA9IG9wdGlvbnMuZnV0dXJlTW9udGhzVG9TY3JhcGUgPz8gMTtcbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJyk7XG4gIGNvbnN0IHN0YXJ0RGF0ZSA9IG9wdGlvbnMuc3RhcnREYXRlIHx8IGRlZmF1bHRTdGFydE1vbWVudC50b0RhdGUoKTtcbiAgY29uc3Qgc3RhcnRNb21lbnQgPSBtb21lbnQubWF4KGRlZmF1bHRTdGFydE1vbWVudCwgbW9tZW50KHN0YXJ0RGF0ZSkpO1xuICBjb25zdCBhbGxNb250aHMgPSBnZXRBbGxNb250aE1vbWVudHMoc3RhcnRNb21lbnQsIGZ1dHVyZU1vbnRoc1RvU2NyYXBlKTtcblxuICBhd2FpdCBsb2FkQ2F0ZWdvcmllcyhwYWdlKTtcblxuICBsZXQgYWxsUmVzdWx0czogUmVjb3JkPHN0cmluZywgVHJhbnNhY3Rpb25bXT4gPSB7fTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhbGxNb250aHMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmZXRjaFRyYW5zYWN0aW9uc0Zvck1vbnRoKHBhZ2UsIGFsbE1vbnRoc1tpXSk7XG4gICAgYWxsUmVzdWx0cyA9IGFkZFJlc3VsdChhbGxSZXN1bHRzLCByZXN1bHQpO1xuICB9XG5cbiAgT2JqZWN0LmtleXMoYWxsUmVzdWx0cykuZm9yRWFjaCgoYWNjb3VudE51bWJlcikgPT4ge1xuICAgIGxldCB0eG5zID0gYWxsUmVzdWx0c1thY2NvdW50TnVtYmVyXTtcbiAgICB0eG5zID0gcHJlcGFyZVRyYW5zYWN0aW9ucyh0eG5zLCBzdGFydE1vbWVudCwgb3B0aW9ucy5jb21iaW5lSW5zdGFsbG1lbnRzIHx8IGZhbHNlLFxuICAgICAgKG9wdGlvbnMub3V0cHV0RGF0YT8uZW5hYmxlVHJhbnNhY3Rpb25zRmlsdGVyQnlEYXRlID8/IHRydWUpKTtcbiAgICBhbGxSZXN1bHRzW2FjY291bnROdW1iZXJdID0gdHhucztcbiAgfSk7XG5cbiAgcmV0dXJuIGFsbFJlc3VsdHM7XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHBhZ2U6IFBhZ2UpOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyB7XG4gIGNvbnN0IHVybHM6IFBvc3NpYmxlTG9naW5SZXN1bHRzID0ge307XG4gIHVybHNbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdID0gW1NVQ0NFU1NfVVJMXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdID0gW1BBU1NXT1JEX0VYUElSRURfVVJMXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXSA9IFthc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuIGVsZW1lbnRQcmVzZW50T25QYWdlKHBhZ2UsIElOVkFMSURfREVUQUlMU19TRUxFQ1RPUik7XG4gIH1dO1xuICB1cmxzW0xvZ2luUmVzdWx0cy5Vbmtub3duRXJyb3JdID0gW2FzeW5jICgpID0+IHtcbiAgICByZXR1cm4gZWxlbWVudFByZXNlbnRPblBhZ2UocGFnZSwgTE9HSU5fRVJST1JfU0VMRUNUT1IpO1xuICB9XTtcbiAgcmV0dXJuIHVybHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiAnI3VzZXItbmFtZScsIHZhbHVlOiBjcmVkZW50aWFscy51c2VybmFtZSB9LFxuICAgIHsgc2VsZWN0b3I6ICcjcGFzc3dvcmQnLCB2YWx1ZTogY3JlZGVudGlhbHMucGFzc3dvcmQgfSxcbiAgXTtcbn1cblxuY2xhc3MgTWF4U2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogTE9HSU5fVVJMLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJyNsb2dpbi1wYXNzd29yZCAjc2VuZC1jb2RlJyxcbiAgICAgIHByZUFjdGlvbjogYXN5bmMgKCkgPT4ge1xuICAgICAgICBpZiAoYXdhaXQgZWxlbWVudFByZXNlbnRPblBhZ2UodGhpcy5wYWdlLCAnI2Nsb3NlUG9wdXAnKSkge1xuICAgICAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHRoaXMucGFnZSwgJyNjbG9zZVBvcHVwJyk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgY2xpY2tCdXR0b24odGhpcy5wYWdlLCAnLnBlcnNvbmFsLWFyZWEgPiBhLmdvLXRvLXBlcnNvbmFsLWFyZWEnKTtcbiAgICAgICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJyNsb2dpbi1wYXNzd29yZC1saW5rJywgdHJ1ZSk7XG4gICAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHRoaXMucGFnZSwgJyNsb2dpbi1wYXNzd29yZC1saW5rJyk7XG4gICAgICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICcjbG9naW4tcGFzc3dvcmQudGFiLXBhbmUuYWN0aXZlIGFwcC11c2VyLWxvZ2luLWZvcm0nLCB0cnVlKTtcbiAgICAgIH0sXG4gICAgICBjaGVja1JlYWRpbmVzczogYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnLnBlcnNvbmFsLWFyZWEgPiBhLmdvLXRvLXBlcnNvbmFsLWFyZWEnLCB0cnVlKTtcbiAgICAgIH0sXG4gICAgICBwb3N0QWN0aW9uOiBhc3luYyAoKSA9PiByZWRpcmVjdE9yRGlhbG9nKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHRoaXMucGFnZSksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbnModGhpcy5wYWdlLCB0aGlzLm9wdGlvbnMpO1xuICAgIGNvbnN0IGFjY291bnRzID0gT2JqZWN0LmtleXMocmVzdWx0cykubWFwKChhY2NvdW50TnVtYmVyKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY2NvdW50TnVtYmVyLFxuICAgICAgICB0eG5zOiByZXN1bHRzW2FjY291bnROdW1iZXJdLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgYWNjb3VudHMsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNYXhTY3JhcGVyO1xuIl19
|
|
317
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9tYXgudHMiXSwibmFtZXMiOlsiZGVidWciLCJCQVNFX0FDVElPTlNfVVJMIiwiQkFTRV9BUElfQUNUSU9OU19VUkwiLCJCQVNFX1dFTENPTUVfVVJMIiwiTE9HSU5fVVJMIiwiUEFTU1dPUkRfRVhQSVJFRF9VUkwiLCJTVUNDRVNTX1VSTCIsIk5PUk1BTF9UWVBFX05BTUUiLCJBVE1fVFlQRV9OQU1FIiwiSU5URVJORVRfU0hPUFBJTkdfVFlQRV9OQU1FIiwiSU5TVEFMTE1FTlRTX1RZUEVfTkFNRSIsIk1PTlRITFlfQ0hBUkdFX1RZUEVfTkFNRSIsIk9ORV9NT05USF9QT1NUUE9ORURfVFlQRV9OQU1FIiwiTU9OVEhMWV9QT1NUUE9ORURfVFlQRV9OQU1FIiwiTU9OVEhMWV9QQVlNRU5UX1RZUEVfTkFNRSIsIkZVVFVSRV9QVVJDSEFTRV9GSU5BTkNJTkciLCJNT05USExZX1BPU1RQT05FRF9JTlNUQUxMTUVOVFNfVFlQRV9OQU1FIiwiVEhJUlRZX0RBWVNfUExVU19UWVBFX05BTUUiLCJUV09fTU9OVEhTX1BPU1RQT05FRF9UWVBFX05BTUUiLCJNT05USExZX0NIQVJHRV9QTFVTX0lOVEVSRVNUX1RZUEVfTkFNRSIsIkNSRURJVF9UWVBFX05BTUUiLCJBQ0NVTVVMQVRJTkdfQkFTS0VUIiwiUE9TVFBPTkVEX1RSQU5TQUNUSU9OX0lOU1RBTExNRU5UUyIsIlJFUExBQ0VNRU5UX0NBUkQiLCJFQVJMWV9SRVBBWU1FTlQiLCJNT05USExZX0NBUkRfRkVFIiwiSU5WQUxJRF9ERVRBSUxTX1NFTEVDVE9SIiwiTE9HSU5fRVJST1JfU0VMRUNUT1IiLCJjYXRlZ29yaWVzIiwiTWFwIiwicmVkaXJlY3RPckRpYWxvZyIsInBhZ2UiLCJQcm9taXNlIiwicmFjZSIsImdldFRyYW5zYWN0aW9uc1VybCIsIm1vbnRoTW9tZW50IiwibW9udGgiLCJ5ZWFyIiwiZGF0ZSIsInBhdGgiLCJsb2FkQ2F0ZWdvcmllcyIsInJlcyIsIkFycmF5IiwiaXNBcnJheSIsInJlc3VsdCIsImxlbmd0aCIsImZvckVhY2giLCJpZCIsIm5hbWUiLCJzZXQiLCJnZXRUcmFuc2FjdGlvblR5cGUiLCJ0eG5UeXBlU3RyIiwiY2xlYW5lZFVwVHhuVHlwZVN0ciIsInJlcGxhY2UiLCJ0cmltIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsIkluc3RhbGxtZW50cyIsIkVycm9yIiwiZ2V0SW5zdGFsbG1lbnRzSW5mbyIsImNvbW1lbnRzIiwidW5kZWZpbmVkIiwibWF0Y2hlcyIsIm1hdGNoIiwibnVtYmVyIiwicGFyc2VJbnQiLCJ0b3RhbCIsIm1hcFRyYW5zYWN0aW9uIiwicmF3VHJhbnNhY3Rpb24iLCJpc1BlbmRpbmciLCJwYXltZW50RGF0ZSIsInByb2Nlc3NlZERhdGUiLCJwdXJjaGFzZURhdGUiLCJ0b0lTT1N0cmluZyIsInN0YXR1cyIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJQZW5kaW5nIiwiQ29tcGxldGVkIiwiaW5zdGFsbG1lbnRzIiwiaWRlbnRpZmllciIsImRlYWxEYXRhIiwiYXJuIiwidHlwZSIsInBsYW5OYW1lIiwib3JpZ2luYWxBbW91bnQiLCJvcmlnaW5hbEN1cnJlbmN5IiwiY2hhcmdlZEFtb3VudCIsImFjdHVhbFBheW1lbnRBbW91bnQiLCJkZXNjcmlwdGlvbiIsIm1lcmNoYW50TmFtZSIsIm1lbW8iLCJjYXRlZ29yeSIsImdldCIsImNhdGVnb3J5SWQiLCJmZXRjaFRyYW5zYWN0aW9uc0Zvck1vbnRoIiwidXJsIiwiZGF0YSIsInRyYW5zYWN0aW9uc0J5QWNjb3VudCIsInRyYW5zYWN0aW9ucyIsImZpbHRlciIsInRyYW5zYWN0aW9uIiwic2hvcnRDYXJkTnVtYmVyIiwibWFwcGVkVHJhbnNhY3Rpb24iLCJwdXNoIiwiYWRkUmVzdWx0IiwiYWxsUmVzdWx0cyIsImNsb25lZFJlc3VsdHMiLCJPYmplY3QiLCJrZXlzIiwiYWNjb3VudE51bWJlciIsInByZXBhcmVUcmFuc2FjdGlvbnMiLCJ0eG5zIiwic3RhcnRNb21lbnQiLCJjb21iaW5lSW5zdGFsbG1lbnRzIiwiZW5hYmxlVHJhbnNhY3Rpb25zRmlsdGVyQnlEYXRlIiwiY2xvbmVkVHhucyIsImZyb20iLCJmZXRjaFRyYW5zYWN0aW9ucyIsIm9wdGlvbnMiLCJmdXR1cmVNb250aHNUb1NjcmFwZSIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0Iiwic3RhcnREYXRlIiwidG9EYXRlIiwibW9tZW50IiwibWF4IiwiYWxsTW9udGhzIiwiaSIsIm91dHB1dERhdGEiLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiQ2hhbmdlUGFzc3dvcmQiLCJJbnZhbGlkUGFzc3dvcmQiLCJVbmtub3duRXJyb3IiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJNYXhTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldExvZ2luT3B0aW9ucyIsImxvZ2luVXJsIiwiZmllbGRzIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJwcmVBY3Rpb24iLCJjaGVja1JlYWRpbmVzcyIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiLCJyZXN1bHRzIiwiYWNjb3VudHMiLCJtYXAiLCJzdWNjZXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUdBLE1BQU1BLEtBQUssR0FBRyxxQkFBUyxLQUFULENBQWQ7QUFrQkEsTUFBTUMsZ0JBQWdCLEdBQUcsMEJBQXpCO0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUcsK0JBQTdCO0FBQ0EsTUFBTUMsZ0JBQWdCLEdBQUcsdUJBQXpCO0FBRUEsTUFBTUMsU0FBUyxHQUFJLEdBQUVELGdCQUFpQixtQkFBdEM7QUFDQSxNQUFNRSxvQkFBb0IsR0FB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Q0Q7O0FBQ0QsY0FBTSx1Q0FBWSxLQUFLQSxJQUFqQixFQUF1Qix3Q0FBdkIsQ0FBTjtBQUNBLGNBQU0saURBQXNCLEtBQUtBLElBQTNCLEVBQWlDLHNCQUFqQyxFQUF5RCxJQUF6RCxDQUFOO0FBQ0EsY0FBTSx1Q0FBWSxLQUFLQSxJQUFqQixFQUF1QixzQkFBdkIsQ0FBTjtBQUNBLGNBQU0saURBQXNCLEtBQUtBLElBQTNCLEVBQWlDLHFEQUFqQyxFQUF3RixJQUF4RixDQUFOO0FBQ0QsT0FaSTtBQWFMc0gsTUFBQUEsY0FBYyxFQUFFLFlBQVk7QUFDMUIsY0FBTSxpREFBc0IsS0FBS3RILElBQTNCLEVBQWlDLHdDQUFqQyxFQUEyRSxJQUEzRSxDQUFOO0FBQ0QsT0FmSTtBQWdCTHVILE1BQUFBLFVBQVUsRUFBRSxZQUFZeEgsZ0JBQWdCLENBQUMsS0FBS0MsSUFBTixDQWhCbkM7QUFpQkx3SCxNQUFBQSxlQUFlLEVBQUV0Qix1QkFBdUIsQ0FBQyxLQUFLbEcsSUFBTjtBQWpCbkMsS0FBUDtBQW1CRDs7QUFFRCxRQUFNeUgsU0FBTixHQUFrQjtBQUNoQixVQUFNQyxPQUFPLEdBQUcsTUFBTXBDLGlCQUFpQixDQUFDLEtBQUt0RixJQUFOLEVBQVksS0FBS3VGLE9BQWpCLENBQXZDO0FBQ0EsVUFBTW9DLFFBQVEsR0FBRy9DLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZNkMsT0FBWixFQUFxQkUsR0FBckIsQ0FBMEI5QyxhQUFELElBQW1CO0FBQzNELGFBQU87QUFDTEEsUUFBQUEsYUFESztBQUVMRSxRQUFBQSxJQUFJLEVBQUUwQyxPQUFPLENBQUM1QyxhQUFEO0FBRlIsT0FBUDtBQUlELEtBTGdCLENBQWpCO0FBT0EsV0FBTztBQUNMK0MsTUFBQUEsT0FBTyxFQUFFLElBREo7QUFFTEYsTUFBQUE7QUFGSyxLQUFQO0FBSUQ7O0FBcEN5RTs7ZUF1QzdEWixVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJ1aWxkVXJsIGZyb20gJ2J1aWxkLXVybCc7XG5pbXBvcnQgbW9tZW50LCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IGZldGNoR2V0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyB3YWl0Rm9yUmVkaXJlY3QgfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgd2FpdFVudGlsRWxlbWVudEZvdW5kLCBlbGVtZW50UHJlc2VudE9uUGFnZSwgY2xpY2tCdXR0b24gfSBmcm9tICcuLi9oZWxwZXJzL2VsZW1lbnRzLWludGVyYWN0aW9ucyc7XG5pbXBvcnQgZ2V0QWxsTW9udGhNb21lbnRzIGZyb20gJy4uL2hlbHBlcnMvZGF0ZXMnO1xuaW1wb3J0IHsgZml4SW5zdGFsbG1lbnRzLCBzb3J0VHJhbnNhY3Rpb25zQnlEYXRlLCBmaWx0ZXJPbGRUcmFuc2FjdGlvbnMgfSBmcm9tICcuLi9oZWxwZXJzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyB9IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuaW1wb3J0IHsgU2NyYXBlck9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ21heCcpO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgc2hvcnRDYXJkTnVtYmVyOiBzdHJpbmc7XG4gIHBheW1lbnREYXRlPzogc3RyaW5nO1xuICBwdXJjaGFzZURhdGU6IHN0cmluZztcbiAgYWN0dWFsUGF5bWVudEFtb3VudDogc3RyaW5nO1xuICBvcmlnaW5hbEN1cnJlbmN5OiBzdHJpbmc7XG4gIG9yaWdpbmFsQW1vdW50OiBudW1iZXI7XG4gIHBsYW5OYW1lOiBzdHJpbmc7XG4gIGNvbW1lbnRzOiBzdHJpbmc7XG4gIG1lcmNoYW50TmFtZTogc3RyaW5nO1xuICBjYXRlZ29yeUlkOiBudW1iZXI7XG4gIGRlYWxEYXRhPzoge1xuICAgIGFybjogc3RyaW5nO1xuICB9O1xufVxuXG5jb25zdCBCQVNFX0FDVElPTlNfVVJMID0gJ2h0dHBzOi8vb25saW5lLm1heC5jby5pbCc7XG5jb25zdCBCQVNFX0FQSV9BQ1RJT05TX1VSTCA9ICdodHRwczovL29ubGluZWxjYXBpLm1heC5jby5pbCc7XG5jb25zdCBCQVNFX1dFTENPTUVfVVJMID0gJ2h0dHBzOi8vd3d3Lm1heC5jby5pbCc7XG5cbmNvbnN0IExPR0lOX1VSTCA9IGAke0JBU0VfV0VMQ09NRV9VUkx9L2hvbWVwYWdlL3dlbGNvbWVgO1xuY29uc3QgUEFTU1dPUkRfRVhQSVJFRF9VUkwgPSBgJHtCQVNFX0FDVElPTlNfVVJMfS9Bbm9ueW1vdXMvTG9naW4vUGFzc3dvcmRFeHBpcmVkLmFzcHhgO1xuY29uc3QgU1VDQ0VTU19VUkwgPSBgJHtCQVNFX1dFTENPTUVfVVJMfS9ob21lcGFnZS9wZXJzb25hbGA7XG5cbmNvbnN0IE5PUk1BTF9UWVBFX05BTUUgPSAn16jXkteZ15zXlCc7XG5jb25zdCBBVE1fVFlQRV9OQU1FID0gJ9eX15nXldeRINei16HXp9eV16og157XmdeZ15PXmSc7XG5jb25zdCBJTlRFUk5FVF9TSE9QUElOR19UWVBFX05BTUUgPSAn15DXmdeg15jXqNeg15gv15fXlVwi15wnO1xuY29uc3QgSU5TVEFMTE1FTlRTX1RZUEVfTkFNRSA9ICfXqtep15zXldee15nXnSc7XG5jb25zdCBNT05USExZX0NIQVJHRV9UWVBFX05BTUUgPSAn15fXmdeV15Eg15fXldeT16nXmSc7XG5jb25zdCBPTkVfTU9OVEhfUE9TVFBPTkVEX1RZUEVfTkFNRSA9ICfXk9eX15XXmSDXl9eV15PXqSc7XG5jb25zdCBNT05USExZX1BPU1RQT05FRF9UWVBFX05BTUUgPSAn15PXl9eV15kg15zXl9eZ15XXkSDXlNeX15XXk9ep15knO1xuY29uc3QgTU9OVEhMWV9QQVlNRU5UX1RZUEVfTkFNRSA9ICfXqtep15zXldedINeX15XXk9ep15knO1xuY29uc3QgRlVUVVJFX1BVUkNIQVNFX0ZJTkFOQ0lORyA9ICfXnteZ157XldefINec16jXm9eZ16nXlCDXoteq15nXk9eZ16onO1xuY29uc3QgTU9OVEhMWV9QT1NUUE9ORURfSU5TVEFMTE1FTlRTX1RZUEVfTkFNRSA9ICfXk9eX15XXmSDXl9eV15PXqSDXqtep15zXldee15nXnSc7XG5jb25zdCBUSElSVFlfREFZU19QTFVTX1RZUEVfTkFNRSA9ICfXoteh16fXqiAzMCDXpNec15XXoSc7XG5jb25zdCBUV09fTU9OVEhTX1BPU1RQT05FRF9UWVBFX05BTUUgPSAn15PXl9eV15kg15fXldeT16nXmdeZ150nO1xuY29uc3QgTU9OVEhMWV9DSEFSR0VfUExVU19JTlRFUkVTVF9UWVBFX05BTUUgPSAn15fXldeT16nXmSArINeo15nXkdeZ16onO1xuY29uc3QgQ1JFRElUX1RZUEVfTkFNRSA9ICfXp9eo15PXmdeYJztcbmNvbnN0IEFDQ1VNVUxBVElOR19CQVNLRVQgPSAn16HXnCDXntem15jXkdeoJztcbmNvbnN0IFBPU1RQT05FRF9UUkFOU0FDVElPTl9JTlNUQUxMTUVOVFMgPSAn16TXqNeZ16HXqiDXlNei16HXp9eUINeU15PXl9eV15nXlCc7XG5jb25zdCBSRVBMQUNFTUVOVF9DQVJEID0gJ9eb16jXmNeZ16Eg15fXnNeZ16TXmSc7XG5jb25zdCBFQVJMWV9SRVBBWU1FTlQgPSAn16TXqNei15XXnyDXnteV16fXk9edJztcbmNvbnN0IE1PTlRITFlfQ0FSRF9GRUUgPSAn15PXnteZINeb16jXmNeZ16EnO1xuXG5jb25zdCBJTlZBTElEX0RFVEFJTFNfU0VMRUNUT1IgPSAnI3BvcHVwV3JvbmdEZXRhaWxzJztcbmNvbnN0IExPR0lOX0VSUk9SX1NFTEVDVE9SID0gJyNwb3B1cENhcmRIb2xkZXJzTG9naW5FcnJvcic7XG5cbmNvbnN0IGNhdGVnb3JpZXMgPSBuZXcgTWFwPG51bWJlciwgc3RyaW5nPigpO1xuXG5mdW5jdGlvbiByZWRpcmVjdE9yRGlhbG9nKHBhZ2U6IFBhZ2UpIHtcbiAgcmV0dXJuIFByb21pc2UucmFjZShbXG4gICAgd2FpdEZvclJlZGlyZWN0KHBhZ2UsIDIwMDAwLCBmYWxzZSwgW0JBU0VfV0VMQ09NRV9VUkwsIGAke0JBU0VfV0VMQ09NRV9VUkx9L2BdKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgSU5WQUxJRF9ERVRBSUxTX1NFTEVDVE9SLCB0cnVlKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgTE9HSU5fRVJST1JfU0VMRUNUT1IsIHRydWUpLFxuICBdKTtcbn1cblxuZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25zVXJsKG1vbnRoTW9tZW50OiBNb21lbnQpIHtcbiAgY29uc3QgbW9udGggPSBtb250aE1vbWVudC5tb250aCgpICsgMTtcbiAgY29uc3QgeWVhciA9IG1vbnRoTW9tZW50LnllYXIoKTtcbiAgY29uc3QgZGF0ZSA9IGAke3llYXJ9LSR7bW9udGh9LTAxYDtcblxuICAvKipcbiAgICAgKiB1cmwgZXhwbGFuYXRpb246XG4gICAgICogdXNlckluZGV4OiAtMSBmb3IgYWxsIGFjY291bnQgb3duZXJzXG4gICAgICogY2FyZEluZGV4OiAtMSBmb3IgYWxsIGNhcmRzIHVuZGVyIHRoZSBhY2NvdW50XG4gICAgICogYWxsIG90aGVyIHF1ZXJ5IHBhcmFtcyBhcmUgc3RhdGljLCBiZXNpZGUgdGhlIGRhdGUgd2hpY2ggY2hhbmdlcyBmb3IgcmVxdWVzdCBwZXIgbW9udGhcbiAgICAgKi9cbiAgcmV0dXJuIGJ1aWxkVXJsKEJBU0VfQVBJX0FDVElPTlNfVVJMLCB7XG4gICAgcGF0aDogYC9hcGkvcmVnaXN0ZXJlZC90cmFuc2FjdGlvbkRldGFpbHMvZ2V0VHJhbnNhY3Rpb25zQW5kR3JhcGhzP2ZpbHRlckRhdGE9e1widXNlckluZGV4XCI6LTEsXCJjYXJkSW5kZXhcIjotMSxcIm1vbnRoVmlld1wiOnRydWUsXCJkYXRlXCI6XCIke2RhdGV9XCIsXCJkYXRlc1wiOntcInN0YXJ0RGF0ZVwiOlwiMFwiLFwiZW5kRGF0ZVwiOlwiMFwifSxcImJhbmtBY2NvdW50XCI6e1wiYmFua0FjY291bnRJbmRleFwiOi0xLFwiY2FyZHNcIjpudWxsfX0mZmlyc3RDYWxsQ2FyZEluZGV4PS0xYCxcbiAgfSk7XG59XG5cbmludGVyZmFjZSBGZXRjaENhdGVnb3J5UmVzdWx0IHtcbiAgcmVzdWx0PyA6IEFycmF5PHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgfT47XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGxvYWRDYXRlZ29yaWVzKHBhZ2U6IFBhZ2UpIHtcbiAgZGVidWcoJ0xvYWRpbmcgY2F0ZWdvcmllcycpO1xuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaEdldFdpdGhpblBhZ2U8RmV0Y2hDYXRlZ29yeVJlc3VsdD4ocGFnZSwgYCR7QkFTRV9BUElfQUNUSU9OU19VUkx9L2FwaS9jb250ZW50cy9nZXRDYXRlZ29yaWVzYCk7XG4gIGlmIChyZXMgJiYgQXJyYXkuaXNBcnJheShyZXMucmVzdWx0KSkge1xuICAgIGRlYnVnKGAke3Jlcy5yZXN1bHQubGVuZ3RofSBjYXRlZ29yaWVzIGxvYWRlZGApO1xuICAgICAgcmVzLnJlc3VsdD8uZm9yRWFjaCgoeyBpZCwgbmFtZSB9KSA9PiBjYXRlZ29yaWVzLnNldChpZCwgbmFtZSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uVHlwZSh0eG5UeXBlU3RyOiBzdHJpbmcpIHtcbiAgY29uc3QgY2xlYW5lZFVwVHhuVHlwZVN0ciA9IHR4blR5cGVTdHIucmVwbGFjZSgnXFx0JywgJyAnKS50cmltKCk7XG4gIHN3aXRjaCAoY2xlYW5lZFVwVHhuVHlwZVN0cikge1xuICAgIGNhc2UgQVRNX1RZUEVfTkFNRTpcbiAgICBjYXNlIE5PUk1BTF9UWVBFX05BTUU6XG4gICAgY2FzZSBNT05USExZX0NIQVJHRV9UWVBFX05BTUU6XG4gICAgY2FzZSBPTkVfTU9OVEhfUE9TVFBPTkVEX1RZUEVfTkFNRTpcbiAgICBjYXNlIE1PTlRITFlfUE9TVFBPTkVEX1RZUEVfTkFNRTpcbiAgICBjYXNlIEZVVFVSRV9QVVJDSEFTRV9GSU5BTkNJTkc6XG4gICAgY2FzZSBNT05USExZX1BBWU1FTlRfVFlQRV9OQU1FOlxuICAgIGNhc2UgTU9OVEhMWV9QT1NUUE9ORURfSU5TVEFMTE1FTlRTX1RZUEVfTkFNRTpcbiAgICBjYXNlIFRISVJUWV9EQVlTX1BMVVNfVFlQRV9OQU1FOlxuICAgIGNhc2UgVFdPX01PTlRIU19QT1NUUE9ORURfVFlQRV9OQU1FOlxuICAgIGNhc2UgQUNDVU1VTEFUSU5HX0JBU0tFVDpcbiAgICBjYXNlIElOVEVSTkVUX1NIT1BQSU5HX1RZUEVfTkFNRTpcbiAgICBjYXNlIE1PTlRITFlfQ0hBUkdFX1BMVVNfSU5URVJFU1RfVFlQRV9OQU1FOlxuICAgIGNhc2UgUE9TVFBPTkVEX1RSQU5TQUNUSU9OX0lOU1RBTExNRU5UUzpcbiAgICBjYXNlIFJFUExBQ0VNRU5UX0NBUkQ6XG4gICAgY2FzZSBFQVJMWV9SRVBBWU1FTlQ6XG4gICAgY2FzZSBNT05USExZX0NBUkRfRkVFOlxuICAgICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsO1xuICAgIGNhc2UgSU5TVEFMTE1FTlRTX1RZUEVfTkFNRTpcbiAgICBjYXNlIENSRURJVF9UWVBFX05BTUU6XG4gICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlcy5JbnN0YWxsbWVudHM7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB0cmFuc2FjdGlvbiB0eXBlICR7Y2xlYW5lZFVwVHhuVHlwZVN0cn1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRJbnN0YWxsbWVudHNJbmZvKGNvbW1lbnRzOiBzdHJpbmcpIHtcbiAgaWYgKCFjb21tZW50cykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgbWF0Y2hlcyA9IGNvbW1lbnRzLm1hdGNoKC9cXGQrL2cpO1xuICBpZiAoIW1hdGNoZXMgfHwgbWF0Y2hlcy5sZW5ndGggPCAyKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbnVtYmVyOiBwYXJzZUludChtYXRjaGVzWzBdLCAxMCksXG4gICAgdG90YWw6IHBhcnNlSW50KG1hdGNoZXNbMV0sIDEwKSxcbiAgfTtcbn1cbmZ1bmN0aW9uIG1hcFRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBTY3JhcGVkVHJhbnNhY3Rpb24pOiBUcmFuc2FjdGlvbiB7XG4gIGNvbnN0IGlzUGVuZGluZyA9IHJhd1RyYW5zYWN0aW9uLnBheW1lbnREYXRlID09PSBudWxsO1xuICBjb25zdCBwcm9jZXNzZWREYXRlID0gbW9tZW50KGlzUGVuZGluZyA/XG4gICAgcmF3VHJhbnNhY3Rpb24ucHVyY2hhc2VEYXRlIDpcbiAgICByYXdUcmFuc2FjdGlvbi5wYXltZW50RGF0ZSkudG9JU09TdHJpbmcoKTtcbiAgY29uc3Qgc3RhdHVzID0gaXNQZW5kaW5nID8gVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nIDogVHJhbnNhY3Rpb25TdGF0dXNlcy5Db21wbGV0ZWQ7XG5cbiAgY29uc3QgaW5zdGFsbG1lbnRzID0gZ2V0SW5zdGFsbG1lbnRzSW5mbyhyYXdUcmFuc2FjdGlvbi5jb21tZW50cyk7XG4gIGNvbnN0IGlkZW50aWZpZXIgPSBpbnN0YWxsbWVudHMgP1xuICAgIGAke3Jhd1RyYW5zYWN0aW9uLmRlYWxEYXRhPy5hcm59XyR7aW5zdGFsbG1lbnRzLm51bWJlcn1gIDpcbiAgICByYXdUcmFuc2FjdGlvbi5kZWFsRGF0YT8uYXJuO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogZ2V0VHJhbnNhY3Rpb25UeXBlKHJhd1RyYW5zYWN0aW9uLnBsYW5OYW1lKSxcbiAgICBkYXRlOiBtb21lbnQocmF3VHJhbnNhY3Rpb24ucHVyY2hhc2VEYXRlKS50b0lTT1N0cmluZygpLFxuICAgIHByb2Nlc3NlZERhdGUsXG4gICAgb3JpZ2luYWxBbW91bnQ6IC1yYXdUcmFuc2FjdGlvbi5vcmlnaW5hbEFtb3VudCxcbiAgICBvcmlnaW5hbEN1cnJlbmN5OiByYXdUcmFuc2FjdGlvbi5vcmlnaW5hbEN1cnJlbmN5LFxuICAgIGNoYXJnZWRBbW91bnQ6IC1yYXdUcmFuc2FjdGlvbi5hY3R1YWxQYXltZW50QW1vdW50LFxuICAgIGRlc2NyaXB0aW9uOiByYXdUcmFuc2FjdGlvbi5tZXJjaGFudE5hbWUudHJpbSgpLFxuICAgIG1lbW86IHJhd1RyYW5zYWN0aW9uLmNvbW1lbnRzLFxuICAgIGNhdGVnb3J5OiBjYXRlZ29yaWVzLmdldChyYXdUcmFuc2FjdGlvbj8uY2F0ZWdvcnlJZCksXG4gICAgaW5zdGFsbG1lbnRzLFxuICAgIGlkZW50aWZpZXIsXG4gICAgc3RhdHVzLFxuICB9O1xufVxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbnNSZXN1bHR7XG4gIHJlc3VsdD86IHtcbiAgICB0cmFuc2FjdGlvbnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdO1xuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9uc0Zvck1vbnRoKHBhZ2U6IFBhZ2UsIG1vbnRoTW9tZW50OiBNb21lbnQpIHtcbiAgY29uc3QgdXJsID0gZ2V0VHJhbnNhY3Rpb25zVXJsKG1vbnRoTW9tZW50KTtcblxuICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2hHZXRXaXRoaW5QYWdlPFNjcmFwZWRUcmFuc2FjdGlvbnNSZXN1bHQ+KHBhZ2UsIHVybCk7XG4gIGNvbnN0IHRyYW5zYWN0aW9uc0J5QWNjb3VudDogUmVjb3JkPHN0cmluZywgVHJhbnNhY3Rpb25bXT4gPSB7fTtcblxuICBpZiAoIWRhdGEgfHwgIWRhdGEucmVzdWx0KSByZXR1cm4gdHJhbnNhY3Rpb25zQnlBY2NvdW50O1xuXG4gIGRhdGEucmVzdWx0LnRyYW5zYWN0aW9uc1xuICAgIC8vIEZpbHRlciBvdXQgbm9uLXRyYW5zYWN0aW9ucyB3aXRob3V0IGEgcGxhbiB0eXBlLCBlLmcuIHN1bW1hcnkgcm93c1xuICAgIC5maWx0ZXIoKHRyYW5zYWN0aW9uKSA9PiAhIXRyYW5zYWN0aW9uLnBsYW5OYW1lKVxuICAgIC5mb3JFYWNoKCh0cmFuc2FjdGlvbjogU2NyYXBlZFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICBpZiAoIXRyYW5zYWN0aW9uc0J5QWNjb3VudFt0cmFuc2FjdGlvbi5zaG9ydENhcmROdW1iZXJdKSB7XG4gICAgICAgIHRyYW5zYWN0aW9uc0J5QWNjb3VudFt0cmFuc2FjdGlvbi5zaG9ydENhcmROdW1iZXJdID0gW107XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1hcHBlZFRyYW5zYWN0aW9uID0gbWFwVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xuICAgICAgdHJhbnNhY3Rpb25zQnlBY2NvdW50W3RyYW5zYWN0aW9uLnNob3J0Q2FyZE51bWJlcl0ucHVzaChtYXBwZWRUcmFuc2FjdGlvbik7XG4gICAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zYWN0aW9uc0J5QWNjb3VudDtcbn1cblxuZnVuY3Rpb24gYWRkUmVzdWx0KGFsbFJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIFRyYW5zYWN0aW9uW10+LCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFRyYW5zYWN0aW9uW10+KSB7XG4gIGNvbnN0IGNsb25lZFJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIFRyYW5zYWN0aW9uW10+ID0geyAuLi5hbGxSZXN1bHRzIH07XG4gIE9iamVjdC5rZXlzKHJlc3VsdCkuZm9yRWFjaCgoYWNjb3VudE51bWJlcikgPT4ge1xuICAgIGlmICghY2xvbmVkUmVzdWx0c1thY2NvdW50TnVtYmVyXSkge1xuICAgICAgY2xvbmVkUmVzdWx0c1thY2NvdW50TnVtYmVyXSA9IFtdO1xuICAgIH1cbiAgICBjbG9uZWRSZXN1bHRzW2FjY291bnROdW1iZXJdLnB1c2goLi4ucmVzdWx0W2FjY291bnROdW1iZXJdKTtcbiAgfSk7XG4gIHJldHVybiBjbG9uZWRSZXN1bHRzO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlVHJhbnNhY3Rpb25zKHR4bnM6IFRyYW5zYWN0aW9uW10sIHN0YXJ0TW9tZW50OiBtb21lbnQuTW9tZW50LCBjb21iaW5lSW5zdGFsbG1lbnRzOiBib29sZWFuLCBlbmFibGVUcmFuc2FjdGlvbnNGaWx0ZXJCeURhdGU6IGJvb2xlYW4pIHtcbiAgbGV0IGNsb25lZFR4bnMgPSBBcnJheS5mcm9tKHR4bnMpO1xuICBpZiAoIWNvbWJpbmVJbnN0YWxsbWVudHMpIHtcbiAgICBjbG9uZWRUeG5zID0gZml4SW5zdGFsbG1lbnRzKGNsb25lZFR4bnMpO1xuICB9XG4gIGNsb25lZFR4bnMgPSBzb3J0VHJhbnNhY3Rpb25zQnlEYXRlKGNsb25lZFR4bnMpO1xuICBjbG9uZWRUeG5zID0gZW5hYmxlVHJhbnNhY3Rpb25zRmlsdGVyQnlEYXRlID9cbiAgICBmaWx0ZXJPbGRUcmFuc2FjdGlvbnMoY2xvbmVkVHhucywgc3RhcnRNb21lbnQsIGNvbWJpbmVJbnN0YWxsbWVudHMgfHwgZmFsc2UpIDpcbiAgICBjbG9uZWRUeG5zO1xuICByZXR1cm4gY2xvbmVkVHhucztcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUcmFuc2FjdGlvbnMocGFnZTogUGFnZSwgb3B0aW9uczogU2NyYXBlck9wdGlvbnMpIHtcbiAgY29uc3QgZnV0dXJlTW9udGhzVG9TY3JhcGUgPSBvcHRpb25zLmZ1dHVyZU1vbnRoc1RvU2NyYXBlID8/IDE7XG4gIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICd5ZWFycycpO1xuICBjb25zdCBzdGFydERhdGUgPSBvcHRpb25zLnN0YXJ0RGF0ZSB8fCBkZWZhdWx0U3RhcnRNb21lbnQudG9EYXRlKCk7XG4gIGNvbnN0IHN0YXJ0TW9tZW50ID0gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcbiAgY29uc3QgYWxsTW9udGhzID0gZ2V0QWxsTW9udGhNb21lbnRzKHN0YXJ0TW9tZW50LCBmdXR1cmVNb250aHNUb1NjcmFwZSk7XG5cbiAgYXdhaXQgbG9hZENhdGVnb3JpZXMocGFnZSk7XG5cbiAgbGV0IGFsbFJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIFRyYW5zYWN0aW9uW10+ID0ge307XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYWxsTW9udGhzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbnNGb3JNb250aChwYWdlLCBhbGxNb250aHNbaV0pO1xuICAgIGFsbFJlc3VsdHMgPSBhZGRSZXN1bHQoYWxsUmVzdWx0cywgcmVzdWx0KTtcbiAgfVxuXG4gIE9iamVjdC5rZXlzKGFsbFJlc3VsdHMpLmZvckVhY2goKGFjY291bnROdW1iZXIpID0+IHtcbiAgICBsZXQgdHhucyA9IGFsbFJlc3VsdHNbYWNjb3VudE51bWJlcl07XG4gICAgdHhucyA9IHByZXBhcmVUcmFuc2FjdGlvbnModHhucywgc3RhcnRNb21lbnQsIG9wdGlvbnMuY29tYmluZUluc3RhbGxtZW50cyB8fCBmYWxzZSxcbiAgICAgIChvcHRpb25zLm91dHB1dERhdGE/LmVuYWJsZVRyYW5zYWN0aW9uc0ZpbHRlckJ5RGF0ZSA/PyB0cnVlKSk7XG4gICAgYWxsUmVzdWx0c1thY2NvdW50TnVtYmVyXSA9IHR4bnM7XG4gIH0pO1xuXG4gIHJldHVybiBhbGxSZXN1bHRzO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyhwYWdlOiBQYWdlKTogUG9zc2libGVMb2dpblJlc3VsdHMge1xuICBjb25zdCB1cmxzOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyA9IHt9O1xuICB1cmxzW0xvZ2luUmVzdWx0cy5TdWNjZXNzXSA9IFtTVUNDRVNTX1VSTF07XG4gIHVybHNbTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkXSA9IFtQQVNTV09SRF9FWFBJUkVEX1VSTF07XG4gIHVybHNbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF0gPSBbYXN5bmMgKCkgPT4ge1xuICAgIHJldHVybiBlbGVtZW50UHJlc2VudE9uUGFnZShwYWdlLCBJTlZBTElEX0RFVEFJTFNfU0VMRUNUT1IpO1xuICB9XTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuVW5rbm93bkVycm9yXSA9IFthc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuIGVsZW1lbnRQcmVzZW50T25QYWdlKHBhZ2UsIExPR0lOX0VSUk9SX1NFTEVDVE9SKTtcbiAgfV07XG4gIHJldHVybiB1cmxzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiAnI3VzZXItbmFtZScsIHZhbHVlOiBjcmVkZW50aWFscy51c2VybmFtZSB9LFxuICAgIHsgc2VsZWN0b3I6ICcjcGFzc3dvcmQnLCB2YWx1ZTogY3JlZGVudGlhbHMucGFzc3dvcmQgfSxcbiAgXTtcbn1cblxudHlwZSBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscyA9IHt1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nfTtcblxuY2xhc3MgTWF4U2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXI8U2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHM+IHtcbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogTE9HSU5fVVJMLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJyNsb2dpbi1wYXNzd29yZCAjc2VuZC1jb2RlJyxcbiAgICAgIHByZUFjdGlvbjogYXN5bmMgKCkgPT4ge1xuICAgICAgICBpZiAoYXdhaXQgZWxlbWVudFByZXNlbnRPblBhZ2UodGhpcy5wYWdlLCAnI2Nsb3NlUG9wdXAnKSkge1xuICAgICAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHRoaXMucGFnZSwgJyNjbG9zZVBvcHVwJyk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgY2xpY2tCdXR0b24odGhpcy5wYWdlLCAnLnBlcnNvbmFsLWFyZWEgPiBhLmdvLXRvLXBlcnNvbmFsLWFyZWEnKTtcbiAgICAgICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJyNsb2dpbi1wYXNzd29yZC1saW5rJywgdHJ1ZSk7XG4gICAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHRoaXMucGFnZSwgJyNsb2dpbi1wYXNzd29yZC1saW5rJyk7XG4gICAgICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICcjbG9naW4tcGFzc3dvcmQudGFiLXBhbmUuYWN0aXZlIGFwcC11c2VyLWxvZ2luLWZvcm0nLCB0cnVlKTtcbiAgICAgIH0sXG4gICAgICBjaGVja1JlYWRpbmVzczogYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnLnBlcnNvbmFsLWFyZWEgPiBhLmdvLXRvLXBlcnNvbmFsLWFyZWEnLCB0cnVlKTtcbiAgICAgIH0sXG4gICAgICBwb3N0QWN0aW9uOiBhc3luYyAoKSA9PiByZWRpcmVjdE9yRGlhbG9nKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHRoaXMucGFnZSksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbnModGhpcy5wYWdlLCB0aGlzLm9wdGlvbnMpO1xuICAgIGNvbnN0IGFjY291bnRzID0gT2JqZWN0LmtleXMocmVzdWx0cykubWFwKChhY2NvdW50TnVtYmVyKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY2NvdW50TnVtYmVyLFxuICAgICAgICB0eG5zOiByZXN1bHRzW2FjY291bnROdW1iZXJdLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgYWNjb3VudHMsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNYXhTY3JhcGVyO1xuIl19
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { TransactionsAccount } from '../transactions';
|
|
2
|
-
import { ScraperCredentials, ScraperErrorTypes } from './base-scraper';
|
|
3
2
|
import { BaseScraperWithBrowser, PossibleLoginResults } from './base-scraper-with-browser';
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import { ScraperErrorTypes } from './errors';
|
|
4
|
+
declare type ScraperSpecificCredentials = {
|
|
5
|
+
username: string;
|
|
6
|
+
password: string;
|
|
7
|
+
};
|
|
8
|
+
declare class MizrahiScraper extends BaseScraperWithBrowser<ScraperSpecificCredentials> {
|
|
9
|
+
getLoginOptions(credentials: ScraperSpecificCredentials): {
|
|
6
10
|
loginUrl: string;
|
|
7
11
|
fields: {
|
|
8
12
|
selector: string;
|
package/lib/scrapers/mizrahi.js
CHANGED
|
@@ -21,10 +21,10 @@ var _navigation = require("../helpers/navigation");
|
|
|
21
21
|
|
|
22
22
|
var _transactions = require("../transactions");
|
|
23
23
|
|
|
24
|
-
var _baseScraper = require("./base-scraper");
|
|
25
|
-
|
|
26
24
|
var _baseScraperWithBrowser = require("./base-scraper-with-browser");
|
|
27
25
|
|
|
26
|
+
var _errors = require("./errors");
|
|
27
|
+
|
|
28
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
29
|
|
|
30
30
|
const BASE_WEBSITE_URL = 'https://www.mizrahi-tefahot.co.il';
|
|
@@ -33,7 +33,7 @@ const BASE_APP_URL = 'https://mto.mizrahi-tefahot.co.il';
|
|
|
33
33
|
const AFTER_LOGIN_BASE_URL = /https:\/\/mto\.mizrahi-tefahot\.co\.il\/OnlineApp\/.*/;
|
|
34
34
|
const OSH_PAGE = '/osh/legacy/legacy-Osh-Main';
|
|
35
35
|
const TRANSACTIONS_PAGE = '/osh/legacy/root-main-osh-p428New';
|
|
36
|
-
const
|
|
36
|
+
const TRANSACTIONS_REQUEST_URLS = [`${BASE_APP_URL}/OnlinePilot/api/SkyOSH/get428Index`, `${BASE_APP_URL}/Online/api/SkyOSH/get428Index`];
|
|
37
37
|
const PENDING_TRANSACTIONS_PAGE = '/osh/legacy/legacy-Osh-p420';
|
|
38
38
|
const PENDING_TRANSACTIONS_IFRAME = 'p420.aspx';
|
|
39
39
|
const CHANGE_PASSWORD_URL = /https:\/\/www\.mizrahi-tefahot\.co\.il\/login\/\w+\/index\.html#\/change-pass/;
|
|
@@ -165,7 +165,7 @@ class MizrahiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
165
165
|
} catch (e) {
|
|
166
166
|
return {
|
|
167
167
|
success: false,
|
|
168
|
-
errorType:
|
|
168
|
+
errorType: _errors.ScraperErrorTypes.Generic,
|
|
169
169
|
errorMessage: e.message
|
|
170
170
|
};
|
|
171
171
|
}
|
|
@@ -175,10 +175,12 @@ class MizrahiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
175
175
|
await this.page.$eval(`a[href*="${OSH_PAGE}"]`, el => el.click());
|
|
176
176
|
await (0, _elementsInteractions.waitUntilElementFound)(this.page, `a[href*="${TRANSACTIONS_PAGE}"]`);
|
|
177
177
|
await this.page.$eval(`a[href*="${TRANSACTIONS_PAGE}"]`, el => el.click());
|
|
178
|
-
const
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
178
|
+
const response = await Promise.any(TRANSACTIONS_REQUEST_URLS.map(async url => {
|
|
179
|
+
const request = await this.page.waitForRequest(url);
|
|
180
|
+
const data = createDataFromRequest(request, this.options.startDate);
|
|
181
|
+
const headers = createHeadersFromRequest(request);
|
|
182
|
+
return (0, _fetch.fetchPostWithinPage)(this.page, url, data, headers);
|
|
183
|
+
}));
|
|
182
184
|
|
|
183
185
|
if (!response || response.header.success === false) {
|
|
184
186
|
throw new Error(`Error fetching transaction. Response message: ${response ? response.header.messages[0].text : ''}`);
|
|
@@ -205,4 +207,4 @@ class MizrahiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
205
207
|
|
|
206
208
|
var _default = MizrahiScraper;
|
|
207
209
|
exports.default = _default;
|
|
208
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9taXpyYWhpLnRzIl0sIm5hbWVzIjpbIkJBU0VfV0VCU0lURV9VUkwiLCJMT0dJTl9VUkwiLCJCQVNFX0FQUF9VUkwiLCJBRlRFUl9MT0dJTl9CQVNFX1VSTCIsIk9TSF9QQUdFIiwiVFJBTlNBQ1RJT05TX1BBR0UiLCJUUkFOU0FDVElPTlNfUkVRVUVTVF9VUkwiLCJQRU5ESU5HX1RSQU5TQUNUSU9OU19QQUdFIiwiUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FIiwiQ0hBTkdFX1BBU1NXT1JEX1VSTCIsIkRBVEVfRk9STUFUIiwiTUFYX1JPV1NfUEVSX1JFUVVFU1QiLCJ1c2VybmFtZVNlbGVjdG9yIiwicGFzc3dvcmRTZWxlY3RvciIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiaW52YWxpZFBhc3N3b3JkU2VsZWN0b3IiLCJhZnRlckxvZ2luU2VsZWN0b3IiLCJsb2dpblNwaW5uZXJTZWxlY3RvciIsImFjY291bnREcm9wRG93bkl0ZW1TZWxlY3RvciIsInBlbmRpbmdUcnhJZGVudGlmaWVySWQiLCJjaGVja2luZ0FjY291bnRUYWJIZWJyZXdOYW1lIiwiY2hlY2tpbmdBY2NvdW50VGFiRW5nbGlzaE5hbWUiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInBhZ2UiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiJHgiLCJJbnZhbGlkUGFzc3dvcmQiLCIkIiwiQ2hhbmdlUGFzc3dvcmQiLCJnZXRTdGFydE1vbWVudCIsIm9wdGlvbnNTdGFydERhdGUiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsInN0YXJ0RGF0ZSIsInRvRGF0ZSIsIm1vbWVudCIsIm1heCIsImNyZWF0ZURhdGFGcm9tUmVxdWVzdCIsInJlcXVlc3QiLCJkYXRhIiwiSlNPTiIsInBhcnNlIiwicG9zdERhdGEiLCJpbkZyb21EYXRlIiwiZm9ybWF0IiwiaW5Ub0RhdGUiLCJ0YWJsZSIsIm1heFJvdyIsImNyZWF0ZUhlYWRlcnNGcm9tUmVxdWVzdCIsIm1penJhaGl4c3JmdG9rZW4iLCJoZWFkZXJzIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJtYXAiLCJyb3ciLCJ0eG5EYXRlIiwiTUMwMlBldWxhVGFhRVoiLCJIVE1MNV9GTVQiLCJEQVRFVElNRV9MT0NBTF9TRUNPTkRTIiwidG9JU09TdHJpbmciLCJ0eXBlIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsImlkZW50aWZpZXIiLCJNQzAyQXNtYWh0YU1la29yaXRFWiIsInBhcnNlSW50IiwidW5kZWZpbmVkIiwiZGF0ZSIsInByb2Nlc3NlZERhdGUiLCJvcmlnaW5hbEFtb3VudCIsIk1DMDJTY2h1bUVaIiwib3JpZ2luYWxDdXJyZW5jeSIsIlNIRUtFTF9DVVJSRU5DWSIsImNoYXJnZWRBbW91bnQiLCJkZXNjcmlwdGlvbiIsIk1DMDJUbnVhVGV1ckVaIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsImV4dHJhY3RQZW5kaW5nVHJhbnNhY3Rpb25zIiwicGVuZGluZ1R4biIsInRycyIsInRyIiwiQXJyYXkiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsInRkIiwidGV4dENvbnRlbnQiLCJ0eG4iLCJhbW91bnQiLCJQZW5kaW5nIiwicG9zdExvZ2luIiwiUHJvbWlzZSIsInJhY2UiLCJNaXpyYWhpU2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImZpZWxkcyIsImNoZWNrUmVhZGluZXNzIiwicG9zdEFjdGlvbiIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSIsIiRldmFsIiwiZWwiLCJjbGljayIsIm51bU9mQWNjb3VudHMiLCIkJCIsImxlbmd0aCIsInJlc3VsdHMiLCJpIiwicHVzaCIsImZldGNoQWNjb3VudCIsInN1Y2Nlc3MiLCJhY2NvdW50cyIsImUiLCJlcnJvclR5cGUiLCJTY3JhcGVyRXJyb3JUeXBlcyIsIkdlbmVyaWMiLCJlcnJvck1lc3NhZ2UiLCJtZXNzYWdlIiwid2FpdEZvclJlcXVlc3QiLCJvcHRpb25zIiwicmVzcG9uc2UiLCJoZWFkZXIiLCJFcnJvciIsIm1lc3NhZ2VzIiwidGV4dCIsInJlbGV2YW50Um93cyIsImJvZHkiLCJyb3dzIiwiZmlsdGVyIiwiUmVjVHlwZVNwZWNpZmllZCIsIm9zaFR4biIsInN0YXJ0TW9tZW50Iiwib3NoVHhuQWZ0ZXJTdGFydERhdGUiLCJpc1NhbWVPckFmdGVyIiwiZnJhbWUiLCJmIiwidXJsIiwiaW5jbHVkZXMiLCJhbGxUeG4iLCJjb25jYXQiLCJhY2NvdW50TnVtYmVyIiwiQWNjb3VudE51bWJlciIsImJhbGFuY2UiLCJZaXRyYUxlbG9DaGVraW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7Ozs7QUEwQkEsTUFBTUEsZ0JBQWdCLEdBQUcsbUNBQXpCO0FBQ0EsTUFBTUMsU0FBUyxHQUFJLEdBQUVELGdCQUFpQixpQ0FBdEM7QUFDQSxNQUFNRSxZQUFZLEdBQUcsbUNBQXJCO0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUcsdURBQTdCO0FBQ0EsTUFBTUMsUUFBUSxHQUFHLDZCQUFqQjtBQUNBLE1BQU1DLGlCQUFpQixHQUFHLG1DQUExQjtBQUNBLE1BQU1DLHdCQUF3QixHQUFJLEdBQUVKLFlBQWEscUNBQWpEO0FBQ0EsTUFBTUsseUJBQXlCLEdBQUcsNkJBQWxDO0FBQ0EsTUFBTUMsMkJBQTJCLEdBQUcsV0FBcEM7QUFDQSxNQUFNQyxtQkFBbUIsR0FBRywrRUFBNUI7QUFDQSxNQUFNQyxXQUFXLEdBQUcsWUFBcEI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRyxXQUE3QjtBQUVBLE1BQU1DLGdCQUFnQixHQUFHLGtCQUF6QjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLHVCQUF6QjtBQUNBLE1B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LGNBQWMsQ0FBQyxLQUFLNkYsT0FBTCxDQUFhekYsU0FBZCxDQUFsQztBQUNBLFVBQU1zRyxvQkFBb0IsR0FBR0YsTUFBTSxDQUFDRixNQUFQLENBQWUzQyxHQUFELElBQVMscUJBQU9BLEdBQUcsQ0FBQ3JCLElBQVgsRUFBaUJxRSxhQUFqQixDQUErQkYsV0FBL0IsQ0FBdkIsQ0FBN0I7QUFFQSxVQUFNLEtBQUtoSCxJQUFMLENBQVVpRixLQUFWLENBQWlCLFlBQVd2Ryx5QkFBMEIsSUFBdEQsRUFBNER3RyxFQUFELElBQVNBLEVBQUQsQ0FBb0JDLEtBQXBCLEVBQW5FLENBQU47QUFDQSxVQUFNZ0MsS0FBSyxHQUFHLE1BQU0sZ0RBQXFCLEtBQUtuSCxJQUExQixFQUFpQ29ILENBQUQsSUFBT0EsQ0FBQyxDQUFDQyxHQUFGLEdBQVFDLFFBQVIsQ0FBaUIzSSwyQkFBakIsQ0FBdkMsQ0FBcEI7QUFDQSxVQUFNLGlEQUFzQndJLEtBQXRCLEVBQTZCN0gsc0JBQTdCLENBQU47QUFDQSxVQUFNb0UsVUFBVSxHQUFHLE1BQU1ELDBCQUEwQixDQUFDMEQsS0FBRCxDQUFuRDtBQUVBLFVBQU1JLE1BQU0sR0FBR04sb0JBQW9CLENBQUNPLE1BQXJCLENBQTRCOUQsVUFBNUIsQ0FBZjtBQUVBLFdBQU87QUFDTCtELE1BQUFBLGFBQWEsRUFBRXBCLFFBQVEsQ0FBQ00sSUFBVCxDQUFjL0IsTUFBZCxDQUFxQjhDLGFBRC9CO0FBRUw1RixNQUFBQSxJQUFJLEVBQUV5RixNQUZEO0FBR0xJLE1BQUFBLE9BQU8sRUFBRSxDQUFDdEIsUUFBUSxDQUFDTSxJQUFULENBQWMvQixNQUFkLENBQXFCZ0Q7QUFIMUIsS0FBUDtBQUtEOztBQTdFaUQ7O2VBZ0ZyQ3BELGMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBGcmFtZSwgUGFnZSwgUmVxdWVzdCB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBTSEVLRUxfQ1VSUkVOQ1kgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgcGFnZUV2YWxBbGwsIHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCwgd2FpdFVudGlsSWZyYW1lRm91bmQsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9zdFdpdGhpblBhZ2UgfSBmcm9tICcuLi9oZWxwZXJzL2ZldGNoJztcbmltcG9ydCB7IHdhaXRGb3JVcmwgfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uc0FjY291bnQsIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBTY3JhcGVyQ3JlZGVudGlhbHMsIFNjcmFwZXJFcnJvclR5cGVzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb24ge1xuICBSZWNUeXBlU3BlY2lmaWVkOiBib29sZWFuO1xuICBNQzAyUGV1bGFUYWFFWjogc3RyaW5nO1xuICBNQzAyU2NodW1FWjogbnVtYmVyO1xuICBNQzAyQXNtYWh0YU1la29yaXRFWjogc3RyaW5nO1xuICBNQzAyVG51YVRldXJFWjogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uc1Jlc3VsdCB7XG4gIGhlYWRlcjoge1xuICAgIHN1Y2Nlc3M6IGJvb2xlYW47XG4gICAgbWVzc2FnZXM6IHsgdGV4dDogc3RyaW5nIH1bXTtcbiAgfTtcbiAgYm9keToge1xuICAgIGZpZWxkczoge1xuICAgICAgQWNjb3VudE51bWJlcjogc3RyaW5nO1xuICAgICAgWWl0cmFMZWxvQ2hla2ltOiBzdHJpbmc7XG4gICAgfTtcbiAgICB0YWJsZToge1xuICAgICAgcm93czogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gICAgfTtcbiAgfTtcbn1cblxuY29uc3QgQkFTRV9XRUJTSVRFX1VSTCA9ICdodHRwczovL3d3dy5taXpyYWhpLXRlZmFob3QuY28uaWwnO1xuY29uc3QgTE9HSU5fVVJMID0gYCR7QkFTRV9XRUJTSVRFX1VSTH0vbG9naW4vaW5kZXguaHRtbCMvYXV0aC1wYWdlLWhlYDtcbmNvbnN0IEJBU0VfQVBQX1VSTCA9ICdodHRwczovL210by5taXpyYWhpLXRlZmFob3QuY28uaWwnO1xuY29uc3QgQUZURVJfTE9HSU5fQkFTRV9VUkwgPSAvaHR0cHM6XFwvXFwvbXRvXFwubWl6cmFoaS10ZWZhaG90XFwuY29cXC5pbFxcL09ubGluZUFwcFxcLy4qLztcbmNvbnN0IE9TSF9QQUdFID0gJy9vc2gvbGVnYWN5L2xlZ2FjeS1Pc2gtTWFpbic7XG5jb25zdCBUUkFOU0FDVElPTlNfUEFHRSA9ICcvb3NoL2xlZ2FjeS9yb290LW1haW4tb3NoLXA0MjhOZXcnO1xuY29uc3QgVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMID0gYCR7QkFTRV9BUFBfVVJMfS9PbmxpbmVQaWxvdC9hcGkvU2t5T1NIL2dldDQyOEluZGV4YDtcbmNvbnN0IFBFTkRJTkdfVFJBTlNBQ1RJT05TX1BBR0UgPSAnL29zaC9sZWdhY3kvbGVnYWN5LU9zaC1wNDIwJztcbmNvbnN0IFBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSA9ICdwNDIwLmFzcHgnO1xuY29uc3QgQ0hBTkdFX1BBU1NXT1JEX1VSTCA9IC9odHRwczpcXC9cXC93d3dcXC5taXpyYWhpLXRlZmFob3RcXC5jb1xcLmlsXFwvbG9naW5cXC9cXHcrXFwvaW5kZXhcXC5odG1sI1xcL2NoYW5nZS1wYXNzLztcbmNvbnN0IERBVEVfRk9STUFUID0gJ0REL01NL1lZWVknO1xuY29uc3QgTUFYX1JPV1NfUEVSX1JFUVVFU1QgPSAxMDAwMDAwMDAwMDtcblxuY29uc3QgdXNlcm5hbWVTZWxlY3RvciA9ICcjZW1haWxEZXNrdG9wSGViJztcbmNvbnN0IHBhc3N3b3JkU2VsZWN0b3IgPSAnI3Bhc3N3b3JkSUREZXNrdG9wSEVCJztcbmNvbnN0IHN1Ym1pdEJ1dHRvblNlbGVjdG9yID0gJy5mb3JtLWRlc2t0b3AgYnV0dG9uJztcbmNvbnN0IGludmFsaWRQYXNzd29yZFNlbGVjdG9yID0gJ2FbaHJlZio9XCJodHRwczovL3NjLm1penJhaGktdGVmYWhvdC5jby5pbC9TQ1NlcnZpY2VzL1NDL1AwMTAuYXNweFwiXSc7XG5jb25zdCBhZnRlckxvZ2luU2VsZWN0b3IgPSAnI2Ryb3Bkb3duQmFzaWMnO1xuY29uc3QgbG9naW5TcGlubmVyU2VsZWN0b3IgPSAnZGl2Lm5neC1vdmVybGF5LmxvYWRpbmctZm9yZWdyb3VuZCc7XG5jb25zdCBhY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3IgPSAnI0FjY291bnRQaWNrZXIgLml0ZW0nO1xuY29uc3QgcGVuZGluZ1RyeElkZW50aWZpZXJJZCA9ICcjY3RsMDBfQ29udGVudFBsYWNlSG9sZGVyMl9wYW5lbDEnO1xuY29uc3QgY2hlY2tpbmdBY2NvdW50VGFiSGVicmV3TmFtZSA9ICfXoteV15HXqCDXldep15EnO1xuY29uc3QgY2hlY2tpbmdBY2NvdW50VGFiRW5nbGlzaE5hbWUgPSAnQ2hlY2tpbmcgQWNjb3VudCc7XG5cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICByZXR1cm4gW1xuICAgIHsgc2VsZWN0b3I6IHVzZXJuYW1lU2VsZWN0b3IsIHZhbHVlOiBjcmVkZW50aWFscy51c2VybmFtZSB9LFxuICAgIHsgc2VsZWN0b3I6IHBhc3N3b3JkU2VsZWN0b3IsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyhwYWdlOiBQYWdlKTogUG9zc2libGVMb2dpblJlc3VsdHMge1xuICByZXR1cm4ge1xuICAgIFtMb2dpblJlc3VsdHMuU3VjY2Vzc106IFtBRlRFUl9MT0dJTl9CQVNFX1VSTCwgYXN5bmMgKCkgPT4gISEoYXdhaXQgcGFnZS4keChgLy9hLy9zcGFuW2NvbnRhaW5zKC4sIFwiJHtjaGVja2luZ0FjY291bnRUYWJIZWJyZXdOYW1lfVwiKSBvciBjb250YWlucyguLCBcIiR7Y2hlY2tpbmdBY2NvdW50VGFiRW5nbGlzaE5hbWV9XCIpXWApKV0sXG4gICAgW0xvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRdOiBbYXN5bmMgKCkgPT4gISEoYXdhaXQgcGFnZS4kKGludmFsaWRQYXNzd29yZFNlbGVjdG9yKSldLFxuICAgIFtMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdOiBbQ0hBTkdFX1BBU1NXT1JEX1VSTF0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFN0YXJ0TW9tZW50KG9wdGlvbnNTdGFydERhdGU6IERhdGUpIHtcbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJyk7XG4gIGNvbnN0IHN0YXJ0RGF0ZSA9IG9wdGlvbnNTdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICByZXR1cm4gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGF0YUZyb21SZXF1ZXN0KHJlcXVlc3Q6IFJlcXVlc3QsIG9wdGlvbnNTdGFydERhdGU6IERhdGUpIHtcbiAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UocmVxdWVzdC5wb3N0RGF0YSgpIHx8ICd7fScpO1xuXG4gIGRhdGEuaW5Gcm9tRGF0ZSA9IGdldFN0YXJ0TW9tZW50KG9wdGlvbnNTdGFydERhdGUpLmZvcm1hdChEQVRFX0ZPUk1BVCk7XG4gIGRhdGEuaW5Ub0RhdGUgPSBtb21lbnQoKS5mb3JtYXQoREFURV9GT1JNQVQpO1xuICBkYXRhLnRhYmxlLm1heFJvdyA9IE1BWF9ST1dTX1BFUl9SRVFVRVNUO1xuXG4gIHJldHVybiBkYXRhO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVIZWFkZXJzRnJvbVJlcXVlc3QocmVxdWVzdDogUmVxdWVzdCkge1xuICByZXR1cm4ge1xuICAgIG1penJhaGl4c3JmdG9rZW46IHJlcXVlc3QuaGVhZGVycygpLm1penJhaGl4c3JmdG9rZW4sXG4gICAgJ0NvbnRlbnQtVHlwZSc6IHJlcXVlc3QuaGVhZGVycygpWydjb250ZW50LXR5cGUnXSxcbiAgfTtcbn1cblxuXG5mdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSB7XG4gIHJldHVybiB0eG5zLm1hcCgocm93KSA9PiB7XG4gICAgY29uc3QgdHhuRGF0ZSA9IG1vbWVudChyb3cuTUMwMlBldWxhVGFhRVosIG1vbWVudC5IVE1MNV9GTVQuREFURVRJTUVfTE9DQUxfU0VDT05EUylcbiAgICAgIC50b0lTT1N0cmluZygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgaWRlbnRpZmllcjogcm93Lk1DMDJBc21haHRhTWVrb3JpdEVaID8gcGFyc2VJbnQocm93Lk1DMDJBc21haHRhTWVrb3JpdEVaLCAxMCkgOiB1bmRlZmluZWQsXG4gICAgICBkYXRlOiB0eG5EYXRlLFxuICAgICAgcHJvY2Vzc2VkRGF0ZTogdHhuRGF0ZSxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiByb3cuTUMwMlNjaHVtRVosXG4gICAgICBvcmlnaW5hbEN1cnJlbmN5OiBTSEVLRUxfQ1VSUkVOQ1ksXG4gICAgICBjaGFyZ2VkQW1vdW50OiByb3cuTUMwMlNjaHVtRVosXG4gICAgICBkZXNjcmlwdGlvbjogcm93Lk1DMDJUbnVhVGV1ckVaLFxuICAgICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICB9O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZXh0cmFjdFBlbmRpbmdUcmFuc2FjdGlvbnMocGFnZTogRnJhbWUpOiBQcm9taXNlPFRyYW5zYWN0aW9uW10+IHtcbiAgY29uc3QgcGVuZGluZ1R4biA9IGF3YWl0IHBhZ2VFdmFsQWxsKHBhZ2UsICd0ci5yZ1JvdycsIFtdLCAodHJzKSA9PiB7XG4gICAgcmV0dXJuIHRycy5tYXAoKHRyKSA9PiBBcnJheS5mcm9tKHRyLnF1ZXJ5U2VsZWN0b3JBbGwoJ3RkJyksICh0ZDogSFRNTFRhYmxlRGF0YUNlbGxFbGVtZW50KSA9PiB0ZC50ZXh0Q29udGVudCB8fCAnJykpO1xuICB9KTtcblxuICByZXR1cm4gcGVuZGluZ1R4bi5tYXAoKHR4bikgPT4ge1xuICAgIGNvbnN0IGRhdGUgPSBtb21lbnQodHhuWzBdLCAnREQvTU0vWVknKS50b0lTT1N0cmluZygpO1xuICAgIGNvbnN0IGFtb3VudCA9IHBhcnNlSW50KHR4blszXSwgMTApO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbCxcbiAgICAgIGRhdGUsXG4gICAgICBwcm9jZXNzZWREYXRlOiBkYXRlLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IGFtb3VudCxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IFNIRUtFTF9DVVJSRU5DWSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IGFtb3VudCxcbiAgICAgIGRlc2NyaXB0aW9uOiB0eG5bMV0sXG4gICAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuUGVuZGluZyxcbiAgICB9O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcG9zdExvZ2luKHBhZ2U6IFBhZ2UpIHtcbiAgYXdhaXQgUHJvbWlzZS5yYWNlKFtcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgYWZ0ZXJMb2dpblNlbGVjdG9yKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgaW52YWxpZFBhc3N3b3JkU2VsZWN0b3IpLFxuICAgIHdhaXRGb3JVcmwocGFnZSwgQ0hBTkdFX1BBU1NXT1JEX1VSTCksXG4gIF0pO1xufVxuXG5jbGFzcyBNaXpyYWhpU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogTE9HSU5fVVJMLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcixcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiB3YWl0VW50aWxFbGVtZW50RGlzYXBwZWFyKHRoaXMucGFnZSwgbG9naW5TcGlubmVyU2VsZWN0b3IpLFxuICAgICAgcG9zdEFjdGlvbjogYXN5bmMgKCkgPT4gcG9zdExvZ2luKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHRoaXMucGFnZSksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoJyNkcm9wZG93bkJhc2ljLCAuaXRlbScsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcblxuICAgIGNvbnN0IG51bU9mQWNjb3VudHMgPSAoYXdhaXQgdGhpcy5wYWdlLiQkKGFjY291bnREcm9wRG93bkl0ZW1TZWxlY3RvcikpLmxlbmd0aDtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHRzOiBUcmFuc2FjdGlvbnNBY2NvdW50W10gPSBbXTtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1PZkFjY291bnRzOyBpICs9IDEpIHtcbiAgICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKCcjZHJvcGRvd25CYXNpYywgLml0ZW0nLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoYCR7YWNjb3VudERyb3BEb3duSXRlbVNlbGVjdG9yfTpudGgtY2hpbGQoJHtpICsgMX0pYCwgKGVsKSA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCkpO1xuICAgICAgICByZXN1bHRzLnB1c2goKGF3YWl0IHRoaXMuZmV0Y2hBY2NvdW50KCkpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgYWNjb3VudHM6IHJlc3VsdHMsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyaWMsXG4gICAgICAgIGVycm9yTWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZldGNoQWNjb3VudCgpIHtcbiAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoYGFbaHJlZio9XCIke09TSF9QQUdFfVwiXWAsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCBgYVtocmVmKj1cIiR7VFJBTlNBQ1RJT05TX1BBR0V9XCJdYCk7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGBhW2hyZWYqPVwiJHtUUkFOU0FDVElPTlNfUEFHRX1cIl1gLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgdGhpcy5wYWdlLndhaXRGb3JSZXF1ZXN0KFRSQU5TQUNUSU9OU19SRVFVRVNUX1VSTCk7XG4gICAgY29uc3QgZGF0YSA9IGNyZWF0ZURhdGFGcm9tUmVxdWVzdChyZXF1ZXN0LCB0aGlzLm9wdGlvbnMuc3RhcnREYXRlKTtcbiAgICBjb25zdCBoZWFkZXJzID0gY3JlYXRlSGVhZGVyc0Zyb21SZXF1ZXN0KHJlcXVlc3QpO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaFBvc3RXaXRoaW5QYWdlPFNjcmFwZWRUcmFuc2FjdGlvbnNSZXN1bHQ+KHRoaXMucGFnZSxcbiAgICAgIFRSQU5TQUNUSU9OU19SRVFVRVNUX1VSTCwgZGF0YSwgaGVhZGVycyk7XG5cbiAgICBpZiAoIXJlc3BvbnNlIHx8IHJlc3BvbnNlLmhlYWRlci5zdWNjZXNzID09PSBmYWxzZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBmZXRjaGluZyB0cmFuc2FjdGlvbi4gUmVzcG9uc2UgbWVzc2FnZTogJHtyZXNwb25zZSA/IHJlc3BvbnNlLmhlYWRlci5tZXNzYWdlc1swXS50ZXh0IDogJyd9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsZXZhbnRSb3dzID0gcmVzcG9uc2UuYm9keS50YWJsZS5yb3dzLmZpbHRlcigocm93KSA9PiByb3cuUmVjVHlwZVNwZWNpZmllZCk7XG4gICAgY29uc3Qgb3NoVHhuID0gY29udmVydFRyYW5zYWN0aW9ucyhyZWxldmFudFJvd3MpO1xuXG4gICAgLy8gd29ya2Fyb3VuZCBmb3IgYSBidWcgd2hpY2ggdGhlIGJhbmsncyBBUEkgcmV0dXJucyB0cmFuc2FjdGlvbnMgYmVmb3JlIHRoZSByZXF1ZXN0ZWQgc3RhcnQgZGF0ZVxuICAgIGNvbnN0IHN0YXJ0TW9tZW50ID0gZ2V0U3RhcnRNb21lbnQodGhpcy5vcHRpb25zLnN0YXJ0RGF0ZSk7XG4gICAgY29uc3Qgb3NoVHhuQWZ0ZXJTdGFydERhdGUgPSBvc2hUeG4uZmlsdGVyKCh0eG4pID0+IG1vbWVudCh0eG4uZGF0ZSkuaXNTYW1lT3JBZnRlcihzdGFydE1vbWVudCkpO1xuXG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGBhW2hyZWYqPVwiJHtQRU5ESU5HX1RSQU5TQUNUSU9OU19QQUdFfVwiXWAsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcbiAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdhaXRVbnRpbElmcmFtZUZvdW5kKHRoaXMucGFnZSwgKGYpID0+IGYudXJsKCkuaW5jbHVkZXMoUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FKSk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKGZyYW1lLCBwZW5kaW5nVHJ4SWRlbnRpZmllcklkKTtcbiAgICBjb25zdCBwZW5kaW5nVHhuID0gYXdhaXQgZXh0cmFjdFBlbmRpbmdUcmFuc2FjdGlvbnMoZnJhbWUpO1xuXG4gICAgY29uc3QgYWxsVHhuID0gb3NoVHhuQWZ0ZXJTdGFydERhdGUuY29uY2F0KHBlbmRpbmdUeG4pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFjY291bnROdW1iZXI6IHJlc3BvbnNlLmJvZHkuZmllbGRzLkFjY291bnROdW1iZXIsXG4gICAgICB0eG5zOiBhbGxUeG4sXG4gICAgICBiYWxhbmNlOiArcmVzcG9uc2UuYm9keS5maWVsZHMuWWl0cmFMZWxvQ2hla2ltLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTWl6cmFoaVNjcmFwZXI7XG4iXX0=
|
|
210
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9taXpyYWhpLnRzIl0sIm5hbWVzIjpbIkJBU0VfV0VCU0lURV9VUkwiLCJMT0dJTl9VUkwiLCJCQVNFX0FQUF9VUkwiLCJBRlRFUl9MT0dJTl9CQVNFX1VSTCIsIk9TSF9QQUdFIiwiVFJBTlNBQ1RJT05TX1BBR0UiLCJUUkFOU0FDVElPTlNfUkVRVUVTVF9VUkxTIiwiUEVORElOR19UUkFOU0FDVElPTlNfUEFHRSIsIlBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSIsIkNIQU5HRV9QQVNTV09SRF9VUkwiLCJEQVRFX0ZPUk1BVCIsIk1BWF9ST1dTX1BFUl9SRVFVRVNUIiwidXNlcm5hbWVTZWxlY3RvciIsInBhc3N3b3JkU2VsZWN0b3IiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsImludmFsaWRQYXNzd29yZFNlbGVjdG9yIiwiYWZ0ZXJMb2dpblNlbGVjdG9yIiwibG9naW5TcGlubmVyU2VsZWN0b3IiLCJhY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3IiLCJwZW5kaW5nVHJ4SWRlbnRpZmllcklkIiwiY2hlY2tpbmdBY2NvdW50VGFiSGVicmV3TmFtZSIsImNoZWNraW5nQWNjb3VudFRhYkVuZ2xpc2hOYW1lIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZ2V0UG9zc2libGVMb2dpblJlc3VsdHMiLCJwYWdlIiwiTG9naW5SZXN1bHRzIiwiU3VjY2VzcyIsIiR4IiwiSW52YWxpZFBhc3N3b3JkIiwiJCIsIkNoYW5nZVBhc3N3b3JkIiwiZ2V0U3RhcnRNb21lbnQiLCJvcHRpb25zU3RhcnREYXRlIiwiZGVmYXVsdFN0YXJ0TW9tZW50Iiwic3VidHJhY3QiLCJzdGFydERhdGUiLCJ0b0RhdGUiLCJtb21lbnQiLCJtYXgiLCJjcmVhdGVEYXRhRnJvbVJlcXVlc3QiLCJyZXF1ZXN0IiwiZGF0YSIsIkpTT04iLCJwYXJzZSIsInBvc3REYXRhIiwiaW5Gcm9tRGF0ZSIsImZvcm1hdCIsImluVG9EYXRlIiwidGFibGUiLCJtYXhSb3ciLCJjcmVhdGVIZWFkZXJzRnJvbVJlcXVlc3QiLCJtaXpyYWhpeHNyZnRva2VuIiwiaGVhZGVycyIsImNvbnZlcnRUcmFuc2FjdGlvbnMiLCJ0eG5zIiwibWFwIiwicm93IiwidHhuRGF0ZSIsIk1DMDJQZXVsYVRhYUVaIiwiSFRNTDVfRk1UIiwiREFURVRJTUVfTE9DQUxfU0VDT05EUyIsInRvSVNPU3RyaW5nIiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJpZGVudGlmaWVyIiwiTUMwMkFzbWFodGFNZWtvcml0RVoiLCJwYXJzZUludCIsInVuZGVmaW5lZCIsImRhdGUiLCJwcm9jZXNzZWREYXRlIiwib3JpZ2luYWxBbW91bnQiLCJNQzAyU2NodW1FWiIsIm9yaWdpbmFsQ3VycmVuY3kiLCJTSEVLRUxfQ1VSUkVOQ1kiLCJjaGFyZ2VkQW1vdW50IiwiZGVzY3JpcHRpb24iLCJNQzAyVG51YVRldXJFWiIsInN0YXR1cyIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJDb21wbGV0ZWQiLCJleHRyYWN0UGVuZGluZ1RyYW5zYWN0aW9ucyIsInBlbmRpbmdUeG4iLCJ0cnMiLCJ0ciIsIkFycmF5IiwiZnJvbSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJ0ZCIsInRleHRDb250ZW50IiwidHhuIiwiYW1vdW50IiwiUGVuZGluZyIsInBvc3RMb2dpbiIsIlByb21pc2UiLCJyYWNlIiwiTWl6cmFoaVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJjaGVja1JlYWRpbmVzcyIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiLCIkZXZhbCIsImVsIiwiY2xpY2siLCJudW1PZkFjY291bnRzIiwiJCQiLCJsZW5ndGgiLCJyZXN1bHRzIiwiaSIsInB1c2giLCJmZXRjaEFjY291bnQiLCJzdWNjZXNzIiwiYWNjb3VudHMiLCJlIiwiZXJyb3JUeXBlIiwiU2NyYXBlckVycm9yVHlwZXMiLCJHZW5lcmljIiwiZXJyb3JNZXNzYWdlIiwibWVzc2FnZSIsInJlc3BvbnNlIiwiYW55IiwidXJsIiwid2FpdEZvclJlcXVlc3QiLCJvcHRpb25zIiwiaGVhZGVyIiwiRXJyb3IiLCJtZXNzYWdlcyIsInRleHQiLCJyZWxldmFudFJvd3MiLCJib2R5Iiwicm93cyIsImZpbHRlciIsIlJlY1R5cGVTcGVjaWZpZWQiLCJvc2hUeG4iLCJzdGFydE1vbWVudCIsIm9zaFR4bkFmdGVyU3RhcnREYXRlIiwiaXNTYW1lT3JBZnRlciIsImZyYW1lIiwiZiIsImluY2x1ZGVzIiwiYWxsVHhuIiwiY29uY2F0IiwiYWNjb3VudE51bWJlciIsIkFjY291bnROdW1iZXIiLCJiYWxhbmNlIiwiWWl0cmFMZWxvQ2hla2ltIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQUdBOztBQUNBOztBQUNBOztBQUdBOztBQUNBOzs7O0FBMEJBLE1BQU1BLGdCQUFnQixHQUFHLG1DQUF6QjtBQUNBLE1BQU1DLFNBQVMsR0FBSSxHQUFFRCxnQkFBaUIsaUNBQXRDO0FBQ0EsTUFBTUUsWUFBWSxHQUFHLG1DQUFyQjtBQUNBLE1BQU1DLG9CQUFvQixHQUFHLHVEQUE3QjtBQUNBLE1BQU1DLFFBQVEsR0FBRyw2QkFBakI7QUFDQSxNQUFNQyxpQkFBaUIsR0FBRyxtQ0FBMUI7QUFDQSxNQUFNQyx5QkFBeUIsR0FBRyxDQUMvQixHQUFFSixZQUFhLHFDQURnQixFQUUvQixHQUFFQSxZQUFhLGdDQUZnQixDQUFsQztBQUlBLE1BQU1LLHlCQUF5QixHQUFHLDZCQUFsQztBQUNBLE1BQU1DLDJCQUEyQixHQUFHLFdBQXBDO0FBQ0EsTUFBTUMsbUJBQW1CLEdBQUcsK0VBQTVCO0FBQ0EsTUFBTUMsV0FBVyxHQUFHLFlBQXBCO0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUcsV0FBN0I7QUFFQSxNQUFNQyxnQkFBZ0IsR0FBRyxr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LGMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBGcmFtZSwgUGFnZSwgUmVxdWVzdCB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBTSEVLRUxfQ1VSUkVOQ1kgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgcGFnZUV2YWxBbGwsIHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCwgd2FpdFVudGlsSWZyYW1lRm91bmQsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9zdFdpdGhpblBhZ2UgfSBmcm9tICcuLi9oZWxwZXJzL2ZldGNoJztcbmltcG9ydCB7IHdhaXRGb3JVcmwgfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uc0FjY291bnQsIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyLCBMb2dpblJlc3VsdHMsIFBvc3NpYmxlTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IFNjcmFwZXJFcnJvclR5cGVzIH0gZnJvbSAnLi9lcnJvcnMnO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgUmVjVHlwZVNwZWNpZmllZDogYm9vbGVhbjtcbiAgTUMwMlBldWxhVGFhRVo6IHN0cmluZztcbiAgTUMwMlNjaHVtRVo6IG51bWJlcjtcbiAgTUMwMkFzbWFodGFNZWtvcml0RVo6IHN0cmluZztcbiAgTUMwMlRudWFUZXVyRVo6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbnNSZXN1bHQge1xuICBoZWFkZXI6IHtcbiAgICBzdWNjZXNzOiBib29sZWFuO1xuICAgIG1lc3NhZ2VzOiB7IHRleHQ6IHN0cmluZyB9W107XG4gIH07XG4gIGJvZHk6IHtcbiAgICBmaWVsZHM6IHtcbiAgICAgIEFjY291bnROdW1iZXI6IHN0cmluZztcbiAgICAgIFlpdHJhTGVsb0NoZWtpbTogc3RyaW5nO1xuICAgIH07XG4gICAgdGFibGU6IHtcbiAgICAgIHJvd3M6IFNjcmFwZWRUcmFuc2FjdGlvbltdO1xuICAgIH07XG4gIH07XG59XG5cbmNvbnN0IEJBU0VfV0VCU0lURV9VUkwgPSAnaHR0cHM6Ly93d3cubWl6cmFoaS10ZWZhaG90LmNvLmlsJztcbmNvbnN0IExPR0lOX1VSTCA9IGAke0JBU0VfV0VCU0lURV9VUkx9L2xvZ2luL2luZGV4Lmh0bWwjL2F1dGgtcGFnZS1oZWA7XG5jb25zdCBCQVNFX0FQUF9VUkwgPSAnaHR0cHM6Ly9tdG8ubWl6cmFoaS10ZWZhaG90LmNvLmlsJztcbmNvbnN0IEFGVEVSX0xPR0lOX0JBU0VfVVJMID0gL2h0dHBzOlxcL1xcL210b1xcLm1penJhaGktdGVmYWhvdFxcLmNvXFwuaWxcXC9PbmxpbmVBcHBcXC8uKi87XG5jb25zdCBPU0hfUEFHRSA9ICcvb3NoL2xlZ2FjeS9sZWdhY3ktT3NoLU1haW4nO1xuY29uc3QgVFJBTlNBQ1RJT05TX1BBR0UgPSAnL29zaC9sZWdhY3kvcm9vdC1tYWluLW9zaC1wNDI4TmV3JztcbmNvbnN0IFRSQU5TQUNUSU9OU19SRVFVRVNUX1VSTFMgPSBbXG4gIGAke0JBU0VfQVBQX1VSTH0vT25saW5lUGlsb3QvYXBpL1NreU9TSC9nZXQ0MjhJbmRleGAsXG4gIGAke0JBU0VfQVBQX1VSTH0vT25saW5lL2FwaS9Ta3lPU0gvZ2V0NDI4SW5kZXhgLFxuXTtcbmNvbnN0IFBFTkRJTkdfVFJBTlNBQ1RJT05TX1BBR0UgPSAnL29zaC9sZWdhY3kvbGVnYWN5LU9zaC1wNDIwJztcbmNvbnN0IFBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSA9ICdwNDIwLmFzcHgnO1xuY29uc3QgQ0hBTkdFX1BBU1NXT1JEX1VSTCA9IC9odHRwczpcXC9cXC93d3dcXC5taXpyYWhpLXRlZmFob3RcXC5jb1xcLmlsXFwvbG9naW5cXC9cXHcrXFwvaW5kZXhcXC5odG1sI1xcL2NoYW5nZS1wYXNzLztcbmNvbnN0IERBVEVfRk9STUFUID0gJ0REL01NL1lZWVknO1xuY29uc3QgTUFYX1JPV1NfUEVSX1JFUVVFU1QgPSAxMDAwMDAwMDAwMDtcblxuY29uc3QgdXNlcm5hbWVTZWxlY3RvciA9ICcjZW1haWxEZXNrdG9wSGViJztcbmNvbnN0IHBhc3N3b3JkU2VsZWN0b3IgPSAnI3Bhc3N3b3JkSUREZXNrdG9wSEVCJztcbmNvbnN0IHN1Ym1pdEJ1dHRvblNlbGVjdG9yID0gJy5mb3JtLWRlc2t0b3AgYnV0dG9uJztcbmNvbnN0IGludmFsaWRQYXNzd29yZFNlbGVjdG9yID0gJ2FbaHJlZio9XCJodHRwczovL3NjLm1penJhaGktdGVmYWhvdC5jby5pbC9TQ1NlcnZpY2VzL1NDL1AwMTAuYXNweFwiXSc7XG5jb25zdCBhZnRlckxvZ2luU2VsZWN0b3IgPSAnI2Ryb3Bkb3duQmFzaWMnO1xuY29uc3QgbG9naW5TcGlubmVyU2VsZWN0b3IgPSAnZGl2Lm5neC1vdmVybGF5LmxvYWRpbmctZm9yZWdyb3VuZCc7XG5jb25zdCBhY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3IgPSAnI0FjY291bnRQaWNrZXIgLml0ZW0nO1xuY29uc3QgcGVuZGluZ1RyeElkZW50aWZpZXJJZCA9ICcjY3RsMDBfQ29udGVudFBsYWNlSG9sZGVyMl9wYW5lbDEnO1xuY29uc3QgY2hlY2tpbmdBY2NvdW50VGFiSGVicmV3TmFtZSA9ICfXoteV15HXqCDXldep15EnO1xuY29uc3QgY2hlY2tpbmdBY2NvdW50VGFiRW5nbGlzaE5hbWUgPSAnQ2hlY2tpbmcgQWNjb3VudCc7XG5cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogdXNlcm5hbWVTZWxlY3RvciwgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lIH0sXG4gICAgeyBzZWxlY3RvcjogcGFzc3dvcmRTZWxlY3RvciwgdmFsdWU6IGNyZWRlbnRpYWxzLnBhc3N3b3JkIH0sXG4gIF07XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHBhZ2U6IFBhZ2UpOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyB7XG4gIHJldHVybiB7XG4gICAgW0xvZ2luUmVzdWx0cy5TdWNjZXNzXTogW0FGVEVSX0xPR0lOX0JBU0VfVVJMLCBhc3luYyAoKSA9PiAhIShhd2FpdCBwYWdlLiR4KGAvL2EvL3NwYW5bY29udGFpbnMoLiwgXCIke2NoZWNraW5nQWNjb3VudFRhYkhlYnJld05hbWV9XCIpIG9yIGNvbnRhaW5zKC4sIFwiJHtjaGVja2luZ0FjY291bnRUYWJFbmdsaXNoTmFtZX1cIildYCkpXSxcbiAgICBbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF06IFthc3luYyAoKSA9PiAhIShhd2FpdCBwYWdlLiQoaW52YWxpZFBhc3N3b3JkU2VsZWN0b3IpKV0sXG4gICAgW0xvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZF06IFtDSEFOR0VfUEFTU1dPUkRfVVJMXSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhcnRNb21lbnQob3B0aW9uc1N0YXJ0RGF0ZTogRGF0ZSkge1xuICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAneWVhcnMnKTtcbiAgY29uc3Qgc3RhcnREYXRlID0gb3B0aW9uc1N0YXJ0RGF0ZSB8fCBkZWZhdWx0U3RhcnRNb21lbnQudG9EYXRlKCk7XG4gIHJldHVybiBtb21lbnQubWF4KGRlZmF1bHRTdGFydE1vbWVudCwgbW9tZW50KHN0YXJ0RGF0ZSkpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVEYXRhRnJvbVJlcXVlc3QocmVxdWVzdDogUmVxdWVzdCwgb3B0aW9uc1N0YXJ0RGF0ZTogRGF0ZSkge1xuICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShyZXF1ZXN0LnBvc3REYXRhKCkgfHwgJ3t9Jyk7XG5cbiAgZGF0YS5pbkZyb21EYXRlID0gZ2V0U3RhcnRNb21lbnQob3B0aW9uc1N0YXJ0RGF0ZSkuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgZGF0YS5pblRvRGF0ZSA9IG1vbWVudCgpLmZvcm1hdChEQVRFX0ZPUk1BVCk7XG4gIGRhdGEudGFibGUubWF4Um93ID0gTUFYX1JPV1NfUEVSX1JFUVVFU1Q7XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUhlYWRlcnNGcm9tUmVxdWVzdChyZXF1ZXN0OiBSZXF1ZXN0KSB7XG4gIHJldHVybiB7XG4gICAgbWl6cmFoaXhzcmZ0b2tlbjogcmVxdWVzdC5oZWFkZXJzKCkubWl6cmFoaXhzcmZ0b2tlbixcbiAgICAnQ29udGVudC1UeXBlJzogcmVxdWVzdC5oZWFkZXJzKClbJ2NvbnRlbnQtdHlwZSddLFxuICB9O1xufVxuXG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2FjdGlvbnModHhuczogU2NyYXBlZFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdIHtcbiAgcmV0dXJuIHR4bnMubWFwKChyb3cpID0+IHtcbiAgICBjb25zdCB0eG5EYXRlID0gbW9tZW50KHJvdy5NQzAyUGV1bGFUYWFFWiwgbW9tZW50LkhUTUw1X0ZNVC5EQVRFVElNRV9MT0NBTF9TRUNPTkRTKVxuICAgICAgLnRvSVNPU3RyaW5nKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBpZGVudGlmaWVyOiByb3cuTUMwMkFzbWFodGFNZWtvcml0RVogPyBwYXJzZUludChyb3cuTUMwMkFzbWFodGFNZWtvcml0RVosIDEwKSA6IHVuZGVmaW5lZCxcbiAgICAgIGRhdGU6IHR4bkRhdGUsXG4gICAgICBwcm9jZXNzZWREYXRlOiB0eG5EYXRlLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IHJvdy5NQzAyU2NodW1FWixcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IFNIRUtFTF9DVVJSRU5DWSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IHJvdy5NQzAyU2NodW1FWixcbiAgICAgIGRlc2NyaXB0aW9uOiByb3cuTUMwMlRudWFUZXVyRVosXG4gICAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICAgIH07XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBleHRyYWN0UGVuZGluZ1RyYW5zYWN0aW9ucyhwYWdlOiBGcmFtZSk6IFByb21pc2U8VHJhbnNhY3Rpb25bXT4ge1xuICBjb25zdCBwZW5kaW5nVHhuID0gYXdhaXQgcGFnZUV2YWxBbGwocGFnZSwgJ3RyLnJnUm93JywgW10sICh0cnMpID0+IHtcbiAgICByZXR1cm4gdHJzLm1hcCgodHIpID0+IEFycmF5LmZyb20odHIucXVlcnlTZWxlY3RvckFsbCgndGQnKSwgKHRkOiBIVE1MVGFibGVEYXRhQ2VsbEVsZW1lbnQpID0+IHRkLnRleHRDb250ZW50IHx8ICcnKSk7XG4gIH0pO1xuXG4gIHJldHVybiBwZW5kaW5nVHhuLm1hcCgodHhuKSA9PiB7XG4gICAgY29uc3QgZGF0ZSA9IG1vbWVudCh0eG5bMF0sICdERC9NTS9ZWScpLnRvSVNPU3RyaW5nKCk7XG4gICAgY29uc3QgYW1vdW50ID0gcGFyc2VJbnQodHhuWzNdLCAxMCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgZGF0ZSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IGRhdGUsXG4gICAgICBvcmlnaW5hbEFtb3VudDogYW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogU0hFS0VMX0NVUlJFTkNZLFxuICAgICAgY2hhcmdlZEFtb3VudDogYW1vdW50LFxuICAgICAgZGVzY3JpcHRpb246IHR4blsxXSxcbiAgICAgIHN0YXR1czogVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nLFxuICAgIH07XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwb3N0TG9naW4ocGFnZTogUGFnZSkge1xuICBhd2FpdCBQcm9taXNlLnJhY2UoW1xuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBhZnRlckxvZ2luU2VsZWN0b3IpLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBpbnZhbGlkUGFzc3dvcmRTZWxlY3RvciksXG4gICAgd2FpdEZvclVybChwYWdlLCBDSEFOR0VfUEFTU1dPUkRfVVJMKSxcbiAgXSk7XG59XG5cbnR5cGUgU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMgPSB7IHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcgfTtcblxuY2xhc3MgTWl6cmFoaVNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyPFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzPiB7XG4gIGdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IExPR0lOX1VSTCxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3IsXG4gICAgICBjaGVja1JlYWRpbmVzczogYXN5bmMgKCkgPT4gd2FpdFVudGlsRWxlbWVudERpc2FwcGVhcih0aGlzLnBhZ2UsIGxvZ2luU3Bpbm5lclNlbGVjdG9yKSxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IHBvc3RMb2dpbih0aGlzLnBhZ2UpLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyh0aGlzLnBhZ2UpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKSB7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKCcjZHJvcGRvd25CYXNpYywgLml0ZW0nLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG5cbiAgICBjb25zdCBudW1PZkFjY291bnRzID0gKGF3YWl0IHRoaXMucGFnZS4kJChhY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3IpKS5sZW5ndGg7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtT2ZBY2NvdW50czsgaSArPSAxKSB7XG4gICAgICAgIGlmIChpID4gMCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMucGFnZS4kZXZhbCgnI2Ryb3Bkb3duQmFzaWMsIC5pdGVtJywgKGVsKSA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGAke2FjY291bnREcm9wRG93bkl0ZW1TZWxlY3Rvcn06bnRoLWNoaWxkKCR7aSArIDF9KWAsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcbiAgICAgICAgcmVzdWx0cy5wdXNoKChhd2FpdCB0aGlzLmZldGNoQWNjb3VudCgpKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIGFjY291bnRzOiByZXN1bHRzLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljLFxuICAgICAgICBlcnJvck1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBmZXRjaEFjY291bnQoKSB7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGBhW2hyZWYqPVwiJHtPU0hfUEFHRX1cIl1gLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgYGFbaHJlZio9XCIke1RSQU5TQUNUSU9OU19QQUdFfVwiXWApO1xuICAgIGF3YWl0IHRoaXMucGFnZS4kZXZhbChgYVtocmVmKj1cIiR7VFJBTlNBQ1RJT05TX1BBR0V9XCJdYCwgKGVsKSA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCkpO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBQcm9taXNlLmFueShUUkFOU0FDVElPTlNfUkVRVUVTVF9VUkxTLm1hcChhc3luYyAodXJsKSA9PiB7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgdGhpcy5wYWdlLndhaXRGb3JSZXF1ZXN0KHVybCk7XG4gICAgICBjb25zdCBkYXRhID0gY3JlYXRlRGF0YUZyb21SZXF1ZXN0KHJlcXVlc3QsIHRoaXMub3B0aW9ucy5zdGFydERhdGUpO1xuICAgICAgY29uc3QgaGVhZGVycyA9IGNyZWF0ZUhlYWRlcnNGcm9tUmVxdWVzdChyZXF1ZXN0KTtcblxuICAgICAgcmV0dXJuIGZldGNoUG9zdFdpdGhpblBhZ2U8U2NyYXBlZFRyYW5zYWN0aW9uc1Jlc3VsdD4odGhpcy5wYWdlLCB1cmwsIGRhdGEsIGhlYWRlcnMpO1xuICAgIH0pKTtcblxuXG4gICAgaWYgKCFyZXNwb25zZSB8fCByZXNwb25zZS5oZWFkZXIuc3VjY2VzcyA9PT0gZmFsc2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3IgZmV0Y2hpbmcgdHJhbnNhY3Rpb24uIFJlc3BvbnNlIG1lc3NhZ2U6ICR7cmVzcG9uc2UgPyByZXNwb25zZS5oZWFkZXIubWVzc2FnZXNbMF0udGV4dCA6ICcnfWApO1xuICAgIH1cblxuICAgIGNvbnN0IHJlbGV2YW50Um93cyA9IHJlc3BvbnNlLmJvZHkudGFibGUucm93cy5maWx0ZXIoKHJvdykgPT4gcm93LlJlY1R5cGVTcGVjaWZpZWQpO1xuICAgIGNvbnN0IG9zaFR4biA9IGNvbnZlcnRUcmFuc2FjdGlvbnMocmVsZXZhbnRSb3dzKTtcblxuICAgIC8vIHdvcmthcm91bmQgZm9yIGEgYnVnIHdoaWNoIHRoZSBiYW5rJ3MgQVBJIHJldHVybnMgdHJhbnNhY3Rpb25zIGJlZm9yZSB0aGUgcmVxdWVzdGVkIHN0YXJ0IGRhdGVcbiAgICBjb25zdCBzdGFydE1vbWVudCA9IGdldFN0YXJ0TW9tZW50KHRoaXMub3B0aW9ucy5zdGFydERhdGUpO1xuICAgIGNvbnN0IG9zaFR4bkFmdGVyU3RhcnREYXRlID0gb3NoVHhuLmZpbHRlcigodHhuKSA9PiBtb21lbnQodHhuLmRhdGUpLmlzU2FtZU9yQWZ0ZXIoc3RhcnRNb21lbnQpKTtcblxuICAgIGF3YWl0IHRoaXMucGFnZS4kZXZhbChgYVtocmVmKj1cIiR7UEVORElOR19UUkFOU0FDVElPTlNfUEFHRX1cIl1gLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG4gICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3YWl0VW50aWxJZnJhbWVGb3VuZCh0aGlzLnBhZ2UsIChmKSA9PiBmLnVybCgpLmluY2x1ZGVzKFBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSkpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChmcmFtZSwgcGVuZGluZ1RyeElkZW50aWZpZXJJZCk7XG4gICAgY29uc3QgcGVuZGluZ1R4biA9IGF3YWl0IGV4dHJhY3RQZW5kaW5nVHJhbnNhY3Rpb25zKGZyYW1lKTtcblxuICAgIGNvbnN0IGFsbFR4biA9IG9zaFR4bkFmdGVyU3RhcnREYXRlLmNvbmNhdChwZW5kaW5nVHhuKTtcblxuICAgIHJldHVybiB7XG4gICAgICBhY2NvdW50TnVtYmVyOiByZXNwb25zZS5ib2R5LmZpZWxkcy5BY2NvdW50TnVtYmVyLFxuICAgICAgdHhuczogYWxsVHhuLFxuICAgICAgYmFsYW5jZTogK3Jlc3BvbnNlLmJvZHkuZmllbGRzLllpdHJhTGVsb0NoZWtpbSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1penJhaGlTY3JhcGVyO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const GET_CUSTOMER = "\nquery GetCustomer {\n customer {\n __typename\n customerId\n userId\n idType\n idNumber\n hebrewFirstName\n hebrewLastName\n latinFirstName\n latinLastName\n dateOfBirth\n lastLoginDate\n userEmail\n gender\n portfolioRelations {\n __typename\n customerId\n customerRole\n portfolioId\n initiator\n relationToInitiator\n status\n }\n portfolios {\n __typename\n ...Portfolio\n }\n status\n }\n}\nfragment Portfolio on Portfolio {\n __typename\n accounts {\n __typename\n accountId\n accountType\n closingDate\n currency\n openingDate\n status\n subType\n }\n activationDate\n bank\n baseCurrency\n branch\n club\n clubDescription\n iban\n imageURL\n isJointAccount\n partnerName {\n __typename\n partnerFirstName\n partnerLastName\n }\n portfolioId\n portfolioNum\n portfolioType\n status\n subType\n onboardingCompleted\n}\n";
|
|
2
|
+
export declare const GET_MOVEMENTS = "query GetMovements(\n $portfolioId: String!\n $accountId: String!\n $pagination: PaginationInput!\n $language: BffLanguage!\n) {\n movements(\n portfolioId: $portfolioId\n accountId: $accountId\n pagination: $pagination\n language: $language\n ) {\n __typename\n ...MovementsFragment\n }\n}\nfragment TransactionInstrumentAmountFragment on TransactionInstrumentAmount {\n __typename\n instrumentAmount\n instrumentSymbol\n instrumentType\n}\nfragment CounterPartyReferenceFragment on CounterPartyReference {\n __typename\n bankId\n bic\n branchCode\n id\n name\n type\n}\nfragment BaseTransactionFragment on BaseTransaction {\n __typename\n accountId\n betweenOwnAccounts\n bookDate\n calculatedStatus\n chargeAmount {\n __typename\n ...TransactionInstrumentAmountFragment\n }\n clearingSystem\n counterParty {\n __typename\n ...CounterPartyReferenceFragment\n }\n currentPaymentNumber\n direction\n domainType\n isReversal\n method\n originalAmount {\n __typename\n ...TransactionInstrumentAmountFragment\n }\n portfolioId\n totalPaymentsCount\n transactionId\n transactionType\n valueDate\n}\nfragment CategoryFragment on Category {\n __typename\n categoryId\n dataSource\n subCategoryId\n}\nfragment RecurrenceFragment on Recurrence {\n __typename\n dataSource\n isRecurrent\n}\nfragment TransactionEnrichmentFragment on TransactionEnrichment {\n __typename\n categories {\n __typename\n ...CategoryFragment\n }\n recurrences {\n __typename\n ...RecurrenceFragment\n }\n}\nfragment TransactionEventMetadataFragment on TransactionEventMetadata {\n __typename\n correlationId\n processingOrder\n}\nfragment CounterPartyTransferData on CounterPartyTransfer {\n __typename\n accountId\n bank_id\n branch_code\n counter_party_name\n}\nfragment BankTransferDetailsData on BankTransferDetails {\n __typename\n ... on CashBlockTransfer {\n counterParty {\n __typename\n ...CounterPartyTransferData\n }\n transferDescriptionKey\n }\n ... on RTGSReturnTransfer {\n transferDescriptionKey\n }\n ... on RTGSTransfer {\n transferDescriptionKey\n }\n ... on SwiftReturnTransfer {\n transferConversionRate\n transferDescriptionKey\n }\n ... on SwiftTransfer {\n transferConversionRate\n transferDescriptionKey\n }\n ... on Transfer {\n counterParty {\n __typename\n ...CounterPartyTransferData\n }\n transferDescriptionKey\n }\n}\nfragment CategoryData on Category {\n __typename\n categoryId\n dataSource\n subCategoryId\n}\nfragment RecurrenceData on Recurrence {\n __typename\n dataSource\n isRecurrent\n}\nfragment CardDetailsData on CardDetails {\n __typename\n ... on CardCharge {\n book_date\n cardDescriptionKey\n }\n ... on CardChargeFCY {\n book_date\n cardConversionRate\n cardDescriptionKey\n cardFCYAmount\n cardFCYCurrency\n }\n ... on CardMonthlySettlement {\n cardDescriptionKey\n }\n ... on CardRefund {\n cardDescriptionKey\n }\n ... on CashBlockCardCharge {\n cardDescriptionKey\n }\n}\nfragment CashDetailsData on CashDetails {\n __typename\n ... on CashWithdrawal {\n cashDescriptionKey\n }\n ... on CashWithdrawalFCY {\n FCYAmount\n FCYCurrency\n cashDescriptionKey\n conversionRate\n }\n}\nfragment ChequesDetailsData on ChequesDetails {\n __typename\n ... on CashBlockChequeDeposit {\n bookDate\n chequesDescriptionKey\n }\n ... on ChequeDeposit {\n bookDate\n chequesDescriptionKey\n }\n ... on ChequeReturn {\n bookDate\n chequeReturnReason\n chequesDescriptionKey\n }\n ... on ChequeWithdrawal {\n chequesDescriptionKey\n }\n}\nfragment DefaultDetailsData on DefaultDetails {\n __typename\n ... on DefaultWithTransaction {\n defaultDescriptionKey\n }\n ... on DefaultWithoutTransaction {\n categories {\n __typename\n ...CategoryData\n }\n defaultDescriptionKey\n }\n}\nfragment FeeDetailsData on FeeDetails {\n __typename\n ... on GeneralFee {\n feeDescriptionKey\n }\n}\nfragment LoanDetailsData on LoanDetails {\n __typename\n ... on FullPrePayment {\n loanDescriptionKey\n }\n ... on Initiate {\n loanDescriptionKey\n }\n ... on MonthlyPayment {\n loanDescriptionKey\n loanPaymentNumber\n loanTotalPaymentsCount\n }\n ... on PartialPrePayment {\n loanDescriptionKey\n }\n}\nfragment MandateDetailsData on MandateDetails {\n __typename\n ... on MandatePayment {\n mandateDescriptionKey\n }\n ... on MandateReturnPayment {\n mandateDescriptionKey\n }\n}\nfragment SavingsDetailsData on SavingsDetails {\n __typename\n ... on FullSavingsWithdrawal {\n savingsDescriptionKey\n }\n ... on MonthlySavingsDeposit {\n savingsDepositNumber\n savingsDescriptionKey\n savingsTotalDepositCount\n }\n ... on PartialSavingsWithdrawal {\n savingsDescriptionKey\n }\n ... on SavingsClosing {\n savingsDescriptionKey\n }\n ... on SavingsDeposit {\n savingsDescriptionKey\n }\n ... on SavingsInterest {\n savingsDescriptionKey\n }\n ... on SavingsPenalty {\n savingsDescriptionKey\n }\n ... on SavingsTax {\n savingsDescriptionKey\n }\n}\nfragment SubscriptionDetailsData on SubscriptionDetails {\n __typename\n ... on SubscriptionPayment {\n subscriptionDescriptionKey\n }\n ... on SubscriptionReturnPayment {\n subscriptionDescriptionKey\n }\n}\nfragment TransactionsDetailsData on TransactionDetails {\n __typename\n ... on BankTransfer {\n bank_transfer_details {\n __typename\n ...BankTransferDetailsData\n }\n book_date\n categories {\n __typename\n ...CategoryData\n }\n recurrences {\n __typename\n ...RecurrenceData\n }\n value_date\n }\n ... on Card {\n card_details {\n __typename\n ...CardDetailsData\n }\n categories {\n __typename\n ...CategoryData\n }\n recurrences {\n __typename\n ...RecurrenceData\n }\n value_date\n }\n ... on Cash {\n cash_details {\n __typename\n ...CashDetailsData\n }\n categories {\n __typename\n ...CategoryData\n }\n recurrences {\n __typename\n ...RecurrenceData\n }\n value_date\n }\n ... on Cheques {\n categories {\n __typename\n ...CategoryData\n }\n chequesDetails {\n __typename\n ...ChequesDetailsData\n }\n recurrences {\n __typename\n ...RecurrenceData\n }\n valueDate\n referenceNumber\n frontImageUrl\n backImageUrl\n }\n ... on Default {\n default_details {\n __typename\n ...DefaultDetailsData\n }\n recurrences {\n __typename\n ...RecurrenceData\n }\n value_date\n }\n ... on Fee {\n categories {\n __typename\n ...CategoryData\n }\n fee_details {\n __typename\n ...FeeDetailsData\n }\n value_date\n }\n ... on Loans {\n categories {\n __typename\n ...CategoryData\n }\n loan_details {\n __typename\n ...LoanDetailsData\n }\n recurrences {\n __typename\n ...RecurrenceData\n }\n value_date\n }\n ... on Mandate {\n categories {\n __typename\n ...CategoryData\n }\n mandate_details {\n __typename\n ...MandateDetailsData\n }\n recurrences {\n __typename\n ...RecurrenceData\n }\n value_date\n }\n ... on Savings {\n categories {\n __typename\n ...CategoryData\n }\n recurrences {\n __typename\n ...RecurrenceData\n }\n savings_details {\n __typename\n ...SavingsDetailsData\n }\n value_date\n }\n ... on SubscriptionTransaction {\n categories {\n __typename\n ...CategoryData\n }\n recurrences {\n __typename\n ...RecurrenceData\n }\n subscription_details {\n __typename\n ...SubscriptionDetailsData\n }\n value_date\n }\n}\nfragment TransactionFragment on Transaction {\n __typename\n baseTransaction {\n __typename\n ...BaseTransactionFragment\n }\n enrichment {\n __typename\n ...TransactionEnrichmentFragment\n }\n metadata {\n __typename\n ...TransactionEventMetadataFragment\n }\n referenceNumber\n transactionDetails {\n __typename\n ...TransactionsDetailsData\n }\n}\nfragment MovementFragment on Movement {\n __typename\n accountId\n bankCurrencyAmount\n bookingDate\n conversionRate\n creditDebit\n description\n isReversed\n linkTransaction {\n __typename\n ...TransactionFragment\n }\n movementAmount\n movementCurrency\n movementId\n movementReversedId\n movementTimestamp\n movementType\n portfolioId\n runningBalance\n transaction {\n __typename\n ...TransactionFragment\n }\n valueDate\n}\nfragment PaginationFragment on Pagination {\n __typename\n cursor\n hasMore\n}\nfragment MovementsFragment on Movements {\n __typename\n isRunningBalanceInSync\n movements {\n __typename\n ...MovementFragment\n }\n pagination {\n __typename\n ...PaginationFragment\n }\n}";
|