oxygen-cli 1.40.2 → 1.42.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/CHANGELOG.md +13 -0
- package/build/core/OxygenCore.js +41 -274
- package/build/core/OxygenEvents.js +2 -12
- package/build/core/OxygenModule.js +1 -16
- package/build/core/OxygenService.js +1 -12
- package/build/core/OxygenSubModule.js +1 -10
- package/build/core/WebDriverModule.js +2 -32
- package/build/core/utils.js +2 -21
- package/build/errors/HookError.js +2 -8
- package/build/errors/ModuleError.js +2 -8
- package/build/errors/ModuleUnavailableError.js +1 -3
- package/build/errors/OxygenError.js +3 -36
- package/build/errors/ScriptNotFound.js +2 -8
- package/build/errors/helper.js +51 -82
- package/build/index.js +8 -22
- package/build/lib/cli-util.js +39 -105
- package/build/lib/cli.js +3 -30
- package/build/lib/debugger.js +2 -145
- package/build/lib/img-merge.js +2 -16
- package/build/lib/launcher.js +3 -31
- package/build/lib/moduleRequire.js +1 -4
- package/build/lib/parallel-launcher.js +44 -84
- package/build/lib/param-manager.js +2 -29
- package/build/lib/param-reader-csv.js +1 -15
- package/build/lib/param-reader-excel.js +1 -14
- package/build/lib/param-reader-json.js +1 -10
- package/build/lib/text-to-image.js +5 -26
- package/build/lib/util.js +4 -75
- package/build/model/case-result.js +1 -2
- package/build/model/failure.js +1 -2
- package/build/model/status.js +1 -2
- package/build/model/step-result.js +1 -2
- package/build/model/suite-result.js +1 -2
- package/build/model/test-result.js +1 -2
- package/build/model/testcase.js +1 -2
- package/build/model/testsuite.js +1 -2
- package/build/ox_modules/index.js +21 -34
- package/build/ox_modules/module-assert.js +9 -28
- package/build/ox_modules/module-date.js +3 -8
- package/build/ox_modules/module-db.js +8 -29
- package/build/ox_modules/module-email.js +14 -45
- package/build/ox_modules/module-eyes.js +6 -47
- package/build/ox_modules/module-http/ntlm-util.js +3 -7
- package/build/ox_modules/module-http/ntlm.js +9 -78
- package/build/ox_modules/module-http.js +69 -172
- package/build/ox_modules/module-log.js +10 -23
- package/build/ox_modules/module-mailinator.js +11 -33
- package/build/ox_modules/module-mob/commands/alertAccept.js +1 -3
- package/build/ox_modules/module-mob/commands/alertDismiss.js +1 -3
- package/build/ox_modules/module-mob/commands/assertAlert.js +1 -7
- package/build/ox_modules/module-mob/commands/assertText.js +1 -4
- package/build/ox_modules/module-mob/commands/assertTitle.js +1 -5
- package/build/ox_modules/module-mob/commands/assertValue.js +9 -17
- package/build/ox_modules/module-mob/commands/back.js +1 -3
- package/build/ox_modules/module-mob/commands/clear.js +1 -5
- package/build/ox_modules/module-mob/commands/click.js +3 -5
- package/build/ox_modules/module-mob/commands/clickHidden.js +3 -10
- package/build/ox_modules/module-mob/commands/clickLong.js +1 -3
- package/build/ox_modules/module-mob/commands/clickMultipleTimes.js +1 -5
- package/build/ox_modules/module-mob/commands/closeApp.js +1 -3
- package/build/ox_modules/module-mob/commands/debug.js +2 -3
- package/build/ox_modules/module-mob/commands/dragAndDrop.js +1 -3
- package/build/ox_modules/module-mob/commands/enableNetwork.js +4 -13
- package/build/ox_modules/module-mob/commands/execute.js +1 -3
- package/build/ox_modules/module-mob/commands/findElement.js +1 -4
- package/build/ox_modules/module-mob/commands/findElements.js +1 -5
- package/build/ox_modules/module-mob/commands/getAlertText.js +1 -3
- package/build/ox_modules/module-mob/commands/getAppiumLogs.js +1 -3
- package/build/ox_modules/module-mob/commands/getBrowserLogs.js +1 -11
- package/build/ox_modules/module-mob/commands/getCurrentActivity.js +1 -3
- package/build/ox_modules/module-mob/commands/getCurrentPackage.js +1 -3
- package/build/ox_modules/module-mob/commands/getDeviceLogs.js +1 -10
- package/build/ox_modules/module-mob/commands/getDeviceTime.js +1 -3
- package/build/ox_modules/module-mob/commands/getLocation.js +1 -3
- package/build/ox_modules/module-mob/commands/getSource.js +1 -3
- package/build/ox_modules/module-mob/commands/getText.js +1 -5
- package/build/ox_modules/module-mob/commands/getTitle.js +1 -3
- package/build/ox_modules/module-mob/commands/getUrl.js +1 -3
- package/build/ox_modules/module-mob/commands/getValue.js +5 -10
- package/build/ox_modules/module-mob/commands/getWindowHandles.js +1 -3
- package/build/ox_modules/module-mob/commands/hideKeyboard.js +1 -3
- package/build/ox_modules/module-mob/commands/index.js +1 -148
- package/build/ox_modules/module-mob/commands/installApp.js +1 -3
- package/build/ox_modules/module-mob/commands/isAppInstalled.js +1 -3
- package/build/ox_modules/module-mob/commands/isCheckable.js +1 -3
- package/build/ox_modules/module-mob/commands/isChecked.js +1 -3
- package/build/ox_modules/module-mob/commands/isClickable.js +1 -3
- package/build/ox_modules/module-mob/commands/isExist.js +1 -4
- package/build/ox_modules/module-mob/commands/isSelected.js +1 -3
- package/build/ox_modules/module-mob/commands/isVisible.js +1 -4
- package/build/ox_modules/module-mob/commands/isWebViewContext.js +1 -3
- package/build/ox_modules/module-mob/commands/launchApp.js +1 -3
- package/build/ox_modules/module-mob/commands/longPressKeyCode.js +1 -3
- package/build/ox_modules/module-mob/commands/open.js +1 -4
- package/build/ox_modules/module-mob/commands/pause.js +1 -3
- package/build/ox_modules/module-mob/commands/removeApp.js +1 -3
- package/build/ox_modules/module-mob/commands/resetApp.js +1 -3
- package/build/ox_modules/module-mob/commands/scrollIntoElement.js +1 -7
- package/build/ox_modules/module-mob/commands/scrollIntoView.js +1 -3
- package/build/ox_modules/module-mob/commands/select.js +1 -5
- package/build/ox_modules/module-mob/commands/selectFrame.js +1 -5
- package/build/ox_modules/module-mob/commands/selectWindow.js +5 -27
- package/build/ox_modules/module-mob/commands/sendKeys.js +6 -10
- package/build/ox_modules/module-mob/commands/setContext.js +1 -3
- package/build/ox_modules/module-mob/commands/setNativeContext.js +1 -3
- package/build/ox_modules/module-mob/commands/setTimeout.js +1 -3
- package/build/ox_modules/module-mob/commands/setWebViewContext.js +3 -7
- package/build/ox_modules/module-mob/commands/shake.js +1 -3
- package/build/ox_modules/module-mob/commands/smsClickLink.js +1 -3
- package/build/ox_modules/module-mob/commands/smsGetText.js +3 -7
- package/build/ox_modules/module-mob/commands/swipe.js +1 -3
- package/build/ox_modules/module-mob/commands/swipeElement.js +1 -3
- package/build/ox_modules/module-mob/commands/swipeScreen.js +1 -3
- package/build/ox_modules/module-mob/commands/takeScreenshot.js +1 -3
- package/build/ox_modules/module-mob/commands/tap.js +1 -3
- package/build/ox_modules/module-mob/commands/type.js +3 -8
- package/build/ox_modules/module-mob/commands/unlockPattern.js +9 -11
- package/build/ox_modules/module-mob/commands/waitForExist.js +1 -3
- package/build/ox_modules/module-mob/commands/waitForInteractable.js +1 -4
- package/build/ox_modules/module-mob/commands/waitForVisible.js +1 -3
- package/build/ox_modules/module-mob.js +74 -216
- package/build/ox_modules/module-mongo.js +265 -0
- package/build/ox_modules/module-pdf.js +24 -65
- package/build/ox_modules/module-proxy.js +9 -69
- package/build/ox_modules/module-serial.js +8 -33
- package/build/ox_modules/module-shell.js +10 -30
- package/build/ox_modules/module-soap.js +17 -52
- package/build/ox_modules/module-twilio.js +11 -54
- package/build/ox_modules/module-utils.js +22 -58
- package/build/ox_modules/module-web/commands/alertAccept.js +1 -3
- package/build/ox_modules/module-web/commands/alertDismiss.js +1 -3
- package/build/ox_modules/module-web/commands/assertAlert.js +1 -7
- package/build/ox_modules/module-web/commands/assertExist.js +1 -3
- package/build/ox_modules/module-web/commands/assertSelectedLabel.js +1 -5
- package/build/ox_modules/module-web/commands/assertSelectedValue.js +1 -4
- package/build/ox_modules/module-web/commands/assertText.js +1 -4
- package/build/ox_modules/module-web/commands/assertTextNotPresent.js +1 -7
- package/build/ox_modules/module-web/commands/assertTextPresent.js +1 -7
- package/build/ox_modules/module-web/commands/assertTitle.js +1 -4
- package/build/ox_modules/module-web/commands/assertValue.js +1 -4
- package/build/ox_modules/module-web/commands/back.js +1 -3
- package/build/ox_modules/module-web/commands/clear.js +1 -6
- package/build/ox_modules/module-web/commands/click.js +4 -15
- package/build/ox_modules/module-web/commands/clickHidden.js +2 -8
- package/build/ox_modules/module-web/commands/closeWindow.js +1 -3
- package/build/ox_modules/module-web/commands/debug.js +2 -3
- package/build/ox_modules/module-web/commands/deleteCookies.js +1 -3
- package/build/ox_modules/module-web/commands/deselect.js +1 -3
- package/build/ox_modules/module-web/commands/doubleClick.js +3 -10
- package/build/ox_modules/module-web/commands/dragAndDrop.js +1 -3
- package/build/ox_modules/module-web/commands/execute.js +1 -3
- package/build/ox_modules/module-web/commands/fileBrowse.js +4 -11
- package/build/ox_modules/module-web/commands/findElement.js +1 -4
- package/build/ox_modules/module-web/commands/findElements.js +1 -5
- package/build/ox_modules/module-web/commands/fullscreenWindow.js +1 -3
- package/build/ox_modules/module-web/commands/getAlertText.js +1 -3
- package/build/ox_modules/module-web/commands/getAttribute.js +1 -5
- package/build/ox_modules/module-web/commands/getBrowserLogs.js +1 -4
- package/build/ox_modules/module-web/commands/getCookies.js +1 -3
- package/build/ox_modules/module-web/commands/getCssValue.js +1 -5
- package/build/ox_modules/module-web/commands/getElementCount.js +1 -3
- package/build/ox_modules/module-web/commands/getHTML.js +1 -3
- package/build/ox_modules/module-web/commands/getSource.js +1 -3
- package/build/ox_modules/module-web/commands/getText.js +1 -5
- package/build/ox_modules/module-web/commands/getTitle.js +1 -3
- package/build/ox_modules/module-web/commands/getUrl.js +1 -3
- package/build/ox_modules/module-web/commands/getValue.js +1 -6
- package/build/ox_modules/module-web/commands/getWindowHandles.js +1 -3
- package/build/ox_modules/module-web/commands/getWindowSize.js +1 -3
- package/build/ox_modules/module-web/commands/getXMLPageSource.js +1 -6
- package/build/ox_modules/module-web/commands/index.js +1 -184
- package/build/ox_modules/module-web/commands/isAlertPresent.js +1 -3
- package/build/ox_modules/module-web/commands/isChecked.js +1 -3
- package/build/ox_modules/module-web/commands/isExist.js +1 -4
- package/build/ox_modules/module-web/commands/isInteractable.js +1 -3
- package/build/ox_modules/module-web/commands/isSelected.js +1 -3
- package/build/ox_modules/module-web/commands/isVisible.js +1 -4
- package/build/ox_modules/module-web/commands/makeVisible.js +2 -11
- package/build/ox_modules/module-web/commands/maximizeWindow.js +1 -3
- package/build/ox_modules/module-web/commands/minimizeWindow.js +1 -3
- package/build/ox_modules/module-web/commands/mock.js +1 -3
- package/build/ox_modules/module-web/commands/mockClearAll.js +1 -3
- package/build/ox_modules/module-web/commands/mockRestoreAll.js +1 -3
- package/build/ox_modules/module-web/commands/newWindow.js +1 -3
- package/build/ox_modules/module-web/commands/open.js +1 -5
- package/build/ox_modules/module-web/commands/pause.js +1 -3
- package/build/ox_modules/module-web/commands/point.js +1 -3
- package/build/ox_modules/module-web/commands/pointJS.js +2 -9
- package/build/ox_modules/module-web/commands/refresh.js +1 -3
- package/build/ox_modules/module-web/commands/rightClick.js +3 -9
- package/build/ox_modules/module-web/commands/rightClickActions.js +1 -3
- package/build/ox_modules/module-web/commands/scrollToElement.js +1 -3
- package/build/ox_modules/module-web/commands/select.js +1 -6
- package/build/ox_modules/module-web/commands/selectFrame.js +1 -4
- package/build/ox_modules/module-web/commands/selectWindow.js +5 -27
- package/build/ox_modules/module-web/commands/sendKeys.js +3 -7
- package/build/ox_modules/module-web/commands/setAutoWaitForAngular.js +2 -3
- package/build/ox_modules/module-web/commands/setTimeout.js +1 -3
- package/build/ox_modules/module-web/commands/setWindowSize.js +1 -3
- package/build/ox_modules/module-web/commands/takeScreenshot.js +3 -6
- package/build/ox_modules/module-web/commands/type.js +1 -6
- package/build/ox_modules/module-web/commands/verifyAlert.js +1 -7
- package/build/ox_modules/module-web/commands/verifyExist.js +2 -7
- package/build/ox_modules/module-web/commands/verifySelectedLabel.js +1 -5
- package/build/ox_modules/module-web/commands/verifySelectedValue.js +1 -4
- package/build/ox_modules/module-web/commands/verifyText.js +1 -4
- package/build/ox_modules/module-web/commands/verifyTextNotPresent.js +1 -7
- package/build/ox_modules/module-web/commands/verifyTextPresent.js +1 -7
- package/build/ox_modules/module-web/commands/verifyTitle.js +1 -4
- package/build/ox_modules/module-web/commands/verifyValue.js +1 -4
- package/build/ox_modules/module-web/commands/waitForAngular.js +11 -14
- package/build/ox_modules/module-web/commands/waitForExist.js +1 -3
- package/build/ox_modules/module-web/commands/waitForInteractable.js +1 -3
- package/build/ox_modules/module-web/commands/waitForNotExist.js +1 -9
- package/build/ox_modules/module-web/commands/waitForNotText.js +1 -4
- package/build/ox_modules/module-web/commands/waitForNotValue.js +1 -4
- package/build/ox_modules/module-web/commands/waitForText.js +1 -4
- package/build/ox_modules/module-web/commands/waitForValue.js +1 -4
- package/build/ox_modules/module-web/commands/waitForVisible.js +1 -3
- package/build/ox_modules/module-web/commands/waitForWindow.js +4 -22
- package/build/ox_modules/module-web/webdriver/ChromeWDM.js +287 -0
- package/build/ox_modules/module-web/webdriver/auto-start.js +25 -0
- package/build/ox_modules/module-web.js +112 -232
- package/build/ox_modules/module-win/commands/assertText.js +1 -4
- package/build/ox_modules/module-win/commands/assertTitle.js +1 -5
- package/build/ox_modules/module-win/commands/assertValue.js +9 -17
- package/build/ox_modules/module-win/commands/back.js +1 -3
- package/build/ox_modules/module-win/commands/clear.js +1 -5
- package/build/ox_modules/module-win/commands/click.js +1 -3
- package/build/ox_modules/module-win/commands/clickLong.js +1 -3
- package/build/ox_modules/module-win/commands/clickMultipleTimes.js +1 -5
- package/build/ox_modules/module-win/commands/findElement.js +1 -4
- package/build/ox_modules/module-win/commands/findElements.js +1 -5
- package/build/ox_modules/module-win/commands/getAppiumLogs.js +1 -3
- package/build/ox_modules/module-win/commands/getCurrentWindowHandle.js +1 -3
- package/build/ox_modules/module-win/commands/getLocation.js +1 -3
- package/build/ox_modules/module-win/commands/getSource.js +1 -3
- package/build/ox_modules/module-win/commands/getText.js +1 -5
- package/build/ox_modules/module-win/commands/getValue.js +5 -10
- package/build/ox_modules/module-win/commands/getWindowHandles.js +1 -3
- package/build/ox_modules/module-win/commands/index.js +1 -74
- package/build/ox_modules/module-win/commands/isCheckable.js +1 -3
- package/build/ox_modules/module-win/commands/isChecked.js +1 -3
- package/build/ox_modules/module-win/commands/isClickable.js +1 -3
- package/build/ox_modules/module-win/commands/isExist.js +1 -4
- package/build/ox_modules/module-win/commands/isSelected.js +1 -3
- package/build/ox_modules/module-win/commands/isVisible.js +1 -4
- package/build/ox_modules/module-win/commands/open.js +1 -3
- package/build/ox_modules/module-win/commands/pause.js +1 -3
- package/build/ox_modules/module-win/commands/rightClick.js +1 -3
- package/build/ox_modules/module-win/commands/selectWindow.js +1 -16
- package/build/ox_modules/module-win/commands/sendKeys.js +1 -5
- package/build/ox_modules/module-win/commands/setTimeout.js +1 -3
- package/build/ox_modules/module-win/commands/takeScreenshot.js +1 -3
- package/build/ox_modules/module-win/commands/tap.js +1 -3
- package/build/ox_modules/module-win/commands/type.js +1 -5
- package/build/ox_modules/module-win/commands/waitForExist.js +1 -3
- package/build/ox_modules/module-win/commands/waitForInteractable.js +1 -5
- package/build/ox_modules/module-win/commands/waitForVisible.js +1 -3
- package/build/ox_modules/module-win.js +54 -95
- package/build/ox_modules/utils.js +91 -79
- package/build/ox_reporters/reporter-excel.js +2 -59
- package/build/ox_reporters/reporter-html.js +2 -29
- package/build/ox_reporters/reporter-json.js +2 -15
- package/build/ox_reporters/reporter-junit.js +2 -25
- package/build/ox_reporters/reporter-pdf.js +2 -20
- package/build/ox_reporters/reporter-rp.js +2 -91
- package/build/ox_reporters/reporter-xml.js +2 -18
- package/build/ox_services/service-devtools/submodule-network.js +4 -86
- package/build/ox_services/service-devtools.js +2 -24
- package/build/reporter/FileReporterBase.js +6 -45
- package/build/reporter/ReportAggregator.js +14 -120
- package/build/reporter/ReporterBase.js +1 -6
- package/build/reporter/WebSocketReporter.js +1 -39
- package/build/runners/WorkerProcess.js +2 -107
- package/build/runners/cucumber/CucumberEventListener.js +4 -29
- package/build/runners/cucumber/CucumberReporter.js +2 -57
- package/build/runners/cucumber/CucumberWorker.js +3 -69
- package/build/runners/cucumber/index.js +2 -31
- package/build/runners/cucumber/worker.js +2 -19
- package/build/runners/index.js +4 -11
- package/build/runners/oxygen/OxygenWorker.js +3 -61
- package/build/runners/oxygen/index.js +18 -179
- package/build/runners/oxygen/worker.js +3 -27
- package/package.json +5 -1
package/build/lib/img-merge.js
CHANGED
|
@@ -1,23 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("source-map-support/register");
|
|
4
|
-
|
|
5
4
|
var _jimp = _interopRequireDefault(require("jimp"));
|
|
6
|
-
|
|
7
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
8
|
-
|
|
5
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
6
|
function alignImage(total, size, align) {
|
|
10
7
|
if (align === 'center') {
|
|
11
8
|
return (total - size) / 2;
|
|
12
9
|
}
|
|
13
|
-
|
|
14
10
|
if (align === 'end') {
|
|
15
11
|
return total - size;
|
|
16
12
|
}
|
|
17
|
-
|
|
18
13
|
return 0;
|
|
19
14
|
}
|
|
20
|
-
|
|
21
15
|
function calcMargin(obj = {}) {
|
|
22
16
|
if (Number.isInteger(obj)) {
|
|
23
17
|
return {
|
|
@@ -27,7 +21,6 @@ function calcMargin(obj = {}) {
|
|
|
27
21
|
left: obj
|
|
28
22
|
};
|
|
29
23
|
}
|
|
30
|
-
|
|
31
24
|
if (typeof obj === 'string') {
|
|
32
25
|
const [top, right = top, bottom = top, left = right] = obj.split(' ');
|
|
33
26
|
return {
|
|
@@ -37,7 +30,6 @@ function calcMargin(obj = {}) {
|
|
|
37
30
|
left: Number(left)
|
|
38
31
|
};
|
|
39
32
|
}
|
|
40
|
-
|
|
41
33
|
const {
|
|
42
34
|
top = 0,
|
|
43
35
|
right = 0,
|
|
@@ -51,7 +43,6 @@ function calcMargin(obj = {}) {
|
|
|
51
43
|
left
|
|
52
44
|
};
|
|
53
45
|
}
|
|
54
|
-
|
|
55
46
|
module.exports = function mergeImages(images, {
|
|
56
47
|
direction = false,
|
|
57
48
|
color = 0x00000000,
|
|
@@ -62,18 +53,15 @@ module.exports = function mergeImages(images, {
|
|
|
62
53
|
if (!Array.isArray(images)) {
|
|
63
54
|
throw new TypeError('`images` must be an array that contains images');
|
|
64
55
|
}
|
|
65
|
-
|
|
66
56
|
if (images.length < 1) {
|
|
67
57
|
throw new Error('At least `images` must contain more than one image');
|
|
68
58
|
}
|
|
69
|
-
|
|
70
59
|
const processImg = async img => {
|
|
71
60
|
const imgBuffer = await new Buffer.from(img, 'base64');
|
|
72
61
|
return _jimp.default.read(imgBuffer).then(imgObj => ({
|
|
73
62
|
img: imgObj
|
|
74
63
|
}));
|
|
75
64
|
};
|
|
76
|
-
|
|
77
65
|
return Promise.all(images.map(processImg)).then(imgs => {
|
|
78
66
|
let totalX = 0;
|
|
79
67
|
let totalY = 0;
|
|
@@ -139,7 +127,6 @@ module.exports = function mergeImages(images, {
|
|
|
139
127
|
}) => height + offsetY));
|
|
140
128
|
const baseImage = new _jimp.default(totalWidth + marginRightLeft, totalHeight + marginTopBottom, color);
|
|
141
129
|
const imgDataEntries = imgData.map((data, index) => [index, data]);
|
|
142
|
-
|
|
143
130
|
for (const [index, {
|
|
144
131
|
img,
|
|
145
132
|
x,
|
|
@@ -156,8 +143,7 @@ module.exports = function mergeImages(images, {
|
|
|
156
143
|
const [px, py] = direction ? [alignImage(totalWidth, width, align) + offsetX, y + index * offset] : [x + index * offset, alignImage(totalHeight, height, align) + offsetY];
|
|
157
144
|
baseImage.composite(img, px + left, py + top);
|
|
158
145
|
}
|
|
159
|
-
|
|
160
146
|
return baseImage.getBase64Async(_jimp.default.MIME_JPEG);
|
|
161
147
|
});
|
|
162
148
|
};
|
|
163
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW1nLW1lcmdlLmpzIl0sIm5hbWVzIjpbImFsaWduSW1hZ2UiLCJ0b3RhbCIsInNpemUiLCJhbGlnbiIsImNhbGNNYXJnaW4iLCJvYmoiLCJOdW1iZXIiLCJpc0ludGVnZXIiLCJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiLCJzcGxpdCIsIm1vZHVsZSIsImV4cG9ydHMiLCJtZXJnZUltYWdlcyIsImltYWdlcyIsImRpcmVjdGlvbiIsImNvbG9yIiwib2Zmc2V0IiwibWFyZ2luIiwiQXJyYXkiLCJpc0FycmF5IiwiVHlwZUVycm9yIiwibGVuZ3RoIiwiRXJyb3IiLCJwcm9jZXNzSW1nIiwiaW1nIiwiaW1nQnVmZmVyIiwiQnVmZmVyIiwiZnJvbSIsIkppbXAiLCJyZWFkIiwidGhlbiIsImltZ09iaiIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJpbWdzIiwidG90YWxYIiwidG90YWxZIiwiaW1nRGF0YSIsInJlZHVjZSIsInJlcyIsIm9mZnNldFgiLCJvZmZzZXRZIiwiYml0bWFwIiwid2lkdGgiLCJoZWlnaHQiLCJwdXNoIiwieCIsInkiLCJtYXJnaW5Ub3BCb3R0b20iLCJtYXJnaW5SaWdodExlZnQiLCJ0b3RhbFdpZHRoIiwiTWF0aCIsIm1heCIsImluZGV4IiwidG90YWxIZWlnaHQiLCJiYXNlSW1hZ2UiLCJpbWdEYXRhRW50cmllcyIsImRhdGEiLCJweCIsInB5IiwiY29tcG9zaXRlIiwiZ2V0QmFzZTY0QXN5bmMiLCJNSU1FX0pQRUciXSwibWFwcGluZ3MiOiI7Ozs7QUFFQTs7OztBQUVBLFNBQVNBLFVBQVQsQ0FBb0JDLEtBQXBCLEVBQTJCQyxJQUEzQixFQUFpQ0MsS0FBakMsRUFBd0M7QUFDcEMsTUFBSUEsS0FBSyxLQUFLLFFBQWQsRUFBd0I7QUFDcEIsV0FBTyxDQUFDRixLQUFLLEdBQUdDLElBQVQsSUFBaUIsQ0FBeEI7QUFDSDs7QUFFRCxNQUFJQyxLQUFLLEtBQUssS0FBZCxFQUFxQjtBQUNqQixXQUFPRixLQUFLLEdBQUdDLElBQWY7QUFDSDs7QUFFRCxTQUFPLENBQVA7QUFDSDs7QUFFRCxTQUFTRSxVQUFULENBQW9CQyxHQUFHLEdBQUcsRUFBMUIsRUFBOEI7QUFDMUIsTUFBSUMsTUFBTSxDQUFDQyxTQUFQLENBQWlCRixHQUFqQixDQUFKLEVBQTJCO0FBQ3ZCLFdBQU87QUFDSEcsTUFBQUEsR0FBRyxFQUFFSCxHQURGO0FBRUhJLE1BQUFBLEtBQUssRUFBRUosR0FGSjtBQUdISyxNQUFBQSxNQUFNLEVBQUVMLEdBSEw7QUFJSE0sTUFBQUEsSUFBSSxFQUFFTjtBQUpILEtBQVA7QUFNSDs7QUFFRCxNQUFJLE9BQU9BLEdBQVAsS0FBZSxRQUFuQixFQUE2QjtBQUN6QixVQUFNLENBQUNHLEdBQUQsRUFBTUMsS0FBSyxHQUFHRCxHQUFkLEVBQW1CRSxNQUFNLEdBQUdGLEdBQTVCLEVBQWlDRyxJQUFJLEdBQUdGLEtBQXhDLElBQWlESixHQUFHLENBQUNPLEtBQUosQ0FBVSxHQUFWLENBQXZEO0FBRUEsV0FBTztBQUNISixNQUFBQSxHQUFHLEVBQUVGLE1BQU0sQ0FBQ0UsR0FBRCxDQURSO0FBRUhDLE1BQUFBLEtBQUssRUFBRUgsTUFBTSxDQUFDRyxLQUFELENBRlY7QUFHSEMsTUFBQUEsTUFBTSxFQUFFSixNQUFNLENBQUNJLE1BQUQsQ0FIWDtBQUlIQyxNQUFBQSxJQUFJLEVBQUVMLE1BQU0sQ0FBQ0ssSUFBRDtBQUpULEtBQVA7QUFNSDs7QUFFRCxRQUFNO0FBQUVILElBQUFBLEdBQUcsR0FBRyxDQUFSO0FBQVdDLElBQUFBLEtBQUssR0FBRyxDQUFuQjtBQUFzQkMsSUFBQUEsTUFBTSxHQUFHLENBQS9CO0FBQWtDQyxJQUFBQSxJQUFJLEdBQUc7QUFBekMsTUFBK0NOLEdBQXJEO0FBRUEsU0FBTztBQUNIRyxJQUFBQSxHQURHO0FBRUhDLElBQUFBLEtBRkc7QUFHSEMsSUFBQUEsTUFIRztBQUlIQyxJQUFBQTtBQUpHLEdBQVA7QUFNSDs7QUFFREUsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLFNBQVNDLFdBQVQsQ0FDZkMsTUFEZSxFQUVmO0FBQ0VDLEVBQUFBLFNBQVMsR0FBRyxLQURkO0FBRUVDLEVBQUFBLEtBQUssR0FBRyxVQUZWO0FBR0VmLEVBQUFBLEtBQUssR0FBRyxPQUhWO0FBSUVnQixFQUFBQSxNQUFNLEdBQUcsQ0FKWDtBQUtFQyxFQUFBQTtBQUxGLElBTUksRUFSVyxFQVNmO0FBQ0UsTUFBSSxDQUFDQyxLQUFLLENBQUNDLE9BQU4sQ0FBY04sTUFBZCxDQUFMLEVBQTRCO0FBQ3hCLFVBQU0sSUFBSU8sU0FBSixDQUFjLGdEQUFkLENBQU47QUFDSDs7QUFFRCxNQUFJUCxNQUFNLENBQUNRLE1BQVAsR0FBZ0IsQ0FBcEIsRUFBdUI7QUFDbkIsVUFBTSxJQUFJQyxLQUFKLENBQVUsb0RBQVYsQ0FBTjtBQUNIOztBQUVELFFBQU1DLFVBQVUsR0FBRyxNQUFNQyxHQUFOLElBQWE7QUFDNUIsVUFBTUMsU0FBUyxHQUFHLE1BQU0sSUFBSUMsTUFBTSxDQUFDQyxJQUFYLENBQWdCSCxHQUFoQixFQUFxQixRQUFyQixDQUF4QjtBQUNBLFdBQU9JLGNBQUtDLElBQUwsQ0FBVUosU0FBVixFQUFxQkssSUFBckIsQ0FBMEJDLE1BQU0sS0FBSztBQUFFUCxNQUFBQSxHQUFHLEVBQUVPO0FBQVAsS0FBTCxDQUFoQyxDQUFQO0FBQ0gsR0FIRDs7QUFLQSxTQUFPQyxPQUFPLENBQUNDLEdBQVIsQ0FBWXBCLE1BQU0sQ0FBQ3FCLEdBQVAsQ0FBV1gsVUFBWCxDQUFaLEVBQW9DTyxJQUFwQyxDQUF5Q0ssSUFBSSxJQUFJO0FBQ3BELFFBQUlDLE1BQU0sR0FBRyxDQUFiO0FBQ0EsUUFBSUMsTUFBTSxHQUFHLENBQWI7QUFFQSxVQUFNQyxPQUFPLEdBQUdILElBQUksQ0FBQ0ksTUFBTCxDQUFZLENBQUNDLEdBQUQsRUFBTTtBQUFFaEIsTUFBQUEsR0FBRjtBQUFPaUIsTUFBQUEsT0FBTyxHQUFHLENBQWpCO0FBQW9CQyxNQUFBQSxPQUFPLEdBQUc7QUFBOUIsS0FBTixLQUE0QztBQUNwRSxZQUFNO0FBQ1ZDLFFBQUFBLE1BQU0sRUFBRTtBQUFFQyxVQUFBQSxLQUFGO0FBQVNDLFVBQUFBO0FBQVQ7QUFERSxVQUVSckIsR0FGRTtBQUlBZ0IsTUFBQUEsR0FBRyxDQUFDTSxJQUFKLENBQVM7QUFDTHRCLFFBQUFBLEdBREs7QUFFTHVCLFFBQUFBLENBQUMsRUFBRVgsTUFBTSxHQUFHSyxPQUZQO0FBR0xPLFFBQUFBLENBQUMsRUFBRVgsTUFBTSxHQUFHSyxPQUhQO0FBSUxELFFBQUFBLE9BSks7QUFLTEMsUUFBQUE7QUFMSyxPQUFUO0FBUUFOLE1BQUFBLE1BQU0sSUFBSVEsS0FBSyxHQUFHSCxPQUFsQjtBQUNBSixNQUFBQSxNQUFNLElBQUlRLE1BQU0sR0FBR0gsT0FBbkI7QUFFQSxhQUFPRixHQUFQO0FBQ0gsS0FqQmUsRUFpQmIsRUFqQmEsQ0FBaEI7QUFtQkEsVUFBTTtBQUFFbkMsTUFBQUEsR0FBRjtBQUFPQyxNQUFBQSxLQUFQO0FBQWNDLE1BQUFBLE1BQWQ7QUFBc0JDLE1BQUFBO0FBQXRCLFFBQStCUCxVQUFVLENBQUNnQixNQUFELENBQS9DO0FBQ0EsVUFBTWdDLGVBQWUsR0FBRzVDLEdBQUcsR0FBR0UsTUFBOUI7QUFDQSxVQUFNMkMsZUFBZSxHQUFHNUMsS0FBSyxHQUFHRSxJQUFoQztBQUVBLFVBQU0yQyxVQUFVLEdBQUdyQyxTQUFTLEdBQzVCc0MsSUFBSSxDQUFDQyxHQUFMLENBQ0UsR0FBR2YsT0FBTyxDQUFDSixHQUFSLENBQ0QsQ0FBQztBQUNDVixNQUFBQSxHQUFHLEVBQUU7QUFDSG1CLFFBQUFBLE1BQU0sRUFBRTtBQUFFQyxVQUFBQTtBQUFGO0FBREwsT0FETjtBQUlDSCxNQUFBQTtBQUpELEtBQUQsS0FLTUcsS0FBSyxHQUFHSCxPQU5iLENBREwsQ0FENEIsR0FXNUJILE9BQU8sQ0FBQ0MsTUFBUixDQUNFLENBQ0VDLEdBREYsRUFFRTtBQUNFaEIsTUFBQUEsR0FBRyxFQUFFO0FBQ0htQixRQUFBQSxNQUFNLEVBQUU7QUFBRUMsVUFBQUE7QUFBRjtBQURMLE9BRFA7QUFJRUgsTUFBQUE7QUFKRixLQUZGLEVBUUVhLEtBUkYsS0FTS2QsR0FBRyxHQUFHSSxLQUFOLEdBQWNILE9BQWQsR0FBd0J0QyxNQUFNLENBQUNtRCxLQUFLLEdBQUcsQ0FBVCxDQUFOLEdBQW9CdEMsTUFWbkQsRUFXRSxDQVhGLENBWEE7QUF5QkEsVUFBTXVDLFdBQVcsR0FBR3pDLFNBQVMsR0FDN0J3QixPQUFPLENBQUNDLE1BQVIsQ0FDRSxDQUNFQyxHQURGLEVBRUU7QUFDRWhCLE1BQUFBLEdBQUcsRUFBRTtBQUNIbUIsUUFBQUEsTUFBTSxFQUFFO0FBQUVFLFVBQUFBO0FBQUY7QUFETCxPQURQO0FBSUVILE1BQUFBO0FBSkYsS0FGRixFQVFFWSxLQVJGLEtBU0tkLEdBQUcsR0FBR0ssTUFBTixHQUFlSCxPQUFmLEdBQXlCdkMsTUFBTSxDQUFDbUQsS0FBSyxHQUFHLENBQVQsQ0FBTixHQUFvQnRDLE1BVnBELEVBV0UsQ0FYRixDQUQ2QixHQWM3Qm9DLElBQUksQ0FBQ0MsR0FBTCxDQUNFLEdBQUdmLE9BQU8sQ0FBQ0osR0FBUixDQUNELENBQUM7QUFDQ1YsTUFBQUEsR0FBRyxFQUFFO0FBQ0htQixRQUFBQSxNQUFNLEVBQUU7QUFBRUUsVUFBQUE7QUFBRjtBQURMLE9BRE47QUFJQ0gsTUFBQUE7QUFKRCxLQUFELEtBS01HLE1BQU0sR0FBR0gsT0FOZCxDQURMLENBZEE7QUF5QkEsVUFBTWMsU0FBUyxHQUFHLElBQUk1QixhQUFKLENBQ3BCdUIsVUFBVSxHQUFHRCxlQURPLEVBRXBCSyxXQUFXLEdBQUdOLGVBRk0sRUFHcEJsQyxLQUhvQixDQUFsQjtBQU9BLFVBQU0wQyxjQUFjLEdBQUduQixPQUFPLENBQUNKLEdBQVIsQ0FBWSxDQUFDd0IsSUFBRCxFQUFPSixLQUFQLEtBQWlCLENBQUNBLEtBQUQsRUFBUUksSUFBUixDQUE3QixDQUF2Qjs7QUFFQSxTQUFLLE1BQU0sQ0FBQ0osS0FBRCxFQUFRO0FBQUU5QixNQUFBQSxHQUFGO0FBQU91QixNQUFBQSxDQUFQO0FBQVVDLE1BQUFBLENBQVY7QUFBYVAsTUFBQUEsT0FBYjtBQUFzQkMsTUFBQUE7QUFBdEIsS0FBUixDQUFYLElBQXVEZSxjQUF2RCxFQUF1RTtBQUNuRSxZQUFNO0FBQ1ZkLFFBQUFBLE1BQU0sRUFBRTtBQUFFQyxVQUFBQSxLQUFGO0FBQVNDLFVBQUFBO0FBQVQ7QUFERSxVQUVSckIsR0FGRTtBQUdBLFlBQU0sQ0FBQ21DLEVBQUQsRUFBS0MsRUFBTCxJQUFXOUMsU0FBUyxHQUM1QixDQUFDakIsVUFBVSxDQUFDc0QsVUFBRCxFQUFhUCxLQUFiLEVBQW9CNUMsS0FBcEIsQ0FBVixHQUF1Q3lDLE9BQXhDLEVBQWlETyxDQUFDLEdBQUdNLEtBQUssR0FBR3RDLE1BQTdELENBRDRCLEdBRTVCLENBQ0UrQixDQUFDLEdBQUdPLEtBQUssR0FBR3RDLE1BRGQsRUFFRW5CLFVBQVUsQ0FBQzBELFdBQUQsRUFBY1YsTUFBZCxFQUFzQjdDLEtBQXRCLENBQVYsR0FBeUMwQyxPQUYzQyxDQUZFO0FBT0FjLE1BQUFBLFNBQVMsQ0FBQ0ssU0FBVixDQUFvQnJDLEdBQXBCLEVBQXlCbUMsRUFBRSxHQUFHbkQsSUFBOUIsRUFBb0NvRCxFQUFFLEdBQUd2RCxHQUF6QztBQUNIOztBQUVELFdBQU9tRCxTQUFTLENBQUNNLGNBQVYsQ0FBeUJsQyxjQUFLbUMsU0FBOUIsQ0FBUDtBQUVILEdBdEdNLENBQVA7QUF1R0gsQ0E5SEQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vcmFncmFnL21lcmdlLWJhc2U2NFxyXG5cclxuaW1wb3J0IEppbXAgZnJvbSAnamltcCc7XHJcblxyXG5mdW5jdGlvbiBhbGlnbkltYWdlKHRvdGFsLCBzaXplLCBhbGlnbikge1xyXG4gICAgaWYgKGFsaWduID09PSAnY2VudGVyJykge1xyXG4gICAgICAgIHJldHVybiAodG90YWwgLSBzaXplKSAvIDI7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGFsaWduID09PSAnZW5kJykge1xyXG4gICAgICAgIHJldHVybiB0b3RhbCAtIHNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIDA7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNhbGNNYXJnaW4ob2JqID0ge30pIHtcclxuICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKG9iaikpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0b3A6IG9iaixcclxuICAgICAgICAgICAgcmlnaHQ6IG9iaixcclxuICAgICAgICAgICAgYm90dG9tOiBvYmosXHJcbiAgICAgICAgICAgIGxlZnQ6IG9ialxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgY29uc3QgW3RvcCwgcmlnaHQgPSB0b3AsIGJvdHRvbSA9IHRvcCwgbGVmdCA9IHJpZ2h0XSA9IG9iai5zcGxpdCgnICcpO1xyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0b3A6IE51bWJlcih0b3ApLFxyXG4gICAgICAgICAgICByaWdodDogTnVtYmVyKHJpZ2h0KSxcclxuICAgICAgICAgICAgYm90dG9tOiBOdW1iZXIoYm90dG9tKSxcclxuICAgICAgICAgICAgbGVmdDogTnVtYmVyKGxlZnQpXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IHRvcCA9IDAsIHJpZ2h0ID0gMCwgYm90dG9tID0gMCwgbGVmdCA9IDAgfSA9IG9iajtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHRvcCxcclxuICAgICAgICByaWdodCxcclxuICAgICAgICBib3R0b20sXHJcbiAgICAgICAgbGVmdFxyXG4gICAgfTtcclxufVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBtZXJnZUltYWdlcyhcclxuICBpbWFnZXMsXHJcbiAge1xyXG4gICAgZGlyZWN0aW9uID0gZmFsc2UsXHJcbiAgICBjb2xvciA9IDB4MDAwMDAwMDAsXHJcbiAgICBhbGlnbiA9ICdzdGFydCcsXHJcbiAgICBvZmZzZXQgPSAwLFxyXG4gICAgbWFyZ2luXHJcbiAgfSA9IHt9XHJcbikge1xyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGltYWdlcykpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdgaW1hZ2VzYCBtdXN0IGJlIGFuIGFycmF5IHRoYXQgY29udGFpbnMgaW1hZ2VzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGltYWdlcy5sZW5ndGggPCAxKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBdCBsZWFzdCBgaW1hZ2VzYCBtdXN0IGNvbnRhaW4gbW9yZSB0aGFuIG9uZSBpbWFnZScpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByb2Nlc3NJbWcgPSBhc3luYyBpbWcgPT4ge1xyXG4gICAgICAgIGNvbnN0IGltZ0J1ZmZlciA9IGF3YWl0IG5ldyBCdWZmZXIuZnJvbShpbWcsICdiYXNlNjQnKTtcclxuICAgICAgICByZXR1cm4gSmltcC5yZWFkKGltZ0J1ZmZlcikudGhlbihpbWdPYmogPT4gKHsgaW1nOiBpbWdPYmogfSkpO1xyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoaW1hZ2VzLm1hcChwcm9jZXNzSW1nKSkudGhlbihpbWdzID0+IHtcclxuICAgICAgICBsZXQgdG90YWxYID0gMDtcclxuICAgICAgICBsZXQgdG90YWxZID0gMDtcclxuXHJcbiAgICAgICAgY29uc3QgaW1nRGF0YSA9IGltZ3MucmVkdWNlKChyZXMsIHsgaW1nLCBvZmZzZXRYID0gMCwgb2Zmc2V0WSA9IDAgfSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7XHJcbiAgICAgICAgYml0bWFwOiB7IHdpZHRoLCBoZWlnaHQgfVxyXG4gICAgICB9ID0gaW1nO1xyXG5cclxuICAgICAgICAgICAgcmVzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgaW1nLFxyXG4gICAgICAgICAgICAgICAgeDogdG90YWxYICsgb2Zmc2V0WCxcclxuICAgICAgICAgICAgICAgIHk6IHRvdGFsWSArIG9mZnNldFksXHJcbiAgICAgICAgICAgICAgICBvZmZzZXRYLFxyXG4gICAgICAgICAgICAgICAgb2Zmc2V0WVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHRvdGFsWCArPSB3aWR0aCArIG9mZnNldFg7XHJcbiAgICAgICAgICAgIHRvdGFsWSArPSBoZWlnaHQgKyBvZmZzZXRZO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgICB9LCBbXSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHsgdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0IH0gPSBjYWxjTWFyZ2luKG1hcmdpbik7XHJcbiAgICAgICAgY29uc3QgbWFyZ2luVG9wQm90dG9tID0gdG9wICsgYm90dG9tO1xyXG4gICAgICAgIGNvbnN0IG1hcmdpblJpZ2h0TGVmdCA9IHJpZ2h0ICsgbGVmdDtcclxuXHJcbiAgICAgICAgY29uc3QgdG90YWxXaWR0aCA9IGRpcmVjdGlvblxyXG4gICAgICA/IE1hdGgubWF4KFxyXG4gICAgICAgICAgLi4uaW1nRGF0YS5tYXAoXHJcbiAgICAgICAgICAgICh7XHJcbiAgICAgICAgICAgICAgaW1nOiB7XHJcbiAgICAgICAgICAgICAgICBiaXRtYXA6IHsgd2lkdGggfVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgb2Zmc2V0WFxyXG4gICAgICAgICAgICB9KSA9PiB3aWR0aCArIG9mZnNldFhcclxuICAgICAgICAgIClcclxuICAgICAgICApXHJcbiAgICAgIDogaW1nRGF0YS5yZWR1Y2UoXHJcbiAgICAgICAgICAoXHJcbiAgICAgICAgICAgIHJlcyxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGltZzoge1xyXG4gICAgICAgICAgICAgICAgYml0bWFwOiB7IHdpZHRoIH1cclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIG9mZnNldFhcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaW5kZXhcclxuICAgICAgICAgICkgPT4gcmVzICsgd2lkdGggKyBvZmZzZXRYICsgTnVtYmVyKGluZGV4ID4gMCkgKiBvZmZzZXQsXHJcbiAgICAgICAgICAwXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29uc3QgdG90YWxIZWlnaHQgPSBkaXJlY3Rpb25cclxuICAgICAgPyBpbWdEYXRhLnJlZHVjZShcclxuICAgICAgICAgIChcclxuICAgICAgICAgICAgcmVzLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgaW1nOiB7XHJcbiAgICAgICAgICAgICAgICBiaXRtYXA6IHsgaGVpZ2h0IH1cclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIG9mZnNldFlcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaW5kZXhcclxuICAgICAgICAgICkgPT4gcmVzICsgaGVpZ2h0ICsgb2Zmc2V0WSArIE51bWJlcihpbmRleCA+IDApICogb2Zmc2V0LFxyXG4gICAgICAgICAgMFxyXG4gICAgICAgIClcclxuICAgICAgOiBNYXRoLm1heChcclxuICAgICAgICAgIC4uLmltZ0RhdGEubWFwKFxyXG4gICAgICAgICAgICAoe1xyXG4gICAgICAgICAgICAgIGltZzoge1xyXG4gICAgICAgICAgICAgICAgYml0bWFwOiB7IGhlaWdodCB9XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBvZmZzZXRZXHJcbiAgICAgICAgICAgIH0pID0+IGhlaWdodCArIG9mZnNldFlcclxuICAgICAgICAgIClcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBjb25zdCBiYXNlSW1hZ2UgPSBuZXcgSmltcChcclxuICAgICAgdG90YWxXaWR0aCArIG1hcmdpblJpZ2h0TGVmdCxcclxuICAgICAgdG90YWxIZWlnaHQgKyBtYXJnaW5Ub3BCb3R0b20sXHJcbiAgICAgIGNvbG9yXHJcbiAgICApO1xyXG5cclxuICAgIC8vIEZhbGxiYWNrIGZvciBgQXJyYXkjZW50cmllcygpYFxyXG4gICAgICAgIGNvbnN0IGltZ0RhdGFFbnRyaWVzID0gaW1nRGF0YS5tYXAoKGRhdGEsIGluZGV4KSA9PiBbaW5kZXgsIGRhdGFdKTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBbaW5kZXgsIHsgaW1nLCB4LCB5LCBvZmZzZXRYLCBvZmZzZXRZIH1dIG9mIGltZ0RhdGFFbnRyaWVzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHtcclxuICAgICAgICBiaXRtYXA6IHsgd2lkdGgsIGhlaWdodCB9XHJcbiAgICAgIH0gPSBpbWc7XHJcbiAgICAgICAgICAgIGNvbnN0IFtweCwgcHldID0gZGlyZWN0aW9uXHJcbiAgICAgICAgPyBbYWxpZ25JbWFnZSh0b3RhbFdpZHRoLCB3aWR0aCwgYWxpZ24pICsgb2Zmc2V0WCwgeSArIGluZGV4ICogb2Zmc2V0XVxyXG4gICAgICAgIDogW1xyXG4gICAgICAgICAgICB4ICsgaW5kZXggKiBvZmZzZXQsXHJcbiAgICAgICAgICAgIGFsaWduSW1hZ2UodG90YWxIZWlnaHQsIGhlaWdodCwgYWxpZ24pICsgb2Zmc2V0WVxyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgICAgICBiYXNlSW1hZ2UuY29tcG9zaXRlKGltZywgcHggKyBsZWZ0LCBweSArIHRvcCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gYmFzZUltYWdlLmdldEJhc2U2NEFzeW5jKEppbXAuTUlNRV9KUEVHKTtcclxuICAgIC8vIHJldHVybiBiYXNlSW1hZ2U7XHJcbiAgICB9KTtcclxufTtcclxuIl19
|
|
149
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfamltcCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiYWxpZ25JbWFnZSIsInRvdGFsIiwic2l6ZSIsImFsaWduIiwiY2FsY01hcmdpbiIsIm9iaiIsIk51bWJlciIsImlzSW50ZWdlciIsInRvcCIsInJpZ2h0IiwiYm90dG9tIiwibGVmdCIsInNwbGl0IiwibW9kdWxlIiwiZXhwb3J0cyIsIm1lcmdlSW1hZ2VzIiwiaW1hZ2VzIiwiZGlyZWN0aW9uIiwiY29sb3IiLCJvZmZzZXQiLCJtYXJnaW4iLCJBcnJheSIsImlzQXJyYXkiLCJUeXBlRXJyb3IiLCJsZW5ndGgiLCJFcnJvciIsInByb2Nlc3NJbWciLCJpbWciLCJpbWdCdWZmZXIiLCJCdWZmZXIiLCJmcm9tIiwiSmltcCIsInJlYWQiLCJ0aGVuIiwiaW1nT2JqIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImltZ3MiLCJ0b3RhbFgiLCJ0b3RhbFkiLCJpbWdEYXRhIiwicmVkdWNlIiwicmVzIiwib2Zmc2V0WCIsIm9mZnNldFkiLCJiaXRtYXAiLCJ3aWR0aCIsImhlaWdodCIsInB1c2giLCJ4IiwieSIsIm1hcmdpblRvcEJvdHRvbSIsIm1hcmdpblJpZ2h0TGVmdCIsInRvdGFsV2lkdGgiLCJNYXRoIiwibWF4IiwiaW5kZXgiLCJ0b3RhbEhlaWdodCIsImJhc2VJbWFnZSIsImltZ0RhdGFFbnRyaWVzIiwiZGF0YSIsInB4IiwicHkiLCJjb21wb3NpdGUiLCJnZXRCYXNlNjRBc3luYyIsIk1JTUVfSlBFRyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW1nLW1lcmdlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yYWdyYWcvbWVyZ2UtYmFzZTY0XHJcblxyXG5pbXBvcnQgSmltcCBmcm9tICdqaW1wJztcclxuXHJcbmZ1bmN0aW9uIGFsaWduSW1hZ2UodG90YWwsIHNpemUsIGFsaWduKSB7XHJcbiAgICBpZiAoYWxpZ24gPT09ICdjZW50ZXInKSB7XHJcbiAgICAgICAgcmV0dXJuICh0b3RhbCAtIHNpemUpIC8gMjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYWxpZ24gPT09ICdlbmQnKSB7XHJcbiAgICAgICAgcmV0dXJuIHRvdGFsIC0gc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gMDtcclxufVxyXG5cclxuZnVuY3Rpb24gY2FsY01hcmdpbihvYmogPSB7fSkge1xyXG4gICAgaWYgKE51bWJlci5pc0ludGVnZXIob2JqKSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHRvcDogb2JqLFxyXG4gICAgICAgICAgICByaWdodDogb2JqLFxyXG4gICAgICAgICAgICBib3R0b206IG9iaixcclxuICAgICAgICAgICAgbGVmdDogb2JqXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICBjb25zdCBbdG9wLCByaWdodCA9IHRvcCwgYm90dG9tID0gdG9wLCBsZWZ0ID0gcmlnaHRdID0gb2JqLnNwbGl0KCcgJyk7XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHRvcDogTnVtYmVyKHRvcCksXHJcbiAgICAgICAgICAgIHJpZ2h0OiBOdW1iZXIocmlnaHQpLFxyXG4gICAgICAgICAgICBib3R0b206IE51bWJlcihib3R0b20pLFxyXG4gICAgICAgICAgICBsZWZ0OiBOdW1iZXIobGVmdClcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgdG9wID0gMCwgcmlnaHQgPSAwLCBib3R0b20gPSAwLCBsZWZ0ID0gMCB9ID0gb2JqO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgdG9wLFxyXG4gICAgICAgIHJpZ2h0LFxyXG4gICAgICAgIGJvdHRvbSxcclxuICAgICAgICBsZWZ0XHJcbiAgICB9O1xyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIG1lcmdlSW1hZ2VzKFxyXG4gIGltYWdlcyxcclxuICB7XHJcbiAgICBkaXJlY3Rpb24gPSBmYWxzZSxcclxuICAgIGNvbG9yID0gMHgwMDAwMDAwMCxcclxuICAgIGFsaWduID0gJ3N0YXJ0JyxcclxuICAgIG9mZnNldCA9IDAsXHJcbiAgICBtYXJnaW5cclxuICB9ID0ge31cclxuKSB7XHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoaW1hZ2VzKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2BpbWFnZXNgIG11c3QgYmUgYW4gYXJyYXkgdGhhdCBjb250YWlucyBpbWFnZXMnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaW1hZ2VzLmxlbmd0aCA8IDEpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0IGxlYXN0IGBpbWFnZXNgIG11c3QgY29udGFpbiBtb3JlIHRoYW4gb25lIGltYWdlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcHJvY2Vzc0ltZyA9IGFzeW5jIGltZyA9PiB7XHJcbiAgICAgICAgY29uc3QgaW1nQnVmZmVyID0gYXdhaXQgbmV3IEJ1ZmZlci5mcm9tKGltZywgJ2Jhc2U2NCcpO1xyXG4gICAgICAgIHJldHVybiBKaW1wLnJlYWQoaW1nQnVmZmVyKS50aGVuKGltZ09iaiA9PiAoeyBpbWc6IGltZ09iaiB9KSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBQcm9taXNlLmFsbChpbWFnZXMubWFwKHByb2Nlc3NJbWcpKS50aGVuKGltZ3MgPT4ge1xyXG4gICAgICAgIGxldCB0b3RhbFggPSAwO1xyXG4gICAgICAgIGxldCB0b3RhbFkgPSAwO1xyXG5cclxuICAgICAgICBjb25zdCBpbWdEYXRhID0gaW1ncy5yZWR1Y2UoKHJlcywgeyBpbWcsIG9mZnNldFggPSAwLCBvZmZzZXRZID0gMCB9KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHtcclxuICAgICAgICBiaXRtYXA6IHsgd2lkdGgsIGhlaWdodCB9XHJcbiAgICAgIH0gPSBpbWc7XHJcblxyXG4gICAgICAgICAgICByZXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBpbWcsXHJcbiAgICAgICAgICAgICAgICB4OiB0b3RhbFggKyBvZmZzZXRYLFxyXG4gICAgICAgICAgICAgICAgeTogdG90YWxZICsgb2Zmc2V0WSxcclxuICAgICAgICAgICAgICAgIG9mZnNldFgsXHJcbiAgICAgICAgICAgICAgICBvZmZzZXRZXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdG90YWxYICs9IHdpZHRoICsgb2Zmc2V0WDtcclxuICAgICAgICAgICAgdG90YWxZICs9IGhlaWdodCArIG9mZnNldFk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgIH0sIFtdKTtcclxuXHJcbiAgICAgICAgY29uc3QgeyB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQgfSA9IGNhbGNNYXJnaW4obWFyZ2luKTtcclxuICAgICAgICBjb25zdCBtYXJnaW5Ub3BCb3R0b20gPSB0b3AgKyBib3R0b207XHJcbiAgICAgICAgY29uc3QgbWFyZ2luUmlnaHRMZWZ0ID0gcmlnaHQgKyBsZWZ0O1xyXG5cclxuICAgICAgICBjb25zdCB0b3RhbFdpZHRoID0gZGlyZWN0aW9uXHJcbiAgICAgID8gTWF0aC5tYXgoXHJcbiAgICAgICAgICAuLi5pbWdEYXRhLm1hcChcclxuICAgICAgICAgICAgKHtcclxuICAgICAgICAgICAgICBpbWc6IHtcclxuICAgICAgICAgICAgICAgIGJpdG1hcDogeyB3aWR0aCB9XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBvZmZzZXRYXHJcbiAgICAgICAgICAgIH0pID0+IHdpZHRoICsgb2Zmc2V0WFxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIClcclxuICAgICAgOiBpbWdEYXRhLnJlZHVjZShcclxuICAgICAgICAgIChcclxuICAgICAgICAgICAgcmVzLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgaW1nOiB7XHJcbiAgICAgICAgICAgICAgICBiaXRtYXA6IHsgd2lkdGggfVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgb2Zmc2V0WFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbmRleFxyXG4gICAgICAgICAgKSA9PiByZXMgKyB3aWR0aCArIG9mZnNldFggKyBOdW1iZXIoaW5kZXggPiAwKSAqIG9mZnNldCxcclxuICAgICAgICAgIDBcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBjb25zdCB0b3RhbEhlaWdodCA9IGRpcmVjdGlvblxyXG4gICAgICA/IGltZ0RhdGEucmVkdWNlKFxyXG4gICAgICAgICAgKFxyXG4gICAgICAgICAgICByZXMsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBpbWc6IHtcclxuICAgICAgICAgICAgICAgIGJpdG1hcDogeyBoZWlnaHQgfVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgb2Zmc2V0WVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbmRleFxyXG4gICAgICAgICAgKSA9PiByZXMgKyBoZWlnaHQgKyBvZmZzZXRZICsgTnVtYmVyKGluZGV4ID4gMCkgKiBvZmZzZXQsXHJcbiAgICAgICAgICAwXHJcbiAgICAgICAgKVxyXG4gICAgICA6IE1hdGgubWF4KFxyXG4gICAgICAgICAgLi4uaW1nRGF0YS5tYXAoXHJcbiAgICAgICAgICAgICh7XHJcbiAgICAgICAgICAgICAgaW1nOiB7XHJcbiAgICAgICAgICAgICAgICBiaXRtYXA6IHsgaGVpZ2h0IH1cclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIG9mZnNldFlcclxuICAgICAgICAgICAgfSkgPT4gaGVpZ2h0ICsgb2Zmc2V0WVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGNvbnN0IGJhc2VJbWFnZSA9IG5ldyBKaW1wKFxyXG4gICAgICB0b3RhbFdpZHRoICsgbWFyZ2luUmlnaHRMZWZ0LFxyXG4gICAgICB0b3RhbEhlaWdodCArIG1hcmdpblRvcEJvdHRvbSxcclxuICAgICAgY29sb3JcclxuICAgICk7XHJcblxyXG4gICAgLy8gRmFsbGJhY2sgZm9yIGBBcnJheSNlbnRyaWVzKClgXHJcbiAgICAgICAgY29uc3QgaW1nRGF0YUVudHJpZXMgPSBpbWdEYXRhLm1hcCgoZGF0YSwgaW5kZXgpID0+IFtpbmRleCwgZGF0YV0pO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IFtpbmRleCwgeyBpbWcsIHgsIHksIG9mZnNldFgsIG9mZnNldFkgfV0gb2YgaW1nRGF0YUVudHJpZXMpIHtcclxuICAgICAgICAgICAgY29uc3Qge1xyXG4gICAgICAgIGJpdG1hcDogeyB3aWR0aCwgaGVpZ2h0IH1cclxuICAgICAgfSA9IGltZztcclxuICAgICAgICAgICAgY29uc3QgW3B4LCBweV0gPSBkaXJlY3Rpb25cclxuICAgICAgICA/IFthbGlnbkltYWdlKHRvdGFsV2lkdGgsIHdpZHRoLCBhbGlnbikgKyBvZmZzZXRYLCB5ICsgaW5kZXggKiBvZmZzZXRdXHJcbiAgICAgICAgOiBbXHJcbiAgICAgICAgICAgIHggKyBpbmRleCAqIG9mZnNldCxcclxuICAgICAgICAgICAgYWxpZ25JbWFnZSh0b3RhbEhlaWdodCwgaGVpZ2h0LCBhbGlnbikgKyBvZmZzZXRZXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgICAgIGJhc2VJbWFnZS5jb21wb3NpdGUoaW1nLCBweCArIGxlZnQsIHB5ICsgdG9wKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBiYXNlSW1hZ2UuZ2V0QmFzZTY0QXN5bmMoSmltcC5NSU1FX0pQRUcpO1xyXG4gICAgLy8gcmV0dXJuIGJhc2VJbWFnZTtcclxuICAgIH0pO1xyXG59O1xyXG4iXSwibWFwcGluZ3MiOiI7OztBQUVBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUF3QixTQUFBRCx1QkFBQUUsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUV4QixTQUFTRyxVQUFVQSxDQUFDQyxLQUFLLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFO0VBQ3BDLElBQUlBLEtBQUssS0FBSyxRQUFRLEVBQUU7SUFDcEIsT0FBTyxDQUFDRixLQUFLLEdBQUdDLElBQUksSUFBSSxDQUFDO0VBQzdCO0VBRUEsSUFBSUMsS0FBSyxLQUFLLEtBQUssRUFBRTtJQUNqQixPQUFPRixLQUFLLEdBQUdDLElBQUk7RUFDdkI7RUFFQSxPQUFPLENBQUM7QUFDWjtBQUVBLFNBQVNFLFVBQVVBLENBQUNDLEdBQUcsR0FBRyxDQUFDLENBQUMsRUFBRTtFQUMxQixJQUFJQyxNQUFNLENBQUNDLFNBQVMsQ0FBQ0YsR0FBRyxDQUFDLEVBQUU7SUFDdkIsT0FBTztNQUNIRyxHQUFHLEVBQUVILEdBQUc7TUFDUkksS0FBSyxFQUFFSixHQUFHO01BQ1ZLLE1BQU0sRUFBRUwsR0FBRztNQUNYTSxJQUFJLEVBQUVOO0lBQ1YsQ0FBQztFQUNMO0VBRUEsSUFBSSxPQUFPQSxHQUFHLEtBQUssUUFBUSxFQUFFO0lBQ3pCLE1BQU0sQ0FBQ0csR0FBRyxFQUFFQyxLQUFLLEdBQUdELEdBQUcsRUFBRUUsTUFBTSxHQUFHRixHQUFHLEVBQUVHLElBQUksR0FBR0YsS0FBSyxDQUFDLEdBQUdKLEdBQUcsQ0FBQ08sS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUVyRSxPQUFPO01BQ0hKLEdBQUcsRUFBRUYsTUFBTSxDQUFDRSxHQUFHLENBQUM7TUFDaEJDLEtBQUssRUFBRUgsTUFBTSxDQUFDRyxLQUFLLENBQUM7TUFDcEJDLE1BQU0sRUFBRUosTUFBTSxDQUFDSSxNQUFNLENBQUM7TUFDdEJDLElBQUksRUFBRUwsTUFBTSxDQUFDSyxJQUFJO0lBQ3JCLENBQUM7RUFDTDtFQUVBLE1BQU07SUFBRUgsR0FBRyxHQUFHLENBQUM7SUFBRUMsS0FBSyxHQUFHLENBQUM7SUFBRUMsTUFBTSxHQUFHLENBQUM7SUFBRUMsSUFBSSxHQUFHO0VBQUUsQ0FBQyxHQUFHTixHQUFHO0VBRXhELE9BQU87SUFDSEcsR0FBRztJQUNIQyxLQUFLO0lBQ0xDLE1BQU07SUFDTkM7RUFDSixDQUFDO0FBQ0w7QUFFQUUsTUFBTSxDQUFDQyxPQUFPLEdBQUcsU0FBU0MsV0FBV0EsQ0FDbkNDLE1BQU0sRUFDTjtFQUNFQyxTQUFTLEdBQUcsS0FBSztFQUNqQkMsS0FBSyxHQUFHLFVBQVU7RUFDbEJmLEtBQUssR0FBRyxPQUFPO0VBQ2ZnQixNQUFNLEdBQUcsQ0FBQztFQUNWQztBQUNGLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDTjtFQUNFLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUNOLE1BQU0sQ0FBQyxFQUFFO0lBQ3hCLE1BQU0sSUFBSU8sU0FBUyxDQUFDLGdEQUFnRCxDQUFDO0VBQ3pFO0VBRUEsSUFBSVAsTUFBTSxDQUFDUSxNQUFNLEdBQUcsQ0FBQyxFQUFFO0lBQ25CLE1BQU0sSUFBSUMsS0FBSyxDQUFDLG9EQUFvRCxDQUFDO0VBQ3pFO0VBRUEsTUFBTUMsVUFBVSxHQUFHLE1BQU1DLEdBQUcsSUFBSTtJQUM1QixNQUFNQyxTQUFTLEdBQUcsTUFBTSxJQUFJQyxNQUFNLENBQUNDLElBQUksQ0FBQ0gsR0FBRyxFQUFFLFFBQVEsQ0FBQztJQUN0RCxPQUFPSSxhQUFJLENBQUNDLElBQUksQ0FBQ0osU0FBUyxDQUFDLENBQUNLLElBQUksQ0FBQ0MsTUFBTSxLQUFLO01BQUVQLEdBQUcsRUFBRU87SUFBTyxDQUFDLENBQUMsQ0FBQztFQUNqRSxDQUFDO0VBRUQsT0FBT0MsT0FBTyxDQUFDQyxHQUFHLENBQUNwQixNQUFNLENBQUNxQixHQUFHLENBQUNYLFVBQVUsQ0FBQyxDQUFDLENBQUNPLElBQUksQ0FBQ0ssSUFBSSxJQUFJO0lBQ3BELElBQUlDLE1BQU0sR0FBRyxDQUFDO0lBQ2QsSUFBSUMsTUFBTSxHQUFHLENBQUM7SUFFZCxNQUFNQyxPQUFPLEdBQUdILElBQUksQ0FBQ0ksTUFBTSxDQUFDLENBQUNDLEdBQUcsRUFBRTtNQUFFaEIsR0FBRztNQUFFaUIsT0FBTyxHQUFHLENBQUM7TUFBRUMsT0FBTyxHQUFHO0lBQUUsQ0FBQyxLQUFLO01BQ3BFLE1BQU07UUFDVkMsTUFBTSxFQUFFO1VBQUVDLEtBQUs7VUFBRUM7UUFBTztNQUMxQixDQUFDLEdBQUdyQixHQUFHO01BRURnQixHQUFHLENBQUNNLElBQUksQ0FBQztRQUNMdEIsR0FBRztRQUNIdUIsQ0FBQyxFQUFFWCxNQUFNLEdBQUdLLE9BQU87UUFDbkJPLENBQUMsRUFBRVgsTUFBTSxHQUFHSyxPQUFPO1FBQ25CRCxPQUFPO1FBQ1BDO01BQ0osQ0FBQyxDQUFDO01BRUZOLE1BQU0sSUFBSVEsS0FBSyxHQUFHSCxPQUFPO01BQ3pCSixNQUFNLElBQUlRLE1BQU0sR0FBR0gsT0FBTztNQUUxQixPQUFPRixHQUFHO0lBQ2QsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUVOLE1BQU07TUFBRW5DLEdBQUc7TUFBRUMsS0FBSztNQUFFQyxNQUFNO01BQUVDO0lBQUssQ0FBQyxHQUFHUCxVQUFVLENBQUNnQixNQUFNLENBQUM7SUFDdkQsTUFBTWdDLGVBQWUsR0FBRzVDLEdBQUcsR0FBR0UsTUFBTTtJQUNwQyxNQUFNMkMsZUFBZSxHQUFHNUMsS0FBSyxHQUFHRSxJQUFJO0lBRXBDLE1BQU0yQyxVQUFVLEdBQUdyQyxTQUFTLEdBQzVCc0MsSUFBSSxDQUFDQyxHQUFHLENBQ04sR0FBR2YsT0FBTyxDQUFDSixHQUFHLENBQ1osQ0FBQztNQUNDVixHQUFHLEVBQUU7UUFDSG1CLE1BQU0sRUFBRTtVQUFFQztRQUFNO01BQ2xCLENBQUM7TUFDREg7SUFDRixDQUFDLEtBQUtHLEtBQUssR0FBR0gsT0FDaEIsQ0FDRixDQUFDLEdBQ0RILE9BQU8sQ0FBQ0MsTUFBTSxDQUNaLENBQ0VDLEdBQUcsRUFDSDtNQUNFaEIsR0FBRyxFQUFFO1FBQ0htQixNQUFNLEVBQUU7VUFBRUM7UUFBTTtNQUNsQixDQUFDO01BQ0RIO0lBQ0YsQ0FBQyxFQUNEYSxLQUFLLEtBQ0ZkLEdBQUcsR0FBR0ksS0FBSyxHQUFHSCxPQUFPLEdBQUd0QyxNQUFNLENBQUNtRCxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUd0QyxNQUFNLEVBQ3ZELENBQ0YsQ0FBQztJQUVELE1BQU11QyxXQUFXLEdBQUd6QyxTQUFTLEdBQzdCd0IsT0FBTyxDQUFDQyxNQUFNLENBQ1osQ0FDRUMsR0FBRyxFQUNIO01BQ0VoQixHQUFHLEVBQUU7UUFDSG1CLE1BQU0sRUFBRTtVQUFFRTtRQUFPO01BQ25CLENBQUM7TUFDREg7SUFDRixDQUFDLEVBQ0RZLEtBQUssS0FDRmQsR0FBRyxHQUFHSyxNQUFNLEdBQUdILE9BQU8sR0FBR3ZDLE1BQU0sQ0FBQ21ELEtBQUssR0FBRyxDQUFDLENBQUMsR0FBR3RDLE1BQU0sRUFDeEQsQ0FDRixDQUFDLEdBQ0RvQyxJQUFJLENBQUNDLEdBQUcsQ0FDTixHQUFHZixPQUFPLENBQUNKLEdBQUcsQ0FDWixDQUFDO01BQ0NWLEdBQUcsRUFBRTtRQUNIbUIsTUFBTSxFQUFFO1VBQUVFO1FBQU87TUFDbkIsQ0FBQztNQUNESDtJQUNGLENBQUMsS0FBS0csTUFBTSxHQUFHSCxPQUNqQixDQUNGLENBQUM7SUFFRCxNQUFNYyxTQUFTLEdBQUcsSUFBSTVCLGFBQUksQ0FDNUJ1QixVQUFVLEdBQUdELGVBQWUsRUFDNUJLLFdBQVcsR0FBR04sZUFBZSxFQUM3QmxDLEtBQ0YsQ0FBQztJQUdHLE1BQU0wQyxjQUFjLEdBQUduQixPQUFPLENBQUNKLEdBQUcsQ0FBQyxDQUFDd0IsSUFBSSxFQUFFSixLQUFLLEtBQUssQ0FBQ0EsS0FBSyxFQUFFSSxJQUFJLENBQUMsQ0FBQztJQUVsRSxLQUFLLE1BQU0sQ0FBQ0osS0FBSyxFQUFFO01BQUU5QixHQUFHO01BQUV1QixDQUFDO01BQUVDLENBQUM7TUFBRVAsT0FBTztNQUFFQztJQUFRLENBQUMsQ0FBQyxJQUFJZSxjQUFjLEVBQUU7TUFDbkUsTUFBTTtRQUNWZCxNQUFNLEVBQUU7VUFBRUMsS0FBSztVQUFFQztRQUFPO01BQzFCLENBQUMsR0FBR3JCLEdBQUc7TUFDRCxNQUFNLENBQUNtQyxFQUFFLEVBQUVDLEVBQUUsQ0FBQyxHQUFHOUMsU0FBUyxHQUM1QixDQUFDakIsVUFBVSxDQUFDc0QsVUFBVSxFQUFFUCxLQUFLLEVBQUU1QyxLQUFLLENBQUMsR0FBR3lDLE9BQU8sRUFBRU8sQ0FBQyxHQUFHTSxLQUFLLEdBQUd0QyxNQUFNLENBQUMsR0FDcEUsQ0FDRStCLENBQUMsR0FBR08sS0FBSyxHQUFHdEMsTUFBTSxFQUNsQm5CLFVBQVUsQ0FBQzBELFdBQVcsRUFBRVYsTUFBTSxFQUFFN0MsS0FBSyxDQUFDLEdBQUcwQyxPQUFPLENBQ25EO01BRUdjLFNBQVMsQ0FBQ0ssU0FBUyxDQUFDckMsR0FBRyxFQUFFbUMsRUFBRSxHQUFHbkQsSUFBSSxFQUFFb0QsRUFBRSxHQUFHdkQsR0FBRyxDQUFDO0lBQ2pEO0lBRUEsT0FBT21ELFNBQVMsQ0FBQ00sY0FBYyxDQUFDbEMsYUFBSSxDQUFDbUMsU0FBUyxDQUFDO0VBRW5ELENBQUMsQ0FBQztBQUNOLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/build/lib/launcher.js
CHANGED
|
@@ -4,21 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
require("source-map-support/register");
|
|
9
|
-
|
|
10
8
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
11
|
-
|
|
12
9
|
var Runners = _interopRequireWildcard(require("../runners"));
|
|
13
|
-
|
|
14
10
|
var _queue = _interopRequireDefault(require("async/queue"));
|
|
15
|
-
|
|
16
|
-
function
|
|
17
|
-
|
|
18
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
-
|
|
20
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
13
|
class Launcher {
|
|
23
14
|
constructor(config, reporter) {
|
|
24
15
|
this._config = config;
|
|
@@ -26,66 +17,49 @@ class Launcher {
|
|
|
26
17
|
this._results = [];
|
|
27
18
|
this._queue = null;
|
|
28
19
|
}
|
|
29
|
-
|
|
30
20
|
async run(capsSet) {
|
|
31
21
|
this._queue = (0, _queue.default)((task, cb) => this._launchTest(task, cb), this._config.parallel || this._config.concurrency || 1);
|
|
32
|
-
|
|
33
22
|
this._queue.error((err, task) => {
|
|
34
23
|
console.log('Error in queue:', err);
|
|
35
24
|
});
|
|
36
|
-
|
|
37
25
|
if (!capsSet) {
|
|
38
26
|
this._queue.push(null);
|
|
39
27
|
} else {
|
|
40
28
|
capsSet = Array.isArray(capsSet) ? capsSet : [capsSet];
|
|
41
|
-
|
|
42
29
|
const _this = this;
|
|
43
|
-
|
|
44
30
|
_lodash.default.each(capsSet, function (caps) {
|
|
45
31
|
_this._queue.push(caps);
|
|
46
32
|
});
|
|
47
33
|
}
|
|
48
|
-
|
|
49
34
|
await this._queue.drain();
|
|
50
35
|
}
|
|
51
|
-
|
|
52
36
|
_instantiateRunner(caps) {
|
|
53
37
|
if (this._config.framework && typeof this._config.framework === 'string') {
|
|
54
38
|
if (Object.prototype.hasOwnProperty.call(Runners, this._config.framework)) {
|
|
55
39
|
return new Runners[this._config.framework]();
|
|
56
40
|
}
|
|
57
|
-
|
|
58
41
|
return null;
|
|
59
42
|
}
|
|
60
|
-
|
|
61
43
|
return new Runners.oxygen();
|
|
62
44
|
}
|
|
63
|
-
|
|
64
45
|
async _launchTest(caps, callback) {
|
|
65
46
|
if (!callback) {
|
|
66
47
|
return;
|
|
67
48
|
}
|
|
68
|
-
|
|
69
49
|
const runner = this._instantiateRunner(caps);
|
|
70
|
-
|
|
71
50
|
if (!runner) {
|
|
72
51
|
const framework = this._config.framework;
|
|
73
52
|
callback(new Error(`Cannot find runner for the specified framework: ${framework}.`));
|
|
74
53
|
return;
|
|
75
54
|
}
|
|
76
|
-
|
|
77
55
|
try {
|
|
78
56
|
await runner.init(this._config, caps, this.reporter);
|
|
79
57
|
const result = await runner.run();
|
|
80
|
-
|
|
81
58
|
this._results.push(result);
|
|
82
|
-
|
|
83
59
|
callback();
|
|
84
60
|
} catch (e) {
|
|
85
61
|
console.error('Failed to launch the test:', e);
|
|
86
|
-
|
|
87
62
|
this._queue.kill();
|
|
88
|
-
|
|
89
63
|
if (e.error) {
|
|
90
64
|
var errMsg = '';
|
|
91
65
|
var err = e.error;
|
|
@@ -97,8 +71,6 @@ class Launcher {
|
|
|
97
71
|
}
|
|
98
72
|
}
|
|
99
73
|
}
|
|
100
|
-
|
|
101
74
|
}
|
|
102
|
-
|
|
103
75
|
exports.default = Launcher;
|
|
104
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbGF1bmNoZXIuanMiXSwibmFtZXMiOlsiTGF1bmNoZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsInJlcG9ydGVyIiwiX2NvbmZpZyIsIl9yZXN1bHRzIiwiX3F1ZXVlIiwicnVuIiwiY2Fwc1NldCIsInRhc2siLCJjYiIsIl9sYXVuY2hUZXN0IiwicGFyYWxsZWwiLCJjb25jdXJyZW5jeSIsImVycm9yIiwiZXJyIiwiY29uc29sZSIsImxvZyIsInB1c2giLCJBcnJheSIsImlzQXJyYXkiLCJfdGhpcyIsIl8iLCJlYWNoIiwiY2FwcyIsImRyYWluIiwiX2luc3RhbnRpYXRlUnVubmVyIiwiZnJhbWV3b3JrIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiUnVubmVycyIsIm94eWdlbiIsImNhbGxiYWNrIiwicnVubmVyIiwiRXJyb3IiLCJpbml0IiwicmVzdWx0IiwiZSIsImtpbGwiLCJlcnJNc2ciLCJ0eXBlIiwibWVzc2FnZSIsInRvU3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFTQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFZSxNQUFNQSxRQUFOLENBQWU7QUFDMUJDLEVBQUFBLFdBQVcsQ0FBQ0MsTUFBRCxFQUFTQyxRQUFULEVBQW1CO0FBQzFCLFNBQUtDLE9BQUwsR0FBZUYsTUFBZjtBQUNBLFNBQUtDLFFBQUwsR0FBZ0JBLFFBQWhCO0FBQ0EsU0FBS0UsUUFBTCxHQUFnQixFQUFoQjtBQUNBLFNBQUtDLE1BQUwsR0FBYyxJQUFkO0FBQ0g7O0FBRVEsUUFBSEMsR0FBRyxDQUFDQyxPQUFELEVBQVU7QUFDZixTQUFLRixNQUFMLEdBQWMsb0JBQU0sQ0FBQ0csSUFBRCxFQUFPQyxFQUFQLEtBQWMsS0FBS0MsV0FBTCxDQUFpQkYsSUFBakIsRUFBdUJDLEVBQXZCLENBQXBCLEVBQWdELEtBQUtOLE9BQUwsQ0FBYVEsUUFBYixJQUF5QixLQUFLUixPQUFMLENBQWFTLFdBQXRDLElB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QUQsQ0FBUjtBQUNILE9BVkQsTUFXSztBQUNEUCxRQUFBQSxRQUFRLENBQUNLLENBQUQsQ0FBUjtBQUNIO0FBQ0o7QUFDSjs7QUFoRnlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgKiBhcyBSdW5uZXJzIGZyb20gJy4uL3J1bm5lcnMnO1xyXG5pbXBvcnQgcXVldWUgZnJvbSAnYXN5bmMvcXVldWUnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGF1bmNoZXIge1xyXG4gICAgY29uc3RydWN0b3IoY29uZmlnLCByZXBvcnRlcikge1xyXG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcclxuICAgICAgICB0aGlzLnJlcG9ydGVyID0gcmVwb3J0ZXI7XHJcbiAgICAgICAgdGhpcy5fcmVzdWx0cyA9IFtdO1xyXG4gICAgICAgIHRoaXMuX3F1ZXVlID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBydW4oY2Fwc1NldCkge1xyXG4gICAgICAgIHRoaXMuX3F1ZXVlID0gcXVldWUoKHRhc2ssIGNiKSA9PiB0aGlzLl9sYXVuY2hUZXN0KHRhc2ssIGNiKSwgdGhpcy5fY29uZmlnLnBhcmFsbGVsIHx8IHRoaXMuX2NvbmZpZy5jb25jdXJyZW5jeSB8fCAxKTtcclxuICAgICAgICB0aGlzLl9xdWV1ZS5lcnJvcigoZXJyLCB0YXNrKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdFcnJvciBpbiBxdWV1ZTonLCBlcnIpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvLyBpZiBubyBjYXBhYmlsaXRpZXMgYXJlIHNwZWNpZmllZCwgcnVuIHNpbmdsZSBpbnN0YW5jZSB3aXRoIGRlZmF1bHQgYXJndW1lbnRzXHJcbiAgICAgICAgaWYgKCFjYXBzU2V0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3F1ZXVlLnB1c2gobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBtYWtlIHN1cmUgY2Fwc1NldCBpcyBhbiBhcnJheSBcclxuICAgICAgICAgICAgY2Fwc1NldCA9IEFycmF5LmlzQXJyYXkoY2Fwc1NldCkgPyBjYXBzU2V0IDogW2NhcHNTZXRdO1xyXG4gICAgICAgICAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgICAgIF8uZWFjaChjYXBzU2V0LCBmdW5jdGlvbihjYXBzKSB7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5fcXVldWUucHVzaChjYXBzKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IHRoaXMuX3F1ZXVlLmRyYWluKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICogUHJpdmF0ZSBtZXRob2RzXHJcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4gICAgX2luc3RhbnRpYXRlUnVubmVyKGNhcHMpIHtcclxuICAgICAgICBpZiAodGhpcy5fY29uZmlnLmZyYW1ld29yayAmJiB0eXBlb2YgdGhpcy5fY29uZmlnLmZyYW1ld29yayA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChSdW5uZXJzLCB0aGlzLl9jb25maWcuZnJhbWV3b3JrKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSdW5uZXJzW3RoaXMuX2NvbmZpZy5mcmFtZXdvcmtdKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXcgUnVubmVycy5veHlnZW4oKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBfbGF1bmNoVGVzdChjYXBzLCBjYWxsYmFjaykge1xyXG4gICAgICAgIGlmICghY2FsbGJhY2spIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBydW5uZXIgPSB0aGlzLl9pbnN0YW50aWF0ZVJ1bm5lcihjYXBzKTtcclxuICAgICAgICBpZiAoIXJ1bm5lcikge1xyXG4gICAgICAgICAgICBjb25zdCBmcmFtZXdvcmsgPSB0aGlzLl9jb25maWcuZnJhbWV3b3JrO1xyXG4gICAgICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoYENhbm5vdCBmaW5kIHJ1bm5lciBmb3IgdGhlIHNwZWNpZmllZCBmcmFtZXdvcms6ICR7ZnJhbWV3b3JrfS5gKSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgLy8gaW5pdGlhbGl6ZSBveHlnZW5cclxuICAgICAgICAgICAgYXdhaXQgcnVubmVyLmluaXQodGhpcy5fY29uZmlnLCBjYXBzLCB0aGlzLnJlcG9ydGVyKTtcclxuICAgICAgICAgICAgLy8gcnVuIE94eWdlbiB0ZXN0IFxyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBydW5uZXIucnVuKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3Jlc3VsdHMucHVzaChyZXN1bHQpO1xyXG4gICAgICAgICAgICBjYWxsYmFjaygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbGF1bmNoIHRoZSB0ZXN0OicsIGUpO1xyXG4gICAgICAgICAgICAvLyBzdG9wIHByb2Nlc3NpbmcgdGhlIHF1ZXVlXHJcbiAgICAgICAgICAgIHRoaXMuX3F1ZXVlLmtpbGwoKTtcclxuICAgICAgICAgICAgLy8gaWYgdGhpcyBpcyBjdXN0b20gZXJyb3IgbWVzc2FnZVxyXG4gICAgICAgICAgICBpZiAoZS5lcnJvcikge1xyXG4gICAgICAgICAgICAgICAgdmFyIGVyck1zZyA9ICcnO1xyXG4gICAgICAgICAgICAgICAgdmFyIGVyciA9IGUuZXJyb3I7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyLnR5cGUpXHJcbiAgICAgICAgICAgICAgICAgICAgZXJyTXNnICs9IGVyci50eXBlICsgJyAtICc7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyLm1lc3NhZ2UpXHJcbiAgICAgICAgICAgICAgICAgICAgZXJyTXNnICs9IGVyci5tZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIGVyck1zZyA9IGVyci50b1N0cmluZygpO1xyXG4gICAgICAgICAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKGVyck1zZykpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY2FsbGJhY2soZSk7ICAgIC8vIGNhbGwgYmFjayB3aXRoIHRoZSBvcmlnaW5hbCBleGNlcHRpb25cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
76
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJSdW5uZXJzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcXVldWUiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJkZWZhdWx0IiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJMYXVuY2hlciIsImNvbnN0cnVjdG9yIiwiY29uZmlnIiwicmVwb3J0ZXIiLCJfY29uZmlnIiwiX3Jlc3VsdHMiLCJydW4iLCJjYXBzU2V0IiwicXVldWUiLCJ0YXNrIiwiY2IiLCJfbGF1bmNoVGVzdCIsInBhcmFsbGVsIiwiY29uY3VycmVuY3kiLCJlcnJvciIsImVyciIsImNvbnNvbGUiLCJsb2ciLCJwdXNoIiwiQXJyYXkiLCJpc0FycmF5IiwiX3RoaXMiLCJfIiwiZWFjaCIsImNhcHMiLCJkcmFpbiIsIl9pbnN0YW50aWF0ZVJ1bm5lciIsImZyYW1ld29yayIsInByb3RvdHlwZSIsIm94eWdlbiIsImNhbGxiYWNrIiwicnVubmVyIiwiRXJyb3IiLCJpbml0IiwicmVzdWx0Iiwia2lsbCIsImVyck1zZyIsInR5cGUiLCJtZXNzYWdlIiwidG9TdHJpbmciLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9sYXVuY2hlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCAqIGFzIFJ1bm5lcnMgZnJvbSAnLi4vcnVubmVycyc7XHJcbmltcG9ydCBxdWV1ZSBmcm9tICdhc3luYy9xdWV1ZSc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMYXVuY2hlciB7XHJcbiAgICBjb25zdHJ1Y3Rvcihjb25maWcsIHJlcG9ydGVyKSB7XHJcbiAgICAgICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xyXG4gICAgICAgIHRoaXMucmVwb3J0ZXIgPSByZXBvcnRlcjtcclxuICAgICAgICB0aGlzLl9yZXN1bHRzID0gW107XHJcbiAgICAgICAgdGhpcy5fcXVldWUgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJ1bihjYXBzU2V0KSB7XHJcbiAgICAgICAgdGhpcy5fcXVldWUgPSBxdWV1ZSgodGFzaywgY2IpID0+IHRoaXMuX2xhdW5jaFRlc3QodGFzaywgY2IpLCB0aGlzLl9jb25maWcucGFyYWxsZWwgfHwgdGhpcy5fY29uZmlnLmNvbmN1cnJlbmN5IHx8IDEpO1xyXG4gICAgICAgIHRoaXMuX3F1ZXVlLmVycm9yKChlcnIsIHRhc2spID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ0Vycm9yIGluIHF1ZXVlOicsIGVycik7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIGlmIG5vIGNhcGFiaWxpdGllcyBhcmUgc3BlY2lmaWVkLCBydW4gc2luZ2xlIGluc3RhbmNlIHdpdGggZGVmYXVsdCBhcmd1bWVudHNcclxuICAgICAgICBpZiAoIWNhcHNTZXQpIHtcclxuICAgICAgICAgICAgdGhpcy5fcXVldWUucHVzaChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSBjYXBzU2V0IGlzIGFuIGFycmF5IFxyXG4gICAgICAgICAgICBjYXBzU2V0ID0gQXJyYXkuaXNBcnJheShjYXBzU2V0KSA/IGNhcHNTZXQgOiBbY2Fwc1NldF07XHJcbiAgICAgICAgICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgICAgICAgICAgXy5lYWNoKGNhcHNTZXQsIGZ1bmN0aW9uKGNhcHMpIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLl9xdWV1ZS5wdXNoKGNhcHMpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYXdhaXQgdGhpcy5fcXVldWUuZHJhaW4oKTtcclxuICAgIH1cclxuXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgKiBQcml2YXRlIG1ldGhvZHNcclxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgICBfaW5zdGFudGlhdGVSdW5uZXIoY2Fwcykge1xyXG4gICAgICAgIGlmICh0aGlzLl9jb25maWcuZnJhbWV3b3JrICYmIHR5cGVvZiB0aGlzLl9jb25maWcuZnJhbWV3b3JrID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFJ1bm5lcnMsIHRoaXMuX2NvbmZpZy5mcmFtZXdvcmspKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFJ1bm5lcnNbdGhpcy5fY29uZmlnLmZyYW1ld29ya10oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyBSdW5uZXJzLm94eWdlbigpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIF9sYXVuY2hUZXN0KGNhcHMsIGNhbGxiYWNrKSB7XHJcbiAgICAgICAgaWYgKCFjYWxsYmFjaykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHJ1bm5lciA9IHRoaXMuX2luc3RhbnRpYXRlUnVubmVyKGNhcHMpO1xyXG4gICAgICAgIGlmICghcnVubmVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZyYW1ld29yayA9IHRoaXMuX2NvbmZpZy5mcmFtZXdvcms7XHJcbiAgICAgICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgcnVubmVyIGZvciB0aGUgc3BlY2lmaWVkIGZyYW1ld29yazogJHtmcmFtZXdvcmt9LmApKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyBpbml0aWFsaXplIG94eWdlblxyXG4gICAgICAgICAgICBhd2FpdCBydW5uZXIuaW5pdCh0aGlzLl9jb25maWcsIGNhcHMsIHRoaXMucmVwb3J0ZXIpO1xyXG4gICAgICAgICAgICAvLyBydW4gT3h5Z2VuIHRlc3QgXHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJ1bm5lci5ydW4oKTtcclxuICAgICAgICAgICAgdGhpcy5fcmVzdWx0cy5wdXNoKHJlc3VsdCk7XHJcbiAgICAgICAgICAgIGNhbGxiYWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsYXVuY2ggdGhlIHRlc3Q6JywgZSk7XHJcbiAgICAgICAgICAgIC8vIHN0b3AgcHJvY2Vzc2luZyB0aGUgcXVldWVcclxuICAgICAgICAgICAgdGhpcy5fcXVldWUua2lsbCgpO1xyXG4gICAgICAgICAgICAvLyBpZiB0aGlzIGlzIGN1c3RvbSBlcnJvciBtZXNzYWdlXHJcbiAgICAgICAgICAgIGlmIChlLmVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgZXJyTXNnID0gJyc7XHJcbiAgICAgICAgICAgICAgICB2YXIgZXJyID0gZS5lcnJvcjtcclxuICAgICAgICAgICAgICAgIGlmIChlcnIudHlwZSlcclxuICAgICAgICAgICAgICAgICAgICBlcnJNc2cgKz0gZXJyLnR5cGUgKyAnIC0gJztcclxuICAgICAgICAgICAgICAgIGlmIChlcnIubWVzc2FnZSlcclxuICAgICAgICAgICAgICAgICAgICBlcnJNc2cgKz0gZXJyLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgZXJyTXNnID0gZXJyLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoZXJyTXNnKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjYWxsYmFjayhlKTsgICAgLy8gY2FsbCBiYWNrIHdpdGggdGhlIG9yaWdpbmFsIGV4Y2VwdGlvblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVNBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUFnQyxTQUFBRSx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUosdUJBQUEsWUFBQUEsQ0FBQUUsQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLFFBQUFDLE9BQUEsRUFBQVYsQ0FBQSxpQkFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFYLENBQUEsVUFBQU0sQ0FBQSxDQUFBTSxHQUFBLENBQUFaLENBQUEsR0FBQU0sQ0FBQSxDQUFBTyxHQUFBLENBQUFiLENBQUEsRUFBQVEsQ0FBQSxnQkFBQVAsQ0FBQSxJQUFBRCxDQUFBLGdCQUFBQyxDQUFBLE9BQUFhLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixDQUFBLEVBQUFDLENBQUEsT0FBQU0sQ0FBQSxJQUFBRCxDQUFBLEdBQUFVLE1BQUEsQ0FBQUMsY0FBQSxLQUFBRCxNQUFBLENBQUFFLHdCQUFBLENBQUFsQixDQUFBLEVBQUFDLENBQUEsT0FBQU0sQ0FBQSxDQUFBSyxHQUFBLElBQUFMLENBQUEsQ0FBQU0sR0FBQSxJQUFBUCxDQUFBLENBQUFFLENBQUEsRUFBQVAsQ0FBQSxFQUFBTSxDQUFBLElBQUFDLENBQUEsQ0FBQVAsQ0FBQSxJQUFBRCxDQUFBLENBQUFDLENBQUEsV0FBQU8sQ0FBQSxLQUFBUixDQUFBLEVBQUFDLENBQUE7QUFBQSxTQUFBTix1QkFBQUssQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxHQUFBTCxDQUFBLEtBQUFVLE9BQUEsRUFBQVYsQ0FBQTtBQUVqQixNQUFNbUIsUUFBUSxDQUFDO0VBQzFCQyxXQUFXQSxDQUFDQyxNQUFNLEVBQUVDLFFBQVEsRUFBRTtJQUMxQixJQUFJLENBQUNDLE9BQU8sR0FBR0YsTUFBTTtJQUNyQixJQUFJLENBQUNDLFFBQVEsR0FBR0EsUUFBUTtJQUN4QixJQUFJLENBQUNFLFFBQVEsR0FBRyxFQUFFO0lBQ2xCLElBQUksQ0FBQ3pCLE1BQU0sR0FBRyxJQUFJO0VBQ3RCO0VBRUEsTUFBTTBCLEdBQUdBLENBQUNDLE9BQU8sRUFBRTtJQUNmLElBQUksQ0FBQzNCLE1BQU0sR0FBRyxJQUFBNEIsY0FBSyxFQUFDLENBQUNDLElBQUksRUFBRUMsRUFBRSxLQUFLLElBQUksQ0FBQ0MsV0FBVyxDQUFDRixJQUFJLEVBQUVDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQ04sT0FBTyxDQUFDUSxRQUFRLElBQUksSUFBSSxDQUFDUixPQUFPLENBQUNTLFdBQVcsSUFBSSxDQUFDLENBQUM7SUFDckgsSUFBSSxDQUFDakMsTUFBTSxDQUFDa0MsS0FBSyxDQUFDLENBQUNDLEdBQUcsRUFBRU4sSUFBSSxLQUFLO01BQzdCTyxPQUFPLENBQUNDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRUYsR0FBRyxDQUFDO0lBQ3ZDLENBQUMsQ0FBQztJQUdGLElBQUksQ0FBQ1IsT0FBTyxFQUFFO01BQ1YsSUFBSSxDQUFDM0IsTUFBTSxDQUFDc0MsSUFBSSxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDLE1BQ0k7TUFFRFgsT0FBTyxHQUFHWSxLQUFLLENBQUNDLE9BQU8sQ0FBQ2IsT0FBTyxDQUFDLEdBQUdBLE9BQU8sR0FBRyxDQUFDQSxPQUFPLENBQUM7TUFDdEQsTUFBTWMsS0FBSyxHQUFHLElBQUk7TUFDbEJDLGVBQUMsQ0FBQ0MsSUFBSSxDQUFDaEIsT0FBTyxFQUFFLFVBQVNpQixJQUFJLEVBQUU7UUFDM0JILEtBQUssQ0FBQ3pDLE1BQU0sQ0FBQ3NDLElBQUksQ0FBQ00sSUFBSSxDQUFDO01BQzNCLENBQUMsQ0FBQztJQUNOO0lBQ0EsTUFBTSxJQUFJLENBQUM1QyxNQUFNLENBQUM2QyxLQUFLLENBQUMsQ0FBQztFQUM3QjtFQUtBQyxrQkFBa0JBLENBQUNGLElBQUksRUFBRTtJQUNyQixJQUFJLElBQUksQ0FBQ3BCLE9BQU8sQ0FBQ3VCLFNBQVMsSUFBSSxPQUFPLElBQUksQ0FBQ3ZCLE9BQU8sQ0FBQ3VCLFNBQVMsS0FBSyxRQUFRLEVBQUU7TUFDdEUsSUFBSTlCLE1BQU0sQ0FBQytCLFNBQVMsQ0FBQ2pDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDbEIsT0FBTyxFQUFFLElBQUksQ0FBQzBCLE9BQU8sQ0FBQ3VCLFNBQVMsQ0FBQyxFQUFFO1FBQ3ZFLE9BQU8sSUFBSWpELE9BQU8sQ0FBQyxJQUFJLENBQUMwQixPQUFPLENBQUN1QixTQUFTLENBQUMsQ0FBQyxDQUFDO01BQ2hEO01BQ0EsT0FBTyxJQUFJO0lBQ2Y7SUFDQSxPQUFPLElBQUlqRCxPQUFPLENBQUNtRCxNQUFNLENBQUMsQ0FBQztFQUMvQjtFQUVBLE1BQU1sQixXQUFXQSxDQUFDYSxJQUFJLEVBQUVNLFFBQVEsRUFBRTtJQUM5QixJQUFJLENBQUNBLFFBQVEsRUFBRTtNQUNYO0lBQ0o7SUFDQSxNQUFNQyxNQUFNLEdBQUcsSUFBSSxDQUFDTCxrQkFBa0IsQ0FBQ0YsSUFBSSxDQUFDO0lBQzVDLElBQUksQ0FBQ08sTUFBTSxFQUFFO01BQ1QsTUFBTUosU0FBUyxHQUFHLElBQUksQ0FBQ3ZCLE9BQU8sQ0FBQ3VCLFNBQVM7TUFDeENHLFFBQVEsQ0FBQyxJQUFJRSxLQUFLLENBQUMsbURBQW1ETCxTQUFTLEdBQUcsQ0FBQyxDQUFDO01BQ3BGO0lBQ0o7SUFDQSxJQUFJO01BRUEsTUFBTUksTUFBTSxDQUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDN0IsT0FBTyxFQUFFb0IsSUFBSSxFQUFFLElBQUksQ0FBQ3JCLFFBQVEsQ0FBQztNQUVwRCxNQUFNK0IsTUFBTSxHQUFHLE1BQU1ILE1BQU0sQ0FBQ3pCLEdBQUcsQ0FBQyxDQUFDO01BQ2pDLElBQUksQ0FBQ0QsUUFBUSxDQUFDYSxJQUFJLENBQUNnQixNQUFNLENBQUM7TUFDMUJKLFFBQVEsQ0FBQyxDQUFDO0lBQ2QsQ0FBQyxDQUNELE9BQU9qRCxDQUFDLEVBQUU7TUFDTm1DLE9BQU8sQ0FBQ0YsS0FBSyxDQUFDLDRCQUE0QixFQUFFakMsQ0FBQyxDQUFDO01BRTlDLElBQUksQ0FBQ0QsTUFBTSxDQUFDdUQsSUFBSSxDQUFDLENBQUM7TUFFbEIsSUFBSXRELENBQUMsQ0FBQ2lDLEtBQUssRUFBRTtRQUNULElBQUlzQixNQUFNLEdBQUcsRUFBRTtRQUNmLElBQUlyQixHQUFHLEdBQUdsQyxDQUFDLENBQUNpQyxLQUFLO1FBQ2pCLElBQUlDLEdBQUcsQ0FBQ3NCLElBQUksRUFDUkQsTUFBTSxJQUFJckIsR0FBRyxDQUFDc0IsSUFBSSxHQUFHLEtBQUs7UUFDOUIsSUFBSXRCLEdBQUcsQ0FBQ3VCLE9BQU8sRUFDWEYsTUFBTSxJQUFJckIsR0FBRyxDQUFDdUIsT0FBTyxDQUFDLEtBRXRCRixNQUFNLEdBQUdyQixHQUFHLENBQUN3QixRQUFRLENBQUMsQ0FBQztRQUMzQlQsUUFBUSxDQUFDLElBQUlFLEtBQUssQ0FBQ0ksTUFBTSxDQUFDLENBQUM7TUFDL0IsQ0FBQyxNQUNJO1FBQ0ROLFFBQVEsQ0FBQ2pELENBQUMsQ0FBQztNQUNmO0lBQ0o7RUFDSjtBQUNKO0FBQUMyRCxPQUFBLENBQUFqRCxPQUFBLEdBQUFTLFFBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = moduleRequire;
|
|
7
|
-
|
|
8
7
|
require("source-map-support/register");
|
|
9
|
-
|
|
10
8
|
var decache = require('decache');
|
|
11
|
-
|
|
12
9
|
function moduleRequire(moduleName) {
|
|
13
10
|
try {
|
|
14
11
|
decache(moduleName);
|
|
@@ -18,4 +15,4 @@ function moduleRequire(moduleName) {
|
|
|
18
15
|
throw e;
|
|
19
16
|
}
|
|
20
17
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWNhY2hlIiwicmVxdWlyZSIsIm1vZHVsZVJlcXVpcmUiLCJtb2R1bGVOYW1lIiwiZSIsImNvbnNvbGUiLCJsb2ciXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL21vZHVsZVJlcXVpcmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGRlY2FjaGUgPSByZXF1aXJlKCdkZWNhY2hlJyk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtb2R1bGVSZXF1aXJlKG1vZHVsZU5hbWUpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgZGVjYWNoZShtb2R1bGVOYW1lKTtcclxuICAgICAgICByZXR1cm4gcmVxdWlyZShtb2R1bGVOYW1lKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnbW9kdWxlUmVxdWlyZSBlJywgZSk7XHJcbiAgICAgICAgdGhyb3cgZTtcclxuICAgIH1cclxufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUlBLE9BQU8sR0FBR0MsT0FBTyxDQUFDLFNBQVMsQ0FBQztBQUVqQixTQUFTQyxhQUFhQSxDQUFDQyxVQUFVLEVBQUU7RUFDOUMsSUFBSTtJQUNBSCxPQUFPLENBQUNHLFVBQVUsQ0FBQztJQUNuQixPQUFPRixPQUFPLENBQUNFLFVBQVUsQ0FBQztFQUM5QixDQUFDLENBQUMsT0FBT0MsQ0FBQyxFQUFFO0lBQ1JDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLGlCQUFpQixFQUFFRixDQUFDLENBQUM7SUFDakMsTUFBTUEsQ0FBQztFQUNYO0FBQ0oiLCJpZ25vcmVMaXN0IjpbXX0=
|