occam-verify-cli 0.0.677 → 0.0.679

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/bin/action/verify.js +14 -4
  2. package/lib/conclusion.js +10 -5
  3. package/lib/consequent.js +8 -3
  4. package/lib/context/file.js +74 -4
  5. package/lib/context/release.js +7 -2
  6. package/lib/equality.js +16 -16
  7. package/lib/premise.js +12 -7
  8. package/lib/supposition.js +9 -4
  9. package/lib/type.js +3 -8
  10. package/lib/utilities/string.js +26 -13
  11. package/lib/verifier/node/metastatement.js +173 -0
  12. package/lib/verifier/node/statementAsCombinator.js +186 -0
  13. package/lib/verifier/node/termAsConstructor.js +224 -0
  14. package/lib/verifier/node.js +158 -0
  15. package/lib/verifier/{metastatementForMetavariable → nodes/metastatementForMetavariable}/conclusion.js +13 -12
  16. package/lib/verifier/{metastatementForMetavariable → nodes/metastatementForMetavariable}/premise.js +13 -12
  17. package/lib/verifier/nodes/metastatementForMetavariable.js +198 -0
  18. package/lib/verifier/nodes/statement.js +199 -0
  19. package/lib/verifier/{statementForMetavariable → nodes/statementForMetavariable}/conclusion.js +13 -12
  20. package/lib/verifier/{statementForMetavariable → nodes/statementForMetavariable}/premise.js +13 -12
  21. package/lib/verifier/nodes/statementForMetavariable.js +203 -0
  22. package/lib/verifier/nodes/term.js +212 -0
  23. package/lib/verifier/{termForVariable/supposition.js → nodes/termForVariable/consequent.js} +13 -12
  24. package/lib/verifier/{termForVariable/consequent.js → nodes/termForVariable/supposition.js} +13 -12
  25. package/lib/verifier/nodes/termForVariable.js +209 -0
  26. package/lib/verifier/nodes.js +175 -0
  27. package/lib/verify/assertion/type.js +20 -10
  28. package/lib/verify/axiom.js +3 -3
  29. package/lib/verify/conclusion.js +3 -3
  30. package/lib/verify/conjecture.js +3 -3
  31. package/lib/verify/consequent.js +3 -3
  32. package/lib/verify/declaration/combinator.js +7 -2
  33. package/lib/verify/declaration/constructor.js +8 -2
  34. package/lib/verify/declaration/metavariable.js +7 -2
  35. package/lib/verify/declaration/type.js +7 -2
  36. package/lib/verify/declaration/variable.js +8 -2
  37. package/lib/verify/file.js +3 -3
  38. package/lib/verify/label.js +9 -4
  39. package/lib/verify/lemma.js +3 -3
  40. package/lib/verify/metastatement/qualified.js +5 -6
  41. package/lib/verify/metastatement/unqualified.js +9 -7
  42. package/lib/verify/metastatement.js +34 -157
  43. package/lib/verify/metavariable.js +6 -4
  44. package/lib/verify/premise.js +3 -3
  45. package/lib/verify/release.js +3 -3
  46. package/lib/verify/rule.js +3 -3
  47. package/lib/verify/statement/qualified.js +5 -6
  48. package/lib/verify/statement/unqualified.js +9 -7
  49. package/lib/verify/statement.js +112 -317
  50. package/lib/verify/statementAsCombinator.js +8 -82
  51. package/lib/verify/supposition.js +3 -3
  52. package/lib/verify/term.js +69 -213
  53. package/lib/verify/termAsConstructor.js +15 -89
  54. package/lib/verify/theorem.js +3 -3
  55. package/lib/verify/type.js +7 -5
  56. package/lib/verify/typeInference.js +5 -5
  57. package/lib/verify/variable.js +7 -5
  58. package/package.json +5 -5
  59. package/src/conclusion.js +5 -4
  60. package/src/consequent.js +3 -2
  61. package/src/context/file.js +11 -4
  62. package/src/context/release.js +9 -2
  63. package/src/equality.js +10 -10
  64. package/src/premise.js +7 -6
  65. package/src/supposition.js +4 -3
  66. package/src/type.js +3 -8
  67. package/src/utilities/string.js +34 -23
  68. package/src/verifier/node/metastatement.js +57 -0
  69. package/src/verifier/node/statementAsCombinator.js +80 -0
  70. package/src/verifier/node/termAsConstructor.js +124 -0
  71. package/src/verifier/node.js +85 -0
  72. package/src/verifier/nodes/metastatementForMetavariable/conclusion.js +11 -0
  73. package/src/verifier/nodes/metastatementForMetavariable/premise.js +11 -0
  74. package/src/verifier/{metastatementForMetavariable.js → nodes/metastatementForMetavariable.js} +6 -6
  75. package/src/verifier/nodes/statement.js +98 -0
  76. package/src/verifier/nodes/statementForMetavariable/conclusion.js +11 -0
  77. package/src/verifier/nodes/statementForMetavariable/premise.js +11 -0
  78. package/src/verifier/{statementForMetavariable.js → nodes/statementForMetavariable.js} +10 -10
  79. package/src/verifier/nodes/term.js +111 -0
  80. package/src/verifier/nodes/termForVariable/consequent.js +11 -0
  81. package/src/verifier/nodes/termForVariable/supposition.js +11 -0
  82. package/src/verifier/{termForVariable.js → nodes/termForVariable.js} +9 -9
  83. package/src/verifier/nodes.js +111 -0
  84. package/src/verify/assertion/type.js +25 -9
  85. package/src/verify/axiom.js +2 -2
  86. package/src/verify/conclusion.js +2 -2
  87. package/src/verify/conjecture.js +2 -2
  88. package/src/verify/consequent.js +2 -2
  89. package/src/verify/declaration/combinator.js +9 -1
  90. package/src/verify/declaration/constructor.js +15 -1
  91. package/src/verify/declaration/metavariable.js +9 -1
  92. package/src/verify/declaration/type.js +14 -1
  93. package/src/verify/declaration/variable.js +15 -1
  94. package/src/verify/file.js +2 -2
  95. package/src/verify/label.js +10 -2
  96. package/src/verify/lemma.js +4 -4
  97. package/src/verify/metastatement/qualified.js +4 -6
  98. package/src/verify/metastatement/unqualified.js +9 -7
  99. package/src/verify/metastatement.js +32 -57
  100. package/src/verify/metavariable.js +6 -3
  101. package/src/verify/premise.js +2 -2
  102. package/src/verify/release.js +2 -2
  103. package/src/verify/rule.js +2 -2
  104. package/src/verify/statement/qualified.js +4 -6
  105. package/src/verify/statement/unqualified.js +9 -7
  106. package/src/verify/statement.js +159 -283
  107. package/src/verify/statementAsCombinator.js +9 -129
  108. package/src/verify/supposition.js +2 -2
  109. package/src/verify/term.js +94 -159
  110. package/src/verify/termAsConstructor.js +20 -135
  111. package/src/verify/theorem.js +2 -2
  112. package/src/verify/type.js +7 -4
  113. package/src/verify/typeInference.js +4 -4
  114. package/src/verify/variable.js +7 -4
  115. package/lib/verifier/metastatementForMetavariable.js +0 -198
  116. package/lib/verifier/statementForMetavariable.js +0 -203
  117. package/lib/verifier/termForVariable.js +0 -209
  118. package/lib/verifier.js +0 -138
  119. package/src/verifier/metastatementForMetavariable/conclusion.js +0 -9
  120. package/src/verifier/metastatementForMetavariable/premise.js +0 -9
  121. package/src/verifier/statementForMetavariable/conclusion.js +0 -9
  122. package/src/verifier/statementForMetavariable/premise.js +0 -9
  123. package/src/verifier/termForVariable/consequent.js +0 -9
  124. package/src/verifier/termForVariable/supposition.js +0 -9
  125. package/src/verifier.js +0 -74
package/lib/type.js CHANGED
@@ -286,15 +286,10 @@ var objectType = ObjectType.fromNothing();
286
286
  function superTypeFromSuperTypeJSONAndFileContext(superTypeJSON, fileContext) {
287
287
  var superType = null;
288
288
  if (superTypeJSON !== null) {
289
- var json = superTypeJSON, name = json.name;
290
- if (name === _typeNames.OBJECT_TYPE_NAME) {
291
- superType = objectType; ///
292
- } else {
293
- var typeName = name, type = fileContext.findTypeByTypeName(typeName);
294
- superType = type !== null ? type : Type.fromJSONAndFileContext(json, fileContext); ///
295
- }
289
+ var json = superTypeJSON, name = json.name, typeName = name, type = fileContext.findTypeByTypeName(typeName);
290
+ superType = type !== null ? type : Type.fromJSONAndFileContext(json, fileContext); ///
296
291
  }
297
292
  return superType;
298
293
  }
299
294
 
300
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBPQkpFQ1RfVFlQRV9OQU1FIH0gZnJvbSBcIi4vdHlwZU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFR5cGUge1xuICBjb25zdHJ1Y3RvcihuYW1lLCBzdXBlclR5cGUpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuc3VwZXJUeXBlID0gc3VwZXJUeXBlO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0U3VwZXJUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnN1cGVyVHlwZTtcbiAgfVxuXG4gIGlzRXF1YWxUbyh0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUbyA9ICh0aGlzID09PSB0eXBlKTtcblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgaXNTdWJUeXBlT2YodHlwZSkge1xuICAgIGxldCBzdWJUeXBlT2YgPSBmYWxzZTtcblxuICAgIGxldCBzdXBlclR5cGUgPSB0aGlzLnN1cGVyVHlwZTtcblxuICAgIHdoaWxlIChzdXBlclR5cGUgIT09IG51bGwpIHtcbiAgICAgIGlmIChzdXBlclR5cGUgPT09IHR5cGUpIHtcbiAgICAgICAgc3ViVHlwZU9mID0gdHJ1ZTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlLmdldFN1cGVyVHlwZSgpO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJUeXBlT2Y7XG4gIH1cblxuICBpc1N1cGVyVHlwZU9mKHR5cGUpIHtcbiAgICBsZXQgc3VwZXJUeXBlT2YgPSBmYWxzZTtcblxuICAgIGxldCBzdXBlclR5cGUgPSB0eXBlLmdldFN1cGVyVHlwZSgpO1xuXG4gICAgd2hpbGUgKHN1cGVyVHlwZSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHN1cGVyVHlwZSA9PT0gdGhpcykge1xuICAgICAgICBzdXBlclR5cGVPZiA9IHRydWU7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZS5nZXRTdXBlclR5cGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXJUeXBlT2Y7XG4gIH1cblxuICBpc0VxdWFsVG9PclN1YlR5cGVPZih0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUbyA9IHRoaXMuaXNFcXVhbFRvKHR5cGUpLFxuICAgICAgICAgIHN1YlR5cGVPZiA9IHRoaXMuaXNTdWJUeXBlT2YodHlwZSksXG4gICAgICAgICAgZXF1YWxUb09yU3ViVHlwZU9mID0gKGVxdWFsVG8gfHwgc3ViVHlwZU9mKTtcblxuICAgIHJldHVybiBlcXVhbFRvT3JTdWJUeXBlT2Y7XG4gIH1cblxuICBpc0VxdWFsVG9PclN1cGVyVHlwZU9mKHR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3VwZXJUeXBlT2YgPSB0aGlzLmlzU3VwZXJUeXBlT2YodHlwZSksXG4gICAgICAgICAgZXF1YWxUb09yU3VwZXJUeXBlT2YgPSAoZXF1YWxUbyB8fCBzdXBlclR5cGVPZik7XG5cbiAgICByZXR1cm4gZXF1YWxUb09yU3VwZXJUeXBlT2Y7XG4gIH1cblxuICBpc0VxdWFsVG9PclN1YlR5cGVPZk9mU3VwZXJUeXBlT2YodHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG8gPSB0aGlzLmlzRXF1YWxUbyh0eXBlKSxcbiAgICAgICAgICBzdWJUeXBlT2YgPSB0aGlzLmlzU3ViVHlwZU9mKHR5cGUpLFxuICAgICAgICAgIHN1cGVyVHlwZU9mID0gdGhpcy5pc1N1cGVyVHlwZU9mKHR5cGUpLFxuICAgICAgICAgIGVxdWFsVG9PclN1YlR5cGVPZk9mU3VwZXJUeXBlT2YgPSAoZXF1YWxUbyB8fCBzdWJUeXBlT2YgfHwgc3VwZXJUeXBlT2YpO1xuXG4gICAgcmV0dXJuIGVxdWFsVG9PclN1YlR5cGVPZk9mU3VwZXJUeXBlT2Y7XG4gIH1cblxuICBtYXRjaCh0eXBlKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9ICh0eXBlID09PSB0aGlzKTsgIC8vL1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5hbWUobmFtZSkge1xuICAgIGNvbnN0IG5hbWVNYXRjaGVzID0gKHRoaXMubmFtZSA9PT0gbmFtZSk7XG5cbiAgICByZXR1cm4gbmFtZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaFR5cGVOYW1lKHR5cGVOYW1lKSB7XG4gICAgY29uc3QgdHlwZU5hbWVNYXRjaGVzID0gKHRoaXMubmFtZSA9PT0gdHlwZU5hbWUpO1xuXG4gICAgcmV0dXJuIHR5cGVOYW1lTWF0Y2hlcztcbiAgfVxuXG4gIGFzU3RyaW5nKHRva2Vucywgbm9TdXBlclR5cGUpIHtcbiAgICBsZXQgc3RyaW5nO1xuXG4gICAgaWYgKG5vU3VwZXJUeXBlKSB7XG4gICAgICBzdHJpbmcgPSBgJHt0aGlzLm5hbWV9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlTmFtZSA9IHRoaXMuc3VwZXJUeXBlLmdldE5hbWUoKTtcblxuICAgICAgc3RyaW5nID0gYCR7dGhpcy5uYW1lfToke3N1cGVyVHlwZU5hbWV9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgdG9KU09OKHRva2Vucykge1xuICAgIGNvbnN0IHN1cGVyVHlwZUpTT04gPSB0aGlzLnN1cGVyVHlwZS50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICBuYW1lID0gdGhpcy5uYW1lLFxuICAgICAgICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZUpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHN1cGVyVHlwZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZU5hbWUodHlwZU5hbWUpIHtcbiAgICBjb25zdCBuYW1lID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICBzdXBlclR5cGUgPSBvYmplY3RUeXBlLCAvLy9cbiAgICAgICAgICB0eXBlID0gbmV3IFR5cGUobmFtZSwgc3VwZXJUeXBlKTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgdHlwZTtcblxuICAgIGxldCB7IHN1cGVyVHlwZSB9ID0ganNvbjtcblxuICAgIGNvbnN0IHN1cGVyVHlwZUpTT04gPSBzdXBlclR5cGU7ICAvLy9cblxuICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZUZyb21TdXBlclR5cGVKU09OQW5kRmlsZUNvbnRleHQoc3VwZXJUeXBlSlNPTiwgZmlsZUNvbnRleHQpO1xuXG4gICAgY29uc3QgeyBuYW1lIH0gPSBqc29uO1xuXG4gICAgdHlwZSA9IG5ldyBUeXBlKG5hbWUsIHN1cGVyVHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZU5hbWVBbmRTdXBlclR5cGUodHlwZU5hbWUsIHN1cGVyVHlwZSkge1xuICAgIGNvbnN0IG5hbWUgPSB0eXBlTmFtZSwgIC8vL1xuICAgICAgICAgIHR5cGUgPSBuZXcgVHlwZShuYW1lLCBzdXBlclR5cGUpO1xuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn1cblxuY2xhc3MgT2JqZWN0VHlwZSBleHRlbmRzIFR5cGUge1xuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZSxcbiAgICAgICAgICBzdXBlclR5cGUgPSBudWxsLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBzdXBlclR5cGVcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgbmFtZSA9IE9CSkVDVF9UWVBFX05BTUUsXG4gICAgICAgICAgc3VwZXJUeXBlID0gbnVsbCxcbiAgICAgICAgICBvYmplY3RUeXBlID0gbmV3IE9iamVjdFR5cGUobmFtZSwgc3VwZXJUeXBlKTtcblxuICAgIHJldHVybiBvYmplY3RUeXBlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBvYmplY3RUeXBlID0gT2JqZWN0VHlwZS5mcm9tTm90aGluZygpO1xuXG5mdW5jdGlvbiBzdXBlclR5cGVGcm9tU3VwZXJUeXBlSlNPTkFuZEZpbGVDb250ZXh0KHN1cGVyVHlwZUpTT04sIGZpbGVDb250ZXh0KSB7XG4gIGxldCBzdXBlclR5cGUgPSBudWxsO1xuXG4gIGlmIChzdXBlclR5cGVKU09OICE9PSBudWxsKSB7XG4gICAgY29uc3QganNvbiA9IHN1cGVyVHlwZUpTT04sIC8vL1xuICAgICAgICAgIHsgbmFtZSB9ID0ganNvbjtcblxuICAgIGlmIChuYW1lID09PSBPQkpFQ1RfVFlQRV9OQU1FKSB7XG4gICAgICBzdXBlclR5cGUgPSBvYmplY3RUeXBlOyAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdHlwZU5hbWUgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgICB0eXBlID0gZmlsZUNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICAgICAgc3VwZXJUeXBlID0gKHR5cGUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgdHlwZSA6ICAvLy9cbiAgICAgICAgICAgICAgICAgICAgICBUeXBlLmZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpOyAgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN1cGVyVHlwZTtcbn1cbiJdLCJuYW1lcyI6WyJUeXBlIiwib2JqZWN0VHlwZSIsIm5hbWUiLCJzdXBlclR5cGUiLCJnZXROYW1lIiwiZ2V0U3VwZXJUeXBlIiwiaXNFcXVhbFRvIiwidHlwZSIsImVxdWFsVG8iLCJpc1N1YlR5cGVPZiIsInN1YlR5cGVPZiIsImlzU3VwZXJUeXBlT2YiLCJzdXBlclR5cGVPZiIsImlzRXF1YWxUb09yU3ViVHlwZU9mIiwiZXF1YWxUb09yU3ViVHlwZU9mIiwiaXNFcXVhbFRvT3JTdXBlclR5cGVPZiIsImVxdWFsVG9PclN1cGVyVHlwZU9mIiwiaXNFcXVhbFRvT3JTdWJUeXBlT2ZPZlN1cGVyVHlwZU9mIiwiZXF1YWxUb09yU3ViVHlwZU9mT2ZTdXBlclR5cGVPZiIsIm1hdGNoIiwibWF0Y2hlcyIsIm1hdGNoTmFtZSIsIm5hbWVNYXRjaGVzIiwibWF0Y2hUeXBlTmFtZSIsInR5cGVOYW1lIiwidHlwZU5hbWVNYXRjaGVzIiwiYXNTdHJpbmciLCJ0b2tlbnMiLCJub1N1cGVyVHlwZSIsInN0cmluZyIsInN1cGVyVHlwZU5hbWUiLCJ0b0pTT04iLCJzdXBlclR5cGVKU09OIiwianNvbiIsImZyb21UeXBlTmFtZSIsImZyb21KU09OQW5kRmlsZUNvbnRleHQiLCJmaWxlQ29udGV4dCIsInN1cGVyVHlwZUZyb21TdXBlclR5cGVKU09OQW5kRmlsZUNvbnRleHQiLCJmcm9tVHlwZU5hbWVBbmRTdXBlclR5cGUiLCJPYmplY3RUeXBlIiwiZnJvbU5vdGhpbmciLCJPQkpFQ1RfVFlQRV9OQU1FIiwiZmluZFR5cGVCeVR5cGVOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O2VBSXFCQTs7SUFrTFJDLFVBQVU7ZUFBVkE7Ozt5QkFwTG9COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsQixJQUFBLEFBQU1ELHFCQTZKbEIsQUE3Slk7YUFBTUEsS0FDUEUsSUFBSSxFQUFFQyxTQUFTO2dDQURSSDtRQUVqQixJQUFJLENBQUNFLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2tCQUhBSDs7WUFNbkJJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FB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
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBPQkpFQ1RfVFlQRV9OQU1FIH0gZnJvbSBcIi4vdHlwZU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFR5cGUge1xuICBjb25zdHJ1Y3RvcihuYW1lLCBzdXBlclR5cGUpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuc3VwZXJUeXBlID0gc3VwZXJUeXBlO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0U3VwZXJUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnN1cGVyVHlwZTtcbiAgfVxuXG4gIGlzRXF1YWxUbyh0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUbyA9ICh0aGlzID09PSB0eXBlKTtcblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgaXNTdWJUeXBlT2YodHlwZSkge1xuICAgIGxldCBzdWJUeXBlT2YgPSBmYWxzZTtcblxuICAgIGxldCBzdXBlclR5cGUgPSB0aGlzLnN1cGVyVHlwZTtcblxuICAgIHdoaWxlIChzdXBlclR5cGUgIT09IG51bGwpIHtcbiAgICAgIGlmIChzdXBlclR5cGUgPT09IHR5cGUpIHtcbiAgICAgICAgc3ViVHlwZU9mID0gdHJ1ZTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlLmdldFN1cGVyVHlwZSgpO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJUeXBlT2Y7XG4gIH1cblxuICBpc1N1cGVyVHlwZU9mKHR5cGUpIHtcbiAgICBsZXQgc3VwZXJUeXBlT2YgPSBmYWxzZTtcblxuICAgIGxldCBzdXBlclR5cGUgPSB0eXBlLmdldFN1cGVyVHlwZSgpO1xuXG4gICAgd2hpbGUgKHN1cGVyVHlwZSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHN1cGVyVHlwZSA9PT0gdGhpcykge1xuICAgICAgICBzdXBlclR5cGVPZiA9IHRydWU7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZS5nZXRTdXBlclR5cGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXJUeXBlT2Y7XG4gIH1cblxuICBpc0VxdWFsVG9PclN1YlR5cGVPZih0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUbyA9IHRoaXMuaXNFcXVhbFRvKHR5cGUpLFxuICAgICAgICAgIHN1YlR5cGVPZiA9IHRoaXMuaXNTdWJUeXBlT2YodHlwZSksXG4gICAgICAgICAgZXF1YWxUb09yU3ViVHlwZU9mID0gKGVxdWFsVG8gfHwgc3ViVHlwZU9mKTtcblxuICAgIHJldHVybiBlcXVhbFRvT3JTdWJUeXBlT2Y7XG4gIH1cblxuICBpc0VxdWFsVG9PclN1cGVyVHlwZU9mKHR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3VwZXJUeXBlT2YgPSB0aGlzLmlzU3VwZXJUeXBlT2YodHlwZSksXG4gICAgICAgICAgZXF1YWxUb09yU3VwZXJUeXBlT2YgPSAoZXF1YWxUbyB8fCBzdXBlclR5cGVPZik7XG5cbiAgICByZXR1cm4gZXF1YWxUb09yU3VwZXJUeXBlT2Y7XG4gIH1cblxuICBpc0VxdWFsVG9PclN1YlR5cGVPZk9mU3VwZXJUeXBlT2YodHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG8gPSB0aGlzLmlzRXF1YWxUbyh0eXBlKSxcbiAgICAgICAgICBzdWJUeXBlT2YgPSB0aGlzLmlzU3ViVHlwZU9mKHR5cGUpLFxuICAgICAgICAgIHN1cGVyVHlwZU9mID0gdGhpcy5pc1N1cGVyVHlwZU9mKHR5cGUpLFxuICAgICAgICAgIGVxdWFsVG9PclN1YlR5cGVPZk9mU3VwZXJUeXBlT2YgPSAoZXF1YWxUbyB8fCBzdWJUeXBlT2YgfHwgc3VwZXJUeXBlT2YpO1xuXG4gICAgcmV0dXJuIGVxdWFsVG9PclN1YlR5cGVPZk9mU3VwZXJUeXBlT2Y7XG4gIH1cblxuICBtYXRjaCh0eXBlKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9ICh0eXBlID09PSB0aGlzKTsgIC8vL1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5hbWUobmFtZSkge1xuICAgIGNvbnN0IG5hbWVNYXRjaGVzID0gKHRoaXMubmFtZSA9PT0gbmFtZSk7XG5cbiAgICByZXR1cm4gbmFtZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaFR5cGVOYW1lKHR5cGVOYW1lKSB7XG4gICAgY29uc3QgdHlwZU5hbWVNYXRjaGVzID0gKHRoaXMubmFtZSA9PT0gdHlwZU5hbWUpO1xuXG4gICAgcmV0dXJuIHR5cGVOYW1lTWF0Y2hlcztcbiAgfVxuXG4gIGFzU3RyaW5nKHRva2Vucywgbm9TdXBlclR5cGUpIHtcbiAgICBsZXQgc3RyaW5nO1xuXG4gICAgaWYgKG5vU3VwZXJUeXBlKSB7XG4gICAgICBzdHJpbmcgPSBgJHt0aGlzLm5hbWV9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlTmFtZSA9IHRoaXMuc3VwZXJUeXBlLmdldE5hbWUoKTtcblxuICAgICAgc3RyaW5nID0gYCR7dGhpcy5uYW1lfToke3N1cGVyVHlwZU5hbWV9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgdG9KU09OKHRva2Vucykge1xuICAgIGNvbnN0IHN1cGVyVHlwZUpTT04gPSB0aGlzLnN1cGVyVHlwZS50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICBuYW1lID0gdGhpcy5uYW1lLFxuICAgICAgICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZUpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHN1cGVyVHlwZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZU5hbWUodHlwZU5hbWUpIHtcbiAgICBjb25zdCBuYW1lID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICBzdXBlclR5cGUgPSBvYmplY3RUeXBlLCAvLy9cbiAgICAgICAgICB0eXBlID0gbmV3IFR5cGUobmFtZSwgc3VwZXJUeXBlKTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgdHlwZTtcblxuICAgIGxldCB7IHN1cGVyVHlwZSB9ID0ganNvbjtcblxuICAgIGNvbnN0IHN1cGVyVHlwZUpTT04gPSBzdXBlclR5cGU7ICAvLy9cblxuICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZUZyb21TdXBlclR5cGVKU09OQW5kRmlsZUNvbnRleHQoc3VwZXJUeXBlSlNPTiwgZmlsZUNvbnRleHQpO1xuXG4gICAgY29uc3QgeyBuYW1lIH0gPSBqc29uO1xuXG4gICAgdHlwZSA9IG5ldyBUeXBlKG5hbWUsIHN1cGVyVHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZU5hbWVBbmRTdXBlclR5cGUodHlwZU5hbWUsIHN1cGVyVHlwZSkge1xuICAgIGNvbnN0IG5hbWUgPSB0eXBlTmFtZSwgIC8vL1xuICAgICAgICAgIHR5cGUgPSBuZXcgVHlwZShuYW1lLCBzdXBlclR5cGUpO1xuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn1cblxuY2xhc3MgT2JqZWN0VHlwZSBleHRlbmRzIFR5cGUge1xuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZSxcbiAgICAgICAgICBzdXBlclR5cGUgPSBudWxsLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBzdXBlclR5cGVcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgbmFtZSA9IE9CSkVDVF9UWVBFX05BTUUsXG4gICAgICAgICAgc3VwZXJUeXBlID0gbnVsbCxcbiAgICAgICAgICBvYmplY3RUeXBlID0gbmV3IE9iamVjdFR5cGUobmFtZSwgc3VwZXJUeXBlKTtcblxuICAgIHJldHVybiBvYmplY3RUeXBlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBvYmplY3RUeXBlID0gT2JqZWN0VHlwZS5mcm9tTm90aGluZygpO1xuXG5mdW5jdGlvbiBzdXBlclR5cGVGcm9tU3VwZXJUeXBlSlNPTkFuZEZpbGVDb250ZXh0KHN1cGVyVHlwZUpTT04sIGZpbGVDb250ZXh0KSB7XG4gIGxldCBzdXBlclR5cGUgPSBudWxsO1xuXG4gIGlmIChzdXBlclR5cGVKU09OICE9PSBudWxsKSB7XG4gICAgY29uc3QganNvbiA9IHN1cGVyVHlwZUpTT04sIC8vL1xuICAgICAgICAgIHsgbmFtZSB9ID0ganNvbixcbiAgICAgICAgICB0eXBlTmFtZSA9IG5hbWUsICAvLy9cbiAgICAgICAgICB0eXBlID0gZmlsZUNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICAgICAgc3VwZXJUeXBlID0gKHR5cGUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgdHlwZSA6ICAvLy9cbiAgICAgICAgICAgICAgICAgICAgICBUeXBlLmZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpOyAgLy8vXG4gIH1cblxuICByZXR1cm4gc3VwZXJUeXBlO1xufVxuIl0sIm5hbWVzIjpbIlR5cGUiLCJvYmplY3RUeXBlIiwibmFtZSIsInN1cGVyVHlwZSIsImdldE5hbWUiLCJnZXRTdXBlclR5cGUiLCJpc0VxdWFsVG8iLCJ0eXBlIiwiZXF1YWxUbyIsImlzU3ViVHlwZU9mIiwic3ViVHlwZU9mIiwiaXNTdXBlclR5cGVPZiIsInN1cGVyVHlwZU9mIiwiaXNFcXVhbFRvT3JTdWJUeXBlT2YiLCJlcXVhbFRvT3JTdWJUeXBlT2YiLCJpc0VxdWFsVG9PclN1cGVyVHlwZU9mIiwiZXF1YWxUb09yU3VwZXJUeXBlT2YiLCJpc0VxdWFsVG9PclN1YlR5cGVPZk9mU3VwZXJUeXBlT2YiLCJlcXVhbFRvT3JTdWJUeXBlT2ZPZlN1cGVyVHlwZU9mIiwibWF0Y2giLCJtYXRjaGVzIiwibWF0Y2hOYW1lIiwibmFtZU1hdGNoZXMiLCJtYXRjaFR5cGVOYW1lIiwidHlwZU5hbWUiLCJ0eXBlTmFtZU1hdGNoZXMiLCJhc1N0cmluZyIsInRva2VucyIsIm5vU3VwZXJUeXBlIiwic3RyaW5nIiwic3VwZXJUeXBlTmFtZSIsInRvSlNPTiIsInN1cGVyVHlwZUpTT04iLCJqc29uIiwiZnJvbVR5cGVOYW1lIiwiZnJvbUpTT05BbmRGaWxlQ29udGV4dCIsImZpbGVDb250ZXh0Iiwic3VwZXJUeXBlRnJvbVN1cGVyVHlwZUpTT05BbmRGaWxlQ29udGV4dCIsImZyb21UeXBlTmFtZUFuZFN1cGVyVHlwZSIsIk9iamVjdFR5cGUiLCJmcm9tTm90aGluZyIsIk9CSkVDVF9UWVBFX05BTUUiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7ZUFJcUJBOztJQWtMUkMsVUFBVTtlQUFWQTs7O3lCQXBMb0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWxCLElBQUEsQUFBTUQscUJBNkpsQixBQTdKWTthQUFNQSxLQUNQRSxJQUFJLEVBQUVDLFNBQVM7Z0NBRFJIO1FBRWpCLElBQUksQ0FBQ0UsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTs7a0JBSEFIOztZQU1uQkksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixTQUFTO1lBQ3ZCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFB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
@@ -14,27 +14,26 @@ _export(exports, {
14
14
  },
15
15
  nodesAsString: function() {
16
16
  return nodesAsString;
17
+ },
18
+ nonTerminalNodeAsString: function() {
19
+ return nonTerminalNodeAsString;
20
+ },
21
+ terminalNodeAsString: function() {
22
+ return terminalNodeAsString;
17
23
  }
18
24
  });
19
25
  var _constants = require("../constants");
20
26
  function nodeAsString(node, tokens) {
21
- var string = null;
27
+ var string = _constants.EMPTY_STRING;
22
28
  if (node !== null) {
23
29
  var nodeTerminalNode = node.isTerminalNode();
24
30
  if (nodeTerminalNode) {
25
- var terminalNode = node, content = terminalNode.getContent();
26
- string = content; ///
31
+ var terminalNode = node; ///
32
+ string = terminalNodeAsString(terminalNode);
27
33
  } else {
28
- var nonTerminalNode = node, firstSignificantToken = nonTerminalNode.getFirstSignificantToken(), lastSignificantToken = nonTerminalNode.getLastSignificantToken(), firstSignificantTokenIndex = tokens.indexOf(firstSignificantToken), lastSignificantTokenIndex = tokens.indexOf(lastSignificantToken), start = firstSignificantTokenIndex, end = lastSignificantTokenIndex + 1;
29
- tokens = tokens.slice(start, end); ///
30
- string = tokens.reduce(function(string, token) {
31
- var content = token.getContent();
32
- string = "".concat(string).concat(content);
33
- return string;
34
- }, _constants.EMPTY_STRING);
34
+ var nonTerminalNode = node; ///
35
+ string = nonTerminalNodeAsString(nonTerminalNode, tokens);
35
36
  }
36
- }
37
- if (string !== null) {
38
37
  string = string.replace(/[\r\n]/, _constants.EMPTY_STRING);
39
38
  }
40
39
  return string;
@@ -47,5 +46,19 @@ function nodesAsString(nodes, tokens) {
47
46
  }, _constants.EMPTY_STRING);
48
47
  return string;
49
48
  }
49
+ function terminalNodeAsString(terminalNode) {
50
+ var content = terminalNode.getContent(), string = content; ///
51
+ return string;
52
+ }
53
+ function nonTerminalNodeAsString(nonTerminalNode, tokens) {
54
+ var firstSignificantToken = nonTerminalNode.getFirstSignificantToken(), lastSignificantToken = nonTerminalNode.getLastSignificantToken(), firstSignificantTokenIndex = tokens.indexOf(firstSignificantToken), lastSignificantTokenIndex = tokens.indexOf(lastSignificantToken), start = firstSignificantTokenIndex, end = lastSignificantTokenIndex + 1;
55
+ tokens = tokens.slice(start, end); ///
56
+ var string = tokens.reduce(function(string, token) {
57
+ var content = token.getContent();
58
+ string = "".concat(string).concat(content);
59
+ return string;
60
+ }, _constants.EMPTY_STRING);
61
+ return string;
62
+ }
50
63
 
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBDT01NQSwgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9kZUFzU3RyaW5nKG5vZGUsIHRva2Vucykge1xuICBsZXQgc3RyaW5nID0gbnVsbDtcblxuICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAobm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgICAgY29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCk7XG5cbiAgICAgIHN0cmluZyA9IGNvbnRlbnQ7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbiA9IG5vblRlcm1pbmFsTm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW4oKSxcbiAgICAgICAgICAgIGxhc3RTaWduaWZpY2FudFRva2VuID0gbm9uVGVybWluYWxOb2RlLmdldExhc3RTaWduaWZpY2FudFRva2VuKCksXG4gICAgICAgICAgICBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IHRva2Vucy5pbmRleE9mKGZpcnN0U2lnbmlmaWNhbnRUb2tlbiksXG4gICAgICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gdG9rZW5zLmluZGV4T2YobGFzdFNpZ25pZmljYW50VG9rZW4pLFxuICAgICAgICAgICAgc3RhcnQgPSBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCwgLy8vXG4gICAgICAgICAgICBlbmQgPSBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ICsgMTtcblxuICAgICAgdG9rZW5zID0gdG9rZW5zLnNsaWNlKHN0YXJ0LCBlbmQpOyAgLy8vXG5cbiAgICAgIHN0cmluZyA9IHRva2Vucy5yZWR1Y2UoKHN0cmluZywgdG9rZW4pID0+IHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IHRva2VuLmdldENvbnRlbnQoKTtcblxuICAgICAgICBzdHJpbmcgPSBgJHtzdHJpbmd9JHtjb250ZW50fWA7XG5cbiAgICAgICAgcmV0dXJuIHN0cmluZztcbiAgICAgIH0sIEVNUFRZX1NUUklORyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHN0cmluZyAhPT0gbnVsbCkge1xuICAgIHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKC9bXFxyXFxuXS8sIEVNUFRZX1NUUklORylcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2Rlc0FzU3RyaW5nKG5vZGVzLCB0b2tlbnMpIHtcbiAgY29uc3Qgc3RyaW5nID0gbm9kZXMucmVkdWNlKChzdHJpbmcsIG5vZGUpID0+IHtcbiAgICBjb25zdCBub2RlU3RyaW5nID0gbm9kZUFzU3RyaW5nKG5vZGUsIHRva2Vucyk7XG5cbiAgICBzdHJpbmcgPSAoc3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgICAgICAgICAgIG5vZGVTdHJpbmcgOlxuICAgICAgICAgICAgICAgIGAke3N0cmluZ30ke0NPTU1BfSR7bm9kZVN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfSwgRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbIm5vZGVBc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJub2RlIiwidG9rZW5zIiwic3RyaW5nIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJub25UZXJtaW5hbE5vZGUiLCJmaXJzdFNpZ25pZmljYW50VG9rZW4iLCJnZXRGaXJzdFNpZ25pZmljYW50VG9rZW4iLCJsYXN0U2lnbmlmaWNhbnRUb2tlbiIsImdldExhc3RTaWduaWZpY2FudFRva2VuIiwiZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJpbmRleE9mIiwibGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsInN0YXJ0IiwiZW5kIiwic2xpY2UiLCJyZWR1Y2UiLCJ0b2tlbiIsIkVNUFRZX1NUUklORyIsInJlcGxhY2UiLCJub2RlcyIsIm5vZGVTdHJpbmciLCJDT01NQSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBSWdCQSxZQUFZO2VBQVpBOztJQXVDQUMsYUFBYTtlQUFiQTs7O3lCQXpDb0I7QUFFN0IsU0FBU0QsYUFBYUUsSUFBSSxFQUFFQyxNQUFNO0lBQ3ZDLElBQUlDLFNBQVM7SUFFYixJQUFJRixTQUFTLE1BQU07UUFDakIsSUFBTUcsbUJBQW1CSCxLQUFLSSxjQUFjO1FBRTVDLElBQUlELGtCQUFrQjtZQUNwQixJQUFNRSxlQUFlTCxNQUNmTSxVQUFVRCxhQUFhRSxVQUFVO1lBRXZDTCxTQUFTSSxTQUFTLEdBQUc7UUFDdkIsT0FBTztZQUNMLElBQU1FLGtCQUFrQlIsTUFDbEJTLHdCQUF3QkQsZ0JBQWdCRSx3QkFBd0IsSUFDaEVDLHVCQUF1QkgsZ0JBQWdCSSx1QkFBdUIsSUFDOURDLDZCQUE2QlosT0FBT2EsT0FBTyxDQUFDTCx3QkFDNUNNLDRCQUE0QmQsT0FBT2EsT0FBTyxDQUFDSCx1QkFDM0NLLFFBQVFILDRCQUNSSSxNQUFNRiw0QkFBNEI7WUFFeENkLFNBQVNBLE9BQU9pQixLQUFLLENBQUNGLE9BQU9DLE1BQU8sR0FBRztZQUV2Q2YsU0FBU0QsT0FBT2tCLE1BQU0sQ0FBQyxTQUFDakIsUUFBUWtCO2dCQUM5QixJQUFNZCxVQUFVYyxNQUFNYixVQUFVO2dCQUVoQ0wsU0FBUyxBQUFDLEdBQVdJLE9BQVRKLFFBQWlCLE9BQVJJO2dCQUVyQixPQUFPSjtZQUNULEdBQUdtQix1QkFBWTtRQUNqQjtJQUNGO0lBRUEsSUFBSW5CLFdBQVcsTUFBTTtRQUNuQkEsU0FBU0EsT0FBT29CLE9BQU8sQ0FBQyxVQUFVRCx1QkFBWTtJQUNoRDtJQUVBLE9BQU9uQjtBQUNUO0FBRU8sU0FBU0gsY0FBY3dCLEtBQUssRUFBRXRCLE1BQU07SUFDekMsSUFBTUMsU0FBU3FCLE1BQU1KLE1BQU0sQ0FBQyxTQUFDakIsUUFBUUY7UUFDbkMsSUFBTXdCLGFBQWExQixhQUFhRSxNQUFNQztRQUV0Q0MsU0FBUyxBQUFDQSxXQUFXbUIsdUJBQVksR0FDdEJHLGFBQ0MsQUFBQyxHQUFXQyxPQUFUdkIsUUFBaUJzQixPQUFSQyxnQkFBSyxFQUFjLE9BQVhEO1FBRWhDLE9BQU90QjtJQUNULEdBQUdtQix1QkFBWTtJQUVmLE9BQU9uQjtBQUNUIn0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBDT01NQSwgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9kZUFzU3RyaW5nKG5vZGUsIHRva2Vucykge1xuICBsZXQgc3RyaW5nID0gRU1QVFlfU1RSSU5HO1xuXG4gIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICAgIHN0cmluZyA9IHRlcm1pbmFsTm9kZUFzU3RyaW5nKHRlcm1pbmFsTm9kZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGU7IC8vL1xuXG4gICAgICBzdHJpbmcgPSBub25UZXJtaW5hbE5vZGVBc1N0cmluZyhub25UZXJtaW5hbE5vZGUsIHRva2Vucyk7XG4gICAgfVxuXG4gICAgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UoL1tcXHJcXG5dLywgRU1QVFlfU1RSSU5HKTtcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2Rlc0FzU3RyaW5nKG5vZGVzLCB0b2tlbnMpIHtcbiAgY29uc3Qgc3RyaW5nID0gbm9kZXMucmVkdWNlKChzdHJpbmcsIG5vZGUpID0+IHtcbiAgICBjb25zdCBub2RlU3RyaW5nID0gbm9kZUFzU3RyaW5nKG5vZGUsIHRva2Vucyk7XG5cbiAgICBzdHJpbmcgPSAoc3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgICAgICAgICAgIG5vZGVTdHJpbmcgOlxuICAgICAgICAgICAgICAgIGAke3N0cmluZ30ke0NPTU1BfSR7bm9kZVN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfSwgRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybWluYWxOb2RlQXNTdHJpbmcodGVybWluYWxOb2RlKSB7XG4gIGNvbnN0IGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICBzdHJpbmcgPSBjb250ZW50OyAvLy9cblxuICByZXR1cm4gc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9uVGVybWluYWxOb2RlQXNTdHJpbmcobm9uVGVybWluYWxOb2RlLCB0b2tlbnMpIHtcbiAgY29uc3QgZmlyc3RTaWduaWZpY2FudFRva2VuID0gbm9uVGVybWluYWxOb2RlLmdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbiA9IG5vblRlcm1pbmFsTm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IHRva2Vucy5pbmRleE9mKGZpcnN0U2lnbmlmaWNhbnRUb2tlbiksXG4gICAgICAgIGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSB0b2tlbnMuaW5kZXhPZihsYXN0U2lnbmlmaWNhbnRUb2tlbiksXG4gICAgICAgIHN0YXJ0ID0gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgsIC8vL1xuICAgICAgICBlbmQgPSBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ICsgMTtcblxuICB0b2tlbnMgPSB0b2tlbnMuc2xpY2Uoc3RhcnQsIGVuZCk7ICAvLy9cblxuICBjb25zdCBzdHJpbmcgPSB0b2tlbnMucmVkdWNlKChzdHJpbmcsIHRva2VuKSA9PiB7XG4gICAgY29uc3QgY29udGVudCA9IHRva2VuLmdldENvbnRlbnQoKTtcblxuICAgIHN0cmluZyA9IGAke3N0cmluZ30ke2NvbnRlbnR9YDtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH0sIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJub2RlQXNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwibm9uVGVybWluYWxOb2RlQXNTdHJpbmciLCJ0ZXJtaW5hbE5vZGVBc1N0cmluZyIsIm5vZGUiLCJ0b2tlbnMiLCJzdHJpbmciLCJFTVBUWV9TVFJJTkciLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJyZXBsYWNlIiwibm9kZXMiLCJyZWR1Y2UiLCJub2RlU3RyaW5nIiwiQ09NTUEiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsImZpcnN0U2lnbmlmaWNhbnRUb2tlbiIsImdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbiIsImxhc3RTaWduaWZpY2FudFRva2VuIiwiZ2V0TGFzdFNpZ25pZmljYW50VG9rZW4iLCJmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImluZGV4T2YiLCJsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4Iiwic3RhcnQiLCJlbmQiLCJzbGljZSIsInRva2VuIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFJZ0JBLFlBQVk7ZUFBWkE7O0lBc0JBQyxhQUFhO2VBQWJBOztJQXFCQUMsdUJBQXVCO2VBQXZCQTs7SUFQQUMsb0JBQW9CO2VBQXBCQTs7O3lCQXRDb0I7QUFFN0IsU0FBU0gsYUFBYUksSUFBSSxFQUFFQyxNQUFNO0lBQ3ZDLElBQUlDLFNBQVNDLHVCQUFZO0lBRXpCLElBQUlILFNBQVMsTUFBTTtRQUNqQixJQUFNSSxtQkFBbUJKLEtBQUtLLGNBQWM7UUFFNUMsSUFBSUQsa0JBQWtCO1lBQ3BCLElBQU1FLGVBQWVOLE1BQU8sR0FBRztZQUUvQkUsU0FBU0gscUJBQXFCTztRQUNoQyxPQUFPO1lBQ0wsSUFBTUMsa0JBQWtCUCxNQUFNLEdBQUc7WUFFakNFLFNBQVNKLHdCQUF3QlMsaUJBQWlCTjtRQUNwRDtRQUVBQyxTQUFTQSxPQUFPTSxPQUFPLENBQUMsVUFBVUwsdUJBQVk7SUFDaEQ7SUFFQSxPQUFPRDtBQUNUO0FBRU8sU0FBU0wsY0FBY1ksS0FBSyxFQUFFUixNQUFNO0lBQ3pDLElBQU1DLFNBQVNPLE1BQU1DLE1BQU0sQ0FBQyxTQUFDUixRQUFRRjtRQUNuQyxJQUFNVyxhQUFhZixhQUFhSSxNQUFNQztRQUV0Q0MsU0FBUyxBQUFDQSxXQUFXQyx1QkFBWSxHQUN0QlEsYUFDQyxBQUFDLEdBQVdDLE9BQVRWLFFBQWlCUyxPQUFSQyxnQkFBSyxFQUFjLE9BQVhEO1FBRWhDLE9BQU9UO0lBQ1QsR0FBR0MsdUJBQVk7SUFFZixPQUFPRDtBQUNUO0FBRU8sU0FBU0gscUJBQXFCTyxZQUFZO0lBQy9DLElBQU1PLFVBQVVQLGFBQWFRLFVBQVUsSUFDakNaLFNBQVNXLFNBQVMsR0FBRztJQUUzQixPQUFPWDtBQUNUO0FBRU8sU0FBU0osd0JBQXdCUyxlQUFlLEVBQUVOLE1BQU07SUFDN0QsSUFBTWMsd0JBQXdCUixnQkFBZ0JTLHdCQUF3QixJQUNoRUMsdUJBQXVCVixnQkFBZ0JXLHVCQUF1QixJQUM5REMsNkJBQTZCbEIsT0FBT21CLE9BQU8sQ0FBQ0wsd0JBQzVDTSw0QkFBNEJwQixPQUFPbUIsT0FBTyxDQUFDSCx1QkFDM0NLLFFBQVFILDRCQUNSSSxNQUFNRiw0QkFBNEI7SUFFeENwQixTQUFTQSxPQUFPdUIsS0FBSyxDQUFDRixPQUFPQyxNQUFPLEdBQUc7SUFFdkMsSUFBTXJCLFNBQVNELE9BQU9TLE1BQU0sQ0FBQyxTQUFDUixRQUFRdUI7UUFDcEMsSUFBTVosVUFBVVksTUFBTVgsVUFBVTtRQUVoQ1osU0FBUyxBQUFDLEdBQVdXLE9BQVRYLFFBQWlCLE9BQVJXO1FBRXJCLE9BQU9YO0lBQ1QsR0FBR0MsdUJBQVk7SUFFZixPQUFPRDtBQUNUIn0=
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _node = /*#__PURE__*/ _interop_require_default(require("../../verifier/node"));
12
+ var _ruleNames = require("../../ruleNames");
13
+ var _query = require("../../utilities/query");
14
+ function _assert_this_initialized(self) {
15
+ if (self === void 0) {
16
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
17
+ }
18
+ return self;
19
+ }
20
+ function _class_call_check(instance, Constructor) {
21
+ if (!(instance instanceof Constructor)) {
22
+ throw new TypeError("Cannot call a class as a function");
23
+ }
24
+ }
25
+ function _defineProperties(target, props) {
26
+ for(var i = 0; i < props.length; i++){
27
+ var descriptor = props[i];
28
+ descriptor.enumerable = descriptor.enumerable || false;
29
+ descriptor.configurable = true;
30
+ if ("value" in descriptor) descriptor.writable = true;
31
+ Object.defineProperty(target, descriptor.key, descriptor);
32
+ }
33
+ }
34
+ function _create_class(Constructor, protoProps, staticProps) {
35
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
36
+ if (staticProps) _defineProperties(Constructor, staticProps);
37
+ return Constructor;
38
+ }
39
+ function _get(target, property, receiver) {
40
+ if (typeof Reflect !== "undefined" && Reflect.get) {
41
+ _get = Reflect.get;
42
+ } else {
43
+ _get = function get(target, property, receiver) {
44
+ var base = _super_prop_base(target, property);
45
+ if (!base) return;
46
+ var desc = Object.getOwnPropertyDescriptor(base, property);
47
+ if (desc.get) {
48
+ return desc.get.call(receiver || target);
49
+ }
50
+ return desc.value;
51
+ };
52
+ }
53
+ return _get(target, property, receiver || target);
54
+ }
55
+ function _get_prototype_of(o) {
56
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
57
+ return o.__proto__ || Object.getPrototypeOf(o);
58
+ };
59
+ return _get_prototype_of(o);
60
+ }
61
+ function _inherits(subClass, superClass) {
62
+ if (typeof superClass !== "function" && superClass !== null) {
63
+ throw new TypeError("Super expression must either be null or a function");
64
+ }
65
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
66
+ constructor: {
67
+ value: subClass,
68
+ writable: true,
69
+ configurable: true
70
+ }
71
+ });
72
+ if (superClass) _set_prototype_of(subClass, superClass);
73
+ }
74
+ function _interop_require_default(obj) {
75
+ return obj && obj.__esModule ? obj : {
76
+ default: obj
77
+ };
78
+ }
79
+ function _possible_constructor_return(self, call) {
80
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
81
+ return call;
82
+ }
83
+ return _assert_this_initialized(self);
84
+ }
85
+ function _set_prototype_of(o, p) {
86
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
87
+ o.__proto__ = p;
88
+ return o;
89
+ };
90
+ return _set_prototype_of(o, p);
91
+ }
92
+ function _super_prop_base(object, property) {
93
+ while(!Object.prototype.hasOwnProperty.call(object, property)){
94
+ object = _get_prototype_of(object);
95
+ if (object === null) break;
96
+ }
97
+ return object;
98
+ }
99
+ function _type_of(obj) {
100
+ "@swc/helpers - typeof";
101
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
102
+ }
103
+ function _is_native_reflect_construct() {
104
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
105
+ if (Reflect.construct.sham) return false;
106
+ if (typeof Proxy === "function") return true;
107
+ try {
108
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
109
+ return true;
110
+ } catch (e) {
111
+ return false;
112
+ }
113
+ }
114
+ function _create_super(Derived) {
115
+ var hasNativeReflectConstruct = _is_native_reflect_construct();
116
+ return function _createSuperInternal() {
117
+ var Super = _get_prototype_of(Derived), result;
118
+ if (hasNativeReflectConstruct) {
119
+ var NewTarget = _get_prototype_of(this).constructor;
120
+ result = Reflect.construct(Super, arguments, NewTarget);
121
+ } else {
122
+ result = Super.apply(this, arguments);
123
+ }
124
+ return _possible_constructor_return(this, result);
125
+ };
126
+ }
127
+ var MetastatementNodeVerifier = /*#__PURE__*/ function(NodeVerifier) {
128
+ _inherits(MetastatementNodeVerifier, NodeVerifier);
129
+ var _super = _create_super(MetastatementNodeVerifier);
130
+ function MetastatementNodeVerifier() {
131
+ _class_call_check(this, MetastatementNodeVerifier);
132
+ return _super.apply(this, arguments);
133
+ }
134
+ _create_class(MetastatementNodeVerifier, [
135
+ {
136
+ key: "verifyNonTerminalNode",
137
+ value: function verifyNonTerminalNode(nonTerminalNode, metaproofContext) {
138
+ var nonTerminalNodeVerified;
139
+ var ruleName = nonTerminalNode.getRuleName(); ///
140
+ switch(ruleName){
141
+ case _ruleNames.METAVARIABLE_RULE_NAME:
142
+ {
143
+ var metavariableNode = nonTerminalNode, metavariableVerified = verifyMetavariable(metavariableNode, metaproofContext), metavariableNodeVerified = metavariableVerified; ///
144
+ nonTerminalNodeVerified = metavariableNodeVerified; ///
145
+ break;
146
+ }
147
+ default:
148
+ {
149
+ nonTerminalNodeVerified = _get(_get_prototype_of(MetastatementNodeVerifier.prototype), "verifyNonTerminalNode", this).call(this, nonTerminalNode, metaproofContext);
150
+ break;
151
+ }
152
+ }
153
+ return nonTerminalNodeVerified;
154
+ }
155
+ }
156
+ ]);
157
+ return MetastatementNodeVerifier;
158
+ }(_node.default);
159
+ var metastatementNodeVerifier = new MetastatementNodeVerifier();
160
+ var _default = metastatementNodeVerifier;
161
+ function verifyMetavariable(metavariableNode, metaproofContext) {
162
+ var metavariableVerified;
163
+ var metavariableString = metaproofContext.nodeAsString(metavariableNode);
164
+ metaproofContext.trace("Verifying the '".concat(metavariableString, "' metavariable..."), metavariableNode);
165
+ var metavariableName = (0, _query.metavariableNameFromMetavariableNode)(metavariableNode), metavariablePresent = metaproofContext.isMetavariablePresentByMetavariableName(metavariableName);
166
+ metavariableVerified = metavariablePresent;
167
+ if (metavariableVerified) {
168
+ metaproofContext.debug("...verified the '".concat(metavariableString, "' metavariable."), metavariableNode);
169
+ }
170
+ return metavariableVerified;
171
+ }
172
+
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2RlL21ldGFzdGF0ZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb2RlVmVyaWZpZXIgZnJvbSBcIi4uLy4uL3ZlcmlmaWVyL25vZGVcIjtcblxuaW1wb3J0IHsgTUVUQVZBUklBQkxFX1JVTEVfTkFNRSB9IGZyb20gXCIuLi8uLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY2xhc3MgTWV0YXN0YXRlbWVudE5vZGVWZXJpZmllciBleHRlbmRzIE5vZGVWZXJpZmllciB7XG4gIHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICAgIHN3aXRjaCAocnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgTUVUQVZBUklBQkxFX1JVTEVfTkFNRToge1xuICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgbWV0YXByb29mQ29udGV4dCksXG4gICAgICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCA9IG1ldGF2YXJpYWJsZVZlcmlmaWVkOyAgLy8vXG5cbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhdmFyaWFibGVOb2RlVmVyaWZpZWQ7IC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3VwZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICB9XG59XG5cbmNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZXIgPSBuZXcgTWV0YXN0YXRlbWVudE5vZGVWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyO1xuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgbWV0YXZhcmlhYmxlVmVyaWZpZWQ7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbWV0YXByb29mQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgbWV0YXByb29mQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuLi5gLCBtZXRhdmFyaWFibGVOb2RlKTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICBtZXRhdmFyaWFibGVQcmVzZW50ID0gbWV0YXByb29mQ29udGV4dC5pc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5hbWUobWV0YXZhcmlhYmxlTmFtZSk7XG5cbiAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSBtZXRhdmFyaWFibGVQcmVzZW50O1xuXG4gIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZCkge1xuICAgIG1ldGFwcm9vZkNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsiTWV0YXN0YXRlbWVudE5vZGVWZXJpZmllciIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsIm1ldGFwcm9vZkNvbnRleHQiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkIiwidmVyaWZ5TWV0YXZhcmlhYmxlIiwibWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkIiwiTm9kZVZlcmlmaWVyIiwibWV0YXN0YXRlbWVudE5vZGVWZXJpZmllciIsIm1ldGF2YXJpYWJsZVN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwibWV0YXZhcmlhYmxlTmFtZSIsIm1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVByZXNlbnQiLCJpc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5hbWUiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBcUNBOzs7ZUFBQTs7OzJEQW5DeUI7eUJBRWM7cUJBQ2M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVyRCxJQUFBLEFBQU1BLDBDQTRCSCxBQTVCSDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCQyxlQUFlLEVBQUVDLGdCQUFnQjtnQkFDckQsSUFBSUM7Z0JBRUosSUFBTUMsV0FBV0gsZ0JBQWdCSSxXQUFXLElBQUksR0FBRztnQkFFbkQsT0FBUUQ7b0JBQ04sS0FBS0UsaUNBQXNCO3dCQUFFOzRCQUMzQixJQUFNQyxtQkFBbUJOLGlCQUNuQk8sdUJBQXVCQyxtQkFBbUJGLGtCQUFrQkwsbUJBQzVEUSwyQkFBMkJGLHNCQUF1QixHQUFHOzRCQUUzREwsMEJBQTBCTywwQkFBMEIsR0FBRzs0QkFFdkQ7d0JBQ0Y7b0JBRUE7d0JBQVM7NEJBQ1BQLDBCQUEwQix1QkFsQjVCSixzQ0FrQmtDQyx5QkFBTixJQUFLLGFBQXVCQyxpQkFBaUJDOzRCQUV2RTt3QkFDRjtnQkFDRjtnQkFFQSxPQUFPQztZQUNUOzs7V0F6QklKO0VBQWtDWSxhQUFZO0FBNEJwRCxJQUFNQyw0QkFBNEIsSUFBSWI7SUFFdEMsV0FBZWE7QUFFZixTQUFTSCxtQkFBbUJGLGdCQUFnQixFQUFFTCxnQkFBZ0I7SUFDNUQsSUFBSU07SUFFSixJQUFNSyxxQkFBcUJYLGlCQUFpQlksWUFBWSxDQUFDUDtJQUV6REwsaUJBQWlCYSxLQUFLLENBQUMsQUFBQyxrQkFBb0MsT0FBbkJGLG9CQUFtQixzQkFBb0JOO0lBRWhGLElBQU1TLG1CQUFtQkMsSUFBQUEsMkNBQW9DLEVBQUNWLG1CQUN4RFcsc0JBQXNCaEIsaUJBQWlCaUIsdUNBQXVDLENBQUNIO0lBRXJGUix1QkFBdUJVO0lBRXZCLElBQUlWLHNCQUFzQjtRQUN4Qk4saUJBQWlCa0IsS0FBSyxDQUFDLEFBQUMsb0JBQXNDLE9BQW5CUCxvQkFBbUIsb0JBQWtCTjtJQUNsRjtJQUVBLE9BQU9DO0FBQ1QifQ==
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _node = /*#__PURE__*/ _interop_require_default(require("../../verifier/node"));
12
+ var _statement = /*#__PURE__*/ _interop_require_default(require("../../verify/statement"));
13
+ var _termAsConstructor = require("./../../verifier/node/termAsConstructor");
14
+ var _ruleNames = require("../../ruleNames");
15
+ function _assert_this_initialized(self) {
16
+ if (self === void 0) {
17
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
18
+ }
19
+ return self;
20
+ }
21
+ function _class_call_check(instance, Constructor) {
22
+ if (!(instance instanceof Constructor)) {
23
+ throw new TypeError("Cannot call a class as a function");
24
+ }
25
+ }
26
+ function _defineProperties(target, props) {
27
+ for(var i = 0; i < props.length; i++){
28
+ var descriptor = props[i];
29
+ descriptor.enumerable = descriptor.enumerable || false;
30
+ descriptor.configurable = true;
31
+ if ("value" in descriptor) descriptor.writable = true;
32
+ Object.defineProperty(target, descriptor.key, descriptor);
33
+ }
34
+ }
35
+ function _create_class(Constructor, protoProps, staticProps) {
36
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
37
+ if (staticProps) _defineProperties(Constructor, staticProps);
38
+ return Constructor;
39
+ }
40
+ function _get(target, property, receiver) {
41
+ if (typeof Reflect !== "undefined" && Reflect.get) {
42
+ _get = Reflect.get;
43
+ } else {
44
+ _get = function get(target, property, receiver) {
45
+ var base = _super_prop_base(target, property);
46
+ if (!base) return;
47
+ var desc = Object.getOwnPropertyDescriptor(base, property);
48
+ if (desc.get) {
49
+ return desc.get.call(receiver || target);
50
+ }
51
+ return desc.value;
52
+ };
53
+ }
54
+ return _get(target, property, receiver || target);
55
+ }
56
+ function _get_prototype_of(o) {
57
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
58
+ return o.__proto__ || Object.getPrototypeOf(o);
59
+ };
60
+ return _get_prototype_of(o);
61
+ }
62
+ function _inherits(subClass, superClass) {
63
+ if (typeof superClass !== "function" && superClass !== null) {
64
+ throw new TypeError("Super expression must either be null or a function");
65
+ }
66
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
67
+ constructor: {
68
+ value: subClass,
69
+ writable: true,
70
+ configurable: true
71
+ }
72
+ });
73
+ if (superClass) _set_prototype_of(subClass, superClass);
74
+ }
75
+ function _interop_require_default(obj) {
76
+ return obj && obj.__esModule ? obj : {
77
+ default: obj
78
+ };
79
+ }
80
+ function _possible_constructor_return(self, call) {
81
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
82
+ return call;
83
+ }
84
+ return _assert_this_initialized(self);
85
+ }
86
+ function _set_prototype_of(o, p) {
87
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
88
+ o.__proto__ = p;
89
+ return o;
90
+ };
91
+ return _set_prototype_of(o, p);
92
+ }
93
+ function _super_prop_base(object, property) {
94
+ while(!Object.prototype.hasOwnProperty.call(object, property)){
95
+ object = _get_prototype_of(object);
96
+ if (object === null) break;
97
+ }
98
+ return object;
99
+ }
100
+ function _type_of(obj) {
101
+ "@swc/helpers - typeof";
102
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
103
+ }
104
+ function _is_native_reflect_construct() {
105
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
106
+ if (Reflect.construct.sham) return false;
107
+ if (typeof Proxy === "function") return true;
108
+ try {
109
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
110
+ return true;
111
+ } catch (e) {
112
+ return false;
113
+ }
114
+ }
115
+ function _create_super(Derived) {
116
+ var hasNativeReflectConstruct = _is_native_reflect_construct();
117
+ return function _createSuperInternal() {
118
+ var Super = _get_prototype_of(Derived), result;
119
+ if (hasNativeReflectConstruct) {
120
+ var NewTarget = _get_prototype_of(this).constructor;
121
+ result = Reflect.construct(Super, arguments, NewTarget);
122
+ } else {
123
+ result = Super.apply(this, arguments);
124
+ }
125
+ return _possible_constructor_return(this, result);
126
+ };
127
+ }
128
+ var StatementAsCombinatorNodeVerifier = /*#__PURE__*/ function(NodeVerifier) {
129
+ _inherits(StatementAsCombinatorNodeVerifier, NodeVerifier);
130
+ var _super = _create_super(StatementAsCombinatorNodeVerifier);
131
+ function StatementAsCombinatorNodeVerifier() {
132
+ _class_call_check(this, StatementAsCombinatorNodeVerifier);
133
+ return _super.apply(this, arguments);
134
+ }
135
+ _create_class(StatementAsCombinatorNodeVerifier, [
136
+ {
137
+ key: "verifyNonTerminalNode",
138
+ value: function verifyNonTerminalNode(nonTerminalNode, fileContext, verifyAhead) {
139
+ var nonTerminalNodeVerified;
140
+ var ruleName = nonTerminalNode.getRuleName();
141
+ switch(ruleName){
142
+ case _ruleNames.TYPE_RULE_NAME:
143
+ {
144
+ var typeNode = nonTerminalNode, typeVerified = (0, _termAsConstructor.verifyType)(typeNode, fileContext, verifyAhead), typeNodeVerified = typeVerified; ///
145
+ nonTerminalNodeVerified = typeNodeVerified; ///
146
+ break;
147
+ }
148
+ case _ruleNames.TERM_RULE_NAME:
149
+ {
150
+ var termNode = nonTerminalNode, standaloneTermVerified = (0, _termAsConstructor.verifyStandaloneTerm)(termNode, fileContext, verifyAhead), termNodeVerified = standaloneTermVerified; ///
151
+ nonTerminalNodeVerified = termNodeVerified; ///
152
+ break;
153
+ }
154
+ case _ruleNames.STATEMENT_RULE_NAME:
155
+ {
156
+ var statementNode = nonTerminalNode, standaloneStatementVerified = verifyStandaloneStatement(statementNode, fileContext, verifyAhead), statementNodeVerified = standaloneStatementVerified; ///
157
+ nonTerminalNodeVerified = statementNodeVerified; ///
158
+ break;
159
+ }
160
+ default:
161
+ {
162
+ nonTerminalNodeVerified = _get(_get_prototype_of(StatementAsCombinatorNodeVerifier.prototype), "verifyNonTerminalNode", this).call(this, nonTerminalNode, fileContext, verifyAhead); ///
163
+ break;
164
+ }
165
+ }
166
+ return nonTerminalNodeVerified;
167
+ }
168
+ }
169
+ ]);
170
+ return StatementAsCombinatorNodeVerifier;
171
+ }(_node.default);
172
+ var statementAsCombinatorNodeVerifier = new StatementAsCombinatorNodeVerifier();
173
+ var _default = statementAsCombinatorNodeVerifier;
174
+ function verifyStandaloneStatement(statementNode, fileContext, verifyAhead) {
175
+ var standaloneStatementVerified;
176
+ var statementString = fileContext.nodeAsString(statementNode);
177
+ fileContext.trace("Verifying the '".concat(statementString, "' standalone statement..."), statementNode);
178
+ var context = fileContext, derived = false, assignments = [], statementVerified = (0, _statement.default)(statementNode, assignments, derived, context, verifyAhead);
179
+ standaloneStatementVerified = statementVerified; ///
180
+ if (standaloneStatementVerified) {
181
+ fileContext.debug("...verified the '".concat(statementString, "' standalone statement."), statementNode);
182
+ }
183
+ return standaloneStatementVerified;
184
+ }
185
+
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2RlL3N0YXRlbWVudEFzQ29tYmluYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE5vZGVWZXJpZmllciBmcm9tIFwiLi4vLi4vdmVyaWZpZXIvbm9kZVwiO1xuaW1wb3J0IHZlcmlmeVN0YXRlbWVudCBmcm9tIFwiLi4vLi4vdmVyaWZ5L3N0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyB2ZXJpZnlTdGFuZGFsb25lVGVybSwgdmVyaWZ5VHlwZSB9IGZyb20gXCIuLy4uLy4uL3ZlcmlmaWVyL25vZGUvdGVybUFzQ29uc3RydWN0b3JcIjtcbmltcG9ydCB7IFRZUEVfUlVMRV9OQU1FLCBURVJNX1JVTEVfTkFNRSwgU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi8uLi9ydWxlTmFtZXNcIjtcblxuY2xhc3MgU3RhdGVtZW50QXNDb21iaW5hdG9yTm9kZVZlcmlmaWVyIGV4dGVuZHMgTm9kZVZlcmlmaWVyIHtcbiAgdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgZmlsZUNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICAgIHN3aXRjaCAocnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgVFlQRV9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3QgdHlwZU5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICB0eXBlVmVyaWZpZWQgPSB2ZXJpZnlUeXBlKHR5cGVOb2RlLCBmaWxlQ29udGV4dCwgdmVyaWZ5QWhlYWQpLFxuICAgICAgICAgICAgICB0eXBlTm9kZVZlcmlmaWVkID0gdHlwZVZlcmlmaWVkOyAgLy8vXG5cbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSB0eXBlTm9kZVZlcmlmaWVkOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBURVJNX1JVTEVfTkFNRToge1xuICAgICAgICBjb25zdCB0ZXJtTm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgLy8vXG4gICAgICAgICAgICAgIHN0YW5kYWxvbmVUZXJtVmVyaWZpZWQgPSB2ZXJpZnlTdGFuZGFsb25lVGVybSh0ZXJtTm9kZSwgZmlsZUNvbnRleHQsIHZlcmlmeUFoZWFkKSxcbiAgICAgICAgICAgICAgdGVybU5vZGVWZXJpZmllZCA9IHN0YW5kYWxvbmVUZXJtVmVyaWZpZWQ7ICAvLy9cblxuICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRlcm1Ob2RlVmVyaWZpZWQ7IC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIFNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgLy8vXG4gICAgICAgICAgICAgIHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YW5kYWxvbmVTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgZmlsZUNvbnRleHQsIHZlcmlmeUFoZWFkKSxcbiAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZVZlcmlmaWVkID0gc3RhbmRhbG9uZVN0YXRlbWVudFZlcmlmaWVkOyAvLy9cblxuICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHN0YXRlbWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBzdXBlci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCwgdmVyaWZ5QWhlYWQpOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG4gIH1cbn1cblxuY29uc3Qgc3RhdGVtZW50QXNDb21iaW5hdG9yTm9kZVZlcmlmaWVyID0gbmV3IFN0YXRlbWVudEFzQ29tYmluYXRvck5vZGVWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBzdGF0ZW1lbnRBc0NvbWJpbmF0b3JOb2RlVmVyaWZpZXI7XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YW5kYWxvbmVTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgZmlsZUNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCBzdGFuZGFsb25lU3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YW5kYWxvbmUgc3RhdGVtZW50Li4uYCwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgIGRlcml2ZWQgPSBmYWxzZSxcbiAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICBzdGFuZGFsb25lU3RhdGVtZW50VmVyaWZpZWQgPSBzdGF0ZW1lbnRWZXJpZmllZDsgIC8vL1xuXG4gIGlmIChzdGFuZGFsb25lU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YW5kYWxvbmUgc3RhdGVtZW50LmAsIHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJTdGF0ZW1lbnRBc0NvbWJpbmF0b3JOb2RlVmVyaWZpZXIiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJmaWxlQ29udGV4dCIsInZlcmlmeUFoZWFkIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiVFlQRV9SVUxFX05BTUUiLCJ0eXBlTm9kZSIsInR5cGVWZXJpZmllZCIsInZlcmlmeVR5cGUiLCJ0eXBlTm9kZVZlcmlmaWVkIiwiVEVSTV9SVUxFX05BTUUiLCJ0ZXJtTm9kZSIsInN0YW5kYWxvbmVUZXJtVmVyaWZpZWQiLCJ2ZXJpZnlTdGFuZGFsb25lVGVybSIsInRlcm1Ob2RlVmVyaWZpZWQiLCJTVEFURU1FTlRfUlVMRV9OQU1FIiwic3RhdGVtZW50Tm9kZSIsInN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVN0YW5kYWxvbmVTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlVmVyaWZpZWQiLCJOb2RlVmVyaWZpZXIiLCJzdGF0ZW1lbnRBc0NvbWJpbmF0b3JOb2RlVmVyaWZpZXIiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsImNvbnRleHQiLCJkZXJpdmVkIiwiYXNzaWdubWVudHMiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVN0YXRlbWVudCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEwREE7OztlQUFBOzs7MkRBeER5QjtnRUFDRztpQ0FFcUI7eUJBQ21COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFcEUsSUFBQSxBQUFNQSxrREFnREgsQUFoREg7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLHNCQUFzQkMsZUFBZSxFQUFFQyxXQUFXLEVBQUVDLFdBQVc7Z0JBQzdELElBQUlDO2dCQUVKLElBQU1DLFdBQVdKLGdCQUFnQkssV0FBVztnQkFFNUMsT0FBUUQ7b0JBQ04sS0FBS0UseUJBQWM7d0JBQUU7NEJBQ25CLElBQU1DLFdBQVdQLGlCQUNYUSxlQUFlQyxJQUFBQSw2QkFBVSxFQUFDRixVQUFVTixhQUFhQyxjQUNqRFEsbUJBQW1CRixjQUFlLEdBQUc7NEJBRTNDTCwwQkFBMEJPLGtCQUFrQixHQUFHOzRCQUUvQzt3QkFDRjtvQkFFQSxLQUFLQyx5QkFBYzt3QkFBRTs0QkFDbkIsSUFBTUMsV0FBV1osaUJBQ1hhLHlCQUF5QkMsSUFBQUEsdUNBQW9CLEVBQUNGLFVBQVVYLGFBQWFDLGNBQ3JFYSxtQkFBbUJGLHdCQUF5QixHQUFHOzRCQUVyRFYsMEJBQTBCWSxrQkFBa0IsR0FBRzs0QkFFL0M7d0JBQ0Y7b0JBRUEsS0FBS0MsOEJBQW1CO3dCQUFFOzRCQUN4QixJQUFNQyxnQkFBZ0JqQixpQkFDaEJrQiw4QkFBOEJDLDBCQUEwQkYsZUFBZWhCLGFBQWFDLGNBQ3BGa0Isd0JBQXdCRiw2QkFBNkIsR0FBRzs0QkFFOURmLDBCQUEwQmlCLHVCQUF1QixHQUFHOzRCQUVwRDt3QkFDRjtvQkFFQTt3QkFBUzs0QkFDUGpCLDBCQUEwQix1QkF0QzVCTCw4Q0FzQ2tDQyx5QkFBTixJQUFLLGFBQXVCQyxpQkFBaUJDLGFBQWFDLGNBQWMsR0FBRzs0QkFFckc7d0JBQ0Y7Z0JBQ0Y7Z0JBRUEsT0FBT0M7WUFDVDs7O1dBN0NJTDtFQUEwQ3VCLGFBQVk7QUFnRDVELElBQU1DLG9DQUFvQyxJQUFJeEI7SUFFOUMsV0FBZXdCO0FBRWYsU0FBU0gsMEJBQTBCRixhQUFhLEVBQUVoQixXQUFXLEVBQUVDLFdBQVc7SUFDeEUsSUFBSWdCO0lBRUosSUFBTUssa0JBQWtCdEIsWUFBWXVCLFlBQVksQ0FBQ1A7SUFFakRoQixZQUFZd0IsS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFBZ0IsOEJBQTRCTjtJQUVoRixJQUFNUyxVQUFVekIsYUFDVjBCLFVBQVUsT0FDVkMsY0FBYyxFQUFFLEVBQ2hCQyxvQkFBb0JDLElBQUFBLGtCQUFlLEVBQUNiLGVBQWVXLGFBQWFELFNBQVNELFNBQVN4QjtJQUV4RmdCLDhCQUE4QlcsbUJBQW9CLEdBQUc7SUFFckQsSUFBSVgsNkJBQTZCO1FBQy9CakIsWUFBWThCLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQlIsaUJBQWdCLDRCQUEwQk47SUFDbEY7SUFFQSxPQUFPQztBQUNUIn0=