occam-verify-cli 0.0.458 → 0.0.459

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.
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "default", {
11
11
  var _file = /*#__PURE__*/ _interopRequireDefault(require("../mixins/file"));
12
12
  var _logging = /*#__PURE__*/ _interopRequireDefault(require("../mixins/logging"));
13
13
  var _callbacks = /*#__PURE__*/ _interopRequireDefault(require("../mixins/callbacks"));
14
+ var _array = require("../utilities/array");
14
15
  function _arrayLikeToArray(arr, len) {
15
16
  if (len == null || len > arr.length) len = arr.length;
16
17
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -88,6 +89,17 @@ var MetaproofContext = /*#__PURE__*/ function() {
88
89
  return metaAssertions;
89
90
  }
90
91
  },
92
+ {
93
+ key: "getLastMetaAssertion",
94
+ value: function getLastMetaAssertion() {
95
+ var lastMetaAssertion = null;
96
+ var metaAssertionsLength = this.metaAssertions.length;
97
+ if (metaAssertionsLength > 0) {
98
+ lastMetaAssertion = (0, _array.last)(this.metaAssertions);
99
+ }
100
+ return lastMetaAssertion;
101
+ }
102
+ },
91
103
  {
92
104
  key: "setDerived",
93
105
  value: function setDerived(derived) {
@@ -141,4 +153,4 @@ Object.assign(MetaproofContext.prototype, _logging.default);
141
153
  Object.assign(MetaproofContext.prototype, _callbacks.default);
142
154
  var _default = MetaproofContext;
143
155
 
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L21ldGFwcm9vZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGZpbGVNaXhpbnMgZnJvbSBcIi4uL21peGlucy9maWxlXCI7XG5pbXBvcnQgbG9nZ2luZ01peGlucyBmcm9tIFwiLi4vbWl4aW5zL2xvZ2dpbmdcIjtcbmltcG9ydCBjYWxsYmFja3NNaXhpbnMgZnJvbSBcIi4uL21peGlucy9jYWxsYmFja3NcIjtcblxuY2xhc3MgTWV0YXByb29mQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIGRlcml2ZWQsIG1ldGFBc3NlcnRpb25zKSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLmRlcml2ZWQgPSBkZXJpdmVkO1xuICAgIHRoaXMubWV0YUFzc2VydGlvbnMgPSBtZXRhQXNzZXJ0aW9ucztcbiAgfVxuXG4gIGdldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxuXG4gIGlzRGVyaXZlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kZXJpdmVkO1xuICB9XG5cbiAgZ2V0TWV0YUFzc2VydGlvbnMoKSB7XG4gICAgbGV0IG1ldGFBc3NlcnRpb25zID0gdGhpcy5jb250ZXh0LmdldE1ldGFBc3NlcnRpb25zKCk7XG5cbiAgICBtZXRhQXNzZXJ0aW9ucyA9IFsgIC8vL1xuICAgICAgLi4ubWV0YUFzc2VydGlvbnMsXG4gICAgICAuLi50aGlzLm1ldGFBc3NlcnRpb25zXG4gICAgXTtcblxuICAgIHJldHVybiBtZXRhQXNzZXJ0aW9ucztcbiAgfVxuXG4gIHNldERlcml2ZWQoZGVyaXZlZCkge1xuICAgIHRoaXMuZGVyaXZlZCA9IGRlcml2ZWQ7XG4gIH1cblxuICBhZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pIHtcbiAgICB0aGlzLm1ldGFBc3NlcnRpb25zLnB1c2gobWV0YUFzc2VydGlvbik7XG4gIH1cblxuICBtYXRjaE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbikge1xuICAgIGxldCBtZXRhQXNzZXJ0aW9uTWF0Y2hlcztcblxuICAgIGNvbnN0IG1ldGFBc3NlcnRpb25CID0gbWV0YUFzc2VydGlvbjsgLy8vXG5cbiAgICBtZXRhQXNzZXJ0aW9uTWF0Y2hlcyA9IHRoaXMubWV0YUFzc2VydGlvbnMuc29tZSgobWV0YUFzc2VydGlvbikgPT4ge1xuICAgICAgY29uc3QgbWV0YUFzc2VydGlvbkEgPSBtZXRhQXNzZXJ0aW9uLCAvLy9cbiAgICAgICAgICAgIG1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uQS5tYXRjaChtZXRhQXNzZXJ0aW9uQik7XG5cbiAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFtZXRhQXNzZXJ0aW9uTWF0Y2hlcykge1xuICAgICAgbWV0YUFzc2VydGlvbk1hdGNoZXMgPSB0aGlzLmNvbnRleHQubWF0Y2hNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhQXNzZXJ0aW9uTWF0Y2hlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gZmlsZUNvbnRleHQsICAvLy9cbiAgICAgICAgICBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgbWV0YUFzc2VydGlvbnMgPSBbXSxcbiAgICAgICAgICBtZXRhcHJvb2ZDb250ZXh0ID0gbmV3IE1ldGFwcm9vZkNvbnRleHQoY29udGV4dCwgZGVyaXZlZCwgbWV0YUFzc2VydGlvbnMpO1xuXG4gICAgcmV0dXJuIG1ldGFwcm9vZkNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGFwcm9vZkNvbnRleHQobWV0YXByb29mQ29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBtZXRhcHJvb2ZDb250ZXh0LCAgLy8vXG4gICAgICAgICAgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICAgIG1ldGFBc3NlcnRpb25zID0gW107XG5cbiAgICBtZXRhcHJvb2ZDb250ZXh0ID0gbmV3IE1ldGFwcm9vZkNvbnRleHQoY29udGV4dCwgZGVyaXZlZCwgbWV0YUFzc2VydGlvbnMpOyAgLy8vXG5cbiAgICByZXR1cm4gbWV0YXByb29mQ29udGV4dDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKE1ldGFwcm9vZkNvbnRleHQucHJvdG90eXBlLCBmaWxlTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oTWV0YXByb29mQ29udGV4dC5wcm90b3R5cGUsIGxvZ2dpbmdNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihNZXRhcHJvb2ZDb250ZXh0LnByb3RvdHlwZSwgY2FsbGJhY2tzTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgTWV0YXByb29mQ29udGV4dDsiXSwibmFtZXMiOlsiTWV0YXByb29mQ29udGV4dCIsImNvbnRleHQiLCJkZXJpdmVkIiwibWV0YUFzc2VydGlvbnMiLCJnZXRDb250ZXh0IiwiaXNEZXJpdmVkIiwiZ2V0TWV0YUFzc2VydGlvbnMiLCJzZXREZXJpdmVkIiwiYWRkTWV0YUFzc2VydGlvbiIsIm1ldGFBc3NlcnRpb24iLCJwdXNoIiwibWF0Y2hNZXRhQXNzZXJ0aW9uIiwibWV0YUFzc2VydGlvbk1hdGNoZXMiLCJtZXRhQXNzZXJ0aW9uQiIsInNvbWUiLCJtZXRhQXNzZXJ0aW9uQSIsIm1hdGNoZXMiLCJtYXRjaCIsImZyb21GaWxlQ29udGV4dCIsImZpbGVDb250ZXh0IiwibWV0YXByb29mQ29udGV4dCIsImZyb21NZXRhcHJvb2ZDb250ZXh0IiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZmlsZU1peGlucyIsImxvZ2dpbmdNaXhpbnMiLCJjYWxsYmFja3NNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXFGQTs7O2VBQUE7Ozt5REFuRnVCOzREQUNHOzhEQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L21ldGFwcm9vZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGZpbGVNaXhpbnMgZnJvbSBcIi4uL21peGlucy9maWxlXCI7XG5pbXBvcnQgbG9nZ2luZ01peGlucyBmcm9tIFwiLi4vbWl4aW5zL2xvZ2dpbmdcIjtcbmltcG9ydCBjYWxsYmFja3NNaXhpbnMgZnJvbSBcIi4uL21peGlucy9jYWxsYmFja3NcIjtcblxuaW1wb3J0IHsgbGFzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcblxuY2xhc3MgTWV0YXByb29mQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIGRlcml2ZWQsIG1ldGFBc3NlcnRpb25zKSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLmRlcml2ZWQgPSBkZXJpdmVkO1xuICAgIHRoaXMubWV0YUFzc2VydGlvbnMgPSBtZXRhQXNzZXJ0aW9ucztcbiAgfVxuXG4gIGdldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxuXG4gIGlzRGVyaXZlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kZXJpdmVkO1xuICB9XG5cbiAgZ2V0TWV0YUFzc2VydGlvbnMoKSB7XG4gICAgbGV0IG1ldGFBc3NlcnRpb25zID0gdGhpcy5jb250ZXh0LmdldE1ldGFBc3NlcnRpb25zKCk7XG5cbiAgICBtZXRhQXNzZXJ0aW9ucyA9IFsgIC8vL1xuICAgICAgLi4ubWV0YUFzc2VydGlvbnMsXG4gICAgICAuLi50aGlzLm1ldGFBc3NlcnRpb25zXG4gICAgXTtcblxuICAgIHJldHVybiBtZXRhQXNzZXJ0aW9ucztcbiAgfVxuXG4gIGdldExhc3RNZXRhQXNzZXJ0aW9uKCkge1xuICAgIGxldCBsYXN0TWV0YUFzc2VydGlvbiA9IG51bGw7XG5cbiAgICBjb25zdCBtZXRhQXNzZXJ0aW9uc0xlbmd0aCA9IHRoaXMubWV0YUFzc2VydGlvbnMubGVuZ3RoO1xuXG4gICAgaWYgKG1ldGFBc3NlcnRpb25zTGVuZ3RoID4gMCkge1xuICAgICAgbGFzdE1ldGFBc3NlcnRpb24gPSBsYXN0KHRoaXMubWV0YUFzc2VydGlvbnMpO1xuICAgIH1cblxuICAgIHJldHVybiBsYXN0TWV0YUFzc2VydGlvbjtcbiAgfVxuXG4gIHNldERlcml2ZWQoZGVyaXZlZCkge1xuICAgIHRoaXMuZGVyaXZlZCA9IGRlcml2ZWQ7XG4gIH1cblxuICBhZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pIHtcbiAgICB0aGlzLm1ldGFBc3NlcnRpb25zLnB1c2gobWV0YUFzc2VydGlvbik7XG4gIH1cblxuICBtYXRjaE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbikge1xuICAgIGxldCBtZXRhQXNzZXJ0aW9uTWF0Y2hlcztcblxuICAgIGNvbnN0IG1ldGFBc3NlcnRpb25CID0gbWV0YUFzc2VydGlvbjsgLy8vXG5cbiAgICBtZXRhQXNzZXJ0aW9uTWF0Y2hlcyA9IHRoaXMubWV0YUFzc2VydGlvbnMuc29tZSgobWV0YUFzc2VydGlvbikgPT4ge1xuICAgICAgY29uc3QgbWV0YUFzc2VydGlvbkEgPSBtZXRhQXNzZXJ0aW9uLCAvLy9cbiAgICAgICAgICAgIG1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uQS5tYXRjaChtZXRhQXNzZXJ0aW9uQik7XG5cbiAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFtZXRhQXNzZXJ0aW9uTWF0Y2hlcykge1xuICAgICAgbWV0YUFzc2VydGlvbk1hdGNoZXMgPSB0aGlzLmNvbnRleHQubWF0Y2hNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhQXNzZXJ0aW9uTWF0Y2hlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gZmlsZUNvbnRleHQsICAvLy9cbiAgICAgICAgICBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgbWV0YUFzc2VydGlvbnMgPSBbXSxcbiAgICAgICAgICBtZXRhcHJvb2ZDb250ZXh0ID0gbmV3IE1ldGFwcm9vZkNvbnRleHQoY29udGV4dCwgZGVyaXZlZCwgbWV0YUFzc2VydGlvbnMpO1xuXG4gICAgcmV0dXJuIG1ldGFwcm9vZkNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGFwcm9vZkNvbnRleHQobWV0YXByb29mQ29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBtZXRhcHJvb2ZDb250ZXh0LCAgLy8vXG4gICAgICAgICAgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICAgIG1ldGFBc3NlcnRpb25zID0gW107XG5cbiAgICBtZXRhcHJvb2ZDb250ZXh0ID0gbmV3IE1ldGFwcm9vZkNvbnRleHQoY29udGV4dCwgZGVyaXZlZCwgbWV0YUFzc2VydGlvbnMpOyAgLy8vXG5cbiAgICByZXR1cm4gbWV0YXByb29mQ29udGV4dDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKE1ldGFwcm9vZkNvbnRleHQucHJvdG90eXBlLCBmaWxlTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oTWV0YXByb29mQ29udGV4dC5wcm90b3R5cGUsIGxvZ2dpbmdNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihNZXRhcHJvb2ZDb250ZXh0LnByb3RvdHlwZSwgY2FsbGJhY2tzTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgTWV0YXByb29mQ29udGV4dDsiXSwibmFtZXMiOlsiTWV0YXByb29mQ29udGV4dCIsImNvbnRleHQiLCJkZXJpdmVkIiwibWV0YUFzc2VydGlvbnMiLCJnZXRDb250ZXh0IiwiaXNEZXJpdmVkIiwiZ2V0TWV0YUFzc2VydGlvbnMiLCJnZXRMYXN0TWV0YUFzc2VydGlvbiIsImxhc3RNZXRhQXNzZXJ0aW9uIiwibWV0YUFzc2VydGlvbnNMZW5ndGgiLCJsZW5ndGgiLCJsYXN0Iiwic2V0RGVyaXZlZCIsImFkZE1ldGFBc3NlcnRpb24iLCJtZXRhQXNzZXJ0aW9uIiwicHVzaCIsIm1hdGNoTWV0YUFzc2VydGlvbiIsIm1ldGFBc3NlcnRpb25NYXRjaGVzIiwibWV0YUFzc2VydGlvbkIiLCJzb21lIiwibWV0YUFzc2VydGlvbkEiLCJtYXRjaGVzIiwibWF0Y2giLCJmcm9tRmlsZUNvbnRleHQiLCJmaWxlQ29udGV4dCIsIm1ldGFwcm9vZkNvbnRleHQiLCJmcm9tTWV0YXByb29mQ29udGV4dCIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImZpbGVNaXhpbnMiLCJsb2dnaW5nTWl4aW5zIiwiY2FsbGJhY2tzTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFtR0E7OztlQUFBOzs7eURBakd1Qjs0REFDRzs4REFDRTtxQkFFUDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFckIsSUFBQSxBQUFNQSxpQ0F1RkgsQUF2Rkg7YUFBTUEsaUJBQ1FDLE9BQU8sRUFBRUMsT0FBTyxFQUFFQyxjQUFjOzhCQUR4Q0g7UUFFRixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLGNBQWMsR0FBR0E7O2lCQUpwQkg7O1lBT0pJLEtBQUFBO21CQUFBQSxTQUFBQSxhQUFhO2dCQUNYLE9BQU8sSUFBSSxDQUFDSCxPQUFPO1lBQ3JCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLFlBQVk7Z0JBQ1YsT0FBTyxJQUFJLENBQUNILE9BQU87WUFDckI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsb0JBQW9CO2dCQUNsQixJQUFJSCxpQkFBaUIsSUFBSSxDQUFDRixPQUFPLENBQUNLLGlCQUFpQjtnQkFFbkRILGlCQUFpQixBQUNmLG1CQUFHQSx1QkFDSCxtQkFBRyxJQUFJLENBQUNBLGNBQWM7Z0JBR3hCLE9BQU9BO1lBQ1Q7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCO2dCQUNyQixJQUFJQyxvQkFBb0IsSUFBSTtnQkFFNUIsSUFBTUMsdUJBQXVCLElBQUksQ0FBQ04sY0FBYyxDQUFDTyxNQUFNO2dCQUV2RCxJQUFJRCx1QkFBdUIsR0FBRztvQkFDNUJELG9CQUFvQkcsSUFBQUEsV0FBSSxFQUFDLElBQUksQ0FBQ1IsY0FBYztnQkFDOUMsQ0FBQztnQkFFRCxPQUFPSztZQUNUOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVdWLE9BQU8sRUFBRTtnQkFDbEIsSUFBSSxDQUFDQSxPQUFPLEdBQUdBO1lBQ2pCOzs7WUFFQVcsS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQkMsYUFBYSxFQUFFO2dCQUM5QixJQUFJLENBQUNYLGNBQWMsQ0FBQ1ksSUFBSSxDQUFDRDtZQUMzQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUJGLGFBQWEsRUFBRTtnQkFDaEMsSUFBSUc7Z0JBRUosSUFBTUMsaUJBQWlCSixlQUFlLEdBQUc7Z0JBRXpDRyx1QkFBdUIsSUFBSSxDQUFDZCxjQUFjLENBQUNnQixJQUFJLENBQUMsU0FBQ0wsZUFBa0I7b0JBQ2pFLElBQU1NLGlCQUFpQk4sZUFDakJPLFVBQVVELGVBQWVFLEtBQUssQ0FBQ0o7b0JBRXJDLElBQUlHLFNBQVM7d0JBQ1gsT0FBTyxJQUFJO29CQUNiLENBQUM7Z0JBQ0g7Z0JBRUEsSUFBSSxDQUFDSixzQkFBc0I7b0JBQ3pCQSx1QkFBdUIsSUFBSSxDQUFDaEIsT0FBTyxDQUFDZSxrQkFBa0IsQ0FBQ0Y7Z0JBQ3pELENBQUM7Z0JBRUQsT0FBT0c7WUFDVDs7OztZQUVPTSxLQUFBQTttQkFBUCxTQUFPQSxnQkFBZ0JDLFdBQVcsRUFBRTtnQkFDbEMsSUFBTXZCLFVBQVV1QixhQUNWdEIsVUFBVSxLQUFLLEVBQ2ZDLGlCQUFpQixFQUFFLEVBQ25Cc0IsbUJBQW1CLElBdkV2QnpCLGlCQXVFNENDLFNBQVNDLFNBQVNDO2dCQUVoRSxPQUFPc0I7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLHFCQUFxQkQsZ0JBQWdCLEVBQUU7Z0JBQzVDLElBQU14QixVQUFVd0Isa0JBQ1Z2QixVQUFVLEtBQUssRUFDZkMsaUJBQWlCLEVBQUU7Z0JBRXpCc0IsbUJBQW1CLElBakZqQnpCLGlCQWlGc0NDLFNBQVNDLFNBQVNDLGlCQUFrQixHQUFHO2dCQUUvRSxPQUFPc0I7WUFDVDs7O1dBcEZJekI7O0FBdUZOMkIsT0FBT0MsTUFBTSxDQUFDNUIsaUJBQWlCNkIsU0FBUyxFQUFFQyxhQUFVO0FBQ3BESCxPQUFPQyxNQUFNLENBQUM1QixpQkFBaUI2QixTQUFTLEVBQUVFLGdCQUFhO0FBQ3ZESixPQUFPQyxNQUFNLENBQUM1QixpQkFBaUI2QixTQUFTLEVBQUVHLGtCQUFlO0lBRXpELFdBQWVoQyJ9
package/lib/premise.js CHANGED
@@ -37,7 +37,7 @@ function _interopRequireDefault(obj) {
37
37
  default: obj
38
38
  };
39
39
  }
40
- var metastatementNodesQuery = (0, _query.nodesQuery)("/metaSubproofAssertion/metastatement"), metaSubproofAssertionNodeQuery = (0, _query.nodeQuery)("/metastatement/metaSubproofAssertion!"), qualifiedOrUnqualifiedMetastatementMetastatementNodesQuery = (0, _query.nodesQuery)("/metaSubproof/qualifiedMetastatement|unqualifiedMetastatement/metastatement!");
40
+ var metastatementNodesQuery = (0, _query.nodesQuery)("/metaSubproofAssertion/metastatement"), metaSubproofAssertionNodeQuery = (0, _query.nodeQuery)("/metastatement/metaSubproofAssertion!"), unqualifiedMetastatementMetastatementNodesQuery = (0, _query.nodesQuery)("/metaSubproof/unqualifiedMetastatement/metastatement!"), qualifiedOrUnqualifiedMetastatementMetastatementNodeQuery = (0, _query.nodeQuery)("/metaSubproof/metaDerivation|abridgedMetaDerivation/");
41
41
  var Premise = /*#__PURE__*/ function() {
42
42
  function Premise(metastatementNode) {
43
43
  _classCallCheck(this, Premise);
@@ -56,10 +56,10 @@ var Premise = /*#__PURE__*/ function() {
56
56
  var metaSubproofNodeMatches = false;
57
57
  var metaSubproofAssertionNode = metaSubproofAssertionNodeQuery(this.metastatementNode);
58
58
  if (metaSubproofAssertionNode !== null) {
59
- var metaSubproofAssertionMetastatementNodes = metastatementNodesQuery(metaSubproofAssertionNode), metaSubproofAssertionMetastatementNodesLength = metaSubproofAssertionMetastatementNodes.length, qualifiedOrUnqualifiedMetastatementMetastatementNodes = qualifiedOrUnqualifiedMetastatementMetastatementNodesQuery(metaSubproofNode), qualifiedOrUnqualifiedMetastatementMetastatementNodesLength = qualifiedOrUnqualifiedMetastatementMetastatementNodes.length;
60
- if (metaSubproofAssertionMetastatementNodesLength === qualifiedOrUnqualifiedMetastatementMetastatementNodesLength) {
59
+ var metaSubproofAssertionMetastatementNodes = metastatementNodesQuery(metaSubproofAssertionNode), metaSubproofAssertionMetastatementNodesLength = metaSubproofAssertionMetastatementNodes.length, unqualifiedMetastatementMetastatementNodes = unqualifiedMetastatementMetastatementNodesQuery(metaSubproofNode), unqualifiedMetastatementMetastatementNodesLength = unqualifiedMetastatementMetastatementNodes.length;
60
+ if (metaSubproofAssertionMetastatementNodesLength === unqualifiedMetastatementMetastatementNodesLength) {
61
61
  metaSubproofNodeMatches = metaSubproofAssertionMetastatementNodes.every(function(metaSubproofAssertionMetastatementNode, index) {
62
- var qualifiedOrUnqualifiedMetastatementMetastatementNode = qualifiedOrUnqualifiedMetastatementMetastatementNodes[index], nonTerminalNode = qualifiedOrUnqualifiedMetastatementMetastatementNode, premiseNonTerminalNode = metaSubproofAssertionMetastatementNode, premiseNonTerminalNodeMatches = matchPremiseNonTerminalNode(premiseNonTerminalNode, nonTerminalNode, metaSubstitutions);
62
+ var unqualifiedMetastatementMetastatementNode = unqualifiedMetastatementMetastatementNodes[index], nonTerminalNode = unqualifiedMetastatementMetastatementNode, premiseNonTerminalNode = metaSubproofAssertionMetastatementNode, premiseNonTerminalNodeMatches = matchPremiseNonTerminalNode(premiseNonTerminalNode, nonTerminalNode, metaSubstitutions);
63
63
  if (premiseNonTerminalNodeMatches) {
64
64
  return true;
65
65
  }
@@ -184,4 +184,4 @@ function matchPremiseMetastatementNode(premiseMetastatementNode, metastatementNo
184
184
  return premiseMetastatementNodeMatches;
185
185
  }
186
186
 
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVtaXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YVN1YnN0aXR1dGlvbiBmcm9tIFwiLi9tZXRhU3Vic3RpdHV0aW9uXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsIE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IG1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhU3VicHJvb2ZBc3NlcnRpb24vbWV0YXN0YXRlbWVudFwiKSxcbiAgICAgIG1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L21ldGFTdWJwcm9vZkFzc2VydGlvbiFcIiksXG4gICAgICBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhU3VicHJvb2YvcXVhbGlmaWVkTWV0YXN0YXRlbWVudHx1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFByZW1pc2Uge1xuICBjb25zdHJ1Y3RvcihtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMubWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldE1ldGFzdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hNZXRhU3VicHJvb2ZOb2RlKG1ldGFTdWJwcm9vZk5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IG1ldGFTdWJwcm9vZk5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBtZXRhU3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gbWV0YVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5KHRoaXMubWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKG1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGFTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlcyA9IG1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5KG1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgbWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoID0gbWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzLmxlbmd0aCxcbiAgICAgICAgICAgIHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzID0gcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeShtZXRhU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgICAgIHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoID0gcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXMubGVuZ3RoO1xuXG4gICAgICBpZiAobWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoID09PSBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlc0xlbmd0aCkge1xuICAgICAgICBtZXRhU3VicHJvb2ZOb2RlTWF0Y2hlcyA9IG1ldGFTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2Rlcy5ldmVyeSgobWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlID0gcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlID0gcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxOb2RlID0gbWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZW1pc2VOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hQcmVtaXNlTm9uVGVybWluYWxOb2RlKHByZW1pc2VOb25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFTdWJwcm9vZk5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIHByZW1pc2VOb25UZXJtaW5hbE5vZGUgPSB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VOb25UZXJtaW5hbE5vZGUocHJlbWlzZU5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyksXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMubWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnQgPSBtZXRhc3RhdGVtZW50U3RyaW5nLCAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbWV0YXN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgbWV0YXN0YXRlbWVudCB9ID0ganNvbixcbiAgICAgICAgICBtZXRhc3RhdGVtZW50U3RyaW5nID0gbWV0YXN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyhtZXRhc3RhdGVtZW50U3RyaW5nLCByZWxlYXNlQ29udGV4dCksXG4gICAgICAgICAgcHJlbWlzZSA9IG5ldyBQcmVtaXNlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBwcmVtaXNlO1xuICB9XG5cbiAgc3RhdGljIGZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHByZW1pc2UgPSBuZXcgUHJlbWlzZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gcHJlbWlzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXRjaFByZW1pc2VOb2RlKHByZW1pc2VOb2RlLCBub2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgcHJlbWlzZU5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgcnVsZU5vZGVUZXJtaW5hbE5vZGUgPSBwcmVtaXNlTm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlID09PSBydWxlTm9kZVRlcm1pbmFsTm9kZSkge1xuICAgIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgICBwcmVtaXNlVGVybWluYWxOb2RlID0gcHJlbWlzZU5vZGUsICAvLy9cbiAgICAgICAgICAgIHByZW1pc2VUZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hQcmVtaXNlVGVybWluYWxOb2RlKHByZW1pc2VUZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBwcmVtaXNlTm9kZU1hdGNoZXMgPSBwcmVtaXNlVGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIHByZW1pc2VOb25UZXJtaW5hbE5vZGUgPSBwcmVtaXNlTm9kZSwgIC8vL1xuICAgICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VOb25UZXJtaW5hbE5vZGUocHJlbWlzZU5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIHByZW1pc2VOb2RlTWF0Y2hlcyA9IHByZW1pc2VOb25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJlbWlzZU5vZGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaFByZW1pc2VOb2RlcyhwcmVtaXNlTm9kZXMsIG5vZGVzLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgcHJlbWlzZU5vZGVzTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoLFxuICAgICAgICBwcmVtaXNlTm9kZXNMZW5ndGggPSBwcmVtaXNlTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChub2Rlc0xlbmd0aCA9PT0gcHJlbWlzZU5vZGVzTGVuZ3RoKSB7XG4gICAgcHJlbWlzZU5vZGVzTWF0Y2hlcyA9IG5vZGVzLmV2ZXJ5KChub2RlLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgcHJlbWlzZU5vZGUgPSBwcmVtaXNlTm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgcHJlbWlzZU5vZGVNYXRjaGVzID0gbWF0Y2hQcmVtaXNlTm9kZShwcmVtaXNlTm9kZSwgbm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAocHJlbWlzZU5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHByZW1pc2VOb2Rlc01hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZU1ldGF2YXJpYWJsZShwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSwgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBwcmVtaXNlTWV0YXZhcmlhYmxlTWF0Y2hlcztcblxuICBjb25zdCBwcmVtaXNlTWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgIG1ldGFTdWJzdGl0dXRpb24gPSBtZXRhU3Vic3RpdHV0aW9ucy5maW5kKChtZXRhU3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IG1ldGFTdWJzdGl0dXRpb24uZ2V0TWV0YXZhcmlhYmxlTmFtZSgpO1xuXG4gICAgICAgICAgaWYgKG1ldGF2YXJpYWJsZU5hbWUgPT09IHByZW1pc2VNZXRhdmFyaWFibGVOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pIHx8IG51bGw7XG5cbiAgaWYgKG1ldGFTdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhU3Vic3RpdHV0aW9uTm9kZXNNYXRjaCA9IG1ldGFTdWJzdGl0dXRpb24ubWF0Y2hOb2Rlcyhub2Rlcyk7XG5cbiAgICBwcmVtaXNlTWV0YXZhcmlhYmxlTWF0Y2hlcyA9IG1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoOyAgLy8vXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IHByZW1pc2VNZXRhdmFyaWFibGVOYW1lLCAvLy9cbiAgICAgICAgICBtZXRhU3Vic3RpdHV0aW9uID0gTWV0YVN1YnN0aXR1dGlvbi5mcm9tTWV0YXZhcmlhYmxlTmFtZUFuZE5vZGVzKG1ldGF2YXJpYWJsZU5hbWUsIG5vZGVzKTtcblxuICAgIG1ldGFTdWJzdGl0dXRpb25zLnB1c2gobWV0YVN1YnN0aXR1dGlvbik7XG5cbiAgICBwcmVtaXNlTWV0YXZhcmlhYmxlTWF0Y2hlcyA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gcHJlbWlzZU1ldGF2YXJpYWJsZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZVRlcm1pbmFsTm9kZShwcmVtaXNlVGVybWluYWxOb2RlLCB0ZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBwcmVtaXNlVGVybWluYWxOb2RlLm1hdGNoKHRlcm1pbmFsTm9kZSksXG4gICAgICAgIHByZW1pc2VUZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hlcztcblxuICByZXR1cm4gcHJlbWlzZVRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZU5vblRlcm1pbmFsTm9kZShwcmVtaXNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgIHByZW1pc2VSdWxlTmFtZSA9IHByZW1pc2VOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgaWYgKHJ1bGVOYW1lID09PSBwcmVtaXNlUnVsZU5hbWUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBwcmVtaXNlQ2hpbGROb2RlcyA9IHByZW1pc2VOb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgcHJlbWlzZU5vZGVzID0gcHJlbWlzZUNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIHByZW1pc2VDaGlsZE5vZGVzTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZU5vZGVzKHByZW1pc2VOb2Rlcywgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgIHByZW1pc2VOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gcHJlbWlzZUNoaWxkTm9kZXNNYXRjaGVzOyAvLy9cblxuICAgIGlmICghcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMpIHtcbiAgICAgIGNvbnN0IHJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lID0gKHJ1bGVOYW1lID09PSBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSk7XG5cbiAgICAgIGlmIChydWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGUgPSBwcmVtaXNlTm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgIHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZShwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzOyAvLy9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlKHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3QgcHJlbWlzZU5vblRlcm1pbmFsTm9kZSA9IHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBwcmVtaXNlQ2hpbGROb2RlcyA9IHByZW1pc2VOb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICBwcmVtaXNlQ2hpbGROb2Rlc0xlbmd0aCA9IHByZW1pc2VDaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAocHJlbWlzZUNoaWxkTm9kZXNMZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCBmaXJzdFByZW1pc2VDaGlsZE5vZGUgPSBmaXJzdChwcmVtaXNlQ2hpbGROb2RlcyksXG4gICAgICAgICAgcHJlbWlzZUNoaWxkTm9kZSA9IGZpcnN0UHJlbWlzZUNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgIHByZW1pc2VDaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBwcmVtaXNlQ2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAocHJlbWlzZUNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgcHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlID0gcHJlbWlzZUNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUgPSBwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIHByZW1pc2VOb25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lTWV0YXZhcmlhYmxlUnVsZU5hbWUgPSAocHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUgPT09IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUpO1xuXG4gICAgICBpZiAocHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSA9IHByZW1pc2VOb25UZXJtaW5hbENoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgcHJlbWlzZU1ldGFWYXJpYWJsZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VNZXRhdmFyaWFibGUocHJlbWlzZU1ldGF2YXJpYWJsZU5vZGUsIG5vZGVzLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgcHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHByZW1pc2VNZXRhVmFyaWFibGVNYXRjaGVzOyAvLy9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJQcmVtaXNlIiwibWV0YXN0YXRlbWVudE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwibWV0YVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGFTdWJwcm9vZk5vZGUiLCJtZXRhU3VicHJvb2ZOb2RlIiwibWV0YVN1YnN0aXR1dGlvbnMiLCJtZXRhU3VicHJvb2ZOb2RlTWF0Y2hlcyIsIm1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMiLCJtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlcyIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoIiwiZXZlcnkiLCJtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSIsImluZGV4IiwicXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsInByZW1pc2VOb25UZXJtaW5hbE5vZGUiLCJwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoUHJlbWlzZU5vblRlcm1pbmFsTm9kZSIsIm1hdGNoTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJ0b0pTT04iLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwibWV0YXN0YXRlbWVudCIsImpzb24iLCJmcm9tSlNPTiIsInJlbGVhc2VDb250ZXh0IiwibWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyIsInByZW1pc2UiLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaFByZW1pc2VOb2RlIiwicHJlbWlzZU5vZGUiLCJub2RlIiwicHJlbWlzZU5vZGVNYXRjaGVzIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwicnVsZU5vZGVUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJwcmVtaXNlVGVybWluYWxOb2RlIiwicHJlbWlzZVRlcm1pbmFsTm9kZU1hdGNoZXMiLCJtYXRjaFByZW1pc2VUZXJtaW5hbE5vZGUiLCJtYXRjaFByZW1pc2VOb2RlcyIsInByZW1pc2VOb2RlcyIsIm5vZGVzIiwicHJlbWlzZU5vZGVzTWF0Y2hlcyIsIm5vZGVzTGVuZ3RoIiwicHJlbWlzZU5vZGVzTGVuZ3RoIiwibWF0Y2hQcmVtaXNlTWV0YXZhcmlhYmxlIiwicHJlbWlzZU1ldGF2YXJpYWJsZU5vZGUiLCJwcmVtaXNlTWV0YXZhcmlhYmxlTWF0Y2hlcyIsInByZW1pc2VNZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwibWV0YVN1YnN0aXR1dGlvbiIsImZpbmQiLCJtZXRhdmFyaWFibGVOYW1lIiwiZ2V0TWV0YXZhcmlhYmxlTmFtZSIsIm1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoIiwibWF0Y2hOb2RlcyIsIk1ldGFTdWJzdGl0dXRpb24iLCJmcm9tTWV0YXZhcmlhYmxlTmFtZUFuZE5vZGVzIiwicHVzaCIsIm1hdGNoZXMiLCJtYXRjaCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJwcmVtaXNlUnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsInByZW1pc2VDaGlsZE5vZGVzIiwicHJlbWlzZUNoaWxkTm9kZXNNYXRjaGVzIiwicnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsInByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSIsInByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaFByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSIsInByZW1pc2VDaGlsZE5vZGVzTGVuZ3RoIiwiZmlyc3RQcmVtaXNlQ2hpbGROb2RlIiwiZmlyc3QiLCJwcmVtaXNlQ2hpbGROb2RlIiwicHJlbWlzZUNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwicHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlIiwicHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUiLCJwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsInByZW1pc2VNZXRhVmFyaWFibGVNYXRjaGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWVxQkE7OztxRUFiUTtxQkFFUDtzQkFDTztxQkFDUzt5QkFHMEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFaEUsSUFBTUMsMEJBQTBCQyxJQUFBQSxpQkFBVSxFQUFDLHlDQUNyQ0MsaUNBQWlDQyxJQUFBQSxnQkFBUyxFQUFDLDBDQUMzQ0MsNkRBQTZESCxJQUFBQSxpQkFBVSxFQUFDO0FBRS9ELElBQUEsQUFBTUYsd0JBd0VsQixBQXhFWTthQUFNQSxRQUNQTSxpQkFBaUI7OEJBRFZOO1FBRWpCLElBQUksQ0FBQ00saUJBQWlCLEdBQUdBOztpQkFGUk47O1lBS25CTyxLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCO2dCQUNyQixPQUFPLElBQUksQ0FBQ0QsaUJBQWlCO1lBQy9COzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLHNCQUFzQkMsZ0JBQWdCLEVBQUVDLGlCQUFpQixFQUFFO2dCQUN6RCxJQUFJQywwQkFBMEIsS0FBSztnQkFFbkMsSUFBTUMsNEJBQTRCVCwrQkFBK0IsSUFBSSxDQUFDRyxpQkFBaUI7Z0JBRXZGLElBQUlNLDhCQUE4QixJQUFJLEVBQUU7b0JBQ3RDLElBQU1DLDBDQUEwQ1osd0JBQXdCVyw0QkFDbEVFLGdEQUFnREQsd0NBQXdDRSxNQUFNLEVBQzlGQyx3REFBd0RYLDJEQUEyREksbUJBQ25IUSw4REFBOERELHNEQUFzREQsTUFBTTtvQkFFaEksSUFBSUQsa0RBQWtERyw2REFBNkQ7d0JBQ2pITiwwQkFBMEJFLHdDQUF3Q0ssS0FBSyxDQUFDLFNBQUNDLHdDQUF3Q0MsT0FBVTs0QkFDL0YsSUFBTUMsdURBQXVETCxxREFBcUQsQ0FBQ0ksTUFBTSxFQUNuSEUsa0JBQWtCRCxzREFDbEJFLHlCQUF5Qkosd0NBQ3pCSyxnQ0FBZ0NDLDRCQUE0QkYsd0JBQXdCRCxpQkFBaUJaOzRCQUUzRyxJQUFJYywrQkFBK0I7Z0NBQ2pDLE9BQU8sSUFBSTs0QkFDYixDQUFDO3dCQUNIO29CQUM1QixDQUFDO2dCQUNILENBQUM7Z0JBRUQsT0FBT2I7WUFDVDs7O1lBRUFlLEtBQUFBO21CQUFBQSxTQUFBQSx1QkFBdUJwQixpQkFBaUIsRUFBRUksaUJBQWlCLEVBQUU7Z0JBQzNELElBQU1ZLGtCQUFrQmhCLG1CQUNsQmlCLHlCQUF5QixJQUFJLENBQUNqQixpQkFBaUIsRUFDL0NrQixnQ0FBZ0NDLDRCQUE0QkYsd0JBQXdCRCxpQkFBaUJaLG9CQUNyR2lCLDJCQUEyQkgsK0JBQStCLEdBQUc7Z0JBRW5FLE9BQU9HO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsU0FBUztnQkFDUCxJQUFNQyxzQkFBc0JDLElBQUFBLG9CQUFZLEVBQUMsSUFBSSxDQUFDeEIsaUJBQWlCLEdBQ3pEeUIsZ0JBQWdCRixxQkFDaEJHLE9BQU87b0JBQ0xELGVBQUFBO2dCQUNGO2dCQUVOLE9BQU9DO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFRSxjQUFjLEVBQUU7Z0JBQ3BDLElBQU0sQUFBRUgsZ0JBQWtCQyxLQUFsQkQsZUFDRkYsc0JBQXNCRSxlQUN0QnpCLG9CQUFvQjZCLElBQUFBLGdEQUF3QyxFQUFDTixxQkFBcUJLLGlCQUNsRkUsVUFBVSxJQTVEQ3BDLFFBNERXTTtnQkFFNUIsT0FBTzhCO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxzQkFBc0IvQixpQkFBaUIsRUFBRTtnQkFDOUMsSUFBTThCLFVBQVUsSUFsRUNwQyxRQWtFV007Z0JBRTVCLE9BQU84QjtZQUNUOzs7V0FyRW1CcEM7O0FBd0VyQixTQUFTc0MsaUJBQWlCQyxXQUFXLEVBQUVDLElBQUksRUFBRTlCLGlCQUFpQixFQUFFO0lBQzlELElBQUkrQixxQkFBcUIsS0FBSztJQUU5QixJQUFNQyxtQkFBbUJGLEtBQUtHLGNBQWMsSUFDdENDLHVCQUF1QkwsWUFBWUksY0FBYztJQUV2RCxJQUFJRCxxQkFBcUJFLHNCQUFzQjtRQUM3QyxJQUFJRixrQkFBa0I7WUFDcEIsSUFBTUcsZUFBZUwsTUFDZk0sc0JBQXNCUCxhQUN0QlEsNkJBQTZCQyx5QkFBeUJGLHFCQUFxQkQsY0FBY25DO1lBRS9GK0IscUJBQXFCTSw0QkFBNkIsR0FBRztRQUN2RCxPQUFPO1lBQ0wsSUFBTXpCLGtCQUFrQmtCLE1BQ2xCakIseUJBQXlCZ0IsYUFDekJmLGdDQUFnQ0MsNEJBQTRCRix3QkFBd0JELGlCQUFpQlo7WUFFM0crQixxQkFBcUJqQiwrQkFBK0IsR0FBRztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU9pQjtBQUNUO0FBRUEsU0FBU1Esa0JBQWtCQyxZQUFZLEVBQUVDLEtBQUssRUFBRXpDLGlCQUFpQixFQUFFO0lBQ2pFLElBQUkwQyxzQkFBc0IsS0FBSztJQUUvQixJQUFNQyxjQUFjRixNQUFNcEMsTUFBTSxFQUMxQnVDLHFCQUFxQkosYUFBYW5DLE1BQU07SUFFOUMsSUFBSXNDLGdCQUFnQkMsb0JBQW9CO1FBQ3RDRixzQkFBc0JELE1BQU1qQyxLQUFLLENBQUMsU0FBQ3NCLE1BQU1wQixPQUFVO1lBQ2pELElBQU1tQixjQUFjVyxZQUFZLENBQUM5QixNQUFNLEVBQ2pDcUIscUJBQXFCSCxpQkFBaUJDLGFBQWFDLE1BQU05QjtZQUUvRCxJQUFJK0Isb0JBQW9CO2dCQUN0QixPQUFPLElBQUk7WUFDYixDQUFDO1FBQ0g7SUFDRixDQUFDO0lBRUQsT0FBT1c7QUFDVDtBQUVBLFNBQVNHLHlCQUF5QkMsdUJBQXVCLEVBQUVMLEtBQUssRUFBRXpDLGlCQUFpQixFQUFFO0lBQ25GLElBQUkrQztJQUVKLElBQU1DLDBCQUEwQkMsSUFBQUEsMkNBQW9DLEVBQUNILDBCQUMvREksbUJBQW1CbEQsa0JBQWtCbUQsSUFBSSxDQUFDLFNBQUNELGtCQUFxQjtRQUM5RCxJQUFNRSxtQkFBbUJGLGlCQUFpQkcsbUJBQW1CO1FBRTdELElBQUlELHFCQUFxQkoseUJBQXlCO1lBQ2hELE9BQU8sSUFBSTtRQUNiLENBQUM7SUFDSCxNQUFNLElBQUk7SUFFaEIsSUFBSUUscUJBQXFCLElBQUksRUFBRTtRQUM3QixJQUFNSSw2QkFBNkJKLGlCQUFpQkssVUFBVSxDQUFDZDtRQUUvRE0sNkJBQTZCTyw0QkFBNkIsR0FBRztJQUMvRCxPQUFPO1FBQ0wsSUFBTUYsbUJBQW1CSix5QkFDbkJFLG9CQUFtQk0seUJBQWdCLENBQUNDLDRCQUE0QixDQUFDTCxrQkFBa0JYO1FBRXpGekMsa0JBQWtCMEQsSUFBSSxDQUFDUjtRQUV2QkgsNkJBQTZCLElBQUk7SUFDbkMsQ0FBQztJQUVELE9BQU9BO0FBQ1Q7QUFFQSxTQUFTVCx5QkFBeUJGLG1CQUFtQixFQUFFRCxZQUFZLEVBQUVuQyxpQkFBaUIsRUFBRTtJQUN0RixJQUFNMkQsVUFBVXZCLG9CQUFvQndCLEtBQUssQ0FBQ3pCLGVBQ3BDRSw2QkFBNkJzQjtJQUVuQyxPQUFPdEI7QUFDVDtBQUVBLFNBQVN0Qiw0QkFBNEJGLHNCQUFzQixFQUFFRCxlQUFlLEVBQUVaLGlCQUFpQixFQUFFO0lBQy9GLElBQUljLGdDQUFnQyxLQUFLO0lBRXpDLElBQU0rQyxXQUFXakQsZ0JBQWdCa0QsV0FBVyxJQUN0Q0Msa0JBQWtCbEQsdUJBQXVCaUQsV0FBVyxJQUFJLEdBQUc7SUFFakUsSUFBSUQsYUFBYUUsaUJBQWlCO1FBQ2hDLElBQU1DLGFBQWFwRCxnQkFBZ0JxRCxhQUFhLElBQzFDQyxvQkFBb0JyRCx1QkFBdUJvRCxhQUFhLElBQ3hEeEIsUUFBUXVCLFlBQ1J4QixlQUFlMEIsbUJBQ2ZDLDJCQUEyQjVCLGtCQUFrQkMsY0FBY0MsT0FBT3pDO1FBRXhFYyxnQ0FBZ0NxRCwwQkFBMEIsR0FBRztRQUU3RCxJQUFJLENBQUNyRCwrQkFBK0I7WUFDbEMsSUFBTXNELGdDQUFpQ1AsYUFBYVEsa0NBQXVCO1lBRTNFLElBQUlELCtCQUErQjtnQkFDakMsSUFBTXhFLG9CQUFvQmdCLGlCQUNwQjBELDJCQUEyQnpELHdCQUMzQjBELGtDQUFrQ0MsOEJBQThCRiwwQkFBMEIxRSxtQkFBbUJJO2dCQUVuSGMsZ0NBQWdDeUQsaUNBQWlDLEdBQUc7WUFDdEUsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBT3pEO0FBQ1Q7QUFFQSxTQUFTMEQsOEJBQThCRix3QkFBd0IsRUFBRTFFLGlCQUFpQixFQUFFSSxpQkFBaUIsRUFBRTtJQUNyRyxJQUFJdUUsa0NBQWtDLEtBQUs7SUFFM0MsSUFBTTFELHlCQUF5QnlELDBCQUN6Qkosb0JBQW9CckQsdUJBQXVCb0QsYUFBYSxJQUN4RFEsMEJBQTBCUCxrQkFBa0I3RCxNQUFNO0lBRXhELElBQUlvRSw0QkFBNEIsR0FBRztRQUNqQyxJQUFNQyx3QkFBd0JDLElBQUFBLFlBQUssRUFBQ1Qsb0JBQzlCVSxtQkFBbUJGLHVCQUNuQkcsa0NBQWtDRCxpQkFBaUJFLGlCQUFpQjtRQUUxRSxJQUFJRCxpQ0FBaUM7WUFDbkMsSUFBTUUsOEJBQThCSCxrQkFDOUJJLHNDQUFzQ0QsNEJBQTRCakIsV0FBVyxJQUM3RW1CLDBEQUEyREQsd0NBQXdDRSxpQ0FBc0I7WUFFL0gsSUFBSUQseURBQXlEO2dCQUMzRCxJQUFNbkMsMEJBQTBCaUMsNkJBQzFCbkUsa0JBQWtCaEIsbUJBQ2xCb0UsYUFBYXBELGdCQUFnQnFELGFBQWEsSUFDMUN4QixRQUFRdUIsWUFDUm1CLDZCQUE2QnRDLHlCQUF5QkMseUJBQXlCTCxPQUFPekM7Z0JBRTVGdUUsa0NBQWtDWSw0QkFBNEIsR0FBRztZQUNuRSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPWjtBQUNUIn0=
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVtaXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YVN1YnN0aXR1dGlvbiBmcm9tIFwiLi9tZXRhU3Vic3RpdHV0aW9uXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsIE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IG1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhU3VicHJvb2ZBc3NlcnRpb24vbWV0YXN0YXRlbWVudFwiKSxcbiAgICAgIG1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L21ldGFTdWJwcm9vZkFzc2VydGlvbiFcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YVN1YnByb29mL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKSxcbiAgICAgIHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhU3VicHJvb2YvbWV0YURlcml2YXRpb258YWJyaWRnZWRNZXRhRGVyaXZhdGlvbi9cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFByZW1pc2Uge1xuICBjb25zdHJ1Y3RvcihtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMubWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldE1ldGFzdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hNZXRhU3VicHJvb2ZOb2RlKG1ldGFTdWJwcm9vZk5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IG1ldGFTdWJwcm9vZk5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBtZXRhU3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gbWV0YVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5KHRoaXMubWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKG1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGFTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlcyA9IG1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5KG1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgbWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoID0gbWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzLmxlbmd0aCxcbiAgICAgICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlcyA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5KG1ldGFTdWJwcm9vZk5vZGUpLFxuICAgICAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoID0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzLmxlbmd0aDtcblxuICAgICAgaWYgKG1ldGFTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2Rlc0xlbmd0aCA9PT0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoKSB7XG4gICAgICAgIG1ldGFTdWJwcm9vZk5vZGVNYXRjaGVzID0gbWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzLmV2ZXJ5KChtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzW2luZGV4XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZW1pc2VOb25UZXJtaW5hbE5vZGUgPSBtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VOb25UZXJtaW5hbE5vZGUocHJlbWlzZU5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YVN1YnByb29mTm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZSA9IHRoaXMubWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZU5vblRlcm1pbmFsTm9kZShwcmVtaXNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5tZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXN0YXRlbWVudCA9IG1ldGFzdGF0ZW1lbnRTdHJpbmcsIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBtZXRhc3RhdGVtZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KSB7XG4gICAgY29uc3QgeyBtZXRhc3RhdGVtZW50IH0gPSBqc29uLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBtZXRhc3RhdGVtZW50LCAgLy8vXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nKG1ldGFzdGF0ZW1lbnRTdHJpbmcsIHJlbGVhc2VDb250ZXh0KSxcbiAgICAgICAgICBwcmVtaXNlID0gbmV3IFByZW1pc2UobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIHByZW1pc2U7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3QgcHJlbWlzZSA9IG5ldyBQcmVtaXNlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBwcmVtaXNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZU5vZGUocHJlbWlzZU5vZGUsIG5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBwcmVtaXNlTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICBydWxlTm9kZVRlcm1pbmFsTm9kZSA9IHByZW1pc2VOb2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IHJ1bGVOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIHByZW1pc2VUZXJtaW5hbE5vZGUgPSBwcmVtaXNlTm9kZSwgIC8vL1xuICAgICAgICAgICAgcHJlbWlzZVRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VUZXJtaW5hbE5vZGUocHJlbWlzZVRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIHByZW1pc2VOb2RlTWF0Y2hlcyA9IHByZW1pc2VUZXJtaW5hbE5vZGVNYXRjaGVzOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZSA9IHByZW1pc2VOb2RlLCAgLy8vXG4gICAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZU5vblRlcm1pbmFsTm9kZShwcmVtaXNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgcHJlbWlzZU5vZGVNYXRjaGVzID0gcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcmVtaXNlTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZU5vZGVzKHByZW1pc2VOb2Rlcywgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBwcmVtaXNlTm9kZXNNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIHByZW1pc2VOb2Rlc0xlbmd0aCA9IHByZW1pc2VOb2Rlcy5sZW5ndGg7XG5cbiAgaWYgKG5vZGVzTGVuZ3RoID09PSBwcmVtaXNlTm9kZXNMZW5ndGgpIHtcbiAgICBwcmVtaXNlTm9kZXNNYXRjaGVzID0gbm9kZXMuZXZlcnkoKG5vZGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBwcmVtaXNlTm9kZSA9IHByZW1pc2VOb2Rlc1tpbmRleF0sXG4gICAgICAgICAgICBwcmVtaXNlTm9kZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VOb2RlKHByZW1pc2VOb2RlLCBub2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGlmIChwcmVtaXNlTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcHJlbWlzZU5vZGVzTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hQcmVtaXNlTWV0YXZhcmlhYmxlKHByZW1pc2VNZXRhdmFyaWFibGVOb2RlLCBub2RlcywgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IHByZW1pc2VNZXRhdmFyaWFibGVNYXRjaGVzO1xuXG4gIGNvbnN0IHByZW1pc2VNZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKHByZW1pc2VNZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgbWV0YVN1YnN0aXR1dGlvbiA9IG1ldGFTdWJzdGl0dXRpb25zLmZpbmQoKG1ldGFTdWJzdGl0dXRpb24pID0+IHtcbiAgICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YVN1YnN0aXR1dGlvbi5nZXRNZXRhdmFyaWFibGVOYW1lKCk7XG5cbiAgICAgICAgICBpZiAobWV0YXZhcmlhYmxlTmFtZSA9PT0gcHJlbWlzZU1ldGF2YXJpYWJsZU5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgbnVsbDtcblxuICBpZiAobWV0YVN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoID0gbWV0YVN1YnN0aXR1dGlvbi5tYXRjaE5vZGVzKG5vZGVzKTtcblxuICAgIHByZW1pc2VNZXRhdmFyaWFibGVNYXRjaGVzID0gbWV0YVN1YnN0aXR1dGlvbk5vZGVzTWF0Y2g7ICAvLy9cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gcHJlbWlzZU1ldGF2YXJpYWJsZU5hbWUsIC8vL1xuICAgICAgICAgIG1ldGFTdWJzdGl0dXRpb24gPSBNZXRhU3Vic3RpdHV0aW9uLmZyb21NZXRhdmFyaWFibGVOYW1lQW5kTm9kZXMobWV0YXZhcmlhYmxlTmFtZSwgbm9kZXMpO1xuXG4gICAgbWV0YVN1YnN0aXR1dGlvbnMucHVzaChtZXRhU3Vic3RpdHV0aW9uKTtcblxuICAgIHByZW1pc2VNZXRhdmFyaWFibGVNYXRjaGVzID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBwcmVtaXNlTWV0YXZhcmlhYmxlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hQcmVtaXNlVGVybWluYWxOb2RlKHByZW1pc2VUZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgY29uc3QgbWF0Y2hlcyA9IHByZW1pc2VUZXJtaW5hbE5vZGUubWF0Y2godGVybWluYWxOb2RlKSxcbiAgICAgICAgcHJlbWlzZVRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaGVzO1xuXG4gIHJldHVybiBwcmVtaXNlVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hQcmVtaXNlTm9uVGVybWluYWxOb2RlKHByZW1pc2VOb25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IHByZW1pc2VOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgcHJlbWlzZVJ1bGVOYW1lID0gcHJlbWlzZU5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICBpZiAocnVsZU5hbWUgPT09IHByZW1pc2VSdWxlTmFtZSkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIHByZW1pc2VDaGlsZE5vZGVzID0gcHJlbWlzZU5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBwcmVtaXNlTm9kZXMgPSBwcmVtaXNlQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgcHJlbWlzZUNoaWxkTm9kZXNNYXRjaGVzID0gbWF0Y2hQcmVtaXNlTm9kZXMocHJlbWlzZU5vZGVzLCBub2RlcywgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBwcmVtaXNlQ2hpbGROb2Rlc01hdGNoZXM7IC8vL1xuXG4gICAgaWYgKCFwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcykge1xuICAgICAgY29uc3QgcnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUgPSAocnVsZU5hbWUgPT09IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FKTtcblxuICAgICAgaWYgKHJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgIHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSA9IHByZW1pc2VOb25UZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgcHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlKHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7IC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hQcmVtaXNlTWV0YXN0YXRlbWVudE5vZGUocHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBwcmVtaXNlTm9uVGVybWluYWxOb2RlID0gcHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIHByZW1pc2VDaGlsZE5vZGVzID0gcHJlbWlzZU5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIHByZW1pc2VDaGlsZE5vZGVzTGVuZ3RoID0gcHJlbWlzZUNoaWxkTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChwcmVtaXNlQ2hpbGROb2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGZpcnN0UHJlbWlzZUNoaWxkTm9kZSA9IGZpcnN0KHByZW1pc2VDaGlsZE5vZGVzKSxcbiAgICAgICAgICBwcmVtaXNlQ2hpbGROb2RlID0gZmlyc3RQcmVtaXNlQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgcHJlbWlzZUNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IHByZW1pc2VDaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChwcmVtaXNlQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGUgPSBwcmVtaXNlQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSA9IHByZW1pc2VOb25UZXJtaW5hbENoaWxkTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSA9IChwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSA9PT0gTUVUQVZBUklBQkxFX1JVTEVfTkFNRSk7XG5cbiAgICAgIGlmIChwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IHByZW1pc2VNZXRhdmFyaWFibGVOb2RlID0gcHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICAgIGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgICBwcmVtaXNlTWV0YVZhcmlhYmxlTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZU1ldGF2YXJpYWJsZShwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSwgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgICBwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gcHJlbWlzZU1ldGFWYXJpYWJsZU1hdGNoZXM7IC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzO1xufVxuIl0sIm5hbWVzIjpbIlByZW1pc2UiLCJtZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhU3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGFTdWJwcm9vZk5vZGUiLCJtZXRhU3VicHJvb2ZOb2RlIiwibWV0YVN1YnN0aXR1dGlvbnMiLCJtZXRhU3VicHJvb2ZOb2RlTWF0Y2hlcyIsIm1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMiLCJtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXMiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNMZW5ndGgiLCJldmVyeSIsIm1ldGFTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlIiwiaW5kZXgiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsInByZW1pc2VOb25UZXJtaW5hbE5vZGUiLCJwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoUHJlbWlzZU5vblRlcm1pbmFsTm9kZSIsIm1hdGNoTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJ0b0pTT04iLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwibWV0YXN0YXRlbWVudCIsImpzb24iLCJmcm9tSlNPTiIsInJlbGVhc2VDb250ZXh0IiwibWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyIsInByZW1pc2UiLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaFByZW1pc2VOb2RlIiwicHJlbWlzZU5vZGUiLCJub2RlIiwicHJlbWlzZU5vZGVNYXRjaGVzIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwicnVsZU5vZGVUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJwcmVtaXNlVGVybWluYWxOb2RlIiwicHJlbWlzZVRlcm1pbmFsTm9kZU1hdGNoZXMiLCJtYXRjaFByZW1pc2VUZXJtaW5hbE5vZGUiLCJtYXRjaFByZW1pc2VOb2RlcyIsInByZW1pc2VOb2RlcyIsIm5vZGVzIiwicHJlbWlzZU5vZGVzTWF0Y2hlcyIsIm5vZGVzTGVuZ3RoIiwicHJlbWlzZU5vZGVzTGVuZ3RoIiwibWF0Y2hQcmVtaXNlTWV0YXZhcmlhYmxlIiwicHJlbWlzZU1ldGF2YXJpYWJsZU5vZGUiLCJwcmVtaXNlTWV0YXZhcmlhYmxlTWF0Y2hlcyIsInByZW1pc2VNZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwibWV0YVN1YnN0aXR1dGlvbiIsImZpbmQiLCJtZXRhdmFyaWFibGVOYW1lIiwiZ2V0TWV0YXZhcmlhYmxlTmFtZSIsIm1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoIiwibWF0Y2hOb2RlcyIsIk1ldGFTdWJzdGl0dXRpb24iLCJmcm9tTWV0YXZhcmlhYmxlTmFtZUFuZE5vZGVzIiwicHVzaCIsIm1hdGNoZXMiLCJtYXRjaCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJwcmVtaXNlUnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsInByZW1pc2VDaGlsZE5vZGVzIiwicHJlbWlzZUNoaWxkTm9kZXNNYXRjaGVzIiwicnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsInByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSIsInByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaFByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSIsInByZW1pc2VDaGlsZE5vZGVzTGVuZ3RoIiwiZmlyc3RQcmVtaXNlQ2hpbGROb2RlIiwiZmlyc3QiLCJwcmVtaXNlQ2hpbGROb2RlIiwicHJlbWlzZUNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwicHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlIiwicHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUiLCJwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsInByZW1pc2VNZXRhVmFyaWFibGVNYXRjaGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWdCcUJBOzs7cUVBZFE7cUJBRVA7c0JBQ087cUJBQ1M7eUJBRzBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWhFLElBQU1DLDBCQUEwQkMsSUFBQUEsaUJBQVUsRUFBQyx5Q0FDckNDLGlDQUFpQ0MsSUFBQUEsZ0JBQVMsRUFBQywwQ0FDM0NDLGtEQUFrREgsSUFBQUEsaUJBQVUsRUFBQywwREFDN0RJLDREQUE0REYsSUFBQUEsZ0JBQVMsRUFBQztBQUU3RCxJQUFBLEFBQU1KLHdCQXdFbEIsQUF4RVk7YUFBTUEsUUFDUE8saUJBQWlCOzhCQURWUDtRQUVqQixJQUFJLENBQUNPLGlCQUFpQixHQUFHQTs7aUJBRlJQOztZQUtuQlEsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QjtnQkFDckIsT0FBTyxJQUFJLENBQUNELGlCQUFpQjtZQUMvQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JDLGdCQUFnQixFQUFFQyxpQkFBaUIsRUFBRTtnQkFDekQsSUFBSUMsMEJBQTBCLEtBQUs7Z0JBRW5DLElBQU1DLDRCQUE0QlYsK0JBQStCLElBQUksQ0FBQ0ksaUJBQWlCO2dCQUV2RixJQUFJTSw4QkFBOEIsSUFBSSxFQUFFO29CQUN0QyxJQUFNQywwQ0FBMENiLHdCQUF3QlksNEJBQ2xFRSxnREFBZ0RELHdDQUF3Q0UsTUFBTSxFQUM5RkMsNkNBQTZDWixnREFBZ0RLLG1CQUM3RlEsbURBQW1ERCwyQ0FBMkNELE1BQU07b0JBRTFHLElBQUlELGtEQUFrREcsa0RBQWtEO3dCQUN0R04sMEJBQTBCRSx3Q0FBd0NLLEtBQUssQ0FBQyxTQUFDQyx3Q0FBd0NDLE9BQVU7NEJBQy9GLElBQU1DLDRDQUE0Q0wsMENBQTBDLENBQUNJLE1BQU0sRUFDN0ZF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
@@ -12,7 +12,6 @@ var _metaAssertion = /*#__PURE__*/ _interopRequireDefault(require("../metaAssert
12
12
  var _metaproof = /*#__PURE__*/ _interopRequireDefault(require("../context/metaproof"));
13
13
  var _qualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/metastatement/qualified"));
14
14
  var _unqualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/metastatement/unqualified"));
15
- var _array = require("../utilities/array");
16
15
  var _query = require("../utilities/query");
17
16
  var _ruleNames = require("../ruleNames");
18
17
  function _interopRequireDefault(obj) {
@@ -20,7 +19,7 @@ function _interopRequireDefault(obj) {
20
19
  default: obj
21
20
  };
22
21
  }
23
- var metaDerivationNodeQuery = (0, _query.nodeQuery)("/metaSubproof/metaDerivation!"), metaDerivationChildNodesQuery = (0, _query.nodesQuery)("/metaDerivation/*"), qualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement"), unqualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/unqualifiedMetastatement!"), qualifiedOrUnqualifiedMetastatementNodesQuery = (0, _query.nodesQuery)("/metaSubproof/qualifiedMetastatement|unqualifiedMetastatement");
22
+ var metaDerivationNodeQuery = (0, _query.nodeQuery)("/metaSubproof/metaDerivation|abridgedMetaDerivation!"), metaDerivationChildNodesQuery = (0, _query.nodesQuery)("/metaDerivation|abridgedMetaDerivation/*"), unqualifiedMetastatementNodesQuery = (0, _query.nodesQuery)("/metaSubproof/unqualifiedMetastatement");
24
23
  function verifyMetaDerivation(metaDerivationNode, metaproofContext) {
25
24
  var metaDerivationVerified, derived;
26
25
  metaproofContext.begin(metaDerivationNode);
@@ -78,7 +77,7 @@ function verifyMetaDerivationChild(metaDerivationChildNode, metaproofContext) {
78
77
  function verifyMetaSubproof(metaSubproofNode, metaproofContext) {
79
78
  var metaSubproofVerified = false;
80
79
  metaproofContext = _metaproof.default.fromMetaproofContext(metaproofContext); ///
81
- var qualifiedOrUnqualifiedMetastatementNodes = qualifiedOrUnqualifiedMetastatementNodesQuery(metaSubproofNode), frontQualifiedOrUnqualifiedMetastatementNodes = (0, _array.front)(qualifiedOrUnqualifiedMetastatementNodes), unqualifiedMetastatementNodes = frontQualifiedOrUnqualifiedMetastatementNodes, unqualifiedMetastatementsVerified = unqualifiedMetastatementNodes.every(function(unqualifiedMetastatementNode) {
80
+ var unqualifiedMetastatementNodes = unqualifiedMetastatementNodesQuery(metaSubproofNode), unqualifiedMetastatementsVerified = unqualifiedMetastatementNodes.every(function(unqualifiedMetastatementNode) {
82
81
  var unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, metaproofContext);
83
82
  if (unqualifiedMetastatementVerified) {
84
83
  return true;
@@ -89,24 +88,12 @@ function verifyMetaSubproof(metaSubproofNode, metaproofContext) {
89
88
  var metaAssertion = _metaAssertion.default.fromUnqualifiedMetastatementNode(unqualifiedMetastatementNode);
90
89
  metaproofContext.addMetaAssertion(metaAssertion);
91
90
  });
92
- var metaDerivationVerified = true;
93
- var metaDerivationNode = metaDerivationNodeQuery(metaSubproofNode);
94
- if (metaDerivationNode !== null) {
95
- metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, metaproofContext);
96
- }
91
+ var metaDerivationNode = metaDerivationNodeQuery(metaSubproofNode), metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, metaproofContext);
97
92
  if (metaDerivationVerified) {
98
- var lastQualifiedOrUnqualifiedMetastatementNode = (0, _array.last)(qualifiedOrUnqualifiedMetastatementNodes), qualifiedOrUnqualifiedMetastatementNode = lastQualifiedOrUnqualifiedMetastatementNode, qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(qualifiedOrUnqualifiedMetastatementNode), unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(qualifiedOrUnqualifiedMetastatementNode);
99
- if (qualifiedMetastatementNode !== null) {
100
- var qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode, metaproofContext);
101
- metaSubproofVerified = qualifiedMetastatementVerified; ///
102
- }
103
- if (unqualifiedMetastatementNode !== null) {
104
- var unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, metaproofContext);
105
- metaSubproofVerified = unqualifiedMetastatementVerified; ///
106
- }
93
+ metaSubproofVerified = true;
107
94
  }
108
95
  }
109
96
  return metaSubproofVerified;
110
97
  }
111
98
 
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YURlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhQXNzZXJ0aW9uIGZyb20gXCIuLi9tZXRhQXNzZXJ0aW9uXCI7XG5pbXBvcnQgTWV0YXByb29mQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9tZXRhcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IGZyb250LCBsYXN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgTUVUQV9TVUJQUk9PRl9SVUxFX05BTUUsIFFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSwgVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IG1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFTdWJwcm9vZi9tZXRhRGVyaXZhdGlvbiFcIiksXG4gICAgICBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YURlcml2YXRpb24vKlwiKSxcbiAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkTWV0YXN0YXRlbWVudFwiKSxcbiAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhU3VicHJvb2YvcXVhbGlmaWVkTWV0YXN0YXRlbWVudHx1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRcIilcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YURlcml2YXRpb24obWV0YURlcml2YXRpb25Ob2RlLCBtZXRhcHJvb2ZDb250ZXh0KSB7XG4gIGxldCBtZXRhRGVyaXZhdGlvblZlcmlmaWVkLFxuICAgICAgZGVyaXZlZDtcblxuICBtZXRhcHJvb2ZDb250ZXh0LmJlZ2luKG1ldGFEZXJpdmF0aW9uTm9kZSk7XG5cbiAgZGVyaXZlZCA9IHRydWU7XG5cbiAgbWV0YXByb29mQ29udGV4dC5zZXREZXJpdmVkKGRlcml2ZWQpO1xuXG4gIGNvbnN0IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlcyA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1F1ZXJ5KG1ldGFEZXJpdmF0aW9uTm9kZSk7XG5cbiAgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlcy5ldmVyeSgobWV0YURlcml2YXRpb25DaGlsZE5vZGUpID0+IHsgIC8vL1xuICAgIGNvbnN0IG1ldGFEZXJpdmF0aW9uQ2hpbGRWZXJpZmllZCA9IHZlcmlmeU1ldGFEZXJpdmF0aW9uQ2hpbGQobWV0YURlcml2YXRpb25DaGlsZE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFEZXJpdmF0aW9uQ2hpbGRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBkZXJpdmVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5zZXREZXJpdmVkKGRlcml2ZWQpO1xuXG4gIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgP1xuICAgIG1ldGFwcm9vZkNvbnRleHQuY29tcGxldGUobWV0YURlcml2YXRpb25Ob2RlKSA6XG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmhhbHQobWV0YURlcml2YXRpb25Ob2RlKTtcblxuICByZXR1cm4gbWV0YURlcml2YXRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YURlcml2YXRpb25DaGlsZChtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZSwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgbWV0YURlcml2YXRpb25DaGlsZFZlcmlmaWVkO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbWV0YURlcml2YXRpb25DaGlsZE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICBzd2l0Y2ggKHJ1bGVOYW1lKSB7XG4gICAgY2FzZSBNRVRBX1NVQlBST09GX1JVTEVfTkFNRToge1xuICAgICAgY29uc3QgbWV0YVN1YnByb29mTm9kZSA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBtZXRhU3VicHJvb2ZWZXJpZmllZCA9IHZlcmlmeU1ldGFTdWJwcm9vZihtZXRhU3VicHJvb2ZOb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgICAgaWYgKG1ldGFTdWJwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21NZXRhU3VicHJvb2ZOb2RlKG1ldGFTdWJwcm9vZk5vZGUpO1xuXG4gICAgICAgIG1ldGFwcm9vZkNvbnRleHQuYWRkTWV0YUFzc2VydGlvbihtZXRhQXNzZXJ0aW9uKTtcblxuICAgICAgICBtZXRhRGVyaXZhdGlvbkNoaWxkVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjYXNlIFFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRToge1xuICAgICAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgbWV0YUFzc2VydGlvbiA9IE1ldGFBc3NlcnRpb24uZnJvbVF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBtZXRhcHJvb2ZDb250ZXh0LmFkZE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbik7XG5cbiAgICAgICAgbWV0YURlcml2YXRpb25DaGlsZFZlcmlmaWVkID0gcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkOyAvLy9cbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2FzZSBVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRToge1xuICAgICAgY29uc3QgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21VbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgIG1ldGFwcm9vZkNvbnRleHQuYWRkTWV0YUFzc2VydGlvbihtZXRhQXNzZXJ0aW9uKTtcblxuICAgICAgICBtZXRhRGVyaXZhdGlvbkNoaWxkVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YURlcml2YXRpb25DaGlsZFZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhU3VicHJvb2YobWV0YVN1YnByb29mTm9kZSwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgbWV0YVN1YnByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBtZXRhcHJvb2ZDb250ZXh0ID0gTWV0YXByb29mQ29udGV4dC5mcm9tTWV0YXByb29mQ29udGV4dChtZXRhcHJvb2ZDb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlcyA9IHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeShtZXRhU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgZnJvbnRRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzID0gZnJvbnQocXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlcyksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzID0gZnJvbnRRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzLCAgLy8vXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudHNWZXJpZmllZCA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzLmV2ZXJ5KCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgICAgICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudHNWZXJpZmllZCkge1xuICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzLmZvckVhY2goKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21VbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmFkZE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbik7XG4gICAgfSk7XG5cbiAgICBsZXQgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IHRydWU7XG5cbiAgICBjb25zdCBtZXRhRGVyaXZhdGlvbk5vZGUgPSBtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeShtZXRhU3VicHJvb2ZOb2RlKTtcblxuICAgIGlmIChtZXRhRGVyaXZhdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlNZXRhRGVyaXZhdGlvbihtZXRhRGVyaXZhdGlvbk5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmIChtZXRhRGVyaXZhdGlvblZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBsYXN0UXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gbGFzdChxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzKSxcbiAgICAgICAgICAgIHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IGxhc3RRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgICAgbWV0YVN1YnByb29mVmVyaWZpZWQgPSBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7ICAvLy9cbiAgICAgIH1cblxuICAgICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgICAgbWV0YVN1YnByb29mVmVyaWZpZWQgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgIC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhU3VicHJvb2ZWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhRGVyaXZhdGlvbiIsIm1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YURlcml2YXRpb25DaGlsZE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsIm1ldGFEZXJpdmF0aW9uTm9kZSIsIm1ldGFwcm9vZkNvbnRleHQiLCJtZXRhRGVyaXZhdGlvblZlcmlmaWVkIiwiZGVyaXZlZCIsImJlZ2luIiwic2V0RGVyaXZlZCIsIm1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlcyIsImV2ZXJ5IiwibWV0YURlcml2YXRpb25DaGlsZE5vZGUiLCJtZXRhRGVyaXZhdGlvbkNoaWxkVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhRGVyaXZhdGlvbkNoaWxkIiwiY29tcGxldGUiLCJoYWx0IiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIk1FVEFfU1VCUFJPT0ZfUlVMRV9OQU1FIiwibWV0YVN1YnByb29mTm9kZSIsIm1ldGFTdWJwcm9vZlZlcmlmaWVkIiwidmVyaWZ5TWV0YVN1YnByb29mIiwibWV0YUFzc2VydGlvbiIsIk1ldGFBc3NlcnRpb24iLCJmcm9tTWV0YVN1YnByb29mTm9kZSIsImFkZE1ldGFBc3NlcnRpb24iLCJRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJmcm9tUXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsImZyb21VbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwiTWV0YXByb29mQ29udGV4dCIsImZyb21NZXRhcHJvb2ZDb250ZXh0IiwicXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlcyIsImZyb250UXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlcyIsImZyb250IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXMiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRzVmVyaWZpZWQiLCJmb3JFYWNoIiwibGFzdFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsImxhc3QiLCJxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWlCQTs7O2VBQXdCQTs7O2tFQWZFOzhEQUNHOzhEQUNZO2dFQUNFO3FCQUVmO3FCQUNVO3lCQUMwRTs7Ozs7O0FBRWhILElBQU1DLDBCQUEwQkMsSUFBQUEsZ0JBQVMsRUFBQyxrQ0FDcENDLGdDQUFnQ0MsSUFBQUEsaUJBQVUsRUFBQyxzQkFDM0NDLGtDQUFrQ0gsSUFBQUEsZ0JBQVMsRUFBQyw0QkFDNUNJLG9DQUFvQ0osSUFBQUEsZ0JBQVMsRUFBQywrQkFDOUNLLGdEQUFnREgsSUFBQUEsaUJBQVUsRUFBQztBQUVsRCxTQUFTSixxQkFBcUJRLGtCQUFrQixFQUFFQyxnQkFBZ0IsRUFBRTtJQUNqRixJQUFJQyx3QkFDQUM7SUFFSkYsaUJBQWlCRyxLQUFLLENBQUNKO0lBRXZCRyxVQUFVLElBQUk7SUFFZEYsaUJBQWlCSSxVQUFVLENBQUNGO0lBRTVCLElBQU1HLDJCQUEyQlgsOEJBQThCSztJQUUvREUseUJBQXlCSSx5QkFBeUJDLEtBQUssQ0FBQyxTQUFDQyx5QkFBNEI7UUFDbkYsSUFBTUMsOEJBQThCQywwQkFBMEJGLHlCQUF5QlA7UUFFdkYsSUFBSVEsNkJBQTZCO1lBQy9CLE9BQU8sSUFBSTtRQUNiLENBQUM7SUFDSDtJQUVBTixVQUFVLEtB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
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YURlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhQXNzZXJ0aW9uIGZyb20gXCIuLi9tZXRhQXNzZXJ0aW9uXCI7XG5pbXBvcnQgTWV0YXByb29mQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9tZXRhcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IE1FVEFfU1VCUFJPT0ZfUlVMRV9OQU1FLCBRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUsIFVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCBtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhU3VicHJvb2YvbWV0YURlcml2YXRpb258YWJyaWRnZWRNZXRhRGVyaXZhdGlvbiFcIiksICAvLy9cbiAgICAgIG1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhRGVyaXZhdGlvbnxhYnJpZGdlZE1ldGFEZXJpdmF0aW9uLypcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhU3VicHJvb2YvdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50XCIpXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeU1ldGFEZXJpdmF0aW9uKG1ldGFEZXJpdmF0aW9uTm9kZSwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgbWV0YURlcml2YXRpb25WZXJpZmllZCxcbiAgICAgIGRlcml2ZWQ7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihtZXRhRGVyaXZhdGlvbk5vZGUpO1xuXG4gIGRlcml2ZWQgPSB0cnVlO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuc2V0RGVyaXZlZChkZXJpdmVkKTtcblxuICBjb25zdCBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXMgPSBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXNRdWVyeShtZXRhRGVyaXZhdGlvbk5vZGUpO1xuXG4gIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXMuZXZlcnkoKG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlKSA9PiB7ICAvLy9cbiAgICBjb25zdCBtZXRhRGVyaXZhdGlvbkNoaWxkVmVyaWZpZWQgPSB2ZXJpZnlNZXRhRGVyaXZhdGlvbkNoaWxkKG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmIChtZXRhRGVyaXZhdGlvbkNoaWxkVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgZGVyaXZlZCA9IGZhbHNlO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuc2V0RGVyaXZlZChkZXJpdmVkKTtcblxuICBtZXRhRGVyaXZhdGlvblZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKG1ldGFEZXJpdmF0aW9uTm9kZSkgOlxuICAgICAgbWV0YXByb29mQ29udGV4dC5oYWx0KG1ldGFEZXJpdmF0aW9uTm9kZSk7XG5cbiAgcmV0dXJuIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFEZXJpdmF0aW9uQ2hpbGQobWV0YURlcml2YXRpb25DaGlsZE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IG1ldGFEZXJpdmF0aW9uQ2hpbGRWZXJpZmllZDtcblxuICBjb25zdCBydWxlTmFtZSA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlLmdldFJ1bGVOYW1lKCk7XG5cbiAgc3dpdGNoIChydWxlTmFtZSkge1xuICAgIGNhc2UgTUVUQV9TVUJQUk9PRl9SVUxFX05BTUU6IHtcbiAgICAgIGNvbnN0IG1ldGFTdWJwcm9vZk5vZGUgPSBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgbWV0YVN1YnByb29mVmVyaWZpZWQgPSB2ZXJpZnlNZXRhU3VicHJvb2YobWV0YVN1YnByb29mTm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmIChtZXRhU3VicHJvb2ZWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBtZXRhQXNzZXJ0aW9uID0gTWV0YUFzc2VydGlvbi5mcm9tTWV0YVN1YnByb29mTm9kZShtZXRhU3VicHJvb2ZOb2RlKTtcblxuICAgICAgICBtZXRhcHJvb2ZDb250ZXh0LmFkZE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbik7XG5cbiAgICAgICAgbWV0YURlcml2YXRpb25DaGlsZFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2FzZSBRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgIGNvbnN0IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YURlcml2YXRpb25DaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21RdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgbWV0YXByb29mQ29udGV4dC5hZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuXG4gICAgICAgIG1ldGFEZXJpdmF0aW9uQ2hpbGRWZXJpZmllZCA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgIGNvbnN0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBtZXRhQXNzZXJ0aW9uID0gTWV0YUFzc2VydGlvbi5mcm9tVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBtZXRhcHJvb2ZDb250ZXh0LmFkZE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbik7XG5cbiAgICAgICAgbWV0YURlcml2YXRpb25DaGlsZFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFEZXJpdmF0aW9uQ2hpbGRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YVN1YnByb29mKG1ldGFTdWJwcm9vZk5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dCA9IE1ldGFwcm9vZkNvbnRleHQuZnJvbU1ldGFwcm9vZkNvbnRleHQobWV0YXByb29mQ29udGV4dCk7IC8vL1xuXG4gIGNvbnN0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzID0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeShtZXRhU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50c1ZlcmlmaWVkID0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXMuZXZlcnkoKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgICAgICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50c1ZlcmlmaWVkKSB7XG4gICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXMuZm9yRWFjaCgodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSkgPT4ge1xuICAgICAgY29uc3QgbWV0YUFzc2VydGlvbiA9IE1ldGFBc3NlcnRpb24uZnJvbVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuYWRkTWV0YUFzc2VydGlvbihtZXRhQXNzZXJ0aW9uKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG1ldGFEZXJpdmF0aW9uTm9kZSA9IG1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5KG1ldGFTdWJwcm9vZk5vZGUpLFxuICAgICAgICAgIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlNZXRhRGVyaXZhdGlvbihtZXRhRGVyaXZhdGlvbk5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICAgIG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YVN1YnByb29mVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YURlcml2YXRpb24iLCJtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzUXVlcnkiLCJtZXRhRGVyaXZhdGlvbk5vZGUiLCJtZXRhcHJvb2ZDb250ZXh0IiwibWV0YURlcml2YXRpb25WZXJpZmllZCIsImRlcml2ZWQiLCJiZWdpbiIsInNldERlcml2ZWQiLCJtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXMiLCJldmVyeSIsIm1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlIiwibWV0YURlcml2YXRpb25DaGlsZFZlcmlmaWVkIiwidmVyaWZ5TWV0YURlcml2YXRpb25DaGlsZCIsImNvbXBsZXRlIiwiaGFsdCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJNRVRBX1NVQlBST09GX1JVTEVfTkFNRSIsIm1ldGFTdWJwcm9vZk5vZGUiLCJtZXRhU3VicHJvb2ZWZXJpZmllZCIsInZlcmlmeU1ldGFTdWJwcm9vZiIsIm1ldGFBc3NlcnRpb24iLCJNZXRhQXNzZXJ0aW9uIiwiZnJvbU1ldGFTdWJwcm9vZk5vZGUiLCJhZGRNZXRhQXNzZXJ0aW9uIiwiUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwiZnJvbVF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwiVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJmcm9tVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsIk1ldGFwcm9vZkNvbnRleHQiLCJmcm9tTWV0YXByb29mQ29udGV4dCIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50c1ZlcmlmaWVkIiwiZm9yRWFjaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUF3QkE7OztrRUFaRTs4REFDRzs4REFDWTtnRUFDRTtxQkFFTDt5QkFDMEU7Ozs7OztBQUVoSCxJQUFNQywwQkFBMEJDLElBQUFBLGdCQUFTLEVBQUMseURBQ3BDQyxnQ0FBZ0NDLElBQUFBLGlCQUFVLEVBQUMsNkNBQzNDQyxxQ0FBcUNELElBQUFBLGlCQUFVLEVBQUM7QUFFdkMsU0FBU0oscUJBQXFCTSxrQkFBa0IsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDakYsSUFBSUMsd0JBQ0FDO0lBRUpGLGlCQUFpQkcsS0FBSyxDQUFDSjtJQUV2QkcsVUFBVSxJQUFJO0lBRWRGLGlCQUFpQkksVUFBVSxDQUFDRjtJQUU1QixJQUFNRywyQkFBMkJULDhCQUE4Qkc7SUFFL0RFLHlCQUF5QkkseUJBQXlCQyxLQUFLLENBQUMsU0FBQ0MseUJBQTRCO1FBQ25GLElBQU1DLDhCQUE4QkMsMEJBQTBCRix5QkFBeUJQO1FBRXZGLElBQUlRLDZCQUE2QjtZQUMvQixPQUFPLElBQUk7UUFDYixDQUFDO0lBQ0g7SUFFQU4s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
@@ -8,76 +8,81 @@ Object.defineProperty(exports, "default", {
8
8
  return verifyMetaproof;
9
9
  }
10
10
  });
11
+ var _metaAssertion = /*#__PURE__*/ _interopRequireDefault(require("../metaAssertion"));
11
12
  var _metaDerivation = /*#__PURE__*/ _interopRequireDefault(require("../verify/metaDerivation"));
12
- var _qualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/metastatement/qualified"));
13
+ var _qualified = /*#__PURE__*/ _interopRequireDefault(require("./metastatement/qualified"));
13
14
  var _query = require("../utilities/query");
14
15
  function _interopRequireDefault(obj) {
15
16
  return obj && obj.__esModule ? obj : {
16
17
  default: obj
17
18
  };
18
19
  }
19
- var metaDerivationNodeQuery = (0, _query.nodeQuery)("/metaproof/metaDerivation!"), qualifiedStatementNodeQuery = (0, _query.nodeQuery)("/metaproof/qualifiedMetastatement!"), metaProofMetastatementNodeQuery = (0, _query.nodeQuery)("/metaproof/qualifiedMetastatement/metastatement!");
20
+ var metaDerivationNodeQuery = (0, _query.nodeQuery)("/metaproof/metaDerivation!"), qualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/metaproof/qualifiedMetastatement!");
20
21
  function verifyMetaproof(metaproofNode, conclusion, metaproofContext) {
21
22
  var metaproofVerified = false;
22
23
  metaproofContext.begin(metaproofNode);
23
- var metaDerivationNode = metaDerivationNodeQuery(metaproofNode);
24
- var metaDerivationVerified = true;
24
+ var metaDerivationNode = metaDerivationNodeQuery(metaproofNode), qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(metaproofNode);
25
+ var metaDerivationVerified = false, qualifiedMetastatementVerified = false;
25
26
  if (metaDerivationNode !== null) {
26
27
  metaDerivationVerified = (0, _metaDerivation.default)(metaDerivationNode, metaproofContext);
27
28
  }
28
- if (metaDerivationVerified) {
29
- var qualifiedMetastatementNode = qualifiedStatementNodeQuery(metaproofNode), qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode, metaproofContext);
29
+ if (qualifiedMetastatementNode !== null) {
30
+ qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode, metaproofContext);
30
31
  if (qualifiedMetastatementVerified) {
31
- var metastatementNode = conclusion.getMetastatementNode(), metaProofMetastatementNode = metaProofMetastatementNodeQuery(metaproofNode), metaProofMetastatementNodeMatches = matchMetaProofMetastatementNode(metaProofMetastatementNode, metastatementNode);
32
- metaproofVerified = metaProofMetastatementNodeMatches; ///
32
+ var metaAssertion = _metaAssertion.default.fromQualifiedMetastatementNode(qualifiedMetastatementNode);
33
+ metaproofContext.addMetaAssertion(metaAssertion);
33
34
  }
34
35
  }
36
+ if (metaDerivationVerified || qualifiedMetastatementVerified) {
37
+ var lastMetaAssertion = metaproofContext.getLastMetaAssertion(), metaAssertion1 = lastMetaAssertion, metastatementNode = conclusion.getMetastatementNode(), metaAssertionMetastatementNode = metaAssertion1.getMetastatementNode(), metaAssertionMetastatementNodeMatches = matchMetaProofMetastatementNode(metaAssertionMetastatementNode, metastatementNode);
38
+ metaproofVerified = metaAssertionMetastatementNodeMatches; ///
39
+ }
35
40
  metaproofVerified ? metaproofContext.complete(metaproofNode) : metaproofContext.complete(metaproofNode);
36
41
  return metaproofVerified;
37
42
  }
38
- function matchMetaProofMetastatementNode(metaProofMetastatementNode, metastatementNode) {
39
- var metaProofNonTerminalNode = metaProofMetastatementNode, nonTerminalNode = metastatementNode, metaProofNonTerminalNodeMatches = matchMetaProofNonTerminalNode(metaProofNonTerminalNode, nonTerminalNode), metaProofMetastatementNodeMatches = metaProofNonTerminalNodeMatches; ///
40
- return metaProofMetastatementNodeMatches;
43
+ function matchMetaProofMetastatementNode(metaAssertionMetastatementNode, metastatementNode) {
44
+ var metaAssertionNonTerminalNode = metaAssertionMetastatementNode, nonTerminalNode = metastatementNode, metaAssertionNonTerminalNodeMatches = matchMetaProofNonTerminalNode(metaAssertionNonTerminalNode, nonTerminalNode), metaAssertionMetastatementNodeMatches = metaAssertionNonTerminalNodeMatches; ///
45
+ return metaAssertionMetastatementNodeMatches;
41
46
  }
42
- function matchMetaProofNode(metaProofNode, node) {
43
- var metaProofNodeMatches = false;
44
- var nodeTerminalNode = node.isTerminalNode(), ruleNodeTerminalNode = metaProofNode.isTerminalNode();
47
+ function matchMetaProofNode(metaAssertionNode, node) {
48
+ var metaAssertionNodeMatches = false;
49
+ var nodeTerminalNode = node.isTerminalNode(), ruleNodeTerminalNode = metaAssertionNode.isTerminalNode();
45
50
  if (nodeTerminalNode === ruleNodeTerminalNode) {
46
51
  if (nodeTerminalNode) {
47
- var terminalNode = node, metaProofTerminalNode = metaProofNode, metaProofTerminalNodeMatches = matchMetaProofTerminalNode(metaProofTerminalNode, terminalNode);
48
- metaProofNodeMatches = metaProofTerminalNodeMatches; ///
52
+ var terminalNode = node, metaAssertionTerminalNode = metaAssertionNode, metaAssertionTerminalNodeMatches = matchMetaProofTerminalNode(metaAssertionTerminalNode, terminalNode);
53
+ metaAssertionNodeMatches = metaAssertionTerminalNodeMatches; ///
49
54
  } else {
50
- var nonTerminalNode = node, metaProofNonTerminalNode = metaProofNode, metaProofNonTerminalNodeMatches = matchMetaProofNonTerminalNode(metaProofNonTerminalNode, nonTerminalNode);
51
- metaProofNodeMatches = metaProofNonTerminalNodeMatches; ///
55
+ var nonTerminalNode = node, metaAssertionNonTerminalNode = metaAssertionNode, metaAssertionNonTerminalNodeMatches = matchMetaProofNonTerminalNode(metaAssertionNonTerminalNode, nonTerminalNode);
56
+ metaAssertionNodeMatches = metaAssertionNonTerminalNodeMatches; ///
52
57
  }
53
58
  }
54
- return metaProofNodeMatches;
59
+ return metaAssertionNodeMatches;
55
60
  }
56
- function matchMetaProofNodes(metaProofNodes, nodes) {
57
- var metaProofNodesMatches = false;
58
- var nodesLength = nodes.length, metaProofNodesLength = metaProofNodes.length;
59
- if (nodesLength === metaProofNodesLength) {
60
- metaProofNodesMatches = nodes.every(function(node, index) {
61
- var metaProofNode = metaProofNodes[index], metaProofNodeMatches = matchMetaProofNode(metaProofNode, node);
62
- if (metaProofNodeMatches) {
61
+ function matchMetaProofNodes(metaAssertionNodes, nodes) {
62
+ var metaAssertionNodesMatches = false;
63
+ var nodesLength = nodes.length, metaAssertionNodesLength = metaAssertionNodes.length;
64
+ if (nodesLength === metaAssertionNodesLength) {
65
+ metaAssertionNodesMatches = nodes.every(function(node, index) {
66
+ var metaAssertionNode = metaAssertionNodes[index], metaAssertionNodeMatches = matchMetaProofNode(metaAssertionNode, node);
67
+ if (metaAssertionNodeMatches) {
63
68
  return true;
64
69
  }
65
70
  });
66
71
  }
67
- return metaProofNodesMatches;
72
+ return metaAssertionNodesMatches;
68
73
  }
69
- function matchMetaProofTerminalNode(metaProofTerminalNode, terminalNode) {
70
- var matches = metaProofTerminalNode.match(terminalNode), metaProofTerminalNodeMatches = matches; ///
71
- return metaProofTerminalNodeMatches;
74
+ function matchMetaProofTerminalNode(metaAssertionTerminalNode, terminalNode) {
75
+ var matches = metaAssertionTerminalNode.match(terminalNode), metaAssertionTerminalNodeMatches = matches; ///
76
+ return metaAssertionTerminalNodeMatches;
72
77
  }
73
- function matchMetaProofNonTerminalNode(metaProofNonTerminalNode, nonTerminalNode) {
74
- var metaProofNonTerminalNodeMatches = false;
75
- var ruleName = nonTerminalNode.getRuleName(), metaProofRuleName = metaProofNonTerminalNode.getRuleName(); ///
76
- if (ruleName === metaProofRuleName) {
77
- var childNodes = nonTerminalNode.getChildNodes(), metaProofChildNodes = metaProofNonTerminalNode.getChildNodes(), nodes = childNodes, metaProofNodes = metaProofChildNodes, metaProofNodesMatches = matchMetaProofNodes(metaProofNodes, nodes);
78
- metaProofNonTerminalNodeMatches = metaProofNodesMatches; ///
78
+ function matchMetaProofNonTerminalNode(metaAssertionNonTerminalNode, nonTerminalNode) {
79
+ var metaAssertionNonTerminalNodeMatches = false;
80
+ var ruleName = nonTerminalNode.getRuleName(), metaAssertionRuleName = metaAssertionNonTerminalNode.getRuleName(); ///
81
+ if (ruleName === metaAssertionRuleName) {
82
+ var childNodes = nonTerminalNode.getChildNodes(), metaAssertionChildNodes = metaAssertionNonTerminalNode.getChildNodes(), nodes = childNodes, metaAssertionNodes = metaAssertionChildNodes, metaAssertionNodesMatches = matchMetaProofNodes(metaAssertionNodes, nodes);
83
+ metaAssertionNonTerminalNodeMatches = metaAssertionNodesMatches; ///
79
84
  }
80
- return metaProofNonTerminalNodeMatches;
85
+ return metaAssertionNonTerminalNodeMatches;
81
86
  }
82
87
 
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5TWV0YURlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFwcm9vZi9tZXRhRGVyaXZhdGlvbiFcIiksXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhcHJvb2YvcXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YXByb29mKG1ldGFwcm9vZk5vZGUsIGNvbmNsdXNpb24sIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IG1ldGFwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihtZXRhcHJvb2ZOb2RlKTtcblxuICBjb25zdCBtZXRhRGVyaXZhdGlvbk5vZGUgPSBtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeShtZXRhcHJvb2ZOb2RlKTtcblxuICBsZXQgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IHRydWU7XG5cbiAgaWYgKG1ldGFEZXJpdmF0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlNZXRhRGVyaXZhdGlvbihtZXRhRGVyaXZhdGlvbk5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuICB9XG5cbiAgaWYgKG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICBjb25zdCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShtZXRhcHJvb2ZOb2RlKSxcbiAgICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gY29uY2x1c2lvbi5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgICAgbWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFwcm9vZk5vZGUpLFxuICAgICAgICAgICAgbWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWF0Y2hNZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZShtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBtZXRhcHJvb2ZWZXJpZmllZCA9IG1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlczsgIC8vL1xuICAgIH1cbiAgfVxuXG4gIG1ldGFwcm9vZlZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKG1ldGFwcm9vZk5vZGUpIDpcbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuY29tcGxldGUobWV0YXByb29mTm9kZSk7XG5cbiAgcmV0dXJuIG1ldGFwcm9vZlZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiBtYXRjaE1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlKG1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSkge1xuICBjb25zdCBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUgPSBtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUobWV0YVByb29mTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUpLFxuICAgICAgICBtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzOyAgLy8vXG5cbiAgcmV0dXJuIG1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZOb2RlKG1ldGFQcm9vZk5vZGUsIG5vZGUpIHtcbiAgbGV0IG1ldGFQcm9vZk5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgcnVsZU5vZGVUZXJtaW5hbE5vZGUgPSBtZXRhUHJvb2ZOb2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IHJ1bGVOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFQcm9vZlRlcm1pbmFsTm9kZSA9IG1ldGFQcm9vZk5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFQcm9vZlRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZlRlcm1pbmFsTm9kZShtZXRhUHJvb2ZUZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSk7XG5cbiAgICAgIG1ldGFQcm9vZk5vZGVNYXRjaGVzID0gbWV0YVByb29mVGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZSA9IG1ldGFQcm9vZk5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZShtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSk7XG5cbiAgICAgIG1ldGFQcm9vZk5vZGVNYXRjaGVzID0gbWV0YVByb29mTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFQcm9vZk5vZGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaE1ldGFQcm9vZk5vZGVzKG1ldGFQcm9vZk5vZGVzLCBub2Rlcykge1xuICBsZXQgbWV0YVByb29mTm9kZXNNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIG1ldGFQcm9vZk5vZGVzTGVuZ3RoID0gbWV0YVByb29mTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChub2Rlc0xlbmd0aCA9PT0gbWV0YVByb29mTm9kZXNMZW5ndGgpIHtcbiAgICBtZXRhUHJvb2ZOb2Rlc01hdGNoZXMgPSBub2Rlcy5ldmVyeSgobm9kZSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IG1ldGFQcm9vZk5vZGUgPSBtZXRhUHJvb2ZOb2Rlc1tpbmRleF0sXG4gICAgICAgICAgICBtZXRhUHJvb2ZOb2RlTWF0Y2hlcyA9IG1hdGNoTWV0YVByb29mTm9kZShtZXRhUHJvb2ZOb2RlLCBub2RlKTtcblxuICAgICAgaWYgKG1ldGFQcm9vZk5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbWV0YVByb29mTm9kZXNNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaE1ldGFQcm9vZlRlcm1pbmFsTm9kZShtZXRhUHJvb2ZUZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSkge1xuICBjb25zdCBtYXRjaGVzID0gbWV0YVByb29mVGVybWluYWxOb2RlLm1hdGNoKHRlcm1pbmFsTm9kZSksXG4gICAgICAgIG1ldGFQcm9vZlRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaGVzOyAgLy8vXG5cbiAgcmV0dXJuIG1ldGFQcm9vZlRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVByb29mTm9uVGVybWluYWxOb2RlKG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKSB7XG4gIGxldCBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgbWV0YVByb29mUnVsZU5hbWUgPSBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgaWYgKHJ1bGVOYW1lID09PSBtZXRhUHJvb2ZSdWxlTmFtZSkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG1ldGFQcm9vZkNoaWxkTm9kZXMgPSBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgbWV0YVByb29mTm9kZXMgPSBtZXRhUHJvb2ZDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBtZXRhUHJvb2ZOb2Rlc01hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vZGVzKG1ldGFQcm9vZk5vZGVzLCBub2Rlcyk7XG5cbiAgICBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWV0YVByb29mTm9kZXNNYXRjaGVzOyAvLy9cbiAgfVxuXG4gIHJldHVybiBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFwcm9vZiIsIm1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwibWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGFwcm9vZk5vZGUiLCJjb25jbHVzaW9uIiwibWV0YXByb29mQ29udGV4dCIsIm1ldGFwcm9vZlZlcmlmaWVkIiwiYmVnaW4iLCJtZXRhRGVyaXZhdGlvbk5vZGUiLCJtZXRhRGVyaXZhdGlvblZlcmlmaWVkIiwidmVyaWZ5TWV0YURlcml2YXRpb24iLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImdldE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaE1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlIiwiY29tcGxldGUiLCJtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUiLCJtYXRjaE1ldGFQcm9vZk5vZGUiLCJtZXRhUHJvb2ZOb2RlIiwibm9kZSIsIm1ldGFQcm9vZk5vZGVNYXRjaGVzIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwicnVsZU5vZGVUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJtZXRhUHJvb2ZUZXJtaW5hbE5vZGUiLCJtZXRhUHJvb2ZUZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZUZXJtaW5hbE5vZGUiLCJtYXRjaE1ldGFQcm9vZk5vZGVzIiwibWV0YVByb29mTm9kZXMiLCJub2RlcyIsIm1ldGFQcm9vZk5vZGVzTWF0Y2hlcyIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwibWV0YVByb29mTm9kZXNMZW5ndGgiLCJldmVyeSIsImluZGV4IiwibWF0Y2hlcyIsIm1hdGNoIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIm1ldGFQcm9vZlJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJtZXRhUHJvb2ZDaGlsZE5vZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7O21FQVRTOzhEQUNRO3FCQUVmOzs7Ozs7QUFFMUIsSUFBTUMsMEJBQTBCQyxJQUFBQSxnQkFBUyxFQUFDLCtCQUNwQ0MsOEJBQThCRCxJQUFBQSxnQkFBUyxFQUFDLHVDQUN4Q0Usa0NBQWtDRixJQUFBQSxnQkFBUyxFQUFDO0FBRW5DLFNBQVNGLGdCQUFnQkssYUFBYSxFQUFFQyxVQUFVLEVBQUVDLGdCQUFnQixFQUFFO0lBQ25GLElBQUlDLG9CQUFvQixLQUFLO0lBRTdCRCxpQkFBaUJFLEtBQUssQ0FBQ0o7SUFFdkIsSUFBTUsscUJBQXFCVCx3QkFBd0JJO0lBRW5ELElBQUlNLHlCQUF5QixJQUFJO0lBRWpDLElBQUlELHVCQUF1QixJQUFJLEVBQUU7UUFDL0JDLHlCQUF5QkMsSUFBQUEsdUJBQW9CLEVBQUNGLG9CQUFvQkg7SUFDcEUsQ0FBQztJQUVELElBQUlJLHdCQUF3QjtRQUMxQixJQUFNRSw2QkFBNkJWLDRCQUE0QkUsZ0JBQ3pEUyxpQ0FBaUNDLElBQUFBLGtCQUE0QixFQUFDRiw0QkFBNEJOO1FBRWhHLElBQUlPLGdDQUFnQztZQUNsQyxJ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
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YUFzc2VydGlvbiBmcm9tIFwiLi4vbWV0YUFzc2VydGlvblwiO1xuaW1wb3J0IHZlcmlmeU1ldGFEZXJpdmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvbWV0YURlcml2YXRpb25cIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuL21ldGFzdGF0ZW1lbnQvcXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YURlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL21ldGFEZXJpdmF0aW9uIVwiKSxcbiAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhcHJvb2YobWV0YXByb29mTm9kZSwgY29uY2x1c2lvbiwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgbWV0YXByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBtZXRhcHJvb2ZDb250ZXh0LmJlZ2luKG1ldGFwcm9vZk5vZGUpO1xuXG4gIGNvbnN0IG1ldGFEZXJpdmF0aW9uTm9kZSA9IG1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5KG1ldGFwcm9vZk5vZGUpLFxuICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkobWV0YXByb29mTm9kZSk7XG5cbiAgbGV0IG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSBmYWxzZSxcbiAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmIChtZXRhRGVyaXZhdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBtZXRhRGVyaXZhdGlvblZlcmlmaWVkID0gdmVyaWZ5TWV0YURlcml2YXRpb24obWV0YURlcml2YXRpb25Ob2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcbiAgfVxuXG4gIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YUFzc2VydGlvbiA9IE1ldGFBc3NlcnRpb24uZnJvbVF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbWV0YXByb29mQ29udGV4dC5hZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGlmIChtZXRhRGVyaXZhdGlvblZlcmlmaWVkIHx8IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnN0IGxhc3RNZXRhQXNzZXJ0aW9uID0gbWV0YXByb29mQ29udGV4dC5nZXRMYXN0TWV0YUFzc2VydGlvbigpLFxuICAgICAgICAgIG1ldGFBc3NlcnRpb24gPSBsYXN0TWV0YUFzc2VydGlvbiwgLy8vXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBjb25jbHVzaW9uLmdldE1ldGFzdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgbWV0YUFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YUFzc2VydGlvbi5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgIG1ldGFBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlKG1ldGFBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbWV0YXByb29mVmVyaWZpZWQgPSBtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzOyAgLy8vXG4gIH1cblxuICBtZXRhcHJvb2ZWZXJpZmllZCA/XG4gICAgbWV0YXByb29mQ29udGV4dC5jb21wbGV0ZShtZXRhcHJvb2ZOb2RlKSA6XG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKG1ldGFwcm9vZk5vZGUpO1xuXG4gIHJldHVybiBtZXRhcHJvb2ZWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZShtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gIGNvbnN0IG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUgPSBtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgbm9uVGVybWluYWxOb2RlID0gbWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZShtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUpLFxuICAgICAgICBtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7ICAvLy9cblxuICByZXR1cm4gbWV0YUFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZOb2RlKG1ldGFBc3NlcnRpb25Ob2RlLCBub2RlKSB7XG4gIGxldCBtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICBydWxlTm9kZVRlcm1pbmFsTm9kZSA9IG1ldGFBc3NlcnRpb25Ob2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IHJ1bGVOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFBc3NlcnRpb25UZXJtaW5hbE5vZGUgPSBtZXRhQXNzZXJ0aW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgbWV0YUFzc2VydGlvblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZlRlcm1pbmFsTm9kZShtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlLCB0ZXJtaW5hbE5vZGUpO1xuXG4gICAgICBtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUgPSBtZXRhQXNzZXJ0aW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZShtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUpO1xuXG4gICAgICBtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFBc3NlcnRpb25Ob2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZOb2RlcyhtZXRhQXNzZXJ0aW9uTm9kZXMsIG5vZGVzKSB7XG4gIGxldCBtZXRhQXNzZXJ0aW9uTm9kZXNNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIG1ldGFBc3NlcnRpb25Ob2Rlc0xlbmd0aCA9IG1ldGFBc3NlcnRpb25Ob2Rlcy5sZW5ndGg7XG5cbiAgaWYgKG5vZGVzTGVuZ3RoID09PSBtZXRhQXNzZXJ0aW9uTm9kZXNMZW5ndGgpIHtcbiAgICBtZXRhQXNzZXJ0aW9uTm9kZXNNYXRjaGVzID0gbm9kZXMuZXZlcnkoKG5vZGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBtZXRhQXNzZXJ0aW9uTm9kZSA9IG1ldGFBc3NlcnRpb25Ob2Rlc1tpbmRleF0sXG4gICAgICAgICAgICBtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vZGUobWV0YUFzc2VydGlvbk5vZGUsIG5vZGUpO1xuXG4gICAgICBpZiAobWV0YUFzc2VydGlvbk5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbWV0YUFzc2VydGlvbk5vZGVzTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZUZXJtaW5hbE5vZGUobWV0YUFzc2VydGlvblRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlLm1hdGNoKHRlcm1pbmFsTm9kZSksXG4gICAgICAgIG1ldGFBc3NlcnRpb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hlczsgIC8vL1xuXG4gIHJldHVybiBtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUobWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKSB7XG4gIGxldCBtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgIG1ldGFBc3NlcnRpb25SdWxlTmFtZSA9IG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgaWYgKHJ1bGVOYW1lID09PSBtZXRhQXNzZXJ0aW9uUnVsZU5hbWUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBtZXRhQXNzZXJ0aW9uQ2hpbGROb2RlcyA9IG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgbWV0YUFzc2VydGlvbk5vZGVzID0gbWV0YUFzc2VydGlvbkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIG1ldGFBc3NlcnRpb25Ob2Rlc01hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vZGVzKG1ldGFBc3NlcnRpb25Ob2Rlcywgbm9kZXMpO1xuXG4gICAgbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uTm9kZXNNYXRjaGVzOyAvLy9cbiAgfVxuXG4gIHJldHVybiBtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhcHJvb2YiLCJtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJtZXRhcHJvb2ZOb2RlIiwiY29uY2x1c2lvbiIsIm1ldGFwcm9vZkNvbnRleHQiLCJtZXRhcHJvb2ZWZXJpZmllZCIsImJlZ2luIiwibWV0YURlcml2YXRpb25Ob2RlIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhRGVyaXZhdGlvblZlcmlmaWVkIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5TWV0YURlcml2YXRpb24iLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YUFzc2VydGlvbiIsIk1ldGFBc3NlcnRpb24iLCJmcm9tUXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJhZGRNZXRhQXNzZXJ0aW9uIiwibGFzdE1ldGFBc3NlcnRpb24iLCJnZXRMYXN0TWV0YUFzc2VydGlvbiIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZSIsImNvbXBsZXRlIiwibWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsIm1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUiLCJtYXRjaE1ldGFQcm9vZk5vZGUiLCJtZXRhQXNzZXJ0aW9uTm9kZSIsIm5vZGUiLCJtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJydWxlTm9kZVRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsIm1ldGFBc3NlcnRpb25UZXJtaW5hbE5vZGUiLCJtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YVByb29mVGVybWluYWxOb2RlIiwibWF0Y2hNZXRhUHJvb2ZOb2RlcyIsIm1ldGFBc3NlcnRpb25Ob2RlcyIsIm5vZGVzIiwibWV0YUFzc2VydGlvbk5vZGVzTWF0Y2hlcyIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwibWV0YUFzc2VydGlvbk5vZGVzTGVuZ3RoIiwiZXZlcnkiLCJpbmRleCIsIm1hdGNoZXMiLCJtYXRjaCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJtZXRhQXNzZXJ0aW9uUnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm1ldGFBc3NlcnRpb25DaGlsZE5vZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7O2tFQVRFO21FQUNPOzhEQUNRO3FCQUVmOzs7Ozs7QUFFMUIsSUFBTUMsMEJBQTBCQyxJQUFBQSxnQkFBUyxFQUFDLCtCQUNwQ0Msa0NBQWtDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRW5DLFNBQVNGLGdCQUFnQkksYUFBYSxFQUFFQyxVQUFVLEVBQUVDLGdCQUFnQixFQUFFO0lBQ25GLElBQUlDLG9CQUFvQixLQUFLO0lBRTdCRCxpQkFBaUJFLEtBQUssQ0FBQ0o7SUFFdkIsSUFBTUsscUJBQXFCUix3QkFBd0JHLGdCQUM3Q00sNkJBQTZCUCxnQ0FBZ0NDO0lBRW5FLElBQUlPLHlCQUF5QixLQUFLLEVBQzlCQyxpQ0FBaUMsS0FBSztJQUUxQyxJQUFJSCx1QkFBdUIsSUFBSSxFQUFFO1FBQy9CRSx5QkFBeUJFLElBQUFBLHVCQUFvQixFQUFDSixvQkFBb0JIO0lBQ3BFLENBQUM7SUFFRCxJQUFJSSwrQkFBK0IsSUFBSSxFQUFFO1FBQ3ZDRSxpQ0FBaUNFLElBQUFBLGtCQUE0QixFQUFDSiw0QkFBNEJKO1FBRTFGLElBQUlNLGdDQUFnQztZQUNsQyxJQUFNRyxnQkFBZ0JDLHNCQUFhLENBQUNDLDhCQUE4QixDQUFDUDtZQUVuRUosaUJBQWlCWSxnQkFBZ0IsQ0FBQ0g7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJSiwwQkFBMEJDLGdDQUFnQztRQUM1RCxJQUFNTyxvQkFBb0JiLGlCQUFpQmMsb0JBQW9CLElBQ3pETCxpQkFBZ0JJLG1CQUNoQkUsb0JBQW9CaEIsV0FBV2lC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
@@ -22,7 +22,7 @@ function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, metaproofC
22
22
  var unqualifiedMetastatementVerified = false;
23
23
  metaproofContext.begin(unqualifiedMetastatementNode);
24
24
  var unqualifiedMetastatementString = (0, _string.nodeAsString)(unqualifiedMetastatementNode);
25
- metaproofContext.info("Verified the '".concat(unqualifiedMetastatementString, "' unqualified metastatement."));
25
+ metaproofContext.debug("Verifying the '".concat(unqualifiedMetastatementString, "' unqualified metastatement..."));
26
26
  var metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
27
27
  if (metastatementNode !== null) {
28
28
  var metastatementVerified = (0, _metastatement.default)(metastatementNode, metaproofContext);
@@ -43,4 +43,4 @@ function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, metaproofC
43
43
  return unqualifiedMetastatementVerified;
44
44
  }
45
45
 
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFBc3NlcnRpb24gZnJvbSBcIi4uLy4uL21ldGFBc3NlcnRpb25cIjtcbmltcG9ydCB2ZXJpZnlNZXRhc3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvbWV0YXN0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbih1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgbWV0YXByb29mQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgbWV0YXN0YXRlbWVudC5gKTtcblxuICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBkZXJpdmVkID0gbWV0YXByb29mQ29udGV4dC5pc0Rlcml2ZWQoKTtcblxuICAgICAgaWYgKGRlcml2ZWQpIHtcbiAgICAgICAgY29uc3QgbWV0YUFzc2VydGlvbiA9IE1ldGFBc3NlcnRpb24uZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgbWV0YUFzc2VydGlvbk1hdGNoZXMgPSBtZXRhcHJvb2ZDb250ZXh0Lm1hdGNoTWV0YUFzc2VydGlvbihtZXRhQXNzZXJ0aW9uKTtcblxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IG1ldGFBc3NlcnRpb25NYXRjaGVzOyAgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbWV0YXByb29mQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgbWV0YXN0YXRlbWVudC5gKTtcbiAgfVxuXG4gIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpIDpcbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuaGFsdCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhcHJvb2ZDb250ZXh0IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJiZWdpbiIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsImluZm8iLCJtZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeU1ldGFzdGF0ZW1lbnQiLCJkZXJpdmVkIiwiaXNEZXJpdmVkIiwibWV0YUFzc2VydGlvbiIsIk1ldGFBc3NlcnRpb24iLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhQXNzZXJ0aW9uTWF0Y2hlcyIsIm1hdGNoTWV0YUFzc2VydGlvbiIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7OztrRUFSRTtrRUFDTTtxQkFFTjtzQkFDRzs7Ozs7O0FBRTdCLElBQU1DLHlCQUF5QkMsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTRiwrQkFBK0JHLDRCQUE0QixFQUFFQyxnQkFBZ0IsRUFBRTtJQUNyRyxJQUFJQyxtQ0FBbUMsS0FBSztJQUU1Q0QsaUJBQWlCRSxLQUFLLENBQUNIO0lBRXZCLElBQU1JLGlDQUFpQ0MsSUFBQUEsb0JBQVksRUFBQ0w7SUFFcERDLGlCQUFpQkssSUFBSSxDQUFDLEFBQUMsaUJBQStDLE9BQS9CRixnQ0FBK0I7SUFFdEUsSUFBTUcsb0JBQW9CVCx1QkFBdUJFO0lBRWpELElBQUlPLHNCQUFzQixJQUFJLEVBQUU7UUFDOUIsSUFBTUMsd0JBQXdCQyxJQUFBQSxzQkFBbUIsRUFBQ0YsbUJBQW1CTjtRQUVyRSxJQUFJTyx1QkFBdUI7WUFDekIsSUFBTUUsVUFBVVQsaUJBQWlCVSxTQUFTO1lBRTFDLElBQUlELFNBQVM7Z0JBQ1gsSUFBTUUsZ0JBQWdCQyxzQkFBYSxDQUFDQyxxQkFBcUIsQ0FBQ1Asb0JBQ3BEUSx1QkFBdUJkLGlCQUFpQmUsa0JBQWtCLENBQUNKO2dCQUVqRVYsbUNBQW1DYSxzQkFBdUIsR0FBRztZQUMvRCxPQUFPO2dCQUNMYixtQ0FBbUMsSUFBSTtZQUN6QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxrQ0FBa0M7UUFDcENELGlCQUFpQkssSUFBSSxDQUFDLEFBQUMsaUJBQStDLE9BQS9CRixnQ0FBK0I7SUFDeEUsQ0FBQztJQUVERixtQ0FDRUQsaUJBQWlCZ0IsUUFBUSxDQUFDakIsZ0NBQ3hCQyxpQkFBaUJpQixJQUFJLENBQUNsQiw2QkFBNkI7SUFFdkQsT0FBT0U7QUFDVCJ9
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFBc3NlcnRpb24gZnJvbSBcIi4uLy4uL21ldGFBc3NlcnRpb25cIjtcbmltcG9ydCB2ZXJpZnlNZXRhc3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvbWV0YXN0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbih1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgbWV0YXByb29mQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHt1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBtZXRhc3RhdGVtZW50Li4uYCk7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChtZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeU1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgZGVyaXZlZCA9IG1ldGFwcm9vZkNvbnRleHQuaXNEZXJpdmVkKCk7XG5cbiAgICAgIGlmIChkZXJpdmVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICAgIG1ldGFBc3NlcnRpb25NYXRjaGVzID0gbWV0YXByb29mQ29udGV4dC5tYXRjaE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbik7XG5cbiAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBtZXRhQXNzZXJ0aW9uTWF0Y2hlczsgIC8vL1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIG1ldGFwcm9vZkNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuYCk7XG4gIH1cblxuICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA/XG4gICAgbWV0YXByb29mQ29udGV4dC5jb21wbGV0ZSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSA6XG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmhhbHQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgcmV0dXJuIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXByb29mQ29udGV4dCIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwiYmVnaW4iLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsImRlcml2ZWQiLCJpc0Rlcml2ZWQiLCJtZXRhQXNzZXJ0aW9uIiwiTWV0YUFzc2VydGlvbiIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFBc3NlcnRpb25NYXRjaGVzIiwibWF0Y2hNZXRhQXNzZXJ0aW9uIiwiaW5mbyIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7OztrRUFSRTtrRUFDTTtxQkFFTjtzQkFDRzs7Ozs7O0FBRTdCLElBQU1DLHlCQUF5QkMsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTRiwrQkFBK0JHLDRCQUE0QixFQUFFQyxnQkFBZ0IsRUFBRTtJQUNyRyxJQUFJQyxtQ0FBbUMsS0FBSztJQUU1Q0QsaUJBQWlCRSxLQUFLLENBQUNIO0lBRXZCLElBQU1JLGlDQUFpQ0MsSUFBQUEsb0JBQVksRUFBQ0w7SUFFcERDLGlCQUFpQkssS0FBSyxDQUFDLEFBQUMsa0JBQWdELE9BQS9CRixnQ0FBK0I7SUFFeEUsSUFBTUcsb0JBQW9CVCx1QkFBdUJFO0lBRWpELElBQUlPLHNCQUFzQixJQUFJLEVBQUU7UUFDOUIsSUFBTUMsd0JBQXdCQyxJQUFBQSxzQkFBbUIsRUFBQ0YsbUJBQW1CTjtRQUVyRSxJQUFJTyx1QkFBdUI7WUFDekIsSUFBTUUsVUFBVVQsaUJBQWlCVSxTQUFTO1lBRTFDLElBQUlELFNBQVM7Z0JBQ1gsSUFBTUUsZ0JBQWdCQyxzQkFBYSxDQUFDQyxxQkFBcUIsQ0FBQ1Asb0JBQ3BEUSx1QkFBdUJkLGlCQUFpQmUsa0JBQWtCLENBQUNKO2dCQUVqRVYsbUNBQW1DYSxzQkFBdUIsR0FBRztZQUMvRCxPQUFPO2dCQUNMYixtQ0FBbUMsSUFBSTtZQUN6QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxrQ0FBa0M7UUFDcENELGlCQUFpQmdCLElBQUksQ0FBQyxBQUFDLGlCQUErQyxPQUEvQmIsZ0NBQStCO0lBQ3hFLENBQUM7SUFFREYsbUNBQ0VELGlCQUFpQmlCLFFBQVEsQ0FBQ2xCLGdDQUN4QkMsaUJBQWlCa0IsSUFBSSxDQUFDbkIsNkJBQTZCO0lBRXZELE9BQU9FO0FBQ1QifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-verify-cli",
3
3
  "author": "James Smith",
4
- "version": "0.0.458",
4
+ "version": "0.0.459",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -13,8 +13,8 @@
13
13
  "argumentative": "^2.0.21",
14
14
  "necessary": "^11.2.1",
15
15
  "occam-custom-grammars": "^5.0.372",
16
- "occam-dom": "^3.0.171",
17
- "occam-file-system": "^5.0.131",
16
+ "occam-dom": "^3.1.1",
17
+ "occam-file-system": "^5.0.132",
18
18
  "occam-grammar-utilities": "^7.0.66"
19
19
  },
20
20
  "devDependencies": {
@@ -4,6 +4,8 @@ import fileMixins from "../mixins/file";
4
4
  import loggingMixins from "../mixins/logging";
5
5
  import callbacksMixins from "../mixins/callbacks";
6
6
 
7
+ import { last } from "../utilities/array";
8
+
7
9
  class MetaproofContext {
8
10
  constructor(context, derived, metaAssertions) {
9
11
  this.context = context;
@@ -30,6 +32,18 @@ class MetaproofContext {
30
32
  return metaAssertions;
31
33
  }
32
34
 
35
+ getLastMetaAssertion() {
36
+ let lastMetaAssertion = null;
37
+
38
+ const metaAssertionsLength = this.metaAssertions.length;
39
+
40
+ if (metaAssertionsLength > 0) {
41
+ lastMetaAssertion = last(this.metaAssertions);
42
+ }
43
+
44
+ return lastMetaAssertion;
45
+ }
46
+
33
47
  setDerived(derived) {
34
48
  this.derived = derived;
35
49
  }
package/src/premise.js CHANGED
@@ -11,7 +11,8 @@ import { METAVARIABLE_RULE_NAME, METASTATEMENT_RULE_NAME } from "./ruleNames";
11
11
 
12
12
  const metastatementNodesQuery = nodesQuery("/metaSubproofAssertion/metastatement"),
13
13
  metaSubproofAssertionNodeQuery = nodeQuery("/metastatement/metaSubproofAssertion!"),
14
- qualifiedOrUnqualifiedMetastatementMetastatementNodesQuery = nodesQuery("/metaSubproof/qualifiedMetastatement|unqualifiedMetastatement/metastatement!");
14
+ unqualifiedMetastatementMetastatementNodesQuery = nodesQuery("/metaSubproof/unqualifiedMetastatement/metastatement!"),
15
+ qualifiedOrUnqualifiedMetastatementMetastatementNodeQuery = nodeQuery("/metaSubproof/metaDerivation|abridgedMetaDerivation/");
15
16
 
16
17
  export default class Premise {
17
18
  constructor(metastatementNode) {
@@ -30,13 +31,13 @@ export default class Premise {
30
31
  if (metaSubproofAssertionNode !== null) {
31
32
  const metaSubproofAssertionMetastatementNodes = metastatementNodesQuery(metaSubproofAssertionNode),
32
33
  metaSubproofAssertionMetastatementNodesLength = metaSubproofAssertionMetastatementNodes.length,
33
- qualifiedOrUnqualifiedMetastatementMetastatementNodes = qualifiedOrUnqualifiedMetastatementMetastatementNodesQuery(metaSubproofNode),
34
- qualifiedOrUnqualifiedMetastatementMetastatementNodesLength = qualifiedOrUnqualifiedMetastatementMetastatementNodes.length;
34
+ unqualifiedMetastatementMetastatementNodes = unqualifiedMetastatementMetastatementNodesQuery(metaSubproofNode),
35
+ unqualifiedMetastatementMetastatementNodesLength = unqualifiedMetastatementMetastatementNodes.length;
35
36
 
36
- if (metaSubproofAssertionMetastatementNodesLength === qualifiedOrUnqualifiedMetastatementMetastatementNodesLength) {
37
+ if (metaSubproofAssertionMetastatementNodesLength === unqualifiedMetastatementMetastatementNodesLength) {
37
38
  metaSubproofNodeMatches = metaSubproofAssertionMetastatementNodes.every((metaSubproofAssertionMetastatementNode, index) => {
38
- const qualifiedOrUnqualifiedMetastatementMetastatementNode = qualifiedOrUnqualifiedMetastatementMetastatementNodes[index],
39
- nonTerminalNode = qualifiedOrUnqualifiedMetastatementMetastatementNode, ///
39
+ const unqualifiedMetastatementMetastatementNode = unqualifiedMetastatementMetastatementNodes[index],
40
+ nonTerminalNode = unqualifiedMetastatementMetastatementNode, ///
40
41
  premiseNonTerminalNode = metaSubproofAssertionMetastatementNode, ///
41
42
  premiseNonTerminalNodeMatches = matchPremiseNonTerminalNode(premiseNonTerminalNode, nonTerminalNode, metaSubstitutions);
42
43
 
@@ -5,15 +5,12 @@ import MetaproofContext from "../context/metaproof";
5
5
  import verifyQualifiedMetastatement from "../verify/metastatement/qualified";
6
6
  import verifyUnqualifiedMetastatement from "../verify/metastatement/unqualified";
7
7
 
8
- import { front, last } from "../utilities/array";
9
8
  import { nodeQuery, nodesQuery } from "../utilities/query";
10
9
  import { META_SUBPROOF_RULE_NAME, QUALIFIED_METASTATEMENT_RULE_NAME, UNQUALIFIED_METASTATEMENT_RULE_NAME } from "../ruleNames";
11
10
 
12
- const metaDerivationNodeQuery = nodeQuery("/metaSubproof/metaDerivation!"),
13
- metaDerivationChildNodesQuery = nodesQuery("/metaDerivation/*"),
14
- qualifiedMetastatementNodeQuery = nodeQuery("/qualifiedMetastatement"),
15
- unqualifiedMetastatementNodeQuery = nodeQuery("/unqualifiedMetastatement!"),
16
- qualifiedOrUnqualifiedMetastatementNodesQuery = nodesQuery("/metaSubproof/qualifiedMetastatement|unqualifiedMetastatement")
11
+ const metaDerivationNodeQuery = nodeQuery("/metaSubproof/metaDerivation|abridgedMetaDerivation!"), ///
12
+ metaDerivationChildNodesQuery = nodesQuery("/metaDerivation|abridgedMetaDerivation/*"),
13
+ unqualifiedMetastatementNodesQuery = nodesQuery("/metaSubproof/unqualifiedMetastatement")
17
14
 
18
15
  export default function verifyMetaDerivation(metaDerivationNode, metaproofContext) {
19
16
  let metaDerivationVerified,
@@ -106,9 +103,7 @@ function verifyMetaSubproof(metaSubproofNode, metaproofContext) {
106
103
 
107
104
  metaproofContext = MetaproofContext.fromMetaproofContext(metaproofContext); ///
108
105
 
109
- const qualifiedOrUnqualifiedMetastatementNodes = qualifiedOrUnqualifiedMetastatementNodesQuery(metaSubproofNode),
110
- frontQualifiedOrUnqualifiedMetastatementNodes = front(qualifiedOrUnqualifiedMetastatementNodes),
111
- unqualifiedMetastatementNodes = frontQualifiedOrUnqualifiedMetastatementNodes, ///
106
+ const unqualifiedMetastatementNodes = unqualifiedMetastatementNodesQuery(metaSubproofNode),
112
107
  unqualifiedMetastatementsVerified = unqualifiedMetastatementNodes.every((unqualifiedMetastatementNode) => {
113
108
  const unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, metaproofContext);
114
109
 
@@ -124,31 +119,11 @@ function verifyMetaSubproof(metaSubproofNode, metaproofContext) {
124
119
  metaproofContext.addMetaAssertion(metaAssertion);
125
120
  });
126
121
 
127
- let metaDerivationVerified = true;
128
-
129
- const metaDerivationNode = metaDerivationNodeQuery(metaSubproofNode);
130
-
131
- if (metaDerivationNode !== null) {
132
- metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, metaproofContext);
133
- }
122
+ const metaDerivationNode = metaDerivationNodeQuery(metaSubproofNode),
123
+ metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, metaproofContext);
134
124
 
135
125
  if (metaDerivationVerified) {
136
- const lastQualifiedOrUnqualifiedMetastatementNode = last(qualifiedOrUnqualifiedMetastatementNodes),
137
- qualifiedOrUnqualifiedMetastatementNode = lastQualifiedOrUnqualifiedMetastatementNode, ///
138
- qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(qualifiedOrUnqualifiedMetastatementNode),
139
- unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(qualifiedOrUnqualifiedMetastatementNode);
140
-
141
- if (qualifiedMetastatementNode !== null) {
142
- const qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, metaproofContext);
143
-
144
- metaSubproofVerified = qualifiedMetastatementVerified; ///
145
- }
146
-
147
- if (unqualifiedMetastatementNode !== null) {
148
- const unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, metaproofContext);
149
-
150
- metaSubproofVerified = unqualifiedMetastatementVerified; ///
151
- }
126
+ metaSubproofVerified = true;
152
127
  }
153
128
  }
154
129
 
@@ -1,40 +1,49 @@
1
1
  "use strict";
2
2
 
3
+ import MetaAssertion from "../metaAssertion";
3
4
  import verifyMetaDerivation from "../verify/metaDerivation";
4
- import verifyQualifiedMetastatement from "../verify/metastatement/qualified";
5
+ import verifyQualifiedMetastatement from "./metastatement/qualified";
5
6
 
6
7
  import { nodeQuery } from "../utilities/query";
7
8
 
8
9
  const metaDerivationNodeQuery = nodeQuery("/metaproof/metaDerivation!"),
9
- qualifiedStatementNodeQuery = nodeQuery("/metaproof/qualifiedMetastatement!"),
10
- metaProofMetastatementNodeQuery = nodeQuery("/metaproof/qualifiedMetastatement/metastatement!");
10
+ qualifiedMetastatementNodeQuery = nodeQuery("/metaproof/qualifiedMetastatement!");
11
11
 
12
12
  export default function verifyMetaproof(metaproofNode, conclusion, metaproofContext) {
13
13
  let metaproofVerified = false;
14
14
 
15
15
  metaproofContext.begin(metaproofNode);
16
16
 
17
- const metaDerivationNode = metaDerivationNodeQuery(metaproofNode);
17
+ const metaDerivationNode = metaDerivationNodeQuery(metaproofNode),
18
+ qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(metaproofNode);
18
19
 
19
- let metaDerivationVerified = true;
20
+ let metaDerivationVerified = false,
21
+ qualifiedMetastatementVerified = false;
20
22
 
21
23
  if (metaDerivationNode !== null) {
22
24
  metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, metaproofContext);
23
25
  }
24
26
 
25
- if (metaDerivationVerified) {
26
- const qualifiedMetastatementNode = qualifiedStatementNodeQuery(metaproofNode),
27
- qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, metaproofContext);
27
+ if (qualifiedMetastatementNode !== null) {
28
+ qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, metaproofContext);
28
29
 
29
30
  if (qualifiedMetastatementVerified) {
30
- const metastatementNode = conclusion.getMetastatementNode(),
31
- metaProofMetastatementNode = metaProofMetastatementNodeQuery(metaproofNode),
32
- metaProofMetastatementNodeMatches = matchMetaProofMetastatementNode(metaProofMetastatementNode, metastatementNode);
31
+ const metaAssertion = MetaAssertion.fromQualifiedMetastatementNode(qualifiedMetastatementNode);
33
32
 
34
- metaproofVerified = metaProofMetastatementNodeMatches; ///
33
+ metaproofContext.addMetaAssertion(metaAssertion);
35
34
  }
36
35
  }
37
36
 
37
+ if (metaDerivationVerified || qualifiedMetastatementVerified) {
38
+ const lastMetaAssertion = metaproofContext.getLastMetaAssertion(),
39
+ metaAssertion = lastMetaAssertion, ///
40
+ metastatementNode = conclusion.getMetastatementNode(),
41
+ metaAssertionMetastatementNode = metaAssertion.getMetastatementNode(),
42
+ metaAssertionMetastatementNodeMatches = matchMetaProofMetastatementNode(metaAssertionMetastatementNode, metastatementNode);
43
+
44
+ metaproofVerified = metaAssertionMetastatementNodeMatches; ///
45
+ }
46
+
38
47
  metaproofVerified ?
39
48
  metaproofContext.complete(metaproofNode) :
40
49
  metaproofContext.complete(metaproofNode);
@@ -42,82 +51,82 @@ export default function verifyMetaproof(metaproofNode, conclusion, metaproofCont
42
51
  return metaproofVerified;
43
52
  }
44
53
 
45
- function matchMetaProofMetastatementNode(metaProofMetastatementNode, metastatementNode) {
46
- const metaProofNonTerminalNode = metaProofMetastatementNode, ///
54
+ function matchMetaProofMetastatementNode(metaAssertionMetastatementNode, metastatementNode) {
55
+ const metaAssertionNonTerminalNode = metaAssertionMetastatementNode, ///
47
56
  nonTerminalNode = metastatementNode, ///
48
- metaProofNonTerminalNodeMatches = matchMetaProofNonTerminalNode(metaProofNonTerminalNode, nonTerminalNode),
49
- metaProofMetastatementNodeMatches = metaProofNonTerminalNodeMatches; ///
57
+ metaAssertionNonTerminalNodeMatches = matchMetaProofNonTerminalNode(metaAssertionNonTerminalNode, nonTerminalNode),
58
+ metaAssertionMetastatementNodeMatches = metaAssertionNonTerminalNodeMatches; ///
50
59
 
51
- return metaProofMetastatementNodeMatches;
60
+ return metaAssertionMetastatementNodeMatches;
52
61
  }
53
62
 
54
- function matchMetaProofNode(metaProofNode, node) {
55
- let metaProofNodeMatches = false;
63
+ function matchMetaProofNode(metaAssertionNode, node) {
64
+ let metaAssertionNodeMatches = false;
56
65
 
57
66
  const nodeTerminalNode = node.isTerminalNode(),
58
- ruleNodeTerminalNode = metaProofNode.isTerminalNode();
67
+ ruleNodeTerminalNode = metaAssertionNode.isTerminalNode();
59
68
 
60
69
  if (nodeTerminalNode === ruleNodeTerminalNode) {
61
70
  if (nodeTerminalNode) {
62
71
  const terminalNode = node, ///
63
- metaProofTerminalNode = metaProofNode, ///
64
- metaProofTerminalNodeMatches = matchMetaProofTerminalNode(metaProofTerminalNode, terminalNode);
72
+ metaAssertionTerminalNode = metaAssertionNode, ///
73
+ metaAssertionTerminalNodeMatches = matchMetaProofTerminalNode(metaAssertionTerminalNode, terminalNode);
65
74
 
66
- metaProofNodeMatches = metaProofTerminalNodeMatches; ///
75
+ metaAssertionNodeMatches = metaAssertionTerminalNodeMatches; ///
67
76
  } else {
68
77
  const nonTerminalNode = node, ///
69
- metaProofNonTerminalNode = metaProofNode, ///
70
- metaProofNonTerminalNodeMatches = matchMetaProofNonTerminalNode(metaProofNonTerminalNode, nonTerminalNode);
78
+ metaAssertionNonTerminalNode = metaAssertionNode, ///
79
+ metaAssertionNonTerminalNodeMatches = matchMetaProofNonTerminalNode(metaAssertionNonTerminalNode, nonTerminalNode);
71
80
 
72
- metaProofNodeMatches = metaProofNonTerminalNodeMatches; ///
81
+ metaAssertionNodeMatches = metaAssertionNonTerminalNodeMatches; ///
73
82
  }
74
83
  }
75
84
 
76
- return metaProofNodeMatches;
85
+ return metaAssertionNodeMatches;
77
86
  }
78
87
 
79
- function matchMetaProofNodes(metaProofNodes, nodes) {
80
- let metaProofNodesMatches = false;
88
+ function matchMetaProofNodes(metaAssertionNodes, nodes) {
89
+ let metaAssertionNodesMatches = false;
81
90
 
82
91
  const nodesLength = nodes.length,
83
- metaProofNodesLength = metaProofNodes.length;
92
+ metaAssertionNodesLength = metaAssertionNodes.length;
84
93
 
85
- if (nodesLength === metaProofNodesLength) {
86
- metaProofNodesMatches = nodes.every((node, index) => {
87
- const metaProofNode = metaProofNodes[index],
88
- metaProofNodeMatches = matchMetaProofNode(metaProofNode, node);
94
+ if (nodesLength === metaAssertionNodesLength) {
95
+ metaAssertionNodesMatches = nodes.every((node, index) => {
96
+ const metaAssertionNode = metaAssertionNodes[index],
97
+ metaAssertionNodeMatches = matchMetaProofNode(metaAssertionNode, node);
89
98
 
90
- if (metaProofNodeMatches) {
99
+ if (metaAssertionNodeMatches) {
91
100
  return true;
92
101
  }
93
102
  })
94
103
  }
95
104
 
96
- return metaProofNodesMatches;
105
+ return metaAssertionNodesMatches;
97
106
  }
98
107
 
99
- function matchMetaProofTerminalNode(metaProofTerminalNode, terminalNode) {
100
- const matches = metaProofTerminalNode.match(terminalNode),
101
- metaProofTerminalNodeMatches = matches; ///
108
+ function matchMetaProofTerminalNode(metaAssertionTerminalNode, terminalNode) {
109
+ const matches = metaAssertionTerminalNode.match(terminalNode),
110
+ metaAssertionTerminalNodeMatches = matches; ///
102
111
 
103
- return metaProofTerminalNodeMatches;
112
+ return metaAssertionTerminalNodeMatches;
104
113
  }
105
114
 
106
- function matchMetaProofNonTerminalNode(metaProofNonTerminalNode, nonTerminalNode) {
107
- let metaProofNonTerminalNodeMatches = false;
115
+ function matchMetaProofNonTerminalNode(metaAssertionNonTerminalNode, nonTerminalNode) {
116
+ let metaAssertionNonTerminalNodeMatches = false;
108
117
 
109
118
  const ruleName = nonTerminalNode.getRuleName(),
110
- metaProofRuleName = metaProofNonTerminalNode.getRuleName(); ///
119
+ metaAssertionRuleName = metaAssertionNonTerminalNode.getRuleName(); ///
111
120
 
112
- if (ruleName === metaProofRuleName) {
121
+ if (ruleName === metaAssertionRuleName) {
113
122
  const childNodes = nonTerminalNode.getChildNodes(),
114
- metaProofChildNodes = metaProofNonTerminalNode.getChildNodes(),
123
+ metaAssertionChildNodes = metaAssertionNonTerminalNode.getChildNodes(),
115
124
  nodes = childNodes, ///
116
- metaProofNodes = metaProofChildNodes, ///
117
- metaProofNodesMatches = matchMetaProofNodes(metaProofNodes, nodes);
125
+ metaAssertionNodes = metaAssertionChildNodes, ///
126
+ metaAssertionNodesMatches = matchMetaProofNodes(metaAssertionNodes, nodes);
118
127
 
119
- metaProofNonTerminalNodeMatches = metaProofNodesMatches; ///
128
+ metaAssertionNonTerminalNodeMatches = metaAssertionNodesMatches; ///
120
129
  }
121
130
 
122
- return metaProofNonTerminalNodeMatches;
131
+ return metaAssertionNonTerminalNodeMatches;
123
132
  }
@@ -15,7 +15,7 @@ export default function verifyUnqualifiedMetastatement(unqualifiedMetastatementN
15
15
 
16
16
  const unqualifiedMetastatementString = nodeAsString(unqualifiedMetastatementNode);
17
17
 
18
- metaproofContext.info(`Verified the '${unqualifiedMetastatementString}' unqualified metastatement.`);
18
+ metaproofContext.debug(`Verifying the '${unqualifiedMetastatementString}' unqualified metastatement...`);
19
19
 
20
20
  const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
21
21