highmark-markdown 1.2.71 → 1.2.72
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/.aiignore +7 -9
- package/.swcrc +4 -3
- package/example.js +11655 -33035
- package/lib/attributeNames.js +7 -7
- package/lib/constants.js +19 -19
- package/lib/example/constants.js +7 -7
- package/lib/example/customEventTypes.js +9 -9
- package/lib/example/importer.js +72 -28
- package/lib/example/indexOptions.js +3 -3
- package/lib/example/view/button/page.js +34 -135
- package/lib/example/view/button/tab/css.js +14 -114
- package/lib/example/view/button/tab/html.js +14 -114
- package/lib/example/view/button/tab/markdown.js +14 -114
- package/lib/example/view/button/tab/markdownStyle.js +14 -114
- package/lib/example/view/button/tab/plainText.js +14 -114
- package/lib/example/view/button/tab/preview.js +14 -114
- package/lib/example/view/button/tab.js +36 -136
- package/lib/example/view/div/container/css.js +15 -153
- package/lib/example/view/div/container/html.js +19 -157
- package/lib/example/view/div/container/markdown.js +38 -190
- package/lib/example/view/div/container/markdownStyle.js +39 -191
- package/lib/example/view/div/container/plainText.js +15 -153
- package/lib/example/view/div/container/preview.js +25 -177
- package/lib/example/view/div/container.js +20 -156
- package/lib/example/view/div/html.js +18 -173
- package/lib/example/view/div/pageButtons.js +63 -236
- package/lib/example/view/div/preview.js +58 -268
- package/lib/example/view/div/sizeable/left.js +13 -104
- package/lib/example/view/div/tabButtons/left.js +42 -161
- package/lib/example/view/div/tabButtons/right.js +75 -198
- package/lib/example/view/div/tabButtons.js +15 -172
- package/lib/example/view/textarea/css.js +29 -147
- package/lib/example/view/textarea/markdown.js +29 -145
- package/lib/example/view/textarea/markdownStyle.js +29 -145
- package/lib/example/view/textarea/parseTree/css.js +21 -132
- package/lib/example/view/textarea/parseTree/html.js +21 -132
- package/lib/example/view/textarea/parseTree/markdown.js +17 -129
- package/lib/example/view/textarea/parseTree/markdownStyle.js +17 -129
- package/lib/example/view/textarea/parseTree.js +20 -135
- package/lib/example/view/textarea/plainText.js +32 -153
- package/lib/example/view/textarea.js +16 -23
- package/lib/example/view/xmp.js +30 -187
- package/lib/example/view.js +281 -518
- package/lib/example.js +10 -10
- package/lib/index/item.js +25 -87
- package/lib/index/list.js +29 -62
- package/lib/index/match.js +23 -62
- package/lib/index.js +34 -34
- package/lib/letters.js +3 -3
- package/lib/map/className.js +6 -6
- package/lib/map/node/css.js +50 -42
- package/lib/map/node/html.js +108 -71
- package/lib/map/nonTerminalNode/markdown.js +49 -40
- package/lib/map/nonTerminalNode/markdownStyle.js +49 -40
- package/lib/map/tagName.js +6 -6
- package/lib/markdown/bnf.js +300 -3
- package/lib/markdown/entries.js +3 -3
- package/lib/markdown/lexer.js +23 -126
- package/lib/markdown/parser.js +18 -121
- package/lib/markdownStyle/bnf.js +80 -3
- package/lib/markdownStyle/entries.js +8 -8
- package/lib/markdownStyle/lexer.js +23 -126
- package/lib/markdownStyle/parser.js +18 -121
- package/lib/mixins/node.js +53 -53
- package/lib/mixins/token.js +13 -13
- package/lib/node/css/amount.js +16 -110
- package/lib/node/css/argument.js +8 -95
- package/lib/node/css/arguments.js +13 -127
- package/lib/node/css/class.js +13 -127
- package/lib/node/css/colour.js +16 -110
- package/lib/node/css/content.js +12 -103
- package/lib/node/css/declaration.js +19 -109
- package/lib/node/css/identifier.js +16 -110
- package/lib/node/css/name.js +13 -127
- package/lib/node/css/pseudoClass.js +13 -127
- package/lib/node/css/ruleName.js +43 -137
- package/lib/node/css/ruleSet.js +45 -139
- package/lib/node/css/selector.js +8 -95
- package/lib/node/css/selectors.js +19 -110
- package/lib/node/css/selectorsList.js +22 -115
- package/lib/node/css/string.js +16 -110
- package/lib/node/css/target.js +12 -103
- package/lib/node/css/topmost.js +70 -182
- package/lib/node/css/value.js +12 -126
- package/lib/node/css/values.js +16 -107
- package/lib/node/css/verbatim.js +35 -132
- package/lib/node/css.js +66 -275
- package/lib/node/html/anchor/contents.js +8 -92
- package/lib/node/html/anchor/footnote.js +8 -92
- package/lib/node/html/anchor/index.js +8 -92
- package/lib/node/html/anchor.js +38 -157
- package/lib/node/html/container.js +24 -154
- package/lib/node/html/directive/contents.js +8 -95
- package/lib/node/html/directive/footnotes.js +8 -95
- package/lib/node/html/directive/index.js +8 -95
- package/lib/node/html/directive/pageNumber.js +8 -95
- package/lib/node/html/directive.js +23 -123
- package/lib/node/html/division.js +127 -273
- package/lib/node/html/error.js +41 -179
- package/lib/node/html/footnote.js +40 -149
- package/lib/node/html/heading/index.js +61 -183
- package/lib/node/html/heading/primary.js +12 -112
- package/lib/node/html/heading/quaternary.js +12 -112
- package/lib/node/html/heading/secondary.js +12 -112
- package/lib/node/html/heading/tertiary.js +12 -112
- package/lib/node/html/heading.js +30 -147
- package/lib/node/html/image.js +76 -207
- package/lib/node/html/item/contents.js +20 -124
- package/lib/node/html/item/footnote.js +21 -125
- package/lib/node/html/item/index.js +39 -145
- package/lib/node/html/item/ordered.js +23 -133
- package/lib/node/html/item/unordered.js +10 -110
- package/lib/node/html/line/block.js +15 -119
- package/lib/node/html/line.js +89 -242
- package/lib/node/html/link/contents.js +36 -153
- package/lib/node/html/link/email.js +89 -243
- package/lib/node/html/link/footnote.js +94 -238
- package/lib/node/html/link/hyper.js +89 -243
- package/lib/node/html/link/index.js +67 -222
- package/lib/node/html/list/contents.js +20 -124
- package/lib/node/html/list/footnotes.js +40 -160
- package/lib/node/html/list/index.js +20 -124
- package/lib/node/html/list/ordered.js +10 -110
- package/lib/node/html/list/unordered.js +10 -110
- package/lib/node/html/listing/block.js +33 -177
- package/lib/node/html/listing/inline.js +35 -174
- package/lib/node/html/pageNumber.js +65 -216
- package/lib/node/html/paragraph.js +10 -110
- package/lib/node/html/reference.js +10 -110
- package/lib/node/html/table.js +10 -110
- package/lib/node/html/tableBody.js +10 -110
- package/lib/node/html/tableBodyCell.js +10 -110
- package/lib/node/html/tableBodyRow.js +10 -110
- package/lib/node/html/tableHead.js +10 -110
- package/lib/node/html/tableHeadCell.js +10 -110
- package/lib/node/html/tableHeadRow.js +10 -110
- package/lib/node/html/text/block.js +10 -110
- package/lib/node/html/text/comma.js +21 -128
- package/lib/node/html/text/emphasised.js +14 -118
- package/lib/node/html/text/index.js +28 -143
- package/lib/node/html/text/inline.js +34 -147
- package/lib/node/html/text/plain.js +10 -110
- package/lib/node/html/text/strong.js +14 -118
- package/lib/node/html/text/stronglyEmphasised.js +66 -208
- package/lib/node/html/text.js +24 -162
- package/lib/node/html/topmost.js +100 -240
- package/lib/node/html.js +256 -554
- package/lib/node/markdown/blockEnd.js +5 -89
- package/lib/node/markdown/blockStart.js +18 -113
- package/lib/node/markdown/className.js +12 -100
- package/lib/node/markdown/container.js +18 -113
- package/lib/node/markdown/directive/embed.js +39 -137
- package/lib/node/markdown/directive/include.js +39 -137
- package/lib/node/markdown/division.js +70 -216
- package/lib/node/markdown/document.js +44 -147
- package/lib/node/markdown/error.js +12 -100
- package/lib/node/markdown/footnote.js +12 -100
- package/lib/node/markdown/hyperlink.js +34 -131
- package/lib/node/markdown/image.js +12 -100
- package/lib/node/markdown/item/ordered.js +15 -103
- package/lib/node/markdown/link/email.js +34 -131
- package/lib/node/markdown/link/footnote.js +14 -102
- package/lib/node/markdown/listng/block.js +12 -100
- package/lib/node/markdown/listng/inline.js +18 -106
- package/lib/node/markdown/path.js +12 -100
- package/lib/node/markdown/reference.js +15 -103
- package/lib/node/markdown/subDivision.js +35 -126
- package/lib/node/markdown/text/block.js +5 -89
- package/lib/node/markdown/text/plain.js +5 -89
- package/lib/node/markdown/text.js +46 -134
- package/lib/node/markdown.js +34 -169
- package/lib/node/markdownStyle/amount.js +13 -101
- package/lib/node/markdownStyle/argument.js +5 -89
- package/lib/node/markdownStyle/arguments.js +5 -89
- package/lib/node/markdownStyle/colour.js +12 -100
- package/lib/node/markdownStyle/content.js +21 -109
- package/lib/node/markdownStyle/declaration.js +5 -89
- package/lib/node/markdownStyle/document.js +5 -89
- package/lib/node/markdownStyle/error.js +5 -89
- package/lib/node/markdownStyle/identifier.js +13 -101
- package/lib/node/markdownStyle/name.js +5 -89
- package/lib/node/markdownStyle/nonsense.js +5 -89
- package/lib/node/markdownStyle/pseudoClass.js +5 -89
- package/lib/node/markdownStyle/ruleName.js +12 -100
- package/lib/node/markdownStyle/ruleSet.js +5 -89
- package/lib/node/markdownStyle/selector.js +5 -89
- package/lib/node/markdownStyle/selectors.js +5 -89
- package/lib/node/markdownStyle/selectorsList.js +5 -89
- package/lib/node/markdownStyle/string.js +12 -100
- package/lib/node/markdownStyle/target.js +12 -100
- package/lib/node/markdownStyle/value.js +5 -89
- package/lib/node/markdownStyle/values.js +5 -89
- package/lib/node/markdownStyle/verbatim.js +5 -89
- package/lib/node/markdownStyle.js +16 -135
- package/lib/prepends.js +4 -4
- package/lib/queries/markdown.js +7 -7
- package/lib/queries/markdownStyle.js +7 -7
- package/lib/ruleNames/markdown.js +145 -145
- package/lib/ruleNames/markdownStyle.js +51 -51
- package/lib/style/defaultMarkdown.js +247 -3
- package/lib/style/font.js +54 -3
- package/lib/styleElement/markdown/default.js +17 -131
- package/lib/styleElement/markdown.js +30 -151
- package/lib/styleElement.js +30 -69
- package/lib/targets.js +3 -3
- package/lib/tokenTypes.js +39 -39
- package/lib/transform/css/ruleSet.js +15 -106
- package/lib/transform/css/selectors.js +17 -108
- package/lib/transform/css/selectorsList.js +28 -121
- package/lib/transform/css.js +35 -139
- package/lib/transform/html/anchor/index.js +11 -99
- package/lib/transform/html/division.js +18 -112
- package/lib/transform/html/footnote.js +25 -122
- package/lib/transform/html/heading/index.js +7 -91
- package/lib/transform/html/index.js +44 -139
- package/lib/transform/html/item/contents.js +23 -111
- package/lib/transform/html/item/footnote.js +11 -99
- package/lib/transform/html/item/index.js +11 -99
- package/lib/transform/html/line.js +10 -98
- package/lib/transform/html/link/contents.js +20 -111
- package/lib/transform/html/link/footnote.js +36 -140
- package/lib/transform/html/list/contents.js +37 -151
- package/lib/transform/html/list/footnotes.js +19 -110
- package/lib/transform/html/list/index.js +16 -100
- package/lib/transform/html/pageNumber.js +15 -106
- package/lib/transform/html.js +28 -132
- package/lib/transform/markdown/directive/embed.js +9 -120
- package/lib/transform/markdown/directive/ignore.js +6 -90
- package/lib/transform/markdown/directive/include.js +15 -129
- package/lib/transform/markdown/subDivision.js +6 -90
- package/lib/transform/markdown.js +7 -134
- package/lib/utilities/contents.js +74 -145
- package/lib/utilities/css.js +12 -16
- package/lib/utilities/dom.js +11 -11
- package/lib/utilities/entities.js +2 -2
- package/lib/utilities/entries.js +5 -5
- package/lib/utilities/grammar.js +57 -86
- package/lib/utilities/html.js +21 -25
- package/lib/utilities/index.js +76 -89
- package/lib/utilities/markdown.js +14 -17
- package/lib/utilities/markdownStyle.js +2 -2
- package/lib/utilities/object.js +16 -16
- package/lib/utilities/query.js +13 -14
- package/lib/utilities/string.js +2 -2
- package/package.json +1 -1
|
@@ -8,288 +8,142 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return DivisionHTMLNode;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
function _assert_this_initialized(self) {
|
|
22
|
-
if (self === void 0) {
|
|
23
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
24
|
-
}
|
|
25
|
-
return self;
|
|
26
|
-
}
|
|
27
|
-
function _call_super(_this, derived, args) {
|
|
28
|
-
derived = _get_prototype_of(derived);
|
|
29
|
-
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
30
|
-
}
|
|
31
|
-
function _class_call_check(instance, Constructor) {
|
|
32
|
-
if (!(instance instanceof Constructor)) {
|
|
33
|
-
throw new TypeError("Cannot call a class as a function");
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function _defineProperties(target, props) {
|
|
37
|
-
for(var i = 0; i < props.length; i++){
|
|
38
|
-
var descriptor = props[i];
|
|
39
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
40
|
-
descriptor.configurable = true;
|
|
41
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
42
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
46
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
47
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
48
|
-
return Constructor;
|
|
49
|
-
}
|
|
50
|
-
function _define_property(obj, key, value) {
|
|
51
|
-
if (key in obj) {
|
|
52
|
-
Object.defineProperty(obj, key, {
|
|
53
|
-
value: value,
|
|
54
|
-
enumerable: true,
|
|
55
|
-
configurable: true,
|
|
56
|
-
writable: true
|
|
57
|
-
});
|
|
58
|
-
} else {
|
|
59
|
-
obj[key] = value;
|
|
60
|
-
}
|
|
61
|
-
return obj;
|
|
62
|
-
}
|
|
63
|
-
function _get_prototype_of(o) {
|
|
64
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
65
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
66
|
-
};
|
|
67
|
-
return _get_prototype_of(o);
|
|
68
|
-
}
|
|
69
|
-
function _inherits(subClass, superClass) {
|
|
70
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
71
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
72
|
-
}
|
|
73
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
74
|
-
constructor: {
|
|
75
|
-
value: subClass,
|
|
76
|
-
writable: true,
|
|
77
|
-
configurable: true
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
81
|
-
}
|
|
82
|
-
function _instanceof(left, right) {
|
|
83
|
-
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
84
|
-
return !!right[Symbol.hasInstance](left);
|
|
85
|
-
} else {
|
|
86
|
-
return left instanceof right;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
11
|
+
const _necessary = require("necessary");
|
|
12
|
+
const _html = /*#__PURE__*/ _interop_require_default(require("../../node/html"));
|
|
13
|
+
const _pageNumber = /*#__PURE__*/ _interop_require_default(require("../../node/html/pageNumber"));
|
|
14
|
+
const _division = /*#__PURE__*/ _interop_require_default(require("../../transform/html/division"));
|
|
15
|
+
const _pageNumber1 = /*#__PURE__*/ _interop_require_default(require("../../transform/html/pageNumber"));
|
|
16
|
+
const _index = /*#__PURE__*/ _interop_require_default(require("../../transform/html/anchor/index"));
|
|
17
|
+
const _footnote = /*#__PURE__*/ _interop_require_default(require("../../transform/html/item/footnote"));
|
|
18
|
+
const _footnotes = /*#__PURE__*/ _interop_require_default(require("../../transform/html/list/footnotes"));
|
|
19
|
+
const _markdown = require("../../ruleNames/markdown");
|
|
20
|
+
const _html1 = require("../../utilities/html");
|
|
89
21
|
function _interop_require_default(obj) {
|
|
90
22
|
return obj && obj.__esModule ? obj : {
|
|
91
23
|
default: obj
|
|
92
24
|
};
|
|
93
25
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
26
|
+
const { extract } = _necessary.arrayUtilities;
|
|
27
|
+
class DivisionHTMLNode extends _html.default {
|
|
28
|
+
constructor(outerNode, parentNode, childNodes, domElement, divisionClassName){
|
|
29
|
+
super(outerNode, parentNode, childNodes, domElement);
|
|
30
|
+
this.divisionClassName = divisionClassName;
|
|
97
31
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
function _set_prototype_of(o, p) {
|
|
101
|
-
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
102
|
-
o.__proto__ = p;
|
|
103
|
-
return o;
|
|
104
|
-
};
|
|
105
|
-
return _set_prototype_of(o, p);
|
|
106
|
-
}
|
|
107
|
-
function _type_of(obj) {
|
|
108
|
-
"@swc/helpers - typeof";
|
|
109
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
110
|
-
}
|
|
111
|
-
function _is_native_reflect_construct() {
|
|
112
|
-
try {
|
|
113
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
114
|
-
} catch (_) {}
|
|
115
|
-
return (_is_native_reflect_construct = function() {
|
|
116
|
-
return !!result;
|
|
117
|
-
})();
|
|
118
|
-
}
|
|
119
|
-
var extract = _necessary.arrayUtilities.extract;
|
|
120
|
-
var DivisionHTMLNode = /*#__PURE__*/ function(HTMLNode) {
|
|
121
|
-
_inherits(DivisionHTMLNode, HTMLNode);
|
|
122
|
-
function DivisionHTMLNode(outerNode, parentNode, childNodes, domElement, divisionClassName) {
|
|
123
|
-
_class_call_check(this, DivisionHTMLNode);
|
|
124
|
-
var _this;
|
|
125
|
-
_this = _call_super(this, DivisionHTMLNode, [
|
|
126
|
-
outerNode,
|
|
127
|
-
parentNode,
|
|
128
|
-
childNodes,
|
|
129
|
-
domElement
|
|
130
|
-
]);
|
|
131
|
-
_this.divisionClassName = divisionClassName;
|
|
132
|
-
return _this;
|
|
32
|
+
getDivisionClassName() {
|
|
33
|
+
return this.divisionClassName;
|
|
133
34
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
value: function getRuleName() {
|
|
158
|
-
var ruleNme = _markdown.DIVISION_MARKDOWN_RULE_NAME;
|
|
159
|
-
return ruleNme;
|
|
160
|
-
}
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
key: "isIgnored",
|
|
164
|
-
value: function isIgnored() {
|
|
165
|
-
var markdownNode = this.getMarkdownNode(), divisionMarkdownNode = markdownNode, ignored = divisionMarkdownNode.isIgnored();
|
|
166
|
-
return ignored;
|
|
167
|
-
}
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
key: "pageNumber",
|
|
171
|
-
value: function pageNumber(context) {
|
|
172
|
-
var pageNumber = this.fromFirstLastChildNode(function(firstLastChildNode) {
|
|
173
|
-
var pageNumber = null;
|
|
174
|
-
var firstLastChildNodePageNumberHTMLNode = _instanceof(firstLastChildNode, _pageNumber.default);
|
|
175
|
-
if (firstLastChildNodePageNumberHTMLNode) {
|
|
176
|
-
var pageNumberHTMLNode = firstLastChildNode; ///
|
|
177
|
-
pageNumber = pageNumberHTMLNode.getPageNumber();
|
|
178
|
-
}
|
|
179
|
-
return pageNumber;
|
|
180
|
-
});
|
|
181
|
-
return pageNumber;
|
|
182
|
-
}
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
key: "paginate",
|
|
186
|
-
value: function paginate(htmlTransforms, context) {
|
|
187
|
-
var ignored = this.isIgnored();
|
|
188
|
-
if (ignored) {
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
var node = this, start = 1, divisionHTMLNode = this, footnotesDirectiveHTMLNode = (0, _html1.footnotesDirectiveHTMLNodeFromNode)(node), pageNumberDirectiveHTMLNode = (0, _html1.pageNumberDirectiveHTMLNodeFromNode)(node);
|
|
192
|
-
var pageNumber = context.pageNumber;
|
|
193
|
-
Object.assign(context, {
|
|
194
|
-
start: start
|
|
195
|
-
});
|
|
196
|
-
if (footnotesDirectiveHTMLNode !== null) {
|
|
197
|
-
var footnotesListHTMLTransform = divisionHTMLNode.resolveFootnotes(context);
|
|
198
|
-
if (footnotesListHTMLTransform !== null) {
|
|
199
|
-
footnotesListHTMLTransform.appendToDivisionHTMLNode(divisionHTMLNode);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
if (pageNumberDirectiveHTMLNode !== null) {
|
|
203
|
-
var pageNumberHTMLTransform = divisionHTMLNode.resolvePageNumber(pageNumber);
|
|
204
|
-
pageNumberHTMLTransform.appendToDivisionHTMLNode(divisionHTMLNode);
|
|
205
|
-
}
|
|
206
|
-
var htmlTransform;
|
|
207
|
-
var indexAnchorHTMLTransform = _index.default.fromPageNumber(pageNumber);
|
|
208
|
-
htmlTransform = indexAnchorHTMLTransform; ///
|
|
209
|
-
htmlTransforms.push(htmlTransform);
|
|
210
|
-
var divisionHTMLTransform = _division.default.fromDivisionHTMLNode(divisionHTMLNode);
|
|
211
|
-
htmlTransform = divisionHTMLTransform; ///
|
|
212
|
-
htmlTransforms.push(htmlTransform);
|
|
213
|
-
pageNumber++;
|
|
214
|
-
Object.assign(context, {
|
|
215
|
-
pageNumber: pageNumber
|
|
216
|
-
});
|
|
217
|
-
delete context.start;
|
|
218
|
-
}
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
key: "resolveFootnotes",
|
|
222
|
-
value: function resolveFootnotes(context) {
|
|
223
|
-
var node = this, footnoteHTMLNodes = (0, _html1.footnoteHTMLNodesFromNode)(node), footnoteLinkHTMLNodes = (0, _html1.footnoteLinkHTMLNodesFromNode)(node);
|
|
224
|
-
var start;
|
|
225
|
-
var ref, ref1;
|
|
226
|
-
ref = context, ref1 = ref.start, start = ref1 === void 0 ? 1 : ref1, ref;
|
|
227
|
-
var footnoteItemHTMLTransforms = [];
|
|
228
|
-
var number = start; ///
|
|
229
|
-
footnoteLinkHTMLNodes.forEach(function(footnoteLinkHTMLNode) {
|
|
230
|
-
var identifier = footnoteLinkHTMLNode.identifier(context), footnoteHTMLNode = extract(footnoteHTMLNodes, function(footnoteHTMLNode) {
|
|
231
|
-
var identifierMatches = footnoteHTMLNode.matchIdentifier(identifier);
|
|
232
|
-
if (identifierMatches) {
|
|
233
|
-
return true;
|
|
234
|
-
}
|
|
235
|
-
}) || null;
|
|
236
|
-
if (footnoteHTMLNode !== null) {
|
|
237
|
-
var paragraphHTMLNode = footnoteHTMLNode.getParagraphHTMLNode(), footnoteItemHTMLTransform = _footnote.default.fromParagraphHTMLNOdeAndIdentifier(paragraphHTMLNode, identifier);
|
|
238
|
-
footnoteItemHTMLTransforms.push(footnoteItemHTMLTransform);
|
|
239
|
-
footnoteLinkHTMLNode.setNumber(number);
|
|
240
|
-
number++;
|
|
241
|
-
} else {
|
|
242
|
-
footnoteLinkHTMLNode.resetNumber();
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
var footnotesListHTMLTransform = _footnotes.default.fromStartAndFootnoteItemHTMLTransforms(start, footnoteItemHTMLTransforms);
|
|
246
|
-
start = number; ///
|
|
247
|
-
Object.assign(context, {
|
|
248
|
-
start: start
|
|
249
|
-
});
|
|
250
|
-
return footnotesListHTMLTransform;
|
|
251
|
-
}
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
key: "resolvePageNumber",
|
|
255
|
-
value: function resolvePageNumber(pageNumber) {
|
|
256
|
-
var pageNumberHTMLTransform = _pageNumber1.default.fromPageNumber(pageNumber);
|
|
257
|
-
return pageNumberHTMLTransform;
|
|
258
|
-
}
|
|
259
|
-
},
|
|
260
|
-
{
|
|
261
|
-
key: "asString",
|
|
262
|
-
value: function asString() {
|
|
263
|
-
var ruleName = this.getRuleName(), string = ruleName; ///
|
|
264
|
-
return string;
|
|
35
|
+
getDivDOMElement() {
|
|
36
|
+
const domElement = this.getDOMElement(), divDOMElement = domElement; ///
|
|
37
|
+
return divDOMElement;
|
|
38
|
+
}
|
|
39
|
+
className(context) {
|
|
40
|
+
const className = this.divisionClassName; ///
|
|
41
|
+
return className;
|
|
42
|
+
}
|
|
43
|
+
getRuleName() {
|
|
44
|
+
const ruleNme = _markdown.DIVISION_MARKDOWN_RULE_NAME;
|
|
45
|
+
return ruleNme;
|
|
46
|
+
}
|
|
47
|
+
isIgnored() {
|
|
48
|
+
const markdownNode = this.getMarkdownNode(), divisionMarkdownNode = markdownNode, ignored = divisionMarkdownNode.isIgnored();
|
|
49
|
+
return ignored;
|
|
50
|
+
}
|
|
51
|
+
pageNumber(context) {
|
|
52
|
+
const pageNumber = this.fromFirstLastChildNode((firstLastChildNode)=>{
|
|
53
|
+
let pageNumber = null;
|
|
54
|
+
const firstLastChildNodePageNumberHTMLNode = firstLastChildNode instanceof _pageNumber.default;
|
|
55
|
+
if (firstLastChildNodePageNumberHTMLNode) {
|
|
56
|
+
const pageNumberHTMLNode = firstLastChildNode; ///
|
|
57
|
+
pageNumber = pageNumberHTMLNode.getPageNumber();
|
|
265
58
|
}
|
|
59
|
+
return pageNumber;
|
|
60
|
+
});
|
|
61
|
+
return pageNumber;
|
|
62
|
+
}
|
|
63
|
+
paginate(htmlTransforms, context) {
|
|
64
|
+
const ignored = this.isIgnored();
|
|
65
|
+
if (ignored) {
|
|
66
|
+
return;
|
|
266
67
|
}
|
|
267
|
-
|
|
268
|
-
{
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
key: "fromOuterNode",
|
|
277
|
-
value: function fromOuterNode(outerNode) {
|
|
278
|
-
var divisionMarkdownNode = outerNode, divisionClassName = divisionMarkdownNode.getDivisionClassName(), divisionHTMLNode = _html.default.fromOuterNode(DivisionHTMLNode, outerNode, divisionClassName);
|
|
279
|
-
return divisionHTMLNode;
|
|
280
|
-
}
|
|
281
|
-
},
|
|
282
|
-
{
|
|
283
|
-
key: "fromPaginatedHTMLNodesAndDivisionClassName",
|
|
284
|
-
value: function fromPaginatedHTMLNodesAndDivisionClassName(paginatedHTMLNodes, divisionClassName) {
|
|
285
|
-
var childHTMLNodes = paginatedHTMLNodes, divisionHTMLNode = _html.default.fromChildHTMLNodes(DivisionHTMLNode, childHTMLNodes, divisionClassName);
|
|
286
|
-
return divisionHTMLNode;
|
|
68
|
+
const node = this, start = 1, divisionHTMLNode = this, footnotesDirectiveHTMLNode = (0, _html1.footnotesDirectiveHTMLNodeFromNode)(node), pageNumberDirectiveHTMLNode = (0, _html1.pageNumberDirectiveHTMLNodeFromNode)(node);
|
|
69
|
+
let { pageNumber } = context;
|
|
70
|
+
Object.assign(context, {
|
|
71
|
+
start
|
|
72
|
+
});
|
|
73
|
+
if (footnotesDirectiveHTMLNode !== null) {
|
|
74
|
+
const footnotesListHTMLTransform = divisionHTMLNode.resolveFootnotes(context);
|
|
75
|
+
if (footnotesListHTMLTransform !== null) {
|
|
76
|
+
footnotesListHTMLTransform.appendToDivisionHTMLNode(divisionHTMLNode);
|
|
287
77
|
}
|
|
288
78
|
}
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
79
|
+
if (pageNumberDirectiveHTMLNode !== null) {
|
|
80
|
+
const pageNumberHTMLTransform = divisionHTMLNode.resolvePageNumber(pageNumber);
|
|
81
|
+
pageNumberHTMLTransform.appendToDivisionHTMLNode(divisionHTMLNode);
|
|
82
|
+
}
|
|
83
|
+
let htmlTransform;
|
|
84
|
+
const indexAnchorHTMLTransform = _index.default.fromPageNumber(pageNumber);
|
|
85
|
+
htmlTransform = indexAnchorHTMLTransform; ///
|
|
86
|
+
htmlTransforms.push(htmlTransform);
|
|
87
|
+
const divisionHTMLTransform = _division.default.fromDivisionHTMLNode(divisionHTMLNode);
|
|
88
|
+
htmlTransform = divisionHTMLTransform; ///
|
|
89
|
+
htmlTransforms.push(htmlTransform);
|
|
90
|
+
pageNumber++;
|
|
91
|
+
Object.assign(context, {
|
|
92
|
+
pageNumber
|
|
93
|
+
});
|
|
94
|
+
delete context.start;
|
|
95
|
+
}
|
|
96
|
+
resolveFootnotes(context) {
|
|
97
|
+
const node = this, footnoteHTMLNodes = (0, _html1.footnoteHTMLNodesFromNode)(node), footnoteLinkHTMLNodes = (0, _html1.footnoteLinkHTMLNodesFromNode)(node);
|
|
98
|
+
let start;
|
|
99
|
+
({ start = 1 } = context);
|
|
100
|
+
const footnoteItemHTMLTransforms = [];
|
|
101
|
+
let number = start; ///
|
|
102
|
+
footnoteLinkHTMLNodes.forEach((footnoteLinkHTMLNode)=>{
|
|
103
|
+
const identifier = footnoteLinkHTMLNode.identifier(context), footnoteHTMLNode = extract(footnoteHTMLNodes, (footnoteHTMLNode)=>{
|
|
104
|
+
const identifierMatches = footnoteHTMLNode.matchIdentifier(identifier);
|
|
105
|
+
if (identifierMatches) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
}) || null;
|
|
109
|
+
if (footnoteHTMLNode !== null) {
|
|
110
|
+
const paragraphHTMLNode = footnoteHTMLNode.getParagraphHTMLNode(), footnoteItemHTMLTransform = _footnote.default.fromParagraphHTMLNOdeAndIdentifier(paragraphHTMLNode, identifier);
|
|
111
|
+
footnoteItemHTMLTransforms.push(footnoteItemHTMLTransform);
|
|
112
|
+
footnoteLinkHTMLNode.setNumber(number);
|
|
113
|
+
number++;
|
|
114
|
+
} else {
|
|
115
|
+
footnoteLinkHTMLNode.resetNumber();
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
const footnotesListHTMLTransform = _footnotes.default.fromStartAndFootnoteItemHTMLTransforms(start, footnoteItemHTMLTransforms);
|
|
119
|
+
start = number; ///
|
|
120
|
+
Object.assign(context, {
|
|
121
|
+
start
|
|
122
|
+
});
|
|
123
|
+
return footnotesListHTMLTransform;
|
|
124
|
+
}
|
|
125
|
+
resolvePageNumber(pageNumber) {
|
|
126
|
+
const pageNumberHTMLTransform = _pageNumber1.default.fromPageNumber(pageNumber);
|
|
127
|
+
return pageNumberHTMLTransform;
|
|
128
|
+
}
|
|
129
|
+
asString() {
|
|
130
|
+
const ruleName = this.getRuleName(), string = ruleName; ///
|
|
131
|
+
return string;
|
|
132
|
+
}
|
|
133
|
+
static tagName = "div";
|
|
134
|
+
static className = null;
|
|
135
|
+
static fromNothing() {
|
|
136
|
+
const divisionClassName = null, divisionHTMLNode = _html.default.fromNothing(DivisionHTMLNode, divisionClassName);
|
|
137
|
+
return divisionHTMLNode;
|
|
138
|
+
}
|
|
139
|
+
static fromOuterNode(outerNode) {
|
|
140
|
+
const divisionMarkdownNode = outerNode, divisionClassName = divisionMarkdownNode.getDivisionClassName(), divisionHTMLNode = _html.default.fromOuterNode(DivisionHTMLNode, outerNode, divisionClassName);
|
|
141
|
+
return divisionHTMLNode;
|
|
142
|
+
}
|
|
143
|
+
static fromPaginatedHTMLNodesAndDivisionClassName(paginatedHTMLNodes, divisionClassName) {
|
|
144
|
+
const childHTMLNodes = paginatedHTMLNodes, divisionHTMLNode = _html.default.fromChildHTMLNodes(DivisionHTMLNode, childHTMLNodes, divisionClassName);
|
|
145
|
+
return divisionHTMLNode;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
294
148
|
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvZGl2aXNpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSFRNTE5vZGUgZnJvbSBcIi4uLy4uL25vZGUvaHRtbFwiO1xuaW1wb3J0IFBhZ2VOdW1iZXJIVE1MTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9odG1sL3BhZ2VOdW1iZXJcIjtcbmltcG9ydCBEaXZpc2lvbkhUTUxUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9odG1sL2RpdmlzaW9uXCI7XG5pbXBvcnQgUGFnZU51bWJlckhUTUxUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9odG1sL3BhZ2VOdW1iZXJcIjtcbmltcG9ydCBJbmRleEFuY2hvckhUTUxUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9odG1sL2FuY2hvci9pbmRleFwiO1xuaW1wb3J0IEZvb3Rub3RlSXRlbUhUTUxUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9odG1sL2l0ZW0vZm9vdG5vdGVcIjtcbmltcG9ydCBGb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybSBmcm9tIFwiLi4vLi4vdHJhbnNmb3JtL2h0bWwvbGlzdC9mb290bm90ZXNcIjtcblxuaW1wb3J0IHsgRElWSVNJT05fTUFSS0RPV05fUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgZm9vdG5vdGVIVE1MTm9kZXNGcm9tTm9kZSxcbiAgICAgICAgIGZvb3Rub3RlTGlua0hUTUxOb2Rlc0Zyb21Ob2RlLFxuICAgICAgICAgZm9vdG5vdGVzRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZSxcbiAgICAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZUZyb21Ob2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9odG1sXCI7XG5cbmNvbnN0IHsgZXh0cmFjdCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERpdmlzaW9uSFRNTE5vZGUgZXh0ZW5kcyBIVE1MTm9kZSB7XG4gIGNvbnN0cnVjdG9yKG91dGVyTm9kZSwgcGFyZW50Tm9kZSwgY2hpbGROb2RlcywgZG9tRWxlbWVudCwgZGl2aXNpb25DbGFzc05hbWUpIHtcbiAgICBzdXBlcihvdXRlck5vZGUsIHBhcmVudE5vZGUsIGNoaWxkTm9kZXMsIGRvbUVsZW1lbnQpO1xuXG4gICAgdGhpcy5kaXZpc2lvbkNsYXNzTmFtZSA9IGRpdmlzaW9uQ2xhc3NOYW1lO1xuICB9XG5cbiAgZ2V0RGl2aXNpb25DbGFzc05hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGl2aXNpb25DbGFzc05hbWU7XG4gIH1cblxuICBnZXREaXZET01FbGVtZW50KCkge1xuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKSxcbiAgICAgICAgICBkaXZET01FbGVtZW50ID0gZG9tRWxlbWVudDsgIC8vL1xuXG4gICAgcmV0dXJuIGRpdkRPTUVsZW1lbnQ7XG4gIH1cblxuICBjbGFzc05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMuZGl2aXNpb25DbGFzc05hbWU7IC8vL1xuXG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIGdldFJ1bGVOYW1lKCkge1xuICAgIGNvbnN0IHJ1bGVObWUgPSBESVZJU0lPTl9NQVJLRE9XTl9SVUxFX05BTUU7XG5cbiAgICByZXR1cm4gcnVsZU5tZTtcbiAgfVxuXG4gIGlzSWdub3JlZCgpIHtcbiAgICBjb25zdCBtYXJrZG93bk5vZGUgPSB0aGlzLmdldE1hcmtkb3duTm9kZSgpLFxuICAgICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlLCAgLy8vXG4gICAgICAgICAgaWdub3JlZCA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmlzSWdub3JlZCgpO1xuXG4gICAgcmV0dXJuIGlnbm9yZWQ7XG4gIH1cblxuICBwYWdlTnVtYmVyKGNvbnRleHQpIHtcbiAgICBjb25zdCBwYWdlTnVtYmVyID0gdGhpcy5mcm9tRmlyc3RMYXN0Q2hpbGROb2RlKChmaXJzdExhc3RDaGlsZE5vZGUpID0+IHtcbiAgICAgIGxldCBwYWdlTnVtYmVyID0gbnVsbDtcblxuICAgICAgY29uc3QgZmlyc3RMYXN0Q2hpbGROb2RlUGFnZU51bWJlckhUTUxOb2RlID0gKGZpcnN0TGFzdENoaWxkTm9kZSBpbnN0YW5jZW9mIFBhZ2VOdW1iZXJIVE1MTm9kZSk7XG5cbiAgICAgIGlmIChmaXJzdExhc3RDaGlsZE5vZGVQYWdlTnVtYmVySFRNTE5vZGUpIHtcbiAgICAgICAgY29uc3QgcGFnZU51bWJlckhUTUxOb2RlID0gZmlyc3RMYXN0Q2hpbGROb2RlOyAgLy8vXG5cbiAgICAgICAgcGFnZU51bWJlciA9IHBhZ2VOdW1iZXJIVE1MTm9kZS5nZXRQYWdlTnVtYmVyKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwYWdlTnVtYmVyO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhZ2VOdW1iZXI7XG4gIH1cblxuICBwYWdpbmF0ZShodG1sVHJhbnNmb3JtcywgY29udGV4dCkge1xuICAgIGNvbnN0IGlnbm9yZWQgPSB0aGlzLmlzSWdub3JlZCgpO1xuXG4gICAgaWYgKGlnbm9yZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIHN0YXJ0ID0gMSxcbiAgICAgICAgICBkaXZpc2lvbkhUTUxOb2RlID0gdGhpcyxcbiAgICAgICAgICBmb290bm90ZXNEaXJlY3RpdmVIVE1MTm9kZSA9IGZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUobm9kZSksXG4gICAgICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlID0gcGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUobm9kZSk7XG5cbiAgICBsZXQgeyBwYWdlTnVtYmVyIH0gPSBjb250ZXh0O1xuXG4gICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgICBzdGFydFxuICAgIH0pO1xuXG4gICAgaWYgKGZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBmb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybSAgPSBkaXZpc2lvbkhUTUxOb2RlLnJlc29sdmVGb290bm90ZXMoY29udGV4dCk7XG5cbiAgICAgIGlmIChmb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAgICAgICBmb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybS5hcHBlbmRUb0RpdmlzaW9uSFRNTE5vZGUoZGl2aXNpb25IVE1MTm9kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcGFnZU51bWJlckhUTUxUcmFuc2Zvcm0gPSBkaXZpc2lvbkhUTUxOb2RlLnJlc29sdmVQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpO1xuXG4gICAgICBwYWdlTnVtYmVySFRNTFRyYW5zZm9ybS5hcHBlbmRUb0RpdmlzaW9uSFRNTE5vZGUoZGl2aXNpb25IVE1MTm9kZSk7XG4gICAgfVxuXG4gICAgbGV0IGh0bWxUcmFuc2Zvcm07XG5cbiAgICBjb25zdCBpbmRleEFuY2hvckhUTUxUcmFuc2Zvcm0gPSBJbmRleEFuY2hvckhUTUxUcmFuc2Zvcm0uZnJvbVBhZ2VOdW1iZXIocGFnZU51bWJlcik7XG5cbiAgICBodG1sVHJhbnNmb3JtID0gaW5kZXhBbmNob3JIVE1MVHJhbnNmb3JtOyAgLy8vXG5cbiAgICBodG1sVHJhbnNmb3Jtcy5wdXNoKGh0bWxUcmFuc2Zvcm0pO1xuXG4gICAgY29uc3QgZGl2aXNpb25IVE1MVHJhbnNmb3JtID0gRGl2aXNpb25IVE1MVHJhbnNmb3JtLmZyb21EaXZpc2lvbkhUTUxOb2RlKGRpdmlzaW9uSFRNTE5vZGUpO1xuXG4gICAgaHRtbFRyYW5zZm9ybSA9IGRpdmlzaW9uSFRNTFRyYW5zZm9ybTsgIC8vL1xuXG4gICAgaHRtbFRyYW5zZm9ybXMucHVzaChodG1sVHJhbnNmb3JtKTtcblxuICAgIHBhZ2VOdW1iZXIrKztcblxuICAgIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgICAgcGFnZU51bWJlclxuICAgIH0pO1xuXG4gICAgZGVsZXRlIGNvbnRleHQuc3RhcnQ7XG4gIH1cblxuICByZXNvbHZlRm9vdG5vdGVzKGNvbnRleHQpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGZvb3Rub3RlSFRNTE5vZGVzID0gZm9vdG5vdGVIVE1MTm9kZXNGcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBmb290bm90ZUxpbmtIVE1MTm9kZXMgPSBmb290bm90ZUxpbmtIVE1MTm9kZXNGcm9tTm9kZShub2RlKTtcblxuICAgIGxldCBzdGFydDtcblxuICAgICh7IHN0YXJ0ID0gMSB9ID0gY29udGV4dCk7XG5cbiAgICBjb25zdCBmb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtcyA9IFtdO1xuXG4gICAgbGV0IG51bWJlciA9IHN0YXJ0OyAvLy9cblxuICAgIGZvb3Rub3RlTGlua0hUTUxOb2Rlcy5mb3JFYWNoKChmb290bm90ZUxpbmtIVE1MTm9kZSkgPT4ge1xuICAgICAgY29uc3QgaWRlbnRpZmllciA9IGZvb3Rub3RlTGlua0hUTUxOb2RlLmlkZW50aWZpZXIoY29udGV4dCksXG4gICAgICAgICAgICBmb290bm90ZUhUTUxOb2RlID0gZXh0cmFjdChmb290bm90ZUhUTUxOb2RlcywgKGZvb3Rub3RlSFRNTE5vZGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaWRlbnRpZmllck1hdGNoZXMgPSBmb290bm90ZUhUTUxOb2RlLm1hdGNoSWRlbnRpZmllcihpZGVudGlmaWVyKTtcblxuICAgICAgICAgICAgICBpZiAoaWRlbnRpZmllck1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgICAgaWYgKGZvb3Rub3RlSFRNTE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgcGFyYWdyYXBoSFRNTE5vZGUgPSBmb290bm90ZUhUTUxOb2RlLmdldFBhcmFncmFwaEhUTUxOb2RlKCksXG4gICAgICAgICAgICAgIGZvb3Rub3RlSXRlbUhUTUxUcmFuc2Zvcm0gPSBGb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtLmZyb21QYXJhZ3JhcGhIVE1MTk9kZUFuZElkZW50aWZpZXIocGFyYWdyYXBoSFRNTE5vZGUsIGlkZW50aWZpZXIpXG5cbiAgICAgICAgZm9vdG5vdGVJdGVtSFRNTFRyYW5zZm9ybXMucHVzaChmb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtKTtcblxuICAgICAgICBmb290bm90ZUxpbmtIVE1MTm9kZS5zZXROdW1iZXIobnVtYmVyKTtcblxuICAgICAgICBudW1iZXIrKztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvb3Rub3RlTGlua0hUTUxOb2RlLnJlc2V0TnVtYmVyKClcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGZvb3Rub3Rlc0xpc3RIVE1MVHJhbnNmb3JtID0gRm9vdG5vdGVzTGlzdEhUTUxUcmFuc2Zvcm0uZnJvbVN0YXJ0QW5kRm9vdG5vdGVJdGVtSFRNTFRyYW5zZm9ybXMoc3RhcnQsIGZvb3Rub3RlSXRlbUhUTUxUcmFuc2Zvcm1zKTtcblxuICAgIHN0YXJ0ID0gbnVtYmVyOyAvLy9cblxuICAgIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgICAgc3RhcnRcbiAgICB9KTtcblxuICAgIHJldHVybiBmb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybTtcbiAgfVxuXG4gIHJlc29sdmVQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpIHtcbiAgICBjb25zdCBwYWdlTnVtYmVySFRNTFRyYW5zZm9ybSA9IFBhZ2VOdW1iZXJIVE1MVHJhbnNmb3JtLmZyb21QYWdlTnVtYmVyKHBhZ2VOdW1iZXIpO1xuXG4gICAgcmV0dXJuIHBhZ2VOdW1iZXJIVE1MVHJhbnNmb3JtO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSB0aGlzLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgc3RyaW5nID0gcnVsZU5hbWU7ICAvLy9cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGNsYXNzTmFtZSA9IG51bGw7XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGRpdmlzaW9uQ2xhc3NOYW1lID0gbnVsbCxcbiAgICAgICAgICBkaXZpc2lvbkhUTUxOb2RlID0gSFRNTE5vZGUuZnJvbU5vdGhpbmcoRGl2aXNpb25IVE1MTm9kZSwgZGl2aXNpb25DbGFzc05hbWUpO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uSFRNTE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU91dGVyTm9kZShvdXRlck5vZGUpIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IG91dGVyTm9kZSwgLy8vXG4gICAgICAgICAgZGl2aXNpb25DbGFzc05hbWUgPSBkaXZpc2lvbk1hcmtkb3duTm9kZS5nZXREaXZpc2lvbkNsYXNzTmFtZSgpLFxuICAgICAgICAgIGRpdmlzaW9uSFRNTE5vZGUgPSBIVE1MTm9kZS5mcm9tT3V0ZXJOb2RlKERpdmlzaW9uSFRNTE5vZGUsIG91dGVyTm9kZSwgZGl2aXNpb25DbGFzc05hbWUpO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uSFRNTE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhZ2luYXRlZEhUTUxOb2Rlc0FuZERpdmlzaW9uQ2xhc3NOYW1lKHBhZ2luYXRlZEhUTUxOb2RlcywgZGl2aXNpb25DbGFzc05hbWUpIHtcbiAgICBjb25zdCBjaGlsZEhUTUxOb2RlcyA9IHBhZ2luYXRlZEhUTUxOb2RlcywgIC8vL1xuICAgICAgICAgIGRpdmlzaW9uSFRNTE5vZGUgPSBIVE1MTm9kZS5mcm9tQ2hpbGRIVE1MTm9kZXMoRGl2aXNpb25IVE1MTm9kZSwgY2hpbGRIVE1MTm9kZXMsIGRpdmlzaW9uQ2xhc3NOYW1lKTtcblxuICAgIHJldHVybiBkaXZpc2lvbkhUTUxOb2RlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiRGl2aXNpb25IVE1MTm9kZSIsImV4dHJhY3QiLCJhcnJheVV0aWxpdGllcyIsIm91dGVyTm9kZSIsInBhcmVudE5vZGUiLCJjaGlsZE5vZGVzIiwiZG9tRWxlbWVudCIsImRpdmlzaW9uQ2xhc3NOYW1lIiwiZ2V0RGl2aXNpb25DbGFzc05hbWUiLCJnZXREaXZET01FbGVtZW50IiwiZ2V0RE9NRWxlbWVudCIsImRpdkRPTUVsZW1lbnQiLCJjbGFzc05hbWUiLCJjb250ZXh0IiwiZ2V0UnVsZU5hbWUiLCJydWxlTm1lIiwiRElWSVNJT05fTUFSS0RPV05fUlVMRV9OQU1FIiwiaXNJZ25vcmVkIiwibWFya2Rvd25Ob2RlIiwiZ2V0TWFya2Rvd25Ob2RlIiwiZGl2aXNpb25NYXJrZG93bk5vZGUiLCJpZ25vcmVkIiwicGFnZU51bWJlciIsImZyb21GaXJzdExhc3RDaGlsZE5vZGUiLCJmaXJzdExhc3RDaGlsZE5vZGUiLCJmaXJzdExhc3RDaGlsZE5vZGVQYWdlTnVtYmVySFRNTE5vZGUiLCJQYWdlTnVtYmVySFRNTE5vZGUiLCJwYWdlTnVtYmVySFRNTE5vZGUiLCJnZXRQYWdlTnVtYmVyIiwicGFnaW5hdGUiLCJodG1sVHJhbnNmb3JtcyIsIm5vZGUiLCJzdGFydCIsImRpdmlzaW9uSFRNTE5vZGUiLCJmb290bm90ZXNEaXJlY3RpdmVIVE1MTm9kZSIsImZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUiLCJwYWdlTnVtYmVyRGlyZWN0aXZlSFRNTE5vZGUiLCJwYWdlTnVtYmVyRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZSIsIk9iamVjdCIsImFzc2lnbiIsImZvb3Rub3Rlc0xpc3RIVE1MVHJhbnNmb3JtIiwicmVzb2x2ZUZvb3Rub3RlcyIsImFwcGVuZFRvRGl2aXNpb25IVE1MTm9kZSIsInBhZ2VOdW1iZXJIVE1MVHJhbnNmb3JtIiwicmVzb2x2ZVBhZ2VOdW1iZXIiLCJodG1sVHJhbnNmb3JtIiwiaW5kZXhBbmNob3JIVE1MVHJhbnNmb3JtIiwiSW5kZXhBbmNob3JIVE1MVHJhbnNmb3JtIiwiZnJvbVBhZ2VOdW1iZXIiLCJwdXNoIiwiZGl2aXNpb25IVE1MVHJhbnNmb3JtIiwiRGl2aXNpb25IVE1MVHJhbnNmb3JtIiwiZnJvbURpdmlzaW9uSFRNTE5vZGUiLCJmb290bm90ZUhUTUxOb2RlcyIsImZvb3Rub3RlSFRNTE5vZGVzRnJvbU5vZGUiLCJmb290bm90ZUxpbmtIVE1MTm9kZXMiLCJmb290bm90ZUxpbmtIVE1MTm9kZXNGcm9tTm9kZSIsImZvb3Rub3RlSXRlbUhUTUxUcmFuc2Zvcm1zIiwibnVtYmVyIiwiZm9yRWFjaCIsImZvb3Rub3RlTGlua0hUTUxOb2RlIiwiaWRlbnRpZmllciIsImZvb3Rub3RlSFRNTE5vZGUiLCJpZGVudGlmaWVyTWF0Y2hlcyIsIm1hdGNoSWRlbnRpZmllciIsInBhcmFncmFwaEhUTUxOb2RlIiwiZ2V0UGFyYWdyYXBoSFRNTE5vZGUiLCJmb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtIiwiRm9vdG5vdGVJdGVtSFRNTFRyYW5zZm9ybSIsImZyb21QYXJhZ3JhcGhIVE1MTk9kZUFuZElkZW50aWZpZXIiLCJzZXROdW1iZXIiLCJyZXNldE51bWJlciIsIkZvb3Rub3Rlc0xpc3RIVE1MVHJhbnNmb3JtIiwiZnJvbVN0YXJ0QW5kRm9vdG5vdGVJdGVtSFRNTFRyYW5zZm9ybXMiLCJQYWdlTnVtYmVySFRNTFRyYW5zZm9ybSIsImFzU3RyaW5nIiwicnVsZU5hbWUiLCJzdHJpbmciLCJmcm9tTm90aGluZyIsIkhUTUxOb2RlIiwiZnJvbU91dGVyTm9kZSIsImZyb21QYWdpbmF0ZWRIVE1MTm9kZXNBbmREaXZpc2lvbkNsYXNzTmFtZSIsInBhZ2luYXRlZEhUTUxOb2RlcyIsImNoaWxkSFRNTE5vZGVzIiwiZnJvbUNoaWxkSFRNTE5vZGVzIiwidGFnTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFvQnFCQTs7O3lCQWxCVTsyREFFVjtpRUFDVTsrREFDRztrRUFDRTs0REFDQzsrREFDQztnRUFDQzt3QkFFSztxQkFJUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXBELElBQU0sQUFBRUMsVUFBWUMseUJBQWMsQ0FBMUJEO0FBRU8sSUFBQSxBQUFNRCxpQ0FBTjtjQUFNQTthQUFBQSxpQkFDUEcsU0FBUyxFQUFFQyxVQUFVLEVBQUVDLFVBQVUsRUFBRUMsVUFBVSxFQUFFQyxpQkFBaUI7Z0NBRHpEUDs7Z0JBRWpCLGtCQUZpQkE7WUFFWEc7WUFBV0M7WUFBWUM7WUFBWUM7O1FBRXpDLE1BQUtDLGlCQUFpQixHQUFHQTs7O2tCQUpSUDs7WUFPbkJRLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsaUJBQWlCO1lBQy9COzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1ILGFBQWEsSUFBSSxDQUFDSSxhQUFhLElBQy9CQyxnQkFBZ0JMLFlBQWEsR0FBRztnQkFFdEMsT0FBT0s7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVQyxPQUFPO2dCQUNmLElBQU1ELFlBQVksSUFBSSxDQUFDTCxpQkFBaUIsRUFBRSxHQUFHO2dCQUU3QyxPQUFPSztZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFVBQVVDLHFDQUEyQjtnQkFFM0MsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxlQUFlLElBQUksQ0FBQ0MsZUFBZSxJQUNuQ0MsdUJBQXVCRixjQUN2Qkcs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
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvZGl2aXNpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSFRNTE5vZGUgZnJvbSBcIi4uLy4uL25vZGUvaHRtbFwiO1xuaW1wb3J0IFBhZ2VOdW1iZXJIVE1MTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9odG1sL3BhZ2VOdW1iZXJcIjtcbmltcG9ydCBEaXZpc2lvbkhUTUxUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9odG1sL2RpdmlzaW9uXCI7XG5pbXBvcnQgUGFnZU51bWJlckhUTUxUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9odG1sL3BhZ2VOdW1iZXJcIjtcbmltcG9ydCBJbmRleEFuY2hvckhUTUxUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9odG1sL2FuY2hvci9pbmRleFwiO1xuaW1wb3J0IEZvb3Rub3RlSXRlbUhUTUxUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9odG1sL2l0ZW0vZm9vdG5vdGVcIjtcbmltcG9ydCBGb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybSBmcm9tIFwiLi4vLi4vdHJhbnNmb3JtL2h0bWwvbGlzdC9mb290bm90ZXNcIjtcblxuaW1wb3J0IHsgRElWSVNJT05fTUFSS0RPV05fUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgZm9vdG5vdGVIVE1MTm9kZXNGcm9tTm9kZSxcbiAgICAgICAgIGZvb3Rub3RlTGlua0hUTUxOb2Rlc0Zyb21Ob2RlLFxuICAgICAgICAgZm9vdG5vdGVzRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZSxcbiAgICAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZUZyb21Ob2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9odG1sXCI7XG5cbmNvbnN0IHsgZXh0cmFjdCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERpdmlzaW9uSFRNTE5vZGUgZXh0ZW5kcyBIVE1MTm9kZSB7XG4gIGNvbnN0cnVjdG9yKG91dGVyTm9kZSwgcGFyZW50Tm9kZSwgY2hpbGROb2RlcywgZG9tRWxlbWVudCwgZGl2aXNpb25DbGFzc05hbWUpIHtcbiAgICBzdXBlcihvdXRlck5vZGUsIHBhcmVudE5vZGUsIGNoaWxkTm9kZXMsIGRvbUVsZW1lbnQpO1xuXG4gICAgdGhpcy5kaXZpc2lvbkNsYXNzTmFtZSA9IGRpdmlzaW9uQ2xhc3NOYW1lO1xuICB9XG5cbiAgZ2V0RGl2aXNpb25DbGFzc05hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGl2aXNpb25DbGFzc05hbWU7XG4gIH1cblxuICBnZXREaXZET01FbGVtZW50KCkge1xuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKSxcbiAgICAgICAgICBkaXZET01FbGVtZW50ID0gZG9tRWxlbWVudDsgIC8vL1xuXG4gICAgcmV0dXJuIGRpdkRPTUVsZW1lbnQ7XG4gIH1cblxuICBjbGFzc05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMuZGl2aXNpb25DbGFzc05hbWU7IC8vL1xuXG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIGdldFJ1bGVOYW1lKCkge1xuICAgIGNvbnN0IHJ1bGVObWUgPSBESVZJU0lPTl9NQVJLRE9XTl9SVUxFX05BTUU7XG5cbiAgICByZXR1cm4gcnVsZU5tZTtcbiAgfVxuXG4gIGlzSWdub3JlZCgpIHtcbiAgICBjb25zdCBtYXJrZG93bk5vZGUgPSB0aGlzLmdldE1hcmtkb3duTm9kZSgpLFxuICAgICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlLCAgLy8vXG4gICAgICAgICAgaWdub3JlZCA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmlzSWdub3JlZCgpO1xuXG4gICAgcmV0dXJuIGlnbm9yZWQ7XG4gIH1cblxuICBwYWdlTnVtYmVyKGNvbnRleHQpIHtcbiAgICBjb25zdCBwYWdlTnVtYmVyID0gdGhpcy5mcm9tRmlyc3RMYXN0Q2hpbGROb2RlKChmaXJzdExhc3RDaGlsZE5vZGUpID0+IHtcbiAgICAgIGxldCBwYWdlTnVtYmVyID0gbnVsbDtcblxuICAgICAgY29uc3QgZmlyc3RMYXN0Q2hpbGROb2RlUGFnZU51bWJlckhUTUxOb2RlID0gKGZpcnN0TGFzdENoaWxkTm9kZSBpbnN0YW5jZW9mIFBhZ2VOdW1iZXJIVE1MTm9kZSk7XG5cbiAgICAgIGlmIChmaXJzdExhc3RDaGlsZE5vZGVQYWdlTnVtYmVySFRNTE5vZGUpIHtcbiAgICAgICAgY29uc3QgcGFnZU51bWJlckhUTUxOb2RlID0gZmlyc3RMYXN0Q2hpbGROb2RlOyAgLy8vXG5cbiAgICAgICAgcGFnZU51bWJlciA9IHBhZ2VOdW1iZXJIVE1MTm9kZS5nZXRQYWdlTnVtYmVyKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwYWdlTnVtYmVyO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhZ2VOdW1iZXI7XG4gIH1cblxuICBwYWdpbmF0ZShodG1sVHJhbnNmb3JtcywgY29udGV4dCkge1xuICAgIGNvbnN0IGlnbm9yZWQgPSB0aGlzLmlzSWdub3JlZCgpO1xuXG4gICAgaWYgKGlnbm9yZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIHN0YXJ0ID0gMSxcbiAgICAgICAgICBkaXZpc2lvbkhUTUxOb2RlID0gdGhpcyxcbiAgICAgICAgICBmb290bm90ZXNEaXJlY3RpdmVIVE1MTm9kZSA9IGZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUobm9kZSksXG4gICAgICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlID0gcGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUobm9kZSk7XG5cbiAgICBsZXQgeyBwYWdlTnVtYmVyIH0gPSBjb250ZXh0O1xuXG4gICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgICBzdGFydFxuICAgIH0pO1xuXG4gICAgaWYgKGZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBmb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybSAgPSBkaXZpc2lvbkhUTUxOb2RlLnJlc29sdmVGb290bm90ZXMoY29udGV4dCk7XG5cbiAgICAgIGlmIChmb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAgICAgICBmb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybS5hcHBlbmRUb0RpdmlzaW9uSFRNTE5vZGUoZGl2aXNpb25IVE1MTm9kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcGFnZU51bWJlckhUTUxUcmFuc2Zvcm0gPSBkaXZpc2lvbkhUTUxOb2RlLnJlc29sdmVQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpO1xuXG4gICAgICBwYWdlTnVtYmVySFRNTFRyYW5zZm9ybS5hcHBlbmRUb0RpdmlzaW9uSFRNTE5vZGUoZGl2aXNpb25IVE1MTm9kZSk7XG4gICAgfVxuXG4gICAgbGV0IGh0bWxUcmFuc2Zvcm07XG5cbiAgICBjb25zdCBpbmRleEFuY2hvckhUTUxUcmFuc2Zvcm0gPSBJbmRleEFuY2hvckhUTUxUcmFuc2Zvcm0uZnJvbVBhZ2VOdW1iZXIocGFnZU51bWJlcik7XG5cbiAgICBodG1sVHJhbnNmb3JtID0gaW5kZXhBbmNob3JIVE1MVHJhbnNmb3JtOyAgLy8vXG5cbiAgICBodG1sVHJhbnNmb3Jtcy5wdXNoKGh0bWxUcmFuc2Zvcm0pO1xuXG4gICAgY29uc3QgZGl2aXNpb25IVE1MVHJhbnNmb3JtID0gRGl2aXNpb25IVE1MVHJhbnNmb3JtLmZyb21EaXZpc2lvbkhUTUxOb2RlKGRpdmlzaW9uSFRNTE5vZGUpO1xuXG4gICAgaHRtbFRyYW5zZm9ybSA9IGRpdmlzaW9uSFRNTFRyYW5zZm9ybTsgIC8vL1xuXG4gICAgaHRtbFRyYW5zZm9ybXMucHVzaChodG1sVHJhbnNmb3JtKTtcblxuICAgIHBhZ2VOdW1iZXIrKztcblxuICAgIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgICAgcGFnZU51bWJlclxuICAgIH0pO1xuXG4gICAgZGVsZXRlIGNvbnRleHQuc3RhcnQ7XG4gIH1cblxuICByZXNvbHZlRm9vdG5vdGVzKGNvbnRleHQpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGZvb3Rub3RlSFRNTE5vZGVzID0gZm9vdG5vdGVIVE1MTm9kZXNGcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBmb290bm90ZUxpbmtIVE1MTm9kZXMgPSBmb290bm90ZUxpbmtIVE1MTm9kZXNGcm9tTm9kZShub2RlKTtcblxuICAgIGxldCBzdGFydDtcblxuICAgICh7IHN0YXJ0ID0gMSB9ID0gY29udGV4dCk7XG5cbiAgICBjb25zdCBmb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtcyA9IFtdO1xuXG4gICAgbGV0IG51bWJlciA9IHN0YXJ0OyAvLy9cblxuICAgIGZvb3Rub3RlTGlua0hUTUxOb2Rlcy5mb3JFYWNoKChmb290bm90ZUxpbmtIVE1MTm9kZSkgPT4ge1xuICAgICAgY29uc3QgaWRlbnRpZmllciA9IGZvb3Rub3RlTGlua0hUTUxOb2RlLmlkZW50aWZpZXIoY29udGV4dCksXG4gICAgICAgICAgICBmb290bm90ZUhUTUxOb2RlID0gZXh0cmFjdChmb290bm90ZUhUTUxOb2RlcywgKGZvb3Rub3RlSFRNTE5vZGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaWRlbnRpZmllck1hdGNoZXMgPSBmb290bm90ZUhUTUxOb2RlLm1hdGNoSWRlbnRpZmllcihpZGVudGlmaWVyKTtcblxuICAgICAgICAgICAgICBpZiAoaWRlbnRpZmllck1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgICAgaWYgKGZvb3Rub3RlSFRNTE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgcGFyYWdyYXBoSFRNTE5vZGUgPSBmb290bm90ZUhUTUxOb2RlLmdldFBhcmFncmFwaEhUTUxOb2RlKCksXG4gICAgICAgICAgICAgIGZvb3Rub3RlSXRlbUhUTUxUcmFuc2Zvcm0gPSBGb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtLmZyb21QYXJhZ3JhcGhIVE1MTk9kZUFuZElkZW50aWZpZXIocGFyYWdyYXBoSFRNTE5vZGUsIGlkZW50aWZpZXIpXG5cbiAgICAgICAgZm9vdG5vdGVJdGVtSFRNTFRyYW5zZm9ybXMucHVzaChmb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtKTtcblxuICAgICAgICBmb290bm90ZUxpbmtIVE1MTm9kZS5zZXROdW1iZXIobnVtYmVyKTtcblxuICAgICAgICBudW1iZXIrKztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvb3Rub3RlTGlua0hUTUxOb2RlLnJlc2V0TnVtYmVyKClcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGZvb3Rub3Rlc0xpc3RIVE1MVHJhbnNmb3JtID0gRm9vdG5vdGVzTGlzdEhUTUxUcmFuc2Zvcm0uZnJvbVN0YXJ0QW5kRm9vdG5vdGVJdGVtSFRNTFRyYW5zZm9ybXMoc3RhcnQsIGZvb3Rub3RlSXRlbUhUTUxUcmFuc2Zvcm1zKTtcblxuICAgIHN0YXJ0ID0gbnVtYmVyOyAvLy9cblxuICAgIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgICAgc3RhcnRcbiAgICB9KTtcblxuICAgIHJldHVybiBmb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybTtcbiAgfVxuXG4gIHJlc29sdmVQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpIHtcbiAgICBjb25zdCBwYWdlTnVtYmVySFRNTFRyYW5zZm9ybSA9IFBhZ2VOdW1iZXJIVE1MVHJhbnNmb3JtLmZyb21QYWdlTnVtYmVyKHBhZ2VOdW1iZXIpO1xuXG4gICAgcmV0dXJuIHBhZ2VOdW1iZXJIVE1MVHJhbnNmb3JtO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSB0aGlzLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgc3RyaW5nID0gcnVsZU5hbWU7ICAvLy9cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGNsYXNzTmFtZSA9IG51bGw7XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGRpdmlzaW9uQ2xhc3NOYW1lID0gbnVsbCxcbiAgICAgICAgICBkaXZpc2lvbkhUTUxOb2RlID0gSFRNTE5vZGUuZnJvbU5vdGhpbmcoRGl2aXNpb25IVE1MTm9kZSwgZGl2aXNpb25DbGFzc05hbWUpO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uSFRNTE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU91dGVyTm9kZShvdXRlck5vZGUpIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IG91dGVyTm9kZSwgLy8vXG4gICAgICAgICAgZGl2aXNpb25DbGFzc05hbWUgPSBkaXZpc2lvbk1hcmtkb3duTm9kZS5nZXREaXZpc2lvbkNsYXNzTmFtZSgpLFxuICAgICAgICAgIGRpdmlzaW9uSFRNTE5vZGUgPSBIVE1MTm9kZS5mcm9tT3V0ZXJOb2RlKERpdmlzaW9uSFRNTE5vZGUsIG91dGVyTm9kZSwgZGl2aXNpb25DbGFzc05hbWUpO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uSFRNTE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhZ2luYXRlZEhUTUxOb2Rlc0FuZERpdmlzaW9uQ2xhc3NOYW1lKHBhZ2luYXRlZEhUTUxOb2RlcywgZGl2aXNpb25DbGFzc05hbWUpIHtcbiAgICBjb25zdCBjaGlsZEhUTUxOb2RlcyA9IHBhZ2luYXRlZEhUTUxOb2RlcywgIC8vL1xuICAgICAgICAgIGRpdmlzaW9uSFRNTE5vZGUgPSBIVE1MTm9kZS5mcm9tQ2hpbGRIVE1MTm9kZXMoRGl2aXNpb25IVE1MTm9kZSwgY2hpbGRIVE1MTm9kZXMsIGRpdmlzaW9uQ2xhc3NOYW1lKTtcblxuICAgIHJldHVybiBkaXZpc2lvbkhUTUxOb2RlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiRGl2aXNpb25IVE1MTm9kZSIsImV4dHJhY3QiLCJhcnJheVV0aWxpdGllcyIsIkhUTUxOb2RlIiwib3V0ZXJOb2RlIiwicGFyZW50Tm9kZSIsImNoaWxkTm9kZXMiLCJkb21FbGVtZW50IiwiZGl2aXNpb25DbGFzc05hbWUiLCJnZXREaXZpc2lvbkNsYXNzTmFtZSIsImdldERpdkRPTUVsZW1lbnQiLCJnZXRET01FbGVtZW50IiwiZGl2RE9NRWxlbWVudCIsImNsYXNzTmFtZSIsImNvbnRleHQiLCJnZXRSdWxlTmFtZSIsInJ1bGVObWUiLCJESVZJU0lPTl9NQVJLRE9XTl9SVUxFX05BTUUiLCJpc0lnbm9yZWQiLCJtYXJrZG93bk5vZGUiLCJnZXRNYXJrZG93bk5vZGUiLCJkaXZpc2lvbk1hcmtkb3duTm9kZSIsImlnbm9yZWQiLCJwYWdlTnVtYmVyIiwiZnJvbUZpcnN0TGFzdENoaWxkTm9kZSIsImZpcnN0TGFzdENoaWxkTm9kZSIsImZpcnN0TGFzdENoaWxkTm9kZVBhZ2VOdW1iZXJIVE1MTm9kZSIsIlBhZ2VOdW1iZXJIVE1MTm9kZSIsInBhZ2VOdW1iZXJIVE1MTm9kZSIsImdldFBhZ2VOdW1iZXIiLCJwYWdpbmF0ZSIsImh0bWxUcmFuc2Zvcm1zIiwibm9kZSIsInN0YXJ0IiwiZGl2aXNpb25IVE1MTm9kZSIsImZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlIiwiZm9vdG5vdGVzRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZSIsInBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZSIsInBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZUZyb21Ob2RlIiwiT2JqZWN0IiwiYXNzaWduIiwiZm9vdG5vdGVzTGlzdEhUTUxUcmFuc2Zvcm0iLCJyZXNvbHZlRm9vdG5vdGVzIiwiYXBwZW5kVG9EaXZpc2lvbkhUTUxOb2RlIiwicGFnZU51bWJlckhUTUxUcmFuc2Zvcm0iLCJyZXNvbHZlUGFnZU51bWJlciIsImh0bWxUcmFuc2Zvcm0iLCJpbmRleEFuY2hvckhUTUxUcmFuc2Zvcm0iLCJJbmRleEFuY2hvckhUTUxUcmFuc2Zvcm0iLCJmcm9tUGFnZU51bWJlciIsInB1c2giLCJkaXZpc2lvbkhUTUxUcmFuc2Zvcm0iLCJEaXZpc2lvbkhUTUxUcmFuc2Zvcm0iLCJmcm9tRGl2aXNpb25IVE1MTm9kZSIsImZvb3Rub3RlSFRNTE5vZGVzIiwiZm9vdG5vdGVIVE1MTm9kZXNGcm9tTm9kZSIsImZvb3Rub3RlTGlua0hUTUxOb2RlcyIsImZvb3Rub3RlTGlua0hUTUxOb2Rlc0Zyb21Ob2RlIiwiZm9vdG5vdGVJdGVtSFRNTFRyYW5zZm9ybXMiLCJudW1iZXIiLCJmb3JFYWNoIiwiZm9vdG5vdGVMaW5rSFRNTE5vZGUiLCJpZGVudGlmaWVyIiwiZm9vdG5vdGVIVE1MTm9kZSIsImlkZW50aWZpZXJNYXRjaGVzIiwibWF0Y2hJZGVudGlmaWVyIiwicGFyYWdyYXBoSFRNTE5vZGUiLCJnZXRQYXJhZ3JhcGhIVE1MTm9kZSIsImZvb3Rub3RlSXRlbUhUTUxUcmFuc2Zvcm0iLCJGb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtIiwiZnJvbVBhcmFncmFwaEhUTUxOT2RlQW5kSWRlbnRpZmllciIsInNldE51bWJlciIsInJlc2V0TnVtYmVyIiwiRm9vdG5vdGVzTGlzdEhUTUxUcmFuc2Zvcm0iLCJmcm9tU3RhcnRBbmRGb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtcyIsIlBhZ2VOdW1iZXJIVE1MVHJhbnNmb3JtIiwiYXNTdHJpbmciLCJydWxlTmFtZSIsInN0cmluZyIsInRhZ05hbWUiLCJmcm9tTm90aGluZyIsImZyb21PdXRlck5vZGUiLCJmcm9tUGFnaW5hdGVkSFRNTE5vZGVzQW5kRGl2aXNpb25DbGFzc05hbWUiLCJwYWdpbmF0ZWRIVE1MTm9kZXMiLCJjaGlsZEhUTUxOb2RlcyIsImZyb21DaGlsZEhUTUxOb2RlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBb0JBOzs7ZUFBcUJBOzs7MkJBbEJVOzZEQUVWO21FQUNVO2lFQUNHO29FQUNFOzhEQUNDO2lFQUNDO2tFQUNDOzBCQUVLO3VCQUlROzs7Ozs7QUFFcEQsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBR0MseUJBQWM7QUFFbkIsTUFBTUYseUJBQXlCRyxhQUFRO0lBQ3BELFlBQVlDLFNBQVMsRUFBRUMsVUFBVSxFQUFFQyxVQUFVLEVBQUVDLFVBQVUsRUFBRUMsaUJBQWlCLENBQUU7UUFDNUUsS0FBSyxDQUFDSixXQUFXQyxZQUFZQyxZQUFZQztRQUV6QyxJQUFJLENBQUNDLGlCQUFpQixHQUFHQTtJQUMzQjtJQUVBQyx1QkFBdUI7UUFDckIsT0FBTyxJQUFJLENBQUNELGlCQUFpQjtJQUMvQjtJQUVBRSxtQkFBbUI7UUFDakIsTUFBTUgsYUFBYSxJQUFJLENBQUNJLGFBQWEsSUFDL0JDLGdCQUFnQkwsWUFBYSxHQUFHO1FBRXRDLE9BQU9LO0lBQ1Q7SUFFQUMsVUFBVUMsT0FBTyxFQUFFO1FBQ2pCLE1BQU1ELFlBQVksSUFBSSxDQUFDTCxpQkFBaUIsRUFBRSxHQUFHO1FBRTdDLE9BQU9LO0lBQ1Q7SUFFQUUsY0FBYztRQUNaLE1BQU1DLFVBQVVDLHFDQUEyQjtRQUUzQyxPQUFPRDtJQUNUO0lBRUFFLFlBQVk7UUFDVixNQUFNQyxlQUFlLElBQUksQ0FBQ0MsZUFBZSxJQUNuQ0MsdUJBQXVCRixjQUN2QkcsVUFBVUQscUJBQXFCSCxTQUFTO1FBRTlDLE9BQU9JO0lBQ1Q7SUFFQUMsV0FBV1QsT0FBTyxFQUFFO1FBQ2xCLE1BQU1TLGFBQWEsSUFBSSxDQUFDQyxzQkFBc0IsQ0FBQyxDQUFDQztZQUM5QyxJQUFJRixhQUFhO1lBRWpCLE1BQU1HLHVDQUF3Q0QsOEJBQThCRSxtQkFBa0I7WUFFOUYsSUFBSUQsc0NBQXNDO2dC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
|