occam-verify-cli 0.0.890 → 0.0.892

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.
@@ -67,13 +67,6 @@ function someSubArray(array, subArrayLength, callback) {
67
67
  offset = 0;
68
68
  permutations = _permutationsMatrix.default[indexesLength][permutationLength];
69
69
  }
70
- if (subArrayLength === 1) {
71
- permutations = [
72
- [
73
- 2
74
- ]
75
- ];
76
- }
77
70
  if (permutations !== null) {
78
71
  found = permutations.some(function(permutation) {
79
72
  if (permutation !== null) {
@@ -109,4 +102,4 @@ function rightDifference(arrayA, arrayB) {
109
102
  });
110
103
  }
111
104
 
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgcGVybXV0YXRpb25zTWF0cml4IGZyb20gXCIuLi9wZXJtdXRhdGlvbnNNYXRyaXhcIjtcblxuaW1wb3J0IHsgTUFYSU1VTV9JTkRFWEVTX0xFTkdUSCwgTUFYSU1VTV9QRVJNVVRBVElPTl9MRU5HVEggfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBjb25zdCB7IGZpcnN0LCBzZWNvbmQsIGxhc3QsIHB1c2gsIHBydW5lLCBtYXRjaCwgZmlsdGVyLCBjb21wcmVzcywgc2VwYXJhdGUgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gc29tZVN1YkFycmF5KGFycmF5LCBzdWJBcnJheUxlbmd0aCwgY2FsbGJhY2spIHtcbiAgbGV0IGZvdW5kID0gZmFsc2U7XG5cbiAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgIGluZGV4ZXNMZW5ndGggPSBhcnJheUxlbmd0aCwgLy8vXG4gICAgICAgIHBlcm11dGF0aW9uTGVuZ3RoID0gc3ViQXJyYXlMZW5ndGg7IC8vL1xuXG4gIGlmIChwZXJtdXRhdGlvbkxlbmd0aCA8PSBNQVhJTVVNX1BFUk1VVEFUSU9OX0xFTkdUSCkge1xuICAgIGxldCBvZmZzZXQsXG4gICAgICAgIHBlcm11dGF0aW9ucztcblxuICAgIGlmIChpbmRleGVzTGVuZ3RoID4gTUFYSU1VTV9JTkRFWEVTX0xFTkdUSCkge1xuICAgICAgb2Zmc2V0ID0gaW5kZXhlc0xlbmd0aCAtIE1BWElNVU1fSU5ERVhFU19MRU5HVEg7XG5cbiAgICAgIHBlcm11dGF0aW9ucyA9IHBlcm11dGF0aW9uc01hdHJpeFtNQVhJTVVNX0lOREVYRVNfTEVOR1RIXVtwZXJtdXRhdGlvbkxlbmd0aF07XG4gICAgfSBlbHNlIHtcbiAgICAgIG9mZnNldCA9IDA7XG5cbiAgICAgIHBlcm11dGF0aW9ucyA9IHBlcm11dGF0aW9uc01hdHJpeFtpbmRleGVzTGVuZ3RoXVtwZXJtdXRhdGlvbkxlbmd0aF07XG4gICAgfVxuXG4gICAgaWYgKHN1YkFycmF5TGVuZ3RoID09PSAxKSB7XG4gICAgICBwZXJtdXRhdGlvbnMgPSBbXG4gICAgICAgIFsgMiBdXG4gICAgICBdO1xuICAgIH1cblxuICAgIGlmIChwZXJtdXRhdGlvbnMgIT09IG51bGwpIHtcbiAgICAgIGZvdW5kID0gcGVybXV0YXRpb25zLnNvbWUoKHBlcm11dGF0aW9uKSA9PiB7XG4gICAgICAgIGlmIChwZXJtdXRhdGlvbiAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHN1YkFycmF5ID0gW107XG5cbiAgICAgICAgICBmb3IgKGxldCBwb3NpdGlvbiA9IDA7IHBvc2l0aW9uIDwgcGVybXV0YXRpb25MZW5ndGg7IHBvc2l0aW9uKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gcGVybXV0YXRpb25bcG9zaXRpb25dICsgb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgZWxlbWVudCA9IGFycmF5W2luZGV4XTtcblxuICAgICAgICAgICAgc3ViQXJyYXkucHVzaChlbGVtZW50KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBwYXNzZWQgPSBjYWxsYmFjayhzdWJBcnJheSk7XG5cbiAgICAgICAgICBpZiAocGFzc2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmb3VuZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxlZnREaWZmZXJlbmNlKGFycmF5QSwgYXJyYXlCKSB7XG4gIGZpbHRlcihhcnJheUEsIChlbGVtZW50QSkgPT4ge1xuICAgIGNvbnN0IGFycmF5QkluY2x1ZGVzRWxlbWVudEEgPSBhcnJheUIuaW5jbHVkZXMoZWxlbWVudEEpO1xuXG4gICAgaWYgKCFhcnJheUJJbmNsdWRlc0VsZW1lbnRBKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmlnaHREaWZmZXJlbmNlKGFycmF5QSwgYXJyYXlCKSB7XG4gIGZpbHRlcihhcnJheUIsIChlbGVtZW50QikgPT4ge1xuICAgIGNvbnN0IGFycmF5QUluY2x1ZGVzRWxlbWVudEIgPSBhcnJheUEuaW5jbHVkZXMoZWxlbWVudEIpO1xuXG4gICAgaWYgKCFhcnJheUFJbmNsdWRlc0VsZW1lbnRCKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImNvbXByZXNzIiwiZmlsdGVyIiwiZmlyc3QiLCJsYXN0IiwibGVmdERpZmZlcmVuY2UiLCJtYXRjaCIsInBydW5lIiwicHVzaCIsInJpZ2h0RGlmZmVyZW5jZSIsInNlY29uZCIsInNlcGFyYXRlIiwic29tZVN1YkFycmF5IiwiYXJyYXlVdGlsaXRpZXMiLCJhcnJheSIsInN1YkFycmF5TGVuZ3RoIiwiY2FsbGJhY2siLCJmb3VuZCIsImFycmF5TGVuZ3RoIiwibGVuZ3RoIiwiaW5kZXhlc0xlbmd0aCIsInBlcm11dGF0aW9uTGVuZ3RoIiwiTUFYSU1VTV9QRVJNVVRBVElPTl9MRU5HVEgiLCJvZmZzZXQiLCJwZXJtdXRhdGlvbnMiLCJNQVhJTVVNX0lOREVYRVNfTEVOR1RIIiwicGVybXV0YXRpb25zTWF0cml4Iiwic29tZSIsInBlcm11dGF0aW9uIiwic3ViQXJyYXkiLCJwb3NpdGlvbiIsImluZGV4IiwiZWxlbWVudCIsInBhc3NlZCIsImFycmF5QSIsImFycmF5QiIsImVsZW1lbnRBIiwiYXJyYXlCSW5jbHVkZXNFbGVtZW50QSIsImluY2x1ZGVzIiwiZWxlbWVudEIiLCJhcnJheUFJbmNsdWRlc0VsZW1lbnRCIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFRZ0VBLFFBQVE7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
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgcGVybXV0YXRpb25zTWF0cml4IGZyb20gXCIuLi9wZXJtdXRhdGlvbnNNYXRyaXhcIjtcblxuaW1wb3J0IHsgTUFYSU1VTV9JTkRFWEVTX0xFTkdUSCwgTUFYSU1VTV9QRVJNVVRBVElPTl9MRU5HVEggfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBjb25zdCB7IGZpcnN0LCBzZWNvbmQsIGxhc3QsIHB1c2gsIHBydW5lLCBtYXRjaCwgZmlsdGVyLCBjb21wcmVzcywgc2VwYXJhdGUgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gc29tZVN1YkFycmF5KGFycmF5LCBzdWJBcnJheUxlbmd0aCwgY2FsbGJhY2spIHtcbiAgbGV0IGZvdW5kID0gZmFsc2U7XG5cbiAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgIGluZGV4ZXNMZW5ndGggPSBhcnJheUxlbmd0aCwgLy8vXG4gICAgICAgIHBlcm11dGF0aW9uTGVuZ3RoID0gc3ViQXJyYXlMZW5ndGg7IC8vL1xuXG4gIGlmIChwZXJtdXRhdGlvbkxlbmd0aCA8PSBNQVhJTVVNX1BFUk1VVEFUSU9OX0xFTkdUSCkge1xuICAgIGxldCBvZmZzZXQsXG4gICAgICAgIHBlcm11dGF0aW9ucztcblxuICAgIGlmIChpbmRleGVzTGVuZ3RoID4gTUFYSU1VTV9JTkRFWEVTX0xFTkdUSCkge1xuICAgICAgb2Zmc2V0ID0gaW5kZXhlc0xlbmd0aCAtIE1BWElNVU1fSU5ERVhFU19MRU5HVEg7XG5cbiAgICAgIHBlcm11dGF0aW9ucyA9IHBlcm11dGF0aW9uc01hdHJpeFtNQVhJTVVNX0lOREVYRVNfTEVOR1RIXVtwZXJtdXRhdGlvbkxlbmd0aF07XG4gICAgfSBlbHNlIHtcbiAgICAgIG9mZnNldCA9IDA7XG5cbiAgICAgIHBlcm11dGF0aW9ucyA9IHBlcm11dGF0aW9uc01hdHJpeFtpbmRleGVzTGVuZ3RoXVtwZXJtdXRhdGlvbkxlbmd0aF07XG4gICAgfVxuXG4gICAgaWYgKHBlcm11dGF0aW9ucyAhPT0gbnVsbCkge1xuICAgICAgZm91bmQgPSBwZXJtdXRhdGlvbnMuc29tZSgocGVybXV0YXRpb24pID0+IHtcbiAgICAgICAgaWYgKHBlcm11dGF0aW9uICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3Qgc3ViQXJyYXkgPSBbXTtcblxuICAgICAgICAgIGZvciAobGV0IHBvc2l0aW9uID0gMDsgcG9zaXRpb24gPCBwZXJtdXRhdGlvbkxlbmd0aDsgcG9zaXRpb24rKykge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwZXJtdXRhdGlvbltwb3NpdGlvbl0gKyBvZmZzZXQsXG4gICAgICAgICAgICAgICAgICBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgICAgICAgICBzdWJBcnJheS5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHBhc3NlZCA9IGNhbGxiYWNrKHN1YkFycmF5KTtcblxuICAgICAgICAgIGlmIChwYXNzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZvdW5kO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGVmdERpZmZlcmVuY2UoYXJyYXlBLCBhcnJheUIpIHtcbiAgZmlsdGVyKGFycmF5QSwgKGVsZW1lbnRBKSA9PiB7XG4gICAgY29uc3QgYXJyYXlCSW5jbHVkZXNFbGVtZW50QSA9IGFycmF5Qi5pbmNsdWRlcyhlbGVtZW50QSk7XG5cbiAgICBpZiAoIWFycmF5QkluY2x1ZGVzRWxlbWVudEEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByaWdodERpZmZlcmVuY2UoYXJyYXlBLCBhcnJheUIpIHtcbiAgZmlsdGVyKGFycmF5QiwgKGVsZW1lbnRCKSA9PiB7XG4gICAgY29uc3QgYXJyYXlBSW5jbHVkZXNFbGVtZW50QiA9IGFycmF5QS5pbmNsdWRlcyhlbGVtZW50Qik7XG5cbiAgICBpZiAoIWFycmF5QUluY2x1ZGVzRWxlbWVudEIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiY29tcHJlc3MiLCJmaWx0ZXIiLCJmaXJzdCIsImxhc3QiLCJsZWZ0RGlmZmVyZW5jZSIsIm1hdGNoIiwicHJ1bmUiLCJwdXNoIiwicmlnaHREaWZmZXJlbmNlIiwic2Vjb25kIiwic2VwYXJhdGUiLCJzb21lU3ViQXJyYXkiLCJhcnJheVV0aWxpdGllcyIsImFycmF5Iiwic3ViQXJyYXlMZW5ndGgiLCJjYWxsYmFjayIsImZvdW5kIiwiYXJyYXlMZW5ndGgiLCJsZW5ndGgiLCJpbmRleGVzTGVuZ3RoIiwicGVybXV0YXRpb25MZW5ndGgiLCJNQVhJTVVNX1BFUk1VVEFUSU9OX0xFTkdUSCIsIm9mZnNldCIsInBlcm11dGF0aW9ucyIsIk1BWElNVU1fSU5ERVhFU19MRU5HVEgiLCJwZXJtdXRhdGlvbnNNYXRyaXgiLCJzb21lIiwicGVybXV0YXRpb24iLCJzdWJBcnJheSIsInBvc2l0aW9uIiwiaW5kZXgiLCJlbGVtZW50IiwicGFzc2VkIiwiYXJyYXlBIiwiYXJyYXlCIiwiZWxlbWVudEEiLCJhcnJheUJJbmNsdWRlc0VsZW1lbnRBIiwiaW5jbHVkZXMiLCJlbGVtZW50QiIsImFycmF5QUluY2x1ZGVzRWxlbWVudEIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVFnRUEsUUFBUTtlQUFSQTs7SUFBUkMsTUFBTTtlQUFOQTs7SUFBekNDLEtBQUs7ZUFBTEE7O0lBQWVDLElBQUk7ZUFBSkE7O0lBZ0RkQyxjQUFjO2VBQWRBOztJQWhEaUNDLEtBQUs7ZUFBTEE7O0lBQVBDLEtBQUs7ZUFBTEE7O0lBQU5DLElBQUk7ZUFBSkE7O0lBMERwQkMsZUFBZTtlQUFmQTs7SUExRE1DLE1BQU07ZUFBTkE7O0lBQW9EQyxRQUFRO2VBQVJBOztJQUUxREMsWUFBWTtlQUFaQTs7O3lCQVJlO3lFQUVBO3lCQUVvQzs7Ozs7O0FBRTVELElBQVFULFFBQXdFVSx5QkFBYyxDQUF0RlYsT0FBT08sU0FBaUVHLHlCQUFjLENBQS9FSCxRQUFRTixPQUF5RFMseUJBQWMsQ0FBdkVULE1BQU1JLE9BQW1ESyx5QkFBYyxDQUFqRUwsTUFBTUQsUUFBNkNNLHlCQUFjLENBQTNETixPQUFPRCxRQUFzQ08seUJBQWMsQ0FBcERQLE9BQU9KLFNBQStCVyx5QkFBYyxDQUE3Q1gsUUFBUUQsV0FBdUJZLHlCQUFjLENBQXJDWixVQUFVVSxXQUFhRSx5QkFBYyxDQUEzQkY7QUFFbkUsU0FBU0MsYUFBYUUsS0FBSyxFQUFFQyxjQUFjLEVBQUVDLFFBQVE7SUFDMUQsSUFBSUMsUUFBUTtJQUVaLElBQU1DLGNBQWNKLE1BQU1LLE1BQU0sRUFDMUJDLGdCQUFnQkYsYUFDaEJHLG9CQUFvQk4sZ0JBQWdCLEdBQUc7SUFFN0MsSUFBSU0scUJBQXFCQyxxQ0FBMEIsRUFBRTtRQUNuRCxJQUFJQyxRQUNBQztRQUVKLElBQUlKLGdCQUFnQkssaUNBQXNCLEVBQUU7WUFDMUNGLFNBQVNILGdCQUFnQkssaUNBQXNCO1lBRS9DRCxlQUFlRSwyQkFBa0IsQ0FBQ0QsaUNBQXNCLENBQUMsQ0FBQ0osa0JBQWtCO1FBQzlFLE9BQU87WUFDTEUsU0FBUztZQUVUQyxlQUFlRSwyQkFBa0IsQ0FBQ04sY0FBYyxDQUFDQyxrQkFBa0I7UUFDckU7UUFFQSxJQUFJRyxpQkFBaUIsTUFBTTtZQUN6QlAsUUFBUU8sYUFBYUcsSUFBSSxDQUFDLFNBQUNDO2dCQUN6QixJQUFJQSxnQkFBZ0IsTUFBTTtvQkFDeEIsSUFBTUMsV0FBVyxFQUFFO29CQUVuQixJQUFLLElBQUlDLFdBQVcsR0FBR0EsV0FBV1QsbUJBQW1CUyxXQUFZO3dCQUMvRCxJQUFNQyxRQUFRSCxXQUFXLENBQUNFLFNBQVMsR0FBR1AsUUFDaENTLFVBQVVsQixLQUFLLENBQUNpQixNQUFNO3dCQUU1QkYsU0FBU3JCLElBQUksQ0FBQ3dCO29CQUNoQjtvQkFFQSxJQUFNQyxTQUFTakIsU0FBU2E7b0JBRXhCLElBQUlJLFFBQVE7d0JBQ1YsT0FBTztvQkFDVDtnQkFDRjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLE9BQU9oQjtBQUNUO0FBRU8sU0FBU1osZUFBZTZCLE1BQU0sRUFBRUMsTUFBTTtJQUMzQ2pDLE9BQU9nQyxRQUFRLFNBQUNFO1FBQ2QsSUFBTUMseUJBQXlCRixPQUFPRyxRQUFRLENBQUNGO1FBRS9DLElBQUksQ0FBQ0Msd0JBQXdCO1lBQzNCLE9BQU87UUFDVDtJQUNGO0FBQ0Y7QUFFTyxTQUFTNUIsZ0JBQWdCeUIsTUFBTSxFQUFFQyxNQUFNO0lBQzVDakMsT0FBT2lDLFFBQVEsU0FBQ0k7UUFDZCxJQUFNQyx5QkFBeUJOLE9BQU9JLFFBQVEsQ0FBQ0M7UUFFL0MsSUFBSSxDQUFDQyx3QkFBd0I7WUFDM0IsT0FBTztRQUNUO0lBQ0Y7QUFDRiJ9
@@ -182,16 +182,6 @@ var IntrinsicLevelAgainstMetaLevelNodesVerifier = /*#__PURE__*/ function(NodesVe
182
182
  return nonTerminalNodeVerified;
183
183
  }
184
184
  },
185
- {
186
- nodeQueryA: statementNodeQuery,
187
- nodeQueryB: statementNodeQuery,
188
- verifyNodes: function(nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) {
189
- var nonTerminalNodeVerified;
190
- var statementNodeB = nodeB, statementNodeA = nodeA, statementNodeVerifiedAgainstStatementNode = _this.verifyStatementNodeAgainstStatementNode(statementNodeA, statementNodeB, substitutions, localContextA, localContextB, verifyAhead);
191
- nonTerminalNodeVerified = statementNodeVerifiedAgainstStatementNode; ///
192
- return nonTerminalNodeVerified;
193
- }
194
- },
195
185
  {
196
186
  nodeQueryA: metastatementNodeQuery,
197
187
  nodeQueryB: statementNodeQuery,
@@ -207,8 +197,8 @@ var IntrinsicLevelAgainstMetaLevelNodesVerifier = /*#__PURE__*/ function(NodesVe
207
197
  nodeQueryB: termNodeQuery,
208
198
  verifyNodes: function(nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) {
209
199
  var nonTerminalNodeVerified;
210
- var termNodeB = nodeB, termVariableNodeA = nodeA, variableNodeVerifiedAgainstTermNode = _this.verifyVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
211
- nonTerminalNodeVerified = variableNodeVerifiedAgainstTermNode; ///
200
+ var termNodeB = nodeB, termVariableNodeA = nodeA, termVariableNodeVerifiedAgainstTermNode = _this.verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
201
+ nonTerminalNodeVerified = termVariableNodeVerifiedAgainstTermNode; ///
212
202
  return nonTerminalNodeVerified;
213
203
  }
214
204
  }
@@ -249,7 +239,7 @@ var IntrinsicLevelAgainstMetaLevelNodesVerifier = /*#__PURE__*/ function(NodesVe
249
239
  key: "verifyMetastatementStatementNodeAgainstStatementNode",
250
240
  value: function verifyMetastatementStatementNodeAgainstStatementNode(metastatementStatementNodeA, statementNodeB, substitutions, localContextA, localContextB, verifyAhead) {
251
241
  var metastatementStatementNodeVerifiedAgainstStatementNode;
252
- var nonTerminalNodeA = metastatementStatementNodeA, nonTerminalNodeB = statementNodeB, nonTerminalNodeVerified = this.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
242
+ var nonTerminalNodeA = metastatementStatementNodeA, nonTerminalNodeB = statementNodeB, nonTerminalNodeVerified = _get(_get_prototype_of(IntrinsicLevelAgainstMetaLevelNodesVerifier.prototype), "verifyNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
253
243
  metastatementStatementNodeVerifiedAgainstStatementNode = nonTerminalNodeVerified; ///
254
244
  return metastatementStatementNodeVerifiedAgainstStatementNode;
255
245
  }
@@ -264,21 +254,12 @@ var IntrinsicLevelAgainstMetaLevelNodesVerifier = /*#__PURE__*/ function(NodesVe
264
254
  }
265
255
  },
266
256
  {
267
- key: "verifyStatementNodeAgainstStatementNode",
268
- value: function verifyStatementNodeAgainstStatementNode(statementNodeA, statementNodeB, substitutions, localContextA, localContextB, verifyAhead) {
269
- var statementVerifiedAgainstStatement;
270
- var nonTerminalNodeA = statementNodeA, nonTerminalNodeB = statementNodeB, nonTerminalNodeVerified = _intrinsicLevel.default.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
271
- statementVerifiedAgainstStatement = nonTerminalNodeVerified; ////
272
- return statementVerifiedAgainstStatement;
273
- }
274
- },
275
- {
276
- key: "verifyVariableNodeAgainstTermNode",
277
- value: function verifyVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
278
- var variableNodeVerifiedAgainstTermNode;
279
- var termNode = termNodeB, variableNode = termVariableNodeA, variableVerifiedAgainstTerm = (0, _variableAgainstTerm.default)(variableNode, termNode, substitutions, localContextA, localContextB, verifyAhead);
280
- variableNodeVerifiedAgainstTermNode = variableVerifiedAgainstTerm; ///
281
- return variableNodeVerifiedAgainstTermNode;
257
+ key: "verifyTermVariableNodeAgainstTermNode",
258
+ value: function verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
259
+ var termVariableNodeVerifiedAgainstTermNode;
260
+ var termNode = termNodeB, variableNode = termVariableNodeA, termVerifiedAgainstVariable = (0, _variableAgainstTerm.default)(variableNode, termNode, substitutions, localContextA, localContextB, verifyAhead);
261
+ termVariableNodeVerifiedAgainstTermNode = termVerifiedAgainstVariable; ///
262
+ return termVariableNodeVerifiedAgainstTermNode;
282
263
  }
283
264
  }
284
265
  ]);
@@ -287,4 +268,4 @@ var IntrinsicLevelAgainstMetaLevelNodesVerifier = /*#__PURE__*/ function(NodesVe
287
268
  var intrinsicLevelAgainstMetaLevelNodesVerifier = new IntrinsicLevelAgainstMetaLevelNodesVerifier();
288
269
  var _default = intrinsicLevelAgainstMetaLevelNodesVerifier;
289
270
 
290
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy9pbnRyaW5zaWNMZXZlbEFnYWluc3RNZXRhTGV2ZWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi8uLi92ZXJpZmllci9ub2Rlc1wiO1xuaW1wb3J0IHZlcmlmeVZhcmlhYmxlQWdhaW5zdFRlcm0gZnJvbSBcIi4uLy4uL3ZlcmlmeS92YXJpYWJsZUFnYWluc3RUZXJtXCI7XG5pbXBvcnQgaW50cmluc2ljTGV2ZWxOb2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi8uLi92ZXJpZmllci9ub2Rlcy9pbnRyaW5zaWNMZXZlbFwiO1xuaW1wb3J0IHZlcmlmeU1ldGF2YXJpYWJsZUFnYWluc3RTdGF0ZW1lbnQgZnJvbSBcIi4uLy4uL3ZlcmlmeS9tZXRhdmFyaWFibGVBZ2FpbnN0U3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHZlcmlmeU5vZGVzIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92ZXJpZmllclwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0hXCIpLFxuICAgICAgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudCFcIiksXG4gICAgICB0ZXJtVmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS92YXJpYWJsZSFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFBcmd1bWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L3N0YXRlbWVudCFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvbWV0YXZhcmlhYmxlIVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXN0YXRlbWVudC9zdWJzdGl0dXRpb25cIik7XG5cbmNsYXNzIEludHJpbnNpY0xldmVsQWdhaW5zdE1ldGFMZXZlbE5vZGVzVmVyaWZpZXIgZXh0ZW5kcyBOb2Rlc1ZlcmlmaWVyIHtcbiAgdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgY29uc3Qgbm9kZVF1ZXJ5TWFwcyA9IFtcbiAgICAgIHtcbiAgICAgICAgbm9kZVF1ZXJ5QTogbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5QjogbWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVRdWVyeSxcbiAgICAgICAgdmVyaWZ5Tm9kZXM6IChub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSA9PiB7XG4gICAgICAgICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgICAgICAgY29uc3QgbWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVCID0gbm9kZUIsICAvLy9cbiAgICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEgPSBub2RlQSwgLy8vXG4gICAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVBID0gbWV0YXN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVRdWVyeShub25UZXJtaW5hbE5vZGVBKSxcbiAgICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlID1cblxuICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlNZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUFnYWluc3RNZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEsIG1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlQiwgbWV0YXN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVBLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGU7ICAvLy9cblxuICAgICAgICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbm9kZVF1ZXJ5QTogbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5QjogbWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZVF1ZXJ5LFxuICAgICAgICB2ZXJpZnlOb2RlczogKG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpID0+IHtcbiAgICAgICAgICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgICAgICAgICBjb25zdCBtZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlQiA9IG5vZGVCLCAgLy8vXG4gICAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBID0gbm9kZUEsIC8vL1xuICAgICAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSA9IG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlUXVlcnkobm9uVGVybWluYWxOb2RlQSksXG4gICAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RNZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlID1cblxuICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlNZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUFnYWluc3RNZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQSwgbWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZUIsIG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGU7ICAvLy9cblxuICAgICAgICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbm9kZVF1ZXJ5QTogbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5Qjogc3RhdGVtZW50Tm9kZVF1ZXJ5LFxuICAgICAgICB2ZXJpZnlOb2RlczogKG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpID0+IHtcbiAgICAgICAgICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlQiA9IG5vZGVCLCAgLy8vXG4gICAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBID0gbm9kZUEsIC8vL1xuICAgICAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSA9IG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlUXVlcnkobm9uVGVybWluYWxOb2RlQSksXG4gICAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlID1cblxuICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlNZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUFnYWluc3RTdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQSwgc3RhdGVtZW50Tm9kZUIsIG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGU7ICAvLy9cblxuICAgICAgICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbm9kZVF1ZXJ5QTogbWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5Qjogc3RhdGVtZW50Tm9kZVF1ZXJ5LFxuICAgICAgICB2ZXJpZnlOb2RlczogKG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpID0+IHtcbiAgICAgICAgICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlQiA9IG5vZGVCLCAvLy9cbiAgICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZSA9XG5cbiAgICAgICAgICAgICAgICAgIHRoaXMudmVyaWZ5TWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVBZ2FpbnN0U3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZTsgLy8vXG5cbiAgICAgICAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5vZGVRdWVyeUE6IHN0YXRlbWVudE5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5Qjogc3RhdGVtZW50Tm9kZVF1ZXJ5LFxuICAgICAgICB2ZXJpZnlOb2RlczogKG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpID0+IHtcbiAgICAgICAgICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlQiA9IG5vZGVCLCAvLy9cbiAgICAgICAgICAgICAgICBzdGF0ZW1lbnROb2RlQSA9IG5vZGVBLCAgLy8vXG4gICAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGUgPVxuXG4gICAgICAgICAgICAgIHRoaXMudmVyaWZ5U3RhdGVtZW50Tm9kZUFnYWluc3RTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBzdGF0ZW1lbnROb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZTsgLy8vXG5cbiAgICAgICAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5vZGVRdWVyeUE6IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnksXG4gICAgICAgIG5vZGVRdWVyeUI6IHN0YXRlbWVudE5vZGVRdWVyeSxcbiAgICAgICAgdmVyaWZ5Tm9kZXM6IChub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSA9PiB7XG4gICAgICAgICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZUIgPSBub2RlQiwgIC8vL1xuICAgICAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlQSA9IG5vZGVBLCAvLy9cbiAgICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGUgPVxuXG4gICAgICAgICAgICAgICAgICB0aGlzLnZlcmlmeU1ldGFzdGF0ZW1lbnROb2RlQWdhaW5zdFN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGU7ICAvLy9cblxuICAgICAgICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbm9kZVF1ZXJ5QTogdGVybVZhcmlhYmxlTm9kZVF1ZXJ5LFxuICAgICAgICBub2RlUXVlcnlCOiB0ZXJtTm9kZVF1ZXJ5LFxuICAgICAgICB2ZXJpZnlOb2RlczogKG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpID0+IHtcbiAgICAgICAgICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgICAgICAgICBjb25zdCB0ZXJtTm9kZUIgPSBub2RlQiwgIC8vL1xuICAgICAgICAgICAgICAgIHRlcm1WYXJpYWJsZU5vZGVBID0gbm9kZUEsICAvLy9cbiAgICAgICAgICAgICAgICB2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RUZXJtTm9kZSA9XG5cbiAgICAgICAgICAgICAgICAgIHRoaXMudmVyaWZ5VmFyaWFibGVOb2RlQWdhaW5zdFRlcm1Ob2RlKHRlcm1WYXJpYWJsZU5vZGVBLCB0ZXJtTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0VGVybU5vZGU7IC8vL1xuXG4gICAgICAgICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgXTtcblxuICAgIGNvbnN0IG5vZGVzVmVyaWZpZWQgPSB2ZXJpZnlOb2Rlcyhub2RlUXVlcnlNYXBzLCBub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG5vZGVzVmVyaWZpZWQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBlci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5TWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBZ2FpbnN0TWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBLCBtZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZUIsIG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZTtcblxuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEsICAvLy9cbiAgICAgICAgICBzdWJzdGl0dXRpb25Ob2RlID0gbWV0YXN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVBLCAgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50ID0gdmVyaWZ5TWV0YXZhcmlhYmxlQWdhaW5zdFN0YXRlbWVudChtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25Ob2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZClcblxuICAgIG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGUgPSBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnQ7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGU7XG4gIH1cblxuICB2ZXJpZnlNZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUFnYWluc3RNZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQSwgbWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZUIsIG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RNZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IG1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGVCLCAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9uTm9kZSA9IG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudCA9IHZlcmlmeU1ldGF2YXJpYWJsZUFnYWluc3RTdGF0ZW1lbnQobWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9uTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpXG5cbiAgICBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGUgPSBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnQ7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIHZlcmlmeU1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQWdhaW5zdFN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgbWV0YXN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVBLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGU7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEsICAvLy9cbiAgICAgICAgICBzdWJzdGl0dXRpb25Ob2RlID0gbWV0YXN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVBLCAgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50ID0gdmVyaWZ5TWV0YXZhcmlhYmxlQWdhaW5zdFN0YXRlbWVudChtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25Ob2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZClcblxuICAgIG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZSA9IG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudDsgLy8vXG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgdmVyaWZ5TWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVBZ2FpbnN0U3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBtZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGU7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBID0gbWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVBLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gc3RhdGVtZW50Tm9kZUIsICAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgIG1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAvLy9cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGU7XG4gIH1cblxuICB2ZXJpZnlNZXRhc3RhdGVtZW50Tm9kZUFnYWluc3RTdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZTtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBtZXRhc3RhdGVtZW50Tm9kZUEsICAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gc3RhdGVtZW50Tm9kZUIsICAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQi5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgY2hpbGROb2Rlc0EgPSBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgY2hpbGROb2Rlc0IgPSBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgY2hpbGROb2Rlc1ZlcmlmaWVkID0gdGhpcy52ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgbWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlID0gY2hpbGROb2Rlc1ZlcmlmaWVkOyAvLy9cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGU7XG4gIH1cblxuICB2ZXJpZnlTdGF0ZW1lbnROb2RlQWdhaW5zdFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnQ7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBID0gc3RhdGVtZW50Tm9kZUEsICAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gc3RhdGVtZW50Tm9kZUIsICAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50ID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7ICAvLy8vXG5cbiAgICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50O1xuICB9XG5cbiAgdmVyaWZ5VmFyaWFibGVOb2RlQWdhaW5zdFRlcm1Ob2RlKHRlcm1WYXJpYWJsZU5vZGVBLCB0ZXJtTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IHZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFRlcm1Ob2RlO1xuXG4gICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZUIsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHRlcm1WYXJpYWJsZU5vZGVBLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdFRlcm0gPSB2ZXJpZnlWYXJpYWJsZUFnYWluc3RUZXJtKHZhcmlhYmxlTm9kZSwgdGVybU5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgIHZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFRlcm1Ob2RlID0gdmFyaWFibGVWZXJpZmllZEFnYWluc3RUZXJtOyAgLy8vXG5cbiAgICByZXR1cm4gdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0VGVybU5vZGU7XG4gIH1cbn1cblxuY29uc3QgaW50cmluc2ljTGV2ZWxBZ2FpbnN0TWV0YUxldmVsTm9kZXNWZXJpZmllciA9IG5ldyBJbnRyaW5zaWNMZXZlbEFnYWluc3RNZXRhTGV2ZWxOb2Rlc1ZlcmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGludHJpbnNpY0xldmVsQWdhaW5zdE1ldGFMZXZlbE5vZGVzVmVyaWZpZXI7XG4iXSwibmFtZXMiOlsidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGVRdWVyeSIsInRlcm1WYXJpYWJsZU5vZGVRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJtZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsIm1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlUXVlcnkiLCJJbnRyaW5zaWNMZXZlbEFnYWluc3RNZXRhTGV2ZWxOb2Rlc1ZlcmlmaWVyIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJ2ZXJpZnlBaGVhZCIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwibm9kZVF1ZXJ5TWFwcyIsIm5vZGVRdWVyeUEiLCJub2RlUXVlcnlCIiwidmVyaWZ5Tm9kZXMiLCJub2RlQSIsIm5vZGVCIiwibWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVCIiwibWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBIiwibWV0YXN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVBIiwibWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZSIsInZlcmlmeU1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQWdhaW5zdE1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlIiwibWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZUIiLCJtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGUiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUFnYWluc3RNZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZUIiLCJtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGUiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUFnYWluc3RTdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVBIiwibWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlIiwidmVyaWZ5TWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVBZ2FpbnN0U3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGVBIiwic3RhdGVtZW50Tm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGUiLCJ2ZXJpZnlTdGF0ZW1lbnROb2RlQWdhaW5zdFN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZUEiLCJtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGUiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50Tm9kZUFnYWluc3RTdGF0ZW1lbnROb2RlIiwidGVybU5vZGVCIiwidGVybVZhcmlhYmxlTm9kZUEiLCJ2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RUZXJtTm9kZSIsInZlcmlmeVZhcmlhYmxlTm9kZUFnYWluc3RUZXJtTm9kZSIsIm5vZGVzVmVyaWZpZWQiLCJzdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbk5vZGUiLCJtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnQiLCJ2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0U3RhdGVtZW50Iiwibm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwibm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMiLCJjaGlsZE5vZGVzQSIsImNoaWxkTm9kZXNCIiwiY2hpbGROb2Rlc1ZlcmlmaWVkIiwidmVyaWZ5Q2hpbGROb2RlcyIsInN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudCIsImludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllciIsInRlcm1Ob2RlIiwidmFyaWFibGVOb2RlIiwidmFyaWFibGVWZXJpZmllZEFnYWluc3RUZXJtIiwidmVyaWZ5VmFyaWFibGVBZ2FpbnN0VGVybSIsIk5vZGVzVmVyaWZpZXIiLCJpbnRyaW5zaWNMZXZlbEFnYWluc3RNZXRhTGV2ZWxOb2Rlc1ZlcmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEyUEE7OztlQUFBOzs7NERBelAwQjswRUFDWTtxRUFDRTttRkFDTztxQkFFckI7d0JBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1QixJQUFNQSxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsV0FDMUJDLHFCQUFxQkQsSUFBQUEsZ0JBQVMsRUFBQyxnQkFDL0JFLHdCQUF3QkYsSUFBQUEsZ0JBQVMsRUFBQyxvQkFDbENHLHlCQUF5QkgsSUFBQUEsZ0JBQVMsRUFBQyxvQkFDbkNJLGlDQUFpQ0osSUFBQUEsZ0JBQVMsRUFBQyw2QkFDM0NLLGtDQUFrQ0wsSUFBQUEsZ0JBQVMsRUFBQyw4QkFDNUNNLHFDQUFxQ04sSUFBQUEsZ0JBQVMsRUFBQyxpQ0FDL0NPLHFDQUFxQ1AsSUFBQUEsZ0JBQVMsRUFBQztBQUVyRCxJQUFBLEFBQU1RLDREQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLHNCQUFzQkMsZ0JBQWdCLEVBQUVDLGdCQUFnQixFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxXQUFXOztnQkFDaEgsSUFBSUM7Z0JBRUosSUFBTUMsZ0JBQWdCO29CQUNwQjt3QkFDRUMsWUFBWVo7d0JBQ1phLFlBQVlkO3dCQUNaZSxhQUFhLFNBQUNDLE9BQU9DLE9BQU9WLGVBQWVDLGVBQWVDLGVBQWVDOzRCQUN2RSxJQUFJQzs0QkFFSixJQUFNTyw4QkFBOEJELE9BQzlCRSxpQ0FBaUNILE9BQ2pDSSxpQ0FBaUNsQixtQ0FBbUNHLG1CQUNwRWdCLHlFQUVFLE1BQUtDLG9FQUFvRSxDQUFDSCxnQ0FBZ0NELDZCQUE2QkUsZ0NBQWdDYixlQUFlQyxlQUFlQyxlQUFlQzs0QkFFNU5DLDBCQUEwQlUsd0VBQXlFLEdBQUc7NEJBRXRHLE9BQU9WO3dCQUNUO29CQUNGO29CQUNBO3dCQUNFRSxZQUFZWjt3QkFDWmEsWUFBWWY7d0JBQ1pnQixhQUFhLFNBQUNDLE9BQU9DLE9BQU9WLGVBQWVDLGVBQWVDLGVBQWVDOzRCQUN2RSxJQUFJQzs0QkFFSixJQUFNWSw2QkFBNkJOLE9BQzdCRSxpQ0FBaUNILE9BQ2pDSSxpQ0FBaUNsQixtQ0FBbUNHLG1CQUNwRW1CLHdFQUVFLE1BQUtDLG1FQUFtRSxDQUFDTixnQ0FBZ0NJLDRCQUE0QkgsZ0NBQWdDYixlQUFlQyxlQUFlQyxlQUFlQzs0QkFFMU5DLDBCQUEwQmEsdUVBQXdFLEdBQUc7NEJBRXJHLE9BQU9iO3dCQUNUO29CQUNGO29CQUNBO3dCQUNFRSxZQUFZWjt3QkFDWmEsWUFBWWxCO3dCQUNabUIsYUFBYSxTQUFDQyxPQUFPQyxPQUFPVixlQUFlQyxlQUFlQyxlQUFlQzs0QkFDdkUsSUFBSUM7NEJBRUosSUFBTWUsaUJBQWlCVCxPQUNqQkUsaUNBQWlDSCxPQUNqQ0ksaUNBQWlDbEIsbUNBQW1DRyxtQkFDcEVzQiw0REFFRSxNQUFLQyx1REFBdUQsQ0FBQ1QsZ0NBQWdDTyxnQkFBZ0JOLGdDQUFnQ2IsZUFBZUMsZUFBZUMsZUFBZUM7NEJBRWxNQywwQkFBMEJnQiwyREFBNEQsR0FBRzs0QkFFekYsT0FBT2hCO3dCQUNUO29CQUNGO29CQUNBO3dCQUNFRSxZQUFZYjt3QkFDWmMsWUFBWWxCO3dCQUNabUIsYUFBYSxTQUFDQyxPQUFPQyxPQUFPVixlQUFlQyxlQUFlQyxlQUFlQzs0QkFDdkUsSUFBSUM7NEJBRUosSUFBTWUsaUJBQWlCVCxPQUNqQlksOEJBQThCYixPQUM5QmMseURBRUUsTUFBS0Msb0RBQW9ELENBQUNGLDZCQUE2QkgsZ0JBQWdCbkIsZUFBZUMsZUFBZUMsZUFBZUM7NEJBRTVKQywwQkFBMEJtQix3REFBd0QsR0FBRzs0QkFFckYsT0FBT25CO3dCQUNUO29CQUNGO29CQUNBO3dCQUNFRSxZQUFZakI7d0JBQ1prQixZQUFZbEI7d0JBQ1ptQixhQUFhLFNBQUNDLE9BQU9DLE9BQU9WLGVBQWVDLGVBQWVDLGVBQWVDOzRCQUN2RSxJQUFJQzs0QkFFSixJQUFNZSxpQkFBaUJULE9BQ2pCZSxpQkFBaUJoQixPQUNqQmlCLDRDQUVGLE1BQUtDLHVDQUF1QyxDQUFDRixnQkFBZ0JOLGdCQUFnQm5CLGVBQWVDLGVBQWVDLGVBQWVDOzRCQUU5SEMsMEJBQTBCc0IsMkNBQTJDLEdBQUc7NEJBRXhFLE9BQU90Qjt3QkFDVDtvQkFDRjtvQkFDQTt3QkFDRUUsWUFBWWY7d0JBQ1pnQixZQUFZbEI7d0JBQ1ptQixhQUFhLFNBQUNDLE9BQU9DLE9BQU9WLGVBQWVDLGVBQWVDLGVBQWVDOzRCQUN2RSxJQUFJQzs0QkFFSixJQUFNZSxpQkFBaUJULE9BQ2pCa0IscUJBQXFCbkIsT0FDckJvQixnREFFRSxNQUFLQywyQ0FBMkMsQ0FBQ0Ysb0JBQW9CVCxnQkFBZ0JuQixlQUFlQyxlQUFlQyxlQUFlQzs0QkFFMUlDLDBCQUEwQnlCLCtDQUFnRCxHQUFHOzRCQUU3RSxPQUFPekI7d0JBQ1Q7b0JBQ0Y7b0JBQ0E7d0JBQ0VFLFlBQVloQjt3QkFDWmlCLFlBQVlwQjt3QkFDWnFCLGFBQWEsU0FBQ0MsT0FBT0MsT0FBT1YsZUFBZUMsZUFBZUMsZUFBZUM7NEJBQ3ZFLElBQUlDOzRCQUVKLElBQU0yQixZQUFZckIsT0FDWnNCLG9CQUFvQnZCLE9BQ3BCd0Isc0NBRUUsTUFBS0MsaUNBQWlDLENBQUNGLG1CQUFtQkQsV0FBVy9CLGVBQWVDLGVBQWVDLGVBQWVDOzRCQUUxSEMsMEJBQTBCNkIscUNBQXFDLEdBQUc7NEJBRWxFLE9BQU83Qjt3QkFDVDtvQkFDRjtpQkFDRDtnQkFFRCxJQUFNK0IsZ0JBQWdCM0IsSUFBQUEscUJBQVcsRUFBQ0gsZUFBZVAsa0JBQWtCQyxrQkFBa0JDLGVBQWVDLGVBQWVDLGVBQWVDO2dCQUVsSUMsMEJBQTBCK0IsZ0JBQ0UsT0FDRSx1QkFySTVCdkMsd0RBcUlrQ0MseUJBQU4sSUFBSyxhQUF1QkMsa0JBQWtCQyxrQkFBa0JDLGVBQWVDLGVBQWVDLGVBQWVDO2dCQUUzSSxPQUFPQztZQUNUOzs7WUFFQVcsS0FBQUE7bUJBQUFBLFNBQUFBLHFFQUFxRUgsOEJBQThCLEVBQUVELDJCQUEyQixFQUFFRSw4QkFBOEIsRUFBRWIsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsV0FBVztnQkFDeE4sSUFBSVc7Z0JBRUosSUFBTXNCLGdCQUFnQnpCLDZCQUNoQjBCLG1CQUFtQnpCLGdDQUNuQjBCLG1CQUFtQnpCLGdDQUNuQjBCLHVDQUF1Q0MsSUFBQUEscUNBQWtDLEVBQUNILGtCQUFrQkQsZUFBZUUsa0JBQWtCdEMsZUFBZUMsZUFBZUMsZUFBZUM7Z0JBRWhMVyx5RUFBeUV5QixzQ0FBc0MsR0FBRztnQkFFbEgsT0FBT3pCO1lBQ1Q7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsb0VBQW9FTiw4QkFBOEIsRUFBRUksMEJBQTBCLEVBQUVILDhCQUE4QixFQUFFYixhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxXQUFXO2dCQUN0TixJQUFJYztnQkFFSixJQUFNbUIsZ0JBQWdCcEIsNEJBQ2hCcUIsbUJBQW1CekIsZ0NBQ25CMEIsbUJBQW1CekIsZ0NBQ25CMEIsdUNBQXVDQyxJQUFBQSxxQ0FBa0MsRUFBQ0gsa0JBQWtCRCxlQUFlRSxrQkFBa0J0QyxlQUFlQyxlQUFlQyxlQUFlQztnQkFFaExjLHdFQUF3RXNCLHNDQUFzQyxHQUFHO2dCQUVqSCxPQUFPdEI7WUFDVDs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSx3REFBd0RULDhCQUE4QixFQUFFTyxjQUFjLEVBQUVOLDhCQUE4QixFQUFFYixhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxXQUFXO2dCQUM5TCxJQUFJaUI7Z0JBRUosSUFBTWdCLGdCQUFnQmpCLGdCQUNoQmtCLG1CQUFtQnpCLGdDQUNuQjBCLG1CQUFtQnpCLGdDQUNuQjBCLHVDQUF1Q0MsSUFBQUEscUNBQWtDLEVBQUNILGtCQUFrQkQsZUFBZUUsa0JBQWtCdEMsZUFBZUMsZUFBZUMsZUFBZUM7Z0JBRWhMaUIsNERBQTREbUIsc0NBQXNDLEdBQUc7Z0JBRXJHLE9BQU9uQjtZQUNUOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLHFEQUFxREYsMkJBQTJCLEVBQUVILGNBQWMsRUFBRW5CLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLFdBQVc7Z0JBQ3hKLElBQUlvQjtnQkFFSixJQUFNekIsbUJBQW1Cd0IsNkJBQ25CdkIsbUJBQW1Cb0IsZ0JBQ25CZiwwQkFBMEIsSUFBSSxDQUFDUCxxQkFBcUIsQ0FBQ0Msa0JBQWtCQyxrQkFBa0JDLGVBQWVDLGVBQWVDLGVBQWVDO2dCQUU1SW9CLHlEQUF5RG5CLHlCQUF5QixHQUFHO2dCQUVyRixPQUFPbUI7WUFDVDs7O1lBRUFPLEtBQUFBO21CQUFBQSxTQUFBQSw0Q0FBNENGLGtCQUFrQixFQUFFVCxjQUFjLEVBQUVuQixhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxXQUFXO2dCQUN0SSxJQUFJMEI7Z0JBRUosSUFBTS9CLG1CQUFtQjhCLG9CQUNuQjdCLG1CQUFtQm9CLGdCQUNuQnNCLDZCQUE2QjNDLGlCQUFpQjRDLGFBQWEsSUFDM0RDLDZCQUE2QjVDLGlCQUFpQjJDLGFBQWEsSUFDM0RFLGNBQWNILDRCQUNkSSxjQUFjRiw0QkFDZEcscUJBQXFCLElBQUksQ0FBQ0MsZ0JBQWdCLENBQUNILGFBQWFDLGFBQWE3QyxlQUFlQyxlQUFlQyxlQUFlQztnQkFFeEgwQixnREFBZ0RpQixvQkFBb0IsR0FBRztnQkFFdkUsT0FBT2pCO1lBQ1Q7OztZQUVBRixLQUFBQTttQkFBQUEsU0FBQUEsd0NBQXdDRixjQUFjLEVBQUVOLGNBQWMsRUFBRW5CLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLFdBQVc7Z0JBQzlILElBQUk2QztnQkFFSixJQUFNbEQsbUJBQW1CMkIsZ0JBQ25CMUIsbUJBQW1Cb0IsZ0JBQ25CZiwwQkFBMEI2Qyx1QkFBMkIsQ0FBQ3BELHFCQUFxQixDQUFDQyxrQkFBa0JDLGtCQUFrQkMsZUFBZUMsZUFBZUMsZUFBZUM7Z0JBRW5LNkMsb0NBQW9DNUMseUJBQTBCLElBQUk7Z0JBRWxFLE9BQU80QztZQUNUOzs7WUFFQWQsS0FBQUE7bUJBQUFBLFNBQUFBLGtDQUFrQ0YsaUJBQWlCLEVBQUVELFNBQVMsRUFBRS9CLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLFdBQVc7Z0JBQ3RILElBQUk4QjtnQkFFSixJQUFNaUIsV0FBV25CLFdBQ1hvQixlQUFlbkIsbUJBQ2ZvQiw4QkFBOEJDLElBQUFBLDRCQUF5QixFQUFDRixjQUFjRCxVQUFVbEQsZUFBZUMsZUFBZUMsZUFBZUM7Z0JBRW5JOEIsc0NBQXNDbUIsNkJBQThCLEdBQUc7Z0JBRXZFLE9BQU9uQjtZQUNUOzs7V0FuT0lyQztFQUFvRDBELGNBQWE7QUFzT3ZFLElBQU1DLDhDQUE4QyxJQUFJM0Q7SUFFeEQsV0FBZTJEIn0=
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy9pbnRyaW5zaWNMZXZlbEFnYWluc3RNZXRhTGV2ZWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi8uLi92ZXJpZmllci9ub2Rlc1wiO1xuaW1wb3J0IHZlcmlmeVZhcmlhYmxlQWdhaW5zdFRlcm0gZnJvbSBcIi4uLy4uL3ZlcmlmeS92YXJpYWJsZUFnYWluc3RUZXJtXCI7XG5pbXBvcnQgaW50cmluc2ljTGV2ZWxOb2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi8uLi92ZXJpZmllci9ub2Rlcy9pbnRyaW5zaWNMZXZlbFwiO1xuaW1wb3J0IHZlcmlmeU1ldGF2YXJpYWJsZUFnYWluc3RTdGF0ZW1lbnQgZnJvbSBcIi4uLy4uL3ZlcmlmeS9tZXRhdmFyaWFibGVBZ2FpbnN0U3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHZlcmlmeU5vZGVzIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92ZXJpZmllclwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0hXCIpLFxuICAgICAgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudCFcIiksXG4gICAgICB0ZXJtVmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS92YXJpYWJsZSFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFBcmd1bWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L3N0YXRlbWVudCFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvbWV0YXZhcmlhYmxlIVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXN0YXRlbWVudC9zdWJzdGl0dXRpb25cIik7XG5cbmNsYXNzIEludHJpbnNpY0xldmVsQWdhaW5zdE1ldGFMZXZlbE5vZGVzVmVyaWZpZXIgZXh0ZW5kcyBOb2Rlc1ZlcmlmaWVyIHtcbiAgdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgY29uc3Qgbm9kZVF1ZXJ5TWFwcyA9IFtcbiAgICAgIHtcbiAgICAgICAgbm9kZVF1ZXJ5QTogbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5QjogbWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVRdWVyeSxcbiAgICAgICAgdmVyaWZ5Tm9kZXM6IChub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSA9PiB7XG4gICAgICAgICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgICAgICAgY29uc3QgbWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVCID0gbm9kZUIsICAvLy9cbiAgICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEgPSBub2RlQSwgLy8vXG4gICAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVBID0gbWV0YXN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVRdWVyeShub25UZXJtaW5hbE5vZGVBKSxcbiAgICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlID1cblxuICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlNZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUFnYWluc3RNZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEsIG1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlQiwgbWV0YXN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVBLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGU7ICAvLy9cblxuICAgICAgICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbm9kZVF1ZXJ5QTogbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5QjogbWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZVF1ZXJ5LFxuICAgICAgICB2ZXJpZnlOb2RlczogKG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpID0+IHtcbiAgICAgICAgICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgICAgICAgICBjb25zdCBtZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlQiA9IG5vZGVCLCAgLy8vXG4gICAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBID0gbm9kZUEsIC8vL1xuICAgICAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSA9IG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlUXVlcnkobm9uVGVybWluYWxOb2RlQSksXG4gICAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RNZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlID1cblxuICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlNZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUFnYWluc3RNZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQSwgbWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZUIsIG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGU7ICAvLy9cblxuICAgICAgICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbm9kZVF1ZXJ5QTogbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5Qjogc3RhdGVtZW50Tm9kZVF1ZXJ5LFxuICAgICAgICB2ZXJpZnlOb2RlczogKG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpID0+IHtcbiAgICAgICAgICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlQiA9IG5vZGVCLCAgLy8vXG4gICAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBID0gbm9kZUEsIC8vL1xuICAgICAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSA9IG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlUXVlcnkobm9uVGVybWluYWxOb2RlQSksXG4gICAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlID1cblxuICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlNZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUFnYWluc3RTdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQSwgc3RhdGVtZW50Tm9kZUIsIG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGU7ICAvLy9cblxuICAgICAgICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbm9kZVF1ZXJ5QTogbWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5Qjogc3RhdGVtZW50Tm9kZVF1ZXJ5LFxuICAgICAgICB2ZXJpZnlOb2RlczogKG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpID0+IHtcbiAgICAgICAgICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlQiA9IG5vZGVCLCAvLy9cbiAgICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZSA9XG5cbiAgICAgICAgICAgICAgICAgIHRoaXMudmVyaWZ5TWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVBZ2FpbnN0U3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZTsgLy8vXG5cbiAgICAgICAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5vZGVRdWVyeUE6IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnksXG4gICAgICAgIG5vZGVRdWVyeUI6IHN0YXRlbWVudE5vZGVRdWVyeSxcbiAgICAgICAgdmVyaWZ5Tm9kZXM6IChub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSA9PiB7XG4gICAgICAgICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZUIgPSBub2RlQiwgIC8vL1xuICAgICAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlQSA9IG5vZGVBLCAvLy9cbiAgICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGUgPVxuXG4gICAgICAgICAgICAgICAgICB0aGlzLnZlcmlmeU1ldGFzdGF0ZW1lbnROb2RlQWdhaW5zdFN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGU7ICAvLy9cblxuICAgICAgICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbm9kZVF1ZXJ5QTogdGVybVZhcmlhYmxlTm9kZVF1ZXJ5LFxuICAgICAgICBub2RlUXVlcnlCOiB0ZXJtTm9kZVF1ZXJ5LFxuICAgICAgICB2ZXJpZnlOb2RlczogKG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpID0+IHtcbiAgICAgICAgICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgICAgICAgICBjb25zdCB0ZXJtTm9kZUIgPSBub2RlQiwgIC8vL1xuICAgICAgICAgICAgICAgIHRlcm1WYXJpYWJsZU5vZGVBID0gbm9kZUEsICAvLy9cbiAgICAgICAgICAgICAgICB0ZXJtVmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0VGVybU5vZGUgPVxuXG4gICAgICAgICAgICAgICAgICB0aGlzLnZlcmlmeVRlcm1WYXJpYWJsZU5vZGVBZ2FpbnN0VGVybU5vZGUodGVybVZhcmlhYmxlTm9kZUEsIHRlcm1Ob2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSB0ZXJtVmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0VGVybU5vZGU7ICAvLy9cblxuICAgICAgICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF07XG5cbiAgICBjb25zdCBub2Rlc1ZlcmlmaWVkID0gdmVyaWZ5Tm9kZXMobm9kZVF1ZXJ5TWFwcywgbm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBub2Rlc1ZlcmlmaWVkID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeU1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQWdhaW5zdE1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQSwgbWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVCLCBtZXRhc3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZUEsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGU7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVCLCAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9uTm9kZSA9IG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudCA9IHZlcmlmeU1ldGF2YXJpYWJsZUFnYWluc3RTdGF0ZW1lbnQobWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9uTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpXG5cbiAgICBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlID0gbWV0YXZhcmlhYmxlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50OyAvLy9cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgdmVyaWZ5TWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBZ2FpbnN0TWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEsIG1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGVCLCBtZXRhc3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZUEsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZTtcblxuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBtZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlQiwgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQSwgIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbk5vZGUgPSBtZXRhc3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZUEsICAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnQgPSB2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0U3RhdGVtZW50KG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbk5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKVxuXG4gICAgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RNZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlID0gbWV0YXZhcmlhYmxlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50OyAvLy9cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGU7XG4gIH1cblxuICB2ZXJpZnlNZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUFnYWluc3RTdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQSwgc3RhdGVtZW50Tm9kZUIsIG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVCLCAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9uTm9kZSA9IG1ldGFzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudCA9IHZlcmlmeU1ldGF2YXJpYWJsZUFnYWluc3RTdGF0ZW1lbnQobWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9uTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpXG5cbiAgICBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGUgPSBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnQ7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIHZlcmlmeU1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlQWdhaW5zdFN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgbWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IG1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlQSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IHN0YXRlbWVudE5vZGVCLCAgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBzdXBlci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgbWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIHZlcmlmeU1ldGFzdGF0ZW1lbnROb2RlQWdhaW5zdFN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgbWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IG1ldGFzdGF0ZW1lbnROb2RlQSwgIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBzdGF0ZW1lbnROb2RlQiwgIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVCLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBjaGlsZE5vZGVzQSA9IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzQiA9IG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZpZWQgPSB0aGlzLnZlcmlmeUNoaWxkTm9kZXMoY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGUgPSBjaGlsZE5vZGVzVmVyaWZpZWQ7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIHZlcmlmeVRlcm1WYXJpYWJsZU5vZGVBZ2FpbnN0VGVybU5vZGUodGVybVZhcmlhYmxlTm9kZUEsIHRlcm1Ob2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgdGVybVZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFRlcm1Ob2RlO1xuXG4gICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZUIsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHRlcm1WYXJpYWJsZU5vZGVBLCAvLy9cbiAgICAgICAgICB0ZXJtVmVyaWZpZWRBZ2FpbnN0VmFyaWFibGUgPSB2ZXJpZnlWYXJpYWJsZUFnYWluc3RUZXJtKHZhcmlhYmxlTm9kZSwgdGVybU5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgIHRlcm1WYXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RUZXJtTm9kZSA9IHRlcm1WZXJpZmllZEFnYWluc3RWYXJpYWJsZTsgIC8vL1xuXG4gICAgcmV0dXJuIHRlcm1WYXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RUZXJtTm9kZTtcbiAgfVxufVxuXG5jb25zdCBpbnRyaW5zaWNMZXZlbEFnYWluc3RNZXRhTGV2ZWxOb2Rlc1ZlcmlmaWVyID0gbmV3IEludHJpbnNpY0xldmVsQWdhaW5zdE1ldGFMZXZlbE5vZGVzVmVyaWZpZXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgaW50cmluc2ljTGV2ZWxBZ2FpbnN0TWV0YUxldmVsTm9kZXNWZXJpZmllcjtcbiJdLCJuYW1lcyI6WyJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5IiwidGVybVZhcmlhYmxlTm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVRdWVyeSIsIkludHJpbnNpY0xldmVsQWdhaW5zdE1ldGFMZXZlbE5vZGVzVmVyaWZpZXIiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInZlcmlmeUFoZWFkIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJub2RlUXVlcnlNYXBzIiwibm9kZVF1ZXJ5QSIsIm5vZGVRdWVyeUIiLCJ2ZXJpZnlOb2RlcyIsIm5vZGVBIiwibm9kZUIiLCJtZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZUIiLCJtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEiLCJtZXRhc3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZUEiLCJtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnRTdGF0ZW1lbnROb2RlIiwidmVyaWZ5TWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBZ2FpbnN0TWV0YXN0YXRlbWVudFN0YXRlbWVudE5vZGUiLCJtZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlQiIsIm1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZSIsInZlcmlmeU1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQWdhaW5zdE1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnROb2RlQiIsIm1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZSIsInZlcmlmeU1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQWdhaW5zdFN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZUEiLCJtZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGUiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50U3RhdGVtZW50Tm9kZUFnYWluc3RTdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudE5vZGVBIiwibWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlIiwidmVyaWZ5TWV0YXN0YXRlbWVudE5vZGVBZ2FpbnN0U3RhdGVtZW50Tm9kZSIsInRlcm1Ob2RlQiIsInRlcm1WYXJpYWJsZU5vZGVBIiwidGVybVZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFRlcm1Ob2RlIiwidmVyaWZ5VGVybVZhcmlhYmxlTm9kZUFnYWluc3RUZXJtTm9kZSIsIm5vZGVzVmVyaWZpZWQiLCJzdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbk5vZGUiLCJtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnQiLCJ2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0U3RhdGVtZW50Iiwibm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwibm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMiLCJjaGlsZE5vZGVzQSIsImNoaWxkTm9kZXNCIiwiY2hpbGROb2Rlc1ZlcmlmaWVkIiwidmVyaWZ5Q2hpbGROb2RlcyIsInRlcm1Ob2RlIiwidmFyaWFibGVOb2RlIiwidGVybVZlcmlmaWVkQWdhaW5zdFZhcmlhYmxlIiwidmVyaWZ5VmFyaWFibGVBZ2FpbnN0VGVybSIsIk5vZGVzVmVyaWZpZXIiLCJpbnRyaW5zaWNMZXZlbEFnYWluc3RNZXRhTGV2ZWxOb2Rlc1ZlcmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE4TkE7OztlQUFBOzs7NERBNU4wQjswRUFDWTtxRUFDRTttRkFDTztxQkFFckI7d0JBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1QixJQUFNQSxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsV0FDMUJDLHFCQUFxQkQsSUFBQUEsZ0JBQVMsRUFBQyxnQkFDL0JFLHdCQUF3QkYsSUFBQUEsZ0JBQVMsRUFBQyxvQkFDbENHLHlCQUF5QkgsSUFBQUEsZ0JBQVMsRUFBQyxvQkFDbkNJLGlDQUFpQ0osSUFBQUEsZ0JBQVMsRUFBQyw2QkFDM0NLLGtDQUFrQ0wsSUFBQUEsZ0JBQVMsRUFBQyw4QkFDNUNNLHFDQUFxQ04sSUFBQUEsZ0JBQVMsRUFBQyxpQ0FDL0NPLHFDQUFxQ1AsSUFBQUEsZ0JBQVMsRUFBQztBQUVyRCxJQUFBLEFBQU1RLDREQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLHNCQUFzQkMsZ0JBQWdCLEVBQUVDLGdCQUFnQixFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxXQUFXOztnQkFDaEgsSUFBSUM7Z0JBRUosSUFBTUMsZ0JBQWdCO29CQUNwQjt3QkFDRUMsWUFBWVo7d0JBQ1phLFlBQVlkO3dCQUNaZSxhQUFhLFNBQUNDLE9BQU9DLE9BQU9WLGVBQWVDLGVBQWVDLGVBQWVDOzRCQUN2RSxJQUFJQzs0QkFFSixJQUFNTyw4QkFBOEJELE9BQzlCRSxpQ0FBaUNILE9BQ2pDSSxpQ0FBaUNsQixtQ0FBbUNHLG1CQUNwRWdCLHlFQUVFLE1BQUtDLG9FQUFvRSxDQUFDSCxnQ0FBZ0NELDZCQUE2QkUsZ0NBQWdDYixlQUFlQyxlQUFlQyxlQUFlQzs0QkFFNU5DLDBCQUEwQlUsd0VBQXlFLEdBQUc7NEJBRXRHLE9BQU9WO3dCQUNUO29CQUNGO29CQUNBO3dCQUNFRSxZQUFZWjt3QkFDWmEsWUFBWWY7d0JBQ1pnQixhQUFhLFNBQUNDLE9BQU9DLE9BQU9WLGVBQWVDLGVBQWVDLGVBQWVDOzRCQUN2RSxJQUFJQzs0QkFFSixJQUFNWSw2QkFBNkJOLE9BQzdCRSxpQ0FBaUNILE9BQ2pDSSxpQ0FBaUNsQixtQ0FBbUNHLG1CQUNwRW1CLHdFQUVFLE1BQUtDLG1FQUFtRSxDQUFDTixnQ0FBZ0NJLDRCQUE0QkgsZ0NBQWdDYixlQUFlQyxlQUFlQyxlQUFlQzs0QkFFMU5DLDBCQUEwQmEsdUVBQXdFLEdBQUc7NEJBRXJHLE9BQU9iO3dCQUNUO29CQUNGO29CQUNBO3dCQUNFRSxZQUFZWjt3QkFDWmEsWUFBWWxCO3dCQUNabUIsYUFBYSxTQUFDQyxPQUFPQyxPQUFPVixlQUFlQyxlQUFlQyxlQUFlQzs0QkFDdkUsSUFBSUM7NEJBRUosSUFBTWUsaUJBQWlCVCxPQUNqQkUsaUNBQWlDSCxPQUNqQ0ksaUNBQWlDbEIsbUNBQW1DRyxtQkFDcEVzQiw0REFFRSxNQUFLQyx1REFBdUQsQ0FBQ1QsZ0NBQWdDTyxnQkFBZ0JOLGdDQUFnQ2IsZUFBZUMsZUFBZUMsZUFBZUM7NEJBRWxNQywwQkFBMEJnQiwyREFBNEQsR0FBRzs0QkFFekYsT0FBT2hCO3dCQUNUO29CQUNGO29CQUNBO3dCQUNFRSxZQUFZYjt3QkFDWmMsWUFBWWxCO3dCQUNabUIsYUFBYSxTQUFDQyxPQUFPQyxPQUFPVixlQUFlQyxlQUFlQyxlQUFlQzs0QkFDdkUsSUFBSUM7NEJBRUosSUFBTWUsaUJBQWlCVCxPQUNqQlksOEJBQThCYixPQUM5QmMseURBRUUsTUFBS0Msb0RBQW9ELENBQUNGLDZCQUE2QkgsZ0JBQWdCbkIsZUFBZUMsZUFBZUMsZUFBZUM7NEJBRTVKQywwQkFBMEJtQix3REFBd0QsR0FBRzs0QkFFckYsT0FBT25CO3dCQUNUO29CQUNGO29CQUNBO3dCQUNFRSxZQUFZZjt3QkFDWmdCLFlBQVlsQjt3QkFDWm1CLGFBQWEsU0FBQ0MsT0FBT0MsT0FBT1YsZUFBZUMsZUFBZUMsZUFBZUM7NEJBQ3ZFLElBQUlDOzRCQUVKLElBQU1lLGlCQUFpQlQsT0FDakJlLHFCQUFxQmhCLE9BQ3JCaUIsZ0RBRUUsTUFBS0MsMkNBQTJDLENBQUNGLG9CQUFvQk4sZ0JBQWdCbkIsZUFBZUMsZUFBZUMsZUFBZUM7NEJBRTFJQywwQkFBMEJzQiwrQ0FBZ0QsR0FBRzs0QkFFN0UsT0FBT3RCO3dCQUNUO29CQUNGO29CQUNBO3dCQUNFRSxZQUFZaEI7d0JBQ1ppQixZQUFZcEI7d0JBQ1pxQixhQUFhLFNBQUNDLE9BQU9DLE9BQU9WLGVBQWVDLGVBQWVDLGVBQWVDOzRCQUN2RSxJQUFJQzs0QkFFSixJQUFNd0IsWUFBWWxCLE9BQ1ptQixvQkFBb0JwQixPQUNwQnFCLDBDQUVFLE1BQUtDLHFDQUFxQyxDQUFDRixtQkFBbUJELFdBQVc1QixlQUFlQyxlQUFlQyxlQUFlQzs0QkFFOUhDLDBCQUEwQjBCLHlDQUEwQyxHQUFHOzRCQUV2RSxPQUFPMUI7d0JBQ1Q7b0JBQ0Y7aUJBQ0Q7Z0JBRUQsSUFBTTRCLGdCQUFnQnhCLElBQUFBLHFCQUFXLEVBQUNILGVBQWVQLGtCQUFrQkMsa0JBQWtCQyxlQUFlQyxlQUFlQyxlQUFlQztnQkFFbElDLDBCQUEwQjRCLGdCQUNFLE9BQ0UsdUJBcEg1QnBDLHdEQW9Ia0NDLHlCQUFOLElBQUssYUFBdUJDLGtCQUFrQkMsa0JBQWtCQyxlQUFlQyxlQUFlQyxlQUFlQztnQkFFM0ksT0FBT0M7WUFDVDs7O1lBRUFXLEtBQUFBO21CQUFBQSxTQUFBQSxxRUFBcUVILDhCQUE4QixFQUFFRCwyQkFBMkIsRUFBRUUsOEJBQThCLEVBQUViLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLFdBQVc7Z0JBQ3hOLElBQUlXO2dCQUVKLElBQU1tQixnQkFBZ0J0Qiw2QkFDaEJ1QixtQkFBbUJ0QixnQ0FDbkJ1QixtQkFBbUJ0QixnQ0FDbkJ1Qix1Q0FBdUNDLElBQUFBLHFDQUFrQyxFQUFDSCxrQkFBa0JELGVBQWVFLGtCQUFrQm5DLGVBQWVDLGVBQWVDLGVBQWVDO2dCQUVoTFcseUVBQXlFc0Isc0NBQXNDLEdBQUc7Z0JBRWxILE9BQU90QjtZQUNUOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLG9FQUFvRU4sOEJBQThCLEVBQUVJLDBCQUEwQixFQUFFSCw4QkFBOEIsRUFBRWIsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsV0FBVztnQkFDdE4sSUFBSWM7Z0JBRUosSUFBTWdCLGdCQUFnQmpCLDRCQUNoQmtCLG1CQUFtQnRCLGdDQUNuQnVCLG1CQUFtQnRCLGdDQUNuQnVCLHVDQUF1Q0MsSUFBQUEscUNBQWtDLEVBQUNILGtCQUFrQkQsZUFBZUUsa0JBQWtCbkMsZUFBZUMsZUFBZUMsZUFBZUM7Z0JBRWhMYyx3RUFBd0VtQixzQ0FBc0MsR0FBRztnQkFFakgsT0FBT25CO1lBQ1Q7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsd0RBQXdEVCw4QkFBOEIsRUFBRU8sY0FBYyxFQUFFTiw4QkFBOEIsRUFBRWIsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsV0FBVztnQkFDOUwsSUFBSWlCO2dCQUVKLElBQU1hLGdCQUFnQmQsZ0JBQ2hCZSxtQkFBbUJ0QixnQ0FDbkJ1QixtQkFBbUJ0QixnQ0FDbkJ1Qix1Q0FBdUNDLElBQUFBLHFDQUFrQyxFQUFDSCxrQkFBa0JELGVBQWVFLGtCQUFrQm5DLGVBQWVDLGVBQWVDLGVBQWVDO2dCQUVoTGlCLDREQUE0RGdCLHNDQUFzQyxHQUFHO2dCQUVyRyxPQUFPaEI7WUFDVDs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxxREFBcURGLDJCQUEyQixFQUFFSCxjQUFjLEVBQUVuQixhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxXQUFXO2dCQUN4SixJQUFJb0I7Z0JBRUosSUFBTXpCLG1CQUFtQndCLDZCQUNuQnZCLG1CQUFtQm9CLGdCQUNuQmYsMEJBQTBCLHVCQXJLOUJSLHdEQXFLb0NDLHlCQUFOLElBQUssYUFBdUJDLGtCQUFrQkMsa0JBQWtCQyxlQUFlQyxlQUFlQyxlQUFlQztnQkFFN0lvQix5REFBeURuQix5QkFBeUIsR0FBRztnQkFFckYsT0FBT21CO1lBQ1Q7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsNENBQTRDRixrQkFBa0IsRUFBRU4sY0FBYyxFQUFFbkIsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsV0FBVztnQkFDdEksSUFBSXVCO2dCQUVKLElBQU01QixtQkFBbUIyQixvQkFDbkIxQixtQkFBbUJvQixnQkFDbkJtQiw2QkFBNkJ4QyxpQkFBaUJ5QyxhQUFhLElBQzNEQyw2QkFBNkJ6QyxpQkFBaUJ3QyxhQUFhLElBQzNERSxjQUFjSCw0QkFDZEksY0FBY0YsNEJBQ2RHLHFCQUFxQixJQUFJLENBQUNDLGdCQUFnQixDQUFDSCxhQUFhQyxhQUFhMUMsZUFBZUMsZUFBZUMsZUFBZUM7Z0JBRXhIdUIsZ0RBQWdEaUIsb0JBQW9CLEdBQUc7Z0JBRXZFLE9BQU9qQjtZQUNUOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBLHNDQUFzQ0YsaUJBQWlCLEVBQUVELFNBQVMsRUFBRTVCLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLFdBQVc7Z0JBQzFILElBQUkyQjtnQkFFSixJQUFNZSxXQUFXakIsV0FDWGtCLGVBQWVqQixtQkFDZmtCLDhCQUE4QkMsSUFBQUEsNEJBQXlCLEVBQUNGLGNBQWNELFVBQVU3QyxlQUFlQyxlQUFlQyxlQUFlQztnQkFFbkkyQiwwQ0FBMENpQiw2QkFBOEIsR0FBRztnQkFFM0UsT0FBT2pCO1lBQ1Q7OztXQXRNSWxDO0VBQW9EcUQsY0FBYTtBQXlNdkUsSUFBTUMsOENBQThDLElBQUl0RDtJQUV4RCxXQUFlc0QifQ==
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _verify = require("../utilities/verify");
12
12
  var _query = require("../utilities/query");
13
- var variableNodeQuery = (0, _query.nodeQuery)("/containedAssertion/variable!"), metastatementVariableNodesQuery = (0, _query.nodesQuery)("/containedAssertion/metastatement//variable");
13
+ var variableNodeQuery = (0, _query.nodeQuery)("/containedAssertion/term/variable!"), metastatementVariableNodesQuery = (0, _query.nodesQuery)("/containedAssertion/metastatement//variable");
14
14
  function verifyContainedAssertion(containedAssertionNode) {
15
15
  var containedAssertionVerified = false;
16
16
  var containedAssertionNegated = (0, _verify.isAssertionNegated)(containedAssertionNode), variableNode = variableNodeQuery(containedAssertionNode), negated = containedAssertionNegated; ///
@@ -37,4 +37,4 @@ function verifyContainedAssertion(containedAssertionNode) {
37
37
  return containedAssertionVerified;
38
38
  }
39
39
 
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29udGFpbmVkQXNzZXJ0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBpc0Fzc2VydGlvbk5lZ2F0ZWQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZlcmlmeVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb250YWluZWRBc3NlcnRpb24vdmFyaWFibGUhXCIpLFxuICAgICAgbWV0YXN0YXRlbWVudFZhcmlhYmxlTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvY29udGFpbmVkQXNzZXJ0aW9uL21ldGFzdGF0ZW1lbnQvL3ZhcmlhYmxlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlDb250YWluZWRBc3NlcnRpb24oY29udGFpbmVkQXNzZXJ0aW9uTm9kZSkge1xuICBsZXQgY29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBjb250YWluZWRBc3NlcnRpb25OZWdhdGVkID0gaXNBc3NlcnRpb25OZWdhdGVkKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpLFxuICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeShjb250YWluZWRBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgbmVnYXRlZCA9IGNvbnRhaW5lZEFzc2VydGlvbk5lZ2F0ZWQ7ICAvLy9cblxuICBpZiAoZmFsc2UpIHtcbiAgICAvLy9cbiAgfSBlbHNlIGlmICh2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50VmFyaWFibGVOb2RlcyA9IG1ldGFzdGF0ZW1lbnRWYXJpYWJsZU5vZGVzUXVlcnkoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOb2RlTWF0Y2hlc01ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSA9IG1ldGFzdGF0ZW1lbnRWYXJpYWJsZU5vZGVzLnNvbWUoKG1ldGFzdGF0ZW1lbnRWYXJpYWJsZU5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRWYXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGUubWF0Y2gobWV0YXN0YXRlbWVudFZhcmlhYmxlTm9kZSk7XG5cbiAgICAgICAgICAgIGlmICh2YXJpYWJsZU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgaWYgKCFuZWdhdGVkKSB7XG4gICAgICBpZiAodmFyaWFibGVOb2RlTWF0Y2hlc01ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSkge1xuICAgICAgICBjb250YWluZWRBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5lZ2F0ZWQpIHtcbiAgICAgIGlmICghdmFyaWFibGVOb2RlTWF0Y2hlc01ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSkge1xuICAgICAgICBjb250YWluZWRBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbiIsInZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudFZhcmlhYmxlTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJjb250YWluZWRBc3NlcnRpb25Ob2RlIiwiY29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQiLCJjb250YWluZWRBc3NlcnRpb25OZWdhdGVkIiwiaXNBc3NlcnRpb25OZWdhdGVkIiwidmFyaWFibGVOb2RlIiwibmVnYXRlZCIsIm1ldGFzdGF0ZW1lbnRWYXJpYWJsZU5vZGVzIiwidmFyaWFibGVOb2RlTWF0Y2hlc01ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSIsInNvbWUiLCJtZXRhc3RhdGVtZW50VmFyaWFibGVOb2RlIiwibWF0Y2giXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7c0JBTlc7cUJBQ0c7QUFFdEMsSUFBTUMsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDLGtDQUM5QkMsa0NBQWtDQyxJQUFBQSxpQkFBVSxFQUFDO0FBRXBDLFNBQVNKLHlCQUF5Qkssc0JBQXNCO0lBQ3JFLElBQUlDLDZCQUE2QjtJQUVqQyxJQUFNQyw0QkFBNEJDLElBQUFBLDBCQUFrQixFQUFDSCx5QkFDL0NJLGVBQWVSLGtCQUFrQkkseUJBQ2pDSyxVQUFVSCwyQkFBNEIsR0FBRztJQUUvQyxJQUFJLE9BQU87SUFDVCxHQUFHO0lBQ0wsT0FBTyxJQUFJRSxpQkFBaUIsTUFBTTtRQUNoQyxJQUFNRSw2QkFBNkJSLGdDQUFnQ0UseUJBQzdETyw4Q0FBOENELDJCQUEyQkUsSUFBSSxDQUFDLFNBQUNDO1lBQzdFLElBQU1GLDhDQUE4Q0gsYUFBYU0sS0FBSyxDQUFDRDtZQUV2RSxJQUFJRiw2Q0FBNkM7Z0JBQy9DLE9BQU87WUFDVDtRQUNGO1FBRU4sSUFBSSxDQUFDRixTQUFTO1lBQ1osSUFBSUUsNkNBQTZDO2dCQUMvQ04sNkJBQTZCO1lBQy9CO1FBQ0Y7UUFFQSxJQUFJSSxTQUFTO1lBQ1gsSUFBSSxDQUFDRSw2Q0FBNkM7Z0JBQ2hETiw2QkFBNkI7WUFDL0I7UUFDRjtJQUNGO0lBRUEsT0FBT0E7QUFDVCJ9
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29udGFpbmVkQXNzZXJ0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBpc0Fzc2VydGlvbk5lZ2F0ZWQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZlcmlmeVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb250YWluZWRBc3NlcnRpb24vdGVybS92YXJpYWJsZSFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50VmFyaWFibGVOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9jb250YWluZWRBc3NlcnRpb24vbWV0YXN0YXRlbWVudC8vdmFyaWFibGVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbihjb250YWluZWRBc3NlcnRpb25Ob2RlKSB7XG4gIGxldCBjb250YWluZWRBc3NlcnRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGNvbnRhaW5lZEFzc2VydGlvbk5lZ2F0ZWQgPSBpc0Fzc2VydGlvbk5lZ2F0ZWQoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpLFxuICAgICAgICBuZWdhdGVkID0gY29udGFpbmVkQXNzZXJ0aW9uTmVnYXRlZDsgIC8vL1xuXG4gIGlmIChmYWxzZSkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKHZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRWYXJpYWJsZU5vZGVzID0gbWV0YXN0YXRlbWVudFZhcmlhYmxlTm9kZXNRdWVyeShjb250YWluZWRBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlID0gbWV0YXN0YXRlbWVudFZhcmlhYmxlTm9kZXMuc29tZSgobWV0YXN0YXRlbWVudFZhcmlhYmxlTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFyaWFibGVOb2RlTWF0Y2hlc01ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZS5tYXRjaChtZXRhc3RhdGVtZW50VmFyaWFibGVOb2RlKTtcblxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRWYXJpYWJsZU5vZGUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICBpZiAoIW5lZ2F0ZWQpIHtcbiAgICAgIGlmICh2YXJpYWJsZU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlKSB7XG4gICAgICAgIGNvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobmVnYXRlZCkge1xuICAgICAgaWYgKCF2YXJpYWJsZU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlKSB7XG4gICAgICAgIGNvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5Q29udGFpbmVkQXNzZXJ0aW9uIiwidmFyaWFibGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50VmFyaWFibGVOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImNvbnRhaW5lZEFzc2VydGlvbk5vZGUiLCJjb250YWluZWRBc3NlcnRpb25WZXJpZmllZCIsImNvbnRhaW5lZEFzc2VydGlvbk5lZ2F0ZWQiLCJpc0Fzc2VydGlvbk5lZ2F0ZWQiLCJ2YXJpYWJsZU5vZGUiLCJuZWdhdGVkIiwibWV0YXN0YXRlbWVudFZhcmlhYmxlTm9kZXMiLCJ2YXJpYWJsZU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlIiwic29tZSIsIm1ldGFzdGF0ZW1lbnRWYXJpYWJsZU5vZGUiLCJtYXRjaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUF3QkE7OztzQkFOVztxQkFDRztBQUV0QyxJQUFNQyxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUMsdUNBQzlCQyxrQ0FBa0NDLElBQUFBLGlCQUFVLEVBQUM7QUFFcEMsU0FBU0oseUJBQXlCSyxzQkFBc0I7SUFDckUsSUFBSUMsNkJBQTZCO0lBRWpDLElBQU1DLDRCQUE0QkMsSUFBQUEsMEJBQWtCLEVBQUNILHlCQUMvQ0ksZUFBZVIsa0JBQWtCSSx5QkFDakNLLFVBQVVILDJCQUE0QixHQUFHO0lBRS9DLElBQUksT0FBTztJQUNULEdBQUc7SUFDTCxPQUFPLElBQUlFLGlCQUFpQixNQUFNO1FBQ2hDLElBQU1FLDZCQUE2QlIsZ0NBQWdDRSx5QkFDN0RPLDhDQUE4Q0QsMkJBQTJCRSxJQUFJLENBQUMsU0FBQ0M7WUFDN0UsSUFBTUYsOENBQThDSCxhQUFhTSxLQUFLLENBQUNEO1lBRXZFLElBQUlGLDZDQUE2QztnQkFDL0MsT0FBTztZQUNUO1FBQ0Y7UUFFTixJQUFJLENBQUNGLFNBQVM7WUFDWixJQUFJRSw2Q0FBNkM7Z0JBQy9DTiw2QkFBNkI7WUFDL0I7UUFDRjtRQUVBLElBQUlJLFNBQVM7WUFDWCxJQUFJLENBQUNFLDZDQUE2QztnQkFDaEROLDZCQUE2QjtZQUMvQjtRQUNGO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUIn0=
@@ -17,20 +17,20 @@ function _interop_require_default(obj) {
17
17
  default: obj
18
18
  };
19
19
  }
20
- var metavariableNodeQuery = (0, _query.nodeQuery)("/declaration/metavariable!"), metastatementNodeQuery = (0, _query.nodeQuery)("/declaration/metastatement!");
20
+ var referenceNodeQuery = (0, _query.nodeQuery)("/declaration/reference!"), metavariableNodeQuery = (0, _query.nodeQuery)("/reference/metavariable!"), metastatementNodeQuery = (0, _query.nodeQuery)("/declaration/metastatement!");
21
21
  function verifyDeclaration(declarationNode, declarations, localMetaContext) {
22
22
  var declarationVerified = false;
23
23
  var declarationString = localMetaContext.nodeAsString(declarationNode);
24
24
  localMetaContext.trace("Verifying the '".concat(declarationString, "' declaration..."), declarationNode);
25
- var metavariableNode = metavariableNodeQuery(declarationNode), metavariableVerified = verifyMetavariable(metavariableNode, localMetaContext);
26
- if (metavariableVerified) {
25
+ var referenceNode = referenceNodeQuery(declarationNode), referenceVerified = verifyReference(referenceNode, localMetaContext);
26
+ if (referenceVerified) {
27
27
  var metastatementNode = metastatementNodeQuery(declarationNode);
28
28
  var verifyMetastatement = _metastatement.default.verifyMetastatement, derived = false, assignments = [], metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localMetaContext, function() {
29
29
  var verifiedAhead = true;
30
30
  return verifiedAhead;
31
31
  });
32
32
  if (metastatementVerified) {
33
- var declaration = _declaration.default.fromMetavariableNodeAndMetastatementNode(metavariableNode, metastatementNode);
33
+ var metavariableNode = metavariableNodeQuery(referenceNode), declaration = _declaration.default.fromMetavariableNodeAndMetastatementNode(metavariableNode, metastatementNode);
34
34
  declarations.push(declaration);
35
35
  declarationVerified = true;
36
36
  }
@@ -40,26 +40,26 @@ function verifyDeclaration(declarationNode, declarations, localMetaContext) {
40
40
  }
41
41
  return declarationVerified;
42
42
  }
43
- function verifyMetavariable(metavariableNode, localMetaContext) {
44
- var metavariableVerified = false;
45
- var metavariableString = localMetaContext.nodeAsString(metavariableNode);
46
- localMetaContext.trace("Verifying the '".concat(metavariableString, "' metavariable..."), metavariableNode);
47
- var metavariable = localMetaContext.findMetavariableByMetavariableNode(metavariableNode, localMetaContext);
43
+ function verifyReference(referenceNode, localMetaContext) {
44
+ var referenceVerified = false;
45
+ var referenceString = localMetaContext.nodeAsString(referenceNode);
46
+ localMetaContext.trace("Verifying the '".concat(referenceString, "' reference..."), referenceNode);
47
+ var metavariableNode = metavariableNodeQuery(referenceNode), metavariable = localMetaContext.findMetavariableByMetavariableNode(metavariableNode, localMetaContext);
48
48
  if (metavariable !== null) {
49
49
  var metaType = metavariable.getMetaType();
50
50
  if (metaType === _reference.default) {
51
- metavariableVerified = true;
51
+ referenceVerified = true;
52
52
  } else {
53
53
  var referenceMetaTypeName = _reference.default.getName(), metaTypeString = metaType.asString();
54
- localMetaContext.debug("The '".concat(metavariableString, "' metavariable's meta-type is '").concat(metaTypeString, "' when it should be '").concat(referenceMetaTypeName, "'."), metavariableNode);
54
+ localMetaContext.debug("The '".concat(referenceString, "' metavariable's meta-type is '").concat(metaTypeString, "' when it should be '").concat(referenceMetaTypeName, "'."), referenceNode);
55
55
  }
56
56
  } else {
57
- localMetaContext.debug("The '".concat(metavariableString, "' metavariable is not present'."), metavariableNode);
57
+ localMetaContext.debug("The '".concat(referenceString, "' metavariable is not present'."), referenceNode);
58
58
  }
59
- if (metavariableVerified) {
60
- localMetaContext.debug("...verified the '".concat(metavariableString, "' metavariable."), metavariableNode);
59
+ if (referenceVerified) {
60
+ localMetaContext.debug("...verified the '".concat(referenceString, "' reference."), referenceNode);
61
61
  }
62
- return metavariableVerified;
62
+ return referenceVerified;
63
63
  }
64
64
 
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBEZWNsYXJhdGlvbiBmcm9tIFwiLi4vZGVjbGFyYXRpb25cIlxuaW1wb3J0IHJlZmVyZW5jZU1ldGFUeXBlIGZyb20gXCIuLi9tZXRhVHlwZS9yZWZlcmVuY2VcIjtcbmltcG9ydCBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllci9ub2RlL21ldGFzdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZGVjbGFyYXRpb24vbWV0YXZhcmlhYmxlIVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZGVjbGFyYXRpb24vbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeURlY2xhcmF0aW9uKGRlY2xhcmF0aW9uTm9kZSwgZGVjbGFyYXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBkZWNsYXJhdGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgZGVjbGFyYXRpb25TdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhkZWNsYXJhdGlvbk5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZGVjbGFyYXRpb25TdHJpbmd9JyBkZWNsYXJhdGlvbi4uLmAsIGRlY2xhcmF0aW9uTm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShkZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZCA9IHZlcmlmeU1ldGF2YXJpYWJsZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkoZGVjbGFyYXRpb25Ob2RlKTtcblxuICAgIGNvbnN0IHsgdmVyaWZ5TWV0YXN0YXRlbWVudCB9ID0gbWV0YXN0YXRlbWVudE5vZGVWZXJpZmllcixcbiAgICAgICAgICBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgIH0pO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgZGVjbGFyYXRpb24gPSBEZWNsYXJhdGlvbi5mcm9tTWV0YXZhcmlhYmxlTm9kZUFuZE1ldGFzdGF0ZW1lbnROb2RlKG1ldGF2YXJpYWJsZU5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgZGVjbGFyYXRpb25zLnB1c2goZGVjbGFyYXRpb24pO1xuXG4gICAgICBkZWNsYXJhdGlvblZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAoZGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtkZWNsYXJhdGlvblN0cmluZ30nIGRlY2xhcmF0aW9uLmAsIGRlY2xhcmF0aW9uTm9kZSk7XG4gIH1cblxuICByZXR1cm4gZGVjbGFyYXRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuLi5gLCBtZXRhdmFyaWFibGVOb2RlKTtcblxuICBjb25zdCBtZXRhdmFyaWFibGUgPSBsb2NhbE1ldGFDb250ZXh0LmZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgaWYgKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFUeXBlID0gbWV0YXZhcmlhYmxlLmdldE1ldGFUeXBlKCk7XG5cbiAgICBpZiAobWV0YVR5cGUgPT09IHJlZmVyZW5jZU1ldGFUeXBlKSB7XG4gICAgICBtZXRhdmFyaWFibGVWZXJpZmllZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlZmVyZW5jZU1ldGFUeXBlTmFtZSA9IHJlZmVyZW5jZU1ldGFUeXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgIG1ldGFUeXBlU3RyaW5nID0gbWV0YVR5cGUuYXNTdHJpbmcoKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgVGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZSdzIG1ldGEtdHlwZSBpcyAnJHttZXRhVHlwZVN0cmluZ30nIHdoZW4gaXQgc2hvdWxkIGJlICcke3JlZmVyZW5jZU1ldGFUeXBlTmFtZX0nLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGBUaGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlIGlzIG5vdCBwcmVzZW50Jy5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfVxuXG4gIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZCkge1xuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWQ7XG59Il0sIm5hbWVzIjpbInZlcmlmeURlY2xhcmF0aW9uIiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsImRlY2xhcmF0aW9uTm9kZSIsImRlY2xhcmF0aW9ucyIsImxvY2FsTWV0YUNvbnRleHQiLCJkZWNsYXJhdGlvblZlcmlmaWVkIiwiZGVjbGFyYXRpb25TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVWZXJpZmllZCIsInZlcmlmeU1ldGF2YXJpYWJsZSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZXIiLCJkZXJpdmVkIiwiYXNzaWdubWVudHMiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZmllZEFoZWFkIiwiZGVjbGFyYXRpb24iLCJEZWNsYXJhdGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlQW5kTWV0YXN0YXRlbWVudE5vZGUiLCJwdXNoIiwiZGVidWciLCJtZXRhdmFyaWFibGVTdHJpbmciLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YVR5cGUiLCJnZXRNZXRhVHlwZSIsInJlZmVyZW5jZU1ldGFUeXBlIiwicmVmZXJlbmNlTWV0YVR5cGVOYW1lIiwiZ2V0TmFtZSIsIm1ldGFUeXBlU3RyaW5nIiwiYXNTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBd0JBOzs7a0VBVEE7Z0VBQ007b0VBQ1E7cUJBRVo7Ozs7OztBQUUxQixJQUFNQyx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUMsK0JBQ2xDQyx5QkFBeUJELElBQUFBLGdCQUFTLEVBQUM7QUFFMUIsU0FBU0Ysa0JBQWtCSSxlQUFlLEVBQUVDLFlBQVksRUFBRUMsZ0JBQWdCO0lBQ3ZGLElBQUlDLHNCQUFzQjtJQUUxQixJQUFNQyxvQkFBb0JGLGlCQUFpQkcsWUFBWSxDQUFDTDtJQUV4REUsaUJBQWlCSSxLQUFLLENBQUMsQUFBQyxrQkFBbUMsT0FBbEJGLG1CQUFrQixxQkFBbUJKO0lBRTlFLElBQU1PLG1CQUFtQlYsc0JBQXNCRyxrQkFDekNRLHVCQUF1QkMsbUJBQW1CRixrQkFBa0JMO0lBRWxFLElBQUlNLHNCQUFzQjtRQUN4QixJQUFNRSxvQkFBb0JYLHVCQUF1QkM7UUFFakQsSUFBTSxBQUFFVyxzQkFBd0JDLHNCQUF5QixDQUFqREQscUJBQ0ZFLFVBQVUsT0FDVkMsY0FBYyxFQUFFLEVBQ2hCQyx3QkFBd0JKLG9CQUFvQkQsbUJBQW1CSSxhQUFhRCxTQUFTWCxrQkFBa0I7WUFDckcsSUFBTWMsZ0JBQWdCO1lBRXRCLE9BQU9BO1FBQ1Q7UUFFTixJQUFJRCx1QkFBdUI7WUFDekIsSUFBTUUsY0FBY0Msb0JBQVcsQ0FBQ0Msd0NBQXdDLENBQUNaLGtCQUFrQkc7WUFFM0ZULGFBQWFtQixJQUFJLENBQUNIO1lBRWxCZCxzQkFBc0I7UUFDeEI7SUFDRjtJQUVBLElBQUlBLHFCQUFxQjtRQUN2QkQsaUJBQWlCbUIsS0FBSyxDQUFDLEFBQUMsb0JBQXFDLE9BQWxCakIsbUJBQWtCLG1CQUFpQko7SUFDaEY7SUFFQSxPQUFPRztBQUNUO0FBRUEsU0FBU00sbUJBQW1CRixnQkFBZ0IsRUFBRUwsZ0JBQWdCO0lBQzVELElBQUlNLHVCQUF1QjtJQUUzQixJQUFNYyxxQkFBcUJwQixpQkFBaUJHLFlBQVksQ0FBQ0U7SUFFekRMLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQW9DLE9BQW5CZ0Isb0JBQW1CLHNCQUFvQmY7SUFFaEYsSUFBTWdCLGVBQWVyQixpQkFBaUJzQixrQ0FBa0MsQ0FBQ2pCLGtCQUFrQkw7SUFFM0YsSUFBSXFCLGlCQUFpQixNQUFNO1FBQ3pCLElBQU1FLFdBQVdGLGFBQWFHLFdBQVc7UUFFekMsSUFBSUQsYUFBYUUsa0JBQWlCLEVBQUU7WUFDbENuQix1QkFBdUI7UUFDekIsT0FBTztZQUNMLElBQU1vQix3QkFBd0JELGtCQUFpQixDQUFDRSxPQUFPLElBQ2pEQyxpQkFBaUJMLFNBQVNNLFFBQVE7WUFFeEM3QixpQkFBaUJtQixLQUFLLENBQUMsQUFBQyxRQUEyRFMsT0FBcERSLG9CQUFtQixtQ0FBdUVNLE9BQXRDRSxnQkFBZSx5QkFBNkMsT0FBdEJGLHVCQUFzQixPQUFLckI7UUFDdEo7SUFDRixPQUFPO1FBQ0xMLGlCQUFpQm1CLEtBQUssQ0FBQyxBQUFDLFFBQTBCLE9BQW5CQyxvQkFBbUIsb0NBQWtDZjtJQUN0RjtJQUVBLElBQUlDLHNCQUFzQjtRQUN4Qk4saUJBQWlCbUIsS0FBSyxDQUFDLEFBQUMsb0JBQXNDLE9BQW5CQyxvQkFBbUIsb0JBQWtCZjtJQUNsRjtJQUVBLE9BQU9DO0FBQ1QifQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBEZWNsYXJhdGlvbiBmcm9tIFwiLi4vZGVjbGFyYXRpb25cIlxuaW1wb3J0IHJlZmVyZW5jZU1ldGFUeXBlIGZyb20gXCIuLi9tZXRhVHlwZS9yZWZlcmVuY2VcIjtcbmltcG9ydCBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllci9ub2RlL21ldGFzdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCByZWZlcmVuY2VOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZGVjbGFyYXRpb24vcmVmZXJlbmNlIVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9yZWZlcmVuY2UvbWV0YXZhcmlhYmxlIVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZGVjbGFyYXRpb24vbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeURlY2xhcmF0aW9uKGRlY2xhcmF0aW9uTm9kZSwgZGVjbGFyYXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBkZWNsYXJhdGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgZGVjbGFyYXRpb25TdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhkZWNsYXJhdGlvbk5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZGVjbGFyYXRpb25TdHJpbmd9JyBkZWNsYXJhdGlvbi4uLmAsIGRlY2xhcmF0aW9uTm9kZSk7XG5cbiAgY29uc3QgcmVmZXJlbmNlTm9kZSA9IHJlZmVyZW5jZU5vZGVRdWVyeShkZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICByZWZlcmVuY2VWZXJpZmllZCA9IHZlcmlmeVJlZmVyZW5jZShyZWZlcmVuY2VOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICBpZiAocmVmZXJlbmNlVmVyaWZpZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkoZGVjbGFyYXRpb25Ob2RlKTtcblxuICAgIGNvbnN0IHsgdmVyaWZ5TWV0YXN0YXRlbWVudCB9ID0gbWV0YXN0YXRlbWVudE5vZGVWZXJpZmllcixcbiAgICAgICAgICBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgIH0pO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShyZWZlcmVuY2VOb2RlKSxcbiAgICAgICAgICAgIGRlY2xhcmF0aW9uID0gRGVjbGFyYXRpb24uZnJvbU1ldGF2YXJpYWJsZU5vZGVBbmRNZXRhc3RhdGVtZW50Tm9kZShtZXRhdmFyaWFibGVOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGRlY2xhcmF0aW9ucy5wdXNoKGRlY2xhcmF0aW9uKTtcblxuICAgICAgZGVjbGFyYXRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKGRlY2xhcmF0aW9uVmVyaWZpZWQpIHtcbiAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZGVjbGFyYXRpb25TdHJpbmd9JyBkZWNsYXJhdGlvbi5gLCBkZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGRlY2xhcmF0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVJlZmVyZW5jZShyZWZlcmVuY2VOb2RlLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCByZWZlcmVuY2VWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHJlZmVyZW5jZVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKHJlZmVyZW5jZU5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7cmVmZXJlbmNlU3RyaW5nfScgcmVmZXJlbmNlLi4uYCwgcmVmZXJlbmNlTm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShyZWZlcmVuY2VOb2RlKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlID0gbG9jYWxNZXRhQ29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gIGlmIChtZXRhdmFyaWFibGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhVHlwZSA9IG1ldGF2YXJpYWJsZS5nZXRNZXRhVHlwZSgpO1xuXG4gICAgaWYgKG1ldGFUeXBlID09PSByZWZlcmVuY2VNZXRhVHlwZSkge1xuICAgICAgcmVmZXJlbmNlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZWZlcmVuY2VNZXRhVHlwZU5hbWUgPSByZWZlcmVuY2VNZXRhVHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgICBtZXRhVHlwZVN0cmluZyA9IG1ldGFUeXBlLmFzU3RyaW5nKCk7XG5cbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYFRoZSAnJHtyZWZlcmVuY2VTdHJpbmd9JyBtZXRhdmFyaWFibGUncyBtZXRhLXR5cGUgaXMgJyR7bWV0YVR5cGVTdHJpbmd9JyB3aGVuIGl0IHNob3VsZCBiZSAnJHtyZWZlcmVuY2VNZXRhVHlwZU5hbWV9Jy5gLCByZWZlcmVuY2VOb2RlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgVGhlICcke3JlZmVyZW5jZVN0cmluZ30nIG1ldGF2YXJpYWJsZSBpcyBub3QgcHJlc2VudCcuYCwgcmVmZXJlbmNlTm9kZSk7XG4gIH1cblxuICBpZiAocmVmZXJlbmNlVmVyaWZpZWQpIHtcbiAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7cmVmZXJlbmNlU3RyaW5nfScgcmVmZXJlbmNlLmAsIHJlZmVyZW5jZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHJlZmVyZW5jZVZlcmlmaWVkO1xufSJdLCJuYW1lcyI6WyJ2ZXJpZnlEZWNsYXJhdGlvbiIsInJlZmVyZW5jZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJkZWNsYXJhdGlvbk5vZGUiLCJkZWNsYXJhdGlvbnMiLCJsb2NhbE1ldGFDb250ZXh0IiwiZGVjbGFyYXRpb25WZXJpZmllZCIsImRlY2xhcmF0aW9uU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJyZWZlcmVuY2VOb2RlIiwicmVmZXJlbmNlVmVyaWZpZWQiLCJ2ZXJpZnlSZWZlcmVuY2UiLCJtZXRhc3RhdGVtZW50Tm9kZSIsInZlcmlmeU1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyIiwiZGVyaXZlZCIsImFzc2lnbm1lbnRzIiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZpZWRBaGVhZCIsIm1ldGF2YXJpYWJsZU5vZGUiLCJkZWNsYXJhdGlvbiIsIkRlY2xhcmF0aW9uIiwiZnJvbU1ldGF2YXJpYWJsZU5vZGVBbmRNZXRhc3RhdGVtZW50Tm9kZSIsInB1c2giLCJkZWJ1ZyIsInJlZmVyZW5jZVN0cmluZyIsIm1ldGF2YXJpYWJsZSIsImZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhVHlwZSIsImdldE1ldGFUeXBlIiwicmVmZXJlbmNlTWV0YVR5cGUiLCJyZWZlcmVuY2VNZXRhVHlwZU5hbWUiLCJnZXROYW1lIiwibWV0YVR5cGVTdHJpbmciLCJhc1N0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBWUE7OztlQUF3QkE7OztrRUFWQTtnRUFDTTtvRUFDUTtxQkFFWjs7Ozs7O0FBRTFCLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyw0QkFDL0JDLHdCQUF3QkQsSUFBQUEsZ0JBQVMsRUFBQyw2QkFDbENFLHlCQUF5QkYsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTRixrQkFBa0JLLGVBQWUsRUFBRUMsWUFBWSxFQUFFQyxnQkFBZ0I7SUFDdkYsSUFBSUMsc0JBQXNCO0lBRTFCLElBQU1DLG9CQUFvQkYsaUJBQWlCRyxZQUFZLENBQUNMO0lBRXhERSxpQkFBaUJJLEtBQUssQ0FBQyxBQUFDLGtCQUFtQyxPQUFsQkYsbUJBQWtCLHFCQUFtQko7SUFFOUUsSUFBTU8sZ0JBQWdCWCxtQkFBbUJJLGtCQUNuQ1Esb0JBQW9CQyxnQkFBZ0JGLGVBQWVMO0lBRXpELElBQUlNLG1CQUFtQjtRQUNyQixJQUFNRSxvQkFBb0JYLHVCQUF1QkM7UUFFakQsSUFBTSxBQUFFVyxzQkFBd0JDLHNCQUF5QixDQUFqREQscUJBQ0ZFLFVBQVUsT0FDVkMsY0FBYyxFQUFFLEVBQ2hCQyx3QkFBd0JKLG9CQUFvQkQsbUJBQW1CSSxhQUFhRCxTQUFTWCxrQkFBa0I7WUFDckcsSUFBTWMsZ0JBQWdCO1lBRXRCLE9BQU9BO1FBQ1Q7UUFFTixJQUFJRCx1QkFBdUI7WUFDekIsSUFBTUUsbUJBQW1CbkIsc0JBQXNCUyxnQkFDekNXLGNBQWNDLG9CQUFXLENBQUNDLHdDQUF3QyxDQUFDSCxrQkFBa0JQO1lBRTNGVCxhQUFhb0IsSUFBSSxDQUFDSDtZQUVsQmYsc0JBQXNCO1FBQ3hCO0lBQ0Y7SUFFQSxJQUFJQSxxQkFBcUI7UUFDdkJELGlCQUFpQm9CLEtBQUssQ0FBQyxBQUFDLG9CQUFxQyxPQUFsQmxCLG1CQUFrQixtQkFBaUJKO0lBQ2hGO0lBRUEsT0FBT0c7QUFDVDtBQUVBLFNBQVNNLGdCQUFnQkYsYUFBYSxFQUFFTCxnQkFBZ0I7SUFDdEQsSUFBSU0sb0JBQW9CO0lBRXhCLElBQU1lLGtCQUFrQnJCLGlCQUFpQkcsWUFBWSxDQUFDRTtJQUV0REwsaUJBQWlCSSxLQUFLLENBQUMsQUFBQyxrQkFBaUMsT0FBaEJpQixpQkFBZ0IsbUJBQWlCaEI7SUFFMUUsSUFBTVUsbUJBQW1CbkIsc0JBQXNCUyxnQkFDekNpQixlQUFldEIsaUJBQWlCdUIsa0NBQWtDLENBQUNSLGtCQUFrQmY7SUFFM0YsSUFBSXNCLGlCQUFpQixNQUFNO1FBQ3pCLElBQU1FLFdBQVdGLGFBQWFHLFdBQVc7UUFFekMsSUFBSUQsYUFBYUUsa0JBQWlCLEVBQUU7WUFDbENwQixvQkFBb0I7UUFDdEIsT0FBTztZQUNMLElBQU1xQix3QkFBd0JELGtCQUFpQixDQUFDRSxPQUFPLElBQ2pEQyxpQkFBaUJMLFNBQVNNLFFBQVE7WUFFeEM5QixpQkFBaUJvQixLQUFLLENBQUMsQUFBQyxRQUF3RFMsT0FBakRSLGlCQUFnQixtQ0FBdUVNLE9BQXRDRSxnQkFBZSx5QkFBNkMsT0FBdEJGLHVCQUFzQixPQUFLdEI7UUFDbko7SUFDRixPQUFPO1FBQ0xMLGlCQUFpQm9CLEtBQUssQ0FBQyxBQUFDLFFBQXVCLE9BQWhCQyxpQkFBZ0Isb0NBQWtDaEI7SUFDbkY7SUFFQSxJQUFJQyxtQkFBbUI7UUFDckJOLGlCQUFpQm9CLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQkMsaUJBQWdCLGlCQUFlaEI7SUFDNUU7SUFFQSxPQUFPQztBQUNUIn0=
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.890",
4
+ "version": "0.0.892",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -12,9 +12,9 @@
12
12
  "dependencies": {
13
13
  "argumentative": "^2.0.28",
14
14
  "necessary": "^14.0.1",
15
- "occam-custom-grammars": "^5.0.799",
16
- "occam-entities": "^1.0.140",
17
- "occam-file-system": "^6.0.181",
15
+ "occam-custom-grammars": "^5.0.801",
16
+ "occam-entities": "^1.0.142",
17
+ "occam-file-system": "^6.0.183",
18
18
  "occam-grammar-utilities": "^8.0.207",
19
19
  "occam-query": "^3.1.174"
20
20
  },
@@ -29,12 +29,6 @@ export function someSubArray(array, subArrayLength, callback) {
29
29
  permutations = permutationsMatrix[indexesLength][permutationLength];
30
30
  }
31
31
 
32
- if (subArrayLength === 1) {
33
- permutations = [
34
- [ 2 ]
35
- ];
36
- }
37
-
38
32
  if (permutations !== null) {
39
33
  found = permutations.some((permutation) => {
40
34
  if (permutation !== null) {
@@ -93,23 +93,6 @@ class IntrinsicLevelAgainstMetaLevelNodesVerifier extends NodesVerifier {
93
93
  return nonTerminalNodeVerified;
94
94
  }
95
95
  },
96
- {
97
- nodeQueryA: statementNodeQuery,
98
- nodeQueryB: statementNodeQuery,
99
- verifyNodes: (nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) => {
100
- let nonTerminalNodeVerified;
101
-
102
- const statementNodeB = nodeB, ///
103
- statementNodeA = nodeA, ///
104
- statementNodeVerifiedAgainstStatementNode =
105
-
106
- this.verifyStatementNodeAgainstStatementNode(statementNodeA, statementNodeB, substitutions, localContextA, localContextB, verifyAhead);
107
-
108
- nonTerminalNodeVerified = statementNodeVerifiedAgainstStatementNode; ///
109
-
110
- return nonTerminalNodeVerified;
111
- }
112
- },
113
96
  {
114
97
  nodeQueryA: metastatementNodeQuery,
115
98
  nodeQueryB: statementNodeQuery,
@@ -135,11 +118,11 @@ class IntrinsicLevelAgainstMetaLevelNodesVerifier extends NodesVerifier {
135
118
 
136
119
  const termNodeB = nodeB, ///
137
120
  termVariableNodeA = nodeA, ///
138
- variableNodeVerifiedAgainstTermNode =
121
+ termVariableNodeVerifiedAgainstTermNode =
139
122
 
140
- this.verifyVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
123
+ this.verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
141
124
 
142
- nonTerminalNodeVerified = variableNodeVerifiedAgainstTermNode; ///
125
+ nonTerminalNodeVerified = termVariableNodeVerifiedAgainstTermNode; ///
143
126
 
144
127
  return nonTerminalNodeVerified;
145
128
  }
@@ -199,7 +182,7 @@ class IntrinsicLevelAgainstMetaLevelNodesVerifier extends NodesVerifier {
199
182
 
200
183
  const nonTerminalNodeA = metastatementStatementNodeA, ///
201
184
  nonTerminalNodeB = statementNodeB, ///
202
- nonTerminalNodeVerified = this.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
185
+ nonTerminalNodeVerified = super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
203
186
 
204
187
  metastatementStatementNodeVerifiedAgainstStatementNode = nonTerminalNodeVerified; ///
205
188
 
@@ -222,28 +205,16 @@ class IntrinsicLevelAgainstMetaLevelNodesVerifier extends NodesVerifier {
222
205
  return metastatementNodeVerifiedAgainstStatementNode;
223
206
  }
224
207
 
225
- verifyStatementNodeAgainstStatementNode(statementNodeA, statementNodeB, substitutions, localContextA, localContextB, verifyAhead) {
226
- let statementVerifiedAgainstStatement;
227
-
228
- const nonTerminalNodeA = statementNodeA, ///
229
- nonTerminalNodeB = statementNodeB, ///
230
- nonTerminalNodeVerified = intrinsicLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
231
-
232
- statementVerifiedAgainstStatement = nonTerminalNodeVerified; ////
233
-
234
- return statementVerifiedAgainstStatement;
235
- }
236
-
237
- verifyVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
238
- let variableNodeVerifiedAgainstTermNode;
208
+ verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
209
+ let termVariableNodeVerifiedAgainstTermNode;
239
210
 
240
211
  const termNode = termNodeB, ///
241
212
  variableNode = termVariableNodeA, ///
242
- variableVerifiedAgainstTerm = verifyVariableAgainstTerm(variableNode, termNode, substitutions, localContextA, localContextB, verifyAhead);
213
+ termVerifiedAgainstVariable = verifyVariableAgainstTerm(variableNode, termNode, substitutions, localContextA, localContextB, verifyAhead);
243
214
 
244
- variableNodeVerifiedAgainstTermNode = variableVerifiedAgainstTerm; ///
215
+ termVariableNodeVerifiedAgainstTermNode = termVerifiedAgainstVariable; ///
245
216
 
246
- return variableNodeVerifiedAgainstTermNode;
217
+ return termVariableNodeVerifiedAgainstTermNode;
247
218
  }
248
219
  }
249
220
 
@@ -3,7 +3,7 @@
3
3
  import { isAssertionNegated } from "../utilities/verify";
4
4
  import { nodeQuery, nodesQuery } from "../utilities/query";
5
5
 
6
- const variableNodeQuery = nodeQuery("/containedAssertion/variable!"),
6
+ const variableNodeQuery = nodeQuery("/containedAssertion/term/variable!"),
7
7
  metastatementVariableNodesQuery = nodesQuery("/containedAssertion/metastatement//variable");
8
8
 
9
9
  export default function verifyContainedAssertion(containedAssertionNode) {
@@ -6,7 +6,8 @@ import metastatementNodeVerifier from "../verifier/node/metastatement";
6
6
 
7
7
  import { nodeQuery } from "../utilities/query";
8
8
 
9
- const metavariableNodeQuery = nodeQuery("/declaration/metavariable!"),
9
+ const referenceNodeQuery = nodeQuery("/declaration/reference!"),
10
+ metavariableNodeQuery = nodeQuery("/reference/metavariable!"),
10
11
  metastatementNodeQuery = nodeQuery("/declaration/metastatement!");
11
12
 
12
13
  export default function verifyDeclaration(declarationNode, declarations, localMetaContext) {
@@ -16,10 +17,10 @@ export default function verifyDeclaration(declarationNode, declarations, localMe
16
17
 
17
18
  localMetaContext.trace(`Verifying the '${declarationString}' declaration...`, declarationNode);
18
19
 
19
- const metavariableNode = metavariableNodeQuery(declarationNode),
20
- metavariableVerified = verifyMetavariable(metavariableNode, localMetaContext);
20
+ const referenceNode = referenceNodeQuery(declarationNode),
21
+ referenceVerified = verifyReference(referenceNode, localMetaContext);
21
22
 
22
- if (metavariableVerified) {
23
+ if (referenceVerified) {
23
24
  const metastatementNode = metastatementNodeQuery(declarationNode);
24
25
 
25
26
  const { verifyMetastatement } = metastatementNodeVerifier,
@@ -32,7 +33,8 @@ export default function verifyDeclaration(declarationNode, declarations, localMe
32
33
  });
33
34
 
34
35
  if (metastatementVerified) {
35
- const declaration = Declaration.fromMetavariableNodeAndMetastatementNode(metavariableNode, metastatementNode);
36
+ const metavariableNode = metavariableNodeQuery(referenceNode),
37
+ declaration = Declaration.fromMetavariableNodeAndMetastatementNode(metavariableNode, metastatementNode);
36
38
 
37
39
  declarations.push(declaration);
38
40
 
@@ -47,33 +49,34 @@ export default function verifyDeclaration(declarationNode, declarations, localMe
47
49
  return declarationVerified;
48
50
  }
49
51
 
50
- function verifyMetavariable(metavariableNode, localMetaContext) {
51
- let metavariableVerified = false;
52
+ function verifyReference(referenceNode, localMetaContext) {
53
+ let referenceVerified = false;
52
54
 
53
- const metavariableString = localMetaContext.nodeAsString(metavariableNode);
55
+ const referenceString = localMetaContext.nodeAsString(referenceNode);
54
56
 
55
- localMetaContext.trace(`Verifying the '${metavariableString}' metavariable...`, metavariableNode);
57
+ localMetaContext.trace(`Verifying the '${referenceString}' reference...`, referenceNode);
56
58
 
57
- const metavariable = localMetaContext.findMetavariableByMetavariableNode(metavariableNode, localMetaContext);
59
+ const metavariableNode = metavariableNodeQuery(referenceNode),
60
+ metavariable = localMetaContext.findMetavariableByMetavariableNode(metavariableNode, localMetaContext);
58
61
 
59
62
  if (metavariable !== null) {
60
63
  const metaType = metavariable.getMetaType();
61
64
 
62
65
  if (metaType === referenceMetaType) {
63
- metavariableVerified = true;
66
+ referenceVerified = true;
64
67
  } else {
65
68
  const referenceMetaTypeName = referenceMetaType.getName(),
66
69
  metaTypeString = metaType.asString();
67
70
 
68
- localMetaContext.debug(`The '${metavariableString}' metavariable's meta-type is '${metaTypeString}' when it should be '${referenceMetaTypeName}'.`, metavariableNode);
71
+ localMetaContext.debug(`The '${referenceString}' metavariable's meta-type is '${metaTypeString}' when it should be '${referenceMetaTypeName}'.`, referenceNode);
69
72
  }
70
73
  } else {
71
- localMetaContext.debug(`The '${metavariableString}' metavariable is not present'.`, metavariableNode);
74
+ localMetaContext.debug(`The '${referenceString}' metavariable is not present'.`, referenceNode);
72
75
  }
73
76
 
74
- if (metavariableVerified) {
75
- localMetaContext.debug(`...verified the '${metavariableString}' metavariable.`, metavariableNode);
77
+ if (referenceVerified) {
78
+ localMetaContext.debug(`...verified the '${referenceString}' reference.`, referenceNode);
76
79
  }
77
80
 
78
- return metavariableVerified;
81
+ return referenceVerified;
79
82
  }