highmark-markdown 0.0.393 → 0.0.396

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.
package/lib/index.js CHANGED
@@ -51,6 +51,9 @@ _export(exports, {
51
51
  nodeMap: function() {
52
52
  return _nodeMap.default;
53
53
  },
54
+ nodeUtilities: function() {
55
+ return _node.default;
56
+ },
54
57
  queryUtilities: function() {
55
58
  return _query.default;
56
59
  },
@@ -66,6 +69,7 @@ var _parser = /*#__PURE__*/ _interop_require_default(require("./markdown/parser"
66
69
  var _lexer1 = /*#__PURE__*/ _interop_require_default(require("./markdownStyle/lexer"));
67
70
  var _parser1 = /*#__PURE__*/ _interop_require_default(require("./markdownStyle/parser"));
68
71
  var _css = /*#__PURE__*/ _interop_require_default(require("./utilities/css"));
72
+ var _node = /*#__PURE__*/ _interop_require_default(require("./utilities/node"));
69
73
  var _query = /*#__PURE__*/ _interop_require_default(require("./utilities/query"));
70
74
  var _markdown = /*#__PURE__*/ _interop_require_default(require("./utilities/markdown"));
71
75
  var _footnotes = /*#__PURE__*/ _interop_require_default(require("./utilities/footnotes"));
@@ -84,4 +88,4 @@ function _interop_require_default(obj) {
84
88
  };
85
89
  }
86
90
 
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBNYXJrZG93bkxleGVyIH0gZnJvbSBcIi4vbWFya2Rvd24vbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWFya2Rvd25QYXJzZXIgfSBmcm9tIFwiLi9tYXJrZG93bi9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWFya2Rvd25TdHlsZUxleGVyIH0gZnJvbSBcIi4vbWFya2Rvd25TdHlsZS9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBNYXJrZG93blN0eWxlUGFyc2VyIH0gZnJvbSBcIi4vbWFya2Rvd25TdHlsZS9wYXJzZXJcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBjc3NVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY3NzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHF1ZXJ5VXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG1hcmtkb3duVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL21hcmtkb3duXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZvb3Rub3Rlc1V0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9mb290bm90ZXNcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBub2RlTWFwIH0gZnJvbSBcIi4vbm9kZU1hcFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBydWxlTmFtZXMgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdG9rZW5UeXBlcyB9IGZyb20gXCIuL3Rva2VuVHlwZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZWxlbWVudE1hcCB9IGZyb20gXCIuL2VsZW1lbnRNYXBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWFya2Rvd25Ob2RlIH0gZnJvbSBcIi4vbm9kZS9tYXJrZG93blwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBtZWRpYVR5cGVOYW1lcyB9IGZyb20gXCIuL21lZGlhVHlwZU5hbWVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE1hcmtkb3duU3R5bGVFbGVtZW50IH0gZnJvbSBcIi4vc3R5bGVFbGVtZW50L21hcmtkb3duXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRlZmF1bHRNYXJrZG93blN0eWxlIH0gZnJvbSBcIi4vZGVmYXVsdE1hcmtkb3duU3R5bGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRGVmYXVsdE1hcmtkb3duU3R5bGVFbGVtZW50IH0gZnJvbSBcIi4vc3R5bGVFbGVtZW50L21hcmtkb3duL2RlZmF1bHRcIjtcbiJdLCJuYW1lcyI6WyJEZWZhdWx0TWFya2Rvd25TdHlsZUVsZW1lbnQiLCJNYXJrZG93bkxleGVyIiwiTWFya2Rvd25Ob2RlIiwiTWFya2Rvd25QYXJzZXIiLCJNYXJrZG93blN0eWxlRWxlbWVudCIsIk1hcmtkb3duU3R5bGVMZXhlciIsIk1hcmtkb3duU3R5bGVQYXJzZXIiLCJjc3NVdGlsaXRpZXMiLCJkZWZhdWx0TWFya2Rvd25TdHlsZSIsImVsZW1lbnRNYXAiLCJmb290bm90ZXNVdGlsaXRpZXMiLCJtYXJrZG93blV0aWxpdGllcyIsIm1lZGlhVHlwZU5hbWVzIiwibm9kZU1hcCIsInF1ZXJ5VXRpbGl0aWVzIiwicnVsZU5hbWVzIiwidG9rZW5UeXBlcyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFvQm9CQSwyQkFBMkI7ZUFBM0JBLGdCQUEyQjs7SUFsQjNCQyxhQUFhO2VBQWJBLGNBQWE7O0lBY2JDLFlBQVk7ZUFBWkEsa0JBQVk7O0lBYlpDLGNBQWM7ZUFBZEEsZUFBYzs7SUFlZEMsb0JBQW9CO2VBQXBCQSxrQkFBb0I7O0lBZHBCQyxrQkFBa0I7ZUFBbEJBLGVBQWtCOztJQUNsQkMsbUJBQW1CO2VBQW5CQSxnQkFBbUI7O0lBRW5CQyxZQUFZO2VBQVpBLFlBQVk7O0lBWVpDLG9CQUFvQjtlQUFwQkEsNkJBQW9COztJQUpwQkMsVUFBVTtlQUFWQSxtQkFBVTs7SUFMVkMsa0JBQWtCO2VBQWxCQSxrQkFBa0I7O0lBRGxCQyxpQkFBaUI7ZUFBakJBLGlCQUFpQjs7SUFRakJDLGNBQWM7ZUFBZEEsdUJBQWM7O0lBTGRDLE9BQU87ZUFBUEEsZ0JBQU87O0lBSlBDLGNBQWM7ZUFBZEEsY0FBYzs7SUFLZEMsU0FBUztlQUFUQSxrQkFBUzs7SUFDVEMsVUFBVTtlQUFWQSxtQkFBVTs7OzREQVpXOzZEQUNDOzZEQUNJOzhEQUNDOzBEQUVQOzREQUNFOytEQUNHO2dFQUNDOzhEQUVYO2dFQUNFO2lFQUNDO2lFQUNBO2dFQUNFO3FFQUNFO2dFQUNNOzJFQUNBOzhEQUNPIn0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBNYXJrZG93bkxleGVyIH0gZnJvbSBcIi4vbWFya2Rvd24vbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWFya2Rvd25QYXJzZXIgfSBmcm9tIFwiLi9tYXJrZG93bi9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWFya2Rvd25TdHlsZUxleGVyIH0gZnJvbSBcIi4vbWFya2Rvd25TdHlsZS9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBNYXJrZG93blN0eWxlUGFyc2VyIH0gZnJvbSBcIi4vbWFya2Rvd25TdHlsZS9wYXJzZXJcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBjc3NVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY3NzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG5vZGVVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBxdWVyeVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBtYXJrZG93blV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9tYXJrZG93blwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmb290bm90ZXNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZm9vdG5vdGVzXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgbm9kZU1hcCB9IGZyb20gXCIuL25vZGVNYXBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcnVsZU5hbWVzIH0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHRva2VuVHlwZXMgfSBmcm9tIFwiLi90b2tlblR5cGVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGVsZW1lbnRNYXAgfSBmcm9tIFwiLi9lbGVtZW50TWFwXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE1hcmtkb3duTm9kZSB9IGZyb20gXCIuL25vZGUvbWFya2Rvd25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbWVkaWFUeXBlTmFtZXMgfSBmcm9tIFwiLi9tZWRpYVR5cGVOYW1lc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBNYXJrZG93blN0eWxlRWxlbWVudCB9IGZyb20gXCIuL3N0eWxlRWxlbWVudC9tYXJrZG93blwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkZWZhdWx0TWFya2Rvd25TdHlsZSB9IGZyb20gXCIuL2RlZmF1bHRNYXJrZG93blN0eWxlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIERlZmF1bHRNYXJrZG93blN0eWxlRWxlbWVudCB9IGZyb20gXCIuL3N0eWxlRWxlbWVudC9tYXJrZG93bi9kZWZhdWx0XCI7XG4iXSwibmFtZXMiOlsiRGVmYXVsdE1hcmtkb3duU3R5bGVFbGVtZW50IiwiTWFya2Rvd25MZXhlciIsIk1hcmtkb3duTm9kZSIsIk1hcmtkb3duUGFyc2VyIiwiTWFya2Rvd25TdHlsZUVsZW1lbnQiLCJNYXJrZG93blN0eWxlTGV4ZXIiLCJNYXJrZG93blN0eWxlUGFyc2VyIiwiY3NzVXRpbGl0aWVzIiwiZGVmYXVsdE1hcmtkb3duU3R5bGUiLCJlbGVtZW50TWFwIiwiZm9vdG5vdGVzVXRpbGl0aWVzIiwibWFya2Rvd25VdGlsaXRpZXMiLCJtZWRpYVR5cGVOYW1lcyIsIm5vZGVNYXAiLCJub2RlVXRpbGl0aWVzIiwicXVlcnlVdGlsaXRpZXMiLCJydWxlTmFtZXMiLCJ0b2tlblR5cGVzIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFxQm9CQSwyQkFBMkI7ZUFBM0JBLGdCQUEyQjs7SUFuQjNCQyxhQUFhO2VBQWJBLGNBQWE7O0lBZWJDLFlBQVk7ZUFBWkEsa0JBQVk7O0lBZFpDLGNBQWM7ZUFBZEEsZUFBYzs7SUFnQmRDLG9CQUFvQjtlQUFwQkEsa0JBQW9COztJQWZwQkMsa0JBQWtCO2VBQWxCQSxlQUFrQjs7SUFDbEJDLG1CQUFtQjtlQUFuQkEsZ0JBQW1COztJQUVuQkMsWUFBWTtlQUFaQSxZQUFZOztJQWFaQyxvQkFBb0I7ZUFBcEJBLDZCQUFvQjs7SUFKcEJDLFVBQVU7ZUFBVkEsbUJBQVU7O0lBTFZDLGtCQUFrQjtlQUFsQkEsa0JBQWtCOztJQURsQkMsaUJBQWlCO2VBQWpCQSxpQkFBaUI7O0lBUWpCQyxjQUFjO2VBQWRBLHVCQUFjOztJQUxkQyxPQUFPO2VBQVBBLGdCQUFPOztJQUxQQyxhQUFhO2VBQWJBLGFBQWE7O0lBQ2JDLGNBQWM7ZUFBZEEsY0FBYzs7SUFLZEMsU0FBUztlQUFUQSxrQkFBUzs7SUFDVEMsVUFBVTtlQUFWQSxtQkFBVTs7OzREQWJXOzZEQUNDOzZEQUNJOzhEQUNDOzBEQUVQOzJEQUNDOzREQUNDOytEQUNHO2dFQUNDOzhEQUVYO2dFQUNFO2lFQUNDO2lFQUNBO2dFQUNFO3FFQUNFO2dFQUNNOzJFQUNBOzhEQUNPIn0=
@@ -341,15 +341,10 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
341
341
  }
342
342
  },
343
343
  {
344
- key: "createFootnotesListMarkdownNode",
345
- value: function createFootnotesListMarkdownNode(context) {
346
- var footnotesListMarkdownNode = null;
344
+ key: "createFootnotesListReplacement",
345
+ value: function createFootnotesListReplacement(context) {
347
346
  var footnoteSubDivisionReplacements = this.findSubDivisionReplacements(_footnote1.default, context), footnoteReplacements = footnoteReplacementsFromFootnoteSubDivisionReplacements(footnoteSubDivisionReplacements), divisionMarkdownNode = this, footnotesListReplacement = _footnotesList.default.fromFootnoteReplacementsAndDivisionMarkdownNode(footnoteReplacements, divisionMarkdownNode, context);
348
- if (footnotesListReplacement !== null) {
349
- var footnotesListReplacementNode = footnotesListReplacement.getNode();
350
- footnotesListMarkdownNode = footnotesListReplacementNode; ///
351
- }
352
- return footnotesListMarkdownNode;
347
+ return footnotesListReplacement;
353
348
  }
354
349
  },
355
350
  {
@@ -400,4 +395,4 @@ function footnoteReplacementsFromFootnoteSubDivisionReplacements(footnoteSubDivi
400
395
  return footnoteReplacements;
401
396
  }
402
397
 
403
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL2RpdmlzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IE1hcmtkb3duTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9tYXJrZG93blwiO1xuaW1wb3J0IEZvb3Rub3RlUmVwbGFjZW1lbnQgZnJvbSBcIi4uLy4uL3JlcGxhY2VtZW50L2Zvb3Rub3RlXCI7XG5pbXBvcnQgQ29udGVudHNMaXN0UmVwbGFjZW1lbnQgZnJvbSBcIi4uLy4uL3JlcGxhY2VtZW50L2NvbnRlbnRzTGlzdFwiO1xuaW1wb3J0IEZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudCBmcm9tIFwiLi4vLi4vcmVwbGFjZW1lbnQvZm9vdG5vdGVzTGlzdFwiO1xuaW1wb3J0IEZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudCBmcm9tIFwiLi4vLi4vcmVwbGFjZW1lbnQvc3ViRGl2aXNpb24vZm9vdG5vdGVcIjtcbmltcG9ydCBDb250ZW50c0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgZnJvbSBcIi4uLy4uL3JlcGxhY2VtZW50L3N1YkRpdmlzaW9uL2NvbnRlbnRzRGlyZWN0aXZlXCI7XG5pbXBvcnQgRm9vdG5vdGVzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCBmcm9tIFwiLi4vLi4vcmVwbGFjZW1lbnQvc3ViRGl2aXNpb24vZm9vdG5vdGVzRGlyZWN0aXZlXCI7XG5pbXBvcnQgUGFnZU51bWJlckRpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgZnJvbSBcIi4uLy4uL3JlcGxhY2VtZW50L3N1YkRpdmlzaW9uL3BhZ2VOdW1iZXJEaXJlY3RpdmVcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgRElWSVNJT05fUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuaW1wb3J0IHsgcmVudW1iZXJMaW5rTWFya2Rvd25Ob2RlcyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvZm9vdG5vdGVzXCI7XG5pbXBvcnQgeyBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgICAgICAgIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICAgICAgICAgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gICAgICAgICBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHsgY2xlYXIgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEaXZpc2lvbk1hcmtkb3duTm9kZSBleHRlbmRzIE1hcmtkb3duTm9kZSB7XG4gIGNvbnN0cnVjdG9yKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBwcmVjZWRlbmNlLCBvcGFjaXR5LCBkb21FbGVtZW50LCBkaXZpc2lvbkNsYXNzTmFtZSkge1xuICAgIHN1cGVyKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBwcmVjZWRlbmNlLCBvcGFjaXR5LCBkb21FbGVtZW50KTtcblxuICAgIHRoaXMuZGl2aXNpb25DbGFzc05hbWUgPSBkaXZpc2lvbkNsYXNzTmFtZTtcbiAgfVxuXG4gIGdldERpdmlzaW9uQ2xhc3NOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lO1xuICB9XG5cbiAgc2V0RGl2aXNpb25DbGFzc05hbWUoZGl2aXNpb25DbGFzc05hbWUpIHtcbiAgICB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lID0gZGl2aXNpb25DbGFzc05hbWU7XG4gIH1cblxuICBjbGFzc05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMuZGl2aXNpb25DbGFzc05hbWU7IC8vL1xuXG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIGlzSWdub3JlZCgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcyxcbiAgICAgICAgICBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBpZ25vcmVkID0gKGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gaWdub3JlZDtcbiAgfVxuXG4gIHBhZ2luYXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCB7IGxpbmVzUGVyUGFnZSB9ID0gY29udGV4dCxcbiAgICAgICAgICBjaGlsZE5vZGVzID0gdGhpcy5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgcGFnaW5hdGVkQ2hpbGROb2RlcyA9IFtdLFxuICAgICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IFtdLFxuICAgICAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50ID0gdGhpcy5yZW1vdmVTdWJEaXZpc2lvbk1hcmtkb3duTm9kZShQYWdlTnVtYmVyRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgY29udGV4dCk7XG5cbiAgICBsZXQgdG90YWxMaW5lcyA9IDA7XG5cbiAgICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgbGluZXMgPSBjaGlsZE5vZGUubGluZXMoY29udGV4dCksXG4gICAgICAgICAgICBwYWdpbmF0ZWRDaGlsZE5vZGUgPSBjaGlsZE5vZGU7ICAvLy9cblxuICAgICAgdG90YWxMaW5lcyArPSBsaW5lcztcblxuICAgICAgcGFnaW5hdGVkQ2hpbGROb2Rlcy5wdXNoKHBhZ2luYXRlZENoaWxkTm9kZSk7XG5cbiAgICAgIGlmICh0b3RhbExpbmVzID4gbGluZXNQZXJQYWdlKSB7XG4gICAgICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gRGl2aXNpb25NYXJrZG93bk5vZGUuZnJvbVBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50UGFnaW5hdGVkQ2hpbGROb2Rlc0FuZERpdmlzaW9uQ2xhc3NOYW1lKHBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBwYWdpbmF0ZWRDaGlsZE5vZGVzLCB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lLCBjb250ZXh0KTtcblxuICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZXMucHVzaChkaXZpc2lvbk1hcmtkb3duTm9kZSk7XG5cbiAgICAgICAgY2xlYXIocGFnaW5hdGVkQ2hpbGROb2Rlcyk7XG5cbiAgICAgICAgdG90YWxMaW5lcyA9IDA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodG90YWxMaW5lcyA+IDApIHtcbiAgICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gRGl2aXNpb25NYXJrZG93bk5vZGUuZnJvbVBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50UGFnaW5hdGVkQ2hpbGROb2Rlc0FuZERpdmlzaW9uQ2xhc3NOYW1lKHBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBwYWdpbmF0ZWRDaGlsZE5vZGVzLCB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lLCBjb250ZXh0KTtcblxuICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGVzLnB1c2goZGl2aXNpb25NYXJrZG93bk5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBkaXZpc2lvbk1hcmtkb3duTm9kZXM7XG4gIH1cblxuICBzZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcyxcbiAgICAgICAgICBwYWdlTnVtYmVyRGlyZWN0aXZlID0gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpO1xuXG4gICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmUgIT09IG51bGwpIHtcbiAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmUuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVDb250ZW50cyhkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgICBsZXQgY29udGVudHNDcmVhdGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBjb250ZW50c0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSB0aGlzLmZpbmRTdWJEaXZpc2lvblJlcGxhY2VtZW50KENvbnRlbnRzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgY29udGV4dCk7XG5cbiAgICBpZiAoY29udGVudHNEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICAgIGNvbnRlbnRzTGlzdFJlcGxhY2VtZW50ID0gQ29udGVudHNMaXN0UmVwbGFjZW1lbnQuZnJvbURpdmlzaW9uTWFya2Rvd25Ob2Rlc0FuZERpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoY29udGVudHNMaXN0UmVwbGFjZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgY29udGVudHNMaXN0UmVwbGFjZW1lbnQucmVwbGFjZUNvbnRlbnRzRGlyZWN0aXZlU3ViZGl2aXNpb25SZXBsYWNlbWVudChjb250ZW50c0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgICBjb250ZW50c0NyZWF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjb250ZW50c0NyZWF0ZWQ7XG4gIH1cblxuICBjcmVhdGVGb290bm90ZXMoZm9vdG5vdGVSZXBsYWNlbWVudHMsIGNvbnRleHQpIHtcbiAgICBpZiAoZm9vdG5vdGVSZXBsYWNlbWVudHMgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgICAgZm9vdG5vdGVzTGlzdFJlcGxhY2VtZW50ID0gRm9vdG5vdGVzTGlzdFJlcGxhY2VtZW50LmZyb21Gb290bm90ZVJlcGxhY2VtZW50c0FuZERpdmlzaW9uTWFya2Rvd25Ob2RlKGZvb3Rub3RlUmVwbGFjZW1lbnRzLCBkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGlmIChmb290bm90ZXNMaXN0UmVwbGFjZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgcmVudW1iZXJMaW5rTWFya2Rvd25Ob2RlcyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgY2FsbGJhY2ssIGNvbnRleHQpO1xuXG4gICAgICAgIGZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudC5hcHBlbmRUb0RpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjYWxsYmFjaygpIHtcbiAgICAgIC8vL1xuICAgIH1cbiAgfVxuXG4gIHByZXBhcmVGb290bm90ZXMoY29udGV4dCkge1xuICAgIGNvbnN0IGZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudHMgPSB0aGlzLnJlbW92ZVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyhGb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGNvbnRleHQpO1xuXG4gICAgbGV0IGZvb3Rub3RlUmVwbGFjZW1lbnRzID0gZm9vdG5vdGVSZXBsYWNlbWVudHNGcm9tRm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50cyhmb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzKTtcblxuICAgIGNvbnN0IGZvb3Rub3Rlc0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSB0aGlzLnJlbW92ZVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKEZvb3Rub3Rlc0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGNvbnRleHQpO1xuXG4gICAgaWYgKGZvb3Rub3Rlc0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPT09IG51bGwpIHtcbiAgICAgIGZvb3Rub3RlUmVwbGFjZW1lbnRzID0gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9vdG5vdGVSZXBsYWNlbWVudHM7XG4gIH1cblxuICByZXNvbHZlRW1iZWRkaW5ncyhjb250ZXh0KSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMgPSBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlKTtcblxuICAgIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcy5tYXAoKGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICBjb25zdCBpbXBvcnRlZFJlcGxhY2VtZW50ID0gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGUuaW1wb3J0KGNvbnRleHQpO1xuXG4gICAgICBpZiAoaW1wb3J0ZWRSZXBsYWNlbWVudCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBjaGlsZE5vZGUgPSBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBwYXJlbnROb2RlID0gdGhpcy5maW5kUGFyZW50Tm9kZShjaGlsZE5vZGUpO1xuXG4gICAgICAgIGltcG9ydGVkUmVwbGFjZW1lbnQucmVwbGFjZUVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlKGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlLCBwYXJlbnROb2RlLCBjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGZpbmRTdWJEaXZpc2lvblJlcGxhY2VtZW50KFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGNvbnRleHQpIHtcbiAgICBsZXQgc3ViRGl2aXNpb25SZXBsYWNlbWVudCA9IG51bGw7XG5cbiAgICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcblxuICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5zb21lKChzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgc3ViRGl2aXNpb25SZXBsYWNlbWVudCA9IFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQuZnJvbVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25SZXBsYWNlbWVudDtcbiAgfVxuXG4gIGZpbmRTdWJEaXZpc2lvblJlcGxhY2VtZW50cyhTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3Qgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzID0gdGhpcy5maW5kU3ViRGl2aXNpb25NYXJrZG93bk5vZGVzKCksXG4gICAgICAgICAgc3ViRGl2aXNpb25SZXBsYWNlbWVudHMgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMucmVkdWNlKChzdWJEaXZpc2lvblJlcGxhY2VtZW50cywgc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSBTdWJEaXZpc2lvblJlcGxhY2VtZW50LmZyb21TdWJEaXZpc2lvbk1hcmtkb3duTm9kZShzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChzdWJEaXZpc2lvblJlcGxhY2VtZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzLnB1c2goc3ViRGl2aXNpb25SZXBsYWNlbWVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBzdWJEaXZpc2lvblJlcGxhY2VtZW50cztcbiAgICAgICAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25SZXBsYWNlbWVudHM7XG4gIH1cblxuICBmaW5kU3ViRGl2aXNpb25NYXJrZG93bk5vZGVzKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzID0gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSk7XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzO1xuICB9XG5cbiAgcmVtb3ZlU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgY29udGV4dCkge1xuICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSB0aGlzLmZpbmRTdWJEaXZpc2lvblJlcGxhY2VtZW50KFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGNvbnRleHQpO1xuXG4gICAgaWYgKHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQucmVtb3ZlRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25SZXBsYWNlbWVudDtcbiAgfVxuXG4gIHJlbW92ZVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyhTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgc3ViRGl2aXNpb25SZXBsYWNlbWVudHMgPSB0aGlzLmZpbmRTdWJEaXZpc2lvblJlcGxhY2VtZW50cyhTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBjb250ZXh0KTtcblxuICAgIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzLmZvckVhY2goKHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQpID0+IHtcbiAgICAgIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQucmVtb3ZlRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzdWJEaXZpc2lvblJlcGxhY2VtZW50cztcbiAgfVxuXG4gIGNyZWF0ZUZvb3Rub3Rlc0xpc3RNYXJrZG93bk5vZGUoY29udGV4dCkge1xuICAgIGxldCBmb290bm90ZXNMaXN0TWFya2Rvd25Ob2RlPSBudWxsO1xuXG4gICAgY29uc3QgZm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50cyA9IHRoaXMuZmluZFN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzKEZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgY29udGV4dCksXG4gICAgICAgICAgZm9vdG5vdGVSZXBsYWNlbWVudHMgPSBmb290bm90ZVJlcGxhY2VtZW50c0Zyb21Gb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzKGZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudHMpLFxuICAgICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudCA9IEZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudC5mcm9tRm9vdG5vdGVSZXBsYWNlbWVudHNBbmREaXZpc2lvbk1hcmtkb3duTm9kZShmb290bm90ZVJlcGxhY2VtZW50cywgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgaWYgKGZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZm9vdG5vdGVzTGlzdFJlcGxhY2VtZW50Tm9kZSA9IGZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudC5nZXROb2RlKCk7XG5cbiAgICAgIGZvb3Rub3Rlc0xpc3RNYXJrZG93bk5vZGUgPSBmb290bm90ZXNMaXN0UmVwbGFjZW1lbnROb2RlOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gZm9vdG5vdGVzTGlzdE1hcmtkb3duTm9kZTtcbiAgfVxuXG4gIGFzSFRNTChjb250ZXh0KSB7XG4gICAgbGV0IGh0bWwgPSBudWxsO1xuXG4gICAgY29uc3QgaW5kZW50ID0gRU1QVFlfU1RSSU5HLFxuICAgICAgICAgIGNoaWxkTm9kZXNIVE1MID0gdGhpcy5jaGlsZE5vZGVzQXNIVE1MKGluZGVudCwgY29udGV4dCk7XG5cbiAgICBpZiAoY2hpbGROb2Rlc0hUTUwgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXJ0aW5nVGFnID0gdGhpcy5zdGFydGluZ1RhZyhjb250ZXh0KSxcbiAgICAgICAgICAgIGNsb3NpbmdUYWcgPSB0aGlzLmNsb3NpbmdUYWcoY29udGV4dCk7XG5cbiAgICAgIGh0bWwgPSBgJHtpbmRlbnR9JHtzdGFydGluZ1RhZ31cbiR7Y2hpbGROb2Rlc0hUTUx9JHtpbmRlbnR9JHtjbG9zaW5nVGFnfVxuYDtcbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbDtcbiAgfVxuXG4gIGNsb25lKCkgeyByZXR1cm4gc3VwZXIuY2xvbmUodGhpcy5kaXZpc2lvbkNsYXNzTmFtZSk7IH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpIHtcbiAgICBjb25zdCBkaXZpc2lvbkNsYXNzTmFtZSA9IG51bGwsXG4gICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBNYXJrZG93bk5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoRGl2aXNpb25NYXJrZG93bk5vZGUsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBkaXZpc2lvbkNsYXNzTmFtZSk7XG5cbiAgICByZXR1cm4gZGl2aXNpb25NYXJrZG93bk5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50UGFnaW5hdGVkQ2hpbGROb2Rlc0FuZERpdmlzaW9uQ2xhc3NOYW1lKHBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBwYWdpbmF0ZWRDaGlsZE5vZGVzLCBkaXZpc2lvbkNsYXNzTmFtZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gRElWSVNJT05fUlVMRV9OQU1FLFxuICAgICAgICAgIGNoaWxkTm9kZXMgPSBbXG4gICAgICAgICAgICAuLi5wYWdpbmF0ZWRDaGlsZE5vZGVzXG4gICAgICAgICAgXSxcbiAgICAgICAgICBvcGFjaXR5ID0gbnVsbCxcbiAgICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IE1hcmtkb3duTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eShEaXZpc2lvbk1hcmtkb3duTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIGRpdmlzaW9uQ2xhc3NOYW1lKTtcblxuICAgIGlmIChwYWdlTnVtYmVyRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCAhPT0gbnVsbCkge1xuICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSBwYWdlTnVtYmVyRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudC5jbG9uZSgpOyAgLy8vXG5cbiAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50LmFwcGVuZFRvRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBkaXZpc2lvbk1hcmtkb3duTm9kZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmb290bm90ZVJlcGxhY2VtZW50c0Zyb21Gb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzKGZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudHMpIHtcbiAgY29uc3QgZm9vdG5vdGVSZXBsYWNlbWVudHMgPSBmb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzLm1hcCgoZm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50KSA9PiB7XG4gICAgY29uc3QgZm9vdG5vdGVSZXBsYWNlbWVudCA9IEZvb3Rub3RlUmVwbGFjZW1lbnQuZnJvbUZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudChmb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQpO1xuXG4gICAgcmV0dXJuIGZvb3Rub3RlUmVwbGFjZW1lbnQ7XG4gIH0pO1xuXG4gIHJldHVybiBmb290bm90ZVJlcGxhY2VtZW50cztcbn1cbiJdLCJuYW1lcyI6WyJEaXZpc2lvbk1hcmtkb3duTm9kZSIsImNsZWFyIiwiYXJyYXlVdGlsaXRpZXMiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJwcmVjZWRlbmNlIiwib3BhY2l0eSIsImRvbUVsZW1lbnQiLCJkaXZpc2lvbkNsYXNzTmFtZSIsImdldERpdmlzaW9uQ2xhc3NOYW1lIiwic2V0RGl2aXNpb25DbGFzc05hbWUiLCJjbGFzc05hbWUiLCJjb250ZXh0IiwiaXNJZ25vcmVkIiwibm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaWdub3JlZCIsInBhZ2luYXRlIiwibGluZXNQZXJQYWdlIiwiZ2V0Q2hpbGROb2RlcyIsInBhZ2luYXRlZENoaWxkTm9kZXMiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJwYWdlTnVtYmVyRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsInJlbW92ZVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiUGFnZU51bWJlckRpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQiLCJ0b3RhbExpbmVzIiwiZm9yRWFjaCIsImNoaWxkTm9kZSIsImxpbmVzIiwicGFnaW5hdGVkQ2hpbGROb2RlIiwicHVzaCIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiZnJvbVBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50UGFnaW5hdGVkQ2hpbGROb2Rlc0FuZERpdmlzaW9uQ2xhc3NOYW1lIiwic2V0UGFnZU51bWJlciIsInBhZ2VOdW1iZXIiLCJwYWdlTnVtYmVyRGlyZWN0aXZlIiwicGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiY3JlYXRlQ29udGVudHMiLCJjb250ZW50c0NyZWF0ZWQiLCJjb250ZW50c0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQiLCJmaW5kU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsIkNvbnRlbnRzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsImNvbnRlbnRzTGlzdFJlcGxhY2VtZW50IiwiQ29udGVudHNMaXN0UmVwbGFjZW1lbnQiLCJmcm9tRGl2aXNpb25NYXJrZG93bk5vZGVzQW5kRGl2aXNpb25NYXJrZG93bk5vZGUiLCJyZXBsYWNlQ29udGVudHNEaXJlY3RpdmVTdWJkaXZpc2lvblJlcGxhY2VtZW50IiwiY3JlYXRlRm9vdG5vdGVzIiwiZm9vdG5vdGVSZXBsYWNlbWVudHMiLCJmb290bm90ZXNMaXN0UmVwbGFjZW1lbnQiLCJGb290bm90ZXNMaXN0UmVwbGFjZW1lbnQiLCJmcm9tRm9vdG5vdGVSZXBsYWNlbWVudHNBbmREaXZpc2lvbk1hcmtkb3duTm9kZSIsInJlbnVtYmVyTGlua01hcmtkb3duTm9kZXMiLCJjYWxsYmFjayIsImFwcGVuZFRvRGl2aXNpb25NYXJrZG93bk5vZGUiLCJwcmVwYXJlRm9vdG5vdGVzIiwiZm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50cyIsInJlbW92ZVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyIsIkZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsImZvb3Rub3RlUmVwbGFjZW1lbnRzRnJvbUZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudHMiLCJmb290bm90ZXNEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50IiwiRm9vdG5vdGVzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsInJlc29sdmVFbWJlZGRpbmdzIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJtYXAiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImltcG9ydGVkUmVwbGFjZW1lbnQiLCJpbXBvcnQiLCJwYXJlbnROb2RlIiwiZmluZFBhcmVudE5vZGUiLCJyZXBsYWNlRW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJTdWJEaXZpc2lvblJlcGxhY2VtZW50Iiwic3ViRGl2aXNpb25SZXBsYWNlbWVudCIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyIsImZpbmRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJzb21lIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJmcm9tU3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJmaW5kU3ViRGl2aXNpb25SZXBsYWNlbWVudHMiLCJzdWJEaXZpc2lvblJlcGxhY2VtZW50cyIsInJlZHVjZSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwicmVtb3ZlRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlIiwiY3JlYXRlRm9vdG5vdGVzTGlzdE1hcmtkb3duTm9kZSIsImZvb3Rub3Rlc0xpc3RNYXJrZG93bk5vZGUiLCJmb290bm90ZXNMaXN0UmVwbGFjZW1lbnROb2RlIiwiZ2V0Tm9kZSIsImFzSFRNTCIsImh0bWwiLCJpbmRlbnQiLCJFTVBUWV9TVFJJTkciLCJjaGlsZE5vZGVzSFRNTCIsImNoaWxkTm9kZXNBc0hUTUwiLCJzdGFydGluZ1RhZyIsImNsb3NpbmdUYWciLCJjbG9uZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5IiwiTWFya2Rvd25Ob2RlIiwiRElWSVNJT05fUlVMRV9OQU1FIiwiZm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50IiwiZm9vdG5vdGVSZXBsYWNlbWVudCIsIkZvb3Rub3RlUmVwbGFjZW1lbnQiLCJmcm9tRm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50Il0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBdUJxQkE7Ozt5QkFyQlU7K0RBRU47K0RBQ087bUVBQ0k7b0VBQ0M7Z0VBQ007d0VBQ1M7eUVBQ0M7MEVBQ0M7eUJBRXpCO3lCQUNNO3lCQUNPO3FCQUljOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FB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
398
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL2RpdmlzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IE1hcmtkb3duTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9tYXJrZG93blwiO1xuaW1wb3J0IEZvb3Rub3RlUmVwbGFjZW1lbnQgZnJvbSBcIi4uLy4uL3JlcGxhY2VtZW50L2Zvb3Rub3RlXCI7XG5pbXBvcnQgQ29udGVudHNMaXN0UmVwbGFjZW1lbnQgZnJvbSBcIi4uLy4uL3JlcGxhY2VtZW50L2NvbnRlbnRzTGlzdFwiO1xuaW1wb3J0IEZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudCBmcm9tIFwiLi4vLi4vcmVwbGFjZW1lbnQvZm9vdG5vdGVzTGlzdFwiO1xuaW1wb3J0IEZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudCBmcm9tIFwiLi4vLi4vcmVwbGFjZW1lbnQvc3ViRGl2aXNpb24vZm9vdG5vdGVcIjtcbmltcG9ydCBDb250ZW50c0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgZnJvbSBcIi4uLy4uL3JlcGxhY2VtZW50L3N1YkRpdmlzaW9uL2NvbnRlbnRzRGlyZWN0aXZlXCI7XG5pbXBvcnQgRm9vdG5vdGVzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCBmcm9tIFwiLi4vLi4vcmVwbGFjZW1lbnQvc3ViRGl2aXNpb24vZm9vdG5vdGVzRGlyZWN0aXZlXCI7XG5pbXBvcnQgUGFnZU51bWJlckRpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgZnJvbSBcIi4uLy4uL3JlcGxhY2VtZW50L3N1YkRpdmlzaW9uL3BhZ2VOdW1iZXJEaXJlY3RpdmVcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgRElWSVNJT05fUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuaW1wb3J0IHsgcmVudW1iZXJMaW5rTWFya2Rvd25Ob2RlcyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvZm9vdG5vdGVzXCI7XG5pbXBvcnQgeyBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgICAgICAgIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICAgICAgICAgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gICAgICAgICBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHsgY2xlYXIgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEaXZpc2lvbk1hcmtkb3duTm9kZSBleHRlbmRzIE1hcmtkb3duTm9kZSB7XG4gIGNvbnN0cnVjdG9yKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBwcmVjZWRlbmNlLCBvcGFjaXR5LCBkb21FbGVtZW50LCBkaXZpc2lvbkNsYXNzTmFtZSkge1xuICAgIHN1cGVyKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBwcmVjZWRlbmNlLCBvcGFjaXR5LCBkb21FbGVtZW50KTtcblxuICAgIHRoaXMuZGl2aXNpb25DbGFzc05hbWUgPSBkaXZpc2lvbkNsYXNzTmFtZTtcbiAgfVxuXG4gIGdldERpdmlzaW9uQ2xhc3NOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lO1xuICB9XG5cbiAgc2V0RGl2aXNpb25DbGFzc05hbWUoZGl2aXNpb25DbGFzc05hbWUpIHtcbiAgICB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lID0gZGl2aXNpb25DbGFzc05hbWU7XG4gIH1cblxuICBjbGFzc05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMuZGl2aXNpb25DbGFzc05hbWU7IC8vL1xuXG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIGlzSWdub3JlZCgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcyxcbiAgICAgICAgICBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBpZ25vcmVkID0gKGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gaWdub3JlZDtcbiAgfVxuXG4gIHBhZ2luYXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCB7IGxpbmVzUGVyUGFnZSB9ID0gY29udGV4dCxcbiAgICAgICAgICBjaGlsZE5vZGVzID0gdGhpcy5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgcGFnaW5hdGVkQ2hpbGROb2RlcyA9IFtdLFxuICAgICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IFtdLFxuICAgICAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50ID0gdGhpcy5yZW1vdmVTdWJEaXZpc2lvbk1hcmtkb3duTm9kZShQYWdlTnVtYmVyRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgY29udGV4dCk7XG5cbiAgICBsZXQgdG90YWxMaW5lcyA9IDA7XG5cbiAgICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgbGluZXMgPSBjaGlsZE5vZGUubGluZXMoY29udGV4dCksXG4gICAgICAgICAgICBwYWdpbmF0ZWRDaGlsZE5vZGUgPSBjaGlsZE5vZGU7ICAvLy9cblxuICAgICAgdG90YWxMaW5lcyArPSBsaW5lcztcblxuICAgICAgcGFnaW5hdGVkQ2hpbGROb2Rlcy5wdXNoKHBhZ2luYXRlZENoaWxkTm9kZSk7XG5cbiAgICAgIGlmICh0b3RhbExpbmVzID4gbGluZXNQZXJQYWdlKSB7XG4gICAgICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gRGl2aXNpb25NYXJrZG93bk5vZGUuZnJvbVBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50UGFnaW5hdGVkQ2hpbGROb2Rlc0FuZERpdmlzaW9uQ2xhc3NOYW1lKHBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBwYWdpbmF0ZWRDaGlsZE5vZGVzLCB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lLCBjb250ZXh0KTtcblxuICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZXMucHVzaChkaXZpc2lvbk1hcmtkb3duTm9kZSk7XG5cbiAgICAgICAgY2xlYXIocGFnaW5hdGVkQ2hpbGROb2Rlcyk7XG5cbiAgICAgICAgdG90YWxMaW5lcyA9IDA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodG90YWxMaW5lcyA+IDApIHtcbiAgICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gRGl2aXNpb25NYXJrZG93bk5vZGUuZnJvbVBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50UGFnaW5hdGVkQ2hpbGROb2Rlc0FuZERpdmlzaW9uQ2xhc3NOYW1lKHBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBwYWdpbmF0ZWRDaGlsZE5vZGVzLCB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lLCBjb250ZXh0KTtcblxuICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGVzLnB1c2goZGl2aXNpb25NYXJrZG93bk5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBkaXZpc2lvbk1hcmtkb3duTm9kZXM7XG4gIH1cblxuICBzZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcyxcbiAgICAgICAgICBwYWdlTnVtYmVyRGlyZWN0aXZlID0gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpO1xuXG4gICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmUgIT09IG51bGwpIHtcbiAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmUuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVDb250ZW50cyhkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgICBsZXQgY29udGVudHNDcmVhdGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBjb250ZW50c0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSB0aGlzLmZpbmRTdWJEaXZpc2lvblJlcGxhY2VtZW50KENvbnRlbnRzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgY29udGV4dCk7XG5cbiAgICBpZiAoY29udGVudHNEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICAgIGNvbnRlbnRzTGlzdFJlcGxhY2VtZW50ID0gQ29udGVudHNMaXN0UmVwbGFjZW1lbnQuZnJvbURpdmlzaW9uTWFya2Rvd25Ob2Rlc0FuZERpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoY29udGVudHNMaXN0UmVwbGFjZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgY29udGVudHNMaXN0UmVwbGFjZW1lbnQucmVwbGFjZUNvbnRlbnRzRGlyZWN0aXZlU3ViZGl2aXNpb25SZXBsYWNlbWVudChjb250ZW50c0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgICBjb250ZW50c0NyZWF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjb250ZW50c0NyZWF0ZWQ7XG4gIH1cblxuICBjcmVhdGVGb290bm90ZXMoZm9vdG5vdGVSZXBsYWNlbWVudHMsIGNvbnRleHQpIHtcbiAgICBpZiAoZm9vdG5vdGVSZXBsYWNlbWVudHMgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgICAgZm9vdG5vdGVzTGlzdFJlcGxhY2VtZW50ID0gRm9vdG5vdGVzTGlzdFJlcGxhY2VtZW50LmZyb21Gb290bm90ZVJlcGxhY2VtZW50c0FuZERpdmlzaW9uTWFya2Rvd25Ob2RlKGZvb3Rub3RlUmVwbGFjZW1lbnRzLCBkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGlmIChmb290bm90ZXNMaXN0UmVwbGFjZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgcmVudW1iZXJMaW5rTWFya2Rvd25Ob2RlcyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgY2FsbGJhY2ssIGNvbnRleHQpO1xuXG4gICAgICAgIGZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudC5hcHBlbmRUb0RpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjYWxsYmFjaygpIHtcbiAgICAgIC8vL1xuICAgIH1cbiAgfVxuXG4gIHByZXBhcmVGb290bm90ZXMoY29udGV4dCkge1xuICAgIGNvbnN0IGZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudHMgPSB0aGlzLnJlbW92ZVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyhGb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGNvbnRleHQpO1xuXG4gICAgbGV0IGZvb3Rub3RlUmVwbGFjZW1lbnRzID0gZm9vdG5vdGVSZXBsYWNlbWVudHNGcm9tRm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50cyhmb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzKTtcblxuICAgIGNvbnN0IGZvb3Rub3Rlc0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSB0aGlzLnJlbW92ZVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKEZvb3Rub3Rlc0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGNvbnRleHQpO1xuXG4gICAgaWYgKGZvb3Rub3Rlc0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPT09IG51bGwpIHtcbiAgICAgIGZvb3Rub3RlUmVwbGFjZW1lbnRzID0gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9vdG5vdGVSZXBsYWNlbWVudHM7XG4gIH1cblxuICByZXNvbHZlRW1iZWRkaW5ncyhjb250ZXh0KSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMgPSBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlKTtcblxuICAgIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcy5tYXAoKGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICBjb25zdCBpbXBvcnRlZFJlcGxhY2VtZW50ID0gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGUuaW1wb3J0KGNvbnRleHQpO1xuXG4gICAgICBpZiAoaW1wb3J0ZWRSZXBsYWNlbWVudCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBjaGlsZE5vZGUgPSBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBwYXJlbnROb2RlID0gdGhpcy5maW5kUGFyZW50Tm9kZShjaGlsZE5vZGUpO1xuXG4gICAgICAgIGltcG9ydGVkUmVwbGFjZW1lbnQucmVwbGFjZUVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlKGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlLCBwYXJlbnROb2RlLCBjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGZpbmRTdWJEaXZpc2lvblJlcGxhY2VtZW50KFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGNvbnRleHQpIHtcbiAgICBsZXQgc3ViRGl2aXNpb25SZXBsYWNlbWVudCA9IG51bGw7XG5cbiAgICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcblxuICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5zb21lKChzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgc3ViRGl2aXNpb25SZXBsYWNlbWVudCA9IFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQuZnJvbVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25SZXBsYWNlbWVudDtcbiAgfVxuXG4gIGZpbmRTdWJEaXZpc2lvblJlcGxhY2VtZW50cyhTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3Qgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzID0gdGhpcy5maW5kU3ViRGl2aXNpb25NYXJrZG93bk5vZGVzKCksXG4gICAgICAgICAgc3ViRGl2aXNpb25SZXBsYWNlbWVudHMgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMucmVkdWNlKChzdWJEaXZpc2lvblJlcGxhY2VtZW50cywgc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSBTdWJEaXZpc2lvblJlcGxhY2VtZW50LmZyb21TdWJEaXZpc2lvbk1hcmtkb3duTm9kZShzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChzdWJEaXZpc2lvblJlcGxhY2VtZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzLnB1c2goc3ViRGl2aXNpb25SZXBsYWNlbWVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBzdWJEaXZpc2lvblJlcGxhY2VtZW50cztcbiAgICAgICAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25SZXBsYWNlbWVudHM7XG4gIH1cblxuICBmaW5kU3ViRGl2aXNpb25NYXJrZG93bk5vZGVzKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzID0gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSk7XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzO1xuICB9XG5cbiAgcmVtb3ZlU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgY29udGV4dCkge1xuICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSB0aGlzLmZpbmRTdWJEaXZpc2lvblJlcGxhY2VtZW50KFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGNvbnRleHQpO1xuXG4gICAgaWYgKHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQucmVtb3ZlRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25SZXBsYWNlbWVudDtcbiAgfVxuXG4gIHJlbW92ZVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyhTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgc3ViRGl2aXNpb25SZXBsYWNlbWVudHMgPSB0aGlzLmZpbmRTdWJEaXZpc2lvblJlcGxhY2VtZW50cyhTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBjb250ZXh0KTtcblxuICAgIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzLmZvckVhY2goKHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQpID0+IHtcbiAgICAgIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQucmVtb3ZlRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzdWJEaXZpc2lvblJlcGxhY2VtZW50cztcbiAgfVxuXG4gIGNyZWF0ZUZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudChjb250ZXh0KSB7XG4gICAgY29uc3QgZm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50cyA9IHRoaXMuZmluZFN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzKEZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgY29udGV4dCksXG4gICAgICAgICAgZm9vdG5vdGVSZXBsYWNlbWVudHMgPSBmb290bm90ZVJlcGxhY2VtZW50c0Zyb21Gb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzKGZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudHMpLFxuICAgICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudCA9IEZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudC5mcm9tRm9vdG5vdGVSZXBsYWNlbWVudHNBbmREaXZpc2lvbk1hcmtkb3duTm9kZShmb290bm90ZVJlcGxhY2VtZW50cywgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudDtcbiAgfVxuXG4gIGFzSFRNTChjb250ZXh0KSB7XG4gICAgbGV0IGh0bWwgPSBudWxsO1xuXG4gICAgY29uc3QgaW5kZW50ID0gRU1QVFlfU1RSSU5HLFxuICAgICAgICAgIGNoaWxkTm9kZXNIVE1MID0gdGhpcy5jaGlsZE5vZGVzQXNIVE1MKGluZGVudCwgY29udGV4dCk7XG5cbiAgICBpZiAoY2hpbGROb2Rlc0hUTUwgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXJ0aW5nVGFnID0gdGhpcy5zdGFydGluZ1RhZyhjb250ZXh0KSxcbiAgICAgICAgICAgIGNsb3NpbmdUYWcgPSB0aGlzLmNsb3NpbmdUYWcoY29udGV4dCk7XG5cbiAgICAgIGh0bWwgPSBgJHtpbmRlbnR9JHtzdGFydGluZ1RhZ31cbiR7Y2hpbGROb2Rlc0hUTUx9JHtpbmRlbnR9JHtjbG9zaW5nVGFnfVxuYDtcbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbDtcbiAgfVxuXG4gIGNsb25lKCkgeyByZXR1cm4gc3VwZXIuY2xvbmUodGhpcy5kaXZpc2lvbkNsYXNzTmFtZSk7IH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpIHtcbiAgICBjb25zdCBkaXZpc2lvbkNsYXNzTmFtZSA9IG51bGwsXG4gICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBNYXJrZG93bk5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoRGl2aXNpb25NYXJrZG93bk5vZGUsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBkaXZpc2lvbkNsYXNzTmFtZSk7XG5cbiAgICByZXR1cm4gZGl2aXNpb25NYXJrZG93bk5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50UGFnaW5hdGVkQ2hpbGROb2Rlc0FuZERpdmlzaW9uQ2xhc3NOYW1lKHBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBwYWdpbmF0ZWRDaGlsZE5vZGVzLCBkaXZpc2lvbkNsYXNzTmFtZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gRElWSVNJT05fUlVMRV9OQU1FLFxuICAgICAgICAgIGNoaWxkTm9kZXMgPSBbXG4gICAgICAgICAgICAuLi5wYWdpbmF0ZWRDaGlsZE5vZGVzXG4gICAgICAgICAgXSxcbiAgICAgICAgICBvcGFjaXR5ID0gbnVsbCxcbiAgICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IE1hcmtkb3duTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eShEaXZpc2lvbk1hcmtkb3duTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIGRpdmlzaW9uQ2xhc3NOYW1lKTtcblxuICAgIGlmIChwYWdlTnVtYmVyRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCAhPT0gbnVsbCkge1xuICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSBwYWdlTnVtYmVyRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudC5jbG9uZSgpOyAgLy8vXG5cbiAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50LmFwcGVuZFRvRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBkaXZpc2lvbk1hcmtkb3duTm9kZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmb290bm90ZVJlcGxhY2VtZW50c0Zyb21Gb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzKGZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudHMpIHtcbiAgY29uc3QgZm9vdG5vdGVSZXBsYWNlbWVudHMgPSBmb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzLm1hcCgoZm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50KSA9PiB7XG4gICAgY29uc3QgZm9vdG5vdGVSZXBsYWNlbWVudCA9IEZvb3Rub3RlUmVwbGFjZW1lbnQuZnJvbUZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudChmb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQpO1xuXG4gICAgcmV0dXJuIGZvb3Rub3RlUmVwbGFjZW1lbnQ7XG4gIH0pO1xuXG4gIHJldHVybiBmb290bm90ZVJlcGxhY2VtZW50cztcbn1cbiJdLCJuYW1lcyI6WyJEaXZpc2lvbk1hcmtkb3duTm9kZSIsImNsZWFyIiwiYXJyYXlVdGlsaXRpZXMiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJwcmVjZWRlbmNlIiwib3BhY2l0eSIsImRvbUVsZW1lbnQiLCJkaXZpc2lvbkNsYXNzTmFtZSIsImdldERpdmlzaW9uQ2xhc3NOYW1lIiwic2V0RGl2aXNpb25DbGFzc05hbWUiLCJjbGFzc05hbWUiLCJjb250ZXh0IiwiaXNJZ25vcmVkIiwibm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaWdub3JlZCIsInBhZ2luYXRlIiwibGluZXNQZXJQYWdlIiwiZ2V0Q2hpbGROb2RlcyIsInBhZ2luYXRlZENoaWxkTm9kZXMiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJwYWdlTnVtYmVyRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsInJlbW92ZVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiUGFnZU51bWJlckRpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQiLCJ0b3RhbExpbmVzIiwiZm9yRWFjaCIsImNoaWxkTm9kZSIsImxpbmVzIiwicGFnaW5hdGVkQ2hpbGROb2RlIiwicHVzaCIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiZnJvbVBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50UGFnaW5hdGVkQ2hpbGROb2Rlc0FuZERpdmlzaW9uQ2xhc3NOYW1lIiwic2V0UGFnZU51bWJlciIsInBhZ2VOdW1iZXIiLCJwYWdlTnVtYmVyRGlyZWN0aXZlIiwicGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiY3JlYXRlQ29udGVudHMiLCJjb250ZW50c0NyZWF0ZWQiLCJjb250ZW50c0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQiLCJmaW5kU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsIkNvbnRlbnRzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsImNvbnRlbnRzTGlzdFJlcGxhY2VtZW50IiwiQ29udGVudHNMaXN0UmVwbGFjZW1lbnQiLCJmcm9tRGl2aXNpb25NYXJrZG93bk5vZGVzQW5kRGl2aXNpb25NYXJrZG93bk5vZGUiLCJyZXBsYWNlQ29udGVudHNEaXJlY3RpdmVTdWJkaXZpc2lvblJlcGxhY2VtZW50IiwiY3JlYXRlRm9vdG5vdGVzIiwiZm9vdG5vdGVSZXBsYWNlbWVudHMiLCJmb290bm90ZXNMaXN0UmVwbGFjZW1lbnQiLCJGb290bm90ZXNMaXN0UmVwbGFjZW1lbnQiLCJmcm9tRm9vdG5vdGVSZXBsYWNlbWVudHNBbmREaXZpc2lvbk1hcmtkb3duTm9kZSIsInJlbnVtYmVyTGlua01hcmtkb3duTm9kZXMiLCJjYWxsYmFjayIsImFwcGVuZFRvRGl2aXNpb25NYXJrZG93bk5vZGUiLCJwcmVwYXJlRm9vdG5vdGVzIiwiZm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50cyIsInJlbW92ZVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyIsIkZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsImZvb3Rub3RlUmVwbGFjZW1lbnRzRnJvbUZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudHMiLCJmb290bm90ZXNEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50IiwiRm9vdG5vdGVzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsInJlc29sdmVFbWJlZGRpbmdzIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJtYXAiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImltcG9ydGVkUmVwbGFjZW1lbnQiLCJpbXBvcnQiLCJwYXJlbnROb2RlIiwiZmluZFBhcmVudE5vZGUiLCJyZXBsYWNlRW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJTdWJEaXZpc2lvblJlcGxhY2VtZW50Iiwic3ViRGl2aXNpb25SZXBsYWNlbWVudCIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyIsImZpbmRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJzb21lIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJmcm9tU3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJmaW5kU3ViRGl2aXNpb25SZXBsYWNlbWVudHMiLCJzdWJEaXZpc2lvblJlcGxhY2VtZW50cyIsInJlZHVjZSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwicmVtb3ZlRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlIiwiY3JlYXRlRm9vdG5vdGVzTGlzdFJlcGxhY2VtZW50IiwiYXNIVE1MIiwiaHRtbCIsImluZGVudCIsIkVNUFRZX1NUUklORyIsImNoaWxkTm9kZXNIVE1MIiwiY2hpbGROb2Rlc0FzSFRNTCIsInN0YXJ0aW5nVGFnIiwiY2xvc2luZ1RhZyIsImNsb25lIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkiLCJNYXJrZG93bk5vZGUiLCJESVZJU0lPTl9SVUxFX05BTUUiLCJmb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQiLCJmb290bm90ZVJlcGxhY2VtZW50IiwiRm9vdG5vdGVSZXBsYWNlbWVudCIsImZyb21Gb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -9,6 +9,9 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
+ default: function() {
13
+ return _default;
14
+ },
12
15
  leadingIndexFromNodeAndTokens: function() {
13
16
  return leadingIndexFromNodeAndTokens;
14
17
  },
@@ -42,6 +45,10 @@ function trailingIndexFromNodeAndTokens(node, tokens) {
42
45
  }
43
46
  return trailingIndex;
44
47
  }
48
+ var _default = {
49
+ leadingIndexFromNodeAndTokens: leadingIndexFromNodeAndTokens,
50
+ trailingIndexFromNodeAndTokens: trailingIndexFromNodeAndTokens
51
+ };
45
52
  function leadingIndexFromTerminalNodeAndTokens(terminalNode, tokens) {
46
53
  var leadingIndex;
47
54
  var significantToken = terminalNode.getSignificantToken();
@@ -89,4 +96,4 @@ function trailingIndexFromNonTerminalNodeAndTokens(nonTerminalNode, tokens) {
89
96
  return trailingIndex;
90
97
  }
91
98
 
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgZm9yd2FyZHNTb21lLCBiYWNrd2FyZHNTb21lIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGxlYWRpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2Vucykge1xuICBsZXQgbGVhZGluZ0luZGV4O1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICBsZWFkaW5nSW5kZXggPSBsZWFkaW5nSW5kZXhGcm9tVGVybWluYWxOb2RlQW5kVG9rZW5zKHRlcm1pbmFsTm9kZSwgdG9rZW5zKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICBsZWFkaW5nSW5kZXggPSBsZWFkaW5nSW5kZXhGcm9tTm9uVGVybWluYWxOb2RlQW5kVG9rZW5zKG5vblRlcm1pbmFsTm9kZSwgdG9rZW5zKTtcbiAgfVxuXG4gIHJldHVybiBsZWFkaW5nSW5kZXg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFpbGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSB7XG4gIGxldCB0cmFpbGluZ0luZGV4O1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICB0cmFpbGluZ0luZGV4ID0gdHJhaWxpbmdJbmRleEZyb21UZXJtaW5hbE5vZGVBbmRUb2tlbnModGVybWluYWxOb2RlLCB0b2tlbnMpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgIHRyYWlsaW5nSW5kZXggPSB0cmFpbGluZ0luZGV4RnJvbU5vblRlcm1pbmFsTm9kZUFuZFRva2Vucyhub25UZXJtaW5hbE5vZGUsIHRva2Vucyk7XG4gIH1cblxuICByZXR1cm4gdHJhaWxpbmdJbmRleDtcbn1cblxuZnVuY3Rpb24gbGVhZGluZ0luZGV4RnJvbVRlcm1pbmFsTm9kZUFuZFRva2Vucyh0ZXJtaW5hbE5vZGUsIHRva2Vucykge1xuICBsZXQgbGVhZGluZ0luZGV4O1xuXG4gIGNvbnN0IHNpZ25pZmljYW50VG9rZW4gPSB0ZXJtaW5hbE5vZGUuZ2V0U2lnbmlmaWNhbnRUb2tlbigpO1xuXG4gIGlmIChzaWduaWZpY2FudFRva2VuID09PSBudWxsKSB7XG4gICAgbGVhZGluZ0luZGV4ID0gLTE7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgc2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gdG9rZW5zLmluZGV4T2Yoc2lnbmlmaWNhbnRUb2tlbik7XG5cbiAgICBsZWFkaW5nSW5kZXggPSBzaWduaWZpY2FudFRva2VuSW5kZXg7IC8vL1xuICB9XG5cbiAgcmV0dXJuIGxlYWRpbmdJbmRleDtcbn1cblxuZnVuY3Rpb24gdHJhaWxpbmdJbmRleEZyb21UZXJtaW5hbE5vZGVBbmRUb2tlbnModGVybWluYWxOb2RlLCB0b2tlbnMpIHtcbiAgbGV0IHRyYWlsaW5nSW5kZXg7XG5cbiAgY29uc3Qgc2lnbmlmaWNhbnRUb2tlbiA9IHRlcm1pbmFsTm9kZS5nZXRTaWduaWZpY2FudFRva2VuKCk7XG5cbiAgaWYgKHNpZ25pZmljYW50VG9rZW4gPT09IG51bGwpIHtcbiAgICB0cmFpbGluZ0luZGV4ID0gLTE7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgc2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gdG9rZW5zLmluZGV4T2Yoc2lnbmlmaWNhbnRUb2tlbik7XG5cbiAgICB0cmFpbGluZ0luZGV4ID0gc2lnbmlmaWNhbnRUb2tlbkluZGV4OyAvLy9cbiAgfVxuXG4gIHJldHVybiB0cmFpbGluZ0luZGV4O1xufVxuXG5mdW5jdGlvbiBsZWFkaW5nSW5kZXhGcm9tTm9uVGVybWluYWxOb2RlQW5kVG9rZW5zKG5vblRlcm1pbmFsTm9kZSwgdG9rZW5zKSB7XG4gIGxldCBsZWFkaW5nSW5kZXg7XG5cbiAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCk7XG5cbiAgZm9yd2FyZHNTb21lKGNoaWxkTm9kZXMsIChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBub2RlID0gY2hpbGROb2RlO1xuXG4gICAgbGVhZGluZ0luZGV4ID0gbGVhZGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKTtcblxuICAgIGlmIChsZWFkaW5nSW5kZXggIT09IC0xKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBsZWFkaW5nSW5kZXg7XG59XG5cbmZ1bmN0aW9uIHRyYWlsaW5nSW5kZXhGcm9tTm9uVGVybWluYWxOb2RlQW5kVG9rZW5zKG5vblRlcm1pbmFsTm9kZSwgdG9rZW5zKSB7XG4gIGxldCB0cmFpbGluZ0luZGV4O1xuXG4gIGNvbnN0IGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpO1xuXG4gIGJhY2t3YXJkc1NvbWUoY2hpbGROb2RlcywgKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IG5vZGUgPSBjaGlsZE5vZGU7XG5cbiAgICB0cmFpbGluZ0luZGV4ID0gdHJhaWxpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2Vucyk7XG5cbiAgICBpZiAodHJhaWxpbmdJbmRleCAhPT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHRyYWlsaW5nSW5kZXg7XG59XG5cbiJdLCJuYW1lcyI6WyJsZWFkaW5nSW5kZXhGcm9tTm9kZUFuZFRva2VucyIsInRyYWlsaW5nSW5kZXhGcm9tTm9kZUFuZFRva2VucyIsImZvcndhcmRzU29tZSIsImFycmF5VXRpbGl0aWVzIiwiYmFja3dhcmRzU29tZSIsIm5vZGUiLCJ0b2tlbnMiLCJsZWFkaW5nSW5kZXgiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJsZWFkaW5nSW5kZXhGcm9tVGVybWluYWxOb2RlQW5kVG9rZW5zIiwibm9uVGVybWluYWxOb2RlIiwibGVhZGluZ0luZGV4RnJvbU5vblRlcm1pbmFsTm9kZUFuZFRva2VucyIsInRyYWlsaW5nSW5kZXgiLCJ0cmFpbGluZ0luZGV4RnJvbVRlcm1pbmFsTm9kZUFuZFRva2VucyIsInRyYWlsaW5nSW5kZXhGcm9tTm9uVGVybWluYWxOb2RlQW5kVG9rZW5zIiwic2lnbmlmaWNhbnRUb2tlbiIsImdldFNpZ25pZmljYW50VG9rZW4iLCJzaWduaWZpY2FudFRva2VuSW5kZXgiLCJpbmRleE9mIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJjaGlsZE5vZGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQU1nQkEsNkJBQTZCO2VBQTdCQTs7SUFrQkFDLDhCQUE4QjtlQUE5QkE7Ozt5QkF0QmU7QUFFL0IsSUFBUUMsZUFBZ0NDLHlCQUFjLENBQTlDRCxjQUFjRSxnQkFBa0JELHlCQUFjLENBQWhDQztBQUVmLFNBQVNKLDhCQUE4QkssSUFBSSxFQUFFQyxNQUFNO0lBQ3hELElBQUlDO0lBRUosSUFBTUMsbUJBQW1CSCxLQUFLSSxjQUFjO0lBRTVDLElBQUlELGtCQUFrQjtRQUNwQixJQUFNRSxlQUFlTCxNQUFPLEdBQUc7UUFFL0JFLGVBQWVJLHNDQUFzQ0QsY0FBY0o7SUFDckUsT0FBTztRQUNMLElBQU1NLGtCQUFrQlAsTUFBTyxHQUFHO1FBRWxDRSxlQUFlTSx5Q0FBeUNELGlCQUFpQk47SUFDM0U7SUFFQSxPQUFPQztBQUNUO0FBRU8sU0FBU04sK0JBQStCSSxJQUFJLEVBQUVDLE1BQU07SUFDekQsSUFBSVE7SUFFSixJQUFNTixtQkFBbUJILEtBQUtJLGNBQWM7SUFFNUMsSUFBSUQsa0JBQWtCO1FBQ3BCLElBQU1FLGVBQWVMLE1BQU8sR0FBRztRQUUvQlMsZ0JBQWdCQyx1Q0FBdUNMLGNBQWNKO0lBQ3ZFLE9BQU87UUFDTCxJQUFNTSxrQkFBa0JQLE1BQU8sR0FBRztRQUVsQ1MsZ0JBQWdCRSwwQ0FBMENKLGlCQUFpQk47SUFDN0U7SUFFQSxPQUFPUTtBQUNUO0FBRUEsU0FBU0gsc0NBQXNDRCxZQUFZLEVBQUVKLE1BQU07SUFDakUsSUFBSUM7SUFFSixJQUFNVSxtQkFBbUJQLGFBQWFRLG1CQUFtQjtJQUV6RCxJQUFJRCxxQkFBcUIsTUFBTTtRQUM3QlYsZUFBZSxDQUFDO0lBQ2xCLE9BQU87UUFDTCxJQUFNWSx3QkFBd0JiLE9BQU9jLE9BQU8sQ0FBQ0g7UUFFN0NWLGVBQWVZLHVCQUF1QixHQUFHO0lBQzNDO0lBRUEsT0FBT1o7QUFDVDtBQUVBLFNBQVNRLHVDQUF1Q0wsWUFBWSxFQUFFSixNQUFNO0lBQ2xFLElBQUlRO0lBRUosSUFBTUcsbUJBQW1CUCxhQUFhUSxtQkFBbUI7SUFFekQsSUFBSUQscUJBQXFCLE1BQU07UUFDN0JILGdCQUFnQixDQUFDO0lBQ25CLE9BQU87UUFDTCxJQUFNSyx3QkFBd0JiLE9BQU9jLE9BQU8sQ0FBQ0g7UUFFN0NILGdCQUFnQkssdUJBQXVCLEdBQUc7SUFDNUM7SUFFQSxPQUFPTDtBQUNUO0FBRUEsU0FBU0QseUNBQXlDRCxlQUFlLEVBQUVOLE1BQU07SUFDdkUsSUFBSUM7SUFFSixJQUFNYyxhQUFhVCxnQkFBZ0JVLGFBQWE7SUFFaERwQixhQUFhbUIsWUFBWSxTQUFDRTtRQUN4QixJQUFNbEIsT0FBT2tCO1FBRWJoQixlQUFlUCw4QkFBOEJLLE1BQU1DO1FBRW5ELElBQUlDLGlCQUFpQixDQUFDLEdBQUc7WUFDdkIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUO0FBRUEsU0FBU1MsMENBQTBDSixlQUFlLEVBQUVOLE1BQU07SUFDeEUsSUFBSVE7SUFFSixJQUFNTyxhQUFhVCxnQkFBZ0JVLGFBQWE7SUFFaERsQixjQUFjaUIsWUFBWSxTQUFDRTtRQUN6QixJQUFNbEIsT0FBT2tCO1FBRWJULGdCQUFnQmIsK0JBQStCSSxNQUFNQztRQUVyRCxJQUFJUSxrQkFBa0IsQ0FBQyxHQUFHO1lBQ3hCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0E7QUFDVCJ9
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgZm9yd2FyZHNTb21lLCBiYWNrd2FyZHNTb21lIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGxlYWRpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2Vucykge1xuICBsZXQgbGVhZGluZ0luZGV4O1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICBsZWFkaW5nSW5kZXggPSBsZWFkaW5nSW5kZXhGcm9tVGVybWluYWxOb2RlQW5kVG9rZW5zKHRlcm1pbmFsTm9kZSwgdG9rZW5zKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICBsZWFkaW5nSW5kZXggPSBsZWFkaW5nSW5kZXhGcm9tTm9uVGVybWluYWxOb2RlQW5kVG9rZW5zKG5vblRlcm1pbmFsTm9kZSwgdG9rZW5zKTtcbiAgfVxuXG4gIHJldHVybiBsZWFkaW5nSW5kZXg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFpbGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSB7XG4gIGxldCB0cmFpbGluZ0luZGV4O1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICB0cmFpbGluZ0luZGV4ID0gdHJhaWxpbmdJbmRleEZyb21UZXJtaW5hbE5vZGVBbmRUb2tlbnModGVybWluYWxOb2RlLCB0b2tlbnMpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgIHRyYWlsaW5nSW5kZXggPSB0cmFpbGluZ0luZGV4RnJvbU5vblRlcm1pbmFsTm9kZUFuZFRva2Vucyhub25UZXJtaW5hbE5vZGUsIHRva2Vucyk7XG4gIH1cblxuICByZXR1cm4gdHJhaWxpbmdJbmRleDtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBsZWFkaW5nSW5kZXhGcm9tTm9kZUFuZFRva2VucyxcbiAgdHJhaWxpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zXG59O1xuXG5mdW5jdGlvbiBsZWFkaW5nSW5kZXhGcm9tVGVybWluYWxOb2RlQW5kVG9rZW5zKHRlcm1pbmFsTm9kZSwgdG9rZW5zKSB7XG4gIGxldCBsZWFkaW5nSW5kZXg7XG5cbiAgY29uc3Qgc2lnbmlmaWNhbnRUb2tlbiA9IHRlcm1pbmFsTm9kZS5nZXRTaWduaWZpY2FudFRva2VuKCk7XG5cbiAgaWYgKHNpZ25pZmljYW50VG9rZW4gPT09IG51bGwpIHtcbiAgICBsZWFkaW5nSW5kZXggPSAtMTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBzaWduaWZpY2FudFRva2VuSW5kZXggPSB0b2tlbnMuaW5kZXhPZihzaWduaWZpY2FudFRva2VuKTtcblxuICAgIGxlYWRpbmdJbmRleCA9IHNpZ25pZmljYW50VG9rZW5JbmRleDsgLy8vXG4gIH1cblxuICByZXR1cm4gbGVhZGluZ0luZGV4O1xufVxuXG5mdW5jdGlvbiB0cmFpbGluZ0luZGV4RnJvbVRlcm1pbmFsTm9kZUFuZFRva2Vucyh0ZXJtaW5hbE5vZGUsIHRva2Vucykge1xuICBsZXQgdHJhaWxpbmdJbmRleDtcblxuICBjb25zdCBzaWduaWZpY2FudFRva2VuID0gdGVybWluYWxOb2RlLmdldFNpZ25pZmljYW50VG9rZW4oKTtcblxuICBpZiAoc2lnbmlmaWNhbnRUb2tlbiA9PT0gbnVsbCkge1xuICAgIHRyYWlsaW5nSW5kZXggPSAtMTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBzaWduaWZpY2FudFRva2VuSW5kZXggPSB0b2tlbnMuaW5kZXhPZihzaWduaWZpY2FudFRva2VuKTtcblxuICAgIHRyYWlsaW5nSW5kZXggPSBzaWduaWZpY2FudFRva2VuSW5kZXg7IC8vL1xuICB9XG5cbiAgcmV0dXJuIHRyYWlsaW5nSW5kZXg7XG59XG5cbmZ1bmN0aW9uIGxlYWRpbmdJbmRleEZyb21Ob25UZXJtaW5hbE5vZGVBbmRUb2tlbnMobm9uVGVybWluYWxOb2RlLCB0b2tlbnMpIHtcbiAgbGV0IGxlYWRpbmdJbmRleDtcblxuICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKTtcblxuICBmb3J3YXJkc1NvbWUoY2hpbGROb2RlcywgKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IG5vZGUgPSBjaGlsZE5vZGU7XG5cbiAgICBsZWFkaW5nSW5kZXggPSBsZWFkaW5nSW5kZXhGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpO1xuXG4gICAgaWYgKGxlYWRpbmdJbmRleCAhPT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGxlYWRpbmdJbmRleDtcbn1cblxuZnVuY3Rpb24gdHJhaWxpbmdJbmRleEZyb21Ob25UZXJtaW5hbE5vZGVBbmRUb2tlbnMobm9uVGVybWluYWxOb2RlLCB0b2tlbnMpIHtcbiAgbGV0IHRyYWlsaW5nSW5kZXg7XG5cbiAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCk7XG5cbiAgYmFja3dhcmRzU29tZShjaGlsZE5vZGVzLCAoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3Qgbm9kZSA9IGNoaWxkTm9kZTtcblxuICAgIHRyYWlsaW5nSW5kZXggPSB0cmFpbGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKTtcblxuICAgIGlmICh0cmFpbGluZ0luZGV4ICE9PSAtMSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdHJhaWxpbmdJbmRleDtcbn1cbiJdLCJuYW1lcyI6WyJsZWFkaW5nSW5kZXhGcm9tTm9kZUFuZFRva2VucyIsInRyYWlsaW5nSW5kZXhGcm9tTm9kZUFuZFRva2VucyIsImZvcndhcmRzU29tZSIsImFycmF5VXRpbGl0aWVzIiwiYmFja3dhcmRzU29tZSIsIm5vZGUiLCJ0b2tlbnMiLCJsZWFkaW5nSW5kZXgiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJsZWFkaW5nSW5kZXhGcm9tVGVybWluYWxOb2RlQW5kVG9rZW5zIiwibm9uVGVybWluYWxOb2RlIiwibGVhZGluZ0luZGV4RnJvbU5vblRlcm1pbmFsTm9kZUFuZFRva2VucyIsInRyYWlsaW5nSW5kZXgiLCJ0cmFpbGluZ0luZGV4RnJvbVRlcm1pbmFsTm9kZUFuZFRva2VucyIsInRyYWlsaW5nSW5kZXhGcm9tTm9uVGVybWluYWxOb2RlQW5kVG9rZW5zIiwic2lnbmlmaWNhbnRUb2tlbiIsImdldFNpZ25pZmljYW50VG9rZW4iLCJzaWduaWZpY2FudFRva2VuSW5kZXgiLCJpbmRleE9mIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJjaGlsZE5vZGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUEwQ0EsT0FHRTtlQUhGOztJQXBDZ0JBLDZCQUE2QjtlQUE3QkE7O0lBa0JBQyw4QkFBOEI7ZUFBOUJBOzs7eUJBdEJlO0FBRS9CLElBQVFDLGVBQWdDQyx5QkFBYyxDQUE5Q0QsY0FBY0UsZ0JBQWtCRCx5QkFBYyxDQUFoQ0M7QUFFZixTQUFTSiw4QkFBOEJLLElBQUksRUFBRUMsTUFBTTtJQUN4RCxJQUFJQztJQUVKLElBQU1DLG1CQUFtQkgsS0FBS0ksY0FBYztJQUU1QyxJQUFJRCxrQkFBa0I7UUFDcEIsSUFBTUUsZUFBZUwsTUFBTyxHQUFHO1FBRS9CRSxlQUFlSSxzQ0FBc0NELGNBQWNKO0lBQ3JFLE9BQU87UUFDTCxJQUFNTSxrQkFBa0JQLE1BQU8sR0FBRztRQUVsQ0UsZUFBZU0seUNBQXlDRCxpQkFBaUJOO0lBQzNFO0lBRUEsT0FBT0M7QUFDVDtBQUVPLFNBQVNOLCtCQUErQkksSUFBSSxFQUFFQyxNQUFNO0lBQ3pELElBQUlRO0lBRUosSUFBTU4sbUJBQW1CSCxLQUFLSSxjQUFjO0lBRTVDLElBQUlELGtCQUFrQjtRQUNwQixJQUFNRSxlQUFlTCxNQUFPLEdBQUc7UUFFL0JTLGdCQUFnQkMsdUNBQXVDTCxjQUFjSjtJQUN2RSxPQUFPO1FBQ0wsSUFBTU0sa0JBQWtCUCxNQUFPLEdBQUc7UUFFbENTLGdCQUFnQkUsMENBQTBDSixpQkFBaUJOO0lBQzdFO0lBRUEsT0FBT1E7QUFDVDtJQUVBLFdBQWU7SUFDYmQsK0JBQUFBO0lBQ0FDLGdDQUFBQTtBQUNGO0FBRUEsU0FBU1Usc0NBQXNDRCxZQUFZLEVBQUVKLE1BQU07SUFDakUsSUFBSUM7SUFFSixJQUFNVSxtQkFBbUJQLGFBQWFRLG1CQUFtQjtJQUV6RCxJQUFJRCxxQkFBcUIsTUFBTTtRQUM3QlYsZUFBZSxDQUFDO0lBQ2xCLE9BQU87UUFDTCxJQUFNWSx3QkFBd0JiLE9BQU9jLE9BQU8sQ0FBQ0g7UUFFN0NWLGVBQWVZLHVCQUF1QixHQUFHO0lBQzNDO0lBRUEsT0FBT1o7QUFDVDtBQUVBLFNBQVNRLHVDQUF1Q0wsWUFBWSxFQUFFSixNQUFNO0lBQ2xFLElBQUlRO0lBRUosSUFBTUcsbUJBQW1CUCxhQUFhUSxtQkFBbUI7SUFFekQsSUFBSUQscUJBQXFCLE1BQU07UUFDN0JILGdCQUFnQixDQUFDO0lBQ25CLE9BQU87UUFDTCxJQUFNSyx3QkFBd0JiLE9BQU9jLE9BQU8sQ0FBQ0g7UUFFN0NILGdCQUFnQkssdUJBQXVCLEdBQUc7SUFDNUM7SUFFQSxPQUFPTDtBQUNUO0FBRUEsU0FBU0QseUNBQXlDRCxlQUFlLEVBQUVOLE1BQU07SUFDdkUsSUFBSUM7SUFFSixJQUFNYyxhQUFhVCxnQkFBZ0JVLGFBQWE7SUFFaERwQixhQUFhbUIsWUFBWSxTQUFDRTtRQUN4QixJQUFNbEIsT0FBT2tCO1FBRWJoQixlQUFlUCw4QkFBOEJLLE1BQU1DO1FBRW5ELElBQUlDLGlCQUFpQixDQUFDLEdBQUc7WUFDdkIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUO0FBRUEsU0FBU1MsMENBQTBDSixlQUFlLEVBQUVOLE1BQU07SUFDeEUsSUFBSVE7SUFFSixJQUFNTyxhQUFhVCxnQkFBZ0JVLGFBQWE7SUFFaERsQixjQUFjaUIsWUFBWSxTQUFDRTtRQUN6QixJQUFNbEIsT0FBT2tCO1FBRWJULGdCQUFnQmIsK0JBQStCSSxNQUFNQztRQUVyRCxJQUFJUSxrQkFBa0IsQ0FBQyxHQUFHO1lBQ3hCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0E7QUFDVCJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "highmark-markdown",
3
3
  "author": "James Smith",
4
- "version": "0.0.393",
4
+ "version": "0.0.396",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/highmark-markdown",
7
7
  "description": "Highmark's Markdown and Markdown Style languages.",
package/src/index.js CHANGED
@@ -6,6 +6,7 @@ export { default as MarkdownStyleLexer } from "./markdownStyle/lexer";
6
6
  export { default as MarkdownStyleParser } from "./markdownStyle/parser";
7
7
 
8
8
  export { default as cssUtilities } from "./utilities/css";
9
+ export { default as nodeUtilities } from "./utilities/node";
9
10
  export { default as queryUtilities } from "./utilities/query";
10
11
  export { default as markdownUtilities } from "./utilities/markdown";
11
12
  export { default as footnotesUtilities } from "./utilities/footnotes";
@@ -222,21 +222,13 @@ export default class DivisionMarkdownNode extends MarkdownNode {
222
222
  return subDivisionReplacements;
223
223
  }
224
224
 
225
- createFootnotesListMarkdownNode(context) {
226
- let footnotesListMarkdownNode= null;
227
-
225
+ createFootnotesListReplacement(context) {
228
226
  const footnoteSubDivisionReplacements = this.findSubDivisionReplacements(FootnoteSubDivisionReplacement, context),
229
227
  footnoteReplacements = footnoteReplacementsFromFootnoteSubDivisionReplacements(footnoteSubDivisionReplacements),
230
228
  divisionMarkdownNode = this, ///
231
229
  footnotesListReplacement = FootnotesListReplacement.fromFootnoteReplacementsAndDivisionMarkdownNode(footnoteReplacements, divisionMarkdownNode, context);
232
230
 
233
- if (footnotesListReplacement !== null) {
234
- const footnotesListReplacementNode = footnotesListReplacement.getNode();
235
-
236
- footnotesListMarkdownNode = footnotesListReplacementNode; ///
237
- }
238
-
239
- return footnotesListMarkdownNode;
231
+ return footnotesListReplacement;
240
232
  }
241
233
 
242
234
  asHTML(context) {
@@ -40,6 +40,11 @@ export function trailingIndexFromNodeAndTokens(node, tokens) {
40
40
  return trailingIndex;
41
41
  }
42
42
 
43
+ export default {
44
+ leadingIndexFromNodeAndTokens,
45
+ trailingIndexFromNodeAndTokens
46
+ };
47
+
43
48
  function leadingIndexFromTerminalNodeAndTokens(terminalNode, tokens) {
44
49
  let leadingIndex;
45
50
 
@@ -107,4 +112,3 @@ function trailingIndexFromNonTerminalNodeAndTokens(nonTerminalNode, tokens) {
107
112
 
108
113
  return trailingIndex;
109
114
  }
110
-