ts2famix 2.0.1 → 2.0.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.
package/dist/analyze.js CHANGED
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -33,7 +43,7 @@ const tslog_1 = require("tslog");
33
43
  const processFunctions = __importStar(require("./analyze_functions/process_functions"));
34
44
  const EntityDictionary_1 = require("./famix_functions/EntityDictionary");
35
45
  const path_1 = __importDefault(require("path"));
36
- exports.logger = new tslog_1.Logger({ name: "ts2famix", minLevel: 3 });
46
+ exports.logger = new tslog_1.Logger({ name: "ts2famix", minLevel: 2 });
37
47
  exports.config = { "expectGraphemes": false };
38
48
  exports.entityDictionary = new EntityDictionary_1.EntityDictionary();
39
49
  /**
@@ -120,4 +130,4 @@ function initFamixRep(project) {
120
130
  const absoluteBaseUrl = path_1.default.resolve(baseUrl);
121
131
  exports.entityDictionary.famixRep.setAbsolutePath(path_1.default.normalize(absoluteBaseUrl));
122
132
  }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hbmFseXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQW1DO0FBQ25DLHVDQUF5QjtBQUV6QixpQ0FBK0I7QUFDL0Isd0ZBQTBFO0FBQzFFLHlFQUFzRTtBQUN0RSxnREFBd0I7QUFFWCxRQUFBLE1BQU0sR0FBRyxJQUFJLGNBQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkQsUUFBQSxNQUFNLEdBQUcsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUN0QyxRQUFBLGdCQUFnQixHQUFHLElBQUksbUNBQWdCLEVBQUUsQ0FBQztBQUV2RDs7R0FFRztBQUNILE1BQWEsUUFBUTtJQUFyQjtRQUVZLFlBQU8sR0FBRyxJQUFJLGtCQUFPLENBQ3pCO1lBQ0ksZUFBZSxFQUFFO2dCQUNiLE9BQU8sRUFBRSxZQUFZO2FBQ3hCO1NBQ0osQ0FDSixDQUFDLENBQUMscURBQXFEO0lBb0Y1RCxDQUFDO0lBbEZHOzs7O09BSUc7SUFDSSxpQkFBaUIsQ0FBQyxLQUFvQjtRQUV6QyxlQUFlO1FBQ2YsY0FBTSxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsTUFBTSxRQUFRLEdBQUcsd0JBQWdCLENBQUMsUUFBUSxDQUFDO1FBQzNDLFdBQVc7UUFDWCx5QkFBeUI7UUFDekIsK0RBQStEO1FBQy9ELCtCQUErQjtRQUMvQiw2QkFBNkI7UUFDN0IsbUJBQW1CO1FBQ25CLFdBQVc7UUFFWCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRU8sZUFBZSxDQUFDLE9BQWdCO1FBQ3BDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNuRCxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7UUFDNUMsTUFBTSx5QkFBeUIsR0FBRyxnQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQztRQUM3RSxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7UUFDekMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO1FBQy9DLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUN6QyxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUVsRCxnQkFBZ0IsQ0FBQywrQ0FBK0MsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEcsZ0JBQWdCLENBQUMsOEJBQThCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQy9ELGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMxRCxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFFNUYsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILDhKQUE4SjtJQUN2SixrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLE1BQWM7UUFDdEQsTUFBTSxRQUFRLEdBQUcsY0FBYyxRQUFRLEtBQUssQ0FBQztRQUU3QyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFNUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUVwRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLG1CQUFtQixDQUFDLE9BQWdCO1FBQ3ZDLDhGQUE4RjtRQUU5RiwyREFBMkQ7UUFFM0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUIsT0FBTyx3QkFBZ0IsQ0FBQyxRQUFRLENBQUM7SUFDckMsQ0FBQztDQUVKO0FBNUZELDRCQTRGQztBQUVELFNBQVMsWUFBWSxDQUFDLE9BQWdCO0lBQ2xDLHVCQUF1QjtJQUN2QixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUVyRCxjQUFjO0lBQ2QsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUM7SUFFL0MsTUFBTSxlQUFlLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU5Qyx3QkFBZ0IsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLGNBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztBQUMvRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCJ0cy1tb3JwaFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgRmFtaXhSZXBvc2l0b3J5IH0gZnJvbSBcIi4vbGliL2ZhbWl4L2ZhbWl4X3JlcG9zaXRvcnlcIjtcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gXCJ0c2xvZ1wiO1xuaW1wb3J0ICogYXMgcHJvY2Vzc0Z1bmN0aW9ucyBmcm9tIFwiLi9hbmFseXplX2Z1bmN0aW9ucy9wcm9jZXNzX2Z1bmN0aW9uc1wiO1xuaW1wb3J0IHsgRW50aXR5RGljdGlvbmFyeSB9IGZyb20gXCIuL2ZhbWl4X2Z1bmN0aW9ucy9FbnRpdHlEaWN0aW9uYXJ5XCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5leHBvcnQgY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7IG5hbWU6IFwidHMyZmFtaXhcIiwgbWluTGV2ZWw6IDMgfSk7XG5leHBvcnQgY29uc3QgY29uZmlnID0geyBcImV4cGVjdEdyYXBoZW1lc1wiOiBmYWxzZSB9O1xuZXhwb3J0IGNvbnN0IGVudGl0eURpY3Rpb25hcnkgPSBuZXcgRW50aXR5RGljdGlvbmFyeSgpO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgaXMgdXNlZCB0byBidWlsZCBhIEZhbWl4IG1vZGVsIGZyb20gYSBUeXBlU2NyaXB0IHNvdXJjZSBjb2RlXG4gKi9cbmV4cG9ydCBjbGFzcyBJbXBvcnRlciB7XG5cbiAgICBwcml2YXRlIHByb2plY3QgPSBuZXcgUHJvamVjdChcbiAgICAgICAge1xuICAgICAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCIuL3Rlc3Rfc3JjXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICk7IC8vIFRoZSBwcm9qZWN0IGNvbnRhaW5pbmcgdGhlIHNvdXJjZSBmaWxlcyB0byBhbmFseXplXG5cbiAgICAvKipcbiAgICAgKiBNYWluIG1ldGhvZFxuICAgICAqIEBwYXJhbSBwYXRocyBBbiBhcnJheSBvZiBwYXRocyB0byB0aGUgc291cmNlIGZpbGVzIHRvIGFuYWx5emVcbiAgICAgKiBAcmV0dXJucyBUaGUgRmFtaXggcmVwb3NpdG9yeSBjb250YWluaW5nIHRoZSBGYW1peCBtb2RlbFxuICAgICAqL1xuICAgIHB1YmxpYyBmYW1peFJlcEZyb21QYXRocyhwYXRoczogQXJyYXk8c3RyaW5nPik6IEZhbWl4UmVwb3NpdG9yeSB7XG5cbiAgICAgICAgLy8gICAgICAgIHRyeSB7XG4gICAgICAgIGxvZ2dlci5kZWJ1ZyhgZmFtaXhSZXBGcm9tUGF0aHM6IHBhdGhzOiAke3BhdGhzfWApO1xuXG4gICAgICAgIHRoaXMucHJvamVjdC5hZGRTb3VyY2VGaWxlc0F0UGF0aHMocGF0aHMpO1xuXG4gICAgICAgIGluaXRGYW1peFJlcCh0aGlzLnByb2plY3QpO1xuXG4gICAgICAgIHRoaXMucHJvY2Vzc0VudGl0aWVzKHRoaXMucHJvamVjdCk7XG5cbiAgICAgICAgY29uc3QgZmFtaXhSZXAgPSBlbnRpdHlEaWN0aW9uYXJ5LmZhbWl4UmVwO1xuICAgICAgICAvLyAgICAgICAgfVxuICAgICAgICAvLyAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIGxvZ2dlci5lcnJvcihgPiBFUlJPUjogZ290IGV4Y2VwdGlvbiAke2Vycm9yfS4gRXhpdGluZy4uLmApO1xuICAgICAgICAvLyBsb2dnZXIuZXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIC8vIGxvZ2dlci5lcnJvcihlcnJvci5zdGFjayk7XG4gICAgICAgIC8vIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgLy8gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFtaXhSZXA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzRW50aXRpZXMocHJvamVjdDogUHJvamVjdCk6IHZvaWQge1xuICAgICAgICBjb25zdCBvbmx5VHlwZVNjcmlwdEZpbGVzID0gcHJvamVjdC5nZXRTb3VyY2VGaWxlcygpLmZpbHRlcihmID0+IGYuZ2V0RmlsZVBhdGgoKS5lbmRzV2l0aCgnLnRzJykpO1xuICAgICAgICBwcm9jZXNzRnVuY3Rpb25zLnByb2Nlc3NGaWxlcyhvbmx5VHlwZVNjcmlwdEZpbGVzKTtcbiAgICAgICAgY29uc3QgYWNjZXNzZXMgPSBwcm9jZXNzRnVuY3Rpb25zLmFjY2Vzc01hcDtcbiAgICAgICAgY29uc3QgbWV0aG9kc0FuZEZ1bmN0aW9uc1dpdGhJZCA9IHByb2Nlc3NGdW5jdGlvbnMubWV0aG9kc0FuZEZ1bmN0aW9uc1dpdGhJZDtcbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IHByb2Nlc3NGdW5jdGlvbnMuY2xhc3NlcztcbiAgICAgICAgY29uc3QgaW50ZXJmYWNlcyA9IHByb2Nlc3NGdW5jdGlvbnMuaW50ZXJmYWNlcztcbiAgICAgICAgY29uc3QgbW9kdWxlcyA9IHByb2Nlc3NGdW5jdGlvbnMubW9kdWxlcztcbiAgICAgICAgY29uc3QgZXhwb3J0cyA9IHByb2Nlc3NGdW5jdGlvbnMubGlzdE9mRXhwb3J0TWFwcztcblxuICAgICAgICBwcm9jZXNzRnVuY3Rpb25zLnByb2Nlc3NJbXBvcnRDbGF1c2VzRm9ySW1wb3J0RXF1YWxzRGVjbGFyYXRpb25zKHByb2plY3QuZ2V0U291cmNlRmlsZXMoKSwgZXhwb3J0cyk7XG4gICAgICAgIHByb2Nlc3NGdW5jdGlvbnMucHJvY2Vzc0ltcG9ydENsYXVzZXNGb3JNb2R1bGVzKG1vZHVsZXMsIGV4cG9ydHMpO1xuICAgICAgICBwcm9jZXNzRnVuY3Rpb25zLnByb2Nlc3NBY2Nlc3NlcyhhY2Nlc3Nlcyk7XG4gICAgICAgIHByb2Nlc3NGdW5jdGlvbnMucHJvY2Vzc0ludm9jYXRpb25zKG1ldGhvZHNBbmRGdW5jdGlvbnNXaXRoSWQpO1xuICAgICAgICBwcm9jZXNzRnVuY3Rpb25zLnByb2Nlc3NJbmhlcml0YW5jZXMoY2xhc3NlcywgaW50ZXJmYWNlcyk7XG4gICAgICAgIHByb2Nlc3NGdW5jdGlvbnMucHJvY2Vzc0NvbmNyZXRpc2F0aW9ucyhjbGFzc2VzLCBpbnRlcmZhY2VzLCBtZXRob2RzQW5kRnVuY3Rpb25zV2l0aElkKTtcblxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1haW4gbWV0aG9kIGZvciB0ZXN0c1xuICAgICAqXG4gICAgICogQHBhcmFtIGZpbGVuYW1lIFRoZSBuYW1lIG9mIHRoZSBmaWxlIHRvIGFuYWx5emVcbiAgICAgKiBAcGFyYW0gc291cmNlIEEgVHlwZVNjcmlwdCBzb3VyY2UgY29kZVxuICAgICAqIEByZXR1cm5zIFRoZSBGYW1peCByZXBvc2l0b3J5IGNvbnRhaW5pbmcgdGhlIEZhbWl4IG1vZGVsXG4gICAgICovXG4gICAgLy8gVE9ETzogdGhpcyBpcyBzbG93IGJlY2F1c2UgaXQgd3JpdGVzIHRoZSBzb3VyY2UgY29kZSB0byBhIGZpbGUgYW5kIHRoZW4gcmVhZHMgaXQgYWdhaW4gLSBpdCdzIHBvc3NpYmxlIHRvIGp1c3QgcGFzcyB0aGUgc291cmNlIGNvZGUgdG8gdGhlIHRzLW1vcnBoIHByb2plY3RcbiAgICBwdWJsaWMgZmFtaXhSZXBGcm9tU291cmNlKGZpbGVuYW1lOiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKTogRmFtaXhSZXBvc2l0b3J5IHtcbiAgICAgICAgY29uc3QgZmlsZVBhdGggPSBgLi90ZXN0X3NyYy8ke2ZpbGVuYW1lfS50c2A7XG5cbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgc291cmNlLCAndXRmLTgnKTtcblxuICAgICAgICBjb25zdCBmYW1peFJlcCA9IHRoaXMuZmFtaXhSZXBGcm9tUGF0aHMoW2ZpbGVQYXRoXSk7XG5cbiAgICAgICAgcmV0dXJuIGZhbWl4UmVwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1haW4gbWV0aG9kIGZvciBhIHRzLW1vcnBoIHByb2plY3RcbiAgICAgKiBAcGFyYW0gcHJvamVjdCBBIHRzLW1vcnBoIHByb2plY3RcbiAgICAgKiBAcmV0dXJucyBUaGUgRmFtaXggcmVwb3NpdG9yeSBjb250YWluaW5nIHRoZSBGYW1peCBtb2RlbFxuICAgICAqL1xuICAgIHB1YmxpYyBmYW1peFJlcEZyb21Qcm9qZWN0KHByb2plY3Q6IFByb2plY3QpOiBGYW1peFJlcG9zaXRvcnkge1xuICAgICAgICAvL2NvbnN0IHNvdXJjZUZpbGVOYW1lcyA9IHByb2plY3QuZ2V0U291cmNlRmlsZXMoKS5tYXAoZiA9PiBmLmdldEZpbGVQYXRoKCkpIGFzIEFycmF5PHN0cmluZz47XG5cbiAgICAgICAgLy9jb25zdCBmYW1peFJlcCA9IHRoaXMuZmFtaXhSZXBGcm9tUGF0aHMoc291cmNlRmlsZU5hbWVzKTtcblxuICAgICAgICBpbml0RmFtaXhSZXAocHJvamVjdCk7XG5cbiAgICAgICAgdGhpcy5wcm9jZXNzRW50aXRpZXMocHJvamVjdCk7XG5cbiAgICAgICAgcmV0dXJuIGVudGl0eURpY3Rpb25hcnkuZmFtaXhSZXA7XG4gICAgfVxuXG59XG5cbmZ1bmN0aW9uIGluaXRGYW1peFJlcChwcm9qZWN0OiBQcm9qZWN0KTogdm9pZCB7XG4gICAgLy8gZ2V0IGNvbXBpbGVyIG9wdGlvbnNcbiAgICBjb25zdCBjb21waWxlck9wdGlvbnMgPSBwcm9qZWN0LmdldENvbXBpbGVyT3B0aW9ucygpO1xuXG4gICAgLy8gZ2V0IGJhc2VVcmxcbiAgICBjb25zdCBiYXNlVXJsID0gY29tcGlsZXJPcHRpb25zLmJhc2VVcmwgfHwgXCIuXCI7XG5cbiAgICBjb25zdCBhYnNvbHV0ZUJhc2VVcmwgPSBwYXRoLnJlc29sdmUoYmFzZVVybCk7XG5cbiAgICBlbnRpdHlEaWN0aW9uYXJ5LmZhbWl4UmVwLnNldEFic29sdXRlUGF0aChwYXRoLm5vcm1hbGl6ZShhYnNvbHV0ZUJhc2VVcmwpKTtcbn1cbiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hbmFseXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUFtQztBQUNuQyx1Q0FBeUI7QUFFekIsaUNBQStCO0FBQy9CLHdGQUEwRTtBQUMxRSx5RUFBc0U7QUFDdEUsZ0RBQXdCO0FBRVgsUUFBQSxNQUFNLEdBQUcsSUFBSSxjQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZELFFBQUEsTUFBTSxHQUFHLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDdEMsUUFBQSxnQkFBZ0IsR0FBRyxJQUFJLG1DQUFnQixFQUFFLENBQUM7QUFFdkQ7O0dBRUc7QUFDSCxNQUFhLFFBQVE7SUFBckI7UUFFWSxZQUFPLEdBQUcsSUFBSSxrQkFBTyxDQUN6QjtZQUNJLGVBQWUsRUFBRTtnQkFDYixPQUFPLEVBQUUsWUFBWTthQUN4QjtTQUNKLENBQ0osQ0FBQyxDQUFDLHFEQUFxRDtJQW9GNUQsQ0FBQztJQWxGRzs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQUMsS0FBb0I7UUFFekMsZUFBZTtRQUNmLGNBQU0sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5DLE1BQU0sUUFBUSxHQUFHLHdCQUFnQixDQUFDLFFBQVEsQ0FBQztRQUMzQyxXQUFXO1FBQ1gseUJBQXlCO1FBQ3pCLCtEQUErRDtRQUMvRCwrQkFBK0I7UUFDL0IsNkJBQTZCO1FBQzdCLG1CQUFtQjtRQUNuQixXQUFXO1FBRVgsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVPLGVBQWUsQ0FBQyxPQUFnQjtRQUNwQyxNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEcsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbkQsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO1FBQzVDLE1BQU0seUJBQXlCLEdBQUcsZ0JBQWdCLENBQUMseUJBQXlCLENBQUM7UUFDN0UsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1FBQ3pDLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7UUFDekMsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7UUFFbEQsZ0JBQWdCLENBQUMsK0NBQStDLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BHLGdCQUFnQixDQUFDLDhCQUE4QixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0MsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUMvRCxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDMUQsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO0lBRTVGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCw4SkFBOEo7SUFDdkosa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxNQUFjO1FBQ3RELE1BQU0sUUFBUSxHQUFHLGNBQWMsUUFBUSxLQUFLLENBQUM7UUFFN0MsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTVDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFcEQsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxtQkFBbUIsQ0FBQyxPQUFnQjtRQUN2Qyw4RkFBOEY7UUFFOUYsMkRBQTJEO1FBRTNELFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV0QixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTlCLE9BQU8sd0JBQWdCLENBQUMsUUFBUSxDQUFDO0lBQ3JDLENBQUM7Q0FFSjtBQTVGRCw0QkE0RkM7QUFFRCxTQUFTLFlBQVksQ0FBQyxPQUFnQjtJQUNsQyx1QkFBdUI7SUFDdkIsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFFckQsY0FBYztJQUNkLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDO0lBRS9DLE1BQU0sZUFBZSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFOUMsd0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwidHMtbW9ycGhcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IEZhbWl4UmVwb3NpdG9yeSB9IGZyb20gXCIuL2xpYi9mYW1peC9mYW1peF9yZXBvc2l0b3J5XCI7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tIFwidHNsb2dcIjtcbmltcG9ydCAqIGFzIHByb2Nlc3NGdW5jdGlvbnMgZnJvbSBcIi4vYW5hbHl6ZV9mdW5jdGlvbnMvcHJvY2Vzc19mdW5jdGlvbnNcIjtcbmltcG9ydCB7IEVudGl0eURpY3Rpb25hcnkgfSBmcm9tIFwiLi9mYW1peF9mdW5jdGlvbnMvRW50aXR5RGljdGlvbmFyeVwiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuZXhwb3J0IGNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoeyBuYW1lOiBcInRzMmZhbWl4XCIsIG1pbkxldmVsOiAyIH0pO1xuZXhwb3J0IGNvbnN0IGNvbmZpZyA9IHsgXCJleHBlY3RHcmFwaGVtZXNcIjogZmFsc2UgfTtcbmV4cG9ydCBjb25zdCBlbnRpdHlEaWN0aW9uYXJ5ID0gbmV3IEVudGl0eURpY3Rpb25hcnkoKTtcblxuLyoqXG4gKiBUaGlzIGNsYXNzIGlzIHVzZWQgdG8gYnVpbGQgYSBGYW1peCBtb2RlbCBmcm9tIGEgVHlwZVNjcmlwdCBzb3VyY2UgY29kZVxuICovXG5leHBvcnQgY2xhc3MgSW1wb3J0ZXIge1xuXG4gICAgcHJpdmF0ZSBwcm9qZWN0ID0gbmV3IFByb2plY3QoXG4gICAgICAgIHtcbiAgICAgICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiLi90ZXN0X3NyY1wiXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICApOyAvLyBUaGUgcHJvamVjdCBjb250YWluaW5nIHRoZSBzb3VyY2UgZmlsZXMgdG8gYW5hbHl6ZVxuXG4gICAgLyoqXG4gICAgICogTWFpbiBtZXRob2RcbiAgICAgKiBAcGFyYW0gcGF0aHMgQW4gYXJyYXkgb2YgcGF0aHMgdG8gdGhlIHNvdXJjZSBmaWxlcyB0byBhbmFseXplXG4gICAgICogQHJldHVybnMgVGhlIEZhbWl4IHJlcG9zaXRvcnkgY29udGFpbmluZyB0aGUgRmFtaXggbW9kZWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZmFtaXhSZXBGcm9tUGF0aHMocGF0aHM6IEFycmF5PHN0cmluZz4pOiBGYW1peFJlcG9zaXRvcnkge1xuXG4gICAgICAgIC8vICAgICAgICB0cnkge1xuICAgICAgICBsb2dnZXIuZGVidWcoYGZhbWl4UmVwRnJvbVBhdGhzOiBwYXRoczogJHtwYXRoc31gKTtcblxuICAgICAgICB0aGlzLnByb2plY3QuYWRkU291cmNlRmlsZXNBdFBhdGhzKHBhdGhzKTtcblxuICAgICAgICBpbml0RmFtaXhSZXAodGhpcy5wcm9qZWN0KTtcblxuICAgICAgICB0aGlzLnByb2Nlc3NFbnRpdGllcyh0aGlzLnByb2plY3QpO1xuXG4gICAgICAgIGNvbnN0IGZhbWl4UmVwID0gZW50aXR5RGljdGlvbmFyeS5mYW1peFJlcDtcbiAgICAgICAgLy8gICAgICAgIH1cbiAgICAgICAgLy8gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBsb2dnZXIuZXJyb3IoYD4gRVJST1I6IGdvdCBleGNlcHRpb24gJHtlcnJvcn0uIEV4aXRpbmcuLi5gKTtcbiAgICAgICAgLy8gbG9nZ2VyLmVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAvLyBsb2dnZXIuZXJyb3IoZXJyb3Iuc3RhY2spO1xuICAgICAgICAvLyBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICAgIC8vICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbWl4UmVwO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0VudGl0aWVzKHByb2plY3Q6IFByb2plY3QpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb25seVR5cGVTY3JpcHRGaWxlcyA9IHByb2plY3QuZ2V0U291cmNlRmlsZXMoKS5maWx0ZXIoZiA9PiBmLmdldEZpbGVQYXRoKCkuZW5kc1dpdGgoJy50cycpKTtcbiAgICAgICAgcHJvY2Vzc0Z1bmN0aW9ucy5wcm9jZXNzRmlsZXMob25seVR5cGVTY3JpcHRGaWxlcyk7XG4gICAgICAgIGNvbnN0IGFjY2Vzc2VzID0gcHJvY2Vzc0Z1bmN0aW9ucy5hY2Nlc3NNYXA7XG4gICAgICAgIGNvbnN0IG1ldGhvZHNBbmRGdW5jdGlvbnNXaXRoSWQgPSBwcm9jZXNzRnVuY3Rpb25zLm1ldGhvZHNBbmRGdW5jdGlvbnNXaXRoSWQ7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSBwcm9jZXNzRnVuY3Rpb25zLmNsYXNzZXM7XG4gICAgICAgIGNvbnN0IGludGVyZmFjZXMgPSBwcm9jZXNzRnVuY3Rpb25zLmludGVyZmFjZXM7XG4gICAgICAgIGNvbnN0IG1vZHVsZXMgPSBwcm9jZXNzRnVuY3Rpb25zLm1vZHVsZXM7XG4gICAgICAgIGNvbnN0IGV4cG9ydHMgPSBwcm9jZXNzRnVuY3Rpb25zLmxpc3RPZkV4cG9ydE1hcHM7XG5cbiAgICAgICAgcHJvY2Vzc0Z1bmN0aW9ucy5wcm9jZXNzSW1wb3J0Q2xhdXNlc0ZvckltcG9ydEVxdWFsc0RlY2xhcmF0aW9ucyhwcm9qZWN0LmdldFNvdXJjZUZpbGVzKCksIGV4cG9ydHMpO1xuICAgICAgICBwcm9jZXNzRnVuY3Rpb25zLnByb2Nlc3NJbXBvcnRDbGF1c2VzRm9yTW9kdWxlcyhtb2R1bGVzLCBleHBvcnRzKTtcbiAgICAgICAgcHJvY2Vzc0Z1bmN0aW9ucy5wcm9jZXNzQWNjZXNzZXMoYWNjZXNzZXMpO1xuICAgICAgICBwcm9jZXNzRnVuY3Rpb25zLnByb2Nlc3NJbnZvY2F0aW9ucyhtZXRob2RzQW5kRnVuY3Rpb25zV2l0aElkKTtcbiAgICAgICAgcHJvY2Vzc0Z1bmN0aW9ucy5wcm9jZXNzSW5oZXJpdGFuY2VzKGNsYXNzZXMsIGludGVyZmFjZXMpO1xuICAgICAgICBwcm9jZXNzRnVuY3Rpb25zLnByb2Nlc3NDb25jcmV0aXNhdGlvbnMoY2xhc3NlcywgaW50ZXJmYWNlcywgbWV0aG9kc0FuZEZ1bmN0aW9uc1dpdGhJZCk7XG5cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYWluIG1ldGhvZCBmb3IgdGVzdHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWxlbmFtZSBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0byBhbmFseXplXG4gICAgICogQHBhcmFtIHNvdXJjZSBBIFR5cGVTY3JpcHQgc291cmNlIGNvZGVcbiAgICAgKiBAcmV0dXJucyBUaGUgRmFtaXggcmVwb3NpdG9yeSBjb250YWluaW5nIHRoZSBGYW1peCBtb2RlbFxuICAgICAqL1xuICAgIC8vIFRPRE86IHRoaXMgaXMgc2xvdyBiZWNhdXNlIGl0IHdyaXRlcyB0aGUgc291cmNlIGNvZGUgdG8gYSBmaWxlIGFuZCB0aGVuIHJlYWRzIGl0IGFnYWluIC0gaXQncyBwb3NzaWJsZSB0byBqdXN0IHBhc3MgdGhlIHNvdXJjZSBjb2RlIHRvIHRoZSB0cy1tb3JwaCBwcm9qZWN0XG4gICAgcHVibGljIGZhbWl4UmVwRnJvbVNvdXJjZShmaWxlbmFtZTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZyk6IEZhbWl4UmVwb3NpdG9yeSB7XG4gICAgICAgIGNvbnN0IGZpbGVQYXRoID0gYC4vdGVzdF9zcmMvJHtmaWxlbmFtZX0udHNgO1xuXG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIHNvdXJjZSwgJ3V0Zi04Jyk7XG5cbiAgICAgICAgY29uc3QgZmFtaXhSZXAgPSB0aGlzLmZhbWl4UmVwRnJvbVBhdGhzKFtmaWxlUGF0aF0pO1xuXG4gICAgICAgIHJldHVybiBmYW1peFJlcDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYWluIG1ldGhvZCBmb3IgYSB0cy1tb3JwaCBwcm9qZWN0XG4gICAgICogQHBhcmFtIHByb2plY3QgQSB0cy1tb3JwaCBwcm9qZWN0XG4gICAgICogQHJldHVybnMgVGhlIEZhbWl4IHJlcG9zaXRvcnkgY29udGFpbmluZyB0aGUgRmFtaXggbW9kZWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZmFtaXhSZXBGcm9tUHJvamVjdChwcm9qZWN0OiBQcm9qZWN0KTogRmFtaXhSZXBvc2l0b3J5IHtcbiAgICAgICAgLy9jb25zdCBzb3VyY2VGaWxlTmFtZXMgPSBwcm9qZWN0LmdldFNvdXJjZUZpbGVzKCkubWFwKGYgPT4gZi5nZXRGaWxlUGF0aCgpKSBhcyBBcnJheTxzdHJpbmc+O1xuXG4gICAgICAgIC8vY29uc3QgZmFtaXhSZXAgPSB0aGlzLmZhbWl4UmVwRnJvbVBhdGhzKHNvdXJjZUZpbGVOYW1lcyk7XG5cbiAgICAgICAgaW5pdEZhbWl4UmVwKHByb2plY3QpO1xuXG4gICAgICAgIHRoaXMucHJvY2Vzc0VudGl0aWVzKHByb2plY3QpO1xuXG4gICAgICAgIHJldHVybiBlbnRpdHlEaWN0aW9uYXJ5LmZhbWl4UmVwO1xuICAgIH1cblxufVxuXG5mdW5jdGlvbiBpbml0RmFtaXhSZXAocHJvamVjdDogUHJvamVjdCk6IHZvaWQge1xuICAgIC8vIGdldCBjb21waWxlciBvcHRpb25zXG4gICAgY29uc3QgY29tcGlsZXJPcHRpb25zID0gcHJvamVjdC5nZXRDb21waWxlck9wdGlvbnMoKTtcblxuICAgIC8vIGdldCBiYXNlVXJsXG4gICAgY29uc3QgYmFzZVVybCA9IGNvbXBpbGVyT3B0aW9ucy5iYXNlVXJsIHx8IFwiLlwiO1xuXG4gICAgY29uc3QgYWJzb2x1dGVCYXNlVXJsID0gcGF0aC5yZXNvbHZlKGJhc2VVcmwpO1xuXG4gICAgZW50aXR5RGljdGlvbmFyeS5mYW1peFJlcC5zZXRBYnNvbHV0ZVBhdGgocGF0aC5ub3JtYWxpemUoYWJzb2x1dGVCYXNlVXJsKSk7XG59XG4iXX0=