occam-open-cli 5.0.44 → 5.0.46

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.
Files changed (57) hide show
  1. package/README.md +3 -3
  2. package/bin/action/createAccount.js +2 -6
  3. package/bin/action/help.js +5 -3
  4. package/bin/action/open.js +13 -0
  5. package/bin/action/resetPassword.js +2 -3
  6. package/bin/action/signIn.js +2 -6
  7. package/bin/action/version.js +2 -0
  8. package/bin/actions.js +3 -3
  9. package/bin/commands.js +0 -2
  10. package/bin/messages.js +4 -14
  11. package/bin/operation/clone.js +0 -2
  12. package/bin/operation/createAccount.js +2 -7
  13. package/bin/operation/createRelease.js +9 -2
  14. package/bin/operation/deprecate.js +1 -5
  15. package/bin/operation/resetPassword.js +6 -0
  16. package/bin/operation/setIdentityToken.js +3 -1
  17. package/bin/operation/signIn.js +2 -7
  18. package/bin/post.js +34 -21
  19. package/bin/utilities/status.js +62 -0
  20. package/lib/browser.js +16 -8
  21. package/lib/constants.js +5 -1
  22. package/lib/dependencies.js +74 -0
  23. package/lib/dependency.js +61 -0
  24. package/lib/main.js +16 -8
  25. package/lib/mixin/bnf.js +46 -0
  26. package/lib/mixin/entries.js +30 -0
  27. package/lib/mixin/files.js +40 -0
  28. package/lib/mixin/pattern.js +46 -0
  29. package/lib/project.js +71 -82
  30. package/lib/release.js +40 -100
  31. package/lib/shortenedVersion.js +125 -0
  32. package/lib/utilities/content.js +8 -1
  33. package/lib/utilities/files.js +75 -0
  34. package/lib/utilities/metaJSON.js +80 -0
  35. package/lib/utilities/name.js +9 -2
  36. package/lib/utilities/query.js +41 -0
  37. package/lib/version.js +33 -3
  38. package/package.json +4 -2
  39. package/src/browser.js +6 -2
  40. package/src/constants.js +1 -0
  41. package/src/dependencies.js +40 -0
  42. package/src/dependency.js +22 -0
  43. package/src/main.js +5 -2
  44. package/src/mixin/bnf.js +57 -0
  45. package/src/mixin/entries.js +16 -0
  46. package/src/mixin/files.js +50 -0
  47. package/src/mixin/pattern.js +57 -0
  48. package/src/project.js +97 -82
  49. package/src/release.js +51 -117
  50. package/src/shortenedVersion.js +109 -0
  51. package/src/utilities/content.js +4 -1
  52. package/src/utilities/files.js +103 -0
  53. package/src/utilities/metaJSON.js +82 -0
  54. package/src/utilities/name.js +14 -1
  55. package/src/utilities/query.js +31 -0
  56. package/src/version.js +30 -2
  57. package/bin/action/install.js +0 -13
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Dependency;
9
+ }
10
+ });
11
+ function _classCallCheck(instance, Constructor) {
12
+ if (!(instance instanceof Constructor)) {
13
+ throw new TypeError("Cannot call a class as a function");
14
+ }
15
+ }
16
+ function _defineProperties(target, props) {
17
+ for(var i = 0; i < props.length; i++){
18
+ var descriptor = props[i];
19
+ descriptor.enumerable = descriptor.enumerable || false;
20
+ descriptor.configurable = true;
21
+ if ("value" in descriptor) descriptor.writable = true;
22
+ Object.defineProperty(target, descriptor.key, descriptor);
23
+ }
24
+ }
25
+ function _createClass(Constructor, protoProps, staticProps) {
26
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
+ if (staticProps) _defineProperties(Constructor, staticProps);
28
+ return Constructor;
29
+ }
30
+ var Dependency = /*#__PURE__*/ function() {
31
+ function Dependency(name, shortenedVersion) {
32
+ _classCallCheck(this, Dependency);
33
+ this.name = name;
34
+ this.shortenedVersion = shortenedVersion;
35
+ }
36
+ _createClass(Dependency, [
37
+ {
38
+ key: "getName",
39
+ value: function getName() {
40
+ return this.name;
41
+ }
42
+ },
43
+ {
44
+ key: "getShortedVersion",
45
+ value: function getShortedVersion() {
46
+ return this.shortenedVersion;
47
+ }
48
+ }
49
+ ], [
50
+ {
51
+ key: "fromNameAndShortenedVersion",
52
+ value: function fromNameAndShortenedVersion(name, shortenedVersion) {
53
+ var dependency = new Dependency(name, shortenedVersion);
54
+ return dependency;
55
+ }
56
+ }
57
+ ]);
58
+ return Dependency;
59
+ }();
60
+
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBlbmRlbmN5LmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEZXBlbmRlbmN5IHtcbiAgY29uc3RydWN0b3IobmFtZSwgc2hvcnRlbmVkVmVyc2lvbikge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5zaG9ydGVuZWRWZXJzaW9uID0gc2hvcnRlbmVkVmVyc2lvbjtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFNob3J0ZWRWZXJzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLnNob3J0ZW5lZFZlcnNpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU5hbWVBbmRTaG9ydGVuZWRWZXJzaW9uKG5hbWUsIHNob3J0ZW5lZFZlcnNpb24pIHtcbiAgICBjb25zdCBkZXBlbmRlbmN5ID0gbmV3IERlcGVuZGVuY3kobmFtZSwgc2hvcnRlbmVkVmVyc2lvbik7XG5cbiAgICByZXR1cm4gZGVwZW5kZW5jeTtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJEZXBlbmRlbmN5IiwibmFtZSIsInNob3J0ZW5lZFZlcnNpb24iLCJnZXROYW1lIiwiZ2V0U2hvcnRlZFZlcnNpb24iLCJmcm9tTmFtZUFuZFNob3J0ZW5lZFZlcnNpb24iLCJkZXBlbmRlbmN5Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUVxQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLDJCQUFOO2FBQU1BLFdBQ1BDLElBQUksRUFBRUMsZ0JBQWdCOzhCQURmRjtRQUVqQixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLGdCQUFnQixHQUFHQTs7aUJBSFBGOztZQU1uQkcsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVU7Z0JBQ1IsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsb0JBQW9CO2dCQUNsQixPQUFPLElBQUksQ0FBQ0YsZ0JBQWdCO1lBQzlCOzs7O1lBRU9HLEtBQUFBO21CQUFQLFNBQU9BLDRCQUE0QkosSUFBSSxFQUFFQyxnQkFBZ0IsRUFBRTtnQkFDekQsSUFBTUksYUFBYSxJQWZGTixXQWVpQkMsTUFBTUM7Z0JBRXhDLE9BQU9JO1lBQ1Q7OztXQWxCbUJOIn0=
package/lib/main.js CHANGED
@@ -15,9 +15,6 @@ _export(exports, {
15
15
  Files: function() {
16
16
  return _files.default;
17
17
  },
18
- types: function() {
19
- return _types.default;
20
- },
21
18
  Version: function() {
22
19
  return _version.default;
23
20
  },
@@ -33,8 +30,14 @@ _export(exports, {
33
30
  Projects: function() {
34
31
  return _projects.default;
35
32
  },
36
- fileNames: function() {
37
- return _fileNames.default;
33
+ Dependency: function() {
34
+ return _dependency.default;
35
+ },
36
+ Dependencies: function() {
37
+ return _dependencies.default;
38
+ },
39
+ ShortenedVersion: function() {
40
+ return _shortenedVersion.default;
38
41
  },
39
42
  nameUtilities: function() {
40
43
  return _name.default;
@@ -47,25 +50,30 @@ _export(exports, {
47
50
  },
48
51
  filePathUtilities: function() {
49
52
  return _filePath.default;
53
+ },
54
+ metaJSONUtilities: function() {
55
+ return _metaJSON.default;
50
56
  }
51
57
  });
52
58
  var _file = /*#__PURE__*/ _interopRequireDefault(require("./file"));
53
59
  var _files = /*#__PURE__*/ _interopRequireDefault(require("./files"));
54
- var _types = /*#__PURE__*/ _interopRequireDefault(require("./types"));
55
60
  var _version = /*#__PURE__*/ _interopRequireDefault(require("./version"));
56
61
  var _release = /*#__PURE__*/ _interopRequireDefault(require("./release"));
57
62
  var _entries = /*#__PURE__*/ _interopRequireDefault(require("./entries"));
58
63
  var _project = /*#__PURE__*/ _interopRequireDefault(require("./project"));
59
64
  var _projects = /*#__PURE__*/ _interopRequireDefault(require("./projects"));
60
- var _fileNames = /*#__PURE__*/ _interopRequireDefault(require("./fileNames"));
65
+ var _dependency = /*#__PURE__*/ _interopRequireDefault(require("./dependency"));
66
+ var _dependencies = /*#__PURE__*/ _interopRequireDefault(require("./dependencies"));
67
+ var _shortenedVersion = /*#__PURE__*/ _interopRequireDefault(require("./shortenedVersion"));
61
68
  var _name = /*#__PURE__*/ _interopRequireDefault(require("./utilities/name"));
62
69
  var _content = /*#__PURE__*/ _interopRequireDefault(require("./utilities/content"));
63
70
  var _entries1 = /*#__PURE__*/ _interopRequireDefault(require("./utilities/entries"));
64
71
  var _filePath = /*#__PURE__*/ _interopRequireDefault(require("./utilities/filePath"));
72
+ var _metaJSON = /*#__PURE__*/ _interopRequireDefault(require("./utilities/metaJSON"));
65
73
  function _interopRequireDefault(obj) {
66
74
  return obj && obj.__esModule ? obj : {
67
75
  default: obj
68
76
  };
69
77
  }
70
78
 
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBGaWxlIH0gZnJvbSBcIi4vZmlsZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBGaWxlcyB9IGZyb20gXCIuL2ZpbGVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHR5cGVzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVmVyc2lvbiB9IGZyb20gXCIuL3ZlcnNpb25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmVsZWFzZSB9IGZyb20gXCIuL3JlbGVhc2VcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRW50cmllcyB9IGZyb20gXCIuL2VudHJpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdHMgfSBmcm9tIFwiLi9wcm9qZWN0c1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmaWxlTmFtZXMgfSBmcm9tIFwiLi9maWxlTmFtZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbmFtZVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9uYW1lXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGNvbnRlbnRVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29udGVudFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBlbnRyaWVzVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2VudHJpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZmlsZVBhdGhVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZmlsZVBhdGhcIjtcbiJdLCJuYW1lcyI6WyJGaWxlIiwiRmlsZXMiLCJ0eXBlcyIsIlZlcnNpb24iLCJSZWxlYXNlIiwiRW50cmllcyIsIlByb2plY3QiLCJQcm9qZWN0cyIsImZpbGVOYW1lcyIsIm5hbWVVdGlsaXRpZXMiLCJjb250ZW50VXRpbGl0aWVzIiwiZW50cmllc1V0aWxpdGllcyIsImZpbGVQYXRoVXRpbGl0aWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFb0JBLElBQUk7ZUFBSkEsYUFBSTs7SUFDSkMsS0FBSztlQUFMQSxjQUFLOztJQUNMQyxLQUFLO2VBQUxBLGNBQUs7O0lBQ0xDLE9BQU87ZUFBUEEsZ0JBQU87O0lBQ1BDLE9BQU87ZUFBUEEsZ0JBQU87O0lBQ1BDLE9BQU87ZUFBUEEsZ0JBQU87O0lBQ1BDLE9BQU87ZUFBUEEsZ0JBQU87O0lBQ1BDLFFBQVE7ZUFBUkEsaUJBQVE7O0lBQ1JDLFNBQVM7ZUFBVEEsa0JBQVM7O0lBQ1RDLGFBQWE7ZUFBYkEsYUFBYTs7SUFDYkMsZ0JBQWdCO2VBQWhCQSxnQkFBZ0I7O0lBQ2hCQyxnQkFBZ0I7ZUFBaEJBLGlCQUFnQjs7SUFDaEJDLGlCQUFpQjtlQUFqQkEsaUJBQWlCOzs7eURBWkw7MERBQ0M7MERBQ0E7NERBQ0U7NERBQ0E7NERBQ0E7NERBQ0E7NkRBQ0M7OERBQ0M7eURBQ0k7NERBQ0c7NkRBQ0E7NkRBQ0MifQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBGaWxlIH0gZnJvbSBcIi4vZmlsZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBGaWxlcyB9IGZyb20gXCIuL2ZpbGVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFZlcnNpb24gfSBmcm9tIFwiLi92ZXJzaW9uXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFJlbGVhc2UgfSBmcm9tIFwiLi9yZWxlYXNlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEVudHJpZXMgfSBmcm9tIFwiLi9lbnRyaWVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFByb2plY3QgfSBmcm9tIFwiLi9wcm9qZWN0XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFByb2plY3RzIH0gZnJvbSBcIi4vcHJvamVjdHNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRGVwZW5kZW5jeSB9IGZyb20gXCIuL2RlcGVuZGVuY3lcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRGVwZW5kZW5jaWVzIH0gZnJvbSBcIi4vZGVwZW5kZW5jaWVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFNob3J0ZW5lZFZlcnNpb24gfSBmcm9tIFwiLi9zaG9ydGVuZWRWZXJzaW9uXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgbmFtZVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9uYW1lXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGNvbnRlbnRVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29udGVudFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBlbnRyaWVzVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2VudHJpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZmlsZVBhdGhVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZmlsZVBhdGhcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbWV0YUpTT05VdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvbWV0YUpTT05cIjtcbiJdLCJuYW1lcyI6WyJGaWxlIiwiRmlsZXMiLCJWZXJzaW9uIiwiUmVsZWFzZSIsIkVudHJpZXMiLCJQcm9qZWN0IiwiUHJvamVjdHMiLCJEZXBlbmRlbmN5IiwiRGVwZW5kZW5jaWVzIiwiU2hvcnRlbmVkVmVyc2lvbiIsIm5hbWVVdGlsaXRpZXMiLCJjb250ZW50VXRpbGl0aWVzIiwiZW50cmllc1V0aWxpdGllcyIsImZpbGVQYXRoVXRpbGl0aWVzIiwibWV0YUpTT05VdGlsaXRpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQUVvQkEsSUFBSTtlQUFKQSxhQUFJOztJQUNKQyxLQUFLO2VBQUxBLGNBQUs7O0lBQ0xDLE9BQU87ZUFBUEEsZ0JBQU87O0lBQ1BDLE9BQU87ZUFBUEEsZ0JBQU87O0lBQ1BDLE9BQU87ZUFBUEEsZ0JBQU87O0lBQ1BDLE9BQU87ZUFBUEEsZ0JBQU87O0lBQ1BDLFFBQVE7ZUFBUkEsaUJBQVE7O0lBQ1JDLFVBQVU7ZUFBVkEsbUJBQVU7O0lBQ1ZDLFlBQVk7ZUFBWkEscUJBQVk7O0lBQ1pDLGdCQUFnQjtlQUFoQkEseUJBQWdCOztJQUVoQkMsYUFBYTtlQUFiQSxhQUFhOztJQUNiQyxnQkFBZ0I7ZUFBaEJBLGdCQUFnQjs7SUFDaEJDLGdCQUFnQjtlQUFoQkEsaUJBQWdCOztJQUNoQkMsaUJBQWlCO2VBQWpCQSxpQkFBaUI7O0lBQ2pCQyxpQkFBaUI7ZUFBakJBLGlCQUFpQjs7O3lEQWZMOzBEQUNDOzREQUNFOzREQUNBOzREQUNBOzREQUNBOzZEQUNDOytEQUNFO2lFQUNFO3FFQUNJO3lEQUVIOzREQUNHOzZEQUNBOzZEQUNDOzZEQUNBIn0=
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _name = require("../utilities/name");
12
+ var _fileNames = require("../fileNames");
13
+ function getBNF(bnfFileName) {
14
+ var bnf = null;
15
+ var customGrammarBNFFiles = this.getCustomGrammarBNFFiles(), customGrammarBNFFile = customGrammarBNFFiles.find(function(customGrammarBNFFile) {
16
+ var customGrammarBNFFilePath = customGrammarBNFFile.getPath(), customGrammarBNFFileName = (0, _name.fileNameFromFilePath)(customGrammarBNFFilePath);
17
+ if (customGrammarBNFFileName === bnfFileName) {
18
+ return true;
19
+ }
20
+ }) || null;
21
+ if (customGrammarBNFFile !== null) {
22
+ var customGrammarBNFFileContent = customGrammarBNFFile.getContent();
23
+ bnf = customGrammarBNFFileContent; ///
24
+ }
25
+ return bnf;
26
+ }
27
+ function getTermBNF() {
28
+ var fileName = _fileNames.TERM_BNF_FILE_NAME, bnf = this.getBNF(fileName), termBNF = bnf; ///
29
+ return termBNF;
30
+ }
31
+ function getStatementBNF() {
32
+ var fileName = _fileNames.STATEMENT_BNF_FILE_NAME, bnf = this.getBNF(fileName), statementBNF = bnf; ///
33
+ return statementBNF;
34
+ }
35
+ function getMetastatementBNF() {
36
+ var fileName = _fileNames.METASTATEMENT_BNF_FILE_NAME, bnf = this.getBNF(fileName), metastatementBNF = bnf; ///
37
+ return metastatementBNF;
38
+ }
39
+ var _default = {
40
+ getBNF: getBNF,
41
+ getTermBNF: getTermBNF,
42
+ getStatementBNF: getStatementBNF,
43
+ getMetastatementBNF: getMetastatementBNF
44
+ };
45
+
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbi9ibmYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGZpbGVOYW1lRnJvbUZpbGVQYXRoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9uYW1lXCI7XG5pbXBvcnQgeyBURVJNX0JORl9GSUxFX05BTUUsIFNUQVRFTUVOVF9CTkZfRklMRV9OQU1FLCBNRVRBU1RBVEVNRU5UX0JORl9GSUxFX05BTUUgfSBmcm9tIFwiLi4vZmlsZU5hbWVzXCI7XG5cbmZ1bmN0aW9uIGdldEJORihibmZGaWxlTmFtZSkge1xuICBsZXQgYm5mID0gbnVsbDtcblxuICBjb25zdCBjdXN0b21HcmFtbWFyQk5GRmlsZXMgPSB0aGlzLmdldEN1c3RvbUdyYW1tYXJCTkZGaWxlcygpLFxuICAgICAgICBjdXN0b21HcmFtbWFyQk5GRmlsZSA9IGN1c3RvbUdyYW1tYXJCTkZGaWxlcy5maW5kKChjdXN0b21HcmFtbWFyQk5GRmlsZSkgPT4ge1xuICAgICAgICBjb25zdCBjdXN0b21HcmFtbWFyQk5GRmlsZVBhdGggPSBjdXN0b21HcmFtbWFyQk5GRmlsZS5nZXRQYXRoKCksXG4gICAgICAgICAgICAgIGN1c3RvbUdyYW1tYXJCTkZGaWxlTmFtZSA9IGZpbGVOYW1lRnJvbUZpbGVQYXRoKGN1c3RvbUdyYW1tYXJCTkZGaWxlUGF0aCk7XG5cbiAgICAgICAgaWYgKGN1c3RvbUdyYW1tYXJCTkZGaWxlTmFtZSA9PT0gYm5mRmlsZU5hbWUpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSkgfHwgbnVsbDtcblxuICBpZiAoY3VzdG9tR3JhbW1hckJORkZpbGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBjdXN0b21HcmFtbWFyQk5GRmlsZUNvbnRlbnQgPSBjdXN0b21HcmFtbWFyQk5GRmlsZS5nZXRDb250ZW50KCk7XG5cbiAgICBibmYgPSBjdXN0b21HcmFtbWFyQk5GRmlsZUNvbnRlbnQ7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBibmY7XG59XG5cbmZ1bmN0aW9uIGdldFRlcm1CTkYoKSB7XG4gIGNvbnN0IGZpbGVOYW1lID0gVEVSTV9CTkZfRklMRV9OQU1FLCAvLy9cbiAgICAgICAgYm5mID0gdGhpcy5nZXRCTkYoZmlsZU5hbWUpLFxuICAgICAgICB0ZXJtQk5GID0gYm5mOyAgLy8vXG5cbiAgcmV0dXJuIHRlcm1CTkY7XG59XG5cbmZ1bmN0aW9uIGdldFN0YXRlbWVudEJORigpIHtcbiAgY29uc3QgZmlsZU5hbWUgPSBTVEFURU1FTlRfQk5GX0ZJTEVfTkFNRSwgLy8vXG4gICAgICAgIGJuZiA9IHRoaXMuZ2V0Qk5GKGZpbGVOYW1lKSxcbiAgICAgICAgc3RhdGVtZW50Qk5GID0gYm5mOyAgLy8vXG5cbiAgcmV0dXJuIHN0YXRlbWVudEJORjtcbn1cblxuZnVuY3Rpb24gZ2V0TWV0YXN0YXRlbWVudEJORigpIHtcbiAgY29uc3QgZmlsZU5hbWUgPSBNRVRBU1RBVEVNRU5UX0JORl9GSUxFX05BTUUsIC8vL1xuICAgICAgICBibmYgPSB0aGlzLmdldEJORihmaWxlTmFtZSksXG4gICAgICAgIG1ldGFzdGF0ZW1lbnRCTkYgPSBibmY7ICAvLy9cblxuICByZXR1cm4gbWV0YXN0YXRlbWVudEJORjtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBnZXRCTkYsXG4gIGdldFRlcm1CTkYsXG4gIGdldFN0YXRlbWVudEJORixcbiAgZ2V0TWV0YXN0YXRlbWVudEJORlxufTtcbiJdLCJuYW1lcyI6WyJnZXRCTkYiLCJibmZGaWxlTmFtZSIsImJuZiIsImN1c3RvbUdyYW1tYXJCTkZGaWxlcyIsImdldEN1c3RvbUdyYW1tYXJCTkZGaWxlcyIsImN1c3RvbUdyYW1tYXJCTkZGaWxlIiwiZmluZCIsImN1c3RvbUdyYW1tYXJCTkZGaWxlUGF0aCIsImdldFBhdGgiLCJjdXN0b21HcmFtbWFyQk5GRmlsZU5hbWUiLCJmaWxlTmFtZUZyb21GaWxlUGF0aCIsImN1c3RvbUdyYW1tYXJCTkZGaWxlQ29udGVudCIsImdldENvbnRlbnQiLCJnZXRUZXJtQk5GIiwiZmlsZU5hbWUiLCJURVJNX0JORl9GSUxFX05BTUUiLCJ0ZXJtQk5GIiwiZ2V0U3RhdGVtZW50Qk5GIiwiU1RBVEVNRU5UX0JORl9GSUxFX05BTUUiLCJzdGF0ZW1lbnRCTkYiLCJnZXRNZXRhc3RhdGVtZW50Qk5GIiwiTUVUQVNUQVRFTUVOVF9CTkZfRklMRV9OQU1FIiwibWV0YXN0YXRlbWVudEJORiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbURBOzs7ZUFBQTs7O29CQWpEcUM7eUJBQ29EO0FBRXpGLFNBQVNBLE9BQU9DLFdBQVcsRUFBRTtJQUMzQixJQUFJQyxNQUFNLElBQUk7SUFFZCxJQUFNQyx3QkFBd0IsSUFBSSxDQUFDQyx3QkFBd0IsSUFDckRDLHVCQUF1QkYsc0JBQXNCRyxJQUFJLENBQUMsU0FBQ0Qsc0JBQXlCO1FBQzVFLElBQU1FLDJCQUEyQkYscUJBQXFCRyxPQUFPLElBQ3ZEQywyQkFBMkJDLElBQUFBLDBCQUFvQixFQUFDSDtRQUV0RCxJQUFJRSw2QkFBNkJSLGFBQWE7WUFDNUMsT0FBTyxJQUFJO1FBQ2IsQ0FBQztJQUNILE1BQU0sSUFBSTtJQUVkLElBQUlJLHlCQUF5QixJQUFJLEVBQUU7UUFDakMsSUFBTU0sOEJBQThCTixxQkFBcUJPLFVBQVU7UUFFbkVWLE1BQU1TLDZCQUE4QixHQUFHO0lBQ3pDLENBQUM7SUFFRCxPQUFPVDtBQUNUO0FBRUEsU0FBU1csYUFBYTtJQUNwQixJQUFNQyxXQUFXQyw2QkFBa0IsRUFDN0JiLE1BQU0sSUFBSSxDQUFDRixNQUFNLENBQUNjLFdBQ2xCRSxVQUFVZCxLQUFNLEdBQUc7SUFFekIsT0FBT2M7QUFDVDtBQUVBLFNBQVNDLGtCQUFrQjtJQUN6QixJQUFNSCxXQUFXSSxrQ0FBdUIsRUFDbENoQixNQUFNLElBQUksQ0FBQ0YsTUFBTSxDQUFDYyxXQUNsQkssZUFBZWpCLEtBQU0sR0FBRztJQUU5QixPQUFPaUI7QUFDVDtBQUVBLFNBQVNDLHNCQUFzQjtJQUM3QixJQUFNTixXQUFXTyxzQ0FBMkIsRUFDdENuQixNQUFNLElBQUksQ0FBQ0YsTUFBTSxDQUFDYyxXQUNsQlEsbUJBQW1CcEIsS0FBTSxHQUFHO0lBRWxDLE9BQU9vQjtBQUNUO0lBRUEsV0FBZTtJQUNidEIsUUFBQUE7SUFDQWEsWUFBQUE7SUFDQUksaUJBQUFBO0lBQ0FHLHFCQUFBQTtBQUNGIn0=
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ function getFile(filePath) {
12
+ return this.entries.getFile(filePath);
13
+ }
14
+ function getFiles() {
15
+ return this.entries.getFiles();
16
+ }
17
+ function getFilePaths() {
18
+ return this.entries.getFilePaths();
19
+ }
20
+ function getDirectoryPaths() {
21
+ return this.entries.getDirectoryPaths();
22
+ }
23
+ var _default = {
24
+ getFile: getFile,
25
+ getFiles: getFiles,
26
+ getFilePaths: getFilePaths,
27
+ getDirectoryPaths: getDirectoryPaths
28
+ };
29
+
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbi9lbnRyaWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBnZXRGaWxlKGZpbGVQYXRoKSB7IHJldHVybiB0aGlzLmVudHJpZXMuZ2V0RmlsZShmaWxlUGF0aCk7IH1cblxuZnVuY3Rpb24gZ2V0RmlsZXMoKSB7IHJldHVybiB0aGlzLmVudHJpZXMuZ2V0RmlsZXMoKTsgfVxuXG5mdW5jdGlvbiBnZXRGaWxlUGF0aHMoKSB7IHJldHVybiB0aGlzLmVudHJpZXMuZ2V0RmlsZVBhdGhzKCk7IH1cblxuZnVuY3Rpb24gZ2V0RGlyZWN0b3J5UGF0aHMoKSB7IHJldHVybiB0aGlzLmVudHJpZXMuZ2V0RGlyZWN0b3J5UGF0aHMoKTsgfVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldEZpbGUsXG4gIGdldEZpbGVzLFxuICBnZXRGaWxlUGF0aHMsXG4gIGdldERpcmVjdG9yeVBhdGhzXG59O1xuIl0sIm5hbWVzIjpbImdldEZpbGUiLCJmaWxlUGF0aCIsImVudHJpZXMiLCJnZXRGaWxlcyIsImdldEZpbGVQYXRocyIsImdldERpcmVjdG9yeVBhdGhzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQUE7OztBQVJBLFNBQVNBLFFBQVFDLFFBQVEsRUFBRTtJQUFFLE9BQU8sSUFBSSxDQUFDQyxPQUFPLENBQUNGLE9BQU8sQ0FBQ0M7QUFBVztBQUVwRSxTQUFTRSxXQUFXO0lBQUUsT0FBTyxJQUFJLENBQUNELE9BQU8sQ0FBQ0MsUUFBUTtBQUFJO0FBRXRELFNBQVNDLGVBQWU7SUFBRSxPQUFPLElBQUksQ0FBQ0YsT0FBTyxDQUFDRSxZQUFZO0FBQUk7QUFFOUQsU0FBU0Msb0JBQW9CO0lBQUUsT0FBTyxJQUFJLENBQUNILE9BQU8sQ0FBQ0csaUJBQWlCO0FBQUk7SUFFeEUsV0FBZTtJQUNiTCxTQUFBQTtJQUNBRyxVQUFBQTtJQUNBQyxjQUFBQTtJQUNBQyxtQkFBQUE7QUFDRiJ9
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _files = require("../utilities/files");
12
+ function getReadmeFile() {
13
+ var files = this.getFiles(), readmeFile = (0, _files.readmeFileFromFiles)(files);
14
+ return readmeFile;
15
+ }
16
+ function getMetaJSONFile() {
17
+ var files = this.getFiles(), metaJSONFile = (0, _files.metaJSONFileFromFiles)(files);
18
+ return metaJSONFile;
19
+ }
20
+ function getFlorenceFiles() {
21
+ var files = this.getFiles(), florenceFiles = (0, _files.florenceFilesFromFiles)(files);
22
+ return florenceFiles;
23
+ }
24
+ function getCustomGrammarBNFFiles() {
25
+ var files = this.getFiles(), customGrammarBNFFiles = (0, _files.customGrammarBNFFilesFromFiles)(files);
26
+ return customGrammarBNFFiles;
27
+ }
28
+ function getCustomGrammarPatternFiles() {
29
+ var files = this.getFiles(), customGrammarPatternFiles = (0, _files.customGrammarPatternFilesFromFiles)(files);
30
+ return customGrammarPatternFiles;
31
+ }
32
+ var _default = {
33
+ getReadmeFile: getReadmeFile,
34
+ getMetaJSONFile: getMetaJSONFile,
35
+ getFlorenceFiles: getFlorenceFiles,
36
+ getCustomGrammarBNFFiles: getCustomGrammarBNFFiles,
37
+ getCustomGrammarPatternFiles: getCustomGrammarPatternFiles
38
+ };
39
+
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbi9maWxlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcmVhZG1lRmlsZUZyb21GaWxlcyxcbiAgICAgICAgIG1ldGFKU09ORmlsZUZyb21GaWxlcyxcbiAgICAgICAgIGZsb3JlbmNlRmlsZXNGcm9tRmlsZXMsXG4gICAgICAgICBjdXN0b21HcmFtbWFyQk5GRmlsZXNGcm9tRmlsZXMsXG4gICAgICAgICBjdXN0b21HcmFtbWFyUGF0dGVybkZpbGVzRnJvbUZpbGVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9maWxlc1wiO1xuXG5mdW5jdGlvbiBnZXRSZWFkbWVGaWxlKCkge1xuICBjb25zdCBmaWxlcyA9IHRoaXMuZ2V0RmlsZXMoKSxcbiAgICAgICAgcmVhZG1lRmlsZSA9IHJlYWRtZUZpbGVGcm9tRmlsZXMoZmlsZXMpO1xuXG4gIHJldHVybiByZWFkbWVGaWxlO1xufVxuXG5mdW5jdGlvbiBnZXRNZXRhSlNPTkZpbGUoKSB7XG4gIGNvbnN0IGZpbGVzID0gdGhpcy5nZXRGaWxlcygpLFxuICAgICAgICBtZXRhSlNPTkZpbGUgPSBtZXRhSlNPTkZpbGVGcm9tRmlsZXMoZmlsZXMpO1xuXG4gIHJldHVybiBtZXRhSlNPTkZpbGU7XG59XG5cbmZ1bmN0aW9uIGdldEZsb3JlbmNlRmlsZXMoKSB7XG4gIGNvbnN0IGZpbGVzID0gdGhpcy5nZXRGaWxlcygpLFxuICAgICAgICBmbG9yZW5jZUZpbGVzID0gZmxvcmVuY2VGaWxlc0Zyb21GaWxlcyhmaWxlcyk7XG5cbiAgcmV0dXJuIGZsb3JlbmNlRmlsZXM7XG59XG5cbmZ1bmN0aW9uIGdldEN1c3RvbUdyYW1tYXJCTkZGaWxlcygpIHtcbiAgY29uc3QgZmlsZXMgPSB0aGlzLmdldEZpbGVzKCksXG4gICAgICAgIGN1c3RvbUdyYW1tYXJCTkZGaWxlcyA9IGN1c3RvbUdyYW1tYXJCTkZGaWxlc0Zyb21GaWxlcyhmaWxlcyk7XG5cbiAgcmV0dXJuIGN1c3RvbUdyYW1tYXJCTkZGaWxlcztcbn1cblxuZnVuY3Rpb24gZ2V0Q3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlcygpIHtcbiAgY29uc3QgZmlsZXMgPSB0aGlzLmdldEZpbGVzKCksXG4gICAgICAgIGN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZXMgPSBjdXN0b21HcmFtbWFyUGF0dGVybkZpbGVzRnJvbUZpbGVzKGZpbGVzKTtcblxuICByZXR1cm4gY3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlcztcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBnZXRSZWFkbWVGaWxlLFxuICBnZXRNZXRhSlNPTkZpbGUsXG4gIGdldEZsb3JlbmNlRmlsZXMsXG4gIGdldEN1c3RvbUdyYW1tYXJCTkZGaWxlcyxcbiAgZ2V0Q3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlc1xufTtcbiJdLCJuYW1lcyI6WyJnZXRSZWFkbWVGaWxlIiwiZmlsZXMiLCJnZXRGaWxlcyIsInJlYWRtZUZpbGUiLCJyZWFkbWVGaWxlRnJvbUZpbGVzIiwiZ2V0TWV0YUpTT05GaWxlIiwibWV0YUpTT05GaWxlIiwibWV0YUpTT05GaWxlRnJvbUZpbGVzIiwiZ2V0RmxvcmVuY2VGaWxlcyIsImZsb3JlbmNlRmlsZXMiLCJmbG9yZW5jZUZpbGVzRnJvbUZpbGVzIiwiZ2V0Q3VzdG9tR3JhbW1hckJORkZpbGVzIiwiY3VzdG9tR3JhbW1hckJORkZpbGVzIiwiY3VzdG9tR3JhbW1hckJORkZpbGVzRnJvbUZpbGVzIiwiZ2V0Q3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlcyIsImN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZXMiLCJjdXN0b21HcmFtbWFyUGF0dGVybkZpbGVzRnJvbUZpbGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEyQ0E7OztlQUFBOzs7cUJBckNtRDtBQUVuRCxTQUFTQSxnQkFBZ0I7SUFDdkIsSUFBTUMsUUFBUSxJQUFJLENBQUNDLFFBQVEsSUFDckJDLGFBQWFDLElBQUFBLDBCQUFtQixFQUFDSDtJQUV2QyxPQUFPRTtBQUNUO0FBRUEsU0FBU0Usa0JBQWtCO0lBQ3pCLElBQU1KLFFBQVEsSUFBSSxDQUFDQyxRQUFRLElBQ3JCSSxlQUFlQyxJQUFBQSw0QkFBcUIsRUFBQ047SUFFM0MsT0FBT0s7QUFDVDtBQUVBLFNBQVNFLG1CQUFtQjtJQUMxQixJQUFNUCxRQUFRLElBQUksQ0FBQ0MsUUFBUSxJQUNyQk8sZ0JBQWdCQyxJQUFBQSw2QkFBc0IsRUFBQ1Q7SUFFN0MsT0FBT1E7QUFDVDtBQUVBLFNBQVNFLDJCQUEyQjtJQUNsQyxJQUFNVixRQUFRLElBQUksQ0FBQ0MsUUFBUSxJQUNyQlUsd0JBQXdCQyxJQUFBQSxxQ0FBOEIsRUFBQ1o7SUFFN0QsT0FBT1c7QUFDVDtBQUVBLFNBQVNFLCtCQUErQjtJQUN0QyxJQUFNYixRQUFRLElBQUksQ0FBQ0MsUUFBUSxJQUNyQmEsNEJBQTRCQyxJQUFBQSx5Q0FBa0MsRUFBQ2Y7SUFFckUsT0FBT2M7QUFDVDtJQUVBLFdBQWU7SUFDYmYsZUFBQUE7SUFDQUssaUJBQUFBO0lBQ0FHLGtCQUFBQTtJQUNBRywwQkFBQUE7SUFDQUcsOEJBQUFBO0FBQ0YifQ==
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _name = require("../utilities/name");
12
+ var _fileNames = require("../fileNames");
13
+ function getPattern(patternFileName) {
14
+ var pattern = null;
15
+ var customGrammarPatternFiles = this.getCustomGrammarPatternFiles(), customGrammarPatternFile = customGrammarPatternFiles.find(function(customGrammarPatternFile) {
16
+ var customGrammarPatternFilePath = customGrammarPatternFile.getPath(), customGrammarPatternFileName = (0, _name.fileNameFromFilePath)(customGrammarPatternFilePath);
17
+ if (customGrammarPatternFileName === patternFileName) {
18
+ return true;
19
+ }
20
+ }) || null;
21
+ if (customGrammarPatternFile !== null) {
22
+ var customGrammarPatternFileContent = customGrammarPatternFile.getContent();
23
+ pattern = customGrammarPatternFileContent; ///
24
+ }
25
+ return pattern;
26
+ }
27
+ function getTypePattern() {
28
+ var fileName = _fileNames.TYPE_PATTERN_FILE_NAME, pattern = this.getPattern(fileName), typePattern = pattern; ///
29
+ return typePattern;
30
+ }
31
+ function getSymbolPattern() {
32
+ var fileName = _fileNames.SYMBOL_PATTERN_FILE_NAME, pattern = this.getPattern(fileName), symbolPattern = pattern; ///
33
+ return symbolPattern;
34
+ }
35
+ function getOperatorPattern() {
36
+ var fileName = _fileNames.OPERATOR_PATTERN_FILE_NAME, pattern = this.getPattern(fileName), operatorPattern = pattern; ///
37
+ return operatorPattern;
38
+ }
39
+ var _default = {
40
+ getPattern: getPattern,
41
+ getTypePattern: getTypePattern,
42
+ getSymbolPattern: getSymbolPattern,
43
+ getOperatorPattern: getOperatorPattern
44
+ };
45
+
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbi9wYXR0ZXJuLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBmaWxlTmFtZUZyb21GaWxlUGF0aCB9IGZyb20gXCIuLi91dGlsaXRpZXMvbmFtZVwiO1xuaW1wb3J0IHsgVFlQRV9QQVRURVJOX0ZJTEVfTkFNRSwgU1lNQk9MX1BBVFRFUk5fRklMRV9OQU1FLCBPUEVSQVRPUl9QQVRURVJOX0ZJTEVfTkFNRSB9IGZyb20gXCIuLi9maWxlTmFtZXNcIjtcblxuZnVuY3Rpb24gZ2V0UGF0dGVybihwYXR0ZXJuRmlsZU5hbWUpIHtcbiAgbGV0IHBhdHRlcm4gPSBudWxsO1xuXG4gIGNvbnN0IGN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZXMgPSB0aGlzLmdldEN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZXMoKSxcbiAgICAgICAgY3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlID0gY3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlcy5maW5kKChjdXN0b21HcmFtbWFyUGF0dGVybkZpbGUpID0+IHtcbiAgICAgICAgY29uc3QgY3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlUGF0aCA9IGN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZS5nZXRQYXRoKCksXG4gICAgICAgICAgICAgIGN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZU5hbWUgPSBmaWxlTmFtZUZyb21GaWxlUGF0aChjdXN0b21HcmFtbWFyUGF0dGVybkZpbGVQYXRoKTtcblxuICAgICAgICBpZiAoY3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlTmFtZSA9PT0gcGF0dGVybkZpbGVOYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pIHx8IG51bGw7XG5cbiAgaWYgKGN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZUNvbnRlbnQgPSBjdXN0b21HcmFtbWFyUGF0dGVybkZpbGUuZ2V0Q29udGVudCgpO1xuXG4gICAgcGF0dGVybiA9IGN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZUNvbnRlbnQ7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBwYXR0ZXJuO1xufVxuXG5mdW5jdGlvbiBnZXRUeXBlUGF0dGVybigpIHtcbiAgY29uc3QgZmlsZU5hbWUgPSBUWVBFX1BBVFRFUk5fRklMRV9OQU1FLCAvLy9cbiAgICAgICAgcGF0dGVybiA9IHRoaXMuZ2V0UGF0dGVybihmaWxlTmFtZSksXG4gICAgICAgIHR5cGVQYXR0ZXJuID0gcGF0dGVybjsgIC8vL1xuXG4gIHJldHVybiB0eXBlUGF0dGVybjtcbn1cblxuZnVuY3Rpb24gZ2V0U3ltYm9sUGF0dGVybigpIHtcbiAgY29uc3QgZmlsZU5hbWUgPSBTWU1CT0xfUEFUVEVSTl9GSUxFX05BTUUsIC8vL1xuICAgICAgICBwYXR0ZXJuID0gdGhpcy5nZXRQYXR0ZXJuKGZpbGVOYW1lKSxcbiAgICAgICAgc3ltYm9sUGF0dGVybiA9IHBhdHRlcm47ICAvLy9cblxuICByZXR1cm4gc3ltYm9sUGF0dGVybjtcbn1cblxuZnVuY3Rpb24gZ2V0T3BlcmF0b3JQYXR0ZXJuKCkge1xuICBjb25zdCBmaWxlTmFtZSA9IE9QRVJBVE9SX1BBVFRFUk5fRklMRV9OQU1FLCAvLy9cbiAgICAgICAgcGF0dGVybiA9IHRoaXMuZ2V0UGF0dGVybihmaWxlTmFtZSksXG4gICAgICAgIG9wZXJhdG9yUGF0dGVybiA9IHBhdHRlcm47ICAvLy9cblxuICByZXR1cm4gb3BlcmF0b3JQYXR0ZXJuO1xufVxuXG5leHBvcnQgZGVmYXVsdCAge1xuICBnZXRQYXR0ZXJuLFxuICBnZXRUeXBlUGF0dGVybixcbiAgZ2V0U3ltYm9sUGF0dGVybixcbiAgZ2V0T3BlcmF0b3JQYXR0ZXJuXG59O1xuIl0sIm5hbWVzIjpbImdldFBhdHRlcm4iLCJwYXR0ZXJuRmlsZU5hbWUiLCJwYXR0ZXJuIiwiY3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlcyIsImdldEN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZXMiLCJjdXN0b21HcmFtbWFyUGF0dGVybkZpbGUiLCJmaW5kIiwiY3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlUGF0aCIsImdldFBhdGgiLCJjdXN0b21HcmFtbWFyUGF0dGVybkZpbGVOYW1lIiwiZmlsZU5hbWVGcm9tRmlsZVBhdGgiLCJjdXN0b21HcmFtbWFyUGF0dGVybkZpbGVDb250ZW50IiwiZ2V0Q29udGVudCIsImdldFR5cGVQYXR0ZXJuIiwiZmlsZU5hbWUiLCJUWVBFX1BBVFRFUk5fRklMRV9OQU1FIiwidHlwZVBhdHRlcm4iLCJnZXRTeW1ib2xQYXR0ZXJuIiwiU1lNQk9MX1BBVFRFUk5fRklMRV9OQU1FIiwic3ltYm9sUGF0dGVybiIsImdldE9wZXJhdG9yUGF0dGVybiIsIk9QRVJBVE9SX1BBVFRFUk5fRklMRV9OQU1FIiwib3BlcmF0b3JQYXR0ZXJuIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFtREE7OztlQUFBOzs7b0JBakRxQzt5QkFDd0Q7QUFFN0YsU0FBU0EsV0FBV0MsZUFBZSxFQUFFO0lBQ25DLElBQUlDLFVBQVUsSUFBSTtJQUVsQixJQUFNQyw0QkFBNEIsSUFBSSxDQUFDQyw0QkFBNEIsSUFDN0RDLDJCQUEyQkYsMEJBQTBCRyxJQUFJLENBQUMsU0FBQ0QsMEJBQTZCO1FBQ3hGLElBQU1FLCtCQUErQkYseUJBQXlCRyxPQUFPLElBQy9EQywrQkFBK0JDLElBQUFBLDBCQUFvQixFQUFDSDtRQUUxRCxJQUFJRSxpQ0FBaUNSLGlCQUFpQjtZQUNwRCxPQUFPLElBQUk7UUFDYixDQUFDO0lBQ0gsTUFBTSxJQUFJO0lBRWQsSUFBSUksNkJBQTZCLElBQUksRUFBRTtRQUNyQyxJQUFNTSxrQ0FBa0NOLHlCQUF5Qk8sVUFBVTtRQUUzRVYsVUFBVVMsaUNBQWtDLEdBQUc7SUFDakQsQ0FBQztJQUVELE9BQU9UO0FBQ1Q7QUFFQSxTQUFTVyxpQkFBaUI7SUFDeEIsSUFBTUMsV0FBV0MsaUNBQXNCLEVBQ2pDYixVQUFVLElBQUksQ0FBQ0YsVUFBVSxDQUFDYyxXQUMxQkUsY0FBY2QsU0FBVSxHQUFHO0lBRWpDLE9BQU9jO0FBQ1Q7QUFFQSxTQUFTQyxtQkFBbUI7SUFDMUIsSUFBTUgsV0FBV0ksbUNBQXdCLEVBQ25DaEIsVUFBVSxJQUFJLENBQUNGLFVBQVUsQ0FBQ2MsV0FDMUJLLGdCQUFnQmpCLFNBQVUsR0FBRztJQUVuQyxPQUFPaUI7QUFDVDtBQUVBLFNBQVNDLHFCQUFxQjtJQUM1QixJQUFNTixXQUFXTyxxQ0FBMEIsRUFDckNuQixVQUFVLElBQUksQ0FBQ0YsVUFBVSxDQUFDYyxXQUMxQlEsa0JBQWtCcEIsU0FBVSxHQUFHO0lBRXJDLE9BQU9vQjtBQUNUO0lBRUEsV0FBZ0I7SUFDZHRCLFlBQUFBO0lBQ0FhLGdCQUFBQTtJQUNBSSxrQkFBQUE7SUFDQUcsb0JBQUFBO0FBQ0YifQ==
package/lib/project.js CHANGED
@@ -5,11 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return Project;
8
+ return _default;
9
9
  }
10
10
  });
11
+ var _occamGrammars = require("occam-grammars");
11
12
  var _entries = /*#__PURE__*/ _interopRequireDefault(require("./entries"));
12
- var _filePath = require("./utilities/filePath");
13
+ var _bnf = /*#__PURE__*/ _interopRequireDefault(require("./mixin/bnf"));
14
+ var _files = /*#__PURE__*/ _interopRequireDefault(require("./mixin/files"));
15
+ var _dependencies = /*#__PURE__*/ _interopRequireDefault(require("./dependencies"));
16
+ var _entries1 = /*#__PURE__*/ _interopRequireDefault(require("./mixin/entries"));
17
+ var _pattern = /*#__PURE__*/ _interopRequireDefault(require("./mixin/pattern"));
18
+ var _files1 = require("./utilities/files");
19
+ var _metaJSON = require("./utilities/metaJSON");
13
20
  function _classCallCheck(instance, Constructor) {
14
21
  if (!(instance instanceof Constructor)) {
15
22
  throw new TypeError("Cannot call a class as a function");
@@ -34,11 +41,14 @@ function _interopRequireDefault(obj) {
34
41
  default: obj
35
42
  };
36
43
  }
44
+ var metaJSONLexer = _occamGrammars.MetaJSONLexer.fromNothing(), metaJSONParser = _occamGrammars.MetaJSONParser.fromNothing();
37
45
  var Project = /*#__PURE__*/ function() {
38
- function Project(name, entries) {
46
+ function Project(name, entries, repository, dependencies) {
39
47
  _classCallCheck(this, Project);
40
48
  this.name = name;
41
49
  this.entries = entries;
50
+ this.repository = repository;
51
+ this.dependendies = dependencies;
42
52
  }
43
53
  _createClass(Project, [
44
54
  {
@@ -54,89 +64,25 @@ var Project = /*#__PURE__*/ function() {
54
64
  }
55
65
  },
56
66
  {
57
- key: "getFiles",
58
- value: function getFiles() {
59
- return this.entries.getFiles();
67
+ key: "getRepository",
68
+ value: function getRepository() {
69
+ return this.repository;
60
70
  }
61
71
  },
62
72
  {
63
- key: "getFilePaths",
64
- value: function getFilePaths() {
65
- return this.entries.getFilePaths();
66
- }
67
- },
68
- {
69
- key: "getDirectoryPaths",
70
- value: function getDirectoryPaths() {
71
- return this.entries.getDirectoryPaths();
72
- }
73
- },
74
- {
75
- key: "getFile",
76
- value: function getFile(filePath) {
77
- return this.entries.getFile(filePath);
78
- }
79
- },
80
- {
81
- key: "getMetaJSONFile",
82
- value: function getMetaJSONFile() {
83
- var files = this.getFiles(), metaJSONFile = files.findFile(function(file) {
84
- var filePath = file.getPath(), filePathMetaJSONFilePath = (0, _filePath.isFilePathMetaJSONFilePath)(filePath);
85
- if (filePathMetaJSONFilePath) {
86
- return true;
87
- }
88
- });
89
- return metaJSONFile;
90
- }
91
- },
92
- {
93
- key: "getFlorenceFiles",
94
- value: function getFlorenceFiles() {
95
- var files = this.getFiles(), florenceFiles = files.reduceFile(function(florenceFiles, file) {
96
- var filePath = file.getPath(), filePathFlorenceFilePath = (0, _filePath.isFilePathFlorenceFilePath)(filePath), fileFlorenceFile = filePathFlorenceFilePath; ///
97
- if (fileFlorenceFile) {
98
- var florenceFile = file; ///
99
- florenceFiles.push(florenceFile);
100
- }
101
- return florenceFiles;
102
- }, []);
103
- return florenceFiles;
104
- }
105
- },
106
- {
107
- key: "getCustomGrammarBNFFiles",
108
- value: function getCustomGrammarBNFFiles() {
109
- var files = this.getFiles(), customGrammarBNFFiles = files.reduceFile(function(customGrammarBNFFiles, file) {
110
- var filePath = file.getPath(), filePathCustomGrammarBNFFilePath = (0, _filePath.isFilePathCustomGrammarBNFFilePath)(filePath), fileCustomGrammarBNFFile = filePathCustomGrammarBNFFilePath; ///
111
- if (fileCustomGrammarBNFFile) {
112
- var customGrammarBNFFile = file; ///
113
- customGrammarBNFFiles.push(customGrammarBNFFile);
114
- }
115
- return customGrammarBNFFiles;
116
- }, []);
117
- return customGrammarBNFFiles;
118
- }
119
- },
120
- {
121
- key: "getCustomGrammarPatternFiles",
122
- value: function getCustomGrammarPatternFiles() {
123
- var files = this.getFiles(), customGrammarPatternFiles = files.reduceFile(function(customGrammarPatternFiles, file) {
124
- var filePath = file.getPath(), filePathCustomGrammarPatternFilePath = (0, _filePath.isFilePathCustomGrammarPatternFilePath)(filePath), fileCustomGrammarPatternFile = filePathCustomGrammarPatternFilePath; ///
125
- if (fileCustomGrammarPatternFile) {
126
- var customGrammarPatternFile = file; ///
127
- customGrammarPatternFiles.push(customGrammarPatternFile);
128
- }
129
- return customGrammarPatternFiles;
130
- }, []);
131
- return customGrammarPatternFiles;
73
+ key: "getDependencies",
74
+ value: function getDependencies() {
75
+ return this.dependendies;
132
76
  }
133
77
  },
134
78
  {
135
79
  key: "toJSON",
136
80
  value: function toJSON() {
137
- var name = this.name, entriesJSON = this.entries.toJSON(), entries = entriesJSON, json = {
81
+ var entriesJSON = this.entries.toJSON(), dependenciesJSON = this.dependendies.toJSON(), name = this.name, entries = entriesJSON, repository = this.repository, dependencies = dependenciesJSON, json = {
138
82
  name: name,
139
- entries: entries
83
+ entries: entries,
84
+ repository: repository,
85
+ dependencies: dependencies
140
86
  };
141
87
  return json;
142
88
  }
@@ -145,21 +91,64 @@ var Project = /*#__PURE__*/ function() {
145
91
  {
146
92
  key: "fromJSON",
147
93
  value: function fromJSON(json) {
148
- var name = json.name, entriesJSON = json.entries;
94
+ var entries = json.entries, dependencies = json.dependencies;
95
+ var name = json.name, repository = json.repository, entriesJSON = entries, dependenciesJSON = dependencies; ///
149
96
  json = entriesJSON; ///
150
- var entries = _entries.default.fromJSON(json), project = new Project(name, entries);
151
- return project;
97
+ entries = _entries.default.fromJSON(json); ///
98
+ json = dependenciesJSON; ///
99
+ dependencies = _dependencies.default.fromJSON(json);
100
+ var release = new Release(name, entries, repository, dependencies);
101
+ return release;
152
102
  }
153
103
  },
154
104
  {
155
105
  key: "fromName",
156
106
  value: function fromName(name) {
157
- var entries = _entries.default.fromNothing(), project = new Project(name, entries);
107
+ var entries = _entries.default.fromNothing(), repository = null, dependencies = _dependencies.default.fromNothing(), project = new Project(name, entries, repository, dependencies);
108
+ return project;
109
+ }
110
+ },
111
+ {
112
+ key: "fromNameAndEntries",
113
+ value: function fromNameAndEntries(name, entries) {
114
+ var repository = repositoryFromEntries(entries), dependencies = dependenciesFromEntries(entries), project = new Project(name, entries, repository, dependencies);
158
115
  return project;
159
116
  }
160
117
  }
161
118
  ]);
162
119
  return Project;
163
120
  }();
121
+ Object.assign(Project.prototype, _bnf.default);
122
+ Object.assign(Project.prototype, _files.default);
123
+ Object.assign(Project.prototype, _entries1.default);
124
+ Object.assign(Project.prototype, _pattern.default);
125
+ var _default = Project;
126
+ function repositoryFromEntries(entries) {
127
+ var repository = null;
128
+ var metaJSONFileNode = metaJSONFileNodeFromEntries(entries);
129
+ if (metaJSONFileNode !== null) {
130
+ var node = metaJSONFileNode; ///
131
+ repository = (0, _metaJSON.repositoryFromNode)(node);
132
+ }
133
+ return repository;
134
+ }
135
+ function dependenciesFromEntries(entries) {
136
+ var dependencies = [];
137
+ var metaJSONFileNode = metaJSONFileNodeFromEntries(entries);
138
+ if (metaJSONFileNode !== null) {
139
+ var node = metaJSONFileNode; ///
140
+ dependencies = (0, _metaJSON.dependenciesFromNode)(node);
141
+ }
142
+ return dependencies;
143
+ }
144
+ function metaJSONFileNodeFromEntries(entries) {
145
+ var metaJSONFileNode = null;
146
+ var files = entries.getFiles(), metaJSONFile = (0, _files1.metaJSONFIleFromFiles)(files);
147
+ if (metaJSONFile !== null) {
148
+ var content = metaJSONFile.getContent(), tokens = metaJSONLexer.tokenise(content), node = metaJSONParser.parse(tokens);
149
+ metaJSONFileNode = node; ///
150
+ }
151
+ return metaJSONFileNode;
152
+ }
164
153
 
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9qZWN0LmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgRW50cmllcyBmcm9tIFwiLi9lbnRyaWVzXCI7XG5cbmltcG9ydCB7IGlzRmlsZVBhdGhGbG9yZW5jZUZpbGVQYXRoLFxuICAgICAgICAgaXNGaWxlUGF0aE1ldGFKU09ORmlsZVBhdGgsXG4gICAgICAgICBpc0ZpbGVQYXRoQ3VzdG9tR3JhbW1hckJORkZpbGVQYXRoLFxuICAgICAgICAgaXNGaWxlUGF0aEN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZVBhdGggfSBmcm9tIFwiLi91dGlsaXRpZXMvZmlsZVBhdGhcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUHJvamVjdCB7XG4gIGNvbnN0cnVjdG9yKG5hbWUsIGVudHJpZXMpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuZW50cmllcyA9IGVudHJpZXM7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRFbnRyaWVzKCkge1xuICAgIHJldHVybiB0aGlzLmVudHJpZXM7XG4gIH1cblxuICBnZXRGaWxlcygpIHsgcmV0dXJuIHRoaXMuZW50cmllcy5nZXRGaWxlcygpOyB9XG5cbiAgZ2V0RmlsZVBhdGhzKCkgeyByZXR1cm4gdGhpcy5lbnRyaWVzLmdldEZpbGVQYXRocygpOyB9XG5cbiAgZ2V0RGlyZWN0b3J5UGF0aHMoKSB7IHJldHVybiB0aGlzLmVudHJpZXMuZ2V0RGlyZWN0b3J5UGF0aHMoKTsgfVxuXG4gIGdldEZpbGUoZmlsZVBhdGgpIHsgcmV0dXJuIHRoaXMuZW50cmllcy5nZXRGaWxlKGZpbGVQYXRoKTsgfVxuXG4gIGdldE1ldGFKU09ORmlsZSgpIHtcbiAgICBjb25zdCBmaWxlcyA9IHRoaXMuZ2V0RmlsZXMoKSxcbiAgICAgICAgICBtZXRhSlNPTkZpbGUgPSBmaWxlcy5maW5kRmlsZSgoZmlsZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gZmlsZS5nZXRQYXRoKCksXG4gICAgICAgICAgICAgICAgZmlsZVBhdGhNZXRhSlNPTkZpbGVQYXRoID0gaXNGaWxlUGF0aE1ldGFKU09ORmlsZVBhdGgoZmlsZVBhdGgpO1xuXG4gICAgICAgICAgaWYgKGZpbGVQYXRoTWV0YUpTT05GaWxlUGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgIHJldHVybiBtZXRhSlNPTkZpbGU7XG4gIH1cblxuICBnZXRGbG9yZW5jZUZpbGVzKCkge1xuICAgIGNvbnN0IGZpbGVzID0gdGhpcy5nZXRGaWxlcygpLFxuICAgICAgICAgIGZsb3JlbmNlRmlsZXMgPSBmaWxlcy5yZWR1Y2VGaWxlKChmbG9yZW5jZUZpbGVzLCBmaWxlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxuICAgICAgICAgICAgICAgICAgZmlsZVBhdGhGbG9yZW5jZUZpbGVQYXRoID0gaXNGaWxlUGF0aEZsb3JlbmNlRmlsZVBhdGgoZmlsZVBhdGgpLFxuICAgICAgICAgICAgICAgICAgZmlsZUZsb3JlbmNlRmlsZSA9IGZpbGVQYXRoRmxvcmVuY2VGaWxlUGF0aDsgIC8vL1xuXG4gICAgICAgICAgICBpZiAoZmlsZUZsb3JlbmNlRmlsZSkge1xuICAgICAgICAgICAgICBjb25zdCBmbG9yZW5jZUZpbGUgPSBmaWxlOyAgLy8vXG5cbiAgICAgICAgICAgICAgZmxvcmVuY2VGaWxlcy5wdXNoKGZsb3JlbmNlRmlsZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmbG9yZW5jZUZpbGVzO1xuICAgICAgICAgIH0sIFtdKTtcblxuICAgIHJldHVybiBmbG9yZW5jZUZpbGVzO1xuICB9XG5cbiAgZ2V0Q3VzdG9tR3JhbW1hckJORkZpbGVzKCkge1xuICAgIGNvbnN0IGZpbGVzID0gdGhpcy5nZXRGaWxlcygpLFxuICAgICAgICAgIGN1c3RvbUdyYW1tYXJCTkZGaWxlcyA9IGZpbGVzLnJlZHVjZUZpbGUoKGN1c3RvbUdyYW1tYXJCTkZGaWxlcywgZmlsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKSxcbiAgICAgICAgICAgICAgICAgIGZpbGVQYXRoQ3VzdG9tR3JhbW1hckJORkZpbGVQYXRoID0gaXNGaWxlUGF0aEN1c3RvbUdyYW1tYXJCTkZGaWxlUGF0aChmaWxlUGF0aCksXG4gICAgICAgICAgICAgICAgICBmaWxlQ3VzdG9tR3JhbW1hckJORkZpbGUgPSBmaWxlUGF0aEN1c3RvbUdyYW1tYXJCTkZGaWxlUGF0aDsgIC8vL1xuXG4gICAgICAgICAgICBpZiAoZmlsZUN1c3RvbUdyYW1tYXJCTkZGaWxlKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGN1c3RvbUdyYW1tYXJCTkZGaWxlID0gZmlsZTsgIC8vL1xuXG4gICAgICAgICAgICAgIGN1c3RvbUdyYW1tYXJCTkZGaWxlcy5wdXNoKGN1c3RvbUdyYW1tYXJCTkZGaWxlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGN1c3RvbUdyYW1tYXJCTkZGaWxlcztcbiAgICAgICAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gY3VzdG9tR3JhbW1hckJORkZpbGVzO1xuICB9XG5cbiAgZ2V0Q3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlcygpIHtcbiAgICBjb25zdCBmaWxlcyA9IHRoaXMuZ2V0RmlsZXMoKSxcbiAgICAgICAgICBjdXN0b21HcmFtbWFyUGF0dGVybkZpbGVzID0gZmlsZXMucmVkdWNlRmlsZSgoY3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlcywgZmlsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKSxcbiAgICAgICAgICAgICAgICAgIGZpbGVQYXRoQ3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlUGF0aCA9IGlzRmlsZVBhdGhDdXN0b21HcmFtbWFyUGF0dGVybkZpbGVQYXRoKGZpbGVQYXRoKSxcbiAgICAgICAgICAgICAgICAgIGZpbGVDdXN0b21HcmFtbWFyUGF0dGVybkZpbGUgPSBmaWxlUGF0aEN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZVBhdGg7ICAvLy9cblxuICAgICAgICAgICAgaWYgKGZpbGVDdXN0b21HcmFtbWFyUGF0dGVybkZpbGUpIHtcbiAgICAgICAgICAgICAgY29uc3QgY3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlID0gZmlsZTsgIC8vL1xuXG4gICAgICAgICAgICAgIGN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZXMucHVzaChjdXN0b21HcmFtbWFyUGF0dGVybkZpbGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlcztcbiAgICAgICAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gY3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lLFxuICAgICAgICAgIGVudHJpZXNKU09OID0gdGhpcy5lbnRyaWVzLnRvSlNPTigpLFxuICAgICAgICAgIGVudHJpZXMgPSBlbnRyaWVzSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgZW50cmllc1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3QgeyBuYW1lLCBlbnRyaWVzOiBlbnRyaWVzSlNPTiB9ID0ganNvbjtcblxuICAgIGpzb24gPSBlbnRyaWVzSlNPTjsgLy8vXG5cbiAgICBjb25zdCBlbnRyaWVzID0gRW50cmllcy5mcm9tSlNPTihqc29uKSxcbiAgICAgICAgICBwcm9qZWN0ID0gbmV3IFByb2plY3QobmFtZSwgZW50cmllcyk7XG5cbiAgICByZXR1cm4gcHJvamVjdDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTmFtZShuYW1lKSB7XG4gICAgY29uc3QgZW50cmllcyA9IEVudHJpZXMuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBwcm9qZWN0ID0gbmV3IFByb2plY3QobmFtZSwgZW50cmllcyk7XG5cbiAgICByZXR1cm4gcHJvamVjdDtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJQcm9qZWN0IiwibmFtZSIsImVudHJpZXMiLCJnZXROYW1lIiwiZ2V0RW50cmllcyIsImdldEZpbGVzIiwiZ2V0RmlsZVBhdGhzIiwiZ2V0RGlyZWN0b3J5UGF0aHMiLCJnZXRGaWxlIiwiZmlsZVBhdGgiLCJnZXRNZXRhSlNPTkZpbGUiLCJmaWxlcyIsIm1ldGFKU09ORmlsZSIsImZpbmRGaWxlIiwiZmlsZSIsImdldFBhdGgiLCJmaWxlUGF0aE1ldGFKU09ORmlsZVBhdGgiLCJpc0ZpbGVQYXRoTWV0YUpTT05GaWxlUGF0aCIsImdldEZsb3JlbmNlRmlsZXMiLCJmbG9yZW5jZUZpbGVzIiwicmVkdWNlRmlsZSIsImZpbGVQYXRoRmxvcmVuY2VGaWxlUGF0aCIsImlzRmlsZVBhdGhGbG9yZW5jZUZpbGVQYXRoIiwiZmlsZUZsb3JlbmNlRmlsZSIsImZsb3JlbmNlRmlsZSIsInB1c2giLCJnZXRDdXN0b21HcmFtbWFyQk5GRmlsZXMiLCJjdXN0b21HcmFtbWFyQk5GRmlsZXMiLCJmaWxlUGF0aEN1c3RvbUdyYW1tYXJCTkZGaWxlUGF0aCIsImlzRmlsZVBhdGhDdXN0b21HcmFtbWFyQk5GRmlsZVBhdGgiLCJmaWxlQ3VzdG9tR3JhbW1hckJORkZpbGUiLCJjdXN0b21HcmFtbWFyQk5GRmlsZSIsImdldEN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZXMiLCJjdXN0b21HcmFtbWFyUGF0dGVybkZpbGVzIiwiZmlsZVBhdGhDdXN0b21HcmFtbWFyUGF0dGVybkZpbGVQYXRoIiwiaXNGaWxlUGF0aEN1c3RvbUdyYW1tYXJQYXR0ZXJuRmlsZVBhdGgiLCJmaWxlQ3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlIiwiY3VzdG9tR3JhbW1hclBhdHRlcm5GaWxlIiwidG9KU09OIiwiZW50cmllc0pTT04iLCJqc29uIiwiZnJvbUpTT04iLCJFbnRyaWVzIiwicHJvamVjdCIsImZyb21OYW1lIiwiZnJvbU5vdGhpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBU3FCQTs7OzREQVBEO3dCQUttQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4QyxJQUFBLEFBQU1BLHdCQUFOO2FBQU1BLFFBQ1BDLElBQUksRUFBRUMsT0FBTzs4QkFETkY7UUFFakIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxPQUFPLEdBQUdBOztpQkFIRUY7O1lBTW5CRyxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVTtnQkFDUixPQUFPLElBQUksQ0FBQ0YsSUFBSTtZQUNsQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxhQUFhO2dCQUNYLE9BQU8sSUFBSSxDQUFDRixPQUFPO1lBQ3JCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVc7Z0JBQUUsT0FBTyxJQUFJLENBQUNILE9BQU8sQ0FBQ0csUUFBUTtZQUFJOzs7WUFFN0NDLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlO2dCQUFFLE9BQU8sSUFBSSxDQUFDSixPQUFPLENBQUNJLFlBQVk7WUFBSTs7O1lBRXJEQyxLQUFBQTttQkFBQUEsU0FBQUEsb0JBQW9CO2dCQUFFLE9BQU8sSUFBSSxDQUFDTCxPQUFPLENBQUNLLGlCQUFpQjtZQUFJOzs7WUFFL0RDLEtBQUFBO21CQUFBQSxTQUFBQSxRQUFRQyxRQUFRLEVBQUU7Z0JBQUUsT0FBTyxJQUFJLENBQUNQLE9BQU8sQ0FBQ00sT0FBTyxDQUFDQztZQUFXOzs7WUFFM0RDLEtBQUFBO21CQUFBQSxTQUFBQSxrQkFBa0I7Z0JBQ2hCLElBQU1DLFFBQVEsSUFBSSxDQUFDTixRQUFRLElBQ3JCTyxlQUFlRCxNQUFNRSxR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
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9qZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBNZXRhSlNPTkxleGVyLCBNZXRhSlNPTlBhcnNlciB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgRW50cmllcyBmcm9tIFwiLi9lbnRyaWVzXCI7XG5pbXBvcnQgYm5mTWl4aW4gZnJvbSBcIi4vbWl4aW4vYm5mXCI7XG5pbXBvcnQgZmlsZXNNaXhpbiBmcm9tIFwiLi9taXhpbi9maWxlc1wiO1xuaW1wb3J0IERlcGVuZGVuY2llcyBmcm9tIFwiLi9kZXBlbmRlbmNpZXNcIjtcbmltcG9ydCBlbnRyaWVzTWl4aW4gZnJvbSBcIi4vbWl4aW4vZW50cmllc1wiO1xuaW1wb3J0IHBhdHRlcm5NaXhpbiBmcm9tIFwiLi9taXhpbi9wYXR0ZXJuXCI7XG5cbmltcG9ydCB7IG1ldGFKU09ORklsZUZyb21GaWxlcyB9IGZyb20gXCIuL3V0aWxpdGllcy9maWxlc1wiO1xuaW1wb3J0IHsgcmVwb3NpdG9yeUZyb21Ob2RlLCBkZXBlbmRlbmNpZXNGcm9tTm9kZSB9IGZyb20gXCIuL3V0aWxpdGllcy9tZXRhSlNPTlwiO1xuXG5jb25zdCBtZXRhSlNPTkxleGVyID0gTWV0YUpTT05MZXhlci5mcm9tTm90aGluZygpLFxuICAgICAgbWV0YUpTT05QYXJzZXIgPSBNZXRhSlNPTlBhcnNlci5mcm9tTm90aGluZygpO1xuXG5jbGFzcyBQcm9qZWN0IHtcbiAgY29uc3RydWN0b3IobmFtZSwgZW50cmllcywgcmVwb3NpdG9yeSwgZGVwZW5kZW5jaWVzKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLmVudHJpZXMgPSBlbnRyaWVzO1xuICAgIHRoaXMucmVwb3NpdG9yeSA9IHJlcG9zaXRvcnk7XG4gICAgdGhpcy5kZXBlbmRlbmRpZXMgPSBkZXBlbmRlbmNpZXM7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRFbnRyaWVzKCkge1xuICAgIHJldHVybiB0aGlzLmVudHJpZXM7XG4gIH1cblxuICBnZXRSZXBvc2l0b3J5KCkge1xuICAgIHJldHVybiB0aGlzLnJlcG9zaXRvcnk7XG4gIH1cblxuICBnZXREZXBlbmRlbmNpZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVwZW5kZW5kaWVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IGVudHJpZXNKU09OID0gdGhpcy5lbnRyaWVzLnRvSlNPTigpLFxuICAgICAgICAgIGRlcGVuZGVuY2llc0pTT04gPSB0aGlzLmRlcGVuZGVuZGllcy50b0pTT04oKSxcbiAgICAgICAgICBuYW1lID0gdGhpcy5uYW1lLFxuICAgICAgICAgIGVudHJpZXMgPSBlbnRyaWVzSlNPTiwgIC8vL1xuICAgICAgICAgIHJlcG9zaXRvcnkgPSB0aGlzLnJlcG9zaXRvcnksXG4gICAgICAgICAgZGVwZW5kZW5jaWVzID0gZGVwZW5kZW5jaWVzSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgZW50cmllcyxcbiAgICAgICAgICAgIHJlcG9zaXRvcnksXG4gICAgICAgICAgICBkZXBlbmRlbmNpZXNcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xuICAgIGxldCB7IGVudHJpZXMsIGRlcGVuZGVuY2llcyB9ID0ganNvbjtcblxuICAgIGNvbnN0IHsgbmFtZSwgcmVwb3NpdG9yeSB9ID0ganNvbixcbiAgICAgICAgICBlbnRyaWVzSlNPTiA9IGVudHJpZXMsICAvLy9cbiAgICAgICAgICBkZXBlbmRlbmNpZXNKU09OID0gZGVwZW5kZW5jaWVzOyAvLy9cblxuICAgIGpzb24gPSBlbnRyaWVzSlNPTjsgLy8vXG5cbiAgICBlbnRyaWVzID0gRW50cmllcy5mcm9tSlNPTihqc29uKTsgLy8vXG5cbiAgICBqc29uID0gZGVwZW5kZW5jaWVzSlNPTjsgLy8vXG5cbiAgICBkZXBlbmRlbmNpZXMgPSBEZXBlbmRlbmNpZXMuZnJvbUpTT04oanNvbik7XG5cbiAgICBjb25zdCByZWxlYXNlID0gbmV3IFJlbGVhc2UobmFtZSwgZW50cmllcywgcmVwb3NpdG9yeSwgZGVwZW5kZW5jaWVzKTtcblxuICAgIHJldHVybiByZWxlYXNlO1xuICB9XG5cbiAgc3RhdGljIGZyb21OYW1lKG5hbWUpIHtcbiAgICBjb25zdCBlbnRyaWVzID0gRW50cmllcy5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHJlcG9zaXRvcnkgPSBudWxsLCAgLy8vXG4gICAgICAgICAgZGVwZW5kZW5jaWVzID0gRGVwZW5kZW5jaWVzLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcHJvamVjdCA9IG5ldyBQcm9qZWN0KG5hbWUsIGVudHJpZXMsIHJlcG9zaXRvcnksIGRlcGVuZGVuY2llcyk7XG5cbiAgICByZXR1cm4gcHJvamVjdDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTmFtZUFuZEVudHJpZXMobmFtZSwgZW50cmllcykge1xuICAgIGNvbnN0IHJlcG9zaXRvcnkgPSByZXBvc2l0b3J5RnJvbUVudHJpZXMoZW50cmllcyksXG4gICAgICAgICAgZGVwZW5kZW5jaWVzID0gZGVwZW5kZW5jaWVzRnJvbUVudHJpZXMoZW50cmllcyksXG4gICAgICAgICAgcHJvamVjdCA9IG5ldyBQcm9qZWN0KG5hbWUsIGVudHJpZXMsIHJlcG9zaXRvcnksIGRlcGVuZGVuY2llcyk7XG5cbiAgICByZXR1cm4gcHJvamVjdDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKFByb2plY3QucHJvdG90eXBlLCBibmZNaXhpbik7XG5PYmplY3QuYXNzaWduKFByb2plY3QucHJvdG90eXBlLCBmaWxlc01peGluKTtcbk9iamVjdC5hc3NpZ24oUHJvamVjdC5wcm90b3R5cGUsIGVudHJpZXNNaXhpbik7XG5PYmplY3QuYXNzaWduKFByb2plY3QucHJvdG90eXBlLCBwYXR0ZXJuTWl4aW4pO1xuXG5leHBvcnQgZGVmYXVsdCBQcm9qZWN0O1xuXG5mdW5jdGlvbiByZXBvc2l0b3J5RnJvbUVudHJpZXMoZW50cmllcykge1xuICBsZXQgcmVwb3NpdG9yeSA9IG51bGw7XG5cbiAgY29uc3QgbWV0YUpTT05GaWxlTm9kZSA9IG1ldGFKU09ORmlsZU5vZGVGcm9tRW50cmllcyhlbnRyaWVzKVxuXG4gIGlmIChtZXRhSlNPTkZpbGVOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgbm9kZSA9IG1ldGFKU09ORmlsZU5vZGU7Ly8vXG5cbiAgICByZXBvc2l0b3J5ID0gcmVwb3NpdG9yeUZyb21Ob2RlKG5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHJlcG9zaXRvcnk7XG59XG5cbmZ1bmN0aW9uIGRlcGVuZGVuY2llc0Zyb21FbnRyaWVzKGVudHJpZXMpIHtcbiAgbGV0IGRlcGVuZGVuY2llcyA9IFtdO1xuXG4gIGNvbnN0IG1ldGFKU09ORmlsZU5vZGUgPSBtZXRhSlNPTkZpbGVOb2RlRnJvbUVudHJpZXMoZW50cmllcylcblxuICBpZiAobWV0YUpTT05GaWxlTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG5vZGUgPSBtZXRhSlNPTkZpbGVOb2RlOy8vL1xuXG4gICAgZGVwZW5kZW5jaWVzID0gZGVwZW5kZW5jaWVzRnJvbU5vZGUobm9kZSk7XG4gIH1cblxuICByZXR1cm4gZGVwZW5kZW5jaWVzO1xufVxuXG5mdW5jdGlvbiBtZXRhSlNPTkZpbGVOb2RlRnJvbUVudHJpZXMoZW50cmllcykge1xuICBsZXQgbWV0YUpTT05GaWxlTm9kZSA9IG51bGw7XG5cbiAgY29uc3QgZmlsZXMgPSBlbnRyaWVzLmdldEZpbGVzKCksXG4gICAgICAgIG1ldGFKU09ORmlsZSA9IG1ldGFKU09ORklsZUZyb21GaWxlcyhmaWxlcyk7XG5cbiAgaWYgKG1ldGFKU09ORmlsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBtZXRhSlNPTkZpbGUuZ2V0Q29udGVudCgpLFxuICAgICAgICB0b2tlbnMgPSBtZXRhSlNPTkxleGVyLnRva2VuaXNlKGNvbnRlbnQpLFxuICAgICAgICBub2RlID0gbWV0YUpTT05QYXJzZXIucGFyc2UodG9rZW5zKTtcblxuICAgIG1ldGFKU09ORmlsZU5vZGUgPSBub2RlOyAgLy8vXG4gIH1cblxuICByZXR1cm4gbWV0YUpTT05GaWxlTm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJtZXRhSlNPTkxleGVyIiwiTWV0YUpTT05MZXhlciIsImZyb21Ob3RoaW5nIiwibWV0YUpTT05QYXJzZXIiLCJNZXRhSlNPTlBhcnNlciIsIlByb2plY3QiLCJuYW1lIiwiZW50cmllcyIsInJlcG9zaXRvcnkiLCJkZXBlbmRlbmNpZXMiLCJkZXBlbmRlbmRpZXMiLCJnZXROYW1lIiwiZ2V0RW50cmllcyIsImdldFJlcG9zaXRvcnkiLCJnZXREZXBlbmRlbmNpZXMiLCJ0b0pTT04iLCJlbnRyaWVzSlNPTiIsImRlcGVuZGVuY2llc0pTT04iLCJqc29uIiwiZnJvbUpTT04iLCJFbnRyaWVzIiwiRGVwZW5kZW5jaWVzIiwicmVsZWFzZSIsIlJlbGVhc2UiLCJmcm9tTmFtZSIsInByb2plY3QiLCJmcm9tTmFtZUFuZEVudHJpZXMiLCJyZXBvc2l0b3J5RnJvbUVudHJpZXMiLCJkZXBlbmRlbmNpZXNGcm9tRW50cmllcyIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImJuZk1peGluIiwiZmlsZXNNaXhpbiIsImVudHJpZXNNaXhpbiIsInBhdHRlcm5NaXhpbiIsIm1ldGFKU09ORmlsZU5vZGUiLCJtZXRhSlNPTkZpbGVOb2RlRnJvbUVudHJpZXMiLCJub2RlIiwicmVwb3NpdG9yeUZyb21Ob2RlIiwiZGVwZW5kZW5jaWVzRnJvbU5vZGUiLCJmaWxlcyIsImdldEZpbGVzIiwibWV0YUpTT05GaWxlIiwibWV0YUpTT05GSWxlRnJvbUZpbGVzIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsInBhcnNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFxR0E7OztlQUFBOzs7NkJBbkc4Qzs0REFFMUI7d0RBQ0M7MERBQ0U7aUVBQ0U7NkRBQ0E7NERBQ0E7c0JBRWE7d0JBQ21COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpELElBQU1BLGdCQUFnQkMsNEJBQWEsQ0FBQ0MsV0FBVyxJQUN6Q0MsaUJBQWlCQyw2QkFBYyxDQUFDRixXQUFXO0FBRWpELElBQUEsQUFBTUcsd0JBK0VILEFBL0VIO2FBQU1BLFFBQ1FDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxVQUFVLEVBQUVDLFlBQVk7OEJBRC9DSjtRQUVGLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNFLFlBQVksR0FBR0Q7O2lCQUxsQko7O1lBUUpNLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVO2dCQUNSLE9BQU8sSUFBSSxDQUFDTCxJQUFJO1lBQ2xCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBLGFBQWE7Z0JBQ1gsT0FBTyxJQUFJLENBQUNMLE9BQU87WUFDckI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUEsZ0JBQWdCO2dCQUNkLE9BQU8sSUFBSSxDQUFDTCxVQUFVO1lBQ3hCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBLGtCQUFrQjtnQkFDaEIsT0FBTyxJQUFJLENBQUNKLFlBQVk7WUFDMUI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUEsU0FBUztnQkFDUCxJQUFNQyxjQUFjLElBQUksQ0FBQ1QsT0FBTyxDQUFDUSxNQUFNLElBQ2pDRSxtQkFBbUIsSUFBSSxDQUFDUCxZQUFZLENBQUNLLE1BQU0sSUFDM0NULE9BQU8sSUFBSSxDQUFDQSxJQUFJLEVBQ2hCQyxVQUFVUyxhQUNWUixhQUFhLElBQUksQ0FBQ0EsVUFBVSxFQUM1QkMsZUFBZVEsa0JBQ2ZDLE9BQU87b0JBQ0xaLE1BQUFBO29CQUNBQyxTQUFBQTtvQkFDQUMsWUFBQUE7b0JBQ0FDLGNBQUFBO2dCQUNGO2dCQUVOLE9BQU9TO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFO2dCQUNwQixJQUFNWCxVQUEwQlcsS0FBMUJYLFNBQVNFLGVBQWlCUyxLQUFqQlQ7Z0JBRWYsSUFBUUgsT0FBcUJZLEtBQXJCWixNQUFNRSxhQUFlVSxLQUFmVixZQUNSUSxjQUFjVCxTQUNkVSxtQkFBbUJSLGNBQWMsR0FBRztnQkFFMUNTLE9BQU9GLGFBQWEsR0FBRztnQkFFdkJULFVBQVVhLGdCQUFPLENBQUNELFFBQVEsQ0FBQ0QsT0FBTyxHQUFHO2dCQUVyQ0EsT0FBT0Qsa0JBQWtCLEdBQUc7Z0JBRTVCUixlQUFlWSxxQkFBWSxDQUFDRixRQUFRLENBQUNEO2dCQUVyQyxJQUFNSSxVQUFVLElBQUlDLFFBQVFqQixNQUFNQyxTQUFTQyxZQUFZQztnQkFFdkQsT0FBT2E7WUFDVDs7O1lBRU9FLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNsQixJQUFJLEVBQUU7Z0JBQ3BCLElBQU1DLFVBQVVhLGdCQUFPLENBQUNsQixXQUFXLElBQzdCTSxhQUFhLElBQUksRUFDakJDLGVBQWVZLHFCQUFZLENBQUNuQixXQUFXLElBQ3ZDdUIsVUFBVSxJQWpFZHBCLFFBaUUwQkMsTUFBTUMsU0FBU0MsWUFBWUM7Z0JBRXZELE9BQU9nQjtZQUNUOzs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsbUJBQW1CcEIsSUFBSSxFQUFFQyxPQUFPLEVBQUU7Z0JBQ3ZDLElBQU1DLGFBQWFtQixzQkFBc0JwQixVQUNuQ0UsZUFBZW1CLHdCQUF3QnJCLFVBQ3ZDa0IsVUFBVSxJQXpFZHBCLFFBeUUwQkMsTUFBTUMsU0FBU0MsWUFBWUM7Z0JBRXZELE9BQU9nQjtZQUNUOzs7V0E1RUlwQjs7QUErRU53QixPQUFPQyxNQUFNLENBQUN6QixRQUFRMEIsU0FBUyxFQUFFQyxZQUFRO0FBQ3pDSCxPQUFPQyxNQUFNLENBQUN6QixRQUFRMEIsU0FBUyxFQUFFRSxjQUFVO0FBQzNDSixPQUFPQyxNQUFNLENBQUN6QixRQUFRMEIsU0FBUyxFQUFFRyxpQkFBWTtBQUM3Q0wsT0FBT0MsTUFBTSxDQUFDekIsUUFBUTBCLFNBQVMsRUFBRUksZ0JBQVk7SUFFN0MsV0FBZTlCO0FBRWYsU0FBU3NCLHNCQUFzQnBCLE9BQU8sRUFBRTtJQUN0QyxJQUFJQyxhQUFhLElBQUk7SUFFckIsSUFBTTRCLG1CQUFtQkMsNEJBQTRCOUI7SUFFckQsSUFBSTZCLHFCQUFxQixJQUFJLEVBQUU7UUFDN0IsSUFBTUUsT0FBT0Ysa0JBQWlCLEdBQUc7UUFFakM1QixhQUFhK0IsSUFBQUEsNEJBQWtCLEVBQUNEO0lBQ2xDLENBQUM7SUFFRCxPQUFPOUI7QUFDVDtBQUVBLFNBQVNvQix3QkFBd0JyQixPQUFPLEVBQUU7SUFDeEMsSUFBSUUsZUFBZSxFQUFFO0lBRXJCLElBQU0yQixtQkFBbUJDLDRCQUE0QjlCO0lBRXJELElBQUk2QixxQkFBcUIsSUFBSSxFQUFFO1FBQzdCLElBQU1FLE9BQU9GLGtCQUFpQixHQUFHO1FBRWpDM0IsZUFBZStCLElBQUFBLDhCQUFvQixFQUFDRjtJQUN0QyxDQUFDO0lBRUQsT0FBTzdCO0FBQ1Q7QUFFQSxTQUFTNEIsNEJBQTRCOUIsT0FBTyxFQUFFO0lBQzVDLElBQUk2QixtQkFBbUIsSUFBSTtJQUUzQixJQUFNSyxRQUFRbEMsUUFBUW1DLFFBQVEsSUFDeEJDLGVBQWVDLElBQUFBLDZCQUFxQixFQUFDSDtJQUUzQyxJQUFJRSxpQkFBaUIsSUFBSSxFQUFFO1FBQ3pCLElBQU1FLFVBQVVGLGFBQWFHLFVBQVUsSUFDbkNDLFNBQVMvQyxjQUFjZ0QsUUFBUSxDQUFDSCxVQUNoQ1AsT0FBT25DLGVBQWU4QyxLQUFLLENBQUNGO1FBRWhDWCxtQkFBbUJFLE1BQU8sR0FBRztJQUMvQixDQUFDO0lBRUQsT0FBT0Y7QUFDVCJ9