jsii-diff 1.37.0 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** The qualified version number for this JSII compiler. */
2
- export declare const VERSION = "1.37.0 (build a6fe12f)";
2
+ export declare const VERSION = "1.41.0 (build a274beb)";
package/lib/version.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- // Generated at 2021-10-06T14:59:19Z by generate.sh
2
+ // Generated at 2021-10-27T12:44:36Z by generate.sh
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.VERSION = void 0;
5
5
  /** The qualified version number for this JSII compiler. */
6
- exports.VERSION = '1.37.0 (build a6fe12f)';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG1EQUFtRDs7O0FBRW5ELDJEQUEyRDtBQUM5QyxRQUFBLE9BQU8sR0FBRyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdlbmVyYXRlZCBhdCAyMDIxLTEwLTA2VDE0OjU5OjE5WiBieSBnZW5lcmF0ZS5zaFxuXG4vKiogVGhlIHF1YWxpZmllZCB2ZXJzaW9uIG51bWJlciBmb3IgdGhpcyBKU0lJIGNvbXBpbGVyLiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSAnMS4zNy4wIChidWlsZCBhNmZlMTJmKSc7XG4iXX0=
6
+ exports.VERSION = '1.41.0 (build a274beb)';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG1EQUFtRDs7O0FBRW5ELDJEQUEyRDtBQUM5QyxRQUFBLE9BQU8sR0FBRyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdlbmVyYXRlZCBhdCAyMDIxLTEwLTI3VDEyOjQ0OjM2WiBieSBnZW5lcmF0ZS5zaFxuXG4vKiogVGhlIHF1YWxpZmllZCB2ZXJzaW9uIG51bWJlciBmb3IgdGhpcyBKU0lJIGNvbXBpbGVyLiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSAnMS40MS4wIChidWlsZCBhMjc0YmViKSc7XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jsii-diff",
3
- "version": "1.37.0",
3
+ "version": "1.41.0",
4
4
  "description": "Assembly comparison for jsii",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -33,10 +33,10 @@
33
33
  "package": "package-js"
34
34
  },
35
35
  "dependencies": {
36
- "@jsii/check-node": "1.37.0",
37
- "@jsii/spec": "^1.37.0",
36
+ "@jsii/check-node": "1.41.0",
37
+ "@jsii/spec": "^1.41.0",
38
38
  "fs-extra": "^9.1.0",
39
- "jsii-reflect": "^1.37.0",
39
+ "jsii-reflect": "^1.41.0",
40
40
  "log4js": "^6.3.0",
41
41
  "typescript": "~3.9.10",
42
42
  "yargs": "^16.2.0"
@@ -44,14 +44,13 @@
44
44
  "devDependencies": {
45
45
  "@types/fs-extra": "^9.0.13",
46
46
  "@types/jest": "^27.0.2",
47
- "@types/jest-expect-message": "^1.0.3",
48
- "@types/node": "^12.20.27",
47
+ "@types/node": "^12.20.28",
49
48
  "@types/tar-fs": "^2.0.1",
50
49
  "eslint": "^7.32.0",
51
50
  "jest": "^27.2.4",
52
51
  "jest-expect-message": "^1.0.2",
53
- "jsii": "^1.37.0",
54
- "jsii-build-tools": "^1.37.0",
52
+ "jsii": "^1.41.0",
53
+ "jsii-build-tools": "^1.41.0",
55
54
  "prettier": "^2.4.1"
56
55
  }
57
56
  }
package/test/util.js CHANGED
@@ -20,7 +20,9 @@ async function expectError(error, original, updated) {
20
20
  const mms = await compare(original, updated);
21
21
  expect(mms.count).not.toBe(0);
22
22
  const msgs = Array.from(mms.messages());
23
- expect(msgs.some((m) => error.test(m)), `Expected error like ${error.toString()}, got ${msgs.join(', ')}`).toBeTruthy();
23
+ if (!msgs.some((m) => error.test(m))) {
24
+ expect(msgs.join(',')).toMatch(error);
25
+ }
24
26
  }
25
27
  exports.expectError = expectError;
26
28
  async function compare(original, updated) {
@@ -35,4 +37,4 @@ async function compare(original, updated) {
35
37
  return lib_1.compareAssemblies(originalAssembly, updatedAssembly);
36
38
  }
37
39
  exports.compare = compare;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQThDO0FBQzlDLHdDQUF3QztBQUV4QyxnQ0FBMkM7QUFHcEMsS0FBSyxVQUFVLGFBQWEsQ0FBQyxRQUFnQixFQUFFLE9BQWU7SUFDbkUsTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQ2hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQzNCO0lBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQU5ELHNDQU1DO0FBRU0sS0FBSyxVQUFVLFdBQVcsQ0FDL0IsS0FBeUIsRUFDekIsUUFBZ0IsRUFDaEIsT0FBZTtJQUVmLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtRQUNqQixNQUFNLGFBQWEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdkMsT0FBTztLQUNSO0lBRUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU5QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sQ0FDSixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQy9CLHVCQUF1QixLQUFLLENBQUMsUUFBUSxFQUFFLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNsRSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ2pCLENBQUM7QUFsQkQsa0NBa0JDO0FBRU0sS0FBSyxVQUFVLE9BQU8sQ0FDM0IsUUFBZ0IsRUFDaEIsT0FBZTtJQUVmLE1BQU0sSUFBSSxHQUFHLDZCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDckMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUN0QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQ3RDLENBQUM7SUFFRixNQUFNLElBQUksR0FBRyw2QkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9DLE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3JDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQ3JDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FDdEMsQ0FBQztJQUVGLE9BQU8sdUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQW5CRCwwQkFtQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzb3VyY2VUb0Fzc2VtYmx5SGVscGVyIH0gZnJvbSAnanNpaSc7XG5pbXBvcnQgKiBhcyByZWZsZWN0IGZyb20gJ2pzaWktcmVmbGVjdCc7XG5cbmltcG9ydCB7IGNvbXBhcmVBc3NlbWJsaWVzIH0gZnJvbSAnLi4vbGliJztcbmltcG9ydCB7IE1pc21hdGNoZXMgfSBmcm9tICcuLi9saWIvdHlwZXMnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhwZWN0Tm9FcnJvcihvcmlnaW5hbDogc3RyaW5nLCB1cGRhdGVkOiBzdHJpbmcpIHtcbiAgY29uc3QgbW1zID0gYXdhaXQgY29tcGFyZShvcmlnaW5hbCwgdXBkYXRlZCk7XG4gIGZvciAoY29uc3QgbXNnIG9mIG1tcy5tZXNzYWdlcygpKSB7XG4gICAgY29uc29sZS5lcnJvcihgLSAke21zZ31gKTtcbiAgfVxuICBleHBlY3QobW1zLmNvdW50KS50b0JlKDApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhwZWN0RXJyb3IoXG4gIGVycm9yOiBSZWdFeHAgfCB1bmRlZmluZWQsXG4gIG9yaWdpbmFsOiBzdHJpbmcsXG4gIHVwZGF0ZWQ6IHN0cmluZyxcbikge1xuICBpZiAoZXJyb3IgPT0gbnVsbCkge1xuICAgIGF3YWl0IGV4cGVjdE5vRXJyb3Iob3JpZ2luYWwsIHVwZGF0ZWQpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IG1tcyA9IGF3YWl0IGNvbXBhcmUob3JpZ2luYWwsIHVwZGF0ZWQpO1xuICBleHBlY3QobW1zLmNvdW50KS5ub3QudG9CZSgwKTtcblxuICBjb25zdCBtc2dzID0gQXJyYXkuZnJvbShtbXMubWVzc2FnZXMoKSk7XG4gIGV4cGVjdChcbiAgICBtc2dzLnNvbWUoKG0pID0+IGVycm9yLnRlc3QobSkpLFxuICAgIGBFeHBlY3RlZCBlcnJvciBsaWtlICR7ZXJyb3IudG9TdHJpbmcoKX0sIGdvdCAke21zZ3Muam9pbignLCAnKX1gLFxuICApLnRvQmVUcnV0aHkoKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbXBhcmUoXG4gIG9yaWdpbmFsOiBzdHJpbmcsXG4gIHVwZGF0ZWQ6IHN0cmluZyxcbik6IFByb21pc2U8TWlzbWF0Y2hlcz4ge1xuICBjb25zdCBhc3MxID0gc291cmNlVG9Bc3NlbWJseUhlbHBlcihvcmlnaW5hbCk7XG4gIGF3YWl0IGV4cGVjdChhc3MxKS5yZXNvbHZlcy5ub3QudG9UaHJvd0Vycm9yKCk7XG4gIGNvbnN0IHRzMSA9IG5ldyByZWZsZWN0LlR5cGVTeXN0ZW0oKTtcbiAgY29uc3Qgb3JpZ2luYWxBc3NlbWJseSA9IHRzMS5hZGRBc3NlbWJseShcbiAgICBuZXcgcmVmbGVjdC5Bc3NlbWJseSh0czEsIGF3YWl0IGFzczEpLFxuICApO1xuXG4gIGNvbnN0IGFzczIgPSBzb3VyY2VUb0Fzc2VtYmx5SGVscGVyKHVwZGF0ZWQpO1xuICBhd2FpdCBleHBlY3QoYXNzMikucmVzb2x2ZXMubm90LnRvVGhyb3dFcnJvcigpO1xuICBjb25zdCB0czIgPSBuZXcgcmVmbGVjdC5UeXBlU3lzdGVtKCk7XG4gIGNvbnN0IHVwZGF0ZWRBc3NlbWJseSA9IHRzMi5hZGRBc3NlbWJseShcbiAgICBuZXcgcmVmbGVjdC5Bc3NlbWJseSh0czIsIGF3YWl0IGFzczIpLFxuICApO1xuXG4gIHJldHVybiBjb21wYXJlQXNzZW1ibGllcyhvcmlnaW5hbEFzc2VtYmx5LCB1cGRhdGVkQXNzZW1ibHkpO1xufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQThDO0FBQzlDLHdDQUF3QztBQUV4QyxnQ0FBMkM7QUFHcEMsS0FBSyxVQUFVLGFBQWEsQ0FBQyxRQUFnQixFQUFFLE9BQWU7SUFDbkUsTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQ2hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQzNCO0lBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQU5ELHNDQU1DO0FBRU0sS0FBSyxVQUFVLFdBQVcsQ0FDL0IsS0FBeUIsRUFDekIsUUFBZ0IsRUFDaEIsT0FBZTtJQUVmLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtRQUNqQixNQUFNLGFBQWEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdkMsT0FBTztLQUNSO0lBRUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU5QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRXhDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDdkM7QUFDSCxDQUFDO0FBbEJELGtDQWtCQztBQUVNLEtBQUssVUFBVSxPQUFPLENBQzNCLFFBQWdCLEVBQ2hCLE9BQWU7SUFFZixNQUFNLElBQUksR0FBRyw2QkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9DLE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FDdEMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUN0QyxDQUFDO0lBRUYsTUFBTSxJQUFJLEdBQUcsNkJBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQyxNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNyQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUNyQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQ3RDLENBQUM7SUFFRixPQUFPLHVCQUFpQixDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFuQkQsMEJBbUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc291cmNlVG9Bc3NlbWJseUhlbHBlciB9IGZyb20gJ2pzaWknO1xuaW1wb3J0ICogYXMgcmVmbGVjdCBmcm9tICdqc2lpLXJlZmxlY3QnO1xuXG5pbXBvcnQgeyBjb21wYXJlQXNzZW1ibGllcyB9IGZyb20gJy4uL2xpYic7XG5pbXBvcnQgeyBNaXNtYXRjaGVzIH0gZnJvbSAnLi4vbGliL3R5cGVzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGV4cGVjdE5vRXJyb3Iob3JpZ2luYWw6IHN0cmluZywgdXBkYXRlZDogc3RyaW5nKSB7XG4gIGNvbnN0IG1tcyA9IGF3YWl0IGNvbXBhcmUob3JpZ2luYWwsIHVwZGF0ZWQpO1xuICBmb3IgKGNvbnN0IG1zZyBvZiBtbXMubWVzc2FnZXMoKSkge1xuICAgIGNvbnNvbGUuZXJyb3IoYC0gJHttc2d9YCk7XG4gIH1cbiAgZXhwZWN0KG1tcy5jb3VudCkudG9CZSgwKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGV4cGVjdEVycm9yKFxuICBlcnJvcjogUmVnRXhwIHwgdW5kZWZpbmVkLFxuICBvcmlnaW5hbDogc3RyaW5nLFxuICB1cGRhdGVkOiBzdHJpbmcsXG4pIHtcbiAgaWYgKGVycm9yID09IG51bGwpIHtcbiAgICBhd2FpdCBleHBlY3ROb0Vycm9yKG9yaWdpbmFsLCB1cGRhdGVkKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBtbXMgPSBhd2FpdCBjb21wYXJlKG9yaWdpbmFsLCB1cGRhdGVkKTtcbiAgZXhwZWN0KG1tcy5jb3VudCkubm90LnRvQmUoMCk7XG5cbiAgY29uc3QgbXNncyA9IEFycmF5LmZyb20obW1zLm1lc3NhZ2VzKCkpO1xuXG4gIGlmICghbXNncy5zb21lKChtKSA9PiBlcnJvci50ZXN0KG0pKSkge1xuICAgIGV4cGVjdChtc2dzLmpvaW4oJywnKSkudG9NYXRjaChlcnJvcik7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbXBhcmUoXG4gIG9yaWdpbmFsOiBzdHJpbmcsXG4gIHVwZGF0ZWQ6IHN0cmluZyxcbik6IFByb21pc2U8TWlzbWF0Y2hlcz4ge1xuICBjb25zdCBhc3MxID0gc291cmNlVG9Bc3NlbWJseUhlbHBlcihvcmlnaW5hbCk7XG4gIGF3YWl0IGV4cGVjdChhc3MxKS5yZXNvbHZlcy5ub3QudG9UaHJvd0Vycm9yKCk7XG4gIGNvbnN0IHRzMSA9IG5ldyByZWZsZWN0LlR5cGVTeXN0ZW0oKTtcbiAgY29uc3Qgb3JpZ2luYWxBc3NlbWJseSA9IHRzMS5hZGRBc3NlbWJseShcbiAgICBuZXcgcmVmbGVjdC5Bc3NlbWJseSh0czEsIGF3YWl0IGFzczEpLFxuICApO1xuXG4gIGNvbnN0IGFzczIgPSBzb3VyY2VUb0Fzc2VtYmx5SGVscGVyKHVwZGF0ZWQpO1xuICBhd2FpdCBleHBlY3QoYXNzMikucmVzb2x2ZXMubm90LnRvVGhyb3dFcnJvcigpO1xuICBjb25zdCB0czIgPSBuZXcgcmVmbGVjdC5UeXBlU3lzdGVtKCk7XG4gIGNvbnN0IHVwZGF0ZWRBc3NlbWJseSA9IHRzMi5hZGRBc3NlbWJseShcbiAgICBuZXcgcmVmbGVjdC5Bc3NlbWJseSh0czIsIGF3YWl0IGFzczIpLFxuICApO1xuXG4gIHJldHVybiBjb21wYXJlQXNzZW1ibGllcyhvcmlnaW5hbEFzc2VtYmx5LCB1cGRhdGVkQXNzZW1ibHkpO1xufVxuIl19