occam-verify-cli 0.0.539 → 0.0.541

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 (62) hide show
  1. package/bin/utilities/releaseContext.js +30 -40
  2. package/lib/axiom.js +4 -4
  3. package/lib/axiomLemmaTheoremConjecture.js +6 -6
  4. package/lib/combinator.js +4 -4
  5. package/lib/conclusion.js +4 -4
  6. package/lib/conjecture.js +4 -4
  7. package/lib/constructor.js +6 -6
  8. package/lib/context/file.js +185 -78
  9. package/lib/context/metaproof.js +3 -3
  10. package/lib/context/release.js +222 -3
  11. package/lib/index.js +1 -9
  12. package/lib/kinds.js +9 -1
  13. package/lib/label.js +4 -4
  14. package/lib/lemma.js +4 -4
  15. package/lib/metaType.js +9 -7
  16. package/lib/metavariable.js +32 -1
  17. package/lib/premise.js +4 -4
  18. package/lib/rule.js +7 -7
  19. package/lib/ruleNames.js +16 -4
  20. package/lib/supposition.js +4 -4
  21. package/lib/theorem.js +4 -4
  22. package/lib/type.js +14 -14
  23. package/lib/utilities/node.js +31 -3
  24. package/lib/utilities/releaseContext.js +6 -5
  25. package/lib/variable.js +32 -1
  26. package/lib/verifier.js +1 -1
  27. package/lib/verify/file.js +2 -2
  28. package/lib/verify/metastatement.js +147 -3
  29. package/lib/verify/statement.js +2 -2
  30. package/package.json +3 -3
  31. package/src/axiom.js +1 -1
  32. package/src/axiomLemmaTheoremConjecture.js +4 -4
  33. package/src/combinator.js +3 -3
  34. package/src/conclusion.js +3 -3
  35. package/src/conjecture.js +1 -1
  36. package/src/constructor.js +5 -5
  37. package/src/context/file.js +161 -28
  38. package/src/context/metaproof.js +1 -1
  39. package/src/context/release.js +266 -3
  40. package/src/index.js +0 -2
  41. package/src/kinds.js +2 -0
  42. package/src/label.js +3 -3
  43. package/src/lemma.js +1 -1
  44. package/src/metaType.js +8 -5
  45. package/src/metavariable.js +36 -0
  46. package/src/premise.js +3 -3
  47. package/src/rule.js +5 -5
  48. package/src/ruleNames.js +4 -1
  49. package/src/supposition.js +3 -3
  50. package/src/theorem.js +1 -1
  51. package/src/type.js +13 -13
  52. package/src/utilities/node.js +57 -2
  53. package/src/utilities/releaseContext.js +4 -2
  54. package/src/variable.js +36 -0
  55. package/src/verifier.js +1 -1
  56. package/src/verify/file.js +1 -1
  57. package/src/verify/metastatement.js +65 -2
  58. package/src/verify/statement.js +2 -2
  59. package/lib/context/release/directory.js +0 -313
  60. package/lib/context/release/file.js +0 -387
  61. package/src/context/release/directory.js +0 -251
  62. package/src/context/release/file.js +0 -312
@@ -4,7 +4,14 @@ import { rewriteNodes } from "occam-grammar-utilities";
4
4
  import { lexersUtilities, parsersUtilities } from "occam-custom-grammars";
5
5
 
6
6
  import { nodeQuery } from "../utilities/query";
7
- import { LABEL_RULE_NAME, UNQUALIFIED_STATEMENT_RULE_NAME, UNQUALIFIED_METASTATEMENT_RULE_NAME, CONSTRUCTOR_DECLARATIONRULE_NAME } from "../ruleNames";
7
+ import { TYPE_RULE_NAME,
8
+ LABEL_RULE_NAME,
9
+ VARIABLE_RULE_NAME,
10
+ META_TYPE_RULE_NAME,
11
+ METAVARIABLE_RULE_NAME,
12
+ UNQUALIFIED_STATEMENT_RULE_NAME,
13
+ CONSTRUCTOR_DECLARATION_RULE_NAME,
14
+ UNQUALIFIED_METASTATEMENT_RULE_NAME } from "../ruleNames";
8
15
 
9
16
  import { combinedCustomGrammarFromNothing } from "./customGrammar";
10
17
 
@@ -16,11 +23,15 @@ const combinedCustomGrammar = combinedCustomGrammarFromNothing(),
16
23
  florenceParser = florenceParserFromCombinedCustomGrammar(combinedCustomGrammar);
17
24
 
18
25
  const termNodeQuery = nodeQuery("/constructorDeclaration/term!"),
26
+ typeNodeQuery = nodeQuery("/variableDeclaration/type!"),
27
+ variableNodeQuery = nodeQuery("/variableDeclaration/variable!"),
28
+ metaTypeNodeQuery = nodeQuery("/metavariableDeclaration/metaType!"),
19
29
  statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
30
+ metavariableNodeQuery = nodeQuery("/metavariableDeclaration/metavariable!"),
20
31
  metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!");
21
32
 
22
33
  export function termNodeFromTermString(termString, lexer, parser) {
23
- const ruleName = CONSTRUCTOR_DECLARATIONRULE_NAME,
34
+ const ruleName = CONSTRUCTOR_DECLARATION_RULE_NAME,
24
35
  content = `Constructor ${termString}
25
36
  `,
26
37
  node = nodeFromContentAndRuleName(content, ruleName, lexer, parser),
@@ -39,6 +50,28 @@ export function labelNodeFromLabelString(labelString, lexer, parser) {
39
50
  return labelNode;
40
51
  }
41
52
 
53
+ export function typeNodeFromVariableString(variableString, lexer, parser) {
54
+ const ruleName = TYPE_RULE_NAME,
55
+ content = `Variable ${variableString}
56
+ `,
57
+ node = nodeFromContentAndRuleName(content, ruleName, lexer, parser),
58
+ typeDeclarationNode = node, ///
59
+ typeNode = typeNodeQuery(typeDeclarationNode);
60
+
61
+ return typeNode;
62
+ }
63
+
64
+ export function variableNodeFromVariableString(variableString, lexer, parser) {
65
+ const ruleName = VARIABLE_RULE_NAME,
66
+ content = `Variable ${variableString}
67
+ `,
68
+ node = nodeFromContentAndRuleName(content, ruleName, lexer, parser),
69
+ variableDeclarationNode = node, ///
70
+ variableNode = variableNodeQuery(variableDeclarationNode);
71
+
72
+ return variableNode;
73
+ }
74
+
42
75
  export function statementNodeFromStatementString(statementString, lexer, parser) {
43
76
  const ruleName = UNQUALIFIED_STATEMENT_RULE_NAME,
44
77
  content = `${statementString}
@@ -50,6 +83,28 @@ export function statementNodeFromStatementString(statementString, lexer, parser)
50
83
  return statementNode;
51
84
  }
52
85
 
86
+ export function metaTypeNodeFromMetavariableString(metavariableString, lexer, parser) {
87
+ const ruleName = META_TYPE_RULE_NAME,
88
+ content = `Metavariable ${metavariableString}
89
+ `,
90
+ node = nodeFromContentAndRuleName(content, ruleName, lexer, parser),
91
+ metaTypeDeclarationNode = node, ///
92
+ metaTypeNode = metaTypeNodeQuery(metaTypeDeclarationNode);
93
+
94
+ return metaTypeNode;
95
+ }
96
+
97
+ export function metavariableNodeFromMetavariableString(metavariableString, lexer, parser) {
98
+ const ruleName = METAVARIABLE_RULE_NAME,
99
+ content = `Metavariable ${metavariableString}
100
+ `,
101
+ node = nodeFromContentAndRuleName(content, ruleName, lexer, parser),
102
+ metavariableDeclarationNode = node, ///
103
+ metavariableNode = metavariableNodeQuery(metavariableDeclarationNode);
104
+
105
+ return metavariableNode;
106
+ }
107
+
53
108
  export function metastatementNodeFromMetastatementString(metastatementString, lexer, parser) {
54
109
  const ruleName = UNQUALIFIED_METASTATEMENT_RULE_NAME,
55
110
  content = `${metastatementString}
@@ -186,11 +186,13 @@ function createDependencyReleaseContexts(dependency, dependentNames, context, ca
186
186
 
187
187
  next();
188
188
  });
189
- }, () => {
189
+ }, done);
190
+
191
+ function done() {
190
192
  const error = null;
191
193
 
192
194
  callback(error);
193
- });
195
+ }
194
196
  }
195
197
 
196
198
  function retrieveDependencyReleaseContexts(dependency, context, dependencyReleaseContexts = []) {
package/src/variable.js CHANGED
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
 
3
+ import Type from "./type";
4
+
5
+ import { VARIABLE_KIND } from "./kinds";
6
+
3
7
  export default class Variable {
4
8
  constructor(name, type) {
5
9
  this.name = name;
@@ -27,9 +31,41 @@ export default class Variable {
27
31
  return string;
28
32
  }
29
33
 
34
+ toJSON(tokens) {
35
+ const typeJSON = this.type.toJSON(tokens),
36
+ kind = VARIABLE_KIND,
37
+ name = this.name, ///
38
+ type = typeJSON, ///
39
+ json = {
40
+ kind,
41
+ name,
42
+ type
43
+ };
44
+
45
+ return json;
46
+ }
47
+
30
48
  static fromNameAndType(name, type) {
31
49
  const variable = new Variable(name, type);
32
50
 
33
51
  return variable;
34
52
  }
53
+
54
+ static fromJSONAndFileContext(json, fileContext) {
55
+ const { name } = json;
56
+
57
+ let { type } = json;
58
+
59
+ json = type; ///
60
+
61
+ type = Type.fromJSONAndFileContext(json, fileContext);
62
+
63
+ const typeName = type.getName();
64
+
65
+ type = fileContext.findTypeByTypeName(typeName); ///
66
+
67
+ const variable = new Variable(name, type);
68
+
69
+ return variable;
70
+ }
35
71
  }
package/src/verifier.js CHANGED
@@ -40,7 +40,7 @@ export default class Verifier {
40
40
  if (nodeVerified) {
41
41
  return true;
42
42
  }
43
- })
43
+ });
44
44
  }
45
45
 
46
46
  return nodesVerify;
@@ -13,7 +13,7 @@ export default function verifyFile(filePath, releaseContext) {
13
13
 
14
14
  releaseContext.debug(`Verifying the '${filePath}' file...`);
15
15
 
16
- const fileContext = FileContext.fromReleaseContextAndFilePath(releaseContext, filePath),
16
+ const fileContext = FileContext.fromFilePathAndReleaseContext(filePath, releaseContext),
17
17
  node = fileContext.getNode();
18
18
 
19
19
  if (node === null) {
@@ -1,9 +1,72 @@
1
1
  "use strict";
2
2
 
3
+ import Verifier from "../verifier";
4
+
5
+ import { METAVARIABLE_RULE_NAME } from "../ruleNames";
6
+ import { metavariableNameFromMetavariableNode } from "../utilities/query";
7
+
8
+ class MetastatementVerifier extends Verifier {
9
+ verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, metaproofContext) {
10
+ let nonTerminalNodeVerified = false;
11
+
12
+ const nonTerminalNode = nonTerminalNodeA, ///
13
+ ruleName = nonTerminalNode.getRuleName(); ///
14
+
15
+ switch (ruleName) {
16
+ case METAVARIABLE_RULE_NAME: {
17
+ const metavariableNode = nonTerminalNode, ///
18
+ metavariableNodeVerified = this.verifyMetavariableNode(metavariableNode, metaproofContext);
19
+
20
+ nonTerminalNodeVerified = metavariableNodeVerified; ///
21
+
22
+ break;
23
+ }
24
+
25
+ default: {
26
+ const childNodes = nonTerminalNode.getChildNodes(),
27
+ nodesA = childNodes, ///
28
+ nodesB = childNodes, ///
29
+ nodesVerified = this.verifyNodes(nodesA, nodesB, metaproofContext);
30
+
31
+ nonTerminalNodeVerified = nodesVerified; ///
32
+
33
+ break;
34
+ }
35
+ }
36
+
37
+ return nonTerminalNodeVerified;
38
+ }
39
+
40
+ verifyMetavariableNode(metavariableNode, metaproofContext) {
41
+ let metavariableNodeVerified = false;
42
+
43
+ const metavariableName = metavariableNameFromMetavariableNode(metavariableNode),
44
+ metavariablePresent = metaproofContext.isMetavariablePresentByMetavariableName(metavariableName);
45
+
46
+ if (!metavariablePresent) {
47
+ const metavariableString = metaproofContext.nodeAsString(metavariableNode);
48
+
49
+ metaproofContext.error(`The '${metavariableString}' metavariable is not present.`, metavariableNode);
50
+ } else {
51
+ metavariableNodeVerified = true;
52
+ }
53
+
54
+ return metavariableNodeVerified;
55
+ }
56
+ }
57
+
58
+ const metastatementVerifier = new MetastatementVerifier();
59
+
3
60
  export default function verifyMetastatement(metastatementNode, assignments, derived, metaproofContext) {
4
- let metastatementVerified = true; ///
61
+ let metastatementVerified = false;
62
+
63
+ if (!metastatementVerified) {
64
+ const nonTerminalNodeA = metastatementNode, ///
65
+ nonTerminalNodeB = metastatementNode, ///
66
+ nonTerminalNodeVerified = metastatementVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, metaproofContext);
5
67
 
6
- ///
68
+ metastatementVerified = nonTerminalNodeVerified; ///
69
+ }
7
70
 
8
71
  return metastatementVerified;
9
72
  }
@@ -192,8 +192,8 @@ function verifyStatementAgainstCombinator(statementNode, combinator, context) {
192
192
  const combinatorStatementNode = combinator.getStatementNode(),
193
193
  nonTerminalNodeA = statementNode, ///
194
194
  nonTerminalNodeB = combinatorStatementNode, ///
195
- nodeVerified = statementVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, context),
196
- statementVerifiedAgainstCombinator = nodeVerified; ///
195
+ nonTerminalNodeVerified = statementVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, context),
196
+ statementVerifiedAgainstCombinator = nonTerminalNodeVerified; ///
197
197
 
198
198
  return statementVerifiedAgainstCombinator;
199
199
  }
@@ -1,313 +0,0 @@
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 DirectoryReleaseContext;
9
- }
10
- });
11
- var _release = /*#__PURE__*/ _interopRequireDefault(require("../../context/release"));
12
- var _array = require("../../utilities/array");
13
- var _customGrammar = require("../../utilities/customGrammar");
14
- function _assertThisInitialized(self) {
15
- if (self === void 0) {
16
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
17
- }
18
- return self;
19
- }
20
- function _classCallCheck(instance, Constructor) {
21
- if (!(instance instanceof Constructor)) {
22
- throw new TypeError("Cannot call a class as a function");
23
- }
24
- }
25
- function _defineProperties(target, props) {
26
- for(var i = 0; i < props.length; i++){
27
- var descriptor = props[i];
28
- descriptor.enumerable = descriptor.enumerable || false;
29
- descriptor.configurable = true;
30
- if ("value" in descriptor) descriptor.writable = true;
31
- Object.defineProperty(target, descriptor.key, descriptor);
32
- }
33
- }
34
- function _createClass(Constructor, protoProps, staticProps) {
35
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
36
- if (staticProps) _defineProperties(Constructor, staticProps);
37
- return Constructor;
38
- }
39
- function _getPrototypeOf(o) {
40
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
41
- return o.__proto__ || Object.getPrototypeOf(o);
42
- };
43
- return _getPrototypeOf(o);
44
- }
45
- function _inherits(subClass, superClass) {
46
- if (typeof superClass !== "function" && superClass !== null) {
47
- throw new TypeError("Super expression must either be null or a function");
48
- }
49
- subClass.prototype = Object.create(superClass && superClass.prototype, {
50
- constructor: {
51
- value: subClass,
52
- writable: true,
53
- configurable: true
54
- }
55
- });
56
- if (superClass) _setPrototypeOf(subClass, superClass);
57
- }
58
- function _interopRequireDefault(obj) {
59
- return obj && obj.__esModule ? obj : {
60
- default: obj
61
- };
62
- }
63
- function _possibleConstructorReturn(self, call) {
64
- if (call && (_typeof(call) === "object" || typeof call === "function")) {
65
- return call;
66
- }
67
- return _assertThisInitialized(self);
68
- }
69
- function _setPrototypeOf(o, p) {
70
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
71
- o.__proto__ = p;
72
- return o;
73
- };
74
- return _setPrototypeOf(o, p);
75
- }
76
- var _typeof = function(obj) {
77
- "@swc/helpers - typeof";
78
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
79
- };
80
- function _isNativeReflectConstruct() {
81
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
82
- if (Reflect.construct.sham) return false;
83
- if (typeof Proxy === "function") return true;
84
- try {
85
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
86
- return true;
87
- } catch (e) {
88
- return false;
89
- }
90
- }
91
- function _createSuper(Derived) {
92
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
93
- return function _createSuperInternal() {
94
- var Super = _getPrototypeOf(Derived), result;
95
- if (hasNativeReflectConstruct) {
96
- var NewTarget = _getPrototypeOf(this).constructor;
97
- result = Reflect.construct(Super, arguments, NewTarget);
98
- } else {
99
- result = Super.apply(this, arguments);
100
- }
101
- return _possibleConstructorReturn(this, result);
102
- };
103
- }
104
- var DirectoryReleaseContext = /*#__PURE__*/ function(ReleaseContext) {
105
- _inherits(DirectoryReleaseContext, ReleaseContext);
106
- var _super = _createSuper(DirectoryReleaseContext);
107
- function DirectoryReleaseContext(log, name, entries, lexer, parser, verified, customGrammar, dependencyReleaseContexts, fileContexts) {
108
- _classCallCheck(this, DirectoryReleaseContext);
109
- var _this;
110
- _this = _super.call(this, log, name, entries, lexer, parser, verified, customGrammar, dependencyReleaseContexts);
111
- _this.fileContexts = fileContexts;
112
- return _this;
113
- }
114
- _createClass(DirectoryReleaseContext, [
115
- {
116
- key: "getFileContexts",
117
- value: function getFileContexts() {
118
- return this.fileContexts;
119
- }
120
- },
121
- {
122
- key: "getLabels",
123
- value: function getLabels() {
124
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
125
- var labels = [];
126
- this.fileContexts.forEach(function(fileContext) {
127
- var includeRelease = false, fileContextLabels = fileContext.getLabels(includeRelease);
128
- (0, _array.push)(labels, fileContextLabels);
129
- });
130
- if (includeDependencies) {
131
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
132
- dependencyReleaseContexts.forEach(function(releaseContext) {
133
- var includeDependencies = false, releaseContextLabels = releaseContext.getLabels(includeDependencies);
134
- (0, _array.push)(labels, releaseContextLabels);
135
- });
136
- }
137
- return labels;
138
- }
139
- },
140
- {
141
- key: "getTypes",
142
- value: function getTypes() {
143
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
144
- var types = [];
145
- this.fileContexts.forEach(function(fileContext) {
146
- var includeRelease = false, fileContextTypes = fileContext.getTypes(includeRelease);
147
- (0, _array.push)(types, fileContextTypes);
148
- });
149
- if (includeDependencies) {
150
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
151
- dependencyReleaseContexts.forEach(function(releaseContext) {
152
- var includeDependencies = false, releaseContextTypes = releaseContext.getTypes(includeDependencies);
153
- (0, _array.push)(types, releaseContextTypes);
154
- });
155
- }
156
- return types;
157
- }
158
- },
159
- {
160
- key: "getRules",
161
- value: function getRules() {
162
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
163
- var rules = [];
164
- this.fileContexts.forEach(function(fileContext) {
165
- var includeRelease = false, fileContextRules = fileContext.getRules(includeRelease);
166
- (0, _array.push)(rules, fileContextRules);
167
- });
168
- if (includeDependencies) {
169
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
170
- dependencyReleaseContexts.forEach(function(releaseContext) {
171
- var includeDependencies = false, releaseContextRules = releaseContext.getRules(includeDependencies);
172
- (0, _array.push)(rules, releaseContextRules);
173
- });
174
- }
175
- return rules;
176
- }
177
- },
178
- {
179
- key: "getAxioms",
180
- value: function getAxioms() {
181
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
182
- var axioms = [];
183
- this.fileContexts.forEach(function(fileContext) {
184
- var includeRelease = false, fileContextAxioms = fileContext.getAxioms(includeRelease);
185
- (0, _array.push)(axioms, fileContextAxioms);
186
- });
187
- if (includeDependencies) {
188
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
189
- dependencyReleaseContexts.forEach(function(releaseContext) {
190
- var includeDependencies = false, releaseContextAxioms = releaseContext.getAxioms(includeDependencies);
191
- (0, _array.push)(axioms, releaseContextAxioms);
192
- });
193
- }
194
- return axioms;
195
- }
196
- },
197
- {
198
- key: "getLemmas",
199
- value: function getLemmas() {
200
- var lemmas = [];
201
- this.fileContexts.forEach(function(fileContext) {
202
- var includeRelease = false, fileContextLemmas = fileContext.getLemmas(includeRelease);
203
- (0, _array.push)(lemmas, fileContextLemmas);
204
- });
205
- return lemmas;
206
- }
207
- },
208
- {
209
- key: "getTheorems",
210
- value: function getTheorems() {
211
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
212
- var theorems = [];
213
- this.fileContexts.forEach(function(fileContext) {
214
- var includeRelease = false, fileContextTheorems = fileContext.getTheorems(includeRelease);
215
- (0, _array.push)(theorems, fileContextTheorems);
216
- });
217
- if (includeDependencies) {
218
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
219
- dependencyReleaseContexts.forEach(function(releaseContext) {
220
- var includeDependencies = false, releaseContextTheorems = releaseContext.getTheorems(includeDependencies);
221
- (0, _array.push)(theorems, releaseContextTheorems);
222
- });
223
- }
224
- return theorems;
225
- }
226
- },
227
- {
228
- key: "getConjectures",
229
- value: function getConjectures() {
230
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
231
- var conjectures = [];
232
- this.fileContexts.forEach(function(fileContext) {
233
- var includeRelease = false, fileContextConjectures = fileContext.getConjectures(includeRelease);
234
- (0, _array.push)(conjectures, fileContextConjectures);
235
- });
236
- if (includeDependencies) {
237
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
238
- dependencyReleaseContexts.forEach(function(releaseContext) {
239
- var includeDependencies = false, releaseContextConjectures = releaseContext.getConjectures(includeDependencies);
240
- (0, _array.push)(conjectures, releaseContextConjectures);
241
- });
242
- }
243
- return conjectures;
244
- }
245
- },
246
- {
247
- key: "getCombinators",
248
- value: function getCombinators() {
249
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
250
- var combinators = [];
251
- this.fileContexts.forEach(function(fileContext) {
252
- var includeRelease = false, fileContextCombinators = fileContext.getCombinators(includeRelease);
253
- (0, _array.push)(combinators, fileContextCombinators);
254
- });
255
- if (includeDependencies) {
256
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
257
- dependencyReleaseContexts.forEach(function(releaseContext) {
258
- var includeDependencies = false, releaseContextCombinators = releaseContext.getCombinators(includeDependencies);
259
- (0, _array.push)(combinators, releaseContextCombinators);
260
- });
261
- }
262
- return combinators;
263
- }
264
- },
265
- {
266
- key: "getConstructors",
267
- value: function getConstructors() {
268
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
269
- var constructors = [];
270
- this.fileContexts.forEach(function(fileContext) {
271
- var includeRelease = false, fileContextConstructors = fileContext.getConstructors(includeRelease);
272
- (0, _array.push)(constructors, fileContextConstructors);
273
- });
274
- if (includeDependencies) {
275
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
276
- dependencyReleaseContexts.forEach(function(releaseContext) {
277
- var includeDependencies = false, releaseContextConstructors = releaseContext.getConstructors(includeDependencies);
278
- (0, _array.push)(constructors, releaseContextConstructors);
279
- });
280
- }
281
- return constructors;
282
- }
283
- },
284
- {
285
- key: "addFileContext",
286
- value: function addFileContext(fileContext) {
287
- this.fileContexts.push(fileContext);
288
- }
289
- },
290
- {
291
- key: "toJSON",
292
- value: function toJSON() {
293
- var json = [];
294
- this.fileContexts.forEach(function(fileContext) {
295
- var fileContextJSON = fileContext.toJSON();
296
- (0, _array.push)(json, fileContextJSON);
297
- });
298
- return json;
299
- }
300
- }
301
- ], [
302
- {
303
- key: "fromLogNameAndEntries",
304
- value: function fromLogNameAndEntries(log, name, entries) {
305
- var lexer = null, parser = null, verified = false, customGrammar = (0, _customGrammar.customGrammarFromNameAndEntries)(name, entries), dependencyReleaseContexts = null, fileContexts = [], directoryReleaseContext = new DirectoryReleaseContext(log, name, entries, lexer, parser, verified, customGrammar, dependencyReleaseContexts, fileContexts);
306
- return directoryReleaseContext;
307
- }
308
- }
309
- ]);
310
- return DirectoryReleaseContext;
311
- }(_release.default);
312
-
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3JlbGVhc2UvZGlyZWN0b3J5LmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgUmVsZWFzZUNvbnRleHQgZnJvbSBcIi4uLy4uL2NvbnRleHQvcmVsZWFzZVwiO1xuXG5pbXBvcnQgeyBwdXNoIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgY3VzdG9tR3JhbW1hckZyb21OYW1lQW5kRW50cmllcyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvY3VzdG9tR3JhbW1hclwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEaXJlY3RvcnlSZWxlYXNlQ29udGV4dCBleHRlbmRzIFJlbGVhc2VDb250ZXh0IHtcbiAgY29uc3RydWN0b3IobG9nLCBuYW1lLCBlbnRyaWVzLCBsZXhlciwgcGFyc2VyLCB2ZXJpZmllZCwgY3VzdG9tR3JhbW1hciwgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cywgZmlsZUNvbnRleHRzKSB7XG4gICAgc3VwZXIobG9nLCBuYW1lLCBlbnRyaWVzLCBsZXhlciwgcGFyc2VyLCB2ZXJpZmllZCwgY3VzdG9tR3JhbW1hciwgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyk7XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0cyA9IGZpbGVDb250ZXh0cztcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0cygpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlQ29udGV4dHM7XG4gIH1cblxuICBnZXRMYWJlbHMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBsYWJlbHMgPSBbXTtcblxuICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCBpbmNsdWRlUmVsZWFzZSA9IGZhbHNlLFxuICAgICAgICAgICAgZmlsZUNvbnRleHRMYWJlbHMgPSBmaWxlQ29udGV4dC5nZXRMYWJlbHMoaW5jbHVkZVJlbGVhc2UpO1xuXG4gICAgICBwdXNoKGxhYmVscywgZmlsZUNvbnRleHRMYWJlbHMpO1xuICAgIH0pO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0TGFiZWxzID0gcmVsZWFzZUNvbnRleHQuZ2V0TGFiZWxzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2gobGFiZWxzLCByZWxlYXNlQ29udGV4dExhYmVscyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGFiZWxzO1xuICB9XG5cbiAgZ2V0VHlwZXMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCB0eXBlcyA9IFtdO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWxlQ29udGV4dFR5cGVzID0gZmlsZUNvbnRleHQuZ2V0VHlwZXMoaW5jbHVkZVJlbGVhc2UpO1xuXG4gICAgICBwdXNoKHR5cGVzLCBmaWxlQ29udGV4dFR5cGVzKTtcbiAgICB9KTtcblxuICAgIGlmIChpbmNsdWRlRGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gdGhpcy5nZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKCk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dFR5cGVzID0gcmVsZWFzZUNvbnRleHQuZ2V0VHlwZXMoaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICAgICAgcHVzaCh0eXBlcywgcmVsZWFzZUNvbnRleHRUeXBlcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZXM7XG4gIH1cblxuICBnZXRSdWxlcyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IHJ1bGVzID0gW107XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgaW5jbHVkZVJlbGVhc2UgPSBmYWxzZSxcbiAgICAgICAgICAgIGZpbGVDb250ZXh0UnVsZXMgPSBmaWxlQ29udGV4dC5nZXRSdWxlcyhpbmNsdWRlUmVsZWFzZSk7XG5cbiAgICAgIHB1c2gocnVsZXMsIGZpbGVDb250ZXh0UnVsZXMpO1xuICAgIH0pO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0UnVsZXMgPSByZWxlYXNlQ29udGV4dC5nZXRSdWxlcyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKHJ1bGVzLCByZWxlYXNlQ29udGV4dFJ1bGVzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBydWxlcztcbiAgfVxuXG4gIGdldEF4aW9tcyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IGF4aW9tcyA9IFtdO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWxlQ29udGV4dEF4aW9tcyA9IGZpbGVDb250ZXh0LmdldEF4aW9tcyhpbmNsdWRlUmVsZWFzZSk7XG5cbiAgICAgIHB1c2goYXhpb21zLCBmaWxlQ29udGV4dEF4aW9tcyk7XG4gICAgfSk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRBeGlvbXMgPSByZWxlYXNlQ29udGV4dC5nZXRBeGlvbXMoaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICAgICAgcHVzaChheGlvbXMsIHJlbGVhc2VDb250ZXh0QXhpb21zKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBheGlvbXM7XG4gIH1cblxuICBnZXRMZW1tYXMoKSB7XG4gICAgY29uc3QgbGVtbWFzID0gW107XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgaW5jbHVkZVJlbGVhc2UgPSBmYWxzZSxcbiAgICAgICAgICAgIGZpbGVDb250ZXh0TGVtbWFzID0gZmlsZUNvbnRleHQuZ2V0TGVtbWFzKGluY2x1ZGVSZWxlYXNlKTtcblxuICAgICAgcHVzaChsZW1tYXMsIGZpbGVDb250ZXh0TGVtbWFzKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBsZW1tYXM7XG4gIH1cblxuICBnZXRUaGVvcmVtcyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IHRoZW9yZW1zID0gW107XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgaW5jbHVkZVJlbGVhc2UgPSBmYWxzZSxcbiAgICAgICAgICAgIGZpbGVDb250ZXh0VGhlb3JlbXMgPSBmaWxlQ29udGV4dC5nZXRUaGVvcmVtcyhpbmNsdWRlUmVsZWFzZSk7XG5cbiAgICAgIHB1c2godGhlb3JlbXMsIGZpbGVDb250ZXh0VGhlb3JlbXMpO1xuICAgIH0pO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0VGhlb3JlbXMgPSByZWxlYXNlQ29udGV4dC5nZXRUaGVvcmVtcyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKHRoZW9yZW1zLCByZWxlYXNlQ29udGV4dFRoZW9yZW1zKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGVvcmVtcztcbiAgfVxuXG4gIGdldENvbmplY3R1cmVzKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgY29uamVjdHVyZXMgPSBbXTtcblxuICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCBpbmNsdWRlUmVsZWFzZSA9IGZhbHNlLFxuICAgICAgICAgICAgZmlsZUNvbnRleHRDb25qZWN0dXJlcyA9IGZpbGVDb250ZXh0LmdldENvbmplY3R1cmVzKGluY2x1ZGVSZWxlYXNlKTtcblxuICAgICAgcHVzaChjb25qZWN0dXJlcywgZmlsZUNvbnRleHRDb25qZWN0dXJlcyk7XG4gICAgfSk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRDb25qZWN0dXJlcyA9IHJlbGVhc2VDb250ZXh0LmdldENvbmplY3R1cmVzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2goY29uamVjdHVyZXMsIHJlbGVhc2VDb250ZXh0Q29uamVjdHVyZXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmplY3R1cmVzO1xuICB9XG5cbiAgZ2V0Q29tYmluYXRvcnMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWxlQ29udGV4dENvbWJpbmF0b3JzID0gZmlsZUNvbnRleHQuZ2V0Q29tYmluYXRvcnMoaW5jbHVkZVJlbGVhc2UpO1xuXG4gICAgICBwdXNoKGNvbWJpbmF0b3JzLCBmaWxlQ29udGV4dENvbWJpbmF0b3JzKTtcbiAgICB9KTtcblxuICAgIGlmIChpbmNsdWRlRGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gdGhpcy5nZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKCk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dENvbWJpbmF0b3JzID0gcmVsZWFzZUNvbnRleHQuZ2V0Q29tYmluYXRvcnMoaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICAgICAgcHVzaChjb21iaW5hdG9ycywgcmVsZWFzZUNvbnRleHRDb21iaW5hdG9ycyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tYmluYXRvcnM7XG4gIH1cblxuICBnZXRDb25zdHJ1Y3RvcnMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBbXTtcblxuICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCBpbmNsdWRlUmVsZWFzZSA9IGZhbHNlLFxuICAgICAgICAgICAgZmlsZUNvbnRleHRDb25zdHJ1Y3RvcnMgPSBmaWxlQ29udGV4dC5nZXRDb25zdHJ1Y3RvcnMoaW5jbHVkZVJlbGVhc2UpO1xuXG4gICAgICBwdXNoKGNvbnN0cnVjdG9ycywgZmlsZUNvbnRleHRDb25zdHJ1Y3RvcnMpO1xuICAgIH0pO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0Q29uc3RydWN0b3JzID0gcmVsZWFzZUNvbnRleHQuZ2V0Q29uc3RydWN0b3JzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2goY29uc3RydWN0b3JzLCByZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3JzO1xuICB9XG5cbiAgYWRkRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0cy5wdXNoKGZpbGVDb250ZXh0KTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBqc29uID0gW107XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgZmlsZUNvbnRleHRKU09OID0gZmlsZUNvbnRleHQudG9KU09OKCk7XG5cbiAgICAgIHB1c2goanNvbiwgZmlsZUNvbnRleHRKU09OKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21Mb2dOYW1lQW5kRW50cmllcyhsb2csIG5hbWUsIGVudHJpZXMpIHtcbiAgICBjb25zdCBsZXhlciA9IG51bGwsXG4gICAgICAgICAgcGFyc2VyID0gbnVsbCxcbiAgICAgICAgICB2ZXJpZmllZCA9IGZhbHNlLFxuICAgICAgICAgIGN1c3RvbUdyYW1tYXIgPSBjdXN0b21HcmFtbWFyRnJvbU5hbWVBbmRFbnRyaWVzKG5hbWUsIGVudHJpZXMpLFxuICAgICAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSBudWxsLFxuICAgICAgICAgIGZpbGVDb250ZXh0cyA9IFtdLFxuICAgICAgICAgIGRpcmVjdG9yeVJlbGVhc2VDb250ZXh0ID0gbmV3IERpcmVjdG9yeVJlbGVhc2VDb250ZXh0KGxvZywgbmFtZSwgZW50cmllcywgbGV4ZXIsIHBhcnNlciwgdmVyaWZpZWQsIGN1c3RvbUdyYW1tYXIsIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMsIGZpbGVDb250ZXh0cyk7XG5cbiAgICByZXR1cm4gZGlyZWN0b3J5UmVsZWFzZUNvbnRleHQ7XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiRGlyZWN0b3J5UmVsZWFzZUNvbnRleHQiLCJsb2ciLCJuYW1lIiwiZW50cmllcyIsImxleGVyIiwicGFyc2VyIiwidmVyaWZpZWQiLCJjdXN0b21HcmFtbWFyIiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsImZpbGVDb250ZXh0cyIsImdldEZpbGVDb250ZXh0cyIsImdldExhYmVscyIsImluY2x1ZGVEZXBlbmRlbmNpZXMiLCJsYWJlbHMiLCJmb3JFYWNoIiwiZmlsZUNvbnRleHQiLCJpbmNsdWRlUmVsZWFzZSIsImZpbGVDb250ZXh0TGFiZWxzIiwicHVzaCIsImdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJyZWxlYXNlQ29udGV4dCIsInJlbGVhc2VDb250ZXh0TGFiZWxzIiwiZ2V0VHlwZXMiLCJ0eXBlcyIsImZpbGVDb250ZXh0VHlwZXMiLCJyZWxlYXNlQ29udGV4dFR5cGVzIiwiZ2V0UnVsZXMiLCJydWxlcyIsImZpbGVDb250ZXh0UnVsZXMiLCJyZWxlYXNlQ29udGV4dFJ1bGVzIiwiZ2V0QXhpb21zIiwiYXhpb21zIiwiZmlsZUNvbnRleHRBeGlvbXMiLCJyZWxlYXNlQ29udGV4dEF4aW9tcyIsImdldExlbW1hcyIsImxlbW1hcyIsImZpbGVDb250ZXh0TGVtbWFzIiwiZ2V0VGhlb3JlbXMiLCJ0aGVvcmVtcyIsImZpbGVDb250ZXh0VGhlb3JlbXMiLCJyZWxlYXNlQ29udGV4dFRoZW9yZW1zIiwiZ2V0Q29uamVjdHVyZXMiLCJjb25qZWN0dXJlcyIsImZpbGVDb250ZXh0Q29uamVjdHVyZXMiLCJyZWxlYXNlQ29udGV4dENvbmplY3R1cmVzIiwiZ2V0Q29tYmluYXRvcnMiLCJjb21iaW5hdG9ycyIsImZpbGVDb250ZXh0Q29tYmluYXRvcnMiLCJyZWxlYXNlQ29udGV4dENvbWJpbmF0b3JzIiwiZ2V0Q29uc3RydWN0b3JzIiwiY29uc3RydWN0b3JzIiwiZmlsZUNvbnRleHRDb25zdHJ1Y3RvcnMiLCJyZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyIsImFkZEZpbGVDb250ZXh0IiwidG9KU09OIiwianNvbiIsImZpbGVDb250ZXh0SlNPTiIsImZyb21Mb2dOYW1lQW5kRW50cmllcyIsImN1c3RvbUdyYW1tYXJGcm9tTmFtZUFuZEVudHJpZXMiLCJkaXJlY3RvcnlSZWxlYXNlQ29udGV4dCIsIlJlbGVhc2VDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU9xQkE7Ozs0REFMTTtxQkFFTjs2QkFDMkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFakMsSUFBQSxBQUFNQSx3Q0FBTjtjQUFNQTs4QkFBQUE7YUFBQUEsd0JBQ1BDLEdBQUcsRUFBRUMsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLGFBQWEsRUFBRUMseUJBQXlCLEVBQUVDLFlBQVk7OEJBRDVGVDs7a0NBRVhDLEtBQUtDLE1BQU1DLFNBQVNDLE9BQU9DLFFBQVFDLFVBQVVDLGVBQWVDO1FBRWxFLE1BQUtDLFlBQVksR0FBR0E7OztpQkFKSFQ7O1lBT25CVSxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCO2dCQUNoQixPQUFPLElBQUksQ0FBQ0QsWUFBWTtZQUMxQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxZQUFzQztvQkFBNUJDLHNCQUFBQSxpRUFBc0IsSUFBSTtnQkFDbEMsSUFBTUMs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