occam-verify-cli 0.0.455 → 0.0.457

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 (59) hide show
  1. package/lib/axiom.js +26 -46
  2. package/lib/combinator.js +2 -3
  3. package/lib/conclusion.js +2 -3
  4. package/lib/constructor.js +2 -3
  5. package/lib/context/file.js +5 -1
  6. package/lib/context/release/file.js +17 -4
  7. package/lib/label.js +2 -3
  8. package/lib/lemma.js +26 -46
  9. package/lib/premise.js +2 -3
  10. package/lib/ruleNames.js +5 -1
  11. package/lib/theorem.js +26 -46
  12. package/lib/utilities/string.js +46 -1
  13. package/lib/verify/assertion/type.js +55 -0
  14. package/lib/verify/axiom.js +10 -15
  15. package/lib/verify/equality.js +7 -1
  16. package/lib/verify/lemma.js +13 -22
  17. package/lib/verify/metastatement/qualified.js +4 -3
  18. package/lib/verify/metastatement/unqualified.js +14 -9
  19. package/lib/verify/metastatement.js +19 -0
  20. package/lib/verify/statement/qualified.js +14 -11
  21. package/lib/verify/statement/unqualified.js +13 -9
  22. package/lib/verify/statement.js +5 -8
  23. package/lib/verify/statementAsCombinator.js +3 -2
  24. package/lib/verify/term.js +6 -1
  25. package/lib/verify/termAsConstructor.js +5 -5
  26. package/lib/verify/theorem.js +10 -15
  27. package/lib/verify/type.js +8 -7
  28. package/lib/verify/variable.js +4 -3
  29. package/package.json +3 -3
  30. package/src/axiom.js +27 -54
  31. package/src/combinator.js +3 -3
  32. package/src/conclusion.js +3 -3
  33. package/src/constructor.js +3 -3
  34. package/src/context/file.js +6 -0
  35. package/src/context/release/file.js +17 -4
  36. package/src/label.js +3 -3
  37. package/src/lemma.js +28 -55
  38. package/src/premise.js +3 -3
  39. package/src/ruleNames.js +1 -0
  40. package/src/theorem.js +32 -59
  41. package/src/utilities/string.js +67 -0
  42. package/src/verify/assertion/type.js +32 -56
  43. package/src/verify/axiom.js +10 -24
  44. package/src/verify/equality.js +9 -0
  45. package/src/verify/lemma.js +14 -37
  46. package/src/verify/metastatement/qualified.js +5 -3
  47. package/src/verify/metastatement/unqualified.js +17 -10
  48. package/src/verify/metastatement.js +15 -0
  49. package/src/verify/statement/qualified.js +20 -8
  50. package/src/verify/statement/unqualified.js +16 -10
  51. package/src/verify/statement.js +5 -8
  52. package/src/verify/statementAsCombinator.js +4 -2
  53. package/src/verify/term.js +8 -0
  54. package/src/verify/termAsConstructor.js +5 -5
  55. package/src/verify/theorem.js +11 -25
  56. package/src/verify/type.js +9 -7
  57. package/src/verify/variable.js +5 -3
  58. package/lib/utilities/node.js +0 -45
  59. package/src/utilities/node.js +0 -50
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _metaAssertion = /*#__PURE__*/ _interopRequireDefault(require("../../metaAssertion"));
12
+ var _metastatement = /*#__PURE__*/ _interopRequireDefault(require("../../verify/metastatement"));
12
13
  var _query = require("../../utilities/query");
13
14
  var _string = require("../../utilities/string");
14
15
  function _interopRequireDefault(obj) {
@@ -20,22 +21,26 @@ var metastatementNodeQuery = (0, _query.nodeQuery)("/unqualifiedMetastatement/me
20
21
  function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, metaproofContext) {
21
22
  var unqualifiedMetastatementVerified = false;
22
23
  metaproofContext.begin(unqualifiedMetastatementNode);
24
+ var unqualifiedMetastatementString = (0, _string.nodeAsString)(unqualifiedMetastatementNode);
25
+ metaproofContext.info("Verified the '".concat(unqualifiedMetastatementString, "' unqualified metastatement."));
23
26
  var metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
24
27
  if (metastatementNode !== null) {
25
- var derived = metaproofContext.isDerived();
26
- if (derived) {
27
- var metaAssertion = _metaAssertion.default.fromMetastatementNode(metastatementNode), metaAssertionMatches = metaproofContext.matchMetaAssertion(metaAssertion);
28
- unqualifiedMetastatementVerified = metaAssertionMatches; ///
29
- } else {
30
- unqualifiedMetastatementVerified = true;
28
+ var metastatementVerified = (0, _metastatement.default)(metastatementNode, metaproofContext);
29
+ if (metastatementVerified) {
30
+ var derived = metaproofContext.isDerived();
31
+ if (derived) {
32
+ var metaAssertion = _metaAssertion.default.fromMetastatementNode(metastatementNode), metaAssertionMatches = metaproofContext.matchMetaAssertion(metaAssertion);
33
+ unqualifiedMetastatementVerified = metaAssertionMatches; ///
34
+ } else {
35
+ unqualifiedMetastatementVerified = true;
36
+ }
31
37
  }
32
38
  }
33
39
  if (unqualifiedMetastatementVerified) {
34
- var metastatementString = (0, _string.nodeAsString)(metastatementNode);
35
- metaproofContext.debug("Verified the '".concat(metastatementString, "' unqualified metastatement."));
40
+ metaproofContext.info("Verified the '".concat(unqualifiedMetastatementString, "' unqualified metastatement."));
36
41
  }
37
42
  unqualifiedMetastatementVerified ? metaproofContext.complete(unqualifiedMetastatementNode) : metaproofContext.halt(unqualifiedMetastatementNode);
38
43
  return unqualifiedMetastatementVerified;
39
44
  }
40
45
 
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFBc3NlcnRpb24gZnJvbSBcIi4uLy4uL21ldGFBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KSB7XG4gIGxldCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuYmVnaW4odW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChtZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGRlcml2ZWQgPSBtZXRhcHJvb2ZDb250ZXh0LmlzRGVyaXZlZCgpO1xuXG4gICAgaWYgKGRlcml2ZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhQXNzZXJ0aW9uTWF0Y2hlcyA9IG1ldGFwcm9vZkNvbnRleHQubWF0Y2hNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IG1ldGFBc3NlcnRpb25NYXRjaGVzOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIG1ldGFwcm9vZkNvbnRleHQuZGVidWcoYFZlcmlmaWVkIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgbWV0YXN0YXRlbWVudC5gKTtcbiAgfVxuXG4gIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpIDpcbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuaGFsdCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhcHJvb2ZDb250ZXh0IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJiZWdpbiIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZGVyaXZlZCIsImlzRGVyaXZlZCIsIm1ldGFBc3NlcnRpb24iLCJNZXRhQXNzZXJ0aW9uIiwiZnJvbU1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YUFzc2VydGlvbk1hdGNoZXMiLCJtYXRjaE1ldGFBc3NlcnRpb24iLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZGVidWciLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBd0JBOzs7a0VBUEU7cUJBRUE7c0JBQ0c7Ozs7OztBQUU3QixJQUFNQyx5QkFBeUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFMUIsU0FBU0YsK0JBQStCRyw0QkFBNEIsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDckcsSUFBSUMsbUNBQW1DLEtBQUs7SUFFNUNELGlCQUFpQkUsS0FBSyxDQUFDSDtJQUV2QixJQUFNSSxvQkFBb0JOLHVCQUF1QkU7SUFFakQsSUFBSUksc0JBQXNCLElBQUksRUFBRTtRQUM5QixJQUFNQyxVQUFVSixpQkFBaUJLLFNBQVM7UUFFMUMsSUFBSUQsU0FBUztZQUNYLElBQU1FLGdCQUFnQkMsc0JBQWEsQ0FBQ0MscUJBQXFCLENBQUNMLG9CQUNwRE0sdUJBQXVCVCxpQkFBaUJVLGtCQUFrQixDQUFDSjtZQUVqRUwsbUNBQW1DUSxzQkFBdUIsR0FBRztRQUMvRCxPQUFPO1lBQ0xSLG1DQUFtQyxJQUFJO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSUEsa0NBQWtDO1FBQ3BDLElBQU1VLHNCQUFzQkMsSUFBQUEsb0JBQVksRUFBQ1Q7UUFFekNILGlCQUFpQmEsS0FBSyxDQUFDLEFBQUMsaUJBQW9DLE9BQXBCRixxQkFBb0I7SUFDOUQsQ0FBQztJQUVEVixtQ0FDRUQsaUJBQWlCYyxRQUFRLENBQUNmLGdDQUN4QkMsaUJBQWlCZSxJQUFJLENBQUNoQiw2QkFBNkI7SUFFdkQsT0FBT0U7QUFDVCJ9
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFBc3NlcnRpb24gZnJvbSBcIi4uLy4uL21ldGFBc3NlcnRpb25cIjtcbmltcG9ydCB2ZXJpZnlNZXRhc3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvbWV0YXN0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbih1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgbWV0YXByb29mQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgbWV0YXN0YXRlbWVudC5gKTtcblxuICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBkZXJpdmVkID0gbWV0YXByb29mQ29udGV4dC5pc0Rlcml2ZWQoKTtcblxuICAgICAgaWYgKGRlcml2ZWQpIHtcbiAgICAgICAgY29uc3QgbWV0YUFzc2VydGlvbiA9IE1ldGFBc3NlcnRpb24uZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgbWV0YUFzc2VydGlvbk1hdGNoZXMgPSBtZXRhcHJvb2ZDb250ZXh0Lm1hdGNoTWV0YUFzc2VydGlvbihtZXRhQXNzZXJ0aW9uKTtcblxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IG1ldGFBc3NlcnRpb25NYXRjaGVzOyAgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbWV0YXByb29mQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgbWV0YXN0YXRlbWVudC5gKTtcbiAgfVxuXG4gIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpIDpcbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuaGFsdCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhcHJvb2ZDb250ZXh0IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJiZWdpbiIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsImluZm8iLCJtZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeU1ldGFzdGF0ZW1lbnQiLCJkZXJpdmVkIiwiaXNEZXJpdmVkIiwibWV0YUFzc2VydGlvbiIsIk1ldGFBc3NlcnRpb24iLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhQXNzZXJ0aW9uTWF0Y2hlcyIsIm1hdGNoTWV0YUFzc2VydGlvbiIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7OztrRUFSRTtrRUFDTTtxQkFFTjtzQkFDRzs7Ozs7O0FBRTdCLElBQU1DLHlCQUF5QkMsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTRiwrQkFBK0JHLDRCQUE0QixFQUFFQyxnQkFBZ0IsRUFBRTtJQUNyRyxJQUFJQyxtQ0FBbUMsS0FBSztJQUU1Q0QsaUJBQWlCRSxLQUFLLENBQUNIO0lBRXZCLElBQU1JLGlDQUFpQ0MsSUFBQUEsb0JBQVksRUFBQ0w7SUFFcERDLGlCQUFpQkssSUFBSSxDQUFDLEFBQUMsaUJBQStDLE9BQS9CRixnQ0FBK0I7SUFFdEUsSUFBTUcsb0JBQW9CVCx1QkFBdUJFO0lBRWpELElBQUlPLHNCQUFzQixJQUFJLEVBQUU7UUFDOUIsSUFBTUMsd0JBQXdCQyxJQUFBQSxzQkFBbUIsRUFBQ0YsbUJBQW1CTjtRQUVyRSxJQUFJTyx1QkFBdUI7WUFDekIsSUFBTUUsVUFBVVQsaUJBQWlCVSxTQUFTO1lBRTFDLElBQUlELFNBQVM7Z0JBQ1gsSUFBTUUsZ0JBQWdCQyxzQkFBYSxDQUFDQyxxQkFBcUIsQ0FBQ1Asb0JBQ3BEUSx1QkFBdUJkLGlCQUFpQmUsa0JBQWtCLENBQUNKO2dCQUVqRVYsbUNBQW1DYSxzQkFBdUIsR0FBRztZQUMvRCxPQUFPO2dCQUNMYixtQ0FBbUMsSUFBSTtZQUN6QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxrQ0FBa0M7UUFDcENELGlCQUFpQkssSUFBSSxDQUFDLEFBQUMsaUJBQStDLE9BQS9CRixnQ0FBK0I7SUFDeEUsQ0FBQztJQUVERixtQ0FDRUQsaUJBQWlCZ0IsUUFBUSxDQUFDakIsZ0NBQ3hCQyxpQkFBaUJpQixJQUFJLENBQUNsQiw2QkFBNkI7SUFFdkQsT0FBT0U7QUFDVCJ9
@@ -0,0 +1,19 @@
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 verifyMetastatement;
9
+ }
10
+ });
11
+ function verifyMetastatement(metastatementNode, metaproofContext) {
12
+ var statementVerified;
13
+ metaproofContext.begin(metastatementNode);
14
+ statementVerified = true; ///
15
+ statementVerified ? metaproofContext.complete(metastatementNode) : metaproofContext.halt(metastatementNode);
16
+ return statementVerified;
17
+ }
18
+
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgc3RhdGVtZW50VmVyaWZpZWQgPSB0cnVlOyAvLy9cblxuICBzdGF0ZW1lbnRWZXJpZmllZCA/XG4gICAgbWV0YXByb29mQ29udGV4dC5jb21wbGV0ZShtZXRhc3RhdGVtZW50Tm9kZSkgOlxuICAgICAgbWV0YXByb29mQ29udGV4dC5oYWx0KG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXByb29mQ29udGV4dCIsInN0YXRlbWVudFZlcmlmaWVkIiwiYmVnaW4iLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUVBOzs7ZUFBd0JBOzs7QUFBVCxTQUFTQSxvQkFBb0JDLGlCQUFpQixFQUFFQyxnQkFBZ0IsRUFBRTtJQUMvRSxJQUFJQztJQUVKRCxpQkFBaUJFLEtBQUssQ0FBQ0g7SUFFdkJFLG9CQUFvQixJQUFJLEVBQUUsR0FBRztJQUU3QkEsb0JBQ0VELGlCQUFpQkcsUUFBUSxDQUFDSixxQkFDeEJDLGlCQUFpQkksSUFBSSxDQUFDTCxrQkFBa0I7SUFFNUMsT0FBT0U7QUFDVCJ9
@@ -8,21 +8,24 @@ Object.defineProperty(exports, "default", {
8
8
  return verifyQualifiedStatement;
9
9
  }
10
10
  });
11
- var _statement = /*#__PURE__*/ _interopRequireDefault(require("../../verify/statement"));
11
+ var _string = require("../../utilities/string");
12
12
  var _query = require("../../utilities/query");
13
- function _interopRequireDefault(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- var statementNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/statement!");
13
+ var referenceNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/qualification!/reference!"), statementNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/statement!");
19
14
  function verifyQualifiedStatement(qualifiedStatementNode, proofContext) {
20
- var qualifiedStatementVerified;
15
+ var qualifiedStatementVerified = false;
21
16
  proofContext.begin(qualifiedStatementNode);
22
- var statementNode = statementNodeQuery(qualifiedStatementNode), statementVerified = (0, _statement.default)(statementNode, proofContext);
23
- qualifiedStatementVerified = statementVerified; ///
17
+ var qualifiedStatementString = (0, _string.nodeAsString)(qualifiedStatementNode);
18
+ proofContext.debug("Verifying the '".concat(qualifiedStatementString, "' qualified statement..."));
19
+ var statementNode = statementNodeQuery(qualifiedStatementNode);
20
+ if (statementNode !== null) {
21
+ var referenceNode = referenceNodeQuery(qualifiedStatementNode), referenceName = (0, _query.referenceNameFromReferenceNode)(referenceNode);
22
+ ///
23
+ }
24
+ if (qualifiedStatementVerified) {
25
+ proofContext.info("Verified the '".concat(qualifiedStatementString, "' qualified statement."));
26
+ }
24
27
  qualifiedStatementVerified ? proofContext.complete(qualifiedStatementNode) : proofContext.halt(qualifiedStatementNode);
25
28
  return qualifiedStatementVerified;
26
29
  }
27
30
 
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50L3F1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeVN0YXRlbWVudCBmcm9tIFwiLi4vLi4vdmVyaWZ5L3N0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50KHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBzdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG5cbiAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgP1xuICAgIHByb29mQ29udGV4dC5jb21wbGV0ZShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuaGFsdChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInByb29mQ29udGV4dCIsInF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwiYmVnaW4iLCJzdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7OERBTkk7cUJBRUY7Ozs7OztBQUUxQixJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFdEIsU0FBU0YseUJBQXlCRyxzQkFBc0IsRUFBRUMsWUFBWSxFQUFFO0lBQ3JGLElBQUlDO0lBRUpELGFBQWFFLEtBQUssQ0FBQ0g7SUFFbkIsSUFBTUksZ0JBQWdCTixtQkFBbUJFLHlCQUNuQ0ssb0JBQW9CQyxJQUFBQSxrQkFBZSxFQUFDRixlQUFlSDtJQUV6REMsNkJBQTZCRyxtQkFBbUIsR0FBRztJQUVuREgsNkJBQ0VELGFBQWFNLFFBQVEsQ0FBQ1AsMEJBQ3BCQyxhQUFhTyxJQUFJLENBQUNSLHVCQUF1QjtJQUU3QyxPQUFPRTtBQUNUIn0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50L3F1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgcmVmZXJlbmNlTmFtZUZyb21SZWZlcmVuY2VOb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCByZWZlcmVuY2VOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkU3RhdGVtZW50L3F1YWxpZmljYXRpb24hL3JlZmVyZW5jZSFcIiksXG4gICAgICBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyhxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBwcm9vZkNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudC4uLmApO1xuXG4gIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBpZiAoc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHJlZmVyZW5jZU5vZGUgPSByZWZlcmVuY2VOb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgcmVmZXJlbmNlTmFtZSA9IHJlZmVyZW5jZU5hbWVGcm9tUmVmZXJlbmNlTm9kZShyZWZlcmVuY2VOb2RlKTtcblxuICAgIC8vL1xuICB9XG5cbiAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgcHJvb2ZDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50LmApO1xuICB9XG5cbiAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgP1xuICAgIHByb29mQ29udGV4dC5jb21wbGV0ZShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuaGFsdChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50IiwicmVmZXJlbmNlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5IiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInByb29mQ29udGV4dCIsInF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwiYmVnaW4iLCJxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyIsInN0YXRlbWVudE5vZGUiLCJyZWZlcmVuY2VOb2RlIiwicmVmZXJlbmNlTmFtZSIsInJlZmVyZW5jZU5hbWVGcm9tUmVmZXJlbmNlTm9kZSIsImluZm8iLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7c0JBTks7cUJBQzZCO0FBRTFELElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyxrREFDL0JDLHFCQUFxQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV0QixTQUFTRix5QkFBeUJJLHNCQUFzQixFQUFFQyxZQUFZLEVBQUU7SUFDckYsSUFBSUMsNkJBQTZCLEtBQUs7SUFFdENELGFBQWFFLEtBQUssQ0FBQ0g7SUFFbkIsSUFBTUksMkJBQTJCQyxJQUFBQSxvQkFBWSxFQUFDTDtJQUU5Q0MsYUFBYUssS0FBSyxDQUFDLEFBQUMsa0JBQTBDLE9BQXpCRiwwQkFBeUI7SUFFOUQsSUFBTUcsZ0JBQWdCUixtQkFBbUJDO0lBRXZDLElBQUlPLGtCQUFrQixJQUFJLEVBQUU7UUFDNUIsSUFBTUMsZ0JBQWdCWCxtQkFBbUJHLHlCQUNuQ1MsZ0JBQWdCQyxJQUFBQSxxQ0FBOEIsRUFBQ0Y7SUFFckQsR0FBRztJQUNMLENBQUM7SUFFRCxJQUFJTiw0QkFBNEI7UUFDOUJELGFBQWFVLElBQUksQ0FBQyxBQUFDLGlCQUF5QyxPQUF6QlAsMEJBQXlCO0lBQzlELENBQUM7SUFFREYsNkJBQ0VELGFBQWFXLFFBQVEsQ0FBQ1osMEJBQ3BCQyxhQUFhWSxJQUFJLENBQUNiLHVCQUF1QjtJQUU3QyxPQUFPRTtBQUNUIn0=
@@ -73,22 +73,26 @@ var statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!
73
73
  function verifyUnqualifiedStatement(unqualifiedStatementNode, proofContext) {
74
74
  var unqualifiedStatementVerified = false;
75
75
  proofContext.begin(unqualifiedStatementNode);
76
+ var unqualifiedStatementString = (0, _string.nodeAsString)(unqualifiedStatementNode);
77
+ proofContext.debug("Verifying the '".concat(unqualifiedStatementString, "' unqualified statement..."));
76
78
  var statementNode = statementNodeQuery(unqualifiedStatementNode);
77
79
  if (statementNode !== null) {
78
- var derived = proofContext.isDerived();
79
- if (derived) {
80
- var assertion = _assertion.default.fromStatementNode(statementNode), assertionMatches = proofContext.matchAssertion(assertion);
81
- unqualifiedStatementVerified = assertionMatches; ///
82
- } else {
83
- unqualifiedStatementVerified = true;
80
+ var statementVerified = (0, _statement.default)(statementNode, proofContext);
81
+ if (statementVerified) {
82
+ var derived = proofContext.isDerived();
83
+ if (derived) {
84
+ var assertion = _assertion.default.fromStatementNode(statementNode), assertionMatches = proofContext.matchAssertion(assertion);
85
+ unqualifiedStatementVerified = assertionMatches; ///
86
+ } else {
87
+ unqualifiedStatementVerified = true;
88
+ }
84
89
  }
85
90
  }
86
91
  if (unqualifiedStatementVerified) {
87
- var statementString = (0, _string.nodeAsString)(statementNode);
88
- proofContext.debug("Verified the '".concat(statementString, "' unqualified statement."));
92
+ proofContext.info("Verified the '".concat(unqualifiedStatementString, "' unqualified statement."));
89
93
  }
90
94
  unqualifiedStatementVerified ? proofContext.complete(unqualifiedStatementNode) : proofContext.halt(unqualifiedStatementNode);
91
95
  return unqualifiedStatementVerified;
92
96
  }
93
97
 
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5U3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvc3RhdGVtZW50XCI7XG5cbmltcG9ydCBBc3NlcnRpb24gZnJvbSBcIi4uLy4uL2Fzc2VydGlvblwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBwcm9vZkNvbnRleHQuYmVnaW4odW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKHN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBkZXJpdmVkID0gcHJvb2ZDb250ZXh0LmlzRGVyaXZlZCgpO1xuXG4gICAgaWYgKGRlcml2ZWQpIHtcbiAgICAgIGNvbnN0IGFzc2VydGlvbiA9IEFzc2VydGlvbi5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgIGFzc2VydGlvbk1hdGNoZXMgPSBwcm9vZkNvbnRleHQubWF0Y2hBc3NlcnRpb24oYXNzZXJ0aW9uKTtcblxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IGFzc2VydGlvbk1hdGNoZXM7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBwcm9vZkNvbnRleHQuZGVidWcoYFZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQuYCk7XG4gIH1cblxuICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuaGFsdCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIHJldHVybiB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xufVxuXG4vLyBpZiAoZGVyaXZlZCkge1xuLy8gICBkZWJ1Z2dlclxuLy8gfSBlbHNlIHtcbi8vICAgY29uc3QgdHlwZXMgPSBbXSxcbi8vICAgICBjb250ZXh0ID0gcHJvb2ZDb250ZXh0LCAvLy9cbi8vICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkodHlwZUFzc2VydGlvbk5vZGUpLFxuLy8gICAgIHZhcmlhYmxlcyA9IFtdLFxuLy8gICAgIHRlcm1TdHJpbmcgPSBub2RlQXNTdHJpbmcodGVybU5vZGUpLFxuLy8gICAgIHRlcm1WZXJpZmllZEFzVmFyaWFibGUgPSB2ZXJpZnlUZXJtQXNWYXJpYWJsZSh0ZXJtTm9kZSwgdmFyaWFibGVzLCBjb250ZXh0KTtcbi8vXG4vLyAgIGlmICh0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlKSB7XG4vLyAgICAgY29uc3QgZmlyc3RWYWx1ZSA9IGZpcnN0KHZhbHVlcyksXG4vLyAgICAgICB2YXJpYWJsZU5hbWUgPSB0ZXJtU3RyaW5nLCAvLy9cbi8vICAgICAgIHZhbHVlID0gZmlyc3RWYWx1ZTsgLy8vXG4vL1xuLy8gICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4vLyAgICAgICBwcm9vZkNvbnRleHQuZXJyb3IoYFRoZSB2YWx1ZSBvZiB0aGUgJHt2YXJpYWJsZU5hbWV9IHZhcmlhYmxlIGlzIG5vdCB1bmRlZmluZWQuYCk7XG4vLyAgICAgfSBlbHNlIHtcbi8vICAgICAgIGNvbnN0IHR5cGUgPSBwcm9vZkNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKHR5cGVOYW1lKSxcbi8vICAgICAgICAgZmlyc3RUeXBlID0gZmlyc3QodHlwZXMpLFxuLy8gICAgICAgICB2YXJpYWJsZVR5cGUgPSBmaXJzdFR5cGUsIC8vL1xuLy8gICAgICAgICB0eXBlRXF1YWxUb09yU3ViVHlwZU9mVmFyaWFibGVUeXBlID0gdHlwZS5pc0VxdWFsVG9PclN1YlR5cGVPZih2YXJpYWJsZVR5cGUpO1xuLy9cbi8vICAgICAgIGlmICghdHlwZUVxdWFsVG9PclN1YlR5cGVPZlZhcmlhYmxlVHlwZSkge1xuLy8gICAgICAgICBwcm9vZkNvbnRleHQuZXJyb3IoYFRoZSBhc3NlcnRlZCB0eXBlIG9mIHRoZSAke3ZhcmlhYmxlTmFtZX0gdmFyaWFibGUgaXMgbm90IGVxdWFsIHRvIG9yIGEgc3ViLXR5cGUgb2YgaXRzIGRlY2xhcmVkIHR5cGUuYCk7XG4vLyAgICAgICB9IGVsc2Uge1xuLy8gICAgICAgICBjb25zdCBuYW1lID0gdmFyaWFibGVOYW1lLCAgLy8vXG4vLyAgICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tVHlwZUFuZE5hbWUodHlwZSwgbmFtZSk7XG4vL1xuLy8gICAgICAgICBwcm9vZkNvbnRleHQuYWRkVmFyaWFibGUodmFyaWFibGUpO1xuLy9cbi8vICAgICAgICAgdHlwZUFzc2VydGlvblZlcmlmaWVkID0gdHJ1ZTtcbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIH0gZWxzZSB7XG4vLyAgICAgY29uc3QgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA9IHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3JzKHRlcm1Ob2RlLCB0eXBlcywgdmFsdWVzLCBjb250ZXh0KTtcbi8vXG4vLyAgICAgaWYgKHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMpIHtcbi8vICAgICAgIGNvbnN0IHR5cGUgPSBwcm9vZkNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKHR5cGVOYW1lKSxcbi8vICAgICAgICAgZmlyc3RUeXBlID0gZmlyc3QodHlwZXMpLFxuLy8gICAgICAgICB0ZXJtVHlwZSA9IGZpcnN0VHlwZSwgLy8vXG4vLyAgICAgICAgIHR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUZXJtVHlwZSA9IHR5cGUuaXNFcXVhbFRvT3JTdWJUeXBlT2YodGVybVR5cGUpO1xuLy9cbi8vICAgICAgIGlmICghdHlwZUVxdWFsVG9PclN1YlR5cGVPZlRlcm1UeXBlKSB7XG4vLyAgICAgICAgIHByb29mQ29udGV4dC5lcnJvcihgVGhlIGFzc2VydGVkIHR5cGUgb2YgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIGlzIG5vdCBlcXVhbCB0byBvciBhIHN1Yi10eXBlIG9mIGl0cyBkZWNsYXJlZCB0eXBlLmApO1xuLy8gICAgICAgfSBlbHNlIHtcbi8vXG4vLyAgICAgICAgIHR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG4iXSwibmFtZXMiOlsidmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJwcm9vZkNvbnRleHQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwiYmVnaW4iLCJzdGF0ZW1lbnROb2RlIiwiZGVyaXZlZCIsImlzRGVyaXZlZCIsImFzc2VydGlvbiIsIkFzc2VydGlvbiIsImZyb21TdGF0ZW1lbnROb2RlIiwiYXNzZXJ0aW9uTWF0Y2hlcyIsIm1hdGNoQXNzZXJ0aW9uIiwic3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZGVidWciLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBLFVBaUNBLGlCQUFpQjtDQUNqQixhQUFhO0NBQ2IsV0FBVztDQUNYLHNCQUFzQjtDQUN0QixrQ0FBa0M7Q0FDbEMsbURBQW1EO0NBQ25ELHNCQUFzQjtDQUN0QiwyQ0FBMkM7Q0FDM0MsbUZBQW1GO0NBQ25GLEVBQUU7Q0FDRixrQ0FBa0M7Q0FDbEMsd0NBQXdDO0NBQ3hDLHVDQUF1QztDQUN2QyxnQ0FBZ0M7Q0FDaEMsRUFBRTtDQUNGLGlDQUFpQztDQUNqQywyRkFBMkY7Q0FDM0YsZUFBZTtDQUNmLGdFQUFnRTtDQUNoRSxvQ0FBb0M7Q0FDcEMsd0NBQXdDO0NBQ3hDLHdGQUF3RjtDQUN4RixFQUFFO0NBQ0YsbURBQW1EO0NBQ25ELHVJQUF1STtDQUN2SSxpQkFBaUI7Q0FDakIsMENBQTBDO0NBQzFDLDZEQUE2RDtDQUM3RCxFQUFFO0NBQ0YsOENBQThDO0NBQzlDLEVBQUU7Q0FDRix3Q0FBd0M7Q0FDeEMsVUFBVTtDQUNWLFFBQVE7Q0FDUixhQUFhO0NBQ2IsK0dBQStHO0NBQy9HLEVBQUU7Q0FDRiw2Q0FBNkM7Q0FDN0MsZ0VBQWdFO0NBQ2hFLG9DQUFvQztDQUNwQyxvQ0FBb0M7Q0FDcEMsZ0ZBQWdGO0NBQ2hGLEVBQUU7Q0FDRiwrQ0FBK0M7Q0FDL0MsbUlBQW1JO0NBQ25JLGlCQUFpQjtDQUNqQixFQUFFO0NBQ0Ysd0NBQXdDO0NBQ3hDLFVBQVU7Q0FDVixRQUFRO0NBQ1IsTUFBTTtDQUNOLElBQUk7Ozs7ZUFwRm9CQTs7OzhEQVRJOzhEQUVOO3FCQUVJO3NCQUNHOzs7Ozs7QUFFN0IsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXRCLFNBQVNGLDJCQUEyQkcsd0JBQXdCLEVBQUVDLFlBQVksRUFBRTtJQUN6RixJQUFJQywrQkFBK0IsS0FBSztJQUV4Q0QsYUFBYUUsS0FBSyxDQUFDSDtJQUVuQixJQUFNSSxnQkFBZ0JOLG1CQUFtQkU7SUFFekMsSUFBSUksa0JBQWtCLElBQUksRUFBRTtRQUMxQixJQUFNQyxVQUFVSixhQUFhSyxTQUFTO1FBRXRDLElBQUlELFNBQVM7WUFDWCxJQUFNRSxZQUFZQyxrQkFBUyxDQUFDQyxpQkFBaUIsQ0FBQ0wsZ0JBQ3hDTSxtQkFBbUJULGFBQWFVLGNBQWMsQ0FBQ0o7WUFFckRMLCtCQUErQlEsa0JBQW1CLEdBQUc7UUFDdkQsT0FBTztZQUNMUiwrQkFBK0IsSUFBSTtRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUlBLDhCQUE4QjtRQUNoQyxJQUFNVSxrQkFBa0JDLElBQUFBLG9CQUFZLEVBQUNUO1FBRXJDSCxhQUFhYSxLQUFLLENBQUMsQUFBQyxpQkFBZ0MsT0FBaEJGLGlCQUFnQjtJQUN0RCxDQUFDO0lBRURWLCtCQUNFRCxhQUFhYyxRQUFRLENBQUNmLDRCQUNwQkMsYUFBYWUsSUFBSSxDQUFDaEIseUJBQXlCO0lBRS9DLE9BQU9FO0FBQ1QifQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5U3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvc3RhdGVtZW50XCI7XG5cbmltcG9ydCBBc3NlcnRpb24gZnJvbSBcIi4uLy4uL2Fzc2VydGlvblwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBwcm9vZkNvbnRleHQuYmVnaW4odW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIHByb29mQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHt1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIHN0YXRlbWVudC4uLmApO1xuXG4gIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGRlcml2ZWQgPSBwcm9vZkNvbnRleHQuaXNEZXJpdmVkKCk7XG5cbiAgICAgIGlmIChkZXJpdmVkKSB7XG4gICAgICAgIGNvbnN0IGFzc2VydGlvbiA9IEFzc2VydGlvbi5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgYXNzZXJ0aW9uTWF0Y2hlcyA9IHByb29mQ29udGV4dC5tYXRjaEFzc2VydGlvbihhc3NlcnRpb24pO1xuXG4gICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBhc3NlcnRpb25NYXRjaGVzOyAgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIHByb29mQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQuYCk7XG4gIH1cblxuICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuaGFsdCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIHJldHVybiB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xufVxuXG4vLyBpZiAoZGVyaXZlZCkge1xuLy8gICBkZWJ1Z2dlclxuLy8gfSBlbHNlIHtcbi8vICAgY29uc3QgdHlwZXMgPSBbXSxcbi8vICAgICBjb250ZXh0ID0gcHJvb2ZDb250ZXh0LCAvLy9cbi8vICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkodHlwZUFzc2VydGlvbk5vZGUpLFxuLy8gICAgIHZhcmlhYmxlcyA9IFtdLFxuLy8gICAgIHRlcm1TdHJpbmcgPSBub2RlQXNTdHJpbmcodGVybU5vZGUpLFxuLy8gICAgIHRlcm1WZXJpZmllZEFzVmFyaWFibGUgPSB2ZXJpZnlUZXJtQXNWYXJpYWJsZSh0ZXJtTm9kZSwgdmFyaWFibGVzLCBjb250ZXh0KTtcbi8vXG4vLyAgIGlmICh0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlKSB7XG4vLyAgICAgY29uc3QgZmlyc3RWYWx1ZSA9IGZpcnN0KHZhbHVlcyksXG4vLyAgICAgICB2YXJpYWJsZU5hbWUgPSB0ZXJtU3RyaW5nLCAvLy9cbi8vICAgICAgIHZhbHVlID0gZmlyc3RWYWx1ZTsgLy8vXG4vL1xuLy8gICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4vLyAgICAgICBwcm9vZkNvbnRleHQuZXJyb3IoYFRoZSB2YWx1ZSBvZiB0aGUgJHt2YXJpYWJsZU5hbWV9IHZhcmlhYmxlIGlzIG5vdCB1bmRlZmluZWQuYCk7XG4vLyAgICAgfSBlbHNlIHtcbi8vICAgICAgIGNvbnN0IHR5cGUgPSBwcm9vZkNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKHR5cGVOYW1lKSxcbi8vICAgICAgICAgZmlyc3RUeXBlID0gZmlyc3QodHlwZXMpLFxuLy8gICAgICAgICB2YXJpYWJsZVR5cGUgPSBmaXJzdFR5cGUsIC8vL1xuLy8gICAgICAgICB0eXBlRXF1YWxUb09yU3ViVHlwZU9mVmFyaWFibGVUeXBlID0gdHlwZS5pc0VxdWFsVG9PclN1YlR5cGVPZih2YXJpYWJsZVR5cGUpO1xuLy9cbi8vICAgICAgIGlmICghdHlwZUVxdWFsVG9PclN1YlR5cGVPZlZhcmlhYmxlVHlwZSkge1xuLy8gICAgICAgICBwcm9vZkNvbnRleHQuZXJyb3IoYFRoZSBhc3NlcnRlZCB0eXBlIG9mIHRoZSAke3ZhcmlhYmxlTmFtZX0gdmFyaWFibGUgaXMgbm90IGVxdWFsIHRvIG9yIGEgc3ViLXR5cGUgb2YgaXRzIGRlY2xhcmVkIHR5cGUuYCk7XG4vLyAgICAgICB9IGVsc2Uge1xuLy8gICAgICAgICBjb25zdCBuYW1lID0gdmFyaWFibGVOYW1lLCAgLy8vXG4vLyAgICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tVHlwZUFuZE5hbWUodHlwZSwgbmFtZSk7XG4vL1xuLy8gICAgICAgICBwcm9vZkNvbnRleHQuYWRkVmFyaWFibGUodmFyaWFibGUpO1xuLy9cbi8vICAgICAgICAgdHlwZUFzc2VydGlvblZlcmlmaWVkID0gdHJ1ZTtcbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIH0gZWxzZSB7XG4vLyAgICAgY29uc3QgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA9IHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3JzKHRlcm1Ob2RlLCB0eXBlcywgdmFsdWVzLCBjb250ZXh0KTtcbi8vXG4vLyAgICAgaWYgKHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMpIHtcbi8vICAgICAgIGNvbnN0IHR5cGUgPSBwcm9vZkNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKHR5cGVOYW1lKSxcbi8vICAgICAgICAgZmlyc3RUeXBlID0gZmlyc3QodHlwZXMpLFxuLy8gICAgICAgICB0ZXJtVHlwZSA9IGZpcnN0VHlwZSwgLy8vXG4vLyAgICAgICAgIHR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUZXJtVHlwZSA9IHR5cGUuaXNFcXVhbFRvT3JTdWJUeXBlT2YodGVybVR5cGUpO1xuLy9cbi8vICAgICAgIGlmICghdHlwZUVxdWFsVG9PclN1YlR5cGVPZlRlcm1UeXBlKSB7XG4vLyAgICAgICAgIHByb29mQ29udGV4dC5lcnJvcihgVGhlIGFzc2VydGVkIHR5cGUgb2YgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIGlzIG5vdCBlcXVhbCB0byBvciBhIHN1Yi10eXBlIG9mIGl0cyBkZWNsYXJlZCB0eXBlLmApO1xuLy8gICAgICAgfSBlbHNlIHtcbi8vXG4vLyAgICAgICAgIHR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG4iXSwibmFtZXMiOlsidmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJwcm9vZkNvbnRleHQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwiYmVnaW4iLCJ1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsImRlYnVnIiwic3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5U3RhdGVtZW50IiwiZGVyaXZlZCIsImlzRGVyaXZlZCIsImFzc2VydGlvbiIsIkFzc2VydGlvbiIsImZyb21TdGF0ZW1lbnROb2RlIiwiYXNzZXJ0aW9uTWF0Y2hlcyIsIm1hdGNoQXNzZXJ0aW9uIiwiaW5mbyIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0EsVUF1Q0EsaUJBQWlCO0NBQ2pCLGFBQWE7Q0FDYixXQUFXO0NBQ1gsc0JBQXNCO0NBQ3RCLGtDQUFrQztDQUNsQyxtREFBbUQ7Q0FDbkQsc0JBQXNCO0NBQ3RCLDJDQUEyQztDQUMzQyxtRkFBbUY7Q0FDbkYsRUFBRTtDQUNGLGtDQUFrQztDQUNsQyx3Q0FBd0M7Q0FDeEMsdUNBQXVDO0NBQ3ZDLGdDQUFnQztDQUNoQyxFQUFFO0NBQ0YsaUNBQWlDO0NBQ2pDLDJGQUEyRjtDQUMzRixlQUFlO0NBQ2YsZ0VBQWdFO0NBQ2hFLG9DQUFvQztDQUNwQyx3Q0FBd0M7Q0FDeEMsd0ZBQXdGO0NBQ3hGLEVBQUU7Q0FDRixtREFBbUQ7Q0FDbkQsdUlBQXVJO0NBQ3ZJLGlCQUFpQjtDQUNqQiwwQ0FBMEM7Q0FDMUMsNkRBQTZEO0NBQzdELEVBQUU7Q0FDRiw4Q0FBOEM7Q0FDOUMsRUFBRTtDQUNGLHdDQUF3QztDQUN4QyxVQUFVO0NBQ1YsUUFBUTtDQUNSLGFBQWE7Q0FDYiwrR0FBK0c7Q0FDL0csRUFBRTtDQUNGLDZDQUE2QztDQUM3QyxnRUFBZ0U7Q0FDaEUsb0NBQW9DO0NBQ3BDLG9DQUFvQztDQUNwQyxnRkFBZ0Y7Q0FDaEYsRUFBRTtDQUNGLCtDQUErQztDQUMvQyxtSUFBbUk7Q0FDbkksaUJBQWlCO0NBQ2pCLEVBQUU7Q0FDRix3Q0FBd0M7Q0FDeEMsVUFBVTtDQUNWLFFBQVE7Q0FDUixNQUFNO0NBQ04sSUFBSTs7OztlQTFGb0JBOzs7OERBVEk7OERBRU47cUJBRUk7c0JBQ0c7Ozs7OztBQUU3QixJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFdEIsU0FBU0YsMkJBQTJCRyx3QkFBd0IsRUFBRUMsWUFBWSxFQUFFO0lBQ3pGLElBQUlDLCtCQUErQixLQUFLO0lBRXhDRCxhQUFhRSxLQUFLLENBQUNIO0lBRW5CLElBQU1JLDZCQUE2QkMsSUFBQUEsb0JBQVksRUFBQ0w7SUFFaERDLGFBQWFLLEtBQUssQ0FBQyxBQUFDLGtCQUE0QyxPQUEzQkYsNEJBQTJCO0lBRWhFLElBQU1HLGdCQUFnQlQsbUJBQW1CRTtJQUV6QyxJQUFJTyxrQkFBa0IsSUFBSSxFQUFFO1FBQzFCLElBQU1DLG9CQUFvQkMsSUFBQUEsa0JBQWUsRUFBQ0YsZUFBZU47UUFFekQsSUFBSU8sbUJBQW1CO1lBQ3JCLElBQU1FLFVBQVVULGFBQWFVLFNBQVM7WUFFdEMsSUFBSUQsU0FBUztnQkFDWCxJQUFNRSxZQUFZQyxrQkFBUyxDQUFDQyxpQkFBaUIsQ0FBQ1AsZ0JBQ3hDUSxtQkFBbUJkLGFBQWFlLGNBQWMsQ0FBQ0o7Z0JBRXJEViwrQkFBK0JhLGtCQUFtQixHQUFHO1lBQ3ZELE9BQU87Z0JBQ0xiLCtCQUErQixJQUFJO1lBQ3JDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUlBLDhCQUE4QjtRQUNoQ0QsYUFBYWdCLElBQUksQ0FBQyxBQUFDLGlCQUEyQyxPQUEzQmIsNEJBQTJCO0lBQ2hFLENBQUM7SUFFREYsK0JBQ0VELGFBQWFpQixRQUFRLENBQUNsQiw0QkFDcEJDLGFBQWFrQixJQUFJLENBQUNuQix5QkFBeUI7SUFFL0MsT0FBT0U7QUFDVCJ9
@@ -23,19 +23,16 @@ function verifyStatement(statementNode, proofContext) {
23
23
  proofContext.begin(statementNode);
24
24
  var equalityNode = equalityNodeQuery(statementNode), statementString = (0, _string.nodeAsString)(statementNode), typeAssertionNode = typeAssertionNodeQuery(statementNode);
25
25
  proofContext.debug("Verifying the '".concat(statementString, "' statement..."));
26
- if (false) {
27
- ///
28
- } else if (equalityNode !== null) {
26
+ if (equalityNode !== null) {
29
27
  var equalityVerified = (0, _equality.default)(equalityNode, proofContext);
30
28
  statementVerified = equalityVerified; ///
31
- } else if (typeAssertionNode !== null) {
32
- var types = [], typeAssertionVerified = (0, _type.default)(typeAssertionNode, types, proofContext);
29
+ }
30
+ if (typeAssertionNode !== null) {
31
+ var typeAssertionVerified = (0, _type.default)(typeAssertionNode, proofContext);
33
32
  statementVerified = typeAssertionVerified; ///
34
- } else {
35
- debugger;
36
33
  }
37
34
  statementVerified ? proofContext.complete(statementNode) : proofContext.halt(statementNode);
38
35
  return statementVerified;
39
36
  }
40
37
 
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5RXF1YWxpdHkgZnJvbSBcIi4uL3ZlcmlmeS9lcXVhbGl0eVwiO1xuaW1wb3J0IHZlcmlmeVR5cGVBc3NlcnRpb24gZnJvbSBcIi4uL3ZlcmlmeS9hc3NlcnRpb24vdHlwZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCBlcXVhbGl0eU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvZXF1YWxpdHkhXCIpLFxuICAgICAgdHlwZUFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvdHlwZUFzc2VydGlvbiFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IGVxdWFsaXR5Tm9kZSA9IGVxdWFsaXR5Tm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpLFxuICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHR5cGVBc3NlcnRpb25Ob2RlID0gdHlwZUFzc2VydGlvbk5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBwcm9vZkNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50Li4uYCk7XG5cbiAgaWYgKGZhbHNlKSB7XG4gICAgLy8vXG4gIH0gZWxzZSBpZiAoZXF1YWxpdHlOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgZXF1YWxpdHlWZXJpZmllZCA9IHZlcmlmeUVxdWFsaXR5KGVxdWFsaXR5Tm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgIHN0YXRlbWVudFZlcmlmaWVkID0gZXF1YWxpdHlWZXJpZmllZDsgLy8vXG4gIH0gZWxzZSBpZiAodHlwZUFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCB0eXBlcyA9IFtdLFxuICAgICAgICAgIHR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHZlcmlmeVR5cGVBc3NlcnRpb24odHlwZUFzc2VydGlvbk5vZGUsIHR5cGVzLCBwcm9vZkNvbnRleHQpO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWQgPSB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQ7IC8vL1xuICB9IGVsc2Uge1xuICAgIGRlYnVnZ2VyXG4gIH1cblxuICBzdGF0ZW1lbnRWZXJpZmllZCA/XG4gICAgcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHN0YXRlbWVudE5vZGUpIDpcbiAgICAgIHByb29mQ29udGV4dC5oYWx0KHN0YXRlbWVudE5vZGUpO1xuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlTdGF0ZW1lbnQiLCJlcXVhbGl0eU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInR5cGVBc3NlcnRpb25Ob2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlIiwicHJvb2ZDb250ZXh0Iiwic3RhdGVtZW50VmVyaWZpZWQiLCJiZWdpbiIsImVxdWFsaXR5Tm9kZSIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInR5cGVBc3NlcnRpb25Ob2RlIiwiZGVidWciLCJlcXVhbGl0eVZlcmlmaWVkIiwidmVyaWZ5RXF1YWxpdHkiLCJ0eXBlcyIsInR5cGVBc3NlcnRpb25WZXJpZmllZCIsInZlcmlmeVR5cGVBc3NlcnRpb24iLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBd0JBOzs7NkRBVEc7eURBQ0s7cUJBRU47c0JBQ0c7Ozs7OztBQUU3QixJQUFNQyxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUMseUJBQzlCQyx5QkFBeUJELElBQUFBLGdCQUFTLEVBQUM7QUFFMUIsU0FBU0YsZ0JBQWdCSSxhQUFhLEVBQUVDLFlBQVksRUFBRTtJQUNuRSxJQUFJQyxvQkFBb0IsS0FBSztJQUU3QkQsYUFBYUUsS0FBSyxDQUFDSDtJQUVuQixJQUFNSSxlQUFlUCxrQkFBa0JHLGdCQUNqQ0ssa0JBQWtCQyxJQUFBQSxvQkFBWSxFQUFDTixnQkFDL0JPLG9CQUFvQlIsdUJBQXVCQztJQUVqREMsYUFBYU8sS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCSCxpQkFBZ0I7SUFFckQsSUFBSSxLQUFLLEVBQUU7SUFDVCxHQUFHO0lBQ0wsT0FBTyxJQUFJRCxpQkFBaUIsSUFBSSxFQUFFO1FBQ2hDLElBQU1LLG1CQUFtQkMsSUFBQUEsaUJBQWMsRUFBQ04sY0FBY0g7UUFFdERDLG9CQUFvQk8sa0JBQWtCLEdBQUc7SUFDM0MsT0FBTyxJQUFJRixzQkFBc0IsSUFBSSxFQUFFO1FBQ3JDLElBQU1JLFFBQVEsRUFBRSxFQUNWQyx3QkFBd0JDLElBQUFBLGFBQW1CLEVBQUNOLG1CQUFtQkksT0FBT1Y7UUFFNUVDLG9CQUFvQlUsdUJBQXVCLEdBQUc7SUFDaEQsT0FBTztRQUNMLFFBQVE7SUFDVixDQUFDO0lBRURWLG9CQUNFRCxhQUFhYSxRQUFRLENBQUNkLGlCQUNwQkMsYUFBYWMsSUFBSSxDQUFDZixjQUFjO0lBRXBDLE9BQU9FO0FBQ1QifQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5RXF1YWxpdHkgZnJvbSBcIi4uL3ZlcmlmeS9lcXVhbGl0eVwiO1xuaW1wb3J0IHZlcmlmeVR5cGVBc3NlcnRpb24gZnJvbSBcIi4uL3ZlcmlmeS9hc3NlcnRpb24vdHlwZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCBlcXVhbGl0eU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvZXF1YWxpdHkhXCIpLFxuICAgICAgdHlwZUFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvdHlwZUFzc2VydGlvbiFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IGVxdWFsaXR5Tm9kZSA9IGVxdWFsaXR5Tm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpLFxuICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHR5cGVBc3NlcnRpb25Ob2RlID0gdHlwZUFzc2VydGlvbk5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBwcm9vZkNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50Li4uYCk7XG5cbiAgaWYgKGVxdWFsaXR5Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGVxdWFsaXR5VmVyaWZpZWQgPSB2ZXJpZnlFcXVhbGl0eShlcXVhbGl0eU5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZCA9IGVxdWFsaXR5VmVyaWZpZWQ7IC8vL1xuICB9XG5cbiAgaWYgKHR5cGVBc3NlcnRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdHlwZUFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5VHlwZUFzc2VydGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdHlwZUFzc2VydGlvblZlcmlmaWVkOyAvLy9cbiAgfVxuXG4gIHN0YXRlbWVudFZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUoc3RhdGVtZW50Tm9kZSkgOlxuICAgICAgcHJvb2ZDb250ZXh0LmhhbHQoc3RhdGVtZW50Tm9kZSk7XG5cbiAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVN0YXRlbWVudCIsImVxdWFsaXR5Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZUFzc2VydGlvbk5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGUiLCJwcm9vZkNvbnRleHQiLCJzdGF0ZW1lbnRWZXJpZmllZCIsImJlZ2luIiwiZXF1YWxpdHlOb2RlIiwic3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHlwZUFzc2VydGlvbk5vZGUiLCJkZWJ1ZyIsImVxdWFsaXR5VmVyaWZpZWQiLCJ2ZXJpZnlFcXVhbGl0eSIsInR5cGVBc3NlcnRpb25WZXJpZmllZCIsInZlcmlmeVR5cGVBc3NlcnRpb24iLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBd0JBOzs7NkRBVEc7eURBQ0s7cUJBRU47c0JBQ0c7Ozs7OztBQUU3QixJQUFNQyxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUMseUJBQzlCQyx5QkFBeUJELElBQUFBLGdCQUFTLEVBQUM7QUFFMUIsU0FBU0YsZ0JBQWdCSSxhQUFhLEVBQUVDLFlBQVksRUFBRTtJQUNuRSxJQUFJQyxvQkFBb0IsS0FBSztJQUU3QkQsYUFBYUUsS0FBSyxDQUFDSDtJQUVuQixJQUFNSSxlQUFlUCxrQkFBa0JHLGdCQUNqQ0ssa0JBQWtCQyxJQUFBQSxvQkFBWSxFQUFDTixnQkFDL0JPLG9CQUFvQlIsdUJBQXVCQztJQUVqREMsYUFBYU8sS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCSCxpQkFBZ0I7SUFFckQsSUFBSUQsaUJBQWlCLElBQUksRUFBRTtRQUN6QixJQUFNSyxtQkFBbUJDLElBQUFBLGlCQUFjLEVBQUNOLGNBQWNIO1FBRXREQyxvQkFBb0JPLGtCQUFrQixHQUFHO0lBQzNDLENBQUM7SUFFRCxJQUFJRixzQkFBc0IsSUFBSSxFQUFFO1FBQzlCLElBQU1JLHdCQUF3QkMsSUFBQUEsYUFBbUIsRUFBQ0wsbUJBQW1CTjtRQUVyRUMsb0JBQW9CUyx1QkFBdUIsR0FBRztJQUNoRCxDQUFDO0lBRURULG9CQUNFRCxhQUFhWSxRQUFRLENBQUNiLGlCQUNwQkMsYUFBYWEsSUFBSSxDQUFDZCxjQUFjO0lBRXBDLE9BQU9FO0FBQ1QifQ==
@@ -20,6 +20,8 @@ function _interopRequireDefault(obj) {
20
20
  function verifyStatementAsCombinator(statementNode, fileContext) {
21
21
  var statementVerifiedAsCombinator = false;
22
22
  fileContext.begin(statementNode);
23
+ var statementString = (0, _string.nodeAsString)(statementNode);
24
+ fileContext.debug("Verifying the '".concat(statementString, "' combinator...."));
23
25
  var nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), childNodesVerified = verifyChildNodes(childNodes, fileContext);
24
26
  if (childNodesVerified) {
25
27
  var combinator = _combinator.default.fromStatementNode(statementNode);
@@ -27,7 +29,6 @@ function verifyStatementAsCombinator(statementNode, fileContext) {
27
29
  statementVerifiedAsCombinator = true;
28
30
  }
29
31
  if (statementVerifiedAsCombinator) {
30
- var statementString = (0, _string.nodeAsString)(statementNode);
31
32
  fileContext.info("Verified the '".concat(statementString, "' combinator."));
32
33
  }
33
34
  statementVerifiedAsCombinator ? fileContext.complete(statementNode) : fileContext.halt(statementNode);
@@ -99,4 +100,4 @@ function verifyNonTerminalNode(nonTerminalNode, fileContext) {
99
100
  return nonTerminalNodeVerified;
100
101
  }
101
102
 
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50QXNDb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgQ29tYmluYXRvciBmcm9tIFwiLi4vY29tYmluYXRvclwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgdHlwZU5hbWVGcm9tVHlwZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBURVJNX1JVTEVfTkFNRSwgVFlQRV9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzQ29tYmluYXRvcihzdGF0ZW1lbnROb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3IgPSBmYWxzZTtcblxuICBmaWxlQ29udGV4dC5iZWdpbihzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICBjaGlsZE5vZGVzVmVyaWZpZWQgPSB2ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAoY2hpbGROb2Rlc1ZlcmlmaWVkKSB7XG4gICAgY29uc3QgY29tYmluYXRvciA9IENvbWJpbmF0b3IuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBmaWxlQ29udGV4dC5hZGRDb21iaW5hdG9yKGNvbWJpbmF0b3IpO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3IgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHN0YXRlbWVudFZlcmlmaWVkQXNDb21iaW5hdG9yKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIGNvbWJpbmF0b3IuYCk7XG4gIH1cblxuICBzdGF0ZW1lbnRWZXJpZmllZEFzQ29tYmluYXRvciA/XG4gICAgZmlsZUNvbnRleHQuY29tcGxldGUoc3RhdGVtZW50Tm9kZSkgOlxuICAgICAgZmlsZUNvbnRleHQuaGFsdChzdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3I7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU5vZGUobm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IG5vZGVWZXJpZmllZDtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdmVyaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgbm9kZVZlcmlmaWVkID0gdGVybWluYWxOb2RlVmVyaWZpZWQ7ICAvLy9cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgIG5vZGVWZXJpZmllZCA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAvLy9cbiAgfVxuXG4gIHJldHVybiBub2RlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVR5cGVOb2RlKHR5cGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdHlwZU5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICB0eXBlUHJlc2VudCA9IGZpbGVDb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICBpZiAoIXR5cGVQcmVzZW50KSB7XG4gICAgZmlsZUNvbnRleHQuZXJyb3IoYFRoZSB0eXBlICcke3R5cGVOYW1lfScgaXMgbWlzc2luZy5gKTtcbiAgfSBlbHNlIHtcbiAgICB0eXBlTm9kZVZlcmlmaWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB0eXBlTm9kZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtTm9kZSh0ZXJtTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHRlcm1Ob2RlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBkZWJ1Z2dlclxuXG4gIHJldHVybiB0ZXJtTm9kZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXMsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IGNoaWxkTm9kZXNWZXJpZmllZCA9IGNoaWxkTm9kZXMuZXZlcnkoKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IG5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgIG5vZGVWZXJpZmllZCA9IHZlcmlmeU5vZGUobm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgaWYgKG5vZGVWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gY2hpbGROb2Rlc1ZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCkge1xuICBjb25zdCB0ZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRydWU7XG5cbiAgcmV0dXJuIHRlcm1pbmFsTm9kZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICBzd2l0Y2ggKHJ1bGVOYW1lKSB7XG4gICAgY2FzZSBUWVBFX1JVTEVfTkFNRToge1xuICAgICAgY29uc3QgdHlwZU5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgdHlwZU5vZGVWZXJpZmllZCA9IHZlcmlmeVR5cGVOb2RlKHR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdHlwZU5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgVEVSTV9SVUxFX05BTUU6IHtcbiAgICAgIGNvbnN0IHRlcm1Ob2RlID0gbm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgIHRlcm1Ob2RlVmVyaWZpZWQgPSB2ZXJpZnlUZXJtTm9kZSh0ZXJtTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRlcm1Ob2RlVmVyaWZpZWQ7IC8vL1xuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBkZWZhdWx0OiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgIGNoaWxkTm9kZXNWZXJpZmllZCA9IHZlcmlmeUNoaWxkTm9kZXMoY2hpbGROb2RlcywgZmlsZUNvbnRleHQpO1xuXG4gICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGNoaWxkTm9kZXNWZXJpZmllZDsgLy8vXG5cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlTdGF0ZW1lbnRBc0NvbWJpbmF0b3IiLCJzdGF0ZW1lbnROb2RlIiwiZmlsZUNvbnRleHQiLCJzdGF0ZW1lbnRWZXJpZmllZEFzQ29tYmluYXRvciIsImJlZ2luIiwibm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJjaGlsZE5vZGVzVmVyaWZpZWQiLCJ2ZXJpZnlDaGlsZE5vZGVzIiwiY29tYmluYXRvciIsIkNvbWJpbmF0b3IiLCJmcm9tU3RhdGVtZW50Tm9kZSIsImFkZENvbWJpbmF0b3IiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJpbmZvIiwiY29tcGxldGUiLCJoYWx0IiwidmVyaWZ5Tm9kZSIsIm5vZGUiLCJub2RlVmVyaWZpZWQiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeVRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwidmVyaWZ5VHlwZU5vZGUiLCJ0eXBlTm9kZSIsInR5cGVOb2RlVmVyaWZpZWQiLCJ0eXBlTmFtZSIsInR5cGVOYW1lRnJvbVR5cGVOb2RlIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTmFtZSIsImVycm9yIiwidmVyaWZ5VGVybU5vZGUiLCJ0ZXJtTm9kZSIsInRlcm1Ob2RlVmVyaWZpZWQiLCJldmVyeSIsImNoaWxkTm9kZSIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJUWVBFX1JVTEVfTkFNRSIsIlRFUk1fUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7OytEQU5EO3NCQUVNO3FCQUNRO3lCQUNVOzs7Ozs7QUFFaEMsU0FBU0EsNEJBQTRCQyxhQUFhLEVBQUVDLFdBQVcsRUFBRTtJQUM5RSxJQUFJQyxnQ0FBZ0Ms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
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50QXNDb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgQ29tYmluYXRvciBmcm9tIFwiLi4vY29tYmluYXRvclwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgdHlwZU5hbWVGcm9tVHlwZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBURVJNX1JVTEVfTkFNRSwgVFlQRV9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzQ29tYmluYXRvcihzdGF0ZW1lbnROb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3IgPSBmYWxzZTtcblxuICBmaWxlQ29udGV4dC5iZWdpbihzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgY29tYmluYXRvci4uLi5gKTtcblxuICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICBjaGlsZE5vZGVzVmVyaWZpZWQgPSB2ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAoY2hpbGROb2Rlc1ZlcmlmaWVkKSB7XG4gICAgY29uc3QgY29tYmluYXRvciA9IENvbWJpbmF0b3IuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBmaWxlQ29udGV4dC5hZGRDb21iaW5hdG9yKGNvbWJpbmF0b3IpO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3IgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHN0YXRlbWVudFZlcmlmaWVkQXNDb21iaW5hdG9yKSB7XG4gICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIGNvbWJpbmF0b3IuYCk7XG4gIH1cblxuICBzdGF0ZW1lbnRWZXJpZmllZEFzQ29tYmluYXRvciA/XG4gICAgZmlsZUNvbnRleHQuY29tcGxldGUoc3RhdGVtZW50Tm9kZSkgOlxuICAgICAgZmlsZUNvbnRleHQuaGFsdChzdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3I7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU5vZGUobm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IG5vZGVWZXJpZmllZDtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdmVyaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgbm9kZVZlcmlmaWVkID0gdGVybWluYWxOb2RlVmVyaWZpZWQ7ICAvLy9cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgIG5vZGVWZXJpZmllZCA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAvLy9cbiAgfVxuXG4gIHJldHVybiBub2RlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVR5cGVOb2RlKHR5cGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdHlwZU5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICB0eXBlUHJlc2VudCA9IGZpbGVDb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICBpZiAoIXR5cGVQcmVzZW50KSB7XG4gICAgZmlsZUNvbnRleHQuZXJyb3IoYFRoZSB0eXBlICcke3R5cGVOYW1lfScgaXMgbWlzc2luZy5gKTtcbiAgfSBlbHNlIHtcbiAgICB0eXBlTm9kZVZlcmlmaWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB0eXBlTm9kZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtTm9kZSh0ZXJtTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHRlcm1Ob2RlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBkZWJ1Z2dlclxuXG4gIHJldHVybiB0ZXJtTm9kZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXMsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IGNoaWxkTm9kZXNWZXJpZmllZCA9IGNoaWxkTm9kZXMuZXZlcnkoKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IG5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgIG5vZGVWZXJpZmllZCA9IHZlcmlmeU5vZGUobm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgaWYgKG5vZGVWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gY2hpbGROb2Rlc1ZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCkge1xuICBjb25zdCB0ZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRydWU7XG5cbiAgcmV0dXJuIHRlcm1pbmFsTm9kZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICBzd2l0Y2ggKHJ1bGVOYW1lKSB7XG4gICAgY2FzZSBUWVBFX1JVTEVfTkFNRToge1xuICAgICAgY29uc3QgdHlwZU5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgdHlwZU5vZGVWZXJpZmllZCA9IHZlcmlmeVR5cGVOb2RlKHR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdHlwZU5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgVEVSTV9SVUxFX05BTUU6IHtcbiAgICAgIGNvbnN0IHRlcm1Ob2RlID0gbm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgIHRlcm1Ob2RlVmVyaWZpZWQgPSB2ZXJpZnlUZXJtTm9kZSh0ZXJtTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRlcm1Ob2RlVmVyaWZpZWQ7IC8vL1xuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBkZWZhdWx0OiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgIGNoaWxkTm9kZXNWZXJpZmllZCA9IHZlcmlmeUNoaWxkTm9kZXMoY2hpbGROb2RlcywgZmlsZUNvbnRleHQpO1xuXG4gICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGNoaWxkTm9kZXNWZXJpZmllZDsgLy8vXG5cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlTdGF0ZW1lbnRBc0NvbWJpbmF0b3IiLCJzdGF0ZW1lbnROb2RlIiwiZmlsZUNvbnRleHQiLCJzdGF0ZW1lbnRWZXJpZmllZEFzQ29tYmluYXRvciIsImJlZ2luIiwic3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZGVidWciLCJub25UZXJtaW5hbE5vZGUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsImNoaWxkTm9kZXNWZXJpZmllZCIsInZlcmlmeUNoaWxkTm9kZXMiLCJjb21iaW5hdG9yIiwiQ29tYmluYXRvciIsImZyb21TdGF0ZW1lbnROb2RlIiwiYWRkQ29tYmluYXRvciIsImluZm8iLCJjb21wbGV0ZSIsImhhbHQiLCJ2ZXJpZnlOb2RlIiwibm9kZSIsIm5vZGVWZXJpZmllZCIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5VGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJ2ZXJpZnlUeXBlTm9kZSIsInR5cGVOb2RlIiwidHlwZU5vZGVWZXJpZmllZCIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJ0eXBlUHJlc2VudCIsImlzVHlwZVByZXNlbnRCeVR5cGVOYW1lIiwiZXJyb3IiLCJ2ZXJpZnlUZXJtTm9kZSIsInRlcm1Ob2RlIiwidGVybU5vZGVWZXJpZmllZCIsImV2ZXJ5IiwiY2hpbGROb2RlIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIlRZUEVfUlVMRV9OQU1FIiwiVEVSTV9SVUxFX05BTUUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7K0RBTkQ7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
@@ -27,6 +27,8 @@ var termNodeQuery = (0, _query.nodeQuery)("/argument/term!"), typeNodeQuery = (0
27
27
  function verifyTerm(termNode, types, context) {
28
28
  var termVerified = false;
29
29
  context.begin(termNode);
30
+ var termString = (0, _string.nodeAsString)(termNode);
31
+ context.debug("Verifying the '".concat(termString, "' term..."));
30
32
  var variables = [], termVerifiedAsVariable = verifyTermAsVariable(termNode, variables, context);
31
33
  if (termVerifiedAsVariable) {
32
34
  var firstVariable = (0, _array.first)(variables), variable = firstVariable, type = variable.getType();
@@ -38,6 +40,9 @@ function verifyTerm(termNode, types, context) {
38
40
  termVerified = true;
39
41
  }
40
42
  }
43
+ if (termVerified) {
44
+ context.info("Verified the '".concat(termString, "' term."));
45
+ }
41
46
  termVerified ? context.complete(termNode) : context.halt(termNode);
42
47
  return termVerified;
43
48
  }
@@ -153,4 +158,4 @@ function verifyArgumentNode(argumentNode, constructorArgumentNode, context) {
153
158
  return argumentNodeVerified;
154
159
  }
155
160
 
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGVybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgQVJHVU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCB0eXBlTmFtZUZyb21UeXBlTm9kZSwgdmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90ZXJtIVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXJndW1lbnQvdHlwZSFcIiksXG4gICAgICB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL3ZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnRleHQuYmVnaW4odGVybU5vZGUpO1xuXG4gIGNvbnN0IHZhcmlhYmxlcyA9IFtdLFxuICAgICAgICB0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlID0gdmVyaWZ5VGVybUFzVmFyaWFibGUodGVybU5vZGUsIHZhcmlhYmxlcywgY29udGV4dCk7XG5cbiAgaWYgKHRlcm1WZXJpZmllZEFzVmFyaWFibGUpIHtcbiAgICBjb25zdCBmaXJzdFZhcmlhYmxlID0gZmlyc3QodmFyaWFibGVzKSxcbiAgICAgICAgICB2YXJpYWJsZSA9IGZpcnN0VmFyaWFibGUsIC8vL1xuICAgICAgICAgIHR5cGUgPSB2YXJpYWJsZS5nZXRUeXBlKCk7XG5cbiAgICB0eXBlcy5wdXNoKHR5cGUpO1xuXG4gICAgdGVybVZlcmlmaWVkID0gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3JzID0gdmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvcnModGVybU5vZGUsIHR5cGVzLCBjb250ZXh0KTtcblxuICAgIGlmICh0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3JzKSB7XG4gICAgICB0ZXJtVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRlcm1WZXJpZmllZCA/XG4gICAgY29udGV4dC5jb21wbGV0ZSh0ZXJtTm9kZSkgOlxuICAgICAgY29udGV4dC5oYWx0KHRlcm1Ob2RlKTtcblxuICByZXR1cm4gdGVybVZlcmlmaWVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5VGVybUFzVmFyaWFibGUodGVybU5vZGUsIHZhcmlhYmxlcywgY29udGV4dCkge1xuICBsZXQgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IGZhbHNlO1xuXG4gIGNvbnRleHQuYmVnaW4odGVybU5vZGUpO1xuXG4gIGNvbnN0IHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICBpZiAodmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdmFyaWFibGVOYW1lID0gdmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlUHJlc2VudCA9IGNvbnRleHQuaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpO1xuXG4gICAgaWYgKCF2YXJpYWJsZVByZXNlbnQpIHtcbiAgICAgIGNvbnRleHQuZXJyb3IoYFRoZSAke3ZhcmlhYmxlTmFtZX0gdmFyaWFibGUgaXMgbm90IHByZXNlbnQuYClcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmFyaWFibGUgPSBjb250ZXh0LmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSk7XG5cbiAgICAgIHZhcmlhYmxlcy5wdXNoKHZhcmlhYmxlKTtcblxuICAgICAgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA/XG4gICAgY29udGV4dC5jb21wbGV0ZSh0ZXJtTm9kZSkgOlxuICAgICAgY29udGV4dC5oYWx0KHRlcm1Ob2RlKTtcblxuICByZXR1cm4gdGVybVZlcmlmaWVkQXNWYXJpYWJsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3JzKHRlcm1Ob2RlLCB0eXBlcywgY29udGV4dCkge1xuICBsZXQgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA9IGZhbHNlO1xuXG4gIGNvbnRleHQuYmVnaW4odGVybU5vZGUpO1xuXG4gIGNvbnN0IGNvbnN0cnVjdG9ycyA9IGNvbnRleHQuZ2V0Q29uc3RydWN0b3JzKCksXG4gICAgICAgIGNvbnN0cnVjdG9yID0gY29uc3RydWN0b3JzLmZpbmQoKGNvbnN0cnVjdG9yKSA9PiB7XG4gICAgICAgICAgY29uc3QgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yID0gdmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgY29uc3RydWN0b3IsIGNvbnRleHQpO1xuXG4gICAgICAgICAgaWYgKHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3Rvcikge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KSB8fCBudWxsO1xuXG4gIGlmIChjb25zdHJ1Y3RvciAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHR5cGUgPSBjb25zdHJ1Y3Rvci5nZXRUeXBlKCk7XG5cbiAgICB0eXBlcy5wdXNoKHR5cGUpO1xuXG4gICAgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA9IHRydWU7XG4gIH1cblxuICB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3JzID9cbiAgICBjb250ZXh0LmNvbXBsZXRlKHRlcm1Ob2RlKSA6XG4gICAgICBjb250ZXh0LmhhbHQodGVybU5vZGUpO1xuXG4gIHJldHVybiB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3JzO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9yKHRlcm1Ob2RlLCBjb25zdHJ1Y3RvciwgY29udGV4dCkge1xuICBjb25zdCBjb25zdHJ1Y3RvclRlcm1Ob2RlID0gY29uc3RydWN0b3IuZ2V0VGVybU5vZGUoKSxcbiAgICAgICAgbm9kZSA9IHRlcm1Ob2RlLCAgLy8vXG4gICAgICAgIGNvbnN0cnVjdG9yTm9kZSA9IGNvbnN0cnVjdG9yVGVybU5vZGUsIC8vL1xuICAgICAgICBub2RlVmVyaWZpZWQgPSB2ZXJpZnlOb2RlKG5vZGUsIGNvbnN0cnVjdG9yTm9kZSwgY29udGV4dCksXG4gICAgICAgIHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvciA9IG5vZGVWZXJpZmllZDsgIC8vL1xuXG4gIHJldHVybiB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3I7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU5vZGUobm9kZSwgY29uc3RydWN0b3JOb2RlLCBjb250ZXh0KSB7XG4gIGxldCBub2RlVmVyaWZpZWQ7XG5cbiAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgY29uc3RydWN0b3JOb2RlVGVybWluYWxOb2RlID0gY29uc3RydWN0b3JOb2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IGNvbnN0cnVjdG9yTm9kZVRlcm1pbmFsTm9kZSkge1xuICAgIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgICBjb25zdHJ1Y3RvclRlcm1pbmFsTm9kZSA9IGNvbnN0cnVjdG9yTm9kZSwgIC8vL1xuICAgICAgICAgICAgdGVybWluYWxOb2RlVmVyaWZpZWQgPSB2ZXJpZnlUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlLCBjb25zdHJ1Y3RvclRlcm1pbmFsTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIG5vZGVWZXJpZmllZCA9IHRlcm1pbmFsTm9kZVZlcmlmaWVkOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgICAgY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUgPSBjb25zdHJ1Y3Rvck5vZGUsICAvLy9cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBub2RlVmVyaWZpZWQgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5vZGVWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5Q2hpbGROb2RlcyhjaGlsZE5vZGVzLCBjb25zdHJ1Y3RvckNoaWxkTm9kZXMsIGNvbnRleHQpIHtcbiAgbGV0IGNoaWxkTm9kZXNWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGNoaWxkTm9kZXNMZW5ndGggPSBjaGlsZE5vZGVzLmxlbmd0aCxcbiAgICAgICAgY29uc3RydWN0b3JDaGlsZE5vZGVzTGVuZ3RoID0gY29uc3RydWN0b3JDaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAoY2hpbGROb2Rlc0xlbmd0aCA9PT0gY29uc3RydWN0b3JDaGlsZE5vZGVzTGVuZ3RoKSB7XG4gICAgY2hpbGROb2Rlc1ZlcmlmaWVkID0gY2hpbGROb2Rlcy5ldmVyeSgoY2hpbGROb2RlLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgY29uc3RydWN0b3JDaGlsZE5vZGUgPSBjb25zdHJ1Y3RvckNoaWxkTm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgbm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICBjb25zdHJ1Y3Rvck5vZGUgPSBjb25zdHJ1Y3RvckNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgbm9kZVZlcmlmaWVkID0gdmVyaWZ5Tm9kZShub2RlLCBjb25zdHJ1Y3Rvck5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAobm9kZVZlcmlmaWVkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGNoaWxkTm9kZXNWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgY29uc3RydWN0b3JUZXJtaW5hbE5vZGUsIGNvbnRleHQpIHtcbiAgbGV0IHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWF0Y2hlcyA9IHRlcm1pbmFsTm9kZS5tYXRjaChjb25zdHJ1Y3RvclRlcm1pbmFsTm9kZSk7XG5cbiAgaWYgKG1hdGNoZXMpIHtcbiAgICB0ZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gdGVybWluYWxOb2RlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLCBjb250ZXh0KSB7XG4gIGxldCBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgIGNvbnN0cnVjdG9yUnVsZU5hbWUgPSBjb25zdHJ1Y3Rvck5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gIGlmIChydWxlTmFtZSA9PT0gY29uc3RydWN0b3JSdWxlTmFtZSkge1xuICAgIHN3aXRjaCAocnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgQVJHVU1FTlRfUlVMRV9OQU1FOiB7XG4gICAgICAgIGNvbnN0IGFyZ3VtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgLy8vXG4gICAgICAgICAgICAgIGNvbnN0cnVjdG9yQXJndW1lbnROb2RlID0gY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICBhcmd1bWVudE5vZGVWZXJpZmllZCA9IHZlcmlmeUFyZ3VtZW50Tm9kZShhcmd1bWVudE5vZGUsIGNvbnN0cnVjdG9yQXJndW1lbnROb2RlLCBjb250ZXh0KTtcblxuICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGFyZ3VtZW50Tm9kZVZlcmlmaWVkOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgY29uc3RydWN0b3JDaGlsZE5vZGVzID0gY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZpZWQgPSB2ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXMsIGNvbnN0cnVjdG9yQ2hpbGROb2RlcywgY29udGV4dCk7XG5cbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBjaGlsZE5vZGVzVmVyaWZpZWQ7IC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5QXJndW1lbnROb2RlKGFyZ3VtZW50Tm9kZSwgY29uc3RydWN0b3JBcmd1bWVudE5vZGUsIGNvbnRleHQpIHtcbiAgbGV0IGFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGFyZ3VtZW50Tm9kZSk7XG5cbiAgaWYgKHRlcm1Ob2RlID09PSBudWxsKSB7XG4gICAgY29uc3QgYXJndW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcoYXJndW1lbnROb2RlKTtcblxuICAgIGNvbnRleHQuZXJyb3IoYFRoZSAke2FyZ3VtZW50U3RyaW5nfSBhcmd1bWVudCBzaG91bGQgYmUgYSB0ZXJtLCBub3QgYSB0eXBlYCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdHlwZXMgPSBbXSxcbiAgICAgICAgICB0ZXJtVmVyaWZpZWQgPSB2ZXJpZnlUZXJtKHRlcm1Ob2RlLCB0eXBlcywgY29udGV4dCk7XG5cbiAgICBpZiAodGVybVZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBmaXJzdFR5cGUgPSBmaXJzdCh0eXBlcyksXG4gICAgICAgICAgICB0ZXJtVHlwZSA9IGZpcnN0VHlwZSwgLy8vXG4gICAgICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoY29uc3RydWN0b3JBcmd1bWVudE5vZGUpLFxuICAgICAgICAgICAgdHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgICAgICB0eXBlID0gY29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpLFxuICAgICAgICAgICAgdGVybVR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUeXBlID0gdGVybVR5cGUuaXNFcXVhbFRvT3JTdWJUeXBlT2YodHlwZSk7XG5cbiAgICAgIGlmICh0ZXJtVHlwZUVxdWFsVG9PclN1YlR5cGVPZlR5cGUpIHtcbiAgICAgICAgYXJndW1lbnROb2RlVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhcmd1bWVudE5vZGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUZXJtIiwidmVyaWZ5VGVybUFzVmFyaWFibGUiLCJ2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9ycyIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJ0ZXJtTm9kZSIsInR5cGVzIiwiY29udGV4dCIsInRlcm1WZXJpZmllZCIsImJlZ2luIiwidmFyaWFibGVzIiwidGVybVZlcmlmaWVkQXNWYXJpYWJsZSIsImZpcnN0VmFyaWFibGUiLCJmaXJzdCIsInZhcmlhYmxlIiwidHlwZSIsImdldFR5cGUiLCJwdXNoIiwidGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyIsImNvbXBsZXRlIiwiaGFsdCIsInZhcmlhYmxlTm9kZSIsInZhcmlhYmxlTmFtZSIsInZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZVByZXNlbnQiLCJpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lIiwiZXJyb3IiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSIsImNvbnN0cnVjdG9ycyIsImdldENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9yIiwiZmluZCIsInRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvciIsInZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3IiLCJjb25zdHJ1Y3RvclRlcm1Ob2RlIiwiZ2V0VGVybU5vZGUiLCJub2RlIiwiY29uc3RydWN0b3JOb2RlIiwibm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9kZSIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsImNvbnN0cnVjdG9yTm9kZVRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsImNvbnN0cnVjdG9yVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlUZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJjb25zdHJ1Y3Rvck5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwidmVyaWZ5Q2hpbGROb2RlcyIsImNoaWxkTm9kZXMiLCJjb25zdHJ1Y3RvckNoaWxkTm9kZXMiLCJjaGlsZE5vZGVzVmVyaWZpZWQiLCJjaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiY29uc3RydWN0b3JDaGlsZE5vZGVzTGVuZ3RoIiwiZXZlcnkiLCJjaGlsZE5vZGUiLCJpbmRleCIsImNvbnN0cnVjdG9yQ2hpbGROb2RlIiwibWF0Y2hlcyIsIm1hdGNoIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsImNvbnN0cnVjdG9yUnVsZU5hbWUiLCJBUkdVTUVOVF9SVUxFX05BTUUiLCJhcmd1bWVudE5vZGUiLCJjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSIsImFyZ3VtZW50Tm9kZVZlcmlmaWVkIiwidmVyaWZ5QXJndW1lbnROb2RlIiwiZ2V0Q2hpbGROb2RlcyIsImFyZ3VtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZmlyc3RUeXBlIiwidGVybVR5cGUiLCJ0eXBlTm9kZSIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJ0ZXJtVHlwZUVxdWFsVG9PclN1YlR5cGVPZlR5cGUiLCJpc0VxdWFsVG9PclN1YlR5cGVPZiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBV0EsT0E2QkM7ZUE3QnVCQTs7SUErQlJDLG9CQUFvQjtlQUFwQkE7O0lBNkJBQyw2QkFBNkI7ZUFBN0JBOzs7cUJBckVNO3NCQUNPO3lCQUNNO3FCQUMyQztBQUU5RSxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsb0JBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUMsb0JBQzFCRSxvQkFBb0JGLElBQUFBLGdCQUFTLEVBQUM7QUFFckIsU0FBU0osV0FBV08sUUFBUSxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRTtJQUMzRCxJQUFJQyxlQUFlLEtBQUs7SUFFeEJELFFBQVFFLEtBQUssQ0FBQ0o7SUFFZCxJQUFNSyxZQUFZLEVBQUUsRUFDZEMseUJBQXlCWixxQkFBcUJNLFVBQVVLLFdBQVdIO0lBRXpFLElBQUlJLHdCQUF3QjtRQUMxQixJQUFNQyxnQkFBZ0JDLElBQUFBLFlBQUssRUFBQ0gsWUFDdEJJLFdBQVdGLGVBQ1hHLE9BQU9ELFNBQVNFLE9BQU87UUFFN0JWLE1BQU1XLElBQUksQ0FBQ0Y7UUFFWFAsZUFBZSxJQUFJO0lBQ3JCLE9BQU87UUFDTCxJQUFNVSxrQ0FBa0NsQiw4QkFBOEJLLFVBQVVDLE9BQU9DO1FBRXZGLElBQUlXLGlDQUFpQztZQUNuQ1YsZUFBZSxJQUFJO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRURBLGVBQ0VELFFBQVFZLFFBQVEsQ0FBQ2QsWUFDZkUsUUFBUWEsSUFBSSxDQUFDZixTQUFTO0lBRTFCLE9BQU9HO0FBQ1Q7QUFFTyxTQUFTVCxxQkFBcUJNLFFBQVEsRUFBRUssU0FBUyxFQUFFSCxPQUFPLEVBQUU7SUFDakUsSUFBSUkseUJBQXlCLEtBQUs7SUFFbENKLFFBQVFFLEtBQUssQ0FBQ0o7SUFFZCxJQUFNZ0IsZUFBZWpCLGtCQUFrQkM7SUFFdkMsSUFBSWdCLGlCQUFpQixJQUFJLEVBQUU7UUFDekIsSUFBTUMsZUFBZUMsSUFBQUEsbUNBQTRCLEVBQUNGLGVBQzVDRyxrQkFBa0JqQixRQUFRa0IsK0JBQStCLENBQUNIO1FBRWhFLElBQUksQ0FBQ0UsaUJBQWlCO1lBQ3BCakIsUUFBUW1CLEtBQUssQ0FBQyxBQUFDLE9BQW1CLE9BQWJKLGNBQWE7UUFDcEMsT0FBTztZQUNMLElBQU1SLFdBQVdQLFFBQVFvQiwwQkFBMEIsQ0FBQ0w7WUFFcERaLFVBQVVPLElBQUksQ0FBQ0g7WUFFZkgseUJBQXlCLElBQUk7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFREEseUJBQ0VKLFFBQVFZLFFBQVEsQ0FBQ2QsWUFDZkUsUUFBUWEsSUFBSSxDQUFDZixTQUFTO0lBRTFCLE9BQU9NO0FBQ1Q7QUFFTyxTQUFTWCw4QkFBOEJLLFFBQVEsRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUU7SUFDdEUsSUFBSVcsa0NBQWtDLEtBQUs7SUFFM0NYLFFBQVFFLEtBQUssQ0FBQ0o7SUFFZCxJQUFNdUIsZUFBZXJCLFFBQVFzQixlQUFlLElBQ3RDQyxjQUFjRixhQUFhRyxJQUFJLENBQUMsU0FBQ0QsYUFBZ0I7UUFDL0MsSUFBTUUsaUNBQWlDQyw2QkFBNkI1QixVQUFVeUIsYUFBYXZCO1FBRTNGLElBQUl5QixnQ0FBZ0M7WUFDbEMsT0FBTyxJQUFJO1FBQ2IsQ0FBQztJQUNILE1BQU0sSUFBSTtJQUVoQixJQUFJRixnQkFBZ0IsSUFBSSxFQUFFO1FBQ3hCLElBQU1mLE9BQU9lLFlBQVlkLE9BQU87UUFFaENWLE1BQU1XLElBQUksQ0FBQ0Y7UUFFWEcsa0NBQWtDLElBQUk7SUFDeEMsQ0FBQztJQUVEQSxrQ0FDRVgsUUFBUVksUUFBUSxDQUFDZCxZQUNmRSxRQUFRYSxJQUFJLENBQUNmLFNBQVM7SUFFMUIsT0FBT2E7QUFDVDtBQUVBLFNBQVNlLDZCQUE2QjVCLFFBQVEsRUFBRXlCLFdBQVcsRUFBRXZCLE9BQU8sRUFBRTtJQUNwRSxJQUFNMkIsc0JBQXNCSixZQUFZSyxXQUFXLElBQzdDQyxPQUFPL0IsVUFDUGdDLGtCQUFrQkgscUJBQ2xCSSxlQUFlQyxXQUFXSCxNQUFNQyxpQkFBaUI5QixVQUNqRHlCLGlDQUFpQ00sY0FBZSxHQUFHO0lBRXpELE9BQU9OO0FBQ1Q7QUFFQSxTQUFTTyxXQUFXSCxJQUFJLEVBQUVDLGVBQWUsRUFBRTlCLE9BQU8sRUFBRTtJQUNsRCxJQUFJK0I7SUFFSixJQUFNRSxtQkFBbUJKLEtBQUtLLGNBQWMsSUFDdENDLDhCQUE4QkwsZ0JBQWdCSSxjQUFjO0lBRWxFLElBQUlELHFCQUFxQkUsNkJBQTZCO1FBQ3BELElBQUlGLGtCQUFrQjtZQUNwQixJQUFNRyxlQUFlUCxNQUNmUSwwQkFBMEJQLGlCQUMxQlEsdUJBQXVCQyxtQkFBbUJILGNBQWNDLHlCQUF5QnJDO1lBRXZGK0IsZUFBZU8sc0JBQXVCLEdBQUc7UUFDM0MsT0FBTztZQUNMLElBQU1FLGtCQUFrQlgsTUFDbEJZLDZCQUE2QlgsaUJBQzdCWSwwQkFBMEJDLHNCQUFzQkgsaUJBQWlCQyw0QkFBNEJ6QztZQUVuRytCLGVBQWVXLHlCQUF5QixHQUFHO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBT1g7QUFDVDtBQUVBLFNBQVNhLGlCQUFpQkMsVUFBVSxFQUFFQyxxQkFBcUIsRUFBRTlDLE9BQU8sRUFBRTtJQUNwRSxJQUFJK0MscUJBQXFCLEtBQUs7SUFFOUIsSUFBTUMsbUJBQW1CSCxXQUFXSSxNQUFNLEVBQ3BDQyw4QkFBOEJKLHNCQUFzQkcsTUFBTTtJQUVoRSxJQUFJRCxxQkFBcUJFLDZCQUE2QjtRQUNwREgscUJBQXFCRixXQUFXTSxLQUFLLENBQUMsU0FBQ0MsV0FBV0MsT0FBVTtZQUMxRCxJQUFNQyx1QkFBdUJSLHFCQUFxQixDQUFDTyxNQUFNLEVBQ25EeEIsT0FBT3VCLFdBQ1B0QixrQkFBa0J3QixzQkFDbEJ2QixlQUFlQyxXQUFXSCxNQUFNQyxpQkFBaUI5QjtZQUV2RCxJQUFJK0IsY0FBYztnQkFDaEIsT0FBTyxJQUFJO1lBQ2IsQ0FBQztRQUNIO0lBQ0YsQ0FBQztJQUVELE9BQU9nQjtBQUNUO0FBRUEsU0FBU1IsbUJBQW1CSCxZQUFZLEVBQUVDLHVCQUF1QixFQUFFckMsT0FBTyxFQUFFO0lBQzFFLElBQUlzQyx1QkFBdUIsS0FBSztJQUVoQyxJQUFNaUIsVUFBVW5CLGFBQWFvQixLQUFLLENBQUNuQjtJQUVuQyxJQUFJa0IsU0FBUztRQUNYakIsdUJBQXVCLElBQUk7SUFDN0IsQ0FBQztJQUVELE9BQU9BO0FBQ1Q7QUFFQSxTQUFTSyxzQkFBc0JILGVBQWUsRUFBRUMsMEJBQTBCLEVBQUV6QyxPQUFPLEVBQUU7SUFDbkYsSUFBSTBDLDBCQUEwQixLQUFLO0lBRW5DLElBQU1lLFdBQVdqQixnQkFBZ0JrQixXQUFXLElBQ3RDQyxzQkFBc0JsQiwyQkFBMkJpQixXQUFXO0lBRWxFLElBQUlELGFBQWFFLHFCQUFxQjtRQUNwQyxPQUFRRjtZQUNOLEtBQUtHLDZCQUFrQjtnQkFBRTtvQkFDdkIsSUFBTUMsZUFBZXJCLGlCQUNmc0IsMEJBQTBCckIsNEJBQzFCc0IsdUJBQXVCQyxtQkFBbUJILGNBQWNDLHlCQUF5QjlEO29CQUV2RjBDLDBCQUEwQnFCLHNCQUFzQixHQUFHO29CQUVuRCxLQUFNO2dCQUNSO1lBRUE7Z0JBQVM7b0JBQ1AsSUFBTWxCLGFBQWFMLGdCQUFnQnlCLGFBQWEsSUFDMUNuQix3QkFBd0JMLDJCQUEyQndCLGFBQWEsSUFDaEVsQixxQkFBcUJILGlCQUFpQkMsWUFBWUMsdUJBQXVCOUM7b0JBRS9FMEMsMEJBQTBCSyxvQkFBb0IsR0FBRztvQkFFakQsS0FBTTtnQkFDUjtRQUNGO0lBQ0YsQ0FBQztJQUVELE9BQU9MO0FBQ1Q7QUFFQSxTQUFTc0IsbUJBQW1CSCxZQUFZLEVBQUVDLHVCQUF1QixFQUFFOUQsT0FBTyxFQUFFO0lBQzFFLElBQUkrRCx1QkFBdUIsS0FBSztJQUVoQyxJQUFNakUsV0FBV0osY0FBY21FO0lBRS9CLElBQUkvRCxhQUFhLElBQUksRUFBRTtRQUNyQixJQUFNb0UsaUJBQWlCQyxJQUFBQSxvQkFBWSxFQUFDTjtRQUVwQzdELFFBQVFtQixLQUFLLENBQUMsQUFBQyxPQUFxQixPQUFmK0MsZ0JBQWU7SUFDdEMsT0FBTztRQUNMLElBQU1uRSxRQUFRLEVBQUUsRUFDVkUsZUFBZVYsV0FBV08sVUFBVUMsT0FBT0M7UUFFakQsSUFBSUMsY0FBYztZQUNoQixJQUFNbUUsWUFBWTlELElBQUFBLFlBQUssRUFBQ1AsUUFDbEJzRSxXQUFXRCxXQUNYRSxXQUFXMUUsY0FBY2tFLDBCQUN6QlMsV0FBV0MsSUFBQUEsMkJBQW9CLEVBQUNGLFdBQ2hDOUQsT0FBT1IsUUFBUXlFLGtCQUFrQixDQUFDRixXQUNsQ0csaUNBQWlDTCxTQUFTTSxvQkFBb0IsQ0FBQ25FO1lBRXJFLElBQUlrRSxnQ0FBZ0M7Z0JBQ2xDWCx1QkFBdUIsSUFBSTtZQUM3QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPQTtBQUNUIn0=
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGVybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgQVJHVU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCB0eXBlTmFtZUZyb21UeXBlTm9kZSwgdmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90ZXJtIVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXJndW1lbnQvdHlwZSFcIiksXG4gICAgICB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL3ZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnRleHQuYmVnaW4odGVybU5vZGUpO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSBub2RlQXNTdHJpbmcodGVybU5vZGUpO1xuXG4gIGNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0uLi5gKTtcblxuICBjb25zdCB2YXJpYWJsZXMgPSBbXSxcbiAgICAgICAgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IHZlcmlmeVRlcm1Bc1ZhcmlhYmxlKHRlcm1Ob2RlLCB2YXJpYWJsZXMsIGNvbnRleHQpO1xuXG4gIGlmICh0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlKSB7XG4gICAgY29uc3QgZmlyc3RWYXJpYWJsZSA9IGZpcnN0KHZhcmlhYmxlcyksXG4gICAgICAgICAgdmFyaWFibGUgPSBmaXJzdFZhcmlhYmxlLCAvLy9cbiAgICAgICAgICB0eXBlID0gdmFyaWFibGUuZ2V0VHlwZSgpO1xuXG4gICAgdHlwZXMucHVzaCh0eXBlKTtcblxuICAgIHRlcm1WZXJpZmllZCA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA9IHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3JzKHRlcm1Ob2RlLCB0eXBlcywgY29udGV4dCk7XG5cbiAgICBpZiAodGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycykge1xuICAgICAgdGVybVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAodGVybVZlcmlmaWVkKSB7XG4gICAgY29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0uYCk7XG4gIH1cblxuICB0ZXJtVmVyaWZpZWQgP1xuICAgIGNvbnRleHQuY29tcGxldGUodGVybU5vZGUpIDpcbiAgICAgIGNvbnRleHQuaGFsdCh0ZXJtTm9kZSk7XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVRlcm1Bc1ZhcmlhYmxlKHRlcm1Ob2RlLCB2YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZEFzVmFyaWFibGUgPSBmYWxzZTtcblxuICBjb250ZXh0LmJlZ2luKHRlcm1Ob2RlKTtcblxuICBjb25zdCB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZSk7XG5cbiAgaWYgKHZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHZhcmlhYmxlTmFtZSA9IHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSBjb250ZXh0LmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICAgIGlmICghdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb250ZXh0LmVycm9yKGBUaGUgJHt2YXJpYWJsZU5hbWV9IHZhcmlhYmxlIGlzIG5vdCBwcmVzZW50LmApXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlID0gY29udGV4dC5maW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpO1xuXG4gICAgICB2YXJpYWJsZXMucHVzaCh2YXJpYWJsZSk7XG5cbiAgICAgIHRlcm1WZXJpZmllZEFzVmFyaWFibGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRlcm1WZXJpZmllZEFzVmFyaWFibGUgP1xuICAgIGNvbnRleHQuY29tcGxldGUodGVybU5vZGUpIDpcbiAgICAgIGNvbnRleHQuaGFsdCh0ZXJtTm9kZSk7XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZEFzVmFyaWFibGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9ycyh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMgPSBmYWxzZTtcblxuICBjb250ZXh0LmJlZ2luKHRlcm1Ob2RlKTtcblxuICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBjb250ZXh0LmdldENvbnN0cnVjdG9ycygpLFxuICAgICAgICBjb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9ycy5maW5kKChjb25zdHJ1Y3RvcikgPT4ge1xuICAgICAgICAgIGNvbnN0IHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvciA9IHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3IodGVybU5vZGUsIGNvbnN0cnVjdG9yLCBjb250ZXh0KTtcblxuICAgICAgICAgIGlmICh0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgbnVsbDtcblxuICBpZiAoY29uc3RydWN0b3IgIT09IG51bGwpIHtcbiAgICBjb25zdCB0eXBlID0gY29uc3RydWN0b3IuZ2V0VHlwZSgpO1xuXG4gICAgdHlwZXMucHVzaCh0eXBlKTtcblxuICAgIHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMgPSB0cnVlO1xuICB9XG5cbiAgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA/XG4gICAgY29udGV4dC5jb21wbGV0ZSh0ZXJtTm9kZSkgOlxuICAgICAgY29udGV4dC5oYWx0KHRlcm1Ob2RlKTtcblxuICByZXR1cm4gdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycztcbn1cblxuZnVuY3Rpb24gdmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgY29uc3RydWN0b3IsIGNvbnRleHQpIHtcbiAgY29uc3QgY29uc3RydWN0b3JUZXJtTm9kZSA9IGNvbnN0cnVjdG9yLmdldFRlcm1Ob2RlKCksXG4gICAgICAgIG5vZGUgPSB0ZXJtTm9kZSwgIC8vL1xuICAgICAgICBjb25zdHJ1Y3Rvck5vZGUgPSBjb25zdHJ1Y3RvclRlcm1Ob2RlLCAvLy9cbiAgICAgICAgbm9kZVZlcmlmaWVkID0gdmVyaWZ5Tm9kZShub2RlLCBjb25zdHJ1Y3Rvck5vZGUsIGNvbnRleHQpLFxuICAgICAgICB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3IgPSBub2RlVmVyaWZpZWQ7ICAvLy9cblxuICByZXR1cm4gdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlOb2RlKG5vZGUsIGNvbnN0cnVjdG9yTm9kZSwgY29udGV4dCkge1xuICBsZXQgbm9kZVZlcmlmaWVkO1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgIGNvbnN0cnVjdG9yTm9kZVRlcm1pbmFsTm9kZSA9IGNvbnN0cnVjdG9yTm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlID09PSBjb25zdHJ1Y3Rvck5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBpZiAobm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgICAgY29uc3RydWN0b3JUZXJtaW5hbE5vZGUgPSBjb25zdHJ1Y3Rvck5vZGUsICAvLy9cbiAgICAgICAgICAgIHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdmVyaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgY29uc3RydWN0b3JUZXJtaW5hbE5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBub2RlVmVyaWZpZWQgPSB0ZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlID0gY29uc3RydWN0b3JOb2RlLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLCBjb250ZXh0KTtcblxuICAgICAgbm9kZVZlcmlmaWVkID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBub2RlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUNoaWxkTm9kZXMoY2hpbGROb2RlcywgY29uc3RydWN0b3JDaGlsZE5vZGVzLCBjb250ZXh0KSB7XG4gIGxldCBjaGlsZE5vZGVzVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBjaGlsZE5vZGVzTGVuZ3RoID0gY2hpbGROb2Rlcy5sZW5ndGgsXG4gICAgICAgIGNvbnN0cnVjdG9yQ2hpbGROb2Rlc0xlbmd0aCA9IGNvbnN0cnVjdG9yQ2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgaWYgKGNoaWxkTm9kZXNMZW5ndGggPT09IGNvbnN0cnVjdG9yQ2hpbGROb2Rlc0xlbmd0aCkge1xuICAgIGNoaWxkTm9kZXNWZXJpZmllZCA9IGNoaWxkTm9kZXMuZXZlcnkoKGNoaWxkTm9kZSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGNvbnN0cnVjdG9yQ2hpbGROb2RlID0gY29uc3RydWN0b3JDaGlsZE5vZGVzW2luZGV4XSxcbiAgICAgICAgICAgIG5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgY29uc3RydWN0b3JOb2RlID0gY29uc3RydWN0b3JDaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIG5vZGVWZXJpZmllZCA9IHZlcmlmeU5vZGUobm9kZSwgY29uc3RydWN0b3JOb2RlLCBjb250ZXh0KTtcblxuICAgICAgaWYgKG5vZGVWZXJpZmllZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBjaGlsZE5vZGVzVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGUsIGNvbnN0cnVjdG9yVGVybWluYWxOb2RlLCBjb250ZXh0KSB7XG4gIGxldCB0ZXJtaW5hbE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1hdGNoZXMgPSB0ZXJtaW5hbE5vZGUubWF0Y2goY29uc3RydWN0b3JUZXJtaW5hbE5vZGUpO1xuXG4gIGlmIChtYXRjaGVzKSB7XG4gICAgdGVybWluYWxOb2RlVmVyaWZpZWQgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1pbmFsTm9kZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBjb25zdHJ1Y3Rvck5vblRlcm1pbmFsTm9kZSwgY29udGV4dCkge1xuICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICBjb25zdHJ1Y3RvclJ1bGVOYW1lID0gY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICBpZiAocnVsZU5hbWUgPT09IGNvbnN0cnVjdG9yUnVsZU5hbWUpIHtcbiAgICBzd2l0Y2ggKHJ1bGVOYW1lKSB7XG4gICAgICBjYXNlIEFSR1VNRU5UX1JVTEVfTkFNRToge1xuICAgICAgICBjb25zdCBhcmd1bWVudE5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICBjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSA9IGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgICAgYXJndW1lbnROb2RlVmVyaWZpZWQgPSB2ZXJpZnlBcmd1bWVudE5vZGUoYXJndW1lbnROb2RlLCBjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBhcmd1bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICAgIGNvbnN0cnVjdG9yQ2hpbGROb2RlcyA9IGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgY2hpbGROb2Rlc1ZlcmlmaWVkID0gdmVyaWZ5Q2hpbGROb2RlcyhjaGlsZE5vZGVzLCBjb25zdHJ1Y3RvckNoaWxkTm9kZXMsIGNvbnRleHQpO1xuXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gY2hpbGROb2Rlc1ZlcmlmaWVkOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUFyZ3VtZW50Tm9kZShhcmd1bWVudE5vZGUsIGNvbnN0cnVjdG9yQXJndW1lbnROb2RlLCBjb250ZXh0KSB7XG4gIGxldCBhcmd1bWVudE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShhcmd1bWVudE5vZGUpO1xuXG4gIGlmICh0ZXJtTm9kZSA9PT0gbnVsbCkge1xuICAgIGNvbnN0IGFyZ3VtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKGFyZ3VtZW50Tm9kZSk7XG5cbiAgICBjb250ZXh0LmVycm9yKGBUaGUgJHthcmd1bWVudFN0cmluZ30gYXJndW1lbnQgc2hvdWxkIGJlIGEgdGVybSwgbm90IGEgdHlwZWApO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHR5cGVzID0gW10sXG4gICAgICAgICAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpO1xuXG4gICAgaWYgKHRlcm1WZXJpZmllZCkge1xuICAgICAgY29uc3QgZmlyc3RUeXBlID0gZmlyc3QodHlwZXMpLFxuICAgICAgICAgICAgdGVybVR5cGUgPSBmaXJzdFR5cGUsIC8vL1xuICAgICAgICAgICAgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yQXJndW1lbnROb2RlKSxcbiAgICAgICAgICAgIHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgdHlwZSA9IGNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKHR5cGVOYW1lKSxcbiAgICAgICAgICAgIHRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSA9IHRlcm1UeXBlLmlzRXF1YWxUb09yU3ViVHlwZU9mKHR5cGUpO1xuXG4gICAgICBpZiAodGVybVR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUeXBlKSB7XG4gICAgICAgIGFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXJndW1lbnROb2RlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VGVybSIsInZlcmlmeVRlcm1Bc1ZhcmlhYmxlIiwidmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvcnMiLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZU5vZGVRdWVyeSIsInZhcmlhYmxlTm9kZVF1ZXJ5IiwidGVybU5vZGUiLCJ0eXBlcyIsImNvbnRleHQiLCJ0ZXJtVmVyaWZpZWQiLCJiZWdpbiIsInRlcm1TdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyIsInZhcmlhYmxlcyIsInRlcm1WZXJpZmllZEFzVmFyaWFibGUiLCJmaXJzdFZhcmlhYmxlIiwiZmlyc3QiLCJ2YXJpYWJsZSIsInR5cGUiLCJnZXRUeXBlIiwicHVzaCIsInRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMiLCJpbmZvIiwiY29tcGxldGUiLCJoYWx0IiwidmFyaWFibGVOb2RlIiwidmFyaWFibGVOYW1lIiwidmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSIsInZhcmlhYmxlUHJlc2VudCIsImlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUiLCJlcnJvciIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lIiwiY29uc3RydWN0b3JzIiwiZ2V0Q29uc3RydWN0b3JzIiwiY29uc3RydWN0b3IiLCJmaW5kIiwidGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yIiwidmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yVGVybU5vZGUiLCJnZXRUZXJtTm9kZSIsIm5vZGUiLCJjb25zdHJ1Y3Rvck5vZGUiLCJub2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb2RlIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwiY29uc3RydWN0b3JOb2RlVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiY29uc3RydWN0b3JUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeVRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJ2ZXJpZnlDaGlsZE5vZGVzIiwiY2hpbGROb2RlcyIsImNvbnN0cnVjdG9yQ2hpbGROb2RlcyIsImNoaWxkTm9kZXNWZXJpZmllZCIsImNoaWxkTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJjb25zdHJ1Y3RvckNoaWxkTm9kZXNMZW5ndGgiLCJldmVyeSIsImNoaWxkTm9kZSIsImluZGV4IiwiY29uc3RydWN0b3JDaGlsZE5vZGUiLCJtYXRjaGVzIiwibWF0Y2giLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiY29uc3RydWN0b3JSdWxlTmFtZSIsIkFSR1VNRU5UX1JVTEVfTkFNRSIsImFyZ3VtZW50Tm9kZSIsImNvbnN0cnVjdG9yQXJndW1lbnROb2RlIiwiYXJndW1lbnROb2RlVmVyaWZpZWQiLCJ2ZXJpZnlBcmd1bWVudE5vZGUiLCJnZXRDaGlsZE5vZGVzIiwiYXJndW1lbnRTdHJpbmciLCJmaXJzdFR5cGUiLCJ0ZXJtVHlwZSIsInR5cGVOb2RlIiwidHlwZU5hbWUiLCJ0eXBlTmFtZUZyb21UeXBlTm9kZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsInRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSIsImlzRXF1YWxUb09yU3ViVHlwZU9mIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFXQSxPQXFDQztlQXJDdUJBOztJQXVDUkMsb0JBQW9CO2VBQXBCQTs7SUE2QkFDLDZCQUE2QjtlQUE3QkE7OztxQkE3RU07c0JBQ087eUJBQ007cUJBQzJDO0FBRTlFLElBQU1D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
@@ -24,7 +24,9 @@ function verifyTermAsConstructor(termNode, typeNode, fileContext) {
24
24
  var termVerifiedAsConstructor = false;
25
25
  fileContext.begin(termNode);
26
26
  var type = null;
27
- var nonTerminalNode = termNode, childNodes = nonTerminalNode.getChildNodes(), childNodesVerified = verifyChildNodes(childNodes, fileContext);
27
+ var nonTerminalNode = termNode, termString = (0, _string.nodeAsString)(termNode);
28
+ fileContext.debug("Verifying the '".concat(termString, "' constructor..."));
29
+ var childNodes = nonTerminalNode.getChildNodes(), childNodesVerified = verifyChildNodes(childNodes, fileContext);
28
30
  if (childNodesVerified) {
29
31
  if (typeNode === null) {
30
32
  termVerifiedAsConstructor = true;
@@ -34,7 +36,6 @@ function verifyTermAsConstructor(termNode, typeNode, fileContext) {
34
36
  if (type !== null) {
35
37
  termVerifiedAsConstructor = true;
36
38
  } else {
37
- var termString = (0, _string.nodeAsString)(termNode);
38
39
  fileContext.error("The '".concat(termString, "' constructor's '").concat(typeName, "' type is missing."));
39
40
  }
40
41
  }
@@ -44,8 +45,7 @@ function verifyTermAsConstructor(termNode, typeNode, fileContext) {
44
45
  fileContext.addConstructor(constructor);
45
46
  }
46
47
  if (termVerifiedAsConstructor) {
47
- var termString1 = (0, _string.nodeAsString)(termNode);
48
- fileContext.info("Verified the '".concat(termString1, "' constructor."));
48
+ fileContext.info("Verified the '".concat(termString, "' constructor."));
49
49
  }
50
50
  termVerifiedAsConstructor ? fileContext.complete(termNode) : fileContext.halt(termNode);
51
51
  return termVerifiedAsConstructor;
@@ -125,4 +125,4 @@ function verifyNonTerminalNode(nonTerminalNode, fileContext) {
125
125
  return nonTerminalNodeVerified;
126
126
  }
127
127
 
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGVybUFzQ29uc3RydWN0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlUZXJtIGZyb20gXCIuLi92ZXJpZnkvdGVybVwiO1xuaW1wb3J0IENvbnN0cnVjdG9yIGZyb20gXCIuLi9jb25zdHJ1Y3RvclwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgVEVSTV9SVUxFX05BTUUsIEFSR1VNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90eXBlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlUZXJtQXNDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgdHlwZU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCB0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yID0gZmFsc2U7XG5cbiAgZmlsZUNvbnRleHQuYmVnaW4odGVybU5vZGUpO1xuXG4gIGxldCB0eXBlID0gbnVsbDtcblxuICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSB0ZXJtTm9kZSwgIC8vL1xuICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgY2hpbGROb2Rlc1ZlcmlmaWVkID0gdmVyaWZ5Q2hpbGROb2RlcyhjaGlsZE5vZGVzLCBmaWxlQ29udGV4dCk7XG5cbiAgaWYgKGNoaWxkTm9kZXNWZXJpZmllZCkge1xuICAgIGlmICh0eXBlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgdGVybVZlcmlmaWVkQXNDb25zdHJ1Y3RvciA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpO1xuXG4gICAgICB0eXBlID0gZmlsZUNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICAgICAgaWYgKHR5cGUgIT09IG51bGwpIHtcbiAgICAgICAgdGVybVZlcmlmaWVkQXNDb25zdHJ1Y3RvciA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB0ZXJtU3RyaW5nID0gbm9kZUFzU3RyaW5nKHRlcm1Ob2RlKTtcblxuICAgICAgICBmaWxlQ29udGV4dC5lcnJvcihgVGhlICcke3Rlcm1TdHJpbmd9JyBjb25zdHJ1Y3RvcidzICcke3R5cGVOYW1lfScgdHlwZSBpcyBtaXNzaW5nLmApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmICh0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yKSB7XG4gICAgY29uc3QgY29uc3RydWN0b3IgPSBDb25zdHJ1Y3Rvci5mcm9tVGVybU5vZGVBbmRUeXBlKHRlcm1Ob2RlLCB0eXBlKTtcblxuICAgIGZpbGVDb250ZXh0LmFkZENvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKTtcbiAgfVxuXG4gIGlmICh0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yKSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IG5vZGVBc1N0cmluZyh0ZXJtTm9kZSk7XG5cbiAgICBmaWxlQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIGNvbnN0cnVjdG9yLmApO1xuICB9XG5cbiAgdGVybVZlcmlmaWVkQXNDb25zdHJ1Y3RvciA/XG4gICAgZmlsZUNvbnRleHQuY29tcGxldGUodGVybU5vZGUpIDpcbiAgICAgIGZpbGVDb250ZXh0LmhhbHQodGVybU5vZGUpO1xuXG4gIHJldHVybiB0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlOb2RlKG5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBub2RlVmVyaWZpZWQ7XG5cbiAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICBpZiAobm9kZVRlcm1pbmFsTm9kZSkge1xuICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICB0ZXJtaW5hbE5vZGVWZXJpZmllZCA9IHZlcmlmeVRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgIG5vZGVWZXJpZmllZCA9IHRlcm1pbmFsTm9kZVZlcmlmaWVkOyAgLy8vXG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSB2ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICBub2RlVmVyaWZpZWQgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgLy8vXG4gIH1cblxuICByZXR1cm4gbm9kZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXMsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IGNoaWxkTm9kZXNWZXJpZmllZCA9IGNoaWxkTm9kZXMuZXZlcnkoKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IG5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgIG5vZGVWZXJpZmllZCA9IHZlcmlmeU5vZGUobm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgaWYgKG5vZGVWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gY2hpbGROb2Rlc1ZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCkge1xuICBjb25zdCB0ZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRydWU7XG5cbiAgcmV0dXJuIHRlcm1pbmFsTm9kZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlBcmd1bWVudE5vZGUoYXJndW1lbnROb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdHlwZU5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeShhcmd1bWVudE5vZGUpO1xuXG4gIGlmICh0eXBlTm9kZSA9PT0gbnVsbCkge1xuICAgIGNvbnN0IGFyZ3VtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKGFyZ3VtZW50Tm9kZSk7XG5cbiAgICBmaWxlQ29udGV4dC5lcnJvcihgVGhlICR7YXJndW1lbnRTdHJpbmd9IGFyZ3VtZW50IHNob3VsZCBiZSBhIHR5cGUuYCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgICAgdHlwZVByZXNlbnQgPSBmaWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgICBpZiAoIXR5cGVQcmVzZW50KSB7XG4gICAgICBmaWxlQ29udGV4dC5lcnJvcihgVGhlIHR5cGUgJyR7dHlwZU5hbWV9JyBpcyBtaXNzaW5nLmApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlTm9kZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHlwZU5vZGVWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCk7XG5cbiAgc3dpdGNoIChydWxlTmFtZSkge1xuICAgIGNhc2UgQVJHVU1FTlRfUlVMRV9OQU1FOiB7XG4gICAgICBjb25zdCBhcmd1bWVudE5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgYXJndW1lbnROb2RlVmVyaWZpZWQgPSB2ZXJpZnlBcmd1bWVudE5vZGUoYXJndW1lbnROb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gYXJndW1lbnROb2RlVmVyaWZpZWQ7IC8vL1xuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjYXNlIFRFUk1fUlVMRV9OQU1FOiB7XG4gICAgICBjb25zdCB0ZXJtTm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgLy8vXG4gICAgICAgICAgICB0eXBlcyA9IFtdLFxuICAgICAgICAgICAgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgICAgICB0ZXJtVmVyaWZpZWQgPSB2ZXJpZnlUZXJtKHRlcm1Ob2RlLCB0eXBlcywgY29udGV4dCk7XG5cbiAgICAgIGlmICh0ZXJtVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgZmlyc3RUeXBlID0gZmlyc3QodHlwZXMpLFxuICAgICAgICAgICAgICB0eXBlID0gZmlyc3RUeXBlOyAvLy9cblxuICAgICAgICBpZiAodHlwZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSBub2RlQXNTdHJpbmcodGVybU5vZGUpO1xuXG4gICAgICAgICAgZmlsZUNvbnRleHQuZXJyb3IoYFRoZSB0eXBlIG9mIHRoZSBjb25zdHJ1Y3RvcidzIGNvbXBvdW5kICcke3Rlcm1TdHJpbmd9JyB0ZXJtIG5vZGUgaXMgbm90IG51bGwuYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSB0cnVlOyAvLy9cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBkZWZhdWx0OiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgIGNoaWxkTm9kZXNWZXJpZmllZCA9IHZlcmlmeUNoaWxkTm9kZXMoY2hpbGROb2RlcywgZmlsZUNvbnRleHQpO1xuXG4gICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGNoaWxkTm9kZXNWZXJpZmllZDsgLy8vXG5cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbn1cblxuIl0sIm5hbWVzIjpbInZlcmlmeVRlcm1Bc0NvbnN0cnVjdG9yIiwidHlwZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInRlcm1Ob2RlIiwidHlwZU5vZGUiLCJmaWxlQ29udGV4dCIsInRlcm1WZXJpZmllZEFzQ29uc3RydWN0b3IiLCJiZWdpbiIsInR5cGUiLCJub25UZXJtaW5hbE5vZGUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsImNoaWxkTm9kZXNWZXJpZmllZCIsInZlcmlmeUNoaWxkTm9kZXMiLCJ0eXBlTmFtZSIsInR5cGVOYW1lRnJvbVR5cGVOb2RlIiwiZmluZFR5cGVCeVR5cGVOYW1lIiwidGVybVN0cmluZyIsIm5vZGVBc1N0cmluZyIsImVycm9yIiwiY29uc3RydWN0b3IiLCJDb25zdHJ1Y3RvciIsImZyb21UZXJtTm9kZUFuZFR5cGUiLCJhZGRDb25zdHJ1Y3RvciIsImluZm8iLCJjb21wbGV0ZSIsImhhbHQiLCJ2ZXJpZnlOb2RlIiwibm9kZSIsIm5vZGVWZXJpZmllZCIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5VGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJldmVyeSIsImNoaWxkTm9kZSIsInZlcmlmeUFyZ3VtZW50Tm9kZSIsImFyZ3VtZW50Tm9kZSIsInR5cGVOb2RlVmVyaWZpZWQiLCJhcmd1bWVudFN0cmluZyIsInR5cGVQcmVzZW50IiwiaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiQVJHVU1FTlRfUlVMRV9OQU1FIiwiYXJndW1lbnROb2RlVmVyaWZpZWQiLCJURVJNX1JVTEVfTkFNRSIsInR5cGVzIiwiY29udGV4dCIsInRlcm1WZXJpZmllZCIsInZlcmlmeVRlcm0iLCJmaXJzdFR5cGUiLCJmaXJzdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBWUE7OztlQUF3QkE7Ozt5REFWRDtnRUFDQztxQkFFRjtzQkFDTztxQkFDbUI7eUJBQ0c7Ozs7OztBQUVuRCxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFakIsU0FBU0Ysd0JBQXdCRyxRQUFRLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFO0lBQy9FLElBQUlDLDRCQUE0QixLQUFLO0lBRXJDRCxZQUFZRSxLQUFLLENBQUNKO0lBRWxCLElBQUlLLE9BQU8sSUFBSTtJQUVmLElBQU1DLGtCQUFrQk4sVUFDbEJPLGFBQWFELGdCQUFnQkUsYUFBYSxJQUMxQ0MscUJBQXFCQyxpQkFBaUJILFlBQVlMO0lBRXhELElBQUlPLG9CQUFvQjtRQUN0QixJQUFJUixhQUFhLElBQUksRUFBRTtZQUNyQkUsNEJBQTRCLElBQUk7UUFDbEMsT0FBTztZQUNMLElBQU1RLFdBQVdDLElBQUFBLDJCQUFvQixFQUFDWDtZQUV0Q0ksT0FBT0gsWUFBWVcsa0JBQWtCLENBQUNGO1lBRXRDLElBQUlOLFNBQVMsSUFBSSxFQUFFO2dCQUNqQkYsNEJBQTRCLElBQUk7WUFDbEMsT0FBTztnQkFDTCxJQUFNVyxhQUFhQyxJQUFBQSxvQkFBWSxFQUFDZjtnQkFFaENFLFlBQVljLEtBQUssQ0FBQyxBQUFDLFFBQXFDTCxPQUE5QkcsWUFBVyxxQkFBNEIsT0FBVEgsVUFBUztZQUNuRSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJUiwyQkFBMkI7UUFD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
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGVybUFzQ29uc3RydWN0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlUZXJtIGZyb20gXCIuLi92ZXJpZnkvdGVybVwiO1xuaW1wb3J0IENvbnN0cnVjdG9yIGZyb20gXCIuLi9jb25zdHJ1Y3RvclwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgVEVSTV9SVUxFX05BTUUsIEFSR1VNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90eXBlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlUZXJtQXNDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgdHlwZU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCB0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yID0gZmFsc2U7XG5cbiAgZmlsZUNvbnRleHQuYmVnaW4odGVybU5vZGUpO1xuXG4gIGxldCB0eXBlID0gbnVsbDtcblxuICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSB0ZXJtTm9kZSwgIC8vL1xuICAgICAgICB0ZXJtU3RyaW5nID0gbm9kZUFzU3RyaW5nKHRlcm1Ob2RlKTtcblxuICBmaWxlQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgY29uc3RydWN0b3IuLi5gKTtcblxuICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgY2hpbGROb2Rlc1ZlcmlmaWVkID0gdmVyaWZ5Q2hpbGROb2RlcyhjaGlsZE5vZGVzLCBmaWxlQ29udGV4dCk7XG5cbiAgaWYgKGNoaWxkTm9kZXNWZXJpZmllZCkge1xuICAgIGlmICh0eXBlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgdGVybVZlcmlmaWVkQXNDb25zdHJ1Y3RvciA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpO1xuXG4gICAgICB0eXBlID0gZmlsZUNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICAgICAgaWYgKHR5cGUgIT09IG51bGwpIHtcbiAgICAgICAgdGVybVZlcmlmaWVkQXNDb25zdHJ1Y3RvciA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmaWxlQ29udGV4dC5lcnJvcihgVGhlICcke3Rlcm1TdHJpbmd9JyBjb25zdHJ1Y3RvcidzICcke3R5cGVOYW1lfScgdHlwZSBpcyBtaXNzaW5nLmApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmICh0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yKSB7XG4gICAgY29uc3QgY29uc3RydWN0b3IgPSBDb25zdHJ1Y3Rvci5mcm9tVGVybU5vZGVBbmRUeXBlKHRlcm1Ob2RlLCB0eXBlKTtcblxuICAgIGZpbGVDb250ZXh0LmFkZENvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKTtcbiAgfVxuXG4gIGlmICh0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yKSB7XG4gICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyBjb25zdHJ1Y3Rvci5gKTtcbiAgfVxuXG4gIHRlcm1WZXJpZmllZEFzQ29uc3RydWN0b3IgP1xuICAgIGZpbGVDb250ZXh0LmNvbXBsZXRlKHRlcm1Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC5oYWx0KHRlcm1Ob2RlKTtcblxuICByZXR1cm4gdGVybVZlcmlmaWVkQXNDb25zdHJ1Y3Rvcjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5Tm9kZShub2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgbm9kZVZlcmlmaWVkO1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgdGVybWluYWxOb2RlVmVyaWZpZWQgPSB2ZXJpZnlUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICBub2RlVmVyaWZpZWQgPSB0ZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgbm9kZVZlcmlmaWVkID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuICB9XG5cbiAgcmV0dXJuIG5vZGVWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5Q2hpbGROb2RlcyhjaGlsZE5vZGVzLCBmaWxlQ29udGV4dCkge1xuICBjb25zdCBjaGlsZE5vZGVzVmVyaWZpZWQgPSBjaGlsZE5vZGVzLmV2ZXJ5KChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBub2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICBub2RlVmVyaWZpZWQgPSB2ZXJpZnlOb2RlKG5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgIGlmIChub2RlVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGNoaWxkTm9kZXNWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgY29uc3QgdGVybWluYWxOb2RlVmVyaWZpZWQgPSB0cnVlO1xuXG4gIHJldHVybiB0ZXJtaW5hbE5vZGVWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5QXJndW1lbnROb2RlKGFyZ3VtZW50Tm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHR5cGVOb2RlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoYXJndW1lbnROb2RlKTtcblxuICBpZiAodHlwZU5vZGUgPT09IG51bGwpIHtcbiAgICBjb25zdCBhcmd1bWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyhhcmd1bWVudE5vZGUpO1xuXG4gICAgZmlsZUNvbnRleHQuZXJyb3IoYFRoZSAke2FyZ3VtZW50U3RyaW5nfSBhcmd1bWVudCBzaG91bGQgYmUgYSB0eXBlLmApO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgIHR5cGVQcmVzZW50ID0gZmlsZUNvbnRleHQuaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gICAgaWYgKCF0eXBlUHJlc2VudCkge1xuICAgICAgZmlsZUNvbnRleHQuZXJyb3IoYFRoZSB0eXBlICcke3R5cGVOYW1lfScgaXMgbWlzc2luZy5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHlwZU5vZGVWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHR5cGVOb2RlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcblxuICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gIHN3aXRjaCAocnVsZU5hbWUpIHtcbiAgICBjYXNlIEFSR1VNRU5UX1JVTEVfTkFNRToge1xuICAgICAgY29uc3QgYXJndW1lbnROb2RlID0gbm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgIGFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gdmVyaWZ5QXJndW1lbnROb2RlKGFyZ3VtZW50Tm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGFyZ3VtZW50Tm9kZVZlcmlmaWVkOyAvLy9cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2FzZSBURVJNX1JVTEVfTkFNRToge1xuICAgICAgY29uc3QgdGVybU5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgdHlwZXMgPSBbXSxcbiAgICAgICAgICAgIGNvbnRleHQgPSBmaWxlQ29udGV4dCwgIC8vL1xuICAgICAgICAgICAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpO1xuXG4gICAgICBpZiAodGVybVZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0VHlwZSA9IGZpcnN0KHR5cGVzKSxcbiAgICAgICAgICAgICAgdHlwZSA9IGZpcnN0VHlwZTsgLy8vXG5cbiAgICAgICAgaWYgKHR5cGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCB0ZXJtU3RyaW5nID0gbm9kZUFzU3RyaW5nKHRlcm1Ob2RlKTtcblxuICAgICAgICAgIGZpbGVDb250ZXh0LmVycm9yKGBUaGUgdHlwZSBvZiB0aGUgY29uc3RydWN0b3IncyBjb21wb3VuZCAnJHt0ZXJtU3RyaW5nfScgdGVybSBub2RlIGlzIG5vdCBudWxsLmApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdHJ1ZTsgLy8vXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgZGVmYXVsdDoge1xuICAgICAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZpZWQgPSB2ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXMsIGZpbGVDb250ZXh0KTtcblxuICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBjaGlsZE5vZGVzVmVyaWZpZWQ7IC8vL1xuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG59XG5cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUZXJtQXNDb25zdHJ1Y3RvciIsInR5cGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0ZXJtTm9kZSIsInR5cGVOb2RlIiwiZmlsZUNvbnRleHQiLCJ0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yIiwiYmVnaW4iLCJ0eXBlIiwibm9uVGVybWluYWxOb2RlIiwidGVybVN0cmluZyIsIm5vZGVBc1N0cmluZyIsImRlYnVnIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJjaGlsZE5vZGVzVmVyaWZpZWQiLCJ2ZXJpZnlDaGlsZE5vZGVzIiwidHlwZU5hbWUiLCJ0eXBlTmFtZUZyb21UeXBlTm9kZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsImVycm9yIiwiY29uc3RydWN0b3IiLCJDb25zdHJ1Y3RvciIsImZyb21UZXJtTm9kZUFuZFR5cGUiLCJhZGRDb25zdHJ1Y3RvciIsImluZm8iLCJjb21wbGV0ZSIsImhhbHQiLCJ2ZXJpZnlOb2RlIiwibm9kZSIsIm5vZGVWZXJpZmllZCIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5VGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJldmVyeSIsImNoaWxkTm9kZSIsInZlcmlmeUFyZ3VtZW50Tm9kZSIsImFyZ3VtZW50Tm9kZSIsInR5cGVOb2RlVmVyaWZpZWQiLCJhcmd1bWVudFN0cmluZyIsInR5cGVQcmVzZW50IiwiaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiQVJHVU1FTlRfUlVMRV9OQU1FIiwiYXJndW1lbnROb2RlVmVyaWZpZWQiLCJURVJNX1JVTEVfTkFNRSIsInR5cGVzIiwiY29udGV4dCIsInRlcm1WZXJpZmllZCIsInZlcmlmeVRlcm0iLCJmaXJzdFR5cGUiLCJmaXJzdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBWUE7OztlQUF3QkE7Ozt5REFWRDtnRUFDQztxQkFFRjtzQkFDTztxQkFDbUI7eUJBQ0c7Ozs7OztBQUVuRCxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFakIsU0FBU0Ysd0JBQXdCRyxRQUFRLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFO0lBQy9FLElBQUlDLDRCQUE0QixLQUFLO0lBRXJDRCxZQUFZRSxLQUFLLENBQUNKO0lBRWxCLElBQUlLLE9BQU8sSUFBSTtJQUVmLElBQU1DLGtCQUFrQk4sVUFDbEJPLGFBQWFDLElBQUFBLG9CQUFZLEVBQUNSO0lBRWhDRSxZQUFZTyxLQUFLLENBQUMsQUFBQyxrQkFBNEIsT0FBWEYsWUFBVztJQUUvQyxJQUFNRyxhQUFhSixnQkFBZ0JLLGFBQWEsSUFDMUNDLHFCQUFxQkMsaUJBQWlCSCxZQUFZUjtJQUV4RCxJQUFJVSxvQkFBb0I7UUFDdEIsSUFBSVgsYUFBYSxJQUFJLEVBQUU7WUFDckJFLDRCQUE0QixJQUFJO1FBQ2xDLE9BQU87WUFDTCxJQUFNVyxXQUFXQyxJQUFBQSwyQkFBb0IsRUFBQ2Q7WUFFdENJLE9BQU9ILFlBQVljLGtCQUFrQixDQUFDRjtZQUV0QyxJQUFJVCxTQUFTLElBQUksRUFBRTtnQkFDakJGLDRCQUE0QixJQUFJO1lBQ2xDLE9BQU87Z0JBQ0xELFlBQVllLEtBQUssQ0FBQyxBQUFDLFFBQXFDSCxPQUE5QlAsWUFBVyxx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
@@ -13,7 +13,6 @@ var _labels = /*#__PURE__*/ _interopRequireDefault(require("../verify/labels"));
13
13
  var _proof = /*#__PURE__*/ _interopRequireDefault(require("../context/proof"));
14
14
  var _unqualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/statement/unqualified"));
15
15
  var _indicativeConditional = /*#__PURE__*/ _interopRequireDefault(require("../verify/indicativeConditional"));
16
- var _array = require("../utilities/array");
17
16
  var _string = require("../utilities/string");
18
17
  var _query = require("../utilities/query");
19
18
  function _interopRequireDefault(obj) {
@@ -21,7 +20,7 @@ function _interopRequireDefault(obj) {
21
20
  default: obj
22
21
  };
23
22
  }
24
- var labelNodesQuery = (0, _query.nodesQuery)("/theorem/label"), statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!"), statementNodesQuery = (0, _query.nodesQuery)("/indicativeConditional/unqualifiedStatement/statement!"), unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/theorem/unqualifiedStatement!"), indicativeConditionalNodeQuery = (0, _query.nodeQuery)("/theorem/indicativeConditional!");
23
+ var labelNodesQuery = (0, _query.nodesQuery)("/theorem/label"), unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/theorem/unqualifiedStatement!"), indicativeConditionalNodeQuery = (0, _query.nodeQuery)("/theorem/indicativeConditional!");
25
24
  function verifyTheorem(theoremNode, fileContext) {
26
25
  var theoremVerified = false;
27
26
  fileContext.begin(theoremNode);
@@ -30,21 +29,17 @@ function verifyTheorem(theoremNode, fileContext) {
30
29
  var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
31
30
  if (labelsVerified) {
32
31
  var unqualifiedStatementNode = unqualifiedStatementNodeQuery(theoremNode), indicativeConditionalNode = indicativeConditionalNodeQuery(theoremNode);
32
+ var unqualifiedStatementVerified = false, indicativeConditionalVerified = false;
33
33
  if (unqualifiedStatementNode !== null) {
34
- var unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, proofContext);
35
- if (unqualifiedStatementVerified) {
36
- var statementNode = statementNodeQuery(unqualifiedStatementNode), theorem = _theorem.default.fromLabelsAndStatementNode(labels, statementNode);
37
- fileContext.addTheorem(theorem);
38
- theoremVerified = true;
39
- }
34
+ unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, proofContext);
40
35
  }
41
36
  if (indicativeConditionalNode !== null) {
42
- var indicativeConditionalVerified = (0, _indicativeConditional.default)(indicativeConditionalNode, proofContext);
43
- if (indicativeConditionalVerified !== null) {
44
- var statementNodes = statementNodesQuery(indicativeConditionalNode), lastStatementNode = (0, _array.last)(statementNodes), frontStatementNodes = (0, _array.front)(statementNodes), consequentStatementNode = lastStatementNode, suppositionStatementNodes = frontStatementNodes, theorem1 = _theorem.default.fromLabelsSuppositionStatementNodesAndConsequentStatementNode(labels, suppositionStatementNodes, consequentStatementNode);
45
- fileContext.addTheorem(theorem1);
46
- theoremVerified = true;
47
- }
37
+ indicativeConditionalVerified = (0, _indicativeConditional.default)(indicativeConditionalNode, proofContext);
38
+ }
39
+ if (unqualifiedStatementVerified || indicativeConditionalVerified) {
40
+ var theorem = _theorem.default.fromLabelsUnqualifiedStatementNodeAndIndicativeConditionalNode(labels, unqualifiedStatementNode, indicativeConditionalNode);
41
+ fileContext.addTheorem(theorem);
42
+ theoremVerified = true;
48
43
  }
49
44
  }
50
45
  if (theoremVerified) {
@@ -54,4 +49,4 @@ function verifyTheorem(theoremNode, fileContext) {
54
49
  return theoremVerified;
55
50
  }
56
51
 
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRoZW9yZW0gZnJvbSBcIi4uL3RoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCBQcm9vZkNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeUluZGljYXRpdmVDb25kaXRpb25hbCBmcm9tIFwiLi4vdmVyaWZ5L2luZGljYXRpdmVDb25kaXRpb25hbFwiO1xuXG5pbXBvcnQgeyBmcm9udCwgbGFzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVzQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBsYWJlbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3RoZW9yZW0vbGFiZWxcIiksXG4gICAgICBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2luZGljYXRpdmVDb25kaXRpb25hbC91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGhlb3JlbS91bnF1YWxpZmllZFN0YXRlbWVudCFcIiksXG4gICAgICBpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGhlb3JlbS9pbmRpY2F0aXZlQ29uZGl0aW9uYWwhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlUaGVvcmVtKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdGhlb3JlbVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgZmlsZUNvbnRleHQuYmVnaW4odGhlb3JlbU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkodGhlb3JlbU5vZGUpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBub2Rlc0FzU3RyaW5nKGxhYmVsTm9kZXMpLFxuICAgICAgICBwcm9vZkNvbnRleHQgPSBQcm9vZkNvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KTtcblxuICBmaWxlQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyB0aGVvcmVtLi4uYCk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5KHRoZW9yZW1Ob2RlKSxcbiAgICAgICAgICBpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlID0gaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZVF1ZXJ5KHRoZW9yZW1Ob2RlKTtcblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgdGhlb3JlbSA9IFRoZW9yZW0uZnJvbUxhYmVsc0FuZFN0YXRlbWVudE5vZGUobGFiZWxzLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBmaWxlQ29udGV4dC5hZGRUaGVvcmVtKHRoZW9yZW0pO1xuXG4gICAgICAgIHRoZW9yZW1WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGluZGljYXRpdmVDb25kaXRpb25hbE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGluZGljYXRpdmVDb25kaXRpb25hbFZlcmlmaWVkID0gdmVyaWZ5SW5kaWNhdGl2ZUNvbmRpdGlvbmFsKGluZGljYXRpdmVDb25kaXRpb25hbE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmIChpbmRpY2F0aXZlQ29uZGl0aW9uYWxWZXJpZmllZCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlcyA9IHN0YXRlbWVudE5vZGVzUXVlcnkoaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSksXG4gICAgICAgICAgICAgIGxhc3RTdGF0ZW1lbnROb2RlID0gbGFzdChzdGF0ZW1lbnROb2RlcyksXG4gICAgICAgICAgICAgIGZyb250U3RhdGVtZW50Tm9kZXMgPSBmcm9udChzdGF0ZW1lbnROb2RlcyksXG4gICAgICAgICAgICAgIGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlID0gbGFzdFN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcyA9IGZyb250U3RhdGVtZW50Tm9kZXMsICAvLy9cbiAgICAgICAgICAgICAgdGhlb3JlbSA9IFRoZW9yZW0uZnJvbUxhYmVsc1N1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXNBbmRDb25zZXF1ZW50U3RhdGVtZW50Tm9kZShsYWJlbHMsIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMsIGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBmaWxlQ29udGV4dC5hZGRUaGVvcmVtKHRoZW9yZW0pO1xuXG4gICAgICAgIHRoZW9yZW1WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHRoZW9yZW1WZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyB0aGVvcmVtLmApO1xuICB9XG5cbiAgdGhlb3JlbVZlcmlmaWVkID9cbiAgICBmaWxlQ29udGV4dC5jb21wbGV0ZSh0aGVvcmVtTm9kZSkgOlxuICAgICAgZmlsZUNvbnRleHQuaGFsdCh0aGVvcmVtTm9kZSk7XG5cbiAgcmV0dXJuIHRoZW9yZW1WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUaGVvcmVtIiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGVzUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsImluZGljYXRpdmVDb25kaXRpb25hbE5vZGVRdWVyeSIsInRoZW9yZW1Ob2RlIiwiZmlsZUNvbnRleHQiLCJ0aGVvcmVtVmVyaWZpZWQiLCJiZWdpbiIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwicHJvb2ZDb250ZXh0IiwiUHJvb2ZDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiZGVidWciLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsImluZGljYXRpdmVDb25kaXRpb25hbE5vZGUiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwidGhlb3JlbSIsIlRoZW9yZW0iLCJmcm9tTGFiZWxzQW5kU3RhdGVtZW50Tm9kZSIsImFkZFRoZW9yZW0iLCJpbmRpY2F0aXZlQ29uZGl0aW9uYWxWZXJpZmllZCIsInZlcmlmeUluZGljYXRpdmVDb25kaXRpb25hbCIsInN0YXRlbWVudE5vZGVzIiwibGFzdFN0YXRlbWVudE5vZGUiLCJsYXN0IiwiZnJvbnRTdGF0ZW1lbnROb2RlcyIsImZyb250IiwiY29uc2VxdWVudFN0YXRlbWVudE5vZGUiLCJzdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzIiwiZnJvbUxhYmVsc1N1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXNBbmRDb25zZXF1ZW50U3RhdGVtZW50Tm9kZSIsImluZm8iLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWtCQTs7O2VBQXdCQTs7OzREQWhCSjsyREFDSzswREFDQTtnRUFDYzswRUFDQztxQkFFWjtzQkFDRTtxQkFDUTs7Ozs7O0FBRXRDLElBQU1DLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyxtQkFDN0JDLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyxxQ0FDL0JDLHNCQUFzQkgsSUFBQUEsaUJBQVUsRUFBQywyREFDakNJLGdDQUFnQ0YsSUFBQUEsZ0JBQVMsRUFBQyxtQ0FDMUNHLGlDQUFpQ0gsSUFBQUEsZ0JBQVMsRUFBQztBQUVsQyxTQUFTSixjQUFjUSxXQUFXLEVBQUVDLFdBQVcsRUFBRTtJQUM5RCxJQUFJQyxrQkFBa0IsS0FBSztJQUUzQkQsWUFBWUUsS0FBSyxDQUFDSDtJQUVsQixJQUFNSSxhQUFhWCxnQkFBZ0JPLGNBQzdCSyxlQUFlQyxJQUFBQSxxQkFBYSxFQUFDRixhQUM3QkcsZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUNSO0lBRWxEQSxZQUFZUyxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYkwsY0FBYTtJQUVqRCxJQUFNTSxTQUFTLEVBQUUsRUFDWEMsaUJBQWlCQyxJQUFBQSxlQUFZLEVBQUNULFlBQVlPLFFBQVFWO0lBRXhELElBQUlXLGdCQUFnQjtRQUNsQixJQUFNRSwyQkFBMkJoQiw4QkFBOEJFLGNBQ3pEZSw0QkFBNEJoQiwrQkFBK0JDO1FBRWpFLElBQUljLDZCQUE2QixJQUFJLEVBQUU7WUFDckMsSUFBTUUsK0JBQStCQyxJQUFBQSxvQkFBMEIsRUFBQ0gsMEJBQTBCUDtZQUUxRixJQUFJUyw4QkFBOEI7Z0JBQ2hDLElBQU1FLGdCQUFnQnZCLG1CQUFtQm1CLDJCQUNuQ0ssVUFBVUMsZ0JBQU8sQ0FBQ0MsMEJBQTBCLENBQUNWLFFBQVFPO2dCQUUzRGpCLFlBQVlxQixVQUFVLENBQUNIO2dCQUV2QmpCLGtCQUFrQixJQUFJO1lBQ3hCLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSWEsOEJBQThCLElBQUksRUFBRTtZQUN0QyxJQUFNUSxnQ0FBZ0NDLElBQUFBLDhCQUEyQixFQUFDVCwyQkFBMkJSO1lBRTdGLElBQUlnQixrQ0FBa0MsSUFBSSxFQUFFO2dCQUMxQyxJQUFNRSxpQkFBaUI1QixvQkFBb0JrQiw0QkFDckNXLG9CQUFvQkMsSUFBQUEsV0FBSSxFQUFDRixpQkFDekJHLHNCQUFzQkMsSUFBQUEsWUFBSyxFQUFDSixpQkFDNUJLLDBCQUEwQkosbUJBQzFCSyw0QkFBNEJILHFCQUM1QlQsV0FBVUMsZ0JBQU8sQ0FBQ1ksNkRBQTZELENBQUNyQixRQUFRb0IsMkJBQTJCRDtnQkFFekg3QixZQUFZcUIsVUFBVSxDQUFDSDtnQkFFdkJqQixrQkFBa0IsSUFBSTtZQUN4QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxpQkFBaUI7UUFDbkJELFlBQVlnQyxJQUFJLENBQUMsQUFBQyxpQkFBNkIsT0FBYjVCLGNBQWE7SUFDakQsQ0FBQztJQUVESCxrQkFDRUQsWUFBWWlDLFFBQVEsQ0FBQ2xDLGVBQ25CQyxZQUFZa0MsSUFBSSxDQUFDbkMsWUFBWTtJQUVqQyxPQUFPRTtBQUNUIn0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRoZW9yZW0gZnJvbSBcIi4uL3RoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCBQcm9vZkNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeUluZGljYXRpdmVDb25kaXRpb25hbCBmcm9tIFwiLi4vdmVyaWZ5L2luZGljYXRpdmVDb25kaXRpb25hbFwiO1xuXG5pbXBvcnQgeyBub2Rlc0FzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi90aGVvcmVtL2xhYmVsXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGhlb3JlbS91bnF1YWxpZmllZFN0YXRlbWVudCFcIiksXG4gICAgICBpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGhlb3JlbS9pbmRpY2F0aXZlQ29uZGl0aW9uYWwhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlUaGVvcmVtKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdGhlb3JlbVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgZmlsZUNvbnRleHQuYmVnaW4odGhlb3JlbU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkodGhlb3JlbU5vZGUpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBub2Rlc0FzU3RyaW5nKGxhYmVsTm9kZXMpLFxuICAgICAgICBwcm9vZkNvbnRleHQgPSBQcm9vZkNvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KTtcblxuICBmaWxlQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyB0aGVvcmVtLi4uYCk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgbGFiZWxzVmVyaWZpZWQgPSB2ZXJpZnlMYWJlbHMobGFiZWxOb2RlcywgbGFiZWxzLCBmaWxlQ29udGV4dCk7XG5cbiAgaWYgKGxhYmVsc1ZlcmlmaWVkKSB7XG4gICAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkodGhlb3JlbU5vZGUpLFxuICAgICAgICAgIGluZGljYXRpdmVDb25kaXRpb25hbE5vZGUgPSBpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlUXVlcnkodGhlb3JlbU5vZGUpO1xuXG4gICAgbGV0IHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBmYWxzZSxcbiAgICAgIGluZGljYXRpdmVDb25kaXRpb25hbFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBwcm9vZkNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmIChpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlICE9PSBudWxsKSB7XG4gICAgICBpbmRpY2F0aXZlQ29uZGl0aW9uYWxWZXJpZmllZCA9IHZlcmlmeUluZGljYXRpdmVDb25kaXRpb25hbChpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlLCBwcm9vZkNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIHx8IGluZGljYXRpdmVDb25kaXRpb25hbFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCB0aGVvcmVtID0gVGhlb3JlbS5mcm9tTGFiZWxzVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlQW5kSW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZShsYWJlbHMsIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSk7XG5cbiAgICAgIGZpbGVDb250ZXh0LmFkZFRoZW9yZW0odGhlb3JlbSk7XG5cbiAgICAgIHRoZW9yZW1WZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHRoZW9yZW1WZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyB0aGVvcmVtLmApO1xuICB9XG5cbiAgdGhlb3JlbVZlcmlmaWVkID9cbiAgICBmaWxlQ29udGV4dC5jb21wbGV0ZSh0aGVvcmVtTm9kZSkgOlxuICAgICAgZmlsZUNvbnRleHQuaGFsdCh0aGVvcmVtTm9kZSk7XG5cbiAgcmV0dXJuIHRoZW9yZW1WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUaGVvcmVtIiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZVF1ZXJ5IiwidGhlb3JlbU5vZGUiLCJmaWxlQ29udGV4dCIsInRoZW9yZW1WZXJpZmllZCIsImJlZ2luIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJwcm9vZkNvbnRleHQiLCJQcm9vZkNvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJkZWJ1ZyIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJpbmRpY2F0aXZlQ29uZGl0aW9uYWxWZXJpZmllZCIsInZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50IiwidmVyaWZ5SW5kaWNhdGl2ZUNvbmRpdGlvbmFsIiwidGhlb3JlbSIsIlRoZW9yZW0iLCJmcm9tTGFiZWxzVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlQW5kSW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSIsImFkZFRoZW9yZW0iLCJpbmZvIiwiY29tcGxldGUiLCJoYWx0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFlQTs7O2VBQXdCQTs7OzREQWJKOzJEQUNLOzBEQUNBO2dFQUNjOzBFQUNDO3NCQUVWO3FCQUNROzs7Ozs7QUFFdEMsSUFBTUMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLG1CQUM3QkMsZ0NBQWdDQyxJQUFBQSxnQkFBUyxFQUFDLG1DQUMxQ0MsaUNBQWlDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRWxDLFNBQVNKLGNBQWNNLFdBQVcsRUFBRUMsV0FBVyxFQUFFO0lBQzlELElBQUlDLGtCQUFrQixLQUFLO0lBRTNCRCxZQUFZRSxLQUFLLENBQUNIO0lBRWxCLElBQU1JLGFBQWFULGdCQUFnQkssY0FDN0JLLGVBQWVDLElBQUFBLHFCQUFhLEVBQUNGLGFBQzdCRyxlQUFlQyxjQUFZLENBQUNDLGVBQWUsQ0FBQ1I7SUFFbERBLFlBQVlTLEtBQUssQ0FBQyxBQUFDLGtCQUE4QixPQUFiTCxjQUFhO0lBRWpELElBQU1NLFNBQVMsRUFBRSxFQUNmQyxpQkFBaUJDLElBQUFBLGVBQVksRUFBQ1QsWUFBWU8sUUFBUVY7SUFFcEQsSUFBSVcsZ0JBQWdCO1FBQ2xCLElBQU1FLDJCQUEyQmpCLDhCQUE4QkcsY0FDekRlLDRCQUE0QmhCLCtCQUErQkM7UUFFakUsSUFBSWdCLCtCQUErQixLQUFLLEVBQ3RDQyxnQ0FBZ0MsS0FBSztRQUV2QyxJQUFJSCw2QkFBNkIsSUFBSSxFQUFFO1lBQ3JDRSwrQkFBK0JFLElBQUFBLG9CQUEwQixFQUFDSiwwQkFBMEJQO1FBQ3RGLENBQUM7UUFFRCxJQUFJUSw4QkFBOEIsSUFBSSxFQUFFO1lBQ3RDRSxnQ0FBZ0NFLElBQUFBLDhCQUEyQixFQUFDSiwyQkFBMkJSO1FBQ3pGLENBQUM7UUFFRCxJQUFJUyxnQ0FBZ0NDLCtCQUErQjtZQUNqRSxJQUFNRyxVQUFVQyxnQkFBTyxDQUFDQyw4REFBOEQsQ0FBQ1gsUUFBUUcsMEJBQTBCQztZQUV6SGQsWUFBWXNCLFVBQVUsQ0FBQ0g7WUFFdkJsQixrQkFBa0IsSUFBSTtRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUlBLGlCQUFpQjtRQUNuQkQsWUFBWXVCLElBQUksQ0FBQyxBQUFDLGlCQUE2QixPQUFibkIsY0FBYTtJQUNqRCxDQUFDO0lBRURILGtCQUNFRCxZQUFZd0IsUUFBUSxDQUFDekIsZUFDbkJDLFlBQVl5QixJQUFJLENBQUMxQixZQUFZO0lBRWpDLE9BQU9FO0FBQ1QifQ==