testcafe 3.7.2 → 3.7.4

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.
@@ -9,7 +9,6 @@ const os_family_1 = __importDefault(require("os-family"));
9
9
  const runtime_1 = require("../errors/runtime");
10
10
  const types_1 = require("../errors/types");
11
11
  const testcafe_hammerhead_1 = require("testcafe-hammerhead");
12
- const path_1 = require("path");
13
12
  const PROTOCOL_RE = /^([\w-]+?)(?=:\/\/)/;
14
13
  const SUPPORTED_PROTOCOL_RE = /^(https?|file):/;
15
14
  const IMPLICIT_PROTOCOL_RE = /^\/\//;
@@ -47,7 +46,8 @@ function getUrl(url, base) {
47
46
  }
48
47
  exports.getUrl = getUrl;
49
48
  function prepareBaseUrl(url) {
50
- url = (0, path_1.join)(url, '/');
49
+ if (!url.endsWith('/'))
50
+ url += '/';
51
51
  return isAbsolute(url) ? (0, url_1.pathToFileURL)(url) : new url_1.URL(url);
52
52
  }
53
53
  exports.prepareBaseUrl = prepareBaseUrl;
@@ -73,4 +73,4 @@ function assertRoleUrl(url, callsiteName) {
73
73
  throw new runtime_1.APIError(callsiteName, types_1.RUNTIME_ERRORS.roleInitializedWithRelativeUrl);
74
74
  }
75
75
  exports.assertRoleUrl = assertRoleUrl;
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1wYWdlLXVybC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvdGVzdC1wYWdlLXVybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw2QkFBeUM7QUFDekMsMERBQTJCO0FBQzNCLCtDQUE2QztBQUM3QywyQ0FBaUQ7QUFDakQsNkRBQXlEO0FBQ3pELCtCQUE0QjtBQUU1QixNQUFNLFdBQVcsR0FBYSxxQkFBcUIsQ0FBQztBQUNwRCxNQUFNLHFCQUFxQixHQUFHLGlCQUFpQixDQUFDO0FBQ2hELE1BQU0sb0JBQW9CLEdBQUksT0FBTyxDQUFDO0FBQ3RDLE1BQU0sZ0JBQWdCLEdBQVEsU0FBUyxDQUFDO0FBQ3hDLE1BQU0sb0JBQW9CLEdBQUksV0FBVyxDQUFDO0FBQzFDLE1BQU0sZ0JBQWdCLEdBQVEsYUFBYSxDQUFDO0FBRTVDLFNBQWdCLFVBQVUsQ0FBRSxHQUFXO0lBQ25DLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFGRCxnQ0FFQztBQUVELFNBQVMsVUFBVSxDQUFFLEdBQVc7SUFDNUIsb0VBQW9FO0lBQ3BFLE9BQU8sbUJBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2hGLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBRSxJQUFZLEVBQUUsSUFBUztJQUN2RCxNQUFNLEdBQUcsR0FBRyxJQUFJLFNBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFaEMsT0FBTyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDMUIsQ0FBQztBQUpELGdEQUlDO0FBRUQsU0FBUyxjQUFjLENBQUUsR0FBVztJQUNoQyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssd0NBQWtCO1FBQzdELE9BQU8sR0FBRyxDQUFDO0lBRWYsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUV0RSxPQUFPLFFBQVEsR0FBRyxHQUFHLENBQUM7QUFDMUIsQ0FBQztBQUVELFNBQWdCLE1BQU0sQ0FBRSxHQUFXLEVBQUUsSUFBVTtJQUMzQyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNqQixJQUFJLENBQUMsSUFBSTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUV6RCxPQUFPLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUN4QztJQUVELElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUNmLE9BQU8sSUFBQSxtQkFBYSxFQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBRXpDLE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFaRCx3QkFZQztBQUVELFNBQWdCLGNBQWMsQ0FBRSxHQUFXO0lBQ3ZDLEdBQUcsR0FBRyxJQUFBLFdBQUksRUFBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckIsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsbUJBQWEsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUhELHdDQUdDO0FBRUQsU0FBZ0IsYUFBYSxDQUFFLEdBQVcsRUFBRSxZQUFvQjtJQUM1RCxjQUFjLENBQUMsR0FBRyxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRkQsc0NBRUM7QUFFRCxTQUFTLGNBQWMsQ0FBRSxHQUFXLEVBQUUsWUFBb0IsRUFBRSxJQUFZO0lBQ3BFLE1BQU0sUUFBUSxHQUFpQixHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sc0JBQXNCLEdBQUcsUUFBUSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVFLE1BQU0saUJBQWlCLEdBQVEsbUJBQUUsQ0FBQyxHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXhFLElBQUksc0JBQXNCLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxHQUFHLEtBQUssd0NBQWtCO1FBQzFFLE1BQU0sSUFBSSxrQkFBUSxDQUFDLFlBQVksRUFBRSxzQkFBYyxDQUFDLHNCQUFzQixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFFBQVEsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxSCxDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFFLEdBQVcsRUFBRSxZQUFvQjtJQUM1RCxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDZixNQUFNLElBQUksa0JBQVEsQ0FBQyxZQUFZLEVBQUUsc0JBQWMsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFMUUsY0FBYyxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUxELHNDQUtDO0FBRUQsU0FBZ0IsYUFBYSxDQUFFLEdBQVcsRUFBRSxZQUFvQjtJQUM1RCxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDZixNQUFNLElBQUksa0JBQVEsQ0FBQyxZQUFZLEVBQUUsc0JBQWMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7QUFIRCxzQ0FHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVSTCwgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ3VybCc7XG5pbXBvcnQgT1MgZnJvbSAnb3MtZmFtaWx5JztcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAnLi4vZXJyb3JzL3J1bnRpbWUnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi9lcnJvcnMvdHlwZXMnO1xuaW1wb3J0IHsgU1BFQ0lBTF9CTEFOS19QQUdFIH0gZnJvbSAndGVzdGNhZmUtaGFtbWVyaGVhZCc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5cbmNvbnN0IFBST1RPQ09MX1JFICAgICAgICAgICA9IC9eKFtcXHctXSs/KSg/PTpcXC9cXC8pLztcbmNvbnN0IFNVUFBPUlRFRF9QUk9UT0NPTF9SRSA9IC9eKGh0dHBzP3xmaWxlKTovO1xuY29uc3QgSU1QTElDSVRfUFJPVE9DT0xfUkUgID0gL15cXC9cXC8vO1xuY29uc3QgQUJTT0xVVEVfUEFUSF9SRSAgICAgID0gL15cXC9bXi9dLztcbmNvbnN0IFdJTl9BQlNPTFVURV9QQVRIX1JFICA9IC9eXFx3OlsvXFxcXF0vO1xuY29uc3QgUkVMQVRJVkVfUEFUSF9SRSAgICAgID0gL15cXC5cXC4/Wy9cXFxcXS87XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1JlbGF0aXZlICh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBSRUxBVElWRV9QQVRIX1JFLnRlc3QodXJsKTtcbn1cblxuZnVuY3Rpb24gaXNBYnNvbHV0ZSAodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvLyBOT1RFOiBwYXRoLmlzQWJzb2x1dGUgdHJlYXRzIHRoZSAnLy9leGFtcGxlLmNvbScgcGF0aCBhcyBhYnNvbHV0ZVxuICAgIHJldHVybiBPUy53aW4gPyBXSU5fQUJTT0xVVEVfUEFUSF9SRS50ZXN0KHVybCkgOiBBQlNPTFVURV9QQVRIX1JFLnRlc3QodXJsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVSZWxhdGl2ZVVybCAocGF0aDogc3RyaW5nLCBiYXNlOiBVUkwpOiBzdHJpbmcge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwocGF0aCwgYmFzZSk7XG5cbiAgICByZXR1cm4gdXJsLnRvU3RyaW5nKCk7XG59XG5cbmZ1bmN0aW9uIGVuc3VyZVByb3RvY29sICh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKFNVUFBPUlRFRF9QUk9UT0NPTF9SRS50ZXN0KHVybCkgfHwgdXJsID09PSBTUEVDSUFMX0JMQU5LX1BBR0UpXG4gICAgICAgIHJldHVybiB1cmw7XG5cbiAgICBjb25zdCBwcm90b2NvbCA9IElNUExJQ0lUX1BST1RPQ09MX1JFLnRlc3QodXJsKSA/ICdodHRwOicgOiAnaHR0cDovLyc7XG5cbiAgICByZXR1cm4gcHJvdG9jb2wgKyB1cmw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVcmwgKHVybDogc3RyaW5nLCBiYXNlPzogVVJMKTogc3RyaW5nIHtcbiAgICBpZiAoaXNSZWxhdGl2ZSh1cmwpKSB7XG4gICAgICAgIGlmICghYmFzZSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVsYXRpdmUgdXJscyByZXF1aXJlIGEgYmFzZSBwYXRoJyk7XG5cbiAgICAgICAgcmV0dXJuIHJlc29sdmVSZWxhdGl2ZVVybCh1cmwsIGJhc2UpO1xuICAgIH1cblxuICAgIGlmIChpc0Fic29sdXRlKHVybCkpXG4gICAgICAgIHJldHVybiBwYXRoVG9GaWxlVVJMKHVybCkudG9TdHJpbmcoKTtcblxuICAgIHJldHVybiBlbnN1cmVQcm90b2NvbCh1cmwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZUJhc2VVcmwgKHVybDogc3RyaW5nKTogVVJMIHtcbiAgICB1cmwgPSBqb2luKHVybCwgJy8nKTtcbiAgICByZXR1cm4gaXNBYnNvbHV0ZSh1cmwpID8gcGF0aFRvRmlsZVVSTCh1cmwpIDogbmV3IFVSTCh1cmwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0UGFnZVVybCAodXJsOiBzdHJpbmcsIGNhbGxzaXRlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgYXNzZXJ0UHJvdG9jb2wodXJsLCBjYWxsc2l0ZU5hbWUsICd0ZXN0IHBhZ2UgVVJMJyk7XG59XG5cbmZ1bmN0aW9uIGFzc2VydFByb3RvY29sICh1cmw6IHN0cmluZywgY2FsbHNpdGVOYW1lOiBzdHJpbmcsIHdoYXQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHByb3RvY29sICAgICAgICAgICAgICAgPSB1cmwubWF0Y2goUFJPVE9DT0xfUkUpO1xuICAgIGNvbnN0IGhhc1Vuc3VwcG9ydGVkUHJvdG9jb2wgPSBwcm90b2NvbCAmJiAhU1VQUE9SVEVEX1BST1RPQ09MX1JFLnRlc3QodXJsKTtcbiAgICBjb25zdCBpc1dpbkFic29sdXRlUGF0aCAgICAgID0gT1Mud2luICYmIFdJTl9BQlNPTFVURV9QQVRIX1JFLnRlc3QodXJsKTtcblxuICAgIGlmIChoYXNVbnN1cHBvcnRlZFByb3RvY29sICYmICFpc1dpbkFic29sdXRlUGF0aCAmJiB1cmwgIT09IFNQRUNJQUxfQkxBTktfUEFHRSlcbiAgICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKGNhbGxzaXRlTmFtZSwgUlVOVElNRV9FUlJPUlMudW5zdXBwb3J0ZWRVcmxQcm90b2NvbCwgd2hhdCwgdXJsLCB3aGF0LCBwcm90b2NvbCAmJiBwcm90b2NvbFswXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRCYXNlVXJsICh1cmw6IHN0cmluZywgY2FsbHNpdGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaXNSZWxhdGl2ZSh1cmwpKVxuICAgICAgICB0aHJvdyBuZXcgQVBJRXJyb3IoY2FsbHNpdGVOYW1lLCBSVU5USU1FX0VSUk9SUy5yZWxhdGl2ZUJhc2VVcmwsIHVybCk7XG5cbiAgICBhc3NlcnRQcm90b2NvbCh1cmwsIGNhbGxzaXRlTmFtZSwgJ2Jhc2UgVVJMJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRSb2xlVXJsICh1cmw6IHN0cmluZywgY2FsbHNpdGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaXNSZWxhdGl2ZSh1cmwpKVxuICAgICAgICB0aHJvdyBuZXcgQVBJRXJyb3IoY2FsbHNpdGVOYW1lLCBSVU5USU1FX0VSUk9SUy5yb2xlSW5pdGlhbGl6ZWRXaXRoUmVsYXRpdmVVcmwpO1xufVxuIl19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1wYWdlLXVybC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvdGVzdC1wYWdlLXVybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw2QkFBeUM7QUFDekMsMERBQTJCO0FBQzNCLCtDQUE2QztBQUM3QywyQ0FBaUQ7QUFDakQsNkRBQXlEO0FBRXpELE1BQU0sV0FBVyxHQUFhLHFCQUFxQixDQUFDO0FBQ3BELE1BQU0scUJBQXFCLEdBQUcsaUJBQWlCLENBQUM7QUFDaEQsTUFBTSxvQkFBb0IsR0FBSSxPQUFPLENBQUM7QUFDdEMsTUFBTSxnQkFBZ0IsR0FBUSxTQUFTLENBQUM7QUFDeEMsTUFBTSxvQkFBb0IsR0FBSSxXQUFXLENBQUM7QUFDMUMsTUFBTSxnQkFBZ0IsR0FBUSxhQUFhLENBQUM7QUFFNUMsU0FBZ0IsVUFBVSxDQUFFLEdBQVc7SUFDbkMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUZELGdDQUVDO0FBRUQsU0FBUyxVQUFVLENBQUUsR0FBVztJQUM1QixvRUFBb0U7SUFDcEUsT0FBTyxtQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUVELFNBQWdCLGtCQUFrQixDQUFFLElBQVksRUFBRSxJQUFTO0lBQ3ZELE1BQU0sR0FBRyxHQUFHLElBQUksU0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUVoQyxPQUFPLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBSkQsZ0RBSUM7QUFFRCxTQUFTLGNBQWMsQ0FBRSxHQUFXO0lBQ2hDLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsS0FBSyx3Q0FBa0I7UUFDN0QsT0FBTyxHQUFHLENBQUM7SUFFZixNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRXRFLE9BQU8sUUFBUSxHQUFHLEdBQUcsQ0FBQztBQUMxQixDQUFDO0FBRUQsU0FBZ0IsTUFBTSxDQUFFLEdBQVcsRUFBRSxJQUFVO0lBQzNDLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2pCLElBQUksQ0FBQyxJQUFJO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBRXpELE9BQU8sa0JBQWtCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3hDO0lBRUQsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQ2YsT0FBTyxJQUFBLG1CQUFhLEVBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFFekMsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQVpELHdCQVlDO0FBRUQsU0FBZ0IsY0FBYyxDQUFFLEdBQVc7SUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ2xCLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFFZixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxtQkFBYSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBTEQsd0NBS0M7QUFFRCxTQUFnQixhQUFhLENBQUUsR0FBVyxFQUFFLFlBQW9CO0lBQzVELGNBQWMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFGRCxzQ0FFQztBQUVELFNBQVMsY0FBYyxDQUFFLEdBQVcsRUFBRSxZQUFvQixFQUFFLElBQVk7SUFDcEUsTUFBTSxRQUFRLEdBQWlCLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUUsTUFBTSxpQkFBaUIsR0FBUSxtQkFBRSxDQUFDLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFeEUsSUFBSSxzQkFBc0IsSUFBSSxDQUFDLGlCQUFpQixJQUFJLEdBQUcsS0FBSyx3Q0FBa0I7UUFDMUUsTUFBTSxJQUFJLGtCQUFRLENBQUMsWUFBWSxFQUFFLHNCQUFjLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFILENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUUsR0FBVyxFQUFFLFlBQW9CO0lBQzVELElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUNmLE1BQU0sSUFBSSxrQkFBUSxDQUFDLFlBQVksRUFBRSxzQkFBYyxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUUxRSxjQUFjLENBQUMsR0FBRyxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBTEQsc0NBS0M7QUFFRCxTQUFnQixhQUFhLENBQUUsR0FBVyxFQUFFLFlBQW9CO0lBQzVELElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUNmLE1BQU0sSUFBSSxrQkFBUSxDQUFDLFlBQVksRUFBRSxzQkFBYyxDQUFDLDhCQUE4QixDQUFDLENBQUM7QUFDeEYsQ0FBQztBQUhELHNDQUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVVJMLCBwYXRoVG9GaWxlVVJMIH0gZnJvbSAndXJsJztcbmltcG9ydCBPUyBmcm9tICdvcy1mYW1pbHknO1xuaW1wb3J0IHsgQVBJRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvcnVudGltZSc7XG5pbXBvcnQgeyBSVU5USU1FX0VSUk9SUyB9IGZyb20gJy4uL2Vycm9ycy90eXBlcyc7XG5pbXBvcnQgeyBTUEVDSUFMX0JMQU5LX1BBR0UgfSBmcm9tICd0ZXN0Y2FmZS1oYW1tZXJoZWFkJztcblxuY29uc3QgUFJPVE9DT0xfUkUgICAgICAgICAgID0gL14oW1xcdy1dKz8pKD89OlxcL1xcLykvO1xuY29uc3QgU1VQUE9SVEVEX1BST1RPQ09MX1JFID0gL14oaHR0cHM/fGZpbGUpOi87XG5jb25zdCBJTVBMSUNJVF9QUk9UT0NPTF9SRSAgPSAvXlxcL1xcLy87XG5jb25zdCBBQlNPTFVURV9QQVRIX1JFICAgICAgPSAvXlxcL1teL10vO1xuY29uc3QgV0lOX0FCU09MVVRFX1BBVEhfUkUgID0gL15cXHc6Wy9cXFxcXS87XG5jb25zdCBSRUxBVElWRV9QQVRIX1JFICAgICAgPSAvXlxcLlxcLj9bL1xcXFxdLztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzUmVsYXRpdmUgKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFJFTEFUSVZFX1BBVEhfUkUudGVzdCh1cmwpO1xufVxuXG5mdW5jdGlvbiBpc0Fic29sdXRlICh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIE5PVEU6IHBhdGguaXNBYnNvbHV0ZSB0cmVhdHMgdGhlICcvL2V4YW1wbGUuY29tJyBwYXRoIGFzIGFic29sdXRlXG4gICAgcmV0dXJuIE9TLndpbiA/IFdJTl9BQlNPTFVURV9QQVRIX1JFLnRlc3QodXJsKSA6IEFCU09MVVRFX1BBVEhfUkUudGVzdCh1cmwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVJlbGF0aXZlVXJsIChwYXRoOiBzdHJpbmcsIGJhc2U6IFVSTCk6IHN0cmluZyB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChwYXRoLCBiYXNlKTtcblxuICAgIHJldHVybiB1cmwudG9TdHJpbmcoKTtcbn1cblxuZnVuY3Rpb24gZW5zdXJlUHJvdG9jb2wgKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoU1VQUE9SVEVEX1BST1RPQ09MX1JFLnRlc3QodXJsKSB8fCB1cmwgPT09IFNQRUNJQUxfQkxBTktfUEFHRSlcbiAgICAgICAgcmV0dXJuIHVybDtcblxuICAgIGNvbnN0IHByb3RvY29sID0gSU1QTElDSVRfUFJPVE9DT0xfUkUudGVzdCh1cmwpID8gJ2h0dHA6JyA6ICdodHRwOi8vJztcblxuICAgIHJldHVybiBwcm90b2NvbCArIHVybDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFVybCAodXJsOiBzdHJpbmcsIGJhc2U/OiBVUkwpOiBzdHJpbmcge1xuICAgIGlmIChpc1JlbGF0aXZlKHVybCkpIHtcbiAgICAgICAgaWYgKCFiYXNlKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZWxhdGl2ZSB1cmxzIHJlcXVpcmUgYSBiYXNlIHBhdGgnKTtcblxuICAgICAgICByZXR1cm4gcmVzb2x2ZVJlbGF0aXZlVXJsKHVybCwgYmFzZSk7XG4gICAgfVxuXG4gICAgaWYgKGlzQWJzb2x1dGUodXJsKSlcbiAgICAgICAgcmV0dXJuIHBhdGhUb0ZpbGVVUkwodXJsKS50b1N0cmluZygpO1xuXG4gICAgcmV0dXJuIGVuc3VyZVByb3RvY29sKHVybCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlQmFzZVVybCAodXJsOiBzdHJpbmcpOiBVUkwge1xuICAgIGlmICghdXJsLmVuZHNXaXRoKCcvJykpXG4gICAgICAgIHVybCArPSAnLyc7XG5cbiAgICByZXR1cm4gaXNBYnNvbHV0ZSh1cmwpID8gcGF0aFRvRmlsZVVSTCh1cmwpIDogbmV3IFVSTCh1cmwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0UGFnZVVybCAodXJsOiBzdHJpbmcsIGNhbGxzaXRlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgYXNzZXJ0UHJvdG9jb2wodXJsLCBjYWxsc2l0ZU5hbWUsICd0ZXN0IHBhZ2UgVVJMJyk7XG59XG5cbmZ1bmN0aW9uIGFzc2VydFByb3RvY29sICh1cmw6IHN0cmluZywgY2FsbHNpdGVOYW1lOiBzdHJpbmcsIHdoYXQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHByb3RvY29sICAgICAgICAgICAgICAgPSB1cmwubWF0Y2goUFJPVE9DT0xfUkUpO1xuICAgIGNvbnN0IGhhc1Vuc3VwcG9ydGVkUHJvdG9jb2wgPSBwcm90b2NvbCAmJiAhU1VQUE9SVEVEX1BST1RPQ09MX1JFLnRlc3QodXJsKTtcbiAgICBjb25zdCBpc1dpbkFic29sdXRlUGF0aCAgICAgID0gT1Mud2luICYmIFdJTl9BQlNPTFVURV9QQVRIX1JFLnRlc3QodXJsKTtcblxuICAgIGlmIChoYXNVbnN1cHBvcnRlZFByb3RvY29sICYmICFpc1dpbkFic29sdXRlUGF0aCAmJiB1cmwgIT09IFNQRUNJQUxfQkxBTktfUEFHRSlcbiAgICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKGNhbGxzaXRlTmFtZSwgUlVOVElNRV9FUlJPUlMudW5zdXBwb3J0ZWRVcmxQcm90b2NvbCwgd2hhdCwgdXJsLCB3aGF0LCBwcm90b2NvbCAmJiBwcm90b2NvbFswXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRCYXNlVXJsICh1cmw6IHN0cmluZywgY2FsbHNpdGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaXNSZWxhdGl2ZSh1cmwpKVxuICAgICAgICB0aHJvdyBuZXcgQVBJRXJyb3IoY2FsbHNpdGVOYW1lLCBSVU5USU1FX0VSUk9SUy5yZWxhdGl2ZUJhc2VVcmwsIHVybCk7XG5cbiAgICBhc3NlcnRQcm90b2NvbCh1cmwsIGNhbGxzaXRlTmFtZSwgJ2Jhc2UgVVJMJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRSb2xlVXJsICh1cmw6IHN0cmluZywgY2FsbHNpdGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaXNSZWxhdGl2ZSh1cmwpKVxuICAgICAgICB0aHJvdyBuZXcgQVBJRXJyb3IoY2FsbHNpdGVOYW1lLCBSVU5USU1FX0VSUk9SUy5yb2xlSW5pdGlhbGl6ZWRXaXRoUmVsYXRpdmVVcmwpO1xufVxuIl19
@@ -5,6 +5,7 @@ exports.CONTAINERIZED_CHROME_FLAGS = ['--no-sandbox', '--disable-dev-shm-usage',
5
5
  function buildChromeArgs({ config, cdpPort, platformArgs, tempProfileDir, isContainerized, isNativeAutomation, browserName }) {
6
6
  const headlessMode = ['chrome', 'chromium'].includes(browserName) ? '--headless=new' : '--headless';
7
7
  const defaultArgs = [
8
+ '--disable-features=LocalNetworkAccessChecks',
8
9
  '--disable-search-engine-choice-screen',
9
10
  '--disable-component-extensions-with-background-pages',
10
11
  '--allow-pre-commit-input',
@@ -12,13 +13,10 @@ function buildChromeArgs({ config, cdpPort, platformArgs, tempProfileDir, isCont
12
13
  '--disable-background-timer-throttling',
13
14
  '--disable-backgrounding-occluded-windows',
14
15
  '--disable-breakpad',
15
- '--disable-client-side-phishing-detection',
16
16
  '--disable-default-apps',
17
17
  '--disable-extensions',
18
18
  '--disable-hang-monitor',
19
- '--disable-infobars',
20
19
  '--disable-ipc-flooding-protection',
21
- '--disable-popup-blocking',
22
20
  '--disable-prompt-on-repost',
23
21
  '--disable-renderer-backgrounding',
24
22
  '--disable-sync',
@@ -28,8 +26,6 @@ function buildChromeArgs({ config, cdpPort, platformArgs, tempProfileDir, isCont
28
26
  '--force-color-profile=srgb',
29
27
  '--metrics-recording-only',
30
28
  '--no-first-run',
31
- '--password-store=basic',
32
- '--use-mock-keychain',
33
29
  ];
34
30
  let chromeArgs = []
35
31
  .concat(cdpPort ? [`--remote-debugging-port=${cdpPort}`] : [], !config.userProfile ? [`--user-data-dir=${tempProfileDir.path}`] : [], config.headless ? [headlessMode] : [], config.userArgs ? [config.userArgs] : [],
@@ -45,4 +41,4 @@ function buildChromeArgs({ config, cdpPort, platformArgs, tempProfileDir, isCont
45
41
  return chromeArgs;
46
42
  }
47
43
  exports.buildChromeArgs = buildChromeArgs;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtY2hyb21lLWFyZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9kZWRpY2F0ZWQvY2hyb21lL2J1aWxkLWNocm9tZS1hcmdzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsMEJBQTBCLEdBQUcsQ0FBQyxjQUFjLEVBQUUseUJBQXlCLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFFdkcsU0FBZ0IsZUFBZSxDQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUU7SUFDaEksTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3BHLE1BQU0sV0FBVyxHQUFJO1FBQ2pCLHVDQUF1QztRQUN2QyxzREFBc0Q7UUFDdEQsMEJBQTBCO1FBQzFCLGlDQUFpQztRQUNqQyx1Q0FBdUM7UUFDdkMsMENBQTBDO1FBQzFDLG9CQUFvQjtRQUNwQiwwQ0FBMEM7UUFDMUMsd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLG1DQUFtQztRQUNuQywwQkFBMEI7UUFDMUIsNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQyxnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixpQ0FBaUM7UUFDakMsNEJBQTRCO1FBQzVCLDBCQUEwQjtRQUMxQixnQkFBZ0I7UUFDaEIsd0JBQXdCO1FBQ3hCLHFCQUFxQjtLQUN4QixDQUFDO0lBRUYsSUFBSSxVQUFVLEdBQUcsRUFBRTtTQUNkLE1BQU0sQ0FDSCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDckQsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUNyRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3JDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQ3hDLHlGQUF5RjtJQUN6RixrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3RELFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUNsQyxXQUFXLENBQ2Q7U0FDQSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFZixJQUFJLGVBQWUsRUFBRTtRQUNqQixrQ0FBMEIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUMxQixVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7S0FDTjtJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUM7QUFuREQsMENBbURDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENPTlRBSU5FUklaRURfQ0hST01FX0ZMQUdTID0gWyctLW5vLXNhbmRib3gnLCAnLS1kaXNhYmxlLWRldi1zaG0tdXNhZ2UnLCAnLS1kaXNhYmxlLWdwdSddO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDaHJvbWVBcmdzICh7IGNvbmZpZywgY2RwUG9ydCwgcGxhdGZvcm1BcmdzLCB0ZW1wUHJvZmlsZURpciwgaXNDb250YWluZXJpemVkLCBpc05hdGl2ZUF1dG9tYXRpb24sIGJyb3dzZXJOYW1lIH0pIHtcbiAgICBjb25zdCBoZWFkbGVzc01vZGUgPSBbJ2Nocm9tZScsICdjaHJvbWl1bSddLmluY2x1ZGVzKGJyb3dzZXJOYW1lKSA/ICctLWhlYWRsZXNzPW5ldycgOiAnLS1oZWFkbGVzcyc7XG4gICAgY29uc3QgZGVmYXVsdEFyZ3MgID0gW1xuICAgICAgICAnLS1kaXNhYmxlLXNlYXJjaC1lbmdpbmUtY2hvaWNlLXNjcmVlbicsXG4gICAgICAgICctLWRpc2FibGUtY29tcG9uZW50LWV4dGVuc2lvbnMtd2l0aC1iYWNrZ3JvdW5kLXBhZ2VzJyxcbiAgICAgICAgJy0tYWxsb3ctcHJlLWNvbW1pdC1pbnB1dCcsXG4gICAgICAgICctLWRpc2FibGUtYmFja2dyb3VuZC1uZXR3b3JraW5nJyxcbiAgICAgICAgJy0tZGlzYWJsZS1iYWNrZ3JvdW5kLXRpbWVyLXRocm90dGxpbmcnLFxuICAgICAgICAnLS1kaXNhYmxlLWJhY2tncm91bmRpbmctb2NjbHVkZWQtd2luZG93cycsXG4gICAgICAgICctLWRpc2FibGUtYnJlYWtwYWQnLFxuICAgICAgICAnLS1kaXNhYmxlLWNsaWVudC1zaWRlLXBoaXNoaW5nLWRldGVjdGlvbicsXG4gICAgICAgICctLWRpc2FibGUtZGVmYXVsdC1hcHBzJyxcbiAgICAgICAgJy0tZGlzYWJsZS1leHRlbnNpb25zJyxcbiAgICAgICAgJy0tZGlzYWJsZS1oYW5nLW1vbml0b3InLFxuICAgICAgICAnLS1kaXNhYmxlLWluZm9iYXJzJyxcbiAgICAgICAgJy0tZGlzYWJsZS1pcGMtZmxvb2RpbmctcHJvdGVjdGlvbicsXG4gICAgICAgICctLWRpc2FibGUtcG9wdXAtYmxvY2tpbmcnLFxuICAgICAgICAnLS1kaXNhYmxlLXByb21wdC1vbi1yZXBvc3QnLFxuICAgICAgICAnLS1kaXNhYmxlLXJlbmRlcmVyLWJhY2tncm91bmRpbmcnLFxuICAgICAgICAnLS1kaXNhYmxlLXN5bmMnLFxuICAgICAgICAnLS1lbmFibGUtYXV0b21hdGlvbicsXG4gICAgICAgICctLWV4cG9ydC10YWdnZWQtcGRmJyxcbiAgICAgICAgJy0tZ2VuZXJhdGUtcGRmLWRvY3VtZW50LW91dGxpbmUnLFxuICAgICAgICAnLS1mb3JjZS1jb2xvci1wcm9maWxlPXNyZ2InLFxuICAgICAgICAnLS1tZXRyaWNzLXJlY29yZGluZy1vbmx5JyxcbiAgICAgICAgJy0tbm8tZmlyc3QtcnVuJyxcbiAgICAgICAgJy0tcGFzc3dvcmQtc3RvcmU9YmFzaWMnLFxuICAgICAgICAnLS11c2UtbW9jay1rZXljaGFpbicsXG4gICAgXTtcblxuICAgIGxldCBjaHJvbWVBcmdzID0gW11cbiAgICAgICAgLmNvbmNhdChcbiAgICAgICAgICAgIGNkcFBvcnQgPyBbYC0tcmVtb3RlLWRlYnVnZ2luZy1wb3J0PSR7Y2RwUG9ydH1gXSA6IFtdLFxuICAgICAgICAgICAgIWNvbmZpZy51c2VyUHJvZmlsZSA/IFtgLS11c2VyLWRhdGEtZGlyPSR7dGVtcFByb2ZpbGVEaXIucGF0aH1gXSA6IFtdLFxuICAgICAgICAgICAgY29uZmlnLmhlYWRsZXNzID8gW2hlYWRsZXNzTW9kZV0gOiBbXSxcbiAgICAgICAgICAgIGNvbmZpZy51c2VyQXJncyA/IFtjb25maWcudXNlckFyZ3NdIDogW10sXG4gICAgICAgICAgICAvLyBOT1RFOiB3ZSBuZWVkIHRvIHByZXZlbnQgbmV3IHdpbmRvdyBibG9ja2luZyBmb3IgbXVsdGlwbGUgd2luZG93cyBpbiBOYXRpdmUgQXV0b21hdGlvblxuICAgICAgICAgICAgaXNOYXRpdmVBdXRvbWF0aW9uID8gWyctLWRpc2FibGUtcG9wdXAtYmxvY2tpbmcnXSA6IFtdLFxuICAgICAgICAgICAgcGxhdGZvcm1BcmdzID8gW3BsYXRmb3JtQXJnc10gOiBbXSxcbiAgICAgICAgICAgIGRlZmF1bHRBcmdzXG4gICAgICAgIClcbiAgICAgICAgLmpvaW4oJyAnKTtcblxuICAgIGlmIChpc0NvbnRhaW5lcml6ZWQpIHtcbiAgICAgICAgQ09OVEFJTkVSSVpFRF9DSFJPTUVfRkxBR1MuZm9yRWFjaChmbGFnID0+IHtcbiAgICAgICAgICAgIGlmICghY2hyb21lQXJncy5pbmNsdWRlcyhmbGFnKSlcbiAgICAgICAgICAgICAgICBjaHJvbWVBcmdzID0gY2hyb21lQXJncy5jb25jYXQoJyAnLCBmbGFnKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNocm9tZUFyZ3M7XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtY2hyb21lLWFyZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9kZWRpY2F0ZWQvY2hyb21lL2J1aWxkLWNocm9tZS1hcmdzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsMEJBQTBCLEdBQUcsQ0FBQyxjQUFjLEVBQUUseUJBQXlCLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFFdkcsU0FBZ0IsZUFBZSxDQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUU7SUFDaEksTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3BHLE1BQU0sV0FBVyxHQUFJO1FBQ2pCLDZDQUE2QztRQUM3Qyx1Q0FBdUM7UUFDdkMsc0RBQXNEO1FBQ3RELDBCQUEwQjtRQUMxQixpQ0FBaUM7UUFDakMsdUNBQXVDO1FBQ3ZDLDBDQUEwQztRQUMxQyxvQkFBb0I7UUFDcEIsd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsbUNBQW1DO1FBQ25DLDRCQUE0QjtRQUM1QixrQ0FBa0M7UUFDbEMsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsaUNBQWlDO1FBQ2pDLDRCQUE0QjtRQUM1QiwwQkFBMEI7UUFDMUIsZ0JBQWdCO0tBQ25CLENBQUM7SUFFRixJQUFJLFVBQVUsR0FBRyxFQUFFO1NBQ2QsTUFBTSxDQUNILE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUNyRCxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3JFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDckMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDeEMseUZBQXlGO0lBQ3pGLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDdEQsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ2xDLFdBQVcsQ0FDZDtTQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVmLElBQUksZUFBZSxFQUFFO1FBQ2pCLGtDQUEwQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztLQUNOO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQztBQS9DRCwwQ0ErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ09OVEFJTkVSSVpFRF9DSFJPTUVfRkxBR1MgPSBbJy0tbm8tc2FuZGJveCcsICctLWRpc2FibGUtZGV2LXNobS11c2FnZScsICctLWRpc2FibGUtZ3B1J107XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZENocm9tZUFyZ3MgKHsgY29uZmlnLCBjZHBQb3J0LCBwbGF0Zm9ybUFyZ3MsIHRlbXBQcm9maWxlRGlyLCBpc0NvbnRhaW5lcml6ZWQsIGlzTmF0aXZlQXV0b21hdGlvbiwgYnJvd3Nlck5hbWUgfSkge1xuICAgIGNvbnN0IGhlYWRsZXNzTW9kZSA9IFsnY2hyb21lJywgJ2Nocm9taXVtJ10uaW5jbHVkZXMoYnJvd3Nlck5hbWUpID8gJy0taGVhZGxlc3M9bmV3JyA6ICctLWhlYWRsZXNzJztcbiAgICBjb25zdCBkZWZhdWx0QXJncyAgPSBbXG4gICAgICAgICctLWRpc2FibGUtZmVhdHVyZXM9TG9jYWxOZXR3b3JrQWNjZXNzQ2hlY2tzJyxcbiAgICAgICAgJy0tZGlzYWJsZS1zZWFyY2gtZW5naW5lLWNob2ljZS1zY3JlZW4nLFxuICAgICAgICAnLS1kaXNhYmxlLWNvbXBvbmVudC1leHRlbnNpb25zLXdpdGgtYmFja2dyb3VuZC1wYWdlcycsXG4gICAgICAgICctLWFsbG93LXByZS1jb21taXQtaW5wdXQnLFxuICAgICAgICAnLS1kaXNhYmxlLWJhY2tncm91bmQtbmV0d29ya2luZycsXG4gICAgICAgICctLWRpc2FibGUtYmFja2dyb3VuZC10aW1lci10aHJvdHRsaW5nJyxcbiAgICAgICAgJy0tZGlzYWJsZS1iYWNrZ3JvdW5kaW5nLW9jY2x1ZGVkLXdpbmRvd3MnLFxuICAgICAgICAnLS1kaXNhYmxlLWJyZWFrcGFkJyxcbiAgICAgICAgJy0tZGlzYWJsZS1kZWZhdWx0LWFwcHMnLFxuICAgICAgICAnLS1kaXNhYmxlLWV4dGVuc2lvbnMnLFxuICAgICAgICAnLS1kaXNhYmxlLWhhbmctbW9uaXRvcicsXG4gICAgICAgICctLWRpc2FibGUtaXBjLWZsb29kaW5nLXByb3RlY3Rpb24nLFxuICAgICAgICAnLS1kaXNhYmxlLXByb21wdC1vbi1yZXBvc3QnLFxuICAgICAgICAnLS1kaXNhYmxlLXJlbmRlcmVyLWJhY2tncm91bmRpbmcnLFxuICAgICAgICAnLS1kaXNhYmxlLXN5bmMnLFxuICAgICAgICAnLS1lbmFibGUtYXV0b21hdGlvbicsXG4gICAgICAgICctLWV4cG9ydC10YWdnZWQtcGRmJyxcbiAgICAgICAgJy0tZ2VuZXJhdGUtcGRmLWRvY3VtZW50LW91dGxpbmUnLFxuICAgICAgICAnLS1mb3JjZS1jb2xvci1wcm9maWxlPXNyZ2InLFxuICAgICAgICAnLS1tZXRyaWNzLXJlY29yZGluZy1vbmx5JyxcbiAgICAgICAgJy0tbm8tZmlyc3QtcnVuJyxcbiAgICBdO1xuXG4gICAgbGV0IGNocm9tZUFyZ3MgPSBbXVxuICAgICAgICAuY29uY2F0KFxuICAgICAgICAgICAgY2RwUG9ydCA/IFtgLS1yZW1vdGUtZGVidWdnaW5nLXBvcnQ9JHtjZHBQb3J0fWBdIDogW10sXG4gICAgICAgICAgICAhY29uZmlnLnVzZXJQcm9maWxlID8gW2AtLXVzZXItZGF0YS1kaXI9JHt0ZW1wUHJvZmlsZURpci5wYXRofWBdIDogW10sXG4gICAgICAgICAgICBjb25maWcuaGVhZGxlc3MgPyBbaGVhZGxlc3NNb2RlXSA6IFtdLFxuICAgICAgICAgICAgY29uZmlnLnVzZXJBcmdzID8gW2NvbmZpZy51c2VyQXJnc10gOiBbXSxcbiAgICAgICAgICAgIC8vIE5PVEU6IHdlIG5lZWQgdG8gcHJldmVudCBuZXcgd2luZG93IGJsb2NraW5nIGZvciBtdWx0aXBsZSB3aW5kb3dzIGluIE5hdGl2ZSBBdXRvbWF0aW9uXG4gICAgICAgICAgICBpc05hdGl2ZUF1dG9tYXRpb24gPyBbJy0tZGlzYWJsZS1wb3B1cC1ibG9ja2luZyddIDogW10sXG4gICAgICAgICAgICBwbGF0Zm9ybUFyZ3MgPyBbcGxhdGZvcm1BcmdzXSA6IFtdLFxuICAgICAgICAgICAgZGVmYXVsdEFyZ3NcbiAgICAgICAgKVxuICAgICAgICAuam9pbignICcpO1xuXG4gICAgaWYgKGlzQ29udGFpbmVyaXplZCkge1xuICAgICAgICBDT05UQUlORVJJWkVEX0NIUk9NRV9GTEFHUy5mb3JFYWNoKGZsYWcgPT4ge1xuICAgICAgICAgICAgaWYgKCFjaHJvbWVBcmdzLmluY2x1ZGVzKGZsYWcpKVxuICAgICAgICAgICAgICAgIGNocm9tZUFyZ3MgPSBjaHJvbWVBcmdzLmNvbmNhdCgnICcsIGZsYWcpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2hyb21lQXJncztcbn1cbiJdfQ==
@@ -15,7 +15,7 @@ const ANONYMOUS_FN_RE = /^function\s*\*?\s*\(/;
15
15
  const ES6_OBJ_METHOD_NAME_RE = /^(\S+?)\s*\(/;
16
16
  const USE_STRICT_RE = /^('|")use strict('|");?/;
17
17
  const TRAILING_SEMICOLON_RE = /;\s*$/;
18
- const REGENERATOR_FOOTPRINTS_RE = /(_index\d+\.default|_regenerator\d+\.default|regeneratorRuntime)(\(\))?\.wrap\(function func\$\(_context\)/;
18
+ const REGENERATOR_FOOTPRINTS_RE = /(_index\d+\.default|_regenerator\d+\.default|regeneratorRuntime|regenerator)(\(\))?\.(wrap|w)\(function (func\$|)\(_context\)/;
19
19
  const ASYNC_TO_GENERATOR_OUTPUT_CODE = (0, format_babel_produced_code_1.default)((0, asyncToGenerator_1.default)(lodash_1.noop).toString());
20
20
  const CLIENT_FUNCTION_BODY_WRAPPER = code => `const func = (${code});`;
21
21
  const CLIENT_FUNCTION_WRAPPER = ({ code, dependencies }) => `(function(){${dependencies} ${code} return func;})();`;
@@ -81,4 +81,4 @@ function compileClientFunction(fnCode, dependencies, instantiationCallsiteName,
81
81
  }
82
82
  exports.default = compileClientFunction;
83
83
  module.exports = exports.default;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZS1jbGllbnQtZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcGlsZXIvY29tcGlsZS1jbGllbnQtZnVuY3Rpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4RUFBNkM7QUFDN0MsK0ZBQXVFO0FBQ3ZFLG1DQUE4QjtBQUM5QixrRUFBOEM7QUFDOUMsK0NBQTJEO0FBQzNELDJDQUFpRDtBQUNqRCxvR0FBeUU7QUFDekUsNEZBQWdFO0FBRWhFLE1BQU0sZUFBZSxHQUFrQixzQkFBc0IsQ0FBQztBQUM5RCxNQUFNLHNCQUFzQixHQUFXLGNBQWMsQ0FBQztBQUN0RCxNQUFNLGFBQWEsR0FBb0IseUJBQXlCLENBQUM7QUFDakUsTUFBTSxxQkFBcUIsR0FBWSxPQUFPLENBQUM7QUFDL0MsTUFBTSx5QkFBeUIsR0FBUSw0R0FBNEcsQ0FBQztBQUNwSixNQUFNLDhCQUE4QixHQUFHLElBQUEsb0NBQXVCLEVBQUMsSUFBQSwwQkFBZ0IsRUFBQyxhQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBRWxHLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUM7QUFDdkUsTUFBTSx1QkFBdUIsR0FBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxlQUFlLFlBQVksSUFBSSxJQUFJLG9CQUFvQixDQUFDO0FBRXpILElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0FBRTlCLFNBQVMsZUFBZTtJQUNwQixNQUFNLEVBQUUsMEJBQTBCLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxJQUFBLG1CQUFhLEdBQUUsQ0FBQztJQUU5RSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGdDQUFrQixFQUFFO1FBQ3pDLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMscUJBQXFCLENB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QUFHLFlBQVksQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUUzRixPQUFPLHVCQUF1QixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0FBQzNGLENBQUM7QUF2QkQsd0NBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGhhbW1lcmhlYWQgZnJvbSAndGVzdGNhZmUtaGFtbWVyaGVhZCc7XG5pbXBvcnQgYXN5bmNUb0dlbmVyYXRvciBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2FzeW5jVG9HZW5lcmF0b3InO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbG9hZEJhYmVsTGlicyBmcm9tICcuL2JhYmVsL2xvYWQtbGlicyc7XG5pbXBvcnQgeyBDbGllbnRGdW5jdGlvbkFQSUVycm9yIH0gZnJvbSAnLi4vZXJyb3JzL3J1bnRpbWUnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi9lcnJvcnMvdHlwZXMnO1xuaW1wb3J0IGZvcm1hdEJhYmVsUHJvZHVjZWRDb2RlIGZyb20gJy4vYmFiZWwvZm9ybWF0LWJhYmVsLXByb2R1Y2VkLWNvZGUnO1xuaW1wb3J0IEJBU0VfQkFCRUxfT1BUSU9OUyBmcm9tICcuL2JhYmVsL2dldC1iYXNlLWJhYmVsLW9wdGlvbnMnO1xuXG5jb25zdCBBTk9OWU1PVVNfRk5fUkUgICAgICAgICAgICAgICAgPSAvXmZ1bmN0aW9uXFxzKlxcKj9cXHMqXFwoLztcbmNvbnN0IEVTNl9PQkpfTUVUSE9EX05BTUVfUkUgICAgICAgICA9IC9eKFxcUys/KVxccypcXCgvO1xuY29uc3QgVVNFX1NUUklDVF9SRSAgICAgICAgICAgICAgICAgID0gL14oJ3xcIil1c2Ugc3RyaWN0KCd8XCIpOz8vO1xuY29uc3QgVFJBSUxJTkdfU0VNSUNPTE9OX1JFICAgICAgICAgID0gLztcXHMqJC87XG5jb25zdCBSRUdFTkVSQVRPUl9GT09UUFJJTlRTX1JFICAgICAgPSAvKF9pbmRleFxcZCtcXC5kZWZhdWx0fF9yZWdlbmVyYXRvclxcZCtcXC5kZWZhdWx0fHJlZ2VuZXJhdG9yUnVudGltZSkoXFwoXFwpKT9cXC53cmFwXFwoZnVuY3Rpb24gZnVuY1xcJFxcKF9jb250ZXh0XFwpLztcbmNvbnN0IEFTWU5DX1RPX0dFTkVSQVRPUl9PVVRQVVRfQ09ERSA9IGZvcm1hdEJhYmVsUHJvZHVjZWRDb2RlKGFzeW5jVG9HZW5lcmF0b3Iobm9vcCkudG9TdHJpbmcoKSk7XG5cbmNvbnN0IENMSUVOVF9GVU5DVElPTl9CT0RZX1dSQVBQRVIgPSBjb2RlID0+IGBjb25zdCBmdW5jID0gKCR7Y29kZX0pO2A7XG5jb25zdCBDTElFTlRfRlVOQ1RJT05fV1JBUFBFUiAgICAgID0gKHsgY29kZSwgZGVwZW5kZW5jaWVzIH0pID0+IGAoZnVuY3Rpb24oKXske2RlcGVuZGVuY2llc30gJHtjb2RlfSByZXR1cm4gZnVuYzt9KSgpO2A7XG5cbmxldCBsb2FkZWRCYWJlbE9wdGlvbnMgPSBudWxsO1xuXG5mdW5jdGlvbiBnZXRCYWJlbE9wdGlvbnMgKCkge1xuICAgIGNvbnN0IHsgcHJlc2V0RW52Rm9yQ2xpZW50RnVuY3Rpb24sIHRyYW5zZm9ybUZvck9mQXNBcnJheSB9ID0gbG9hZEJhYmVsTGlicygpO1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIEJBU0VfQkFCRUxfT1BUSU9OUywge1xuICAgICAgICBwcmVzZXRzOiBbeyBwbHVnaW5zOiBbdHJhbnNmb3JtRm9yT2ZBc0FycmF5XSB9LCBwcmVzZXRFbnZGb3JDbGllbnRGdW5jdGlvbl0sXG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGVuc3VyZUxvYWRlZEJhYmVsT3B0aW9ucyAoKSB7XG4gICAgaWYgKCFsb2FkZWRCYWJlbE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBiYWJlbCB9ID0gbG9hZEJhYmVsTGlicygpO1xuICAgICAgICBjb25zdCBvcHRzICAgICAgPSBnZXRCYWJlbE9wdGlvbnMoKTtcblxuICAgICAgICBsb2FkZWRCYWJlbE9wdGlvbnMgPSBiYWJlbC5sb2FkT3B0aW9ucyhvcHRzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbG9hZGVkQmFiZWxPcHRpb25zO1xufVxuXG5mdW5jdGlvbiBkb3duZ3JhZGVFUyAoZm5Db2RlKSB7XG4gICAgY29uc3QgeyBiYWJlbCB9ID0gbG9hZEJhYmVsTGlicygpO1xuICAgIGNvbnN0IG9wdHMgICAgICA9IGVuc3VyZUxvYWRlZEJhYmVsT3B0aW9ucygpO1xuICAgIGNvbnN0IGNvbXBpbGVkICA9IGJhYmVsLnRyYW5zZm9ybShmbkNvZGUsIG9wdHMpO1xuXG4gICAgcmV0dXJuIGNvbXBpbGVkLmNvZGVcbiAgICAgICAgLnJlcGxhY2UoVVNFX1NUUklDVF9SRSwgJycpXG4gICAgICAgIC50cmltKCk7XG59XG5cbmZ1bmN0aW9uIGdldERlcGVuZGVuY2llc0RlZmluaXRpb24gKGRlcGVuZGVuY2llcykge1xuICAgIHJldHVybiBPYmplY3RcbiAgICAgICAgLmtleXMoZGVwZW5kZW5jaWVzKVxuICAgICAgICAucmVkdWNlKChjb2RlLCBuYW1lKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gY29kZSArIGB2YXIgJHtuYW1lfT1fX2RlcGVuZGVuY2llcyRbJyR7bmFtZX0nXTtgO1xuICAgICAgICB9LCAnJyk7XG59XG5cbmZ1bmN0aW9uIG1ha2VGbkNvZGVTdWl0YWJsZUZvclBhcnNpbmcgKGZuQ29kZSkge1xuICAgIC8vIE5PVEU6ICdmdW5jdGlvbigpIHt9JyAtPiAnKGZ1bmN0aW9uKCkge30pJ1xuICAgIGlmIChBTk9OWU1PVVNfRk5fUkUudGVzdChmbkNvZGUpKVxuICAgICAgICByZXR1cm4gYCgke2ZuQ29kZX0pYDtcblxuICAgIC8vIE5PVEU6ICdteUZuICgpIHt9JyAtPiAnZnVuY3Rpb24gbXlGbigpIHt9J1xuICAgIGNvbnN0IG1hdGNoID0gZm5Db2RlLm1hdGNoKEVTNl9PQkpfTUVUSE9EX05BTUVfUkUpO1xuXG4gICAgaWYgKG1hdGNoICYmIG1hdGNoWzFdICE9PSAnZnVuY3Rpb24nKVxuICAgICAgICByZXR1cm4gYGZ1bmN0aW9uICR7Zm5Db2RlfWA7XG5cbiAgICByZXR1cm4gZm5Db2RlO1xufVxuXG5mdW5jdGlvbiBjb250YWluc0FzeW5jVG9HZW5lcmF0b3JPdXRwdXRDb2RlIChjb2RlKSB7XG4gICAgY29uc3QgZm9ybWF0dGVkQ29kZSA9IGZvcm1hdEJhYmVsUHJvZHVjZWRDb2RlKGNvZGUpO1xuXG4gICAgcmV0dXJuIGZvcm1hdHRlZENvZGUuaW5jbHVkZXMoQVNZTkNfVE9fR0VORVJBVE9SX09VVFBVVF9DT0RFKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29tcGlsZUNsaWVudEZ1bmN0aW9uIChmbkNvZGUsIGRlcGVuZGVuY2llcywgaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZSwgY29tcGlsYXRpb25DYWxsc2l0ZU5hbWUpIHtcbiAgICBpZiAoY29udGFpbnNBc3luY1RvR2VuZXJhdG9yT3V0cHV0Q29kZShmbkNvZGUpKVxuICAgICAgICB0aHJvdyBuZXcgQ2xpZW50RnVuY3Rpb25BUElFcnJvcihjb21waWxhdGlvbkNhbGxzaXRlTmFtZSwgaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZSwgUlVOVElNRV9FUlJPUlMucmVnZW5lcmF0b3JJbkNsaWVudEZ1bmN0aW9uQ29kZSk7XG5cbiAgICBmbkNvZGUgPSBtYWtlRm5Db2RlU3VpdGFibGVGb3JQYXJzaW5nKGZuQ29kZSk7XG5cblxuICAgIGZuQ29kZSA9IENMSUVOVF9GVU5DVElPTl9CT0RZX1dSQVBQRVIoZm5Db2RlKTtcblxuICAgIC8vIE5PVEU6IHdlIG5lZWQgdG8gcmVjb21waWxlIEVTNiBjb2RlIGZvciB0aGUgYnJvd3NlciBpZiB3ZSBhcmUgb24gbmV3ZXIgdmVyc2lvbnMgb2YgTm9kZS5cbiAgICBmbkNvZGUgPSBkb3duZ3JhZGVFUyhmbkNvZGUpO1xuICAgIGZuQ29kZSA9IGhhbW1lcmhlYWQucHJvY2Vzc1NjcmlwdChmbkNvZGUsIGZhbHNlKTtcblxuICAgIC8vIE5PVEU6IGNoZWNrIGNvbXBpbGVkIGNvZGUgZm9yIHJlZ2VuZXJhdG9yIGluamVjdGlvblxuICAgIGlmIChSRUdFTkVSQVRPUl9GT09UUFJJTlRTX1JFLnRlc3QoZm5Db2RlKSlcbiAgICAgICAgdGhyb3cgbmV3IENsaWVudEZ1bmN0aW9uQVBJRXJyb3IoY29tcGlsYXRpb25DYWxsc2l0ZU5hbWUsIGluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWUsIFJVTlRJTUVfRVJST1JTLnJlZ2VuZXJhdG9ySW5DbGllbnRGdW5jdGlvbkNvZGUpO1xuXG4gICAgaWYgKCFUUkFJTElOR19TRU1JQ09MT05fUkUudGVzdChmbkNvZGUpKVxuICAgICAgICBmbkNvZGUgKz0gJzsnO1xuXG4gICAgY29uc3QgZGVwZW5kZW5jaWVzRGVmaW5pdGlvbiA9IGRlcGVuZGVuY2llcyA/IGdldERlcGVuZGVuY2llc0RlZmluaXRpb24oZGVwZW5kZW5jaWVzKSA6ICcnO1xuXG4gICAgcmV0dXJuIENMSUVOVF9GVU5DVElPTl9XUkFQUEVSKHsgY29kZTogZm5Db2RlLCBkZXBlbmRlbmNpZXM6IGRlcGVuZGVuY2llc0RlZmluaXRpb24gfSk7XG59XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZS1jbGllbnQtZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcGlsZXIvY29tcGlsZS1jbGllbnQtZnVuY3Rpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4RUFBNkM7QUFDN0MsK0ZBQXVFO0FBQ3ZFLG1DQUE4QjtBQUM5QixrRUFBOEM7QUFDOUMsK0NBQTJEO0FBQzNELDJDQUFpRDtBQUNqRCxvR0FBeUU7QUFDekUsNEZBQWdFO0FBRWhFLE1BQU0sZUFBZSxHQUFrQixzQkFBc0IsQ0FBQztBQUM5RCxNQUFNLHNCQUFzQixHQUFXLGNBQWMsQ0FBQztBQUN0RCxNQUFNLGFBQWEsR0FBb0IseUJBQXlCLENBQUM7QUFDakUsTUFBTSxxQkFBcUIsR0FBWSxPQUFPLENBQUM7QUFDL0MsTUFBTSx5QkFBeUIsR0FBUSwrSEFBK0gsQ0FBQztBQUN2SyxNQUFNLDhCQUE4QixHQUFHLElBQUEsb0NBQXVCLEVBQUMsSUFBQSwwQkFBZ0IsRUFBQyxhQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBRWxHLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUM7QUFDdkUsTUFBTSx1QkFBdUIsR0FBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxlQUFlLFlBQVksSUFBSSxJQUFJLG9CQUFvQixDQUFDO0FBRXpILElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0FBRTlCLFNBQVMsZUFBZTtJQUNwQixNQUFNLEVBQUUsMEJBQTBCLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxJQUFBLG1CQUFhLEdBQUUsQ0FBQztJQUU5RSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGdDQUFrQixFQUFFO1FBQ3pDLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMscUJBQXFCLENB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QUFHLFlBQVksQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUUzRixPQUFPLHVCQUF1QixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0FBQzNGLENBQUM7QUF2QkQsd0NBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGhhbW1lcmhlYWQgZnJvbSAndGVzdGNhZmUtaGFtbWVyaGVhZCc7XG5pbXBvcnQgYXN5bmNUb0dlbmVyYXRvciBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2FzeW5jVG9HZW5lcmF0b3InO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbG9hZEJhYmVsTGlicyBmcm9tICcuL2JhYmVsL2xvYWQtbGlicyc7XG5pbXBvcnQgeyBDbGllbnRGdW5jdGlvbkFQSUVycm9yIH0gZnJvbSAnLi4vZXJyb3JzL3J1bnRpbWUnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi9lcnJvcnMvdHlwZXMnO1xuaW1wb3J0IGZvcm1hdEJhYmVsUHJvZHVjZWRDb2RlIGZyb20gJy4vYmFiZWwvZm9ybWF0LWJhYmVsLXByb2R1Y2VkLWNvZGUnO1xuaW1wb3J0IEJBU0VfQkFCRUxfT1BUSU9OUyBmcm9tICcuL2JhYmVsL2dldC1iYXNlLWJhYmVsLW9wdGlvbnMnO1xuXG5jb25zdCBBTk9OWU1PVVNfRk5fUkUgICAgICAgICAgICAgICAgPSAvXmZ1bmN0aW9uXFxzKlxcKj9cXHMqXFwoLztcbmNvbnN0IEVTNl9PQkpfTUVUSE9EX05BTUVfUkUgICAgICAgICA9IC9eKFxcUys/KVxccypcXCgvO1xuY29uc3QgVVNFX1NUUklDVF9SRSAgICAgICAgICAgICAgICAgID0gL14oJ3xcIil1c2Ugc3RyaWN0KCd8XCIpOz8vO1xuY29uc3QgVFJBSUxJTkdfU0VNSUNPTE9OX1JFICAgICAgICAgID0gLztcXHMqJC87XG5jb25zdCBSRUdFTkVSQVRPUl9GT09UUFJJTlRTX1JFICAgICAgPSAvKF9pbmRleFxcZCtcXC5kZWZhdWx0fF9yZWdlbmVyYXRvclxcZCtcXC5kZWZhdWx0fHJlZ2VuZXJhdG9yUnVudGltZXxyZWdlbmVyYXRvcikoXFwoXFwpKT9cXC4od3JhcHx3KVxcKGZ1bmN0aW9uIChmdW5jXFwkfClcXChfY29udGV4dFxcKS87XG5jb25zdCBBU1lOQ19UT19HRU5FUkFUT1JfT1VUUFVUX0NPREUgPSBmb3JtYXRCYWJlbFByb2R1Y2VkQ29kZShhc3luY1RvR2VuZXJhdG9yKG5vb3ApLnRvU3RyaW5nKCkpO1xuXG5jb25zdCBDTElFTlRfRlVOQ1RJT05fQk9EWV9XUkFQUEVSID0gY29kZSA9PiBgY29uc3QgZnVuYyA9ICgke2NvZGV9KTtgO1xuY29uc3QgQ0xJRU5UX0ZVTkNUSU9OX1dSQVBQRVIgICAgICA9ICh7IGNvZGUsIGRlcGVuZGVuY2llcyB9KSA9PiBgKGZ1bmN0aW9uKCl7JHtkZXBlbmRlbmNpZXN9ICR7Y29kZX0gcmV0dXJuIGZ1bmM7fSkoKTtgO1xuXG5sZXQgbG9hZGVkQmFiZWxPcHRpb25zID0gbnVsbDtcblxuZnVuY3Rpb24gZ2V0QmFiZWxPcHRpb25zICgpIHtcbiAgICBjb25zdCB7IHByZXNldEVudkZvckNsaWVudEZ1bmN0aW9uLCB0cmFuc2Zvcm1Gb3JPZkFzQXJyYXkgfSA9IGxvYWRCYWJlbExpYnMoKTtcblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBCQVNFX0JBQkVMX09QVElPTlMsIHtcbiAgICAgICAgcHJlc2V0czogW3sgcGx1Z2luczogW3RyYW5zZm9ybUZvck9mQXNBcnJheV0gfSwgcHJlc2V0RW52Rm9yQ2xpZW50RnVuY3Rpb25dLFxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBlbnN1cmVMb2FkZWRCYWJlbE9wdGlvbnMgKCkge1xuICAgIGlmICghbG9hZGVkQmFiZWxPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgYmFiZWwgfSA9IGxvYWRCYWJlbExpYnMoKTtcbiAgICAgICAgY29uc3Qgb3B0cyAgICAgID0gZ2V0QmFiZWxPcHRpb25zKCk7XG5cbiAgICAgICAgbG9hZGVkQmFiZWxPcHRpb25zID0gYmFiZWwubG9hZE9wdGlvbnMob3B0cyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxvYWRlZEJhYmVsT3B0aW9ucztcbn1cblxuZnVuY3Rpb24gZG93bmdyYWRlRVMgKGZuQ29kZSkge1xuICAgIGNvbnN0IHsgYmFiZWwgfSA9IGxvYWRCYWJlbExpYnMoKTtcbiAgICBjb25zdCBvcHRzICAgICAgPSBlbnN1cmVMb2FkZWRCYWJlbE9wdGlvbnMoKTtcbiAgICBjb25zdCBjb21waWxlZCAgPSBiYWJlbC50cmFuc2Zvcm0oZm5Db2RlLCBvcHRzKTtcblxuICAgIHJldHVybiBjb21waWxlZC5jb2RlXG4gICAgICAgIC5yZXBsYWNlKFVTRV9TVFJJQ1RfUkUsICcnKVxuICAgICAgICAudHJpbSgpO1xufVxuXG5mdW5jdGlvbiBnZXREZXBlbmRlbmNpZXNEZWZpbml0aW9uIChkZXBlbmRlbmNpZXMpIHtcbiAgICByZXR1cm4gT2JqZWN0XG4gICAgICAgIC5rZXlzKGRlcGVuZGVuY2llcylcbiAgICAgICAgLnJlZHVjZSgoY29kZSwgbmFtZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGNvZGUgKyBgdmFyICR7bmFtZX09X19kZXBlbmRlbmNpZXMkWycke25hbWV9J107YDtcbiAgICAgICAgfSwgJycpO1xufVxuXG5mdW5jdGlvbiBtYWtlRm5Db2RlU3VpdGFibGVGb3JQYXJzaW5nIChmbkNvZGUpIHtcbiAgICAvLyBOT1RFOiAnZnVuY3Rpb24oKSB7fScgLT4gJyhmdW5jdGlvbigpIHt9KSdcbiAgICBpZiAoQU5PTllNT1VTX0ZOX1JFLnRlc3QoZm5Db2RlKSlcbiAgICAgICAgcmV0dXJuIGAoJHtmbkNvZGV9KWA7XG5cbiAgICAvLyBOT1RFOiAnbXlGbiAoKSB7fScgLT4gJ2Z1bmN0aW9uIG15Rm4oKSB7fSdcbiAgICBjb25zdCBtYXRjaCA9IGZuQ29kZS5tYXRjaChFUzZfT0JKX01FVEhPRF9OQU1FX1JFKTtcblxuICAgIGlmIChtYXRjaCAmJiBtYXRjaFsxXSAhPT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgcmV0dXJuIGBmdW5jdGlvbiAke2ZuQ29kZX1gO1xuXG4gICAgcmV0dXJuIGZuQ29kZTtcbn1cblxuZnVuY3Rpb24gY29udGFpbnNBc3luY1RvR2VuZXJhdG9yT3V0cHV0Q29kZSAoY29kZSkge1xuICAgIGNvbnN0IGZvcm1hdHRlZENvZGUgPSBmb3JtYXRCYWJlbFByb2R1Y2VkQ29kZShjb2RlKTtcblxuICAgIHJldHVybiBmb3JtYXR0ZWRDb2RlLmluY2x1ZGVzKEFTWU5DX1RPX0dFTkVSQVRPUl9PVVRQVVRfQ09ERSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbXBpbGVDbGllbnRGdW5jdGlvbiAoZm5Db2RlLCBkZXBlbmRlbmNpZXMsIGluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWUsIGNvbXBpbGF0aW9uQ2FsbHNpdGVOYW1lKSB7XG4gICAgaWYgKGNvbnRhaW5zQXN5bmNUb0dlbmVyYXRvck91dHB1dENvZGUoZm5Db2RlKSlcbiAgICAgICAgdGhyb3cgbmV3IENsaWVudEZ1bmN0aW9uQVBJRXJyb3IoY29tcGlsYXRpb25DYWxsc2l0ZU5hbWUsIGluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWUsIFJVTlRJTUVfRVJST1JTLnJlZ2VuZXJhdG9ySW5DbGllbnRGdW5jdGlvbkNvZGUpO1xuXG4gICAgZm5Db2RlID0gbWFrZUZuQ29kZVN1aXRhYmxlRm9yUGFyc2luZyhmbkNvZGUpO1xuXG5cbiAgICBmbkNvZGUgPSBDTElFTlRfRlVOQ1RJT05fQk9EWV9XUkFQUEVSKGZuQ29kZSk7XG5cbiAgICAvLyBOT1RFOiB3ZSBuZWVkIHRvIHJlY29tcGlsZSBFUzYgY29kZSBmb3IgdGhlIGJyb3dzZXIgaWYgd2UgYXJlIG9uIG5ld2VyIHZlcnNpb25zIG9mIE5vZGUuXG4gICAgZm5Db2RlID0gZG93bmdyYWRlRVMoZm5Db2RlKTtcbiAgICBmbkNvZGUgPSBoYW1tZXJoZWFkLnByb2Nlc3NTY3JpcHQoZm5Db2RlLCBmYWxzZSk7XG5cbiAgICAvLyBOT1RFOiBjaGVjayBjb21waWxlZCBjb2RlIGZvciByZWdlbmVyYXRvciBpbmplY3Rpb25cbiAgICBpZiAoUkVHRU5FUkFUT1JfRk9PVFBSSU5UU19SRS50ZXN0KGZuQ29kZSkpXG4gICAgICAgIHRocm93IG5ldyBDbGllbnRGdW5jdGlvbkFQSUVycm9yKGNvbXBpbGF0aW9uQ2FsbHNpdGVOYW1lLCBpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lLCBSVU5USU1FX0VSUk9SUy5yZWdlbmVyYXRvckluQ2xpZW50RnVuY3Rpb25Db2RlKTtcblxuICAgIGlmICghVFJBSUxJTkdfU0VNSUNPTE9OX1JFLnRlc3QoZm5Db2RlKSlcbiAgICAgICAgZm5Db2RlICs9ICc7JztcblxuICAgIGNvbnN0IGRlcGVuZGVuY2llc0RlZmluaXRpb24gPSBkZXBlbmRlbmNpZXMgPyBnZXREZXBlbmRlbmNpZXNEZWZpbml0aW9uKGRlcGVuZGVuY2llcykgOiAnJztcblxuICAgIHJldHVybiBDTElFTlRfRlVOQ1RJT05fV1JBUFBFUih7IGNvZGU6IGZuQ29kZSwgZGVwZW5kZW5jaWVzOiBkZXBlbmRlbmNpZXNEZWZpbml0aW9uIH0pO1xufVxuIl19
@@ -6,7 +6,7 @@ const utils_1 = require("./utils");
6
6
  const string_1 = require("../../utils/string");
7
7
  const EXTERNAL_LINKS = {
8
8
  createNewIssue: 'https://github.com/DevExpress/testcafe/issues/new?template=bug-report.md',
9
- troubleshootNetwork: 'https://go.devexpress.com/TestCafe_FAQ_ARequestHasFailed.aspx',
9
+ troubleshootNetwork: 'https://testcafe.io/documentation/403937/faq/working-with-testcafe#my-tests-fail-because-testcafe-cannot-resolve-a-network-request-what-are-the-possible-reasons',
10
10
  viewportSizes: 'https://github.com/DevExpress/device-specs/blob/master/viewport-sizes.json',
11
11
  skipJsErrorsRecipes: 'https://testcafe.io/documentation/404038/recipes/debugging/skip-javascript-errors',
12
12
  };
@@ -365,4 +365,4 @@ exports.default = {
365
365
  `,
366
366
  };
367
367
  module.exports = exports.default;
368
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy90ZXN0LXJ1bi90ZW1wbGF0ZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBOEM7QUFDOUMsb0NBQTJDO0FBQzNDLG1DQU9pQjtBQUNqQiwrQ0FBaUU7QUFHakUsTUFBTSxjQUFjLEdBQUc7SUFDbkIsY0FBYyxFQUFPLDBFQUEwRTtJQUMvRixtQkFBbUIsRUFBRSwrREFBK0Q7SUFDcEYsYUFBYSxFQUFRLDRFQUE0RTtJQUNqRyxtQkFBbUIsRUFBRSxtRkFBbUY7Q0FDM0csQ0FBQztBQUVGLGtCQUFlO0lBQ1gsQ0FBQyx1QkFBZSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztlQUN4QyxHQUFHLENBQUMsVUFBVSxxREFBcUQsR0FBRyxDQUFDLFdBQVc7S0FDNUY7SUFFRCxDQUFDLHVCQUFlLENBQUMsZ0NBQWdDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2VBQ2hELEdBQUcsQ0FBQyxVQUFVLDZEQUE2RCxHQUFHLENBQUMsV0FBVztLQUNwRztJQUVELENBQUMsdUJBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7ZUFDeEMsR0FBRyxDQUFDLFVBQVUsMERBQTBELEdBQUcsQ0FBQyxXQUFXO0tBQ2pHO0lBRUQsQ0FBQyx1QkFBZSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztlQUN0QyxHQUFHLENBQUMsVUFBVSxzRUFBc0UsR0FBRyxDQUFDLFdBQVc7S0FDN0c7SUFFRCxDQUFDLHVCQUFlLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztxQ0FDUCxJQUFBLGlCQUFTLEVBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQzs7cUVBRWMsSUFBQSxpQkFBUyxFQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQzs7O1VBR3hH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Qzs0QkFDMUIsR0FBRyxDQUFDLFVBQVUsaURBQWlELEdBQUcsQ0FBQyxXQUFXLFdBQVcsR0FBRyxDQUFDLFVBQVU7S0FDOUg7SUFFRCxDQUFDLHVCQUFlLENBQUMsc0JBQXNCLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2VBQ3RDLEdBQUcsQ0FBQyxZQUFZLCtEQUErRCxHQUFHLENBQUMsV0FBVztLQUN4RztJQUVELENBQUMsdUJBQWUsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0VBQ00sR0FBRyxDQUFDLFlBQVksOENBQThDLEdBQUcsQ0FBQyxXQUFXLFdBQVcsR0FBRyxDQUFDLFlBQVk7S0FDdks7SUFFRCxDQUFDLHVCQUFlLENBQUMseUJBQXlCLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDOzRCQUM1QixHQUFHLENBQUMsVUFBVSxpREFBaUQsR0FBRyxDQUFDLFdBQVcsV0FBVyxHQUFHLENBQUMsVUFBVTtLQUM5SDtJQUVELENBQUMsdUJBQWUsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7ZUFDaEQsR0FBRyxDQUFDLFVBQVUsa0NBQWtDLEdBQUcsQ0FBQyxZQUFZOztlQUVoRSxHQUFHLENBQUMsVUFBVTtVQUNuQixJQUFBLG9DQUEyQixFQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUM7S0FDaEU7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXNjYXBlIGFzIGVzY2FwZUh0bWwgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgVEVTVF9SVU5fRVJST1JTIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgICByZW5kZXJGb3JiaWRkZW5DaGFyc0xpc3QsXG4gICAgcmVuZGVyRGlmZixcbiAgICBmb3JtYXRTZWxlY3RvckNhbGxzdGFjayxcbiAgICBmb3JtYXRVcmwsXG4gICAgcmVwbGFjZUxlYWRpbmdTcGFjZXNXaXRoTmJzcCxcbiAgICBmb3JtYXRFeHByZXNzaW9uTWVzc2FnZSxcbn0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBnZXRDb25jYXRlbmF0ZWRWYWx1ZXNTdHJpbmcgfSBmcm9tICcuLi8uLi91dGlscy9zdHJpbmcnO1xuXG5cbmNvbnN0IEVYVEVSTkFMX0xJTktTID0ge1xuICAgIGNyZWF0ZU5ld0lzc3VlOiAgICAgICdodHRwczovL2dpdGh1Yi5jb20vRGV2RXhwcmVzcy90ZXN0Y2FmZS9pc3N1ZXMvbmV3P3RlbXBsYXRlPWJ1Zy1yZXBvcnQubWQnLFxuICAgIHRyb3VibGVzaG9vdE5ldHdvcms6ICdodHRwczovL2dvLmRldmV4cHJlc3MuY29tL1Rlc3RDYWZlX0ZBUV9BUmVxdWVzdEhhc0ZhaWxlZC5hc3B4JyxcbiAgICB2aWV3cG9ydFNpemVzOiAgICAgICAnaHR0cHM6Ly9naXRodWIuY29tL0RldkV4cHJlc3MvZGV2aWNlLXNwZWNzL2Jsb2IvbWFzdGVyL3ZpZXdwb3J0LXNpemVzLmpzb24nLFxuICAgIHNraXBKc0Vycm9yc1JlY2lwZXM6ICdodHRwczovL3Rlc3RjYWZlLmlvL2RvY3VtZW50YXRpb24vNDA0MDM4L3JlY2lwZXMvZGVidWdnaW5nL3NraXAtamF2YXNjcmlwdC1lcnJvcnMnLFxufTtcblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uSW50ZWdlck9wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgYW4gaW50ZWdlciwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uUG9zaXRpdmVJbnRlZ2VyT3B0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBpcyBleHBlY3RlZCB0byBiZSBhIHBvc2l0aXZlIGludGVnZXIsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkJvb2xlYW5PcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGEgYm9vbGVhbiB2YWx1ZSwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uU3BlZWRPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGEgbnVtYmVyIGJldHdlZW4gMC4wMSBhbmQgMSwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMucGFnZUxvYWRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIEZhaWxlZCB0byBsb2FkIHRoZSBwYWdlIGF0ICR7Zm9ybWF0VXJsKGVyci51cmwpfS5cbiAgICAgICAgSW5jcmVhc2UgdGhlIHZhbHVlIG9mIHRoZSBcInBhZ2VSZXF1ZXN0VGltZW91dFwiIHZhcmlhYmxlLCBlbmFibGUgdGhlIFwicmV0cnlUZXN0UGFnZXNcIiBvcHRpb24sIG9yIHVzZSBxdWFyYW50aW5lIG1vZGUgdG8gcGVyZm9ybSBhZGRpdGlvbmFsIGF0dGVtcHRzIHRvIGV4ZWN1dGUgdGhpcyB0ZXN0LlxuICAgICAgICBZb3UgY2FuIGZpbmQgdHJvdWJsZXNob290aW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGlzc3VlIGF0ICR7Zm9ybWF0VXJsKEVYVEVSTkFMX0xJTktTLnRyb3VibGVzaG9vdE5ldHdvcmspfS5cblxuICAgICAgICBFcnJvciBkZXRhaWxzOlxuICAgICAgICAke2Vyci5lcnJNc2d9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvck9uUGFnZV06IGVyciA9PiBgXG4gICAgICAgIEEgSmF2YVNjcmlwdCBlcnJvciBvY2N1cnJlZCBvbiAke2Zvcm1hdFVybChlcnIucGFnZURlc3RVcmwpfS5cbiAgICAgICAgUmVwZWF0IHRlc3QgYWN0aW9ucyBpbiB0aGUgYnJvd3NlciBhbmQgY2hlY2sgdGhlIGNvbnNvbGUgZm9yIGVycm9ycy5cbiAgICAgICAgRW5hYmxlIHRoZSDigJxza2lwSnNFcnJvcnPigJ0gb3B0aW9uIHRvIGlnbm9yZSBKYXZhU2NyaXB0IGVycm9ycyBkdXJpbmcgdGVzdCBleGVjdXRpb24uIExlYXJuIG1vcmU6ICR7Zm9ybWF0VXJsKEVYVEVSTkFMX0xJTktTLnNraXBKc0Vycm9yc1JlY2lwZXMpfVxuICAgICAgICBJZiB0aGUgd2Vic2l0ZSBvbmx5IHRocm93cyB0aGlzIGVycm9yIHdoZW4geW91IHRlc3QgaXQgd2l0aCBUZXN0Q2FmZSwgcGxlYXNlIGNyZWF0ZSBhIG5ldyBpc3N1ZSBhdDpcbiAgICAgICAgJHtmb3JtYXRVcmwoRVhURVJOQUxfTElOS1MuY3JlYXRlTmV3SXNzdWUpfS5cblxuICAgICAgICBKYXZhU2NyaXB0IGVycm9yIGRldGFpbHM6XG4gICAgICAgICR7cmVwbGFjZUxlYWRpbmdTcGFjZXNXaXRoTmJzcChlc2NhcGVIdG1sKGVyci5lcnJTdGFjaykpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJblRlc3RDb2RlXTogZXJyID0+IGBcbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLm5hdGl2ZURpYWxvZ05vdEhhbmRsZWRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIEEgbmF0aXZlICR7ZXJyLmRpYWxvZ1R5cGV9IGRpYWxvZyB3YXMgaW52b2tlZCBvbiBwYWdlICR7Zm9ybWF0VXJsKGVyci5wYWdlVXJsKX0sIGJ1dCBubyBoYW5kbGVyIHdhcyBzZXQgZm9yIGl0LiBVc2UgdGhlIFwic2V0TmF0aXZlRGlhbG9nSGFuZGxlclwiIGZ1bmN0aW9uIHRvIGludHJvZHVjZSBhIGhhbmRsZXIgZnVuY3Rpb24gZm9yIG5hdGl2ZSBkaWFsb2dzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJbk5hdGl2ZURpYWxvZ0hhbmRsZXJdOiBlcnIgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCBpbiB0aGUgbmF0aXZlIGRpYWxvZyBoYW5kbGVyIGNhbGxlZCBmb3IgYSBuYXRpdmUgJHtlcnIuZGlhbG9nVHlwZX0gZGlhbG9nIG9uIHBhZ2UgJHtmb3JtYXRVcmwoZXJyLnBhZ2VVcmwpfTpcblxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuc2V0VGVzdFNwZWVkQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFNwZWVkIGlzIGV4cGVjdGVkIHRvIGJlIGEgbnVtYmVyIGJldHdlZW4gMC4wMSBhbmQgMSwgYnV0ICR7ZXJyLmFjdHVhbFZhbHVlfSB3YXMgcGFzc2VkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnNldE5hdGl2ZURpYWxvZ0hhbmRsZXJDb2RlV3JvbmdUeXBlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgbmF0aXZlIGRpYWxvZyBoYW5kbGVyIGlzIGV4cGVjdGVkIHRvIGJlIGEgZnVuY3Rpb24sIENsaWVudEZ1bmN0aW9uIG9yIG51bGwsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVHlwZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluQ2xpZW50RnVuY3Rpb25Db2RlXTogZXJyID0+IGBcbiAgICAgICAgQW4gZXJyb3Igb2NjdXJyZWQgaW4gJHtlcnIuaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZX0gY29kZTpcblxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluQ3VzdG9tRE9NUHJvcGVydHlDb2RlXTogZXJyID0+IGBcbiAgICAgICAgQW4gZXJyb3Igb2NjdXJyZWQgd2hlbiB0cnlpbmcgdG8gY2FsY3VsYXRlIGEgY3VzdG9tIFNlbGVjdG9yIHByb3BlcnR5IFwiJHtlcnIucHJvcGVydHl9XCI6XG5cbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNsaWVudEZ1bmN0aW9uRXhlY3V0aW9uSW50ZXJydXB0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICAke2Vyci5pbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBleGVjdXRpb24gd2FzIGludGVycnVwdGVkIGJ5IHBhZ2UgdW5sb2FkLiBUaGlzIHByb2JsZW0gbWF5IGFwcGVhciBpZiB5b3UgdHJpZ2dlciBwYWdlIG5hdmlnYXRpb24gZnJvbSAke2Vyci5pbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBjb2RlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0Tm9uRXJyb3JPYmplY3RJblRlc3RDb2RlXTogZXJyID0+IGBcbiAgICAgICAgVW5jYXVnaHQgJHtlcnIub2JqVHlwZX0gXCIke2VzY2FwZUh0bWwoZXJyLm9ialN0cil9XCIgd2FzIHRocm93bi4gVGhyb3cgRXJyb3IgaW5zdGVhZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy51bmhhbmRsZWRQcm9taXNlUmVqZWN0aW9uXTogZXJyID0+IGBcbiAgICAgICAgVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uOlxuXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy51bmNhdWdodEV4Y2VwdGlvbl06IGVyciA9PiBgXG4gICAgICAgIFVuY2F1Z2h0IGV4Y2VwdGlvbjpcblxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uT3B0aW9uc1R5cGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIEFjdGlvbiBvcHRpb25zIGlzIGV4cGVjdGVkIHRvIGJlIGFuIG9iamVjdCwgbnVsbCBvciB1bmRlZmluZWQgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxUeXBlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TdHJpbmdBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGEgbm9uLWVtcHR5IHN0cmluZywgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uQm9vbGVhbkFyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBib29sZWFuIHZhbHVlLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25OdWxsYWJsZVN0cmluZ0FyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBudWxsIG9yIGEgc3RyaW5nLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TdHJpbmdPclN0cmluZ0FycmF5QXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhIG5vbi1lbXB0eSBzdHJpbmcgb3IgYSBzdHJpbmcgYXJyYXksIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ0FycmF5RWxlbWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgRWxlbWVudHMgb2YgdGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGFyZSBleHBlY3RlZCB0byBiZSBub24tZW1wdHkgc3RyaW5ncywgYnV0IHRoZSBlbGVtZW50IGF0IGluZGV4ICR7ZXJyLmVsZW1lbnRJbmRleH0gd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25SZXF1aXJlZENvb2tpZUFyZ3VtZW50c106ICgpID0+IGBcbiAgICAgICAgVGhlIG1hbmRhdG9yeSBcImNvb2tpZXNcIiBhcmd1bWVudCBpcyBtaXNzaW5nLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkNvb2tpZUFyZ3VtZW50RXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCJjb29raWVzXCIgYXJndW1lbnQgZG9lcyBub3QgYmVsb25nIHRvIGFuIGFjY2VwdGFibGUgZGF0YSB0eXBlOiBPYmplY3QsIFN0cmluZywgb3IgQXJyYXkgb2Ygb2JqZWN0cyBvciBzdHJpbmdzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkNvb2tpZUFyZ3VtZW50c0Vycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIGNvb2tpZSBudW1iZXIgJHtlcnIuaW5kZXggKyAxfSAoJHtlcnIuYWN0dWFsVmFsdWV9KSBkb2VzIG5vdCBiZWxvbmcgdG8gYW4gYWNjZXB0YWJsZSBkYXRhIHR5cGU6IE9iamVjdCBvciBTdHJpbmcuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uVXJsQ29va2llQXJndW1lbnRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ291bGQgbm90IHBhcnNlIHRoZSB1cmwgcGFyYW1ldGVyLiBDaGVjayB0aGUgdmFsdWUgZm9yIGZvcm1hdHRpbmcgZXJyb3JzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybHNDb29raWVBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgQ291bGQgbm90IHBhcnNlIHVybCBudW1iZXIgJHtlcnIuaW5kZXggKyAxfSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gQ2hlY2sgdGhlIHZhbHVlIGZvciBmb3JtYXR0aW5nIGVycm9ycy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25JbnRlZ2VyQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhbiBpbnRlZ2VyLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25Sb2xlQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhIFJvbGUgaW5zdGFuY2UsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkZ1bmN0aW9uQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhIGZ1bmN0aW9uLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25Qb3NpdGl2ZUludGVnZXJBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGEgcG9zaXRpdmUgaW50ZWdlciwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uRWxlbWVudE5vdEZvdW5kRXJyb3JdOiAoZXJyLCB2aWV3cG9ydFdpZHRoKSA9PiBgXG4gICAgICAgIFRoZSBzcGVjaWZpZWQgc2VsZWN0b3IgZG9lcyBub3QgbWF0Y2ggYW55IGVsZW1lbnQgaW4gdGhlIERPTSB0cmVlLlxuXG4gICAgICAgICR7Zm9ybWF0U2VsZWN0b3JDYWxsc3RhY2soZXJyLmFwaUZuQ2hhaW4sIGVyci5hcGlGbkluZGV4LCB2aWV3cG9ydFdpZHRoKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50SXNJbnZpc2libGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIucmVhc29uKSB8fCAnVGhlIGVsZW1lbnQgdGhhdCBtYXRjaGVzIHRoZSBzcGVjaWZpZWQgc2VsZWN0b3IgaXMgbm90IHZpc2libGUuJ31cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50SXNOb3RUYXJnZXRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGVsZW1lbnQgdGhhdCBtYXRjaGVzIHRoZSBzcGVjaWZpZWQgc2VsZWN0b3IgaXMgY292ZXJlZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TZWxlY3Rvck1hdGNoZXNXcm9uZ05vZGVUeXBlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgc3BlY2lmaWVkIHNlbGVjdG9yIGlzIGV4cGVjdGVkIHRvIG1hdGNoIGEgRE9NIGVsZW1lbnQsIGJ1dCBpdCBtYXRjaGVzIGEgJHtlcnIubm9kZURlc2NyaXB0aW9ufSBub2RlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkFkZGl0aW9uYWxFbGVtZW50Tm90Rm91bmRFcnJvcl06IChlcnIsIHZpZXdwb3J0V2lkdGgpID0+IGBcbiAgICAgICAgVGhlIHNwZWNpZmllZCBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBkb2VzIG5vdCBtYXRjaCBhbnkgZWxlbWVudCBpbiB0aGUgRE9NIHRyZWUuXG5cbiAgICAgICAgJHtmb3JtYXRTZWxlY3RvckNhbGxzdGFjayhlcnIuYXBpRm5DaGFpbiwgZXJyLmFwaUZuSW5kZXgsIHZpZXdwb3J0V2lkdGgpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkFkZGl0aW9uYWxFbGVtZW50SXNJbnZpc2libGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIucmVhc29uKSB8fCBgVGhlIGVsZW1lbnQgdGhhdCBtYXRjaGVzIHRoZSBzcGVjaWZpZWQgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgaXMgbm90IHZpc2libGUuYH1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25BZGRpdGlvbmFsU2VsZWN0b3JNYXRjaGVzV3JvbmdOb2RlVHlwZUVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHNwZWNpZmllZCBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBpcyBleHBlY3RlZCB0byBtYXRjaCBhIERPTSBlbGVtZW50LCBidXQgaXQgbWF0Y2hlcyBhICR7ZXJyLm5vZGVEZXNjcmlwdGlvbn0gbm9kZS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50Tm9uRWRpdGFibGVFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGFjdGlvbiBlbGVtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGVkaXRhYmxlIChhbiBpbnB1dCwgdGV4dGFyZWEgb3IgZWxlbWVudCB3aXRoIHRoZSBjb250ZW50RWRpdGFibGUgYXR0cmlidXRlKS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50Tm9uQ29udGVudEVkaXRhYmxlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgZWxlbWVudCB0aGF0IG1hdGNoZXMgdGhlIHNwZWNpZmllZCBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBpcyBleHBlY3RlZCB0byBoYXZlIHRoZSBjb250ZW50RWRpdGFibGUgYXR0cmlidXRlIGVuYWJsZWQgb3IgdGhlIGVudGlyZSBkb2N1bWVudCBzaG91bGQgYmUgaW4gZGVzaWduIG1vZGUuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uUm9vdENvbnRhaW5lck5vdEZvdW5kRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIENvbnRlbnQgYmV0d2VlbiB0aGUgYWN0aW9uIGVsZW1lbnRzIGNhbm5vdCBiZSBzZWxlY3RlZCBiZWNhdXNlIHRoZSByb290IGNvbnRhaW5lciBmb3IgdGhlIHNlbGVjdGlvbiByYW5nZSBjYW5ub3QgYmUgZm91bmQsIGkuZS4gdGhlc2UgZWxlbWVudHMgZG8gbm90IGhhdmUgYSBjb21tb24gYW5jZXN0b3Igd2l0aCB0aGUgY29udGVudEVkaXRhYmxlIGF0dHJpYnV0ZS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50SXNOb3RGaWxlSW5wdXRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIHNwZWNpZmllZCBzZWxlY3RvciBkb2VzIG5vdCBtYXRjaCBhIGZpbGUgaW5wdXQgZWxlbWVudC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25DYW5ub3RGaW5kRmlsZVRvVXBsb2FkRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBDYW5ub3QgZmluZCB0aGUgZm9sbG93aW5nIGZpbGUocykgdG8gdXBsb2FkOlxuICAgICAgICAke2Vyci5maWxlUGF0aHMubWFwKHBhdGggPT4gZXNjYXBlSHRtbChwYXRoKSkuam9pbignXFxuJyl9XG5cbiAgICAgICAgVGhlIGZvbGxvd2luZyBsb2NhdGlvbnMgd2VyZSBzY2FubmVkIGZvciB0aGUgbWlzc2luZyB1cGxvYWQgZmlsZXM6XG4gICAgICAgICR7ZXJyLnNjYW5uZWRGaWxlUGF0aHMubWFwKHBhdGggPT4gZXNjYXBlSHRtbChwYXRoKSkuam9pbignXFxuJyl9XG5cbiAgICAgICAgRW5zdXJlIHRoZXNlIGZpbGVzIGV4aXN0IG9yIGNoYW5nZSB0aGUgd29ya2luZyBkaXJlY3RvcnkuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uRWxlbWVudE5vdFRleHRBcmVhRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFRoZSBhY3Rpb24gZWxlbWVudCBpcyBleHBlY3RlZCB0byBiZSBhICZsdDt0ZXh0YXJlYSZndDsuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uRWxlbWVudE5vdElmcmFtZUVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgYWN0aW9uIGVsZW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgYW4gJmx0O2lmcmFtZSZndC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25JbmNvcnJlY3RLZXlzRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgY29udGFpbnMgYW4gaW5jb3JyZWN0IGtleSBvciBrZXkgY29tYmluYXRpb24uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uVW5zdXBwb3J0ZWREZXZpY2VUeXBlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgc3BlY2lmaWVzIGFuIHVuc3VwcG9ydGVkIFwiJHtlcnIuYWN0dWFsVmFsdWV9XCIgZGV2aWNlLiBGb3IgYSBsaXN0IG9mIHN1cHBvcnRlZCBkZXZpY2VzLCByZWZlciB0byAke2Zvcm1hdFVybChFWFRFUk5BTF9MSU5LUy52aWV3cG9ydFNpemVzKX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uSW52YWxpZFNjcm9sbFRhcmdldEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVW5hYmxlIHRvIHNjcm9sbCB0byB0aGUgc3BlY2lmaWVkIHBvaW50IGJlY2F1c2UgYSBwb2ludCB3aXRoIHRoZSBzcGVjaWZpZWQgJHtlcnIucHJvcGVydGllc30gaXMgbm90IGxvY2F0ZWQgaW5zaWRlIHRoZSBlbGVtZW50J3MgY3JvcHBpbmcgcmVnaW9uLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbklmcmFtZUlzTm90TG9hZGVkRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIENvbnRlbnQgb2YgdGhlIGlmcmFtZSB0byB3aGljaCB5b3UgYXJlIHN3aXRjaGluZyBkaWQgbm90IGxvYWQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY3VycmVudElmcmFtZUlzTm90TG9hZGVkRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIENvbnRlbnQgb2YgdGhlIGlmcmFtZSBpbiB3aGljaCB0aGUgdGVzdCBpcyBjdXJyZW50bHkgb3BlcmF0aW5nIGRpZCBub3QgbG9hZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jdXJyZW50SWZyYW1lTm90Rm91bmRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGlmcmFtZSBpbiB3aGljaCB0aGUgdGVzdCBpcyBjdXJyZW50bHkgb3BlcmF0aW5nIGRvZXMgbm90IGV4aXN0IGFueW1vcmUuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY3VycmVudElmcmFtZUlzSW52aXNpYmxlRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFRoZSBpZnJhbWUgaW4gd2hpY2ggdGhlIHRlc3QgaXMgY3VycmVudGx5IG9wZXJhdGluZyBpcyBub3QgdmlzaWJsZSBhbnltb3JlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLm1pc3NpbmdBd2FpdEVycm9yXTogKCkgPT4gYFxuICAgICAgICBBIGNhbGwgdG8gYW4gYXN5bmMgZnVuY3Rpb24gaXMgbm90IGF3YWl0ZWQuIFVzZSB0aGUgXCJhd2FpdFwiIGtleXdvcmQgYmVmb3JlIGFjdGlvbnMsIGFzc2VydGlvbnMgb3IgY2hhaW5zIG9mIHRoZW0gdG8gZW5zdXJlIHRoYXQgdGhleSBydW4gaW4gdGhlIHJpZ2h0IHNlcXVlbmNlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmV4dGVybmFsQXNzZXJ0aW9uTGlicmFyeUVycm9yXTogZXJyID0+IGBcbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuXG4gICAgICAgICR7cmVuZGVyRGlmZihlcnIuZGlmZil9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuZG9tTm9kZUNsaWVudEZ1bmN0aW9uUmVzdWx0RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICR7ZXJyLmluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGNhbm5vdCByZXR1cm4gRE9NIGVsZW1lbnRzLiBVc2UgU2VsZWN0b3IgZnVuY3Rpb25zIGZvciB0aGlzIHB1cnBvc2UuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuaW52YWxpZFNlbGVjdG9yUmVzdWx0RXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIEZ1bmN0aW9uIHRoYXQgc3BlY2lmaWVzIGEgc2VsZWN0b3IgY2FuIG9ubHkgcmV0dXJuIGEgRE9NIG5vZGUsIGFuIGFycmF5IG9mIG5vZGVzLCBOb2RlTGlzdCwgSFRNTENvbGxlY3Rpb24sIG51bGwgb3IgdW5kZWZpbmVkLiBVc2UgQ2xpZW50RnVuY3Rpb24gdG8gcmV0dXJuIG90aGVyIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TZWxlY3RvckVycm9yXTogZXJyID0+IGBcbiAgICAgICAgQWN0aW9uIFwiJHtlcnIuc2VsZWN0b3JOYW1lfVwiIGFyZ3VtZW50IGVycm9yOlxuXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jYW5ub3RPYnRhaW5JbmZvRm9yRWxlbWVudFNwZWNpZmllZEJ5U2VsZWN0b3JFcnJvcl06IChlcnIsIHZpZXdwb3J0V2lkdGgpID0+IGBcbiAgICAgICAgQ2Fubm90IG9idGFpbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbm9kZSBiZWNhdXNlIHRoZSBzcGVjaWZpZWQgc2VsZWN0b3IgZG9lcyBub3QgbWF0Y2ggYW55IG5vZGUgaW4gdGhlIERPTSB0cmVlLlxuXG4gICAgICAgICR7Zm9ybWF0U2VsZWN0b3JDYWxsc3RhY2soZXJyLmFwaUZuQ2hhaW4sIGVyci5hcGlGbkluZGV4LCB2aWV3cG9ydFdpZHRoKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy53aW5kb3dEaW1lbnNpb25zT3ZlcmZsb3dFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVW5hYmxlIHRvIHJlc2l6ZSB0aGUgd2luZG93IGJlY2F1c2UgdGhlIHNwZWNpZmllZCBzaXplIGV4Y2VlZHMgdGhlIHNjcmVlbiBzaXplLiBPbiBtYWNPUywgYSB3aW5kb3cgY2Fubm90IGJlIGxhcmdlciB0aGFuIHRoZSBzY3JlZW4uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuZm9yYmlkZGVuQ2hhcmFjdGVyc0luU2NyZWVuc2hvdFBhdGhFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZXJlIGFyZSBmb3JiaWRkZW4gY2hhcmFjdGVycyBpbiB0aGUgXCIke2Vyci5zY3JlZW5zaG90UGF0aH1cIiBzY3JlZW5zaG90IHBhdGg6XG4gICAgICAgICR7cmVuZGVyRm9yYmlkZGVuQ2hhcnNMaXN0KGVyci5mb3JiaWRkZW5DaGFyc0xpc3QpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmludmFsaWRFbGVtZW50U2NyZWVuc2hvdERpbWVuc2lvbnNFcnJvcl06IGVyciA9PiBgXG4gICAgICAgICBVbmFibGUgdG8gY2FwdHVyZSBhbiBlbGVtZW50IGltYWdlIGJlY2F1c2UgdGhlIHJlc3VsdGluZyBpbWFnZSAke2Vyci5kaW1lbnNpb25zfSAke2Vyci52ZXJifSB6ZXJvIG9yIG5lZ2F0aXZlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnJvbGVTd2l0Y2hJblJvbGVJbml0aWFsaXplckVycm9yXTogKCkgPT4gYFxuICAgICAgICBSb2xlIGNhbm5vdCBiZSBzd2l0Y2hlZCB3aGlsZSBhbm90aGVyIHJvbGUgaXMgYmVpbmcgaW5pdGlhbGl6ZWQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYXNzZXJ0aW9uRXhlY3V0YWJsZUFyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBDYW5ub3QgZXZhbHVhdGUgdGhlIFwiJHtlcnIuYWN0dWFsVmFsdWV9XCIgZXhwcmVzc2lvbiBpbiB0aGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgcGFyYW1ldGVyIGJlY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBlcnJvcjpcblxuICAgICAgICAke2Vyci5lcnJNc2d9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYXNzZXJ0aW9uV2l0aG91dE1ldGhvZENhbGxFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQW4gYXNzZXJ0aW9uIG1ldGhvZCBpcyBub3Qgc3BlY2lmaWVkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFzc2VydGlvblVuYXdhaXRlZFByb21pc2VFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQXR0ZW1wdGVkIHRvIHJ1biBhc3NlcnRpb25zIG9uIGEgUHJvbWlzZSBvYmplY3QuIERpZCB5b3UgZm9yZ2V0IHRvIGF3YWl0IGl0PyBJZiBub3QsIHBhc3MgXCJ7IGFsbG93VW5hd2FpdGVkUHJvbWlzZTogdHJ1ZSB9XCIgdG8gdGhlIGFzc2VydGlvbiBvcHRpb25zLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnJlcXVlc3RIb29rTm90SW1wbGVtZW50ZWRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFlvdSBzaG91bGQgaW1wbGVtZW50IHRoZSBcIiR7ZXJyLm1ldGhvZE5hbWV9XCIgbWV0aG9kIGluIHRoZSBcIiR7ZXJyLmhvb2tDbGFzc05hbWV9XCIgY2xhc3MuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMucmVxdWVzdEhvb2tVbmhhbmRsZWRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIEFuIHVuaGFuZGxlZCBlcnJvciBvY2N1cnJlZCBpbiB0aGUgXCIke2Vyci5tZXRob2ROYW1lfVwiIG1ldGhvZCBvZiB0aGUgXCIke2Vyci5ob29rQ2xhc3NOYW1lfVwiIGNsYXNzOlxuXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9ySW5DdXN0b21DbGllbnRTY3JpcHRDb2RlXTogZXJyID0+IGBcbiAgICAgICAgQW4gZXJyb3Igb2NjdXJyZWQgaW4gYSBzY3JpcHQgaW5qZWN0ZWQgaW50byB0aGUgdGVzdGVkIHBhZ2U6XG5cbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJbkN1c3RvbUNsaWVudFNjcmlwdENvZGVMb2FkZWRGcm9tTW9kdWxlXTogZXJyID0+IGBcbiAgICAgICAgQW4gZXJyb3Igb2NjdXJyZWQgaW4gdGhlICcke2Vyci5tb2R1bGVOYW1lfScgbW9kdWxlIGluamVjdGVkIGludG8gdGhlIHRlc3RlZCBwYWdlLiBNYWtlIHN1cmUgdGhhdCB0aGlzIG1vZHVsZSBjYW4gYmUgZXhlY3V0ZWQgaW4gdGhlIGJyb3dzZXIgZW52aXJvbm1lbnQuXG5cbiAgICAgICAgRXJyb3IgZGV0YWlsczpcbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJbkN1c3RvbVNjcmlwdF06IGVyciA9PiBgXG4gICAgICAgIEFuIHVuaGFuZGxlZCBlcnJvciBvY2N1cnJlZCBpbiB0aGUgY3VzdG9tIHNjcmlwdDpcblxuICAgICAgICBFcnJvciBkZXRhaWxzOiAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG5cbiAgICAgICAgJHtmb3JtYXRFeHByZXNzaW9uTWVzc2FnZShlcnIuZXhwcmVzc2lvbiwgZXJyLmxpbmUsIGVyci5jb2x1bW4pfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNoaWxkV2luZG93SXNOb3RMb2FkZWRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIHBhZ2UgaW4gdGhlIGNoaWxkIHdpbmRvdyBpcyBub3QgbG9hZGVkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNoaWxkV2luZG93Tm90Rm91bmRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGNoaWxkIHdpbmRvdyBpcyBub3QgZm91bmQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2Fubm90U3dpdGNoVG9XaW5kb3dFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ2Fubm90IHN3aXRjaCB0byB0aGUgd2luZG93LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNsb3NlQ2hpbGRXaW5kb3dFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgY2xvc2luZyBjaGlsZCB3aW5kb3dzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNoaWxkV2luZG93Q2xvc2VkQmVmb3JlU3dpdGNoaW5nRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFRoZSBjaGlsZCB3aW5kb3cgd2FzIGNsb3NlZCBiZWZvcmUgVGVzdENhZmUgY291bGQgc3dpdGNoIHRvIGl0LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNhbm5vdENsb3NlV2luZG93V2l0aENoaWxkcmVuRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIENhbm5vdCBjbG9zZSBhIHdpbmRvdyB0aGF0IGhhcyBhbiBvcGVuIGNoaWxkIHdpbmRvdy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy50YXJnZXRXaW5kb3dOb3RGb3VuZEVycm9yXTogKCkgPT4gYFxuICAgICAgICBDYW5ub3QgZmluZCB0aGUgd2luZG93IHNwZWNpZmllZCBpbiB0aGUgYWN0aW9uIHBhcmFtZXRlcnMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMucGFyZW50V2luZG93Tm90Rm91bmRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ2Fubm90IGZpbmQgdGhlIHBhcmVudCB3aW5kb3cuIE1ha2Ugc3VyZSB0aGF0IHRoZSB0ZXN0ZWQgd2luZG93IHdhcyBvcGVuZWQgZnJvbSBhbm90aGVyIHdpbmRvdy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5wcmV2aW91c1dpbmRvd05vdEZvdW5kRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIENhbm5vdCBmaW5kIHRoZSBwcmV2aW91cyB3aW5kb3cuIE1ha2Ugc3VyZSB0aGF0IHRoZSBwcmV2aW91cyB3aW5kb3cgaXMgb3BlbmVkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnN3aXRjaFRvV2luZG93UHJlZGljYXRlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCBpbnNpZGUgdGhlIFwic3dpdGNoVG9XaW5kb3dcIiBhcmd1bWVudCBmdW5jdGlvbi5cblxuICAgICAgICBFcnJvciBkZXRhaWxzOlxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMubXVsdGlwbGVXaW5kb3dzTW9kZUlzRGlzYWJsZWRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIE11bHRpLXdpbmRvdyBtb2RlIGlzIGRpc2FibGVkLiBUbyB1c2UgdGhlIFwiJHtlcnIubWV0aG9kTmFtZX1cIiBtZXRob2QsIHJlbW92ZSB0aGUgXCJkaXNhYmxlTXVsdGlwbGVXaW5kb3dzXCIgb3B0aW9uLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLm11bHRpcGxlV2luZG93c01vZGVJc05vdFN1cHBvcnRlZEluUmVtb3RlQnJvd3NlckVycm9yXTogZXJyID0+IGBcbiAgICAgICAgTXVsdGktd2luZG93IG1vZGUgaXMgc3VwcG9ydGVkIG9ubHkgaW4gbG9jYWxseS1pbnN0YWxsZWQgQ2hyb21lLCBDaHJvbWl1bSwgRWRnZSA4NCsgYW5kIEZpcmVmb3guIFJ1biB0ZXN0cyBpbiB0aGVzZSBicm93c2VycyB0byB1c2UgdGhlIFwiJHtlcnIubWV0aG9kTmFtZX1cIiBtZXRob2QuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMubXVsdGlwbGVXaW5kb3dzTW9kZUlzTm90U3VwcG9ydGVkSW5OYXRpdmVBdXRvbWF0aW9uRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFRoZSBOYXRpdmUgQXV0b21hdGlvbiBtb2RlIGRvZXMgbm90IHN1cHBvcnQgdGhlIHVzZSBvZiBtdWx0aXBsZSBicm93c2VyIHdpbmRvd3MuIFVzZSB0aGUgXCJkaXNhYmxlIG5hdGl2ZSBhdXRvbWF0aW9uXCIgb3B0aW9uIHRvIGNvbnRpbnVlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNhbm5vdENsb3NlV2luZG93V2l0aG91dFBhcmVudF06ICgpID0+IGBcbiAgICAgICAgQ2Fubm90IGNsb3NlIHRoZSB3aW5kb3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcGFyZW50LiBUaGUgcGFyZW50IHdpbmRvdyB3YXMgY2xvc2VkIG9yIHlvdSBhcmUgYXR0ZW1wdGluZyB0byBjbG9zZSB0aGUgcm9vdCBicm93c2VyIHdpbmRvdyB3aGVyZSB0ZXN0cyB3ZXJlIGxhdW5jaGVkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNhbm5vdFJlc3RvcmVDaGlsZFdpbmRvd0Vycm9yXTogKCkgPT4gYFxuICAgICAgICBGYWlsZWQgdG8gcmVzdG9yZSBjb25uZWN0aW9uIHRvIHdpbmRvdyB3aXRoaW4gdGhlIGFsbG9jYXRlZCB0aW1lb3V0LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmV4ZWN1dGlvblRpbWVvdXRFeGNlZWRlZF06IGVyciA9PiB7XG4gICAgICAgIHJldHVybiBgJHtlcnIuc2NvcGV9IHRpbWVvdXQgb2YgJHtlcnIudGltZW91dH1tcyBleGNlZWRlZC5gO1xuICAgIH0sXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ09wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGJlbG9uZ3MgdG8gYW4gdW5zdXBwb3J0ZWQgZGF0YSB0eXBlICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBvbmx5IGFjY2VwdHMgU3RyaW5nIHR5cGUgdmFsdWVzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ09yUmVnZXhPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIGRhdGEgdHlwZSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gb25seSBhY2NlcHRzIFN0cmluZyBvciBSZWdleCB0eXBlIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25EYXRlT3B0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgdmFsdWUgb2YgdGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gYmVsb25ncyB0byBhbiB1bnN1cHBvcnRlZCBkYXRhIHR5cGUgKCR7ZXJyLmFjdHVhbFZhbHVlfSkuIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIG9ubHkgYWNjZXB0cyBEYXRlIHR5cGUgdmFsdWVzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbk51bWJlck9wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGJlbG9uZ3MgdG8gYW4gdW5zdXBwb3J0ZWQgZGF0YSB0eXBlICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBvbmx5IGFjY2VwdHMgTnVtYmVyIHR5cGUgdmFsdWVzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybE9wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGJlbG9uZ3MgdG8gYW4gdW5zdXBwb3J0ZWQgZGF0YSB0eXBlICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBvbmx5IGFjY2VwdHMgc3RyaW5nIG9yIFVSTCB0eXBlcyB2YWx1ZXMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uVXJsU2VhcmNoUGFyYW1zT3B0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgdmFsdWUgb2YgdGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gYmVsb25ncyB0byBhbiB1bnN1cHBvcnRlZCBkYXRhIHR5cGUgKCR7ZXJyLmFjdHVhbFZhbHVlfSkuIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIG9ubHkgYWNjZXB0cyBvYmplY3Qgb3IgVVJMU2VhcmNoUGFyYW1zIHR5cGVzIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25PYmplY3RPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIGRhdGEgdHlwZSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gb25seSBhY2NlcHRzIG9iamVjdCB0eXBlcyB2YWx1ZXMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uVXJsQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhbiBVUkwgb3IgYSBzdHJpbmcsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblNraXBKc0Vycm9yc0FyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBDYW5ub3QgZXhlY3V0ZSB0aGUgc2tpcEpzRXJyb3JzIG1ldGhvZC4gVGhlIHZhbHVlIG9mIHRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIHR5cGUgKCR7ZXJyLmFjdHVhbFZhbHVlfSkuIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIGRhdGEgdHlwZXM6IEJvb2xlYW4sIE9iamVjdCwgRnVuY3Rpb24uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uRnVuY3Rpb25PcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIGRhdGEgdHlwZSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gb25seSBhY2NlcHRzIGZ1bmN0aW9uIHR5cGVzIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25JbnZhbGlkT2JqZWN0UHJvcGVydHlFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLm9iamVjdE5hbWV9XCIgb2JqZWN0IGRvZXMgbm90IHN1cHBvcnQgdGhlIFwiJHtlcnIucHJvcGVydHlOYW1lfVwiIHByb3BlcnR5LlxuICAgICAgICBUbyBwcm9jZWVkLCByZW1vdmUgaW52YWxpZCBvcHRpb25zIGZyb20geW91ciBjb2RlIG9yIGNoZWNrIHlvdXIgdGVzdCBmb3Igc3BlbGxpbmcgZXJyb3JzLlxuICAgICAgICBUaGUgXCIke2Vyci5vYmplY3ROYW1lfVwiIG9iamVjdCBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIG9wdGlvbnM6XG4gICAgICAgICR7Z2V0Q29uY2F0ZW5hdGVkVmFsdWVzU3RyaW5nKGVyci5hdmFpbGFibGVQcm9wZXJ0aWVzLCAnLFxcbicpfS5cbiAgICBgLFxufTtcbiJdfQ==
368
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy90ZXN0LXJ1bi90ZW1wbGF0ZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBOEM7QUFDOUMsb0NBQTJDO0FBQzNDLG1DQU9pQjtBQUNqQiwrQ0FBaUU7QUFHakUsTUFBTSxjQUFjLEdBQUc7SUFDbkIsY0FBYyxFQUFPLDBFQUEwRTtJQUMvRixtQkFBbUIsRUFBRSxrS0FBa0s7SUFDdkwsYUFBYSxFQUFRLDRFQUE0RTtJQUNqRyxtQkFBbUIsRUFBRSxtRkFBbUY7Q0FDM0csQ0FBQztBQUVGLGtCQUFlO0lBQ1gsQ0FBQyx1QkFBZSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztlQUN4QyxHQUFHLENBQUMsVUFBVSxxREFBcUQsR0FBRyxDQUFDLFdBQVc7S0FDNUY7SUFFRCxDQUFDLHVCQUFlLENBQUMsZ0NBQWdDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2VBQ2hELEdBQUcsQ0FBQyxVQUFVLDZEQUE2RCxHQUFHLENBQUMsV0FBVztLQUNwRztJQUVELENBQUMsdUJBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7ZUFDeEMsR0FBRyxDQUFDLFVBQVUsMERBQTBELEdBQUcsQ0FBQyxXQUFXO0tBQ2pHO0lBRUQsQ0FBQyx1QkFBZSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztlQUN0QyxHQUFHLENBQUMsVUFBVSxzRUFBc0UsR0FBRyxDQUFDLFdBQVc7S0FDN0c7SUFFRCxDQUFDLHVCQUFlLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztxQ0FDUCxJQUFBLGlCQUFTLEVBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQzs7cUVBRWMsSUFBQSxpQkFBUyxFQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQzs7O1VBR3hH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Qzs0QkFDMUIsR0FBRyxDQUFDLFVBQVUsaURBQWlELEdBQUcsQ0FBQyxXQUFXLFdBQVcsR0FBRyxDQUFDLFVBQVU7S0FDOUg7SUFFRCxDQUFDLHVCQUFlLENBQUMsc0JBQXNCLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2VBQ3RDLEdBQUcsQ0FBQyxZQUFZLCtEQUErRCxHQUFHLENBQUMsV0FBVztLQUN4RztJQUVELENBQUMsdUJBQWUsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0VBQ00sR0FBRyxDQUFDLFlBQVksOENBQThDLEdBQUcsQ0FBQyxXQUFXLFdBQVcsR0FBRyxDQUFDLFlBQVk7S0FDdks7SUFFRCxDQUFDLHVCQUFlLENBQUMseUJBQXlCLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDOzRCQUM1QixHQUFHLENBQUMsVUFBVSxpREFBaUQsR0FBRyxDQUFDLFdBQVcsV0FBVyxHQUFHLENBQUMsVUFBVTtLQUM5SDtJQUVELENBQUMsdUJBQWUsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7ZUFDaEQsR0FBRyxDQUFDLFVBQVUsa0NBQWtDLEdBQUcsQ0FBQyxZQUFZOztlQUVoRSxHQUFHLENBQUMsVUFBVTtVQUNuQixJQUFBLG9DQUEyQixFQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUM7S0FDaEU7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXNjYXBlIGFzIGVzY2FwZUh0bWwgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgVEVTVF9SVU5fRVJST1JTIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgICByZW5kZXJGb3JiaWRkZW5DaGFyc0xpc3QsXG4gICAgcmVuZGVyRGlmZixcbiAgICBmb3JtYXRTZWxlY3RvckNhbGxzdGFjayxcbiAgICBmb3JtYXRVcmwsXG4gICAgcmVwbGFjZUxlYWRpbmdTcGFjZXNXaXRoTmJzcCxcbiAgICBmb3JtYXRFeHByZXNzaW9uTWVzc2FnZSxcbn0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBnZXRDb25jYXRlbmF0ZWRWYWx1ZXNTdHJpbmcgfSBmcm9tICcuLi8uLi91dGlscy9zdHJpbmcnO1xuXG5cbmNvbnN0IEVYVEVSTkFMX0xJTktTID0ge1xuICAgIGNyZWF0ZU5ld0lzc3VlOiAgICAgICdodHRwczovL2dpdGh1Yi5jb20vRGV2RXhwcmVzcy90ZXN0Y2FmZS9pc3N1ZXMvbmV3P3RlbXBsYXRlPWJ1Zy1yZXBvcnQubWQnLFxuICAgIHRyb3VibGVzaG9vdE5ldHdvcms6ICdodHRwczovL3Rlc3RjYWZlLmlvL2RvY3VtZW50YXRpb24vNDAzOTM3L2ZhcS93b3JraW5nLXdpdGgtdGVzdGNhZmUjbXktdGVzdHMtZmFpbC1iZWNhdXNlLXRlc3RjYWZlLWNhbm5vdC1yZXNvbHZlLWEtbmV0d29yay1yZXF1ZXN0LXdoYXQtYXJlLXRoZS1wb3NzaWJsZS1yZWFzb25zJyxcbiAgICB2aWV3cG9ydFNpemVzOiAgICAgICAnaHR0cHM6Ly9naXRodWIuY29tL0RldkV4cHJlc3MvZGV2aWNlLXNwZWNzL2Jsb2IvbWFzdGVyL3ZpZXdwb3J0LXNpemVzLmpzb24nLFxuICAgIHNraXBKc0Vycm9yc1JlY2lwZXM6ICdodHRwczovL3Rlc3RjYWZlLmlvL2RvY3VtZW50YXRpb24vNDA0MDM4L3JlY2lwZXMvZGVidWdnaW5nL3NraXAtamF2YXNjcmlwdC1lcnJvcnMnLFxufTtcblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uSW50ZWdlck9wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgYW4gaW50ZWdlciwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uUG9zaXRpdmVJbnRlZ2VyT3B0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBpcyBleHBlY3RlZCB0byBiZSBhIHBvc2l0aXZlIGludGVnZXIsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkJvb2xlYW5PcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGEgYm9vbGVhbiB2YWx1ZSwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uU3BlZWRPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGEgbnVtYmVyIGJldHdlZW4gMC4wMSBhbmQgMSwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMucGFnZUxvYWRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIEZhaWxlZCB0byBsb2FkIHRoZSBwYWdlIGF0ICR7Zm9ybWF0VXJsKGVyci51cmwpfS5cbiAgICAgICAgSW5jcmVhc2UgdGhlIHZhbHVlIG9mIHRoZSBcInBhZ2VSZXF1ZXN0VGltZW91dFwiIHZhcmlhYmxlLCBlbmFibGUgdGhlIFwicmV0cnlUZXN0UGFnZXNcIiBvcHRpb24sIG9yIHVzZSBxdWFyYW50aW5lIG1vZGUgdG8gcGVyZm9ybSBhZGRpdGlvbmFsIGF0dGVtcHRzIHRvIGV4ZWN1dGUgdGhpcyB0ZXN0LlxuICAgICAgICBZb3UgY2FuIGZpbmQgdHJvdWJsZXNob290aW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGlzc3VlIGF0ICR7Zm9ybWF0VXJsKEVYVEVSTkFMX0xJTktTLnRyb3VibGVzaG9vdE5ldHdvcmspfS5cblxuICAgICAgICBFcnJvciBkZXRhaWxzOlxuICAgICAgICAke2Vyci5lcnJNc2d9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvck9uUGFnZV06IGVyciA9PiBgXG4gICAgICAgIEEgSmF2YVNjcmlwdCBlcnJvciBvY2N1cnJlZCBvbiAke2Zvcm1hdFVybChlcnIucGFnZURlc3RVcmwpfS5cbiAgICAgICAgUmVwZWF0IHRlc3QgYWN0aW9ucyBpbiB0aGUgYnJvd3NlciBhbmQgY2hlY2sgdGhlIGNvbnNvbGUgZm9yIGVycm9ycy5cbiAgICAgICAgRW5hYmxlIHRoZSDigJxza2lwSnNFcnJvcnPigJ0gb3B0aW9uIHRvIGlnbm9yZSBKYXZhU2NyaXB0IGVycm9ycyBkdXJpbmcgdGVzdCBleGVjdXRpb24uIExlYXJuIG1vcmU6ICR7Zm9ybWF0VXJsKEVYVEVSTkFMX0xJTktTLnNraXBKc0Vycm9yc1JlY2lwZXMpfVxuICAgICAgICBJZiB0aGUgd2Vic2l0ZSBvbmx5IHRocm93cyB0aGlzIGVycm9yIHdoZW4geW91IHRlc3QgaXQgd2l0aCBUZXN0Q2FmZSwgcGxlYXNlIGNyZWF0ZSBhIG5ldyBpc3N1ZSBhdDpcbiAgICAgICAgJHtmb3JtYXRVcmwoRVhURVJOQUxfTElOS1MuY3JlYXRlTmV3SXNzdWUpfS5cblxuICAgICAgICBKYXZhU2NyaXB0IGVycm9yIGRldGFpbHM6XG4gICAgICAgICR7cmVwbGFjZUxlYWRpbmdTcGFjZXNXaXRoTmJzcChlc2NhcGVIdG1sKGVyci5lcnJTdGFjaykpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJblRlc3RDb2RlXTogZXJyID0+IGBcbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLm5hdGl2ZURpYWxvZ05vdEhhbmRsZWRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIEEgbmF0aXZlICR7ZXJyLmRpYWxvZ1R5cGV9IGRpYWxvZyB3YXMgaW52b2tlZCBvbiBwYWdlICR7Zm9ybWF0VXJsKGVyci5wYWdlVXJsKX0sIGJ1dCBubyBoYW5kbGVyIHdhcyBzZXQgZm9yIGl0LiBVc2UgdGhlIFwic2V0TmF0aXZlRGlhbG9nSGFuZGxlclwiIGZ1bmN0aW9uIHRvIGludHJvZHVjZSBhIGhhbmRsZXIgZnVuY3Rpb24gZm9yIG5hdGl2ZSBkaWFsb2dzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJbk5hdGl2ZURpYWxvZ0hhbmRsZXJdOiBlcnIgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCBpbiB0aGUgbmF0aXZlIGRpYWxvZyBoYW5kbGVyIGNhbGxlZCBmb3IgYSBuYXRpdmUgJHtlcnIuZGlhbG9nVHlwZX0gZGlhbG9nIG9uIHBhZ2UgJHtmb3JtYXRVcmwoZXJyLnBhZ2VVcmwpfTpcblxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuc2V0VGVzdFNwZWVkQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFNwZWVkIGlzIGV4cGVjdGVkIHRvIGJlIGEgbnVtYmVyIGJldHdlZW4gMC4wMSBhbmQgMSwgYnV0ICR7ZXJyLmFjdHVhbFZhbHVlfSB3YXMgcGFzc2VkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnNldE5hdGl2ZURpYWxvZ0hhbmRsZXJDb2RlV3JvbmdUeXBlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgbmF0aXZlIGRpYWxvZyBoYW5kbGVyIGlzIGV4cGVjdGVkIHRvIGJlIGEgZnVuY3Rpb24sIENsaWVudEZ1bmN0aW9uIG9yIG51bGwsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVHlwZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluQ2xpZW50RnVuY3Rpb25Db2RlXTogZXJyID0+IGBcbiAgICAgICAgQW4gZXJyb3Igb2NjdXJyZWQgaW4gJHtlcnIuaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZX0gY29kZTpcblxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluQ3VzdG9tRE9NUHJvcGVydHlDb2RlXTogZXJyID0+IGBcbiAgICAgICAgQW4gZXJyb3Igb2NjdXJyZWQgd2hlbiB0cnlpbmcgdG8gY2FsY3VsYXRlIGEgY3VzdG9tIFNlbGVjdG9yIHByb3BlcnR5IFwiJHtlcnIucHJvcGVydHl9XCI6XG5cbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNsaWVudEZ1bmN0aW9uRXhlY3V0aW9uSW50ZXJydXB0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICAke2Vyci5pbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBleGVjdXRpb24gd2FzIGludGVycnVwdGVkIGJ5IHBhZ2UgdW5sb2FkLiBUaGlzIHByb2JsZW0gbWF5IGFwcGVhciBpZiB5b3UgdHJpZ2dlciBwYWdlIG5hdmlnYXRpb24gZnJvbSAke2Vyci5pbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBjb2RlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0Tm9uRXJyb3JPYmplY3RJblRlc3RDb2RlXTogZXJyID0+IGBcbiAgICAgICAgVW5jYXVnaHQgJHtlcnIub2JqVHlwZX0gXCIke2VzY2FwZUh0bWwoZXJyLm9ialN0cil9XCIgd2FzIHRocm93bi4gVGhyb3cgRXJyb3IgaW5zdGVhZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy51bmhhbmRsZWRQcm9taXNlUmVqZWN0aW9uXTogZXJyID0+IGBcbiAgICAgICAgVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uOlxuXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy51bmNhdWdodEV4Y2VwdGlvbl06IGVyciA9PiBgXG4gICAgICAgIFVuY2F1Z2h0IGV4Y2VwdGlvbjpcblxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uT3B0aW9uc1R5cGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIEFjdGlvbiBvcHRpb25zIGlzIGV4cGVjdGVkIHRvIGJlIGFuIG9iamVjdCwgbnVsbCBvciB1bmRlZmluZWQgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxUeXBlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TdHJpbmdBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGEgbm9uLWVtcHR5IHN0cmluZywgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uQm9vbGVhbkFyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBib29sZWFuIHZhbHVlLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25OdWxsYWJsZVN0cmluZ0FyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBudWxsIG9yIGEgc3RyaW5nLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TdHJpbmdPclN0cmluZ0FycmF5QXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhIG5vbi1lbXB0eSBzdHJpbmcgb3IgYSBzdHJpbmcgYXJyYXksIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ0FycmF5RWxlbWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgRWxlbWVudHMgb2YgdGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGFyZSBleHBlY3RlZCB0byBiZSBub24tZW1wdHkgc3RyaW5ncywgYnV0IHRoZSBlbGVtZW50IGF0IGluZGV4ICR7ZXJyLmVsZW1lbnRJbmRleH0gd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25SZXF1aXJlZENvb2tpZUFyZ3VtZW50c106ICgpID0+IGBcbiAgICAgICAgVGhlIG1hbmRhdG9yeSBcImNvb2tpZXNcIiBhcmd1bWVudCBpcyBtaXNzaW5nLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkNvb2tpZUFyZ3VtZW50RXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCJjb29raWVzXCIgYXJndW1lbnQgZG9lcyBub3QgYmVsb25nIHRvIGFuIGFjY2VwdGFibGUgZGF0YSB0eXBlOiBPYmplY3QsIFN0cmluZywgb3IgQXJyYXkgb2Ygb2JqZWN0cyBvciBzdHJpbmdzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkNvb2tpZUFyZ3VtZW50c0Vycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIGNvb2tpZSBudW1iZXIgJHtlcnIuaW5kZXggKyAxfSAoJHtlcnIuYWN0dWFsVmFsdWV9KSBkb2VzIG5vdCBiZWxvbmcgdG8gYW4gYWNjZXB0YWJsZSBkYXRhIHR5cGU6IE9iamVjdCBvciBTdHJpbmcuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uVXJsQ29va2llQXJndW1lbnRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ291bGQgbm90IHBhcnNlIHRoZSB1cmwgcGFyYW1ldGVyLiBDaGVjayB0aGUgdmFsdWUgZm9yIGZvcm1hdHRpbmcgZXJyb3JzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybHNDb29raWVBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgQ291bGQgbm90IHBhcnNlIHVybCBudW1iZXIgJHtlcnIuaW5kZXggKyAxfSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gQ2hlY2sgdGhlIHZhbHVlIGZvciBmb3JtYXR0aW5nIGVycm9ycy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25JbnRlZ2VyQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhbiBpbnRlZ2VyLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25Sb2xlQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhIFJvbGUgaW5zdGFuY2UsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkZ1bmN0aW9uQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhIGZ1bmN0aW9uLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25Qb3NpdGl2ZUludGVnZXJBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGEgcG9zaXRpdmUgaW50ZWdlciwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uRWxlbWVudE5vdEZvdW5kRXJyb3JdOiAoZXJyLCB2aWV3cG9ydFdpZHRoKSA9PiBgXG4gICAgICAgIFRoZSBzcGVjaWZpZWQgc2VsZWN0b3IgZG9lcyBub3QgbWF0Y2ggYW55IGVsZW1lbnQgaW4gdGhlIERPTSB0cmVlLlxuXG4gICAgICAgICR7Zm9ybWF0U2VsZWN0b3JDYWxsc3RhY2soZXJyLmFwaUZuQ2hhaW4sIGVyci5hcGlGbkluZGV4LCB2aWV3cG9ydFdpZHRoKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50SXNJbnZpc2libGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIucmVhc29uKSB8fCAnVGhlIGVsZW1lbnQgdGhhdCBtYXRjaGVzIHRoZSBzcGVjaWZpZWQgc2VsZWN0b3IgaXMgbm90IHZpc2libGUuJ31cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50SXNOb3RUYXJnZXRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGVsZW1lbnQgdGhhdCBtYXRjaGVzIHRoZSBzcGVjaWZpZWQgc2VsZWN0b3IgaXMgY292ZXJlZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TZWxlY3Rvck1hdGNoZXNXcm9uZ05vZGVUeXBlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgc3BlY2lmaWVkIHNlbGVjdG9yIGlzIGV4cGVjdGVkIHRvIG1hdGNoIGEgRE9NIGVsZW1lbnQsIGJ1dCBpdCBtYXRjaGVzIGEgJHtlcnIubm9kZURlc2NyaXB0aW9ufSBub2RlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkFkZGl0aW9uYWxFbGVtZW50Tm90Rm91bmRFcnJvcl06IChlcnIsIHZpZXdwb3J0V2lkdGgpID0+IGBcbiAgICAgICAgVGhlIHNwZWNpZmllZCBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBkb2VzIG5vdCBtYXRjaCBhbnkgZWxlbWVudCBpbiB0aGUgRE9NIHRyZWUuXG5cbiAgICAgICAgJHtmb3JtYXRTZWxlY3RvckNhbGxzdGFjayhlcnIuYXBpRm5DaGFpbiwgZXJyLmFwaUZuSW5kZXgsIHZpZXdwb3J0V2lkdGgpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkFkZGl0aW9uYWxFbGVtZW50SXNJbnZpc2libGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIucmVhc29uKSB8fCBgVGhlIGVsZW1lbnQgdGhhdCBtYXRjaGVzIHRoZSBzcGVjaWZpZWQgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgaXMgbm90IHZpc2libGUuYH1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25BZGRpdGlvbmFsU2VsZWN0b3JNYXRjaGVzV3JvbmdOb2RlVHlwZUVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHNwZWNpZmllZCBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBpcyBleHBlY3RlZCB0byBtYXRjaCBhIERPTSBlbGVtZW50LCBidXQgaXQgbWF0Y2hlcyBhICR7ZXJyLm5vZGVEZXNjcmlwdGlvbn0gbm9kZS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50Tm9uRWRpdGFibGVFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGFjdGlvbiBlbGVtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGVkaXRhYmxlIChhbiBpbnB1dCwgdGV4dGFyZWEgb3IgZWxlbWVudCB3aXRoIHRoZSBjb250ZW50RWRpdGFibGUgYXR0cmlidXRlKS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50Tm9uQ29udGVudEVkaXRhYmxlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgZWxlbWVudCB0aGF0IG1hdGNoZXMgdGhlIHNwZWNpZmllZCBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBpcyBleHBlY3RlZCB0byBoYXZlIHRoZSBjb250ZW50RWRpdGFibGUgYXR0cmlidXRlIGVuYWJsZWQgb3IgdGhlIGVudGlyZSBkb2N1bWVudCBzaG91bGQgYmUgaW4gZGVzaWduIG1vZGUuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uUm9vdENvbnRhaW5lck5vdEZvdW5kRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIENvbnRlbnQgYmV0d2VlbiB0aGUgYWN0aW9uIGVsZW1lbnRzIGNhbm5vdCBiZSBzZWxlY3RlZCBiZWNhdXNlIHRoZSByb290IGNvbnRhaW5lciBmb3IgdGhlIHNlbGVjdGlvbiByYW5nZSBjYW5ub3QgYmUgZm91bmQsIGkuZS4gdGhlc2UgZWxlbWVudHMgZG8gbm90IGhhdmUgYSBjb21tb24gYW5jZXN0b3Igd2l0aCB0aGUgY29udGVudEVkaXRhYmxlIGF0dHJpYnV0ZS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50SXNOb3RGaWxlSW5wdXRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIHNwZWNpZmllZCBzZWxlY3RvciBkb2VzIG5vdCBtYXRjaCBhIGZpbGUgaW5wdXQgZWxlbWVudC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25DYW5ub3RGaW5kRmlsZVRvVXBsb2FkRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBDYW5ub3QgZmluZCB0aGUgZm9sbG93aW5nIGZpbGUocykgdG8gdXBsb2FkOlxuICAgICAgICAke2Vyci5maWxlUGF0aHMubWFwKHBhdGggPT4gZXNjYXBlSHRtbChwYXRoKSkuam9pbignXFxuJyl9XG5cbiAgICAgICAgVGhlIGZvbGxvd2luZyBsb2NhdGlvbnMgd2VyZSBzY2FubmVkIGZvciB0aGUgbWlzc2luZyB1cGxvYWQgZmlsZXM6XG4gICAgICAgICR7ZXJyLnNjYW5uZWRGaWxlUGF0aHMubWFwKHBhdGggPT4gZXNjYXBlSHRtbChwYXRoKSkuam9pbignXFxuJyl9XG5cbiAgICAgICAgRW5zdXJlIHRoZXNlIGZpbGVzIGV4aXN0IG9yIGNoYW5nZSB0aGUgd29ya2luZyBkaXJlY3RvcnkuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uRWxlbWVudE5vdFRleHRBcmVhRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFRoZSBhY3Rpb24gZWxlbWVudCBpcyBleHBlY3RlZCB0byBiZSBhICZsdDt0ZXh0YXJlYSZndDsuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uRWxlbWVudE5vdElmcmFtZUVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgYWN0aW9uIGVsZW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgYW4gJmx0O2lmcmFtZSZndC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25JbmNvcnJlY3RLZXlzRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgY29udGFpbnMgYW4gaW5jb3JyZWN0IGtleSBvciBrZXkgY29tYmluYXRpb24uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uVW5zdXBwb3J0ZWREZXZpY2VUeXBlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgc3BlY2lmaWVzIGFuIHVuc3VwcG9ydGVkIFwiJHtlcnIuYWN0dWFsVmFsdWV9XCIgZGV2aWNlLiBGb3IgYSBsaXN0IG9mIHN1cHBvcnRlZCBkZXZpY2VzLCByZWZlciB0byAke2Zvcm1hdFVybChFWFRFUk5BTF9MSU5LUy52aWV3cG9ydFNpemVzKX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uSW52YWxpZFNjcm9sbFRhcmdldEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVW5hYmxlIHRvIHNjcm9sbCB0byB0aGUgc3BlY2lmaWVkIHBvaW50IGJlY2F1c2UgYSBwb2ludCB3aXRoIHRoZSBzcGVjaWZpZWQgJHtlcnIucHJvcGVydGllc30gaXMgbm90IGxvY2F0ZWQgaW5zaWRlIHRoZSBlbGVtZW50J3MgY3JvcHBpbmcgcmVnaW9uLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbklmcmFtZUlzTm90TG9hZGVkRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIENvbnRlbnQgb2YgdGhlIGlmcmFtZSB0byB3aGljaCB5b3UgYXJlIHN3aXRjaGluZyBkaWQgbm90IGxvYWQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY3VycmVudElmcmFtZUlzTm90TG9hZGVkRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIENvbnRlbnQgb2YgdGhlIGlmcmFtZSBpbiB3aGljaCB0aGUgdGVzdCBpcyBjdXJyZW50bHkgb3BlcmF0aW5nIGRpZCBub3QgbG9hZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jdXJyZW50SWZyYW1lTm90Rm91bmRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGlmcmFtZSBpbiB3aGljaCB0aGUgdGVzdCBpcyBjdXJyZW50bHkgb3BlcmF0aW5nIGRvZXMgbm90IGV4aXN0IGFueW1vcmUuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY3VycmVudElmcmFtZUlzSW52aXNpYmxlRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFRoZSBpZnJhbWUgaW4gd2hpY2ggdGhlIHRlc3QgaXMgY3VycmVudGx5IG9wZXJhdGluZyBpcyBub3QgdmlzaWJsZSBhbnltb3JlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLm1pc3NpbmdBd2FpdEVycm9yXTogKCkgPT4gYFxuICAgICAgICBBIGNhbGwgdG8gYW4gYXN5bmMgZnVuY3Rpb24gaXMgbm90IGF3YWl0ZWQuIFVzZSB0aGUgXCJhd2FpdFwiIGtleXdvcmQgYmVmb3JlIGFjdGlvbnMsIGFzc2VydGlvbnMgb3IgY2hhaW5zIG9mIHRoZW0gdG8gZW5zdXJlIHRoYXQgdGhleSBydW4gaW4gdGhlIHJpZ2h0IHNlcXVlbmNlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmV4dGVybmFsQXNzZXJ0aW9uTGlicmFyeUVycm9yXTogZXJyID0+IGBcbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuXG4gICAgICAgICR7cmVuZGVyRGlmZihlcnIuZGlmZil9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuZG9tTm9kZUNsaWVudEZ1bmN0aW9uUmVzdWx0RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICR7ZXJyLmluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGNhbm5vdCByZXR1cm4gRE9NIGVsZW1lbnRzLiBVc2UgU2VsZWN0b3IgZnVuY3Rpb25zIGZvciB0aGlzIHB1cnBvc2UuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuaW52YWxpZFNlbGVjdG9yUmVzdWx0RXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIEZ1bmN0aW9uIHRoYXQgc3BlY2lmaWVzIGEgc2VsZWN0b3IgY2FuIG9ubHkgcmV0dXJuIGEgRE9NIG5vZGUsIGFuIGFycmF5IG9mIG5vZGVzLCBOb2RlTGlzdCwgSFRNTENvbGxlY3Rpb24sIG51bGwgb3IgdW5kZWZpbmVkLiBVc2UgQ2xpZW50RnVuY3Rpb24gdG8gcmV0dXJuIG90aGVyIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TZWxlY3RvckVycm9yXTogZXJyID0+IGBcbiAgICAgICAgQWN0aW9uIFwiJHtlcnIuc2VsZWN0b3JOYW1lfVwiIGFyZ3VtZW50IGVycm9yOlxuXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jYW5ub3RPYnRhaW5JbmZvRm9yRWxlbWVudFNwZWNpZmllZEJ5U2VsZWN0b3JFcnJvcl06IChlcnIsIHZpZXdwb3J0V2lkdGgpID0+IGBcbiAgICAgICAgQ2Fubm90IG9idGFpbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbm9kZSBiZWNhdXNlIHRoZSBzcGVjaWZpZWQgc2VsZWN0b3IgZG9lcyBub3QgbWF0Y2ggYW55IG5vZGUgaW4gdGhlIERPTSB0cmVlLlxuXG4gICAgICAgICR7Zm9ybWF0U2VsZWN0b3JDYWxsc3RhY2soZXJyLmFwaUZuQ2hhaW4sIGVyci5hcGlGbkluZGV4LCB2aWV3cG9ydFdpZHRoKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy53aW5kb3dEaW1lbnNpb25zT3ZlcmZsb3dFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVW5hYmxlIHRvIHJlc2l6ZSB0aGUgd2luZG93IGJlY2F1c2UgdGhlIHNwZWNpZmllZCBzaXplIGV4Y2VlZHMgdGhlIHNjcmVlbiBzaXplLiBPbiBtYWNPUywgYSB3aW5kb3cgY2Fubm90IGJlIGxhcmdlciB0aGFuIHRoZSBzY3JlZW4uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuZm9yYmlkZGVuQ2hhcmFjdGVyc0luU2NyZWVuc2hvdFBhdGhFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZXJlIGFyZSBmb3JiaWRkZW4gY2hhcmFjdGVycyBpbiB0aGUgXCIke2Vyci5zY3JlZW5zaG90UGF0aH1cIiBzY3JlZW5zaG90IHBhdGg6XG4gICAgICAgICR7cmVuZGVyRm9yYmlkZGVuQ2hhcnNMaXN0KGVyci5mb3JiaWRkZW5DaGFyc0xpc3QpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmludmFsaWRFbGVtZW50U2NyZWVuc2hvdERpbWVuc2lvbnNFcnJvcl06IGVyciA9PiBgXG4gICAgICAgICBVbmFibGUgdG8gY2FwdHVyZSBhbiBlbGVtZW50IGltYWdlIGJlY2F1c2UgdGhlIHJlc3VsdGluZyBpbWFnZSAke2Vyci5kaW1lbnNpb25zfSAke2Vyci52ZXJifSB6ZXJvIG9yIG5lZ2F0aXZlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnJvbGVTd2l0Y2hJblJvbGVJbml0aWFsaXplckVycm9yXTogKCkgPT4gYFxuICAgICAgICBSb2xlIGNhbm5vdCBiZSBzd2l0Y2hlZCB3aGlsZSBhbm90aGVyIHJvbGUgaXMgYmVpbmcgaW5pdGlhbGl6ZWQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYXNzZXJ0aW9uRXhlY3V0YWJsZUFyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBDYW5ub3QgZXZhbHVhdGUgdGhlIFwiJHtlcnIuYWN0dWFsVmFsdWV9XCIgZXhwcmVzc2lvbiBpbiB0aGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgcGFyYW1ldGVyIGJlY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBlcnJvcjpcblxuICAgICAgICAke2Vyci5lcnJNc2d9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYXNzZXJ0aW9uV2l0aG91dE1ldGhvZENhbGxFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQW4gYXNzZXJ0aW9uIG1ldGhvZCBpcyBub3Qgc3BlY2lmaWVkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFzc2VydGlvblVuYXdhaXRlZFByb21pc2VFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQXR0ZW1wdGVkIHRvIHJ1biBhc3NlcnRpb25zIG9uIGEgUHJvbWlzZSBvYmplY3QuIERpZCB5b3UgZm9yZ2V0IHRvIGF3YWl0IGl0PyBJZiBub3QsIHBhc3MgXCJ7IGFsbG93VW5hd2FpdGVkUHJvbWlzZTogdHJ1ZSB9XCIgdG8gdGhlIGFzc2VydGlvbiBvcHRpb25zLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnJlcXVlc3RIb29rTm90SW1wbGVtZW50ZWRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFlvdSBzaG91bGQgaW1wbGVtZW50IHRoZSBcIiR7ZXJyLm1ldGhvZE5hbWV9XCIgbWV0aG9kIGluIHRoZSBcIiR7ZXJyLmhvb2tDbGFzc05hbWV9XCIgY2xhc3MuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMucmVxdWVzdEhvb2tVbmhhbmRsZWRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIEFuIHVuaGFuZGxlZCBlcnJvciBvY2N1cnJlZCBpbiB0aGUgXCIke2Vyci5tZXRob2ROYW1lfVwiIG1ldGhvZCBvZiB0aGUgXCIke2Vyci5ob29rQ2xhc3NOYW1lfVwiIGNsYXNzOlxuXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9ySW5DdXN0b21DbGllbnRTY3JpcHRDb2RlXTogZXJyID0+IGBcbiAgICAgICAgQW4gZXJyb3Igb2NjdXJyZWQgaW4gYSBzY3JpcHQgaW5qZWN0ZWQgaW50byB0aGUgdGVzdGVkIHBhZ2U6XG5cbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJbkN1c3RvbUNsaWVudFNjcmlwdENvZGVMb2FkZWRGcm9tTW9kdWxlXTogZXJyID0+IGBcbiAgICAgICAgQW4gZXJyb3Igb2NjdXJyZWQgaW4gdGhlICcke2Vyci5tb2R1bGVOYW1lfScgbW9kdWxlIGluamVjdGVkIGludG8gdGhlIHRlc3RlZCBwYWdlLiBNYWtlIHN1cmUgdGhhdCB0aGlzIG1vZHVsZSBjYW4gYmUgZXhlY3V0ZWQgaW4gdGhlIGJyb3dzZXIgZW52aXJvbm1lbnQuXG5cbiAgICAgICAgRXJyb3IgZGV0YWlsczpcbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJbkN1c3RvbVNjcmlwdF06IGVyciA9PiBgXG4gICAgICAgIEFuIHVuaGFuZGxlZCBlcnJvciBvY2N1cnJlZCBpbiB0aGUgY3VzdG9tIHNjcmlwdDpcblxuICAgICAgICBFcnJvciBkZXRhaWxzOiAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG5cbiAgICAgICAgJHtmb3JtYXRFeHByZXNzaW9uTWVzc2FnZShlcnIuZXhwcmVzc2lvbiwgZXJyLmxpbmUsIGVyci5jb2x1bW4pfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNoaWxkV2luZG93SXNOb3RMb2FkZWRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIHBhZ2UgaW4gdGhlIGNoaWxkIHdpbmRvdyBpcyBub3QgbG9hZGVkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNoaWxkV2luZG93Tm90Rm91bmRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGNoaWxkIHdpbmRvdyBpcyBub3QgZm91bmQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2Fubm90U3dpdGNoVG9XaW5kb3dFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ2Fubm90IHN3aXRjaCB0byB0aGUgd2luZG93LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNsb3NlQ2hpbGRXaW5kb3dFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgY2xvc2luZyBjaGlsZCB3aW5kb3dzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNoaWxkV2luZG93Q2xvc2VkQmVmb3JlU3dpdGNoaW5nRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFRoZSBjaGlsZCB3aW5kb3cgd2FzIGNsb3NlZCBiZWZvcmUgVGVzdENhZmUgY291bGQgc3dpdGNoIHRvIGl0LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNhbm5vdENsb3NlV2luZG93V2l0aENoaWxkcmVuRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIENhbm5vdCBjbG9zZSBhIHdpbmRvdyB0aGF0IGhhcyBhbiBvcGVuIGNoaWxkIHdpbmRvdy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy50YXJnZXRXaW5kb3dOb3RGb3VuZEVycm9yXTogKCkgPT4gYFxuICAgICAgICBDYW5ub3QgZmluZCB0aGUgd2luZG93IHNwZWNpZmllZCBpbiB0aGUgYWN0aW9uIHBhcmFtZXRlcnMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMucGFyZW50V2luZG93Tm90Rm91bmRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ2Fubm90IGZpbmQgdGhlIHBhcmVudCB3aW5kb3cuIE1ha2Ugc3VyZSB0aGF0IHRoZSB0ZXN0ZWQgd2luZG93IHdhcyBvcGVuZWQgZnJvbSBhbm90aGVyIHdpbmRvdy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5wcmV2aW91c1dpbmRvd05vdEZvdW5kRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIENhbm5vdCBmaW5kIHRoZSBwcmV2aW91cyB3aW5kb3cuIE1ha2Ugc3VyZSB0aGF0IHRoZSBwcmV2aW91cyB3aW5kb3cgaXMgb3BlbmVkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnN3aXRjaFRvV2luZG93UHJlZGljYXRlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCBpbnNpZGUgdGhlIFwic3dpdGNoVG9XaW5kb3dcIiBhcmd1bWVudCBmdW5jdGlvbi5cblxuICAgICAgICBFcnJvciBkZXRhaWxzOlxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMubXVsdGlwbGVXaW5kb3dzTW9kZUlzRGlzYWJsZWRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIE11bHRpLXdpbmRvdyBtb2RlIGlzIGRpc2FibGVkLiBUbyB1c2UgdGhlIFwiJHtlcnIubWV0aG9kTmFtZX1cIiBtZXRob2QsIHJlbW92ZSB0aGUgXCJkaXNhYmxlTXVsdGlwbGVXaW5kb3dzXCIgb3B0aW9uLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLm11bHRpcGxlV2luZG93c01vZGVJc05vdFN1cHBvcnRlZEluUmVtb3RlQnJvd3NlckVycm9yXTogZXJyID0+IGBcbiAgICAgICAgTXVsdGktd2luZG93IG1vZGUgaXMgc3VwcG9ydGVkIG9ubHkgaW4gbG9jYWxseS1pbnN0YWxsZWQgQ2hyb21lLCBDaHJvbWl1bSwgRWRnZSA4NCsgYW5kIEZpcmVmb3guIFJ1biB0ZXN0cyBpbiB0aGVzZSBicm93c2VycyB0byB1c2UgdGhlIFwiJHtlcnIubWV0aG9kTmFtZX1cIiBtZXRob2QuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMubXVsdGlwbGVXaW5kb3dzTW9kZUlzTm90U3VwcG9ydGVkSW5OYXRpdmVBdXRvbWF0aW9uRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFRoZSBOYXRpdmUgQXV0b21hdGlvbiBtb2RlIGRvZXMgbm90IHN1cHBvcnQgdGhlIHVzZSBvZiBtdWx0aXBsZSBicm93c2VyIHdpbmRvd3MuIFVzZSB0aGUgXCJkaXNhYmxlIG5hdGl2ZSBhdXRvbWF0aW9uXCIgb3B0aW9uIHRvIGNvbnRpbnVlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNhbm5vdENsb3NlV2luZG93V2l0aG91dFBhcmVudF06ICgpID0+IGBcbiAgICAgICAgQ2Fubm90IGNsb3NlIHRoZSB3aW5kb3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcGFyZW50LiBUaGUgcGFyZW50IHdpbmRvdyB3YXMgY2xvc2VkIG9yIHlvdSBhcmUgYXR0ZW1wdGluZyB0byBjbG9zZSB0aGUgcm9vdCBicm93c2VyIHdpbmRvdyB3aGVyZSB0ZXN0cyB3ZXJlIGxhdW5jaGVkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNhbm5vdFJlc3RvcmVDaGlsZFdpbmRvd0Vycm9yXTogKCkgPT4gYFxuICAgICAgICBGYWlsZWQgdG8gcmVzdG9yZSBjb25uZWN0aW9uIHRvIHdpbmRvdyB3aXRoaW4gdGhlIGFsbG9jYXRlZCB0aW1lb3V0LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmV4ZWN1dGlvblRpbWVvdXRFeGNlZWRlZF06IGVyciA9PiB7XG4gICAgICAgIHJldHVybiBgJHtlcnIuc2NvcGV9IHRpbWVvdXQgb2YgJHtlcnIudGltZW91dH1tcyBleGNlZWRlZC5gO1xuICAgIH0sXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ09wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGJlbG9uZ3MgdG8gYW4gdW5zdXBwb3J0ZWQgZGF0YSB0eXBlICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBvbmx5IGFjY2VwdHMgU3RyaW5nIHR5cGUgdmFsdWVzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ09yUmVnZXhPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIGRhdGEgdHlwZSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gb25seSBhY2NlcHRzIFN0cmluZyBvciBSZWdleCB0eXBlIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25EYXRlT3B0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgdmFsdWUgb2YgdGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gYmVsb25ncyB0byBhbiB1bnN1cHBvcnRlZCBkYXRhIHR5cGUgKCR7ZXJyLmFjdHVhbFZhbHVlfSkuIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIG9ubHkgYWNjZXB0cyBEYXRlIHR5cGUgdmFsdWVzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbk51bWJlck9wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGJlbG9uZ3MgdG8gYW4gdW5zdXBwb3J0ZWQgZGF0YSB0eXBlICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBvbmx5IGFjY2VwdHMgTnVtYmVyIHR5cGUgdmFsdWVzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybE9wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGJlbG9uZ3MgdG8gYW4gdW5zdXBwb3J0ZWQgZGF0YSB0eXBlICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBvbmx5IGFjY2VwdHMgc3RyaW5nIG9yIFVSTCB0eXBlcyB2YWx1ZXMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uVXJsU2VhcmNoUGFyYW1zT3B0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgdmFsdWUgb2YgdGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gYmVsb25ncyB0byBhbiB1bnN1cHBvcnRlZCBkYXRhIHR5cGUgKCR7ZXJyLmFjdHVhbFZhbHVlfSkuIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIG9ubHkgYWNjZXB0cyBvYmplY3Qgb3IgVVJMU2VhcmNoUGFyYW1zIHR5cGVzIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25PYmplY3RPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIGRhdGEgdHlwZSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gb25seSBhY2NlcHRzIG9iamVjdCB0eXBlcyB2YWx1ZXMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uVXJsQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhbiBVUkwgb3IgYSBzdHJpbmcsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblNraXBKc0Vycm9yc0FyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBDYW5ub3QgZXhlY3V0ZSB0aGUgc2tpcEpzRXJyb3JzIG1ldGhvZC4gVGhlIHZhbHVlIG9mIHRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIHR5cGUgKCR7ZXJyLmFjdHVhbFZhbHVlfSkuIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIGRhdGEgdHlwZXM6IEJvb2xlYW4sIE9iamVjdCwgRnVuY3Rpb24uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uRnVuY3Rpb25PcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIGRhdGEgdHlwZSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gb25seSBhY2NlcHRzIGZ1bmN0aW9uIHR5cGVzIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25JbnZhbGlkT2JqZWN0UHJvcGVydHlFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLm9iamVjdE5hbWV9XCIgb2JqZWN0IGRvZXMgbm90IHN1cHBvcnQgdGhlIFwiJHtlcnIucHJvcGVydHlOYW1lfVwiIHByb3BlcnR5LlxuICAgICAgICBUbyBwcm9jZWVkLCByZW1vdmUgaW52YWxpZCBvcHRpb25zIGZyb20geW91ciBjb2RlIG9yIGNoZWNrIHlvdXIgdGVzdCBmb3Igc3BlbGxpbmcgZXJyb3JzLlxuICAgICAgICBUaGUgXCIke2Vyci5vYmplY3ROYW1lfVwiIG9iamVjdCBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIG9wdGlvbnM6XG4gICAgICAgICR7Z2V0Q29uY2F0ZW5hdGVkVmFsdWVzU3RyaW5nKGVyci5hdmFpbGFibGVQcm9wZXJ0aWVzLCAnLFxcbicpfS5cbiAgICBgLFxufTtcbiJdfQ==
@@ -42,7 +42,7 @@ class TempDirectory {
42
42
  return false;
43
43
  }
44
44
  async _createNewTmpDir() {
45
- this.path = tmp_1.default.tmpNameSync({ dir: TempDirectory.TEMP_DIRECTORIES_ROOT, prefix: this.namePrefix + '-' });
45
+ this.path = tmp_1.default.tmpNameSync({ tmpdir: TempDirectory.TEMP_DIRECTORIES_ROOT, prefix: this.namePrefix + '-' });
46
46
  await (0, make_dir_1.default)(this.path);
47
47
  this.lockFile = new lockfile_1.default(this.path);
48
48
  this.lockFile.init();
@@ -86,4 +86,4 @@ exports.default = TempDirectory;
86
86
  TempDirectory.TEMP_DIRECTORIES_ROOT = TESTCAFE_TMP_DIRS_ROOT;
87
87
  (0, async_exit_hook_1.default)(TempDirectory.disposeDirectoriesSync);
88
88
  module.exports = exports.default;
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvdGVtcC1kaXJlY3RvcnkvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsNENBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4QixzRUFBNEM7QUFDNUMsOENBQXNCO0FBQ3RCLHdEQUErQjtBQUMvQiwwREFBa0M7QUFDbEMsd0VBQStDO0FBQy9DLDZFQUE0RDtBQUc1RCxxQ0FBcUM7QUFDckMsTUFBTSxzQkFBc0IsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFlBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNsRSxNQUFNLG1CQUFtQixHQUFNLEtBQUssQ0FBQztBQUNyQyxNQUFNLGNBQWMsR0FBVyxFQUFFLENBQUM7QUFDbEMsTUFBTSxZQUFZLEdBQWEsSUFBQSxlQUFLLEVBQUMsK0JBQStCLENBQUMsQ0FBQztBQUV0RSxNQUFxQixhQUFhO0lBQzlCLFlBQWEsVUFBVTtRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxtQkFBbUIsQ0FBQztRQUVwRCxJQUFJLENBQUMsSUFBSSxHQUFPLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWU7UUFDakIsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFBLCtCQUFPLEVBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFdkUsT0FBTyxXQUFXO2FBQ2IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDekMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFD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QUFDO1FBRXhCLE1BQU0seUJBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0o7QUE5RkQsZ0NBOEZDO0FBRUQscUNBQXFDO0FBQ3JDLGFBQWEsQ0FBQyxxQkFBcUIsR0FBRyxzQkFBc0IsQ0FBQztBQUU3RCxJQUFBLHlCQUFhLEVBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IG9zIGZyb20gJ29zJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHNldHVwRXhpdEhvb2sgZnJvbSAnYXN5bmMtZXhpdC1ob29rJztcbmltcG9ydCB0bXAgZnJvbSAndG1wJztcbmltcG9ydCBtYWtlRGlyIGZyb20gJ21ha2UtZGlyJztcbmltcG9ydCBMb2NrRmlsZSBmcm9tICcuL2xvY2tmaWxlJztcbmltcG9ydCBjbGVhbnVwUHJvY2VzcyBmcm9tICcuL2NsZWFudXAtcHJvY2Vzcyc7XG5pbXBvcnQgeyByZWFkRGlyIH0gZnJvbSAnLi4vLi4vdXRpbHMvcHJvbWlzaWZpZWQtZnVuY3Rpb25zJztcblxuXG4vLyBOT1RFOiBtdXRhYmxlIGZvciB0ZXN0aW5nIHB1cnBvc2VzXG5jb25zdCBURVNUQ0FGRV9UTVBfRElSU19ST09UID0gcGF0aC5qb2luKG9zLnRtcGRpcigpLCAndGVzdGNhZmUnKTtcbmNvbnN0IERFRkFVTFRfTkFNRV9QUkVGSVggICAgPSAndG1wJztcbmNvbnN0IFVTRURfVEVNUF9ESVJTICAgICAgICAgPSB7fTtcbmNvbnN0IERFQlVHX0xPR0dFUiAgICAgICAgICAgPSBkZWJ1ZygndGVzdGNhZmU6dXRpbHM6dGVtcC1kaXJlY3RvcnknKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVtcERpcmVjdG9yeSB7XG4gICAgY29uc3RydWN0b3IgKG5hbWVQcmVmaXgpIHtcbiAgICAgICAgdGhpcy5uYW1lUHJlZml4ID0gbmFtZVByZWZpeCB8fCBERUZBVUxUX05BTUVfUFJFRklYO1xuXG4gICAgICAgIHRoaXMucGF0aCAgICAgPSAnJztcbiAgICAgICAgdGhpcy5sb2NrRmlsZSA9IG51bGw7XG4gICAgfVxuXG4gICAgYXN5bmMgX2dldFRtcERpcnNMaXN0ICgpIHtcbiAgICAgICAgY29uc3QgdG1wRGlyTmFtZXMgPSBhd2FpdCByZWFkRGlyKFRlbXBEaXJlY3RvcnkuVEVNUF9ESVJFQ1RPUklFU19ST09UKTtcblxuICAgICAgICByZXR1cm4gdG1wRGlyTmFtZXNcbiAgICAgICAgICAgIC5maWx0ZXIodG1wRGlyID0+ICFVU0VEX1RFTVBfRElSU1t0bXBEaXJdKVxuICAgICAgICAgICAgLmZpbHRlcih0bXBEaXIgPT4gcGF0aC5iYXNlbmFtZSh0bXBEaXIpLnN0YXJ0c1dpdGgodGhpcy5uYW1lUHJlZml4KSk7XG4gICAgfVxuXG4gICAgYXN5bmMgX2ZpbmRGcmVlVG1wRGlyICh0bXBEaXJOYW1lcykge1xuICAgICAgICBmb3IgKGNvbnN0IHRtcERpck5hbWUgb2YgdG1wRGlyTmFtZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHRtcERpclBhdGggPSBwYXRoLmpvaW4oVGVtcERpcmVjdG9yeS5URU1QX0RJUkVDVE9SSUVTX1JPT1QsIHRtcERpck5hbWUpO1xuXG4gICAgICAgICAgICBjb25zdCBsb2NrRmlsZSA9IG5ldyBMb2NrRmlsZSh0bXBEaXJQYXRoKTtcblxuICAgICAgICAgICAgaWYgKGxvY2tGaWxlLmluaXQoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucGF0aCAgICAgPSB0bXBEaXJQYXRoO1xuICAgICAgICAgICAgICAgIHRoaXMubG9ja0ZpbGUgPSBsb2NrRmlsZTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGFzeW5jIF9jcmVhdGVOZXdUbXBEaXIgKCkge1xuICAgICAgICB0aGlzLnBhdGggPSB0bXAudG1wTmFtZVN5bmMoeyBkaXI6IFRlbXBEaXJlY3RvcnkuVEVNUF9ESVJFQ1RPUklFU19ST09ULCBwcmVmaXg6IHRoaXMubmFtZVByZWZpeCArICctJyB9KTtcblxuICAgICAgICBhd2FpdCBtYWtlRGlyKHRoaXMucGF0aCk7XG5cbiAgICAgICAgdGhpcy5sb2NrRmlsZSA9IG5ldyBMb2NrRmlsZSh0aGlzLnBhdGgpO1xuXG4gICAgICAgIHRoaXMubG9ja0ZpbGUuaW5pdCgpO1xuICAgIH1cblxuICAgIF9kaXNwb3NlU3luYyAoKSB7XG4gICAgICAgIGlmICghVVNFRF9URU1QX0RJUlNbdGhpcy5wYXRoXSlcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICB0aGlzLmxvY2tGaWxlLmRpc3Bvc2UoKTtcblxuICAgICAgICBkZWxldGUgVVNFRF9URU1QX0RJUlNbdGhpcy5wYXRoXTtcbiAgICB9XG5cbiAgICBzdGF0aWMgYXN5bmMgY3JlYXRlRGlyZWN0b3J5IChwcmVmaXgpIHtcbiAgICAgICAgY29uc3QgdG1wRGlyID0gbmV3IFRlbXBEaXJlY3RvcnkocHJlZml4KTtcblxuICAgICAgICBhd2FpdCB0bXBEaXIuaW5pdCgpO1xuXG4gICAgICAgIHJldHVybiB0bXBEaXI7XG4gICAgfVxuXG4gICAgc3RhdGljIGRpc3Bvc2VEaXJlY3Rvcmllc1N5bmMgKCkge1xuICAgICAgICBPYmplY3QudmFsdWVzKFVTRURfVEVNUF9ESVJTKS5mb3JFYWNoKHRtcERpciA9PiB0bXBEaXIuX2Rpc3Bvc2VTeW5jKCkpO1xuICAgIH1cblxuICAgIGFzeW5jIGluaXQgKCkge1xuICAgICAgICBhd2FpdCBtYWtlRGlyKFRlbXBEaXJlY3RvcnkuVEVNUF9ESVJFQ1RPUklFU19ST09UKTtcblxuICAgICAgICBjb25zdCB0bXBEaXJOYW1lcyA9IGF3YWl0IHRoaXMuX2dldFRtcERpcnNMaXN0KHRoaXMubmFtZVByZWZpeCk7XG5cbiAgICAgICAgREVCVUdfTE9HR0VSKCdGb3VuZCB0ZW1wIGRpcmVjdG9yaWVzOicsIHRtcERpck5hbWVzKTtcblxuICAgICAgICBjb25zdCBleGlzdGluZ1RtcERpckZvdW5kID0gYXdhaXQgdGhpcy5fZmluZEZyZWVUbXBEaXIodG1wRGlyTmFtZXMpO1xuXG4gICAgICAgIGlmICghZXhpc3RpbmdUbXBEaXJGb3VuZClcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2NyZWF0ZU5ld1RtcERpcigpO1xuXG4gICAgICAgIERFQlVHX0xPR0dFUignVGVtcCBkaXJlY3RvcnkgcGF0aDogJywgdGhpcy5wYXRoKTtcblxuICAgICAgICBhd2FpdCBjbGVhbnVwUHJvY2Vzcy5pbml0KCk7XG4gICAgICAgIGF3YWl0IGNsZWFudXBQcm9jZXNzLmFkZERpcmVjdG9yeSh0aGlzLnBhdGgpO1xuXG4gICAgICAgIFVTRURfVEVNUF9ESVJTW3RoaXMucGF0aF0gPSB0aGlzO1xuICAgIH1cblxuICAgIGFzeW5jIGRpc3Bvc2UgKCkge1xuICAgICAgICBpZiAoIVVTRURfVEVNUF9ESVJTW3RoaXMucGF0aF0pXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgdGhpcy5sb2NrRmlsZS5kaXNwb3NlKCk7XG5cbiAgICAgICAgYXdhaXQgY2xlYW51cFByb2Nlc3MucmVtb3ZlRGlyZWN0b3J5KHRoaXMucGF0aCk7XG5cbiAgICAgICAgZGVsZXRlIFVTRURfVEVNUF9ESVJTW3RoaXMucGF0aF07XG4gICAgfVxufVxuXG4vLyBOT1RFOiBleHBvc2VkIGZvciB0ZXN0aW5nIHB1cnBvc2VzXG5UZW1wRGlyZWN0b3J5LlRFTVBfRElSRUNUT1JJRVNfUk9PVCA9IFRFU1RDQUZFX1RNUF9ESVJTX1JPT1Q7XG5cbnNldHVwRXhpdEhvb2soVGVtcERpcmVjdG9yeS5kaXNwb3NlRGlyZWN0b3JpZXNTeW5jKTtcbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvdGVtcC1kaXJlY3RvcnkvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsNENBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4QixzRUFBNEM7QUFDNUMsOENBQXNCO0FBQ3RCLHdEQUErQjtBQUMvQiwwREFBa0M7QUFDbEMsd0VBQStDO0FBQy9DLDZFQUE0RDtBQUc1RCxxQ0FBcUM7QUFDckMsTUFBTSxzQkFBc0IsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFlBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNsRSxNQUFNLG1CQUFtQixHQUFNLEtBQUssQ0FBQztBQUNyQyxNQUFNLGNBQWMsR0FBVyxFQUFFLENBQUM7QUFDbEMsTUFBTSxZQUFZLEdBQWEsSUFBQSxlQUFLLEVBQUMsK0JBQStCLENBQUMsQ0FBQztBQUV0RSxNQUFxQixhQUFhO0lBQzlCLFlBQWEsVUFBVTtRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxtQkFBbUIsQ0FBQztRQUVwRCxJQUFJLENBQUMsSUFBSSxHQUFPLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWU7UUFDakIsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFBLCtCQUFPLEVBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFdkUsT0FBTyxXQUFXO2FBQ2IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDekMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFD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QUFDO1FBRXhCLE1BQU0seUJBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0o7QUE5RkQsZ0NBOEZDO0FBRUQscUNBQXFDO0FBQ3JDLGFBQWEsQ0FBQyxxQkFBcUIsR0FBRyxzQkFBc0IsQ0FBQztBQUU3RCxJQUFBLHlCQUFhLEVBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IG9zIGZyb20gJ29zJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHNldHVwRXhpdEhvb2sgZnJvbSAnYXN5bmMtZXhpdC1ob29rJztcbmltcG9ydCB0bXAgZnJvbSAndG1wJztcbmltcG9ydCBtYWtlRGlyIGZyb20gJ21ha2UtZGlyJztcbmltcG9ydCBMb2NrRmlsZSBmcm9tICcuL2xvY2tmaWxlJztcbmltcG9ydCBjbGVhbnVwUHJvY2VzcyBmcm9tICcuL2NsZWFudXAtcHJvY2Vzcyc7XG5pbXBvcnQgeyByZWFkRGlyIH0gZnJvbSAnLi4vLi4vdXRpbHMvcHJvbWlzaWZpZWQtZnVuY3Rpb25zJztcblxuXG4vLyBOT1RFOiBtdXRhYmxlIGZvciB0ZXN0aW5nIHB1cnBvc2VzXG5jb25zdCBURVNUQ0FGRV9UTVBfRElSU19ST09UID0gcGF0aC5qb2luKG9zLnRtcGRpcigpLCAndGVzdGNhZmUnKTtcbmNvbnN0IERFRkFVTFRfTkFNRV9QUkVGSVggICAgPSAndG1wJztcbmNvbnN0IFVTRURfVEVNUF9ESVJTICAgICAgICAgPSB7fTtcbmNvbnN0IERFQlVHX0xPR0dFUiAgICAgICAgICAgPSBkZWJ1ZygndGVzdGNhZmU6dXRpbHM6dGVtcC1kaXJlY3RvcnknKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVtcERpcmVjdG9yeSB7XG4gICAgY29uc3RydWN0b3IgKG5hbWVQcmVmaXgpIHtcbiAgICAgICAgdGhpcy5uYW1lUHJlZml4ID0gbmFtZVByZWZpeCB8fCBERUZBVUxUX05BTUVfUFJFRklYO1xuXG4gICAgICAgIHRoaXMucGF0aCAgICAgPSAnJztcbiAgICAgICAgdGhpcy5sb2NrRmlsZSA9IG51bGw7XG4gICAgfVxuXG4gICAgYXN5bmMgX2dldFRtcERpcnNMaXN0ICgpIHtcbiAgICAgICAgY29uc3QgdG1wRGlyTmFtZXMgPSBhd2FpdCByZWFkRGlyKFRlbXBEaXJlY3RvcnkuVEVNUF9ESVJFQ1RPUklFU19ST09UKTtcblxuICAgICAgICByZXR1cm4gdG1wRGlyTmFtZXNcbiAgICAgICAgICAgIC5maWx0ZXIodG1wRGlyID0+ICFVU0VEX1RFTVBfRElSU1t0bXBEaXJdKVxuICAgICAgICAgICAgLmZpbHRlcih0bXBEaXIgPT4gcGF0aC5iYXNlbmFtZSh0bXBEaXIpLnN0YXJ0c1dpdGgodGhpcy5uYW1lUHJlZml4KSk7XG4gICAgfVxuXG4gICAgYXN5bmMgX2ZpbmRGcmVlVG1wRGlyICh0bXBEaXJOYW1lcykge1xuICAgICAgICBmb3IgKGNvbnN0IHRtcERpck5hbWUgb2YgdG1wRGlyTmFtZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHRtcERpclBhdGggPSBwYXRoLmpvaW4oVGVtcERpcmVjdG9yeS5URU1QX0RJUkVDVE9SSUVTX1JPT1QsIHRtcERpck5hbWUpO1xuXG4gICAgICAgICAgICBjb25zdCBsb2NrRmlsZSA9IG5ldyBMb2NrRmlsZSh0bXBEaXJQYXRoKTtcblxuICAgICAgICAgICAgaWYgKGxvY2tGaWxlLmluaXQoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucGF0aCAgICAgPSB0bXBEaXJQYXRoO1xuICAgICAgICAgICAgICAgIHRoaXMubG9ja0ZpbGUgPSBsb2NrRmlsZTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGFzeW5jIF9jcmVhdGVOZXdUbXBEaXIgKCkge1xuICAgICAgICB0aGlzLnBhdGggPSB0bXAudG1wTmFtZVN5bmMoeyB0bXBkaXI6IFRlbXBEaXJlY3RvcnkuVEVNUF9ESVJFQ1RPUklFU19ST09ULCBwcmVmaXg6IHRoaXMubmFtZVByZWZpeCArICctJyB9KTtcblxuICAgICAgICBhd2FpdCBtYWtlRGlyKHRoaXMucGF0aCk7XG5cbiAgICAgICAgdGhpcy5sb2NrRmlsZSA9IG5ldyBMb2NrRmlsZSh0aGlzLnBhdGgpO1xuXG4gICAgICAgIHRoaXMubG9ja0ZpbGUuaW5pdCgpO1xuICAgIH1cblxuICAgIF9kaXNwb3NlU3luYyAoKSB7XG4gICAgICAgIGlmICghVVNFRF9URU1QX0RJUlNbdGhpcy5wYXRoXSlcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICB0aGlzLmxvY2tGaWxlLmRpc3Bvc2UoKTtcblxuICAgICAgICBkZWxldGUgVVNFRF9URU1QX0RJUlNbdGhpcy5wYXRoXTtcbiAgICB9XG5cbiAgICBzdGF0aWMgYXN5bmMgY3JlYXRlRGlyZWN0b3J5IChwcmVmaXgpIHtcbiAgICAgICAgY29uc3QgdG1wRGlyID0gbmV3IFRlbXBEaXJlY3RvcnkocHJlZml4KTtcblxuICAgICAgICBhd2FpdCB0bXBEaXIuaW5pdCgpO1xuXG4gICAgICAgIHJldHVybiB0bXBEaXI7XG4gICAgfVxuXG4gICAgc3RhdGljIGRpc3Bvc2VEaXJlY3Rvcmllc1N5bmMgKCkge1xuICAgICAgICBPYmplY3QudmFsdWVzKFVTRURfVEVNUF9ESVJTKS5mb3JFYWNoKHRtcERpciA9PiB0bXBEaXIuX2Rpc3Bvc2VTeW5jKCkpO1xuICAgIH1cblxuICAgIGFzeW5jIGluaXQgKCkge1xuICAgICAgICBhd2FpdCBtYWtlRGlyKFRlbXBEaXJlY3RvcnkuVEVNUF9ESVJFQ1RPUklFU19ST09UKTtcblxuICAgICAgICBjb25zdCB0bXBEaXJOYW1lcyA9IGF3YWl0IHRoaXMuX2dldFRtcERpcnNMaXN0KHRoaXMubmFtZVByZWZpeCk7XG5cbiAgICAgICAgREVCVUdfTE9HR0VSKCdGb3VuZCB0ZW1wIGRpcmVjdG9yaWVzOicsIHRtcERpck5hbWVzKTtcblxuICAgICAgICBjb25zdCBleGlzdGluZ1RtcERpckZvdW5kID0gYXdhaXQgdGhpcy5fZmluZEZyZWVUbXBEaXIodG1wRGlyTmFtZXMpO1xuXG4gICAgICAgIGlmICghZXhpc3RpbmdUbXBEaXJGb3VuZClcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2NyZWF0ZU5ld1RtcERpcigpO1xuXG4gICAgICAgIERFQlVHX0xPR0dFUignVGVtcCBkaXJlY3RvcnkgcGF0aDogJywgdGhpcy5wYXRoKTtcblxuICAgICAgICBhd2FpdCBjbGVhbnVwUHJvY2Vzcy5pbml0KCk7XG4gICAgICAgIGF3YWl0IGNsZWFudXBQcm9jZXNzLmFkZERpcmVjdG9yeSh0aGlzLnBhdGgpO1xuXG4gICAgICAgIFVTRURfVEVNUF9ESVJTW3RoaXMucGF0aF0gPSB0aGlzO1xuICAgIH1cblxuICAgIGFzeW5jIGRpc3Bvc2UgKCkge1xuICAgICAgICBpZiAoIVVTRURfVEVNUF9ESVJTW3RoaXMucGF0aF0pXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgdGhpcy5sb2NrRmlsZS5kaXNwb3NlKCk7XG5cbiAgICAgICAgYXdhaXQgY2xlYW51cFByb2Nlc3MucmVtb3ZlRGlyZWN0b3J5KHRoaXMucGF0aCk7XG5cbiAgICAgICAgZGVsZXRlIFVTRURfVEVNUF9ESVJTW3RoaXMucGF0aF07XG4gICAgfVxufVxuXG4vLyBOT1RFOiBleHBvc2VkIGZvciB0ZXN0aW5nIHB1cnBvc2VzXG5UZW1wRGlyZWN0b3J5LlRFTVBfRElSRUNUT1JJRVNfUk9PVCA9IFRFU1RDQUZFX1RNUF9ESVJTX1JPT1Q7XG5cbnNldHVwRXhpdEhvb2soVGVtcERpcmVjdG9yeS5kaXNwb3NlRGlyZWN0b3JpZXNTeW5jKTtcbiJdfQ==
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "testcafe",
3
3
  "description": "Automated browser testing for the modern web development stack.",
4
4
  "license": "MIT",
5
- "version": "3.7.2",
5
+ "version": "3.7.4",
6
6
  "author": {
7
7
  "name": "Developer Express Inc.",
8
8
  "url": "https://www.devexpress.com/"
@@ -97,7 +97,7 @@
97
97
  "del": "^3.0.0",
98
98
  "device-specs": "^1.0.0",
99
99
  "devtools-protocol": "0.0.1109433",
100
- "diff": "^4.0.2",
100
+ "diff": "^8.0.3",
101
101
  "elegant-spinner": "^1.0.1",
102
102
  "email-validator": "^2.0.4",
103
103
  "emittery": "^0.4.1",
@@ -144,7 +144,7 @@
144
144
  "source-map-support": "^0.5.16",
145
145
  "strip-bom": "^2.0.0",
146
146
  "testcafe-browser-tools": "2.0.26",
147
- "testcafe-hammerhead": "31.7.5",
147
+ "testcafe-hammerhead": "31.7.7",
148
148
  "testcafe-legacy-api": "5.1.8",
149
149
  "testcafe-reporter-json": "^2.1.0",
150
150
  "testcafe-reporter-list": "^2.2.0",
@@ -153,13 +153,14 @@
153
153
  "testcafe-reporter-xunit": "^2.2.1",
154
154
  "testcafe-selector-generator": "^0.1.0",
155
155
  "time-limit-promise": "^1.0.2",
156
- "tmp": "0.0.28",
156
+ "tmp": "0.2.5",
157
157
  "tree-kill": "^1.2.2",
158
158
  "typescript": "4.7.4",
159
159
  "unquote": "^1.1.1",
160
160
  "url-to-options": "^2.0.0"
161
161
  },
162
162
  "devDependencies": {
163
+ "@devexpress/gulp-qunit-harness": "^1.1.0",
163
164
  "@ffmpeg-installer/ffmpeg": "^1.0.17",
164
165
  "@ffprobe-installer/ffprobe": "^2.1.1",
165
166
  "@rollup/plugin-alias": "^3.1.1",
@@ -209,17 +210,15 @@
209
210
  "gulp-ll-next": "^2.1.0",
210
211
  "gulp-mocha-simple": "^2.0.0",
211
212
  "gulp-mustache": "^3.0.1",
212
- "gulp-qunit-harness": "^1.0.3",
213
213
  "gulp-rename": "^1.3.0",
214
214
  "gulp-step": "^1.0.1",
215
215
  "gulp-uglify": "^3.0.0",
216
- "js-yaml": "^3.6.1",
217
216
  "license-checker": "^20.0.0",
218
217
  "markdownlint": "^0.34.0",
219
218
  "merge-stream": "^1.0.1",
220
219
  "minimist": "^1.2.0",
221
220
  "mocha-reporter-spec-with-retries": "1.0.0",
222
- "multer": "1.4.4-lts.1",
221
+ "multer": "2.0.2",
223
222
  "openssl-self-signed-certificate": "^1.1.6",
224
223
  "proxyquire": "^2.1.0",
225
224
  "react": "^16.13.1",