highmark-markdown 0.0.426 → 0.0.430
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/example.js +4002 -1871
- package/lib/constants.js +17 -1
- package/lib/defaultMarkdownStyle.js +2 -2
- package/lib/elementMap.js +20 -5
- package/lib/example/importer.js +5 -5
- package/lib/example/indexOptions.js +143 -0
- package/lib/example/view/div/sizeable/right.js +2 -2
- package/lib/example/view.js +14 -2
- package/lib/example.js +3 -3
- package/lib/index/phraseMatcher.js +76 -0
- package/lib/markdown/bnf.js +2 -2
- package/lib/markdown/lexer.js +11 -11
- package/lib/markdown/parser.js +12 -12
- package/lib/node/markdown/anchor.js +15 -8
- package/lib/node/markdown/comma.js +144 -0
- package/lib/node/markdown/contentsLink.js +3 -2
- package/lib/node/markdown/contentsList.js +10 -2
- package/lib/node/markdown/directive/index.js +120 -0
- package/lib/node/markdown/directive.js +10 -2
- package/lib/node/markdown/division.js +49 -9
- package/lib/node/markdown/{link.js → footnoteLink.js} +14 -13
- package/lib/node/markdown/footnotesItem.js +5 -12
- package/lib/node/markdown/heading.js +10 -2
- package/lib/node/markdown/indexItem.js +120 -0
- package/lib/node/markdown/indexLink.js +168 -0
- package/lib/node/markdown/indexList.js +138 -0
- package/lib/node/markdown/line.js +16 -2
- package/lib/node/markdown/subDivision.js +21 -2
- package/lib/node/markdown/verticalSpace.js +12 -1
- package/lib/node/markdown.js +32 -2
- package/lib/nodeMap.js +8 -3
- package/lib/prepends.js +26 -0
- package/lib/replacement/contentsList.js +3 -2
- package/lib/replacement/footnotesList.js +8 -8
- package/lib/replacement/indexItem.js +131 -0
- package/lib/replacement/indexList.js +166 -0
- package/lib/replacement/subDivision/footnotesDirective.js +2 -33
- package/lib/replacement/subDivision/indexAnchor.js +124 -0
- package/lib/replacement/subDivision/indexDirective.js +126 -0
- package/lib/replacement/subDivision/pageNumberDirective.js +2 -33
- package/lib/replacement/subDivision.js +15 -1
- package/lib/replacement.js +22 -45
- package/lib/ruleNames.js +31 -6
- package/lib/styleElement/markdown/default.js +4 -4
- package/lib/styleElement/markdown.js +3 -3
- package/lib/utilities/footnotes.js +10 -10
- package/lib/utilities/index.js +246 -0
- package/lib/utilities/object.js +59 -0
- package/lib/utilities/processing.js +10 -1
- package/lib/utilities/query.js +26 -18
- package/lib/utilities/replacement.js +67 -1
- package/package.json +3 -3
- package/src/constants.js +4 -0
- package/src/defaultMarkdownStyle.js +13 -1
- package/src/elementMap.js +30 -5
- package/src/example/importer.js +21 -5
- package/src/example/indexOptions.js +134 -0
- package/src/example/view/div/sizeable/right.js +1 -1
- package/src/example/view.js +20 -1
- package/src/example.js +2 -2
- package/src/index/phraseMatcher.js +38 -0
- package/src/markdown/bnf.js +21 -5
- package/src/markdown/lexer.js +10 -10
- package/src/markdown/parser.js +12 -12
- package/src/node/markdown/anchor.js +11 -6
- package/src/node/markdown/comma.js +32 -0
- package/src/node/markdown/contentsLink.js +3 -1
- package/src/node/markdown/contentsList.js +6 -0
- package/src/node/markdown/directive/index.js +7 -0
- package/src/node/markdown/directive.js +6 -0
- package/src/node/markdown/division.js +60 -9
- package/src/node/markdown/{link.js → footnoteLink.js} +7 -5
- package/src/node/markdown/footnotesItem.js +4 -11
- package/src/node/markdown/heading.js +11 -2
- package/src/node/markdown/indexItem.js +7 -0
- package/src/node/markdown/indexLink.js +63 -0
- package/src/node/markdown/indexList.js +34 -0
- package/src/node/markdown/line.js +15 -2
- package/src/node/markdown/subDivision.js +25 -2
- package/src/node/markdown/verticalSpace.js +15 -0
- package/src/node/markdown.js +44 -2
- package/src/nodeMap.js +18 -3
- package/src/prepends.js +5 -0
- package/src/replacement/contentsList.js +3 -1
- package/src/replacement/footnotesList.js +9 -7
- package/src/replacement/indexItem.js +28 -0
- package/src/replacement/indexList.js +45 -0
- package/src/replacement/subDivision/footnotesDirective.js +0 -6
- package/src/replacement/subDivision/indexAnchor.js +20 -0
- package/src/replacement/subDivision/indexDirective.js +20 -0
- package/src/replacement/subDivision/pageNumberDirective.js +0 -6
- package/src/replacement/subDivision.js +12 -0
- package/src/replacement.js +41 -68
- package/src/ruleNames.js +12 -2
- package/src/styleElement/markdown/default.js +2 -2
- package/src/styleElement/markdown.js +1 -1
- package/src/utilities/footnotes.js +8 -8
- package/src/utilities/index.js +335 -0
- package/src/utilities/object.js +50 -0
- package/src/utilities/processing.js +12 -0
- package/src/utilities/query.js +21 -13
- package/src/utilities/replacement.js +81 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "indexMapFromDivisionMarkdownNodes", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return indexMapFromDivisionMarkdownNodes;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _necessary = require("necessary");
|
|
12
|
+
var _phraseMatcher = /*#__PURE__*/ _interop_require_default(require("../index/phraseMatcher"));
|
|
13
|
+
var _constants = require("../constants");
|
|
14
|
+
var _object = require("../utilities/object");
|
|
15
|
+
function _array_like_to_array(arr, len) {
|
|
16
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
17
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
18
|
+
return arr2;
|
|
19
|
+
}
|
|
20
|
+
function _array_without_holes(arr) {
|
|
21
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
22
|
+
}
|
|
23
|
+
function _interop_require_default(obj) {
|
|
24
|
+
return obj && obj.__esModule ? obj : {
|
|
25
|
+
default: obj
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function _iterable_to_array(iter) {
|
|
29
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
30
|
+
}
|
|
31
|
+
function _non_iterable_spread() {
|
|
32
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
33
|
+
}
|
|
34
|
+
function _to_consumable_array(arr) {
|
|
35
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
36
|
+
}
|
|
37
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
38
|
+
if (!o) return;
|
|
39
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
40
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
41
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
42
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
43
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
44
|
+
}
|
|
45
|
+
var compress = _necessary.arrayUtilities.compress;
|
|
46
|
+
function indexMapFromDivisionMarkdownNodes(divisionMarkdownNodes, context) {
|
|
47
|
+
var indexMap = createIndexMap(divisionMarkdownNodes, context);
|
|
48
|
+
removeIgnoredWords(indexMap, context);
|
|
49
|
+
adjustProperNouns(indexMap, context);
|
|
50
|
+
adjustAcronyms(indexMap, context);
|
|
51
|
+
adjustMixedPlurals(indexMap, context);
|
|
52
|
+
adjustPluralPlurals(indexMap, context);
|
|
53
|
+
adjustSingularPlurals(indexMap, context);
|
|
54
|
+
compressPageNumbers(indexMap);
|
|
55
|
+
return indexMap;
|
|
56
|
+
}
|
|
57
|
+
function createIndexMap(divisionMarkdownNodes, context) {
|
|
58
|
+
var indexMap = {};
|
|
59
|
+
var indexOptions = context.indexOptions, phrases = indexOptions.phrases, phraseMatchers = phrases.map(function(phrase) {
|
|
60
|
+
var phraseMatcher = _phraseMatcher.default.fromPhrase(phrase);
|
|
61
|
+
return phraseMatcher;
|
|
62
|
+
});
|
|
63
|
+
divisionMarkdownNodes.forEach(function(divisionMarkdownNode) {
|
|
64
|
+
var pageNumber = divisionMarkdownNode.getPageNumber();
|
|
65
|
+
if (pageNumber !== null) {
|
|
66
|
+
var plainText = divisionMarkdownNode.asPlainText(context), entries = entriesFromPlainTextAndPhraseMatchers(plainText, phraseMatchers);
|
|
67
|
+
entries.forEach(function(entry) {
|
|
68
|
+
var pageNumbers = indexMap[entry] || null;
|
|
69
|
+
if (pageNumbers === null) {
|
|
70
|
+
pageNumbers = [];
|
|
71
|
+
indexMap[entry] = pageNumbers;
|
|
72
|
+
}
|
|
73
|
+
pageNumbers.push(pageNumber);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
return indexMap;
|
|
78
|
+
}
|
|
79
|
+
function entriesFromPlainTextAndPhraseMatchers(plainText, phraseMatchers) {
|
|
80
|
+
var entries;
|
|
81
|
+
plainText = preparePlainText(plainText); ///
|
|
82
|
+
phraseMatchers.forEach(function(phraseMatcher) {
|
|
83
|
+
plainText = phraseMatcher.replace(plainText);
|
|
84
|
+
});
|
|
85
|
+
entries = plainText.split(_constants.SINGLE_SPACE);
|
|
86
|
+
entries = entries.map(function(entry) {
|
|
87
|
+
entry = _phraseMatcher.default.revert(entry); ///
|
|
88
|
+
return entry;
|
|
89
|
+
});
|
|
90
|
+
return entries;
|
|
91
|
+
}
|
|
92
|
+
function compressPageNumbers(indexMap) {
|
|
93
|
+
(0, _object.mapValues)(indexMap, function(entry, pageNumbers) {
|
|
94
|
+
compress(pageNumbers, function(pageNumberA, pageNumberB) {
|
|
95
|
+
if (pageNumberA === pageNumberB) {
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
pageNumbers.sort();
|
|
100
|
+
return pageNumbers;
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
function removeIgnoredWords(indexMap, context) {
|
|
104
|
+
var indexOptions = context.indexOptions, ignoredWords = indexOptions.ignoredWords;
|
|
105
|
+
ignoredWords.forEach(function(ignoredWord) {
|
|
106
|
+
delete indexMap[ignoredWord];
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
function adjustProperNouns(indexMap, context) {
|
|
110
|
+
var indexOptions = context.indexOptions, properNouns = indexOptions.properNouns;
|
|
111
|
+
var lowerCaseProperNouns = properNouns.map(function(properNoun) {
|
|
112
|
+
var lowerCaseProperNoun = properNoun.toLowerCase();
|
|
113
|
+
return lowerCaseProperNoun;
|
|
114
|
+
});
|
|
115
|
+
(0, _object.mapKeys)(indexMap, function(entry) {
|
|
116
|
+
var index = lowerCaseProperNouns.findIndex(function(lowerCaseProperNmae) {
|
|
117
|
+
if (lowerCaseProperNmae === entry) {
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
if (index > -1) {
|
|
122
|
+
var properNoun = properNouns[index];
|
|
123
|
+
entry = properNoun; ///
|
|
124
|
+
}
|
|
125
|
+
return entry;
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
function preparePlainText(plainText) {
|
|
129
|
+
plainText = plainText.toLowerCase(); ///
|
|
130
|
+
plainText = plainText.replace(/[^a-z ]/g, _constants.SINGLE_SPACE);
|
|
131
|
+
plainText = plainText.replace(/\s+/g, _constants.SINGLE_SPACE);
|
|
132
|
+
plainText = plainText.replace(/^\s+|\s+$/g, _constants.EMPTY_STRING);
|
|
133
|
+
return plainText;
|
|
134
|
+
}
|
|
135
|
+
function adjustAcronyms(indexMap, context) {
|
|
136
|
+
var indexOptions = context.indexOptions, acronyms = indexOptions.acronyms;
|
|
137
|
+
var lowerCaseAcronyms = acronyms.map(function(acronym) {
|
|
138
|
+
var lowerCaseAcronym = acronym.toLowerCase();
|
|
139
|
+
return lowerCaseAcronym;
|
|
140
|
+
});
|
|
141
|
+
(0, _object.mapKeys)(indexMap, function(entry) {
|
|
142
|
+
var index = lowerCaseAcronyms.findIndex(function(lowerCaseProperNmae) {
|
|
143
|
+
if (lowerCaseProperNmae === entry) {
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
if (index > -1) {
|
|
148
|
+
var acronym = acronyms[index];
|
|
149
|
+
entry = acronym; ///
|
|
150
|
+
}
|
|
151
|
+
return entry;
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
function adjustMixedPlurals(indexMap, context) {
|
|
155
|
+
var indexOptions = context.indexOptions, plurals = indexOptions.plurals, mixedPlurals = mixedPluralsFromPlurals(plurals);
|
|
156
|
+
(0, _object.forEach)(indexMap, function(entry, pageNumbers) {
|
|
157
|
+
var entryPlural = isPlural(entry);
|
|
158
|
+
if (entryPlural) {
|
|
159
|
+
var singularEntry = entry.replace(/s$/, _constants.EMPTY_STRING), mixedEntry = "".concat(singularEntry, "(s)"), mixedPluralsIncludesMixedEntry = mixedPlurals.includes(mixedEntry), entryMixedPlural = mixedPluralsIncludesMixedEntry; ///
|
|
160
|
+
if (entryMixedPlural) {
|
|
161
|
+
var pluralPageNumbers = pageNumbers, singularPageNumbers = indexMap[singularEntry] || [];
|
|
162
|
+
pageNumbers = _to_consumable_array(pluralPageNumbers).concat(_to_consumable_array(singularPageNumbers));
|
|
163
|
+
delete indexMap[entry];
|
|
164
|
+
delete indexMap[singularEntry];
|
|
165
|
+
indexMap[mixedEntry] = pageNumbers;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
function adjustPluralPlurals(indexMap, context) {
|
|
171
|
+
var indexOptions = context.indexOptions, plurals = indexOptions.plurals, pluralPlurals = pluralPluralsFromPlurals(plurals);
|
|
172
|
+
(0, _object.forEach)(indexMap, function(entry, pageNumbers) {
|
|
173
|
+
var entryPlural = isPlural(entry);
|
|
174
|
+
if (entryPlural) {
|
|
175
|
+
var singularEntry = entry.replace(/s$/, _constants.EMPTY_STRING), pluralPluralsIncludesEntry = pluralPlurals.includes(entry), entryPluralPlural = pluralPluralsIncludesEntry; ///
|
|
176
|
+
if (entryPluralPlural) {
|
|
177
|
+
var pluralPageNumbers = pageNumbers, singularPageNumbers = indexMap[singularEntry] || [];
|
|
178
|
+
pageNumbers = _to_consumable_array(pluralPageNumbers).concat(_to_consumable_array(singularPageNumbers));
|
|
179
|
+
delete indexMap[singularEntry];
|
|
180
|
+
indexMap[entry] = pageNumbers;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
function adjustSingularPlurals(indexMap, context) {
|
|
186
|
+
var indexOptions = context.indexOptions, plurals = indexOptions.plurals, singularPlurals = singularPluralsFromPlurals(plurals);
|
|
187
|
+
(0, _object.forEach)(indexMap, function(entry, pageNumbers) {
|
|
188
|
+
var entryPlural = isPlural(entry);
|
|
189
|
+
if (entryPlural) {
|
|
190
|
+
var singularEntry = entry.replace(/s$/, _constants.EMPTY_STRING), singularPluralsIncludesSingularEntry = singularPlurals.includes(singularEntry), entrySingularPlural = singularPluralsIncludesSingularEntry; ///
|
|
191
|
+
if (entrySingularPlural) {
|
|
192
|
+
var pluralPageNumbers = pageNumbers, singularPageNumbers = indexMap[singularEntry] || [];
|
|
193
|
+
pageNumbers = _to_consumable_array(pluralPageNumbers).concat(_to_consumable_array(singularPageNumbers));
|
|
194
|
+
delete indexMap[entry];
|
|
195
|
+
indexMap[singularEntry] = pageNumbers;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
function singularPluralsFromPlurals(plurals) {
|
|
201
|
+
var singularPlurals = plurals.reduce(function(singularPlurals, plural) {
|
|
202
|
+
var pluralSingular = isSingular(plural);
|
|
203
|
+
if (pluralSingular) {
|
|
204
|
+
var singularPlural = plural; ///
|
|
205
|
+
singularPlurals.push(singularPlural);
|
|
206
|
+
}
|
|
207
|
+
return singularPlurals;
|
|
208
|
+
}, []);
|
|
209
|
+
return singularPlurals;
|
|
210
|
+
}
|
|
211
|
+
function pluralPluralsFromPlurals(plurals) {
|
|
212
|
+
var pluralPlurals = plurals.reduce(function(pluralPlurals, plural) {
|
|
213
|
+
var pluralPlural = isPlural(plural);
|
|
214
|
+
if (pluralPlural) {
|
|
215
|
+
var pluralPlural1 = plural; ///
|
|
216
|
+
pluralPlurals.push(pluralPlural1);
|
|
217
|
+
}
|
|
218
|
+
return pluralPlurals;
|
|
219
|
+
}, []);
|
|
220
|
+
return pluralPlurals;
|
|
221
|
+
}
|
|
222
|
+
function mixedPluralsFromPlurals(plurals) {
|
|
223
|
+
var mixedPlurals = plurals.reduce(function(mixedPlurals, plural) {
|
|
224
|
+
var pluralMixed = isMixed(plural);
|
|
225
|
+
if (pluralMixed) {
|
|
226
|
+
var mixedPlural = plural; ///
|
|
227
|
+
mixedPlurals.push(mixedPlural);
|
|
228
|
+
}
|
|
229
|
+
return mixedPlurals;
|
|
230
|
+
}, []);
|
|
231
|
+
return mixedPlurals;
|
|
232
|
+
}
|
|
233
|
+
function isSingular(text) {
|
|
234
|
+
var matches = /[^s)]$/.test(text), pluralSingular = matches; ///
|
|
235
|
+
return pluralSingular;
|
|
236
|
+
}
|
|
237
|
+
function isPlural(text) {
|
|
238
|
+
var matches = /s$/.test(text), plural = matches; ///
|
|
239
|
+
return plural;
|
|
240
|
+
}
|
|
241
|
+
function isMixed(text) {
|
|
242
|
+
var matches = /\(s\)$/.test(text), plural = matches; ///
|
|
243
|
+
return plural;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgUGhyYXNlTWF0Y2hlciBmcm9tIFwiLi4vaW5kZXgvcGhyYXNlTWF0Y2hlclwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIFNJTkdMRV9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGZvckVhY2gsIG1hcFZhbHVlcywgbWFwS2V5cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvb2JqZWN0XCI7XG5cbmNvbnN0IHsgY29tcHJlc3MgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5kZXhNYXBGcm9tRGl2aXNpb25NYXJrZG93bk5vZGVzKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICBjb25zdCBpbmRleE1hcCA9IGNyZWF0ZUluZGV4TWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCk7XG5cbiAgcmVtb3ZlSWdub3JlZFdvcmRzKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBhZGp1c3RQcm9wZXJOb3VucyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0QWNyb255bXMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdE1peGVkUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0UGx1cmFsUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0U2luZ3VsYXJQbHVyYWxzKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluZGV4TWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICBjb25zdCBpbmRleE1hcCA9IHt9O1xuXG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHBocmFzZXMgfSA9IGluZGV4T3B0aW9ucyxcbiAgICAgICAgcGhyYXNlTWF0Y2hlcnMgPSBwaHJhc2VzLm1hcCgocGhyYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGhyYXNlTWF0Y2hlciA9IFBocmFzZU1hdGNoZXIuZnJvbVBocmFzZShwaHJhc2UpO1xuXG4gICAgICAgICAgcmV0dXJuIHBocmFzZU1hdGNoZXI7XG4gICAgICAgIH0pO1xuXG4gIGRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5mb3JFYWNoKChkaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgIGNvbnN0IHBhZ2VOdW1iZXIgPSBkaXZpc2lvbk1hcmtkb3duTm9kZS5nZXRQYWdlTnVtYmVyKCk7XG5cbiAgICBpZiAocGFnZU51bWJlciAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcGxhaW5UZXh0ID0gZGl2aXNpb25NYXJrZG93bk5vZGUuYXNQbGFpblRleHQoY29udGV4dCksXG4gICAgICAgICAgICBlbnRyaWVzID0gZW50cmllc0Zyb21QbGFpblRleHRBbmRQaHJhc2VNYXRjaGVycyhwbGFpblRleHQsIHBocmFzZU1hdGNoZXJzKTtcblxuICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICBsZXQgcGFnZU51bWJlcnMgPSBpbmRleE1hcFtlbnRyeV0gfHwgbnVsbDtcblxuICAgICAgICBpZiAocGFnZU51bWJlcnMgPT09IG51bGwpIHtcbiAgICAgICAgICBwYWdlTnVtYmVycyA9IFtdO1xuXG4gICAgICAgICAgaW5kZXhNYXBbZW50cnldID0gcGFnZU51bWJlcnM7XG4gICAgICAgIH1cblxuICAgICAgICBwYWdlTnVtYmVycy5wdXNoKHBhZ2VOdW1iZXIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIGVudHJpZXNGcm9tUGxhaW5UZXh0QW5kUGhyYXNlTWF0Y2hlcnMocGxhaW5UZXh0LCBwaHJhc2VNYXRjaGVycykge1xuICBsZXQgZW50cmllcztcblxuICBwbGFpblRleHQgPSBwcmVwYXJlUGxhaW5UZXh0KHBsYWluVGV4dCk7ICAvLy9cblxuICBwaHJhc2VNYXRjaGVycy5mb3JFYWNoKChwaHJhc2VNYXRjaGVyKSA9PiB7XG4gICAgcGxhaW5UZXh0ID0gcGhyYXNlTWF0Y2hlci5yZXBsYWNlKHBsYWluVGV4dCk7XG4gIH0pO1xuXG4gIGVudHJpZXMgPSBwbGFpblRleHQuc3BsaXQoU0lOR0xFX1NQQUNFKTtcblxuICBlbnRyaWVzID0gZW50cmllcy5tYXAoKGVudHJ5KSA9PiB7XG4gICAgZW50cnkgPSBQaHJhc2VNYXRjaGVyLnJldmVydChlbnRyeSk7ICAvLy9cblxuICAgIHJldHVybiBlbnRyeTtcbiAgfSk7XG5cbiAgcmV0dXJuIGVudHJpZXM7XG59XG5cbmZ1bmN0aW9uIGNvbXByZXNzUGFnZU51bWJlcnMoaW5kZXhNYXApIHtcbiAgbWFwVmFsdWVzKGluZGV4TWFwLCAoZW50cnksIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29tcHJlc3MocGFnZU51bWJlcnMsIChwYWdlTnVtYmVyQSwgcGFnZU51bWJlckIpID0+IHtcbiAgICAgIGlmIChwYWdlTnVtYmVyQSA9PT0gcGFnZU51bWJlckIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBwYWdlTnVtYmVycy5zb3J0KCk7XG5cbiAgICByZXR1cm4gcGFnZU51bWJlcnM7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVJZ25vcmVkV29yZHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgaWdub3JlZFdvcmRzIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgaWdub3JlZFdvcmRzLmZvckVhY2goKGlnbm9yZWRXb3JkKSA9PiB7XG4gICAgZGVsZXRlIGluZGV4TWFwW2lnbm9yZWRXb3JkXTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdFByb3Blck5vdW5zKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHByb3Blck5vdW5zIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgY29uc3QgbG93ZXJDYXNlUHJvcGVyTm91bnMgPSBwcm9wZXJOb3Vucy5tYXAoKHByb3Blck5vdW4pID0+IHtcbiAgICBjb25zdCBsb3dlckNhc2VQcm9wZXJOb3VuID0gcHJvcGVyTm91bi50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGxvd2VyQ2FzZVByb3Blck5vdW47XG4gIH0pO1xuXG4gIG1hcEtleXMoaW5kZXhNYXAsIChlbnRyeSkgPT4ge1xuICAgIGNvbnN0IGluZGV4ID0gbG93ZXJDYXNlUHJvcGVyTm91bnMuZmluZEluZGV4KChsb3dlckNhc2VQcm9wZXJObWFlKSA9PiB7XG4gICAgICBpZiAobG93ZXJDYXNlUHJvcGVyTm1hZSA9PT0gZW50cnkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgY29uc3QgcHJvcGVyTm91biA9IHByb3Blck5vdW5zW2luZGV4XTtcblxuICAgICAgZW50cnkgPSBwcm9wZXJOb3VuOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIGVudHJ5O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZVBsYWluVGV4dChwbGFpblRleHQpIHtcbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnRvTG93ZXJDYXNlKCk7ICAvLy9cblxuICBwbGFpblRleHQgPSBwbGFpblRleHQucmVwbGFjZSgvW15hLXogXS9nLCBTSU5HTEVfU1BBQ0UpO1xuXG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC5yZXBsYWNlKC9cXHMrL2csIFNJTkdMRV9TUEFDRSk7XG5cbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnJlcGxhY2UoL15cXHMrfFxccyskL2csIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHBsYWluVGV4dDtcbn1cblxuZnVuY3Rpb24gYWRqdXN0QWNyb255bXMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgYWNyb255bXMgfSA9IGluZGV4T3B0aW9ucztcblxuICBjb25zdCBsb3dlckNhc2VBY3JvbnltcyA9IGFjcm9ueW1zLm1hcCgoYWNyb255bSkgPT4ge1xuICAgIGNvbnN0IGxvd2VyQ2FzZUFjcm9ueW0gPSBhY3JvbnltLnRvTG93ZXJDYXNlKCk7XG5cbiAgICByZXR1cm4gbG93ZXJDYXNlQWNyb255bTtcbiAgfSk7XG5cbiAgbWFwS2V5cyhpbmRleE1hcCwgKGVudHJ5KSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSBsb3dlckNhc2VBY3Jvbnltcy5maW5kSW5kZXgoKGxvd2VyQ2FzZVByb3Blck5tYWUpID0+IHtcbiAgICAgIGlmIChsb3dlckNhc2VQcm9wZXJObWFlID09PSBlbnRyeSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb25zdCBhY3JvbnltID0gYWNyb255bXNbaW5kZXhdO1xuXG4gICAgICBlbnRyeSA9IGFjcm9ueW07ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gZW50cnk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgcGx1cmFscyB9ID0gaW5kZXhPcHRpb25zLFxuICAgICAgICBtaXhlZFBsdXJhbHMgPSBtaXhlZFBsdXJhbHNGcm9tUGx1cmFscyhwbHVyYWxzKTtcblxuICBmb3JFYWNoKGluZGV4TWFwLCAoZW50cnksIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3QgZW50cnlQbHVyYWwgPSBpc1BsdXJhbChlbnRyeSk7XG5cbiAgICBpZiAoZW50cnlQbHVyYWwpIHtcbiAgICAgIGNvbnN0IHNpbmd1bGFyRW50cnkgPSBlbnRyeS5yZXBsYWNlKC9zJC8sIEVNUFRZX1NUUklORyksXG4gICAgICAgICAgICBtaXhlZEVudHJ5ID0gYCR7c2luZ3VsYXJFbnRyeX0ocylgLFxuICAgICAgICAgICAgbWl4ZWRQbHVyYWxzSW5jbHVkZXNNaXhlZEVudHJ5ID0gbWl4ZWRQbHVyYWxzLmluY2x1ZGVzKG1peGVkRW50cnkpLFxuICAgICAgICAgICAgZW50cnlNaXhlZFBsdXJhbCA9IG1peGVkUGx1cmFsc0luY2x1ZGVzTWl4ZWRFbnRyeTsgLy8vXG5cbiAgICAgIGlmIChlbnRyeU1peGVkUGx1cmFsKSB7XG4gICAgICAgIGNvbnN0IHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgICAgc2luZ3VsYXJQYWdlTnVtYmVycyA9IGluZGV4TWFwW3Npbmd1bGFyRW50cnldIHx8IFtdO1xuXG4gICAgICAgIHBhZ2VOdW1iZXJzID0gWyAvLy9cbiAgICAgICAgICAuLi5wbHVyYWxQYWdlTnVtYmVycyxcbiAgICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzXG4gICAgICAgIF07XG5cbiAgICAgICAgZGVsZXRlIGluZGV4TWFwW2VudHJ5XTtcbiAgICAgICAgZGVsZXRlIGluZGV4TWFwW3Npbmd1bGFyRW50cnldO1xuXG4gICAgICAgIGluZGV4TWFwW21peGVkRW50cnldID0gcGFnZU51bWJlcnM7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0UGx1cmFsUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBwbHVyYWxzIH0gPSBpbmRleE9wdGlvbnMsXG4gICAgICAgIHBsdXJhbFBsdXJhbHMgPSBwbHVyYWxQbHVyYWxzRnJvbVBsdXJhbHMocGx1cmFscyk7XG5cbiAgZm9yRWFjaChpbmRleE1hcCwgKGVudHJ5LCBwYWdlTnVtYmVycykgPT4ge1xuICAgIGNvbnN0IGVudHJ5UGx1cmFsID0gaXNQbHVyYWwoZW50cnkpO1xuXG4gICAgaWYgKGVudHJ5UGx1cmFsKSB7XG4gICAgICBjb25zdCBzaW5ndWxhckVudHJ5ID0gZW50cnkucmVwbGFjZSgvcyQvLCBFTVBUWV9TVFJJTkcpLFxuICAgICAgICAgICAgcGx1cmFsUGx1cmFsc0luY2x1ZGVzRW50cnkgPSBwbHVyYWxQbHVyYWxzLmluY2x1ZGVzKGVudHJ5KSxcbiAgICAgICAgICAgIGVudHJ5UGx1cmFsUGx1cmFsID0gcGx1cmFsUGx1cmFsc0luY2x1ZGVzRW50cnk7IC8vL1xuXG4gICAgICBpZiAoZW50cnlQbHVyYWxQbHVyYWwpIHtcbiAgICAgICAgY29uc3QgcGx1cmFsUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgICBzaW5ndWxhclBhZ2VOdW1iZXJzID0gaW5kZXhNYXBbc2luZ3VsYXJFbnRyeV0gfHwgW107XG5cbiAgICAgICAgcGFnZU51bWJlcnMgPSBbIC8vL1xuICAgICAgICAgIC4uLnBsdXJhbFBhZ2VOdW1iZXJzLFxuICAgICAgICAgIC4uLnNpbmd1bGFyUGFnZU51bWJlcnNcbiAgICAgICAgXTtcblxuICAgICAgICBkZWxldGUgaW5kZXhNYXBbc2luZ3VsYXJFbnRyeV07XG5cbiAgICAgICAgaW5kZXhNYXBbZW50cnldID0gcGFnZU51bWJlcnM7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0U2luZ3VsYXJQbHVyYWxzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHBsdXJhbHMgfSA9IGluZGV4T3B0aW9ucyxcbiAgICAgICAgc2luZ3VsYXJQbHVyYWxzID0gc2luZ3VsYXJQbHVyYWxzRnJvbVBsdXJhbHMocGx1cmFscyk7XG5cbiAgZm9yRWFjaChpbmRleE1hcCwgKGVudHJ5LCBwYWdlTnVtYmVycykgPT4ge1xuICAgIGNvbnN0IGVudHJ5UGx1cmFsID0gaXNQbHVyYWwoZW50cnkpO1xuXG4gICAgaWYgKGVudHJ5UGx1cmFsKSB7XG4gICAgICBjb25zdCBzaW5ndWxhckVudHJ5ID0gZW50cnkucmVwbGFjZSgvcyQvLCBFTVBUWV9TVFJJTkcpLFxuICAgICAgICAgICAgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNTaW5ndWxhckVudHJ5ID0gc2luZ3VsYXJQbHVyYWxzLmluY2x1ZGVzKHNpbmd1bGFyRW50cnkpLFxuICAgICAgICAgICAgZW50cnlTaW5ndWxhclBsdXJhbCA9IHNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzU2luZ3VsYXJFbnRyeTsgLy8vXG5cbiAgICAgIGlmIChlbnRyeVNpbmd1bGFyUGx1cmFsKSB7XG4gICAgICAgIGNvbnN0IHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgICAgc2luZ3VsYXJQYWdlTnVtYmVycyA9IGluZGV4TWFwW3Npbmd1bGFyRW50cnldIHx8IFtdO1xuXG4gICAgICAgIHBhZ2VOdW1iZXJzID0gWyAvLy9cbiAgICAgICAgICAuLi5wbHVyYWxQYWdlTnVtYmVycyxcbiAgICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzXG4gICAgICAgIF07XG5cbiAgICAgICAgZGVsZXRlIGluZGV4TWFwW2VudHJ5XTtcblxuICAgICAgICBpbmRleE1hcFtzaW5ndWxhckVudHJ5XSA9IHBhZ2VOdW1iZXJzO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNpbmd1bGFyUGx1cmFsc0Zyb21QbHVyYWxzKHBsdXJhbHMpIHtcbiAgY29uc3Qgc2luZ3VsYXJQbHVyYWxzID0gcGx1cmFscy5yZWR1Y2UoKHNpbmd1bGFyUGx1cmFscywgcGx1cmFsKSA9PiB7XG4gICAgY29uc3QgcGx1cmFsU2luZ3VsYXIgPSBpc1Npbmd1bGFyKHBsdXJhbCk7XG5cbiAgICBpZiAocGx1cmFsU2luZ3VsYXIpIHtcbiAgICAgIGNvbnN0IHNpbmd1bGFyUGx1cmFsID0gcGx1cmFsOyAgLy8vXG5cbiAgICAgIHNpbmd1bGFyUGx1cmFscy5wdXNoKHNpbmd1bGFyUGx1cmFsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2luZ3VsYXJQbHVyYWxzO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHNpbmd1bGFyUGx1cmFscztcbn1cblxuZnVuY3Rpb24gcGx1cmFsUGx1cmFsc0Zyb21QbHVyYWxzKHBsdXJhbHMpIHtcbiAgY29uc3QgcGx1cmFsUGx1cmFscyA9IHBsdXJhbHMucmVkdWNlKChwbHVyYWxQbHVyYWxzLCBwbHVyYWwpID0+IHtcbiAgICBjb25zdCBwbHVyYWxQbHVyYWwgPSBpc1BsdXJhbChwbHVyYWwpO1xuXG4gICAgaWYgKHBsdXJhbFBsdXJhbCkge1xuICAgICAgY29uc3QgcGx1cmFsUGx1cmFsID0gcGx1cmFsOyAgLy8vXG5cbiAgICAgIHBsdXJhbFBsdXJhbHMucHVzaChwbHVyYWxQbHVyYWwpO1xuICAgIH1cblxuICAgIHJldHVybiBwbHVyYWxQbHVyYWxzO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHBsdXJhbFBsdXJhbHM7XG59XG5cbmZ1bmN0aW9uIG1peGVkUGx1cmFsc0Zyb21QbHVyYWxzKHBsdXJhbHMpIHtcbiAgY29uc3QgbWl4ZWRQbHVyYWxzID0gcGx1cmFscy5yZWR1Y2UoKG1peGVkUGx1cmFscywgcGx1cmFsKSA9PiB7XG4gICAgY29uc3QgcGx1cmFsTWl4ZWQgPSBpc01peGVkKHBsdXJhbCk7XG5cbiAgICBpZiAocGx1cmFsTWl4ZWQpIHtcbiAgICAgIGNvbnN0IG1peGVkUGx1cmFsID0gcGx1cmFsOyAgLy8vXG5cbiAgICAgIG1peGVkUGx1cmFscy5wdXNoKG1peGVkUGx1cmFsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWl4ZWRQbHVyYWxzO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIG1peGVkUGx1cmFscztcbn1cblxuZnVuY3Rpb24gaXNTaW5ndWxhcih0ZXh0KSB7XG4gIGNvbnN0IG1hdGNoZXMgPSAvW15zKV0kLy50ZXN0KHRleHQpLFxuICAgICAgICBwbHVyYWxTaW5ndWxhciA9IG1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBwbHVyYWxTaW5ndWxhcjtcbn1cblxuZnVuY3Rpb24gaXNQbHVyYWwodGV4dCkge1xuICBjb25zdCBtYXRjaGVzID0gL3MkLy50ZXN0KHRleHQpLFxuICAgICAgICBwbHVyYWwgPSBtYXRjaGVzOyAvLy9cblxuICByZXR1cm4gcGx1cmFsO1xufVxuXG5mdW5jdGlvbiBpc01peGVkKHRleHQpIHtcbiAgY29uc3QgbWF0Y2hlcyA9IC9cXChzXFwpJC8udGVzdCh0ZXh0KSxcbiAgICAgICAgcGx1cmFsID0gbWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIHBsdXJhbDtcbn1cbiJdLCJuYW1lcyI6WyJpbmRleE1hcEZyb21EaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJjb21wcmVzcyIsImFycmF5VXRpbGl0aWVzIiwiZGl2aXNpb25NYXJrZG93bk5vZGVzIiwiY29udGV4dCIsImluZGV4TWFwIiwiY3JlYXRlSW5kZXhNYXAiLCJyZW1vdmVJZ25vcmVkV29yZHMiLCJhZGp1c3RQcm9wZXJOb3VucyIsImFkanVzdEFjcm9ueW1zIiwiYWRqdXN0TWl4ZWRQbHVyYWxzIiwiYWRqdXN0UGx1cmFsUGx1cmFscyIsImFkanVzdFNpbmd1bGFyUGx1cmFscyIsImNvbXByZXNzUGFnZU51bWJlcnMiLCJpbmRleE9wdGlvbnMiLCJwaHJhc2VzIiwicGhyYXNlTWF0Y2hlcnMiLCJtYXAiLCJwaHJhc2UiLCJwaHJhc2VNYXRjaGVyIiwiUGhyYXNlTWF0Y2hlciIsImZyb21QaHJhc2UiLCJmb3JFYWNoIiwiZGl2aXNpb25NYXJrZG93bk5vZGUiLCJwYWdlTnVtYmVyIiwiZ2V0UGFnZU51bWJlciIsInBsYWluVGV4dCIsImFzUGxhaW5UZXh0IiwiZW50cmllcyIsImVudHJpZXNGcm9tUGxhaW5UZXh0QW5kUGhyYXNlTWF0Y2hlcnMiLCJlbnRyeSIsInBhZ2VOdW1iZXJzIiwicHVzaCIsInByZXBhcmVQbGFpblRleHQiLCJyZXBsYWNlIiwic3BsaXQiLCJTSU5HTEVfU1BBQ0UiLCJyZXZlcnQiLCJtYXBWYWx1ZXMiLCJwYWdlTnVtYmVyQSIsInBhZ2VOdW1iZXJCIiwic29ydCIsImlnbm9yZWRXb3JkcyIsImlnbm9yZWRXb3JkIiwicHJvcGVyTm91bnMiLCJsb3dlckNhc2VQcm9wZXJOb3VucyIsInByb3Blck5vdW4iLCJsb3dlckNhc2VQcm9wZXJOb3VuIiwidG9Mb3dlckNhc2UiLCJtYXBLZXlzIiwiaW5kZXgiLCJmaW5kSW5kZXgiLCJsb3dlckNhc2VQcm9wZXJObWFlIiwiRU1QVFlfU1RSSU5HIiwiYWNyb255bXMiLCJsb3dlckNhc2VBY3JvbnltcyIsImFjcm9ueW0iLCJsb3dlckNhc2VBY3JvbnltIiwicGx1cmFscyIsIm1peGVkUGx1cmFscyIsIm1peGVkUGx1cmFsc0Zyb21QbHVyYWxzIiwiZW50cnlQbHVyYWwiLCJpc1BsdXJhbCIsInNpbmd1bGFyRW50cnkiLCJtaXhlZEVudHJ5IiwibWl4ZWRQbHVyYWxzSW5jbHVkZXNNaXhlZEVudHJ5IiwiaW5jbHVkZXMiLCJlbnRyeU1peGVkUGx1cmFsIiwicGx1cmFsUGFnZU51bWJlcnMiLCJzaW5ndWxhclBhZ2VOdW1iZXJzIiwicGx1cmFsUGx1cmFscyIsInBsdXJhbFBsdXJhbHNGcm9tUGx1cmFscyIsInBsdXJhbFBsdXJhbHNJbmNsdWRlc0VudHJ5IiwiZW50cnlQbHVyYWxQbHVyYWwiLCJzaW5ndWxhclBsdXJhbHMiLCJzaW5ndWxhclBsdXJhbHNGcm9tUGx1cmFscyIsInNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzU2luZ3VsYXJFbnRyeSIsImVudHJ5U2luZ3VsYXJQbHVyYWwiLCJyZWR1Y2UiLCJwbHVyYWwiLCJwbHVyYWxTaW5ndWxhciIsImlzU2luZ3VsYXIiLCJzaW5ndWxhclBsdXJhbCIsInBsdXJhbFBsdXJhbCIsInBsdXJhbE1peGVkIiwiaXNNaXhlZCIsIm1peGVkUGx1cmFsIiwidGV4dCIsIm1hdGNoZXMiLCJ0ZXN0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXZ0JBOzs7ZUFBQUE7Ozt5QkFUZTtvRUFFTDt5QkFFaUI7c0JBQ0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUMsSUFBTSxBQUFFQyxXQUFhQyx5QkFBYyxDQUEzQkQ7QUFFRCxTQUFTRCxrQ0FBa0NHLHFCQUFxQixFQUFFQyxPQUFPO0lBQzlFLElBQU1DLFdBQVdDLGVBQWVILHVCQUF1QkM7SUFFdkRHLG1CQUFtQkYsVUFBVUQ7SUFFN0JJLGtCQUFrQkgsVUFBVUQ7SUFFNUJLLGVBQWVKLFVBQVVEO0lBRXpCTSxtQkFBbUJMLFVBQVVEO0lBRTdCTyxvQkFBb0JOLFVBQVVEO0lBRTlCUSxzQkFBc0JQLFVBQVVEO0lBRWhDUyxvQkFBb0JSO0lBRXBCLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTQyxlQUFlSCxxQkFBcUIsRUFBRUMsT0FBTztJQUNwRCxJQUFNQyxXQUFXLENBQUM7SUFFbEIsSUFBTSxBQUFFUyxlQUFpQlYsUUFBakJVLGNBQ0YsQUFBRUMsVUFBWUQsYUFBWkMsU0FDRkMsaUJBQWlCRCxRQUFRRSxHQUFHLENBQUMsU0FBQ0M7UUFDNUIsSUFBTUMsZ0JBQWdCQyxzQkFBYSxDQUFDQyxVQUFVLENBQUNIO1FBRS9DLE9BQU9DO0lBQ1Q7SUFFTmhCLHNCQUFzQm1CLE9BQU8sQ0FBQyxTQUFDQztRQUM3QixJQUFNQyxhQUFhRCxxQkFBcUJFLGFBQWE7UUFFckQsSUFBSUQsZUFBZSxNQUFNO1lBQ3ZCLElBQU1FLFlBQVlILHFCQUFxQkksV0FBVyxDQUFDdkIsVUFDN0N3QixVQUFVQyxzQ0FBc0NILFdBQVdWO1lBRWpFWSxRQUFRTixPQUFPLENBQUMsU0FBQ1E7Z0JBQ2YsSUFBSUMsY0FBYzFCLFFBQVEsQ0FBQ3lCLE1BQU0sSUFBSTtnQkFFckMsSUFBSUMsZ0JBQWdCLE1BQU07b0JBQ3hCQSxjQUFjLEVBQUU7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
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
filter: function() {
|
|
13
|
+
return filter;
|
|
14
|
+
},
|
|
15
|
+
forEach: function() {
|
|
16
|
+
return forEach;
|
|
17
|
+
},
|
|
18
|
+
mapKeys: function() {
|
|
19
|
+
return mapKeys;
|
|
20
|
+
},
|
|
21
|
+
mapValues: function() {
|
|
22
|
+
return mapValues;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
function forEach(object, callback) {
|
|
26
|
+
var keys = Object.keys(object);
|
|
27
|
+
keys.forEach(function(key) {
|
|
28
|
+
var value = object[key];
|
|
29
|
+
callback(key, value);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function filter(object, callback) {
|
|
33
|
+
var keys = Object.keys(object);
|
|
34
|
+
keys.forEach(function(key) {
|
|
35
|
+
var value = object[key], result = callback(key, value);
|
|
36
|
+
if (!result) {
|
|
37
|
+
delete object[key];
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function mapKeys(object, callback) {
|
|
42
|
+
var keys = Object.keys(object);
|
|
43
|
+
keys.forEach(function(key) {
|
|
44
|
+
var value = object[key];
|
|
45
|
+
delete object[key];
|
|
46
|
+
key = callback(key, value); ///
|
|
47
|
+
object[key] = value;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function mapValues(object, callback) {
|
|
51
|
+
var keys = Object.keys(object);
|
|
52
|
+
keys.forEach(function(key) {
|
|
53
|
+
var value = object[key];
|
|
54
|
+
value = callback(key, value); ///
|
|
55
|
+
object[key] = value;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZm9yRWFjaChvYmplY3QsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBvYmplY3Rba2V5XTtcblxuICAgIGNhbGxiYWNrKGtleSwgdmFsdWUpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlcihvYmplY3QsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBvYmplY3Rba2V5XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhrZXksIHZhbHVlKTtcblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICBkZWxldGUgb2JqZWN0W2tleV07XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcEtleXMob2JqZWN0LCBjYWxsYmFjaykge1xuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICBrZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gb2JqZWN0W2tleV07XG5cbiAgICBkZWxldGUgb2JqZWN0W2tleV07XG5cbiAgICBrZXkgPSBjYWxsYmFjayhrZXksIHZhbHVlKTsgLy8vXG5cbiAgICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcFZhbHVlcyhvYmplY3QsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgbGV0IHZhbHVlID0gb2JqZWN0W2tleV07XG5cbiAgICB2YWx1ZSA9IGNhbGxiYWNrKGtleSwgdmFsdWUpOyAvLy9cblxuICAgIG9iamVjdFtrZXldID0gdmFsdWU7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImZpbHRlciIsImZvckVhY2giLCJtYXBLZXlzIiwibWFwVmFsdWVzIiwib2JqZWN0IiwiY2FsbGJhY2siLCJrZXlzIiwiT2JqZWN0Iiwia2V5IiwidmFsdWUiLCJyZXN1bHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVlnQkEsTUFBTTtlQUFOQTs7SUFWQUMsT0FBTztlQUFQQTs7SUF1QkFDLE9BQU87ZUFBUEE7O0lBY0FDLFNBQVM7ZUFBVEE7OztBQXJDVCxTQUFTRixRQUFRRyxNQUFNLEVBQUVDLFFBQVE7SUFDdEMsSUFBTUMsT0FBT0MsT0FBT0QsSUFBSSxDQUFDRjtJQUV6QkUsS0FBS0wsT0FBTyxDQUFDLFNBQUNPO1FBQ1osSUFBTUMsUUFBUUwsTUFBTSxDQUFDSSxJQUFJO1FBRXpCSCxTQUFTRyxLQUFLQztJQUNoQjtBQUNGO0FBRU8sU0FBU1QsT0FBT0ksTUFBTSxFQUFFQyxRQUFRO0lBQ3JDLElBQU1DLE9BQU9DLE9BQU9ELElBQUksQ0FBQ0Y7SUFFekJFLEtBQUtMLE9BQU8sQ0FBQyxTQUFDTztRQUNaLElBQU1DLFFBQVFMLE1BQU0sQ0FBQ0ksSUFBSSxFQUNuQkUsU0FBU0wsU0FBU0csS0FBS0M7UUFFN0IsSUFBSSxDQUFDQyxRQUFRO1lBQ1gsT0FBT04sTUFBTSxDQUFDSSxJQUFJO1FBQ3BCO0lBQ0Y7QUFDRjtBQUVPLFNBQVNOLFFBQVFFLE1BQU0sRUFBRUMsUUFBUTtJQUN0QyxJQUFNQyxPQUFPQyxPQUFPRCxJQUFJLENBQUNGO0lBRXpCRSxLQUFLTCxPQUFPLENBQUMsU0FBQ087UUFDWixJQUFNQyxRQUFRTCxNQUFNLENBQUNJLElBQUk7UUFFekIsT0FBT0osTUFBTSxDQUFDSSxJQUFJO1FBRWxCQSxNQUFNSCxTQUFTRyxLQUFLQyxRQUFRLEdBQUc7UUFFL0JMLE1BQU0sQ0FBQ0ksSUFBSSxHQUFHQztJQUNoQjtBQUNGO0FBRU8sU0FBU04sVUFBVUMsTUFBTSxFQUFFQyxRQUFRO0lBQ3hDLElBQU1DLE9BQU9DLE9BQU9ELElBQUksQ0FBQ0Y7SUFFekJFLEtBQUtMLE9BQU8sQ0FBQyxTQUFDTztRQUNaLElBQUlDLFFBQVFMLE1BQU0sQ0FBQ0ksSUFBSTtRQUV2QkMsUUFBUUosU0FBU0csS0FBS0MsUUFBUSxHQUFHO1FBRWpDTCxNQUFNLENBQUNJLElBQUksR0FBR0M7SUFDaEI7QUFDRiJ9
|
|
@@ -24,6 +24,7 @@ function postprocess(divisionMarkdownNode, context) {
|
|
|
24
24
|
divisionMarkdownNodes = paginate(divisionMarkdownNodes, context);
|
|
25
25
|
createFootnotes(divisionMarkdownNodes, footnoteReplacementMap, context);
|
|
26
26
|
createContents(divisionMarkdownNodes, context);
|
|
27
|
+
createIndex(divisionMarkdownNodes, context);
|
|
27
28
|
return divisionMarkdownNodes;
|
|
28
29
|
}
|
|
29
30
|
function paginate(divisionMarkdownNodes, context) {
|
|
@@ -38,6 +39,14 @@ function paginate(divisionMarkdownNodes, context) {
|
|
|
38
39
|
divisionMarkdownNodes = paginatedDivisionMarkdownNodes; ///
|
|
39
40
|
return divisionMarkdownNodes;
|
|
40
41
|
}
|
|
42
|
+
function createIndex(divisionMarkdownNodes, context) {
|
|
43
|
+
divisionMarkdownNodes.some(function(divisionMarkdownNode) {
|
|
44
|
+
var indexCreated = divisionMarkdownNode.createIndex(divisionMarkdownNodes, context);
|
|
45
|
+
if (indexCreated) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
41
50
|
function createContents(divisionMarkdownNodes, context) {
|
|
42
51
|
divisionMarkdownNodes.some(function(divisionMarkdownNode) {
|
|
43
52
|
var contentsCreated = divisionMarkdownNode.createContents(divisionMarkdownNodes, context);
|
|
@@ -80,4 +89,4 @@ var _default = {
|
|
|
80
89
|
postprocess: postprocess
|
|
81
90
|
};
|
|
82
91
|
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcHJvY2Vzc2luZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBvc3Rwcm9jZXNzKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KSB7XG4gIGxldCBkaXZpc2lvbk1hcmtkb3duTm9kZXM7XG5cbiAgZGl2aXNpb25NYXJrZG93bk5vZGVzID0gcmVzb2x2ZUluY2x1ZGVzKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcblxuICByZXNvbHZlRW1iZWRkaW5ncyhkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpO1xuXG4gIGNvbnN0IGZvb3Rub3RlUmVwbGFjZW1lbnRNYXAgPSBwcmVwYXJlRm9vdG5vdGVzKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCk7XG5cbiAgZGl2aXNpb25NYXJrZG93bk5vZGVzID0gcGFnaW5hdGUoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBjb250ZXh0KTtcblxuICBjcmVhdGVGb290bm90ZXMoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBmb290bm90ZVJlcGxhY2VtZW50TWFwLCBjb250ZXh0KTtcblxuICBjcmVhdGVDb250ZW50cyhkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpO1xuXG4gIGNyZWF0ZUluZGV4KGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCk7XG5cbiAgcmV0dXJuIGRpdmlzaW9uTWFya2Rvd25Ob2Rlcztcbn1cblxuZnVuY3Rpb24gcGFnaW5hdGUoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IHBhZ2luYXRlZERpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IFtdO1xuXG4gIGRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5mb3JFYWNoKChkaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlLnBhZ2luYXRlKHBhZ2luYXRlZERpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCk7XG4gIH0pO1xuXG4gIHBhZ2luYXRlZERpdmlzaW9uTWFya2Rvd25Ob2Rlcy5mb3JFYWNoKChwYWdpbmF0ZWREaXZpc2lvbk1hcmtkb3duTm9kZSwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYWdlTnVtYmVyID0gaW5kZXggKyAxO1xuXG4gICAgcGFnaW5hdGVkRGl2aXNpb25NYXJrZG93bk5vZGUuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKTtcbiAgfSk7XG5cbiAgZGl2aXNpb25NYXJrZG93bk5vZGVzID0gcGFnaW5hdGVkRGl2aXNpb25NYXJrZG93bk5vZGVzOyAvLy9cblxuICByZXR1cm4gZGl2aXNpb25NYXJrZG93bk5vZGVzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVJbmRleChkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgZGl2aXNpb25NYXJrZG93bk5vZGVzLnNvbWUoKGRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgY29uc3QgaW5kZXhDcmVhdGVkID0gZGl2aXNpb25NYXJrZG93bk5vZGUuY3JlYXRlSW5kZXgoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBjb250ZXh0KTtcblxuICAgIGlmIChpbmRleENyZWF0ZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRlbnRzKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICBkaXZpc2lvbk1hcmtkb3duTm9kZXMuc29tZSgoZGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgICBjb25zdCBjb250ZW50c0NyZWF0ZWQgPSBkaXZpc2lvbk1hcmtkb3duTm9kZS5jcmVhdGVDb250ZW50cyhkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpO1xuXG4gICAgaWYgKGNvbnRlbnRzQ3JlYXRlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRm9vdG5vdGVzKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgZm9vdG5vdGVSZXBsYWNlbWVudE1hcCwgY29udGV4dCkge1xuICBkaXZpc2lvbk1hcmtkb3duTm9kZXMuZm9yRWFjaCgoZGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgICBkaXZpc2lvbk1hcmtkb3duTm9kZS5jcmVhdGVGb290bm90ZXMoZm9vdG5vdGVSZXBsYWNlbWVudE1hcCwgY29udGV4dCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlSW5jbHVkZXMoZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGVzID0gW107XG5cbiAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgZGl2aXNpb25NYXJrZG93bk5vZGVzXG4gIH0pO1xuXG4gIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlSWdub3JlZCA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmlzSWdub3JlZCgpO1xuXG4gIGlmICghZGl2aXNpb25NYXJrZG93bk5vZGVJZ25vcmVkKSB7XG4gICAgZGl2aXNpb25NYXJrZG93bk5vZGVzLnB1c2goZGl2aXNpb25NYXJrZG93bk5vZGUpO1xuICB9XG5cbiAgZGl2aXNpb25NYXJrZG93bk5vZGUucmVzb2x2ZUluY2x1ZGVzKGNvbnRleHQpO1xuXG4gIGRlbGV0ZSBjb250ZXh0LmRpdmlzaW9uTWFya2Rvd25Ob2RlcztcblxuICByZXR1cm4gZGl2aXNpb25NYXJrZG93bk5vZGVzO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlRm9vdG5vdGVzKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICBjb25zdCBmb290bm90ZVJlcGxhY2VtZW50TWFwID0ge307XG5cbiAgZGl2aXNpb25NYXJrZG93bk5vZGVzLmZvckVhY2goKGRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgZGl2aXNpb25NYXJrZG93bk5vZGUucHJlcGFyZUZvb3Rub3Rlcyhmb290bm90ZVJlcGxhY2VtZW50TWFwLCBjb250ZXh0KTtcbiAgfSk7XG5cbiAgcmV0dXJuIGZvb3Rub3RlUmVwbGFjZW1lbnRNYXA7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVFbWJlZGRpbmdzKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICBkaXZpc2lvbk1hcmtkb3duTm9kZXMuZm9yRWFjaCgoZGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgICBkaXZpc2lvbk1hcmtkb3duTm9kZS5yZXNvbHZlRW1iZWRkaW5ncyhjb250ZXh0KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcG9zdHByb2Nlc3Ncbn07XG4iXSwibmFtZXMiOlsicG9zdHByb2Nlc3MiLCJkaXZpc2lvbk1hcmtkb3duTm9kZSIsImNvbnRleHQiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJyZXNvbHZlSW5jbHVkZXMiLCJyZXNvbHZlRW1iZWRkaW5ncyIsImZvb3Rub3RlUmVwbGFjZW1lbnRNYXAiLCJwcmVwYXJlRm9vdG5vdGVzIiwicGFnaW5hdGUiLCJjcmVhdGVGb290bm90ZXMiLCJjcmVhdGVDb250ZW50cyIsImNyZWF0ZUluZGV4IiwicGFnaW5hdGVkRGl2aXNpb25NYXJrZG93bk5vZGVzIiwiZm9yRWFjaCIsInBhZ2luYXRlZERpdmlzaW9uTWFya2Rvd25Ob2RlIiwiaW5kZXgiLCJwYWdlTnVtYmVyIiwic2V0UGFnZU51bWJlciIsInNvbWUiLCJpbmRleENyZWF0ZWQiLCJjb250ZW50c0NyZWF0ZWQiLCJPYmplY3QiLCJhc3NpZ24iLCJkaXZpc2lvbk1hcmtkb3duTm9kZUlnbm9yZWQiLCJpc0lnbm9yZWQiLCJwdXNoIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFzR0EsT0FFRTtlQUZGOztJQXBHZ0JBLFdBQVc7ZUFBWEE7OztBQUFULFNBQVNBLFlBQVlDLG9CQUFvQixFQUFFQyxPQUFPO0lBQ3ZELElBQUlDO0lBRUpBLHdCQUF3QkMsZ0JBQWdCSCxzQkFBc0JDO0lBRTlERyxrQkFBa0JGLHVCQUF1QkQ7SUFFekMsSUFBTUkseUJBQXlCQyxpQkFBaUJKLHVCQUF1QkQ7SUFFdkVDLHdCQUF3QkssU0FBU0wsdUJBQXVCRDtJQUV4RE8sZ0JBQWdCTix1QkFBdUJHLHdCQUF3Qko7SUFFL0RRLGVBQWVQLHVCQUF1QkQ7SUFFdENTLFlBQVlSLHVCQUF1QkQ7SUFFbkMsT0FBT0M7QUFDVDtBQUVBLFNBQVNLLFNBQVNMLHFCQUFxQixFQUFFRCxPQUFPO0lBQzlDLElBQU1VLGlDQUFpQyxFQUFFO0lBRXpDVCxzQkFBc0JVLE9BQU8sQ0FBQyxTQUFDWjtRQUM3QkEscUJBQXFCTyxRQUFRLENBQUNJLGdDQUFnQ1Y7SUFDaEU7SUFFQVUsK0JBQStCQyxPQUFPLENBQUMsU0FBQ0MsK0JBQStCQztRQUNyRSxJQUFNQyxhQUFhRCxRQUFRO1FBRTNCRCw4QkFBOEJHLGFBQWEsQ0FBQ0Q7SUFDOUM7SUFFQWIsd0JBQXdCUyxnQ0FBZ0MsR0FBRztJQUUzRCxPQUFPVDtBQUNUO0FBRUEsU0FBU1EsWUFBWVIscUJBQXFCLEVBQUVELE9BQU87SUFDakRDLHNCQUFzQmUsSUFBSSxDQUFDLFNBQUNqQjtRQUMxQixJQUFNa0IsZUFBZWxCLHFCQUFxQlUsV0FBVyxDQUFDUix1QkFBdUJEO1FBRTdFLElBQUlpQixjQUFjO1lBQ2hCLE9BQU87UUFDVDtJQUNGO0FBQ0Y7QUFFQSxTQUFTVCxlQUFlUCxxQkFBcUIsRUFBRUQsT0FBTztJQUNwREMsc0JBQXNCZSxJQUFJLENBQUMsU0FBQ2pCO1FBQzFCLElBQU1tQixrQkFBa0JuQixxQkFBcUJTLGNBQWMsQ0FBQ1AsdUJBQXVCRDtRQUVuRixJQUFJa0IsaUJBQWlCO1lBQ25CLE9BQU87UUFDVDtJQUNGO0FBQ0Y7QUFFQSxTQUFTWCxnQkFBZ0JOLHFCQUFxQixFQUFFRyxzQkFBc0IsRUFBRUosT0FBTztJQUM3RUMsc0JBQXNCVSxPQUFPLENBQUMsU0FBQ1o7UUFDN0JBLHFCQUFxQlEsZUFBZSxDQUFDSCx3QkFBd0JKO0lBQy9EO0FBQ0Y7QUFFQSxTQUFTRSxnQkFBZ0JILG9CQUFvQixFQUFFQyxPQUFPO0lBQ3BELElBQU1DLHdCQUF3QixFQUFFO0lBRWhDa0IsT0FBT0MsTUFBTSxDQUFDcEIsU0FBUztRQUNyQkMsdUJBQUFBO0lBQ0Y7SUFFQSxJQUFNb0IsOEJBQThCdEIscUJBQXFCdUIsU0FBUztJQUVsRSxJQUFJLENBQUNELDZCQUE2QjtRQUNoQ3BCLHNCQUFzQnNCLElBQUksQ0FBQ3hCO0lBQzdCO0lBRUFBLHFCQUFxQkcsZUFBZSxDQUFDRjtJQUVyQyxPQUFPQSxRQUFRQyxxQkFBcUI7SUFFcEMsT0FBT0E7QUFDVDtBQUVBLFNBQVNJLGlCQUFpQkoscUJBQXFCLEVBQUVELE9BQU87SUFDdEQsSUFBTUkseUJBQXlCLENBQUM7SUFFaENILHNCQUFzQlUsT0FBTyxDQUFDLFNBQUNaO1FBQzdCQSxxQkFBcUJNLGdCQUFnQixDQUFDRCx3QkFBd0JKO0lBQ2hFO0lBRUEsT0FBT0k7QUFDVDtBQUVBLFNBQVNELGtCQUFrQkYscUJBQXFCLEVBQUVELE9BQU87SUFDdkRDLHNCQUFzQlUsT0FBTyxDQUFDLFNBQUNaO1FBQzdCQSxxQkFBcUJJLGlCQUFpQixDQUFDSDtJQUN6QztBQUNGO0lBRUEsV0FBZTtJQUNiRixhQUFBQTtBQUNGIn0=
|
package/lib/utilities/query.js
CHANGED
|
@@ -18,6 +18,12 @@ _export(exports, {
|
|
|
18
18
|
embedDirectiveMarkdownNodesFromNode: function() {
|
|
19
19
|
return embedDirectiveMarkdownNodesFromNode;
|
|
20
20
|
},
|
|
21
|
+
footnoteFootnoteLinkOrFootnotesDirectiveMarkdownNodesFromNode: function() {
|
|
22
|
+
return footnoteFootnoteLinkOrFootnotesDirectiveMarkdownNodesFromNode;
|
|
23
|
+
},
|
|
24
|
+
footnoteLinkMarkdownNodesFromNode: function() {
|
|
25
|
+
return footnoteLinkMarkdownNodesFromNode;
|
|
26
|
+
},
|
|
21
27
|
footnoteMarkdownNodeFromNode: function() {
|
|
22
28
|
return footnoteMarkdownNodeFromNode;
|
|
23
29
|
},
|
|
@@ -33,11 +39,8 @@ _export(exports, {
|
|
|
33
39
|
includeDirectiveMarkdownNodesFromNode: function() {
|
|
34
40
|
return includeDirectiveMarkdownNodesFromNode;
|
|
35
41
|
},
|
|
36
|
-
|
|
37
|
-
return
|
|
38
|
-
},
|
|
39
|
-
linkMarkdownNodesFromNode: function() {
|
|
40
|
-
return linkMarkdownNodesFromNode;
|
|
42
|
+
indexDirectiveMarkdownNodeFromNode: function() {
|
|
43
|
+
return indexDirectiveMarkdownNodeFromNode;
|
|
41
44
|
},
|
|
42
45
|
nodeQuery: function() {
|
|
43
46
|
return nodeQuery;
|
|
@@ -55,7 +58,7 @@ _export(exports, {
|
|
|
55
58
|
var _occamquery = require("occam-query");
|
|
56
59
|
var _necessary = require("necessary");
|
|
57
60
|
var first = _necessary.arrayUtilities.first, push = _necessary.arrayUtilities.push;
|
|
58
|
-
var footnoteMarkdownNodeQuery = _occamquery.Query.fromExpression("/subDivision/footnote"),
|
|
61
|
+
var footnoteMarkdownNodeQuery = _occamquery.Query.fromExpression("/subDivision/footnote"), indexDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("/subDivision/directives/indexDirective"), ignoreDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("/division/subDivision/directives/ignoreDirective"), contentsDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("/subDivision/directives/contentsDirective"), footnotesDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("/subDivision/directives/footnotesDirective"), pageNumberDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("/subDivision/directives/pageNumber"), headingMarkdownNodesQuery = _occamquery.Query.fromExpression("/division/subDivision/primaryHeading|secondaryHeading|tertiaryHeading|quaternaryHeading"), subDivisionMarkdownNodesQuery = _occamquery.Query.fromExpression("/division/subDivision"), footnoteLinkMarkdownNodesQuery = _occamquery.Query.fromExpression("//footnoteLink"), embedDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpression("/subDivision/directives/embedDirective"), includeDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpression("/subDivision/directives/includeDirective"), footnoteFootnoteLinkOrFootnotesDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpression("//footnote|footnoteLink|footnotesDirective");
|
|
59
62
|
function nodeQuery(expression) {
|
|
60
63
|
var query = _occamquery.Query.fromExpression(expression);
|
|
61
64
|
return function(node) {
|
|
@@ -80,6 +83,10 @@ function footnoteMarkdownNodeFromNode(node) {
|
|
|
80
83
|
var footnoteMarkdownNode = nodeFromNodeAndQuery(node, footnoteMarkdownNodeQuery);
|
|
81
84
|
return footnoteMarkdownNode;
|
|
82
85
|
}
|
|
86
|
+
function indexDirectiveMarkdownNodeFromNode(node) {
|
|
87
|
+
var indexDirectiveMarkdownNode = nodeFromNodeAndQuery(node, indexDirectiveMarkdownNodeQuery);
|
|
88
|
+
return indexDirectiveMarkdownNode;
|
|
89
|
+
}
|
|
83
90
|
function ignoreDirectiveMarkdownNodeFromNode(node) {
|
|
84
91
|
var ignoreDirectiveMarkdownNode = nodeFromNodeAndQuery(node, ignoreDirectiveMarkdownNodeQuery);
|
|
85
92
|
return ignoreDirectiveMarkdownNode;
|
|
@@ -96,11 +103,6 @@ function pageNumberDirectiveMarkdownNodeFromNode(node) {
|
|
|
96
103
|
var pageNumberDirectiveMarkdownNode = nodeFromNodeAndQuery(node, pageNumberDirectiveMarkdownNodeQuery);
|
|
97
104
|
return pageNumberDirectiveMarkdownNode;
|
|
98
105
|
}
|
|
99
|
-
function linkMarkdownNodesFromNode(node) {
|
|
100
|
-
var linkMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
101
|
-
nodesFromNodeAndQuery(node, linkMarkdownNodesQuery, linkMarkdownNodes);
|
|
102
|
-
return linkMarkdownNodes;
|
|
103
|
-
}
|
|
104
106
|
function headingMarkdownNodesFromNode(node) {
|
|
105
107
|
var headingMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
106
108
|
nodesFromNodeAndQuery(node, headingMarkdownNodesQuery, headingMarkdownNodes);
|
|
@@ -111,6 +113,11 @@ function subDivisionMarkdownNodesFromNode(node) {
|
|
|
111
113
|
nodesFromNodeAndQuery(node, subDivisionMarkdownNodesQuery, subDivisionMarkdownNodes);
|
|
112
114
|
return subDivisionMarkdownNodes;
|
|
113
115
|
}
|
|
116
|
+
function footnoteLinkMarkdownNodesFromNode(node) {
|
|
117
|
+
var linkMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
118
|
+
nodesFromNodeAndQuery(node, footnoteLinkMarkdownNodesQuery, linkMarkdownNodes);
|
|
119
|
+
return linkMarkdownNodes;
|
|
120
|
+
}
|
|
114
121
|
function embedDirectiveMarkdownNodesFromNode(node) {
|
|
115
122
|
var embedDirectiveMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
116
123
|
nodesFromNodeAndQuery(node, embedDirectiveMarkdownNodesQuery, embedDirectiveMarkdownNodes);
|
|
@@ -121,23 +128,24 @@ function includeDirectiveMarkdownNodesFromNode(node) {
|
|
|
121
128
|
nodesFromNodeAndQuery(node, includeDirectiveMarkdownNodesQuery, includeDirectiveMarkdownNodes);
|
|
122
129
|
return includeDirectiveMarkdownNodes;
|
|
123
130
|
}
|
|
124
|
-
function
|
|
125
|
-
var
|
|
126
|
-
nodesFromNodeAndQuery(node,
|
|
127
|
-
return
|
|
131
|
+
function footnoteFootnoteLinkOrFootnotesDirectiveMarkdownNodesFromNode(node) {
|
|
132
|
+
var footnoteFootnoteLinkOrFootnotesDirectiveMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
133
|
+
nodesFromNodeAndQuery(node, footnoteFootnoteLinkOrFootnotesDirectiveMarkdownNodesQuery, footnoteFootnoteLinkOrFootnotesDirectiveMarkdownNodes);
|
|
134
|
+
return footnoteFootnoteLinkOrFootnotesDirectiveMarkdownNodes;
|
|
128
135
|
}
|
|
129
136
|
var _default = {
|
|
130
137
|
footnoteMarkdownNodeFromNode: footnoteMarkdownNodeFromNode,
|
|
138
|
+
indexDirectiveMarkdownNodeFromNode: indexDirectiveMarkdownNodeFromNode,
|
|
131
139
|
ignoreDirectiveMarkdownNodeFromNode: ignoreDirectiveMarkdownNodeFromNode,
|
|
132
140
|
contentsDirectiveMarkdownNodeFromNode: contentsDirectiveMarkdownNodeFromNode,
|
|
133
141
|
footnotesDirectiveMarkdownNodeFromNode: footnotesDirectiveMarkdownNodeFromNode,
|
|
134
142
|
pageNumberDirectiveMarkdownNodeFromNode: pageNumberDirectiveMarkdownNodeFromNode,
|
|
135
|
-
linkMarkdownNodesFromNode: linkMarkdownNodesFromNode,
|
|
136
143
|
headingMarkdownNodesFromNode: headingMarkdownNodesFromNode,
|
|
137
144
|
subDivisionMarkdownNodesFromNode: subDivisionMarkdownNodesFromNode,
|
|
145
|
+
footnoteLinkMarkdownNodesFromNode: footnoteLinkMarkdownNodesFromNode,
|
|
138
146
|
embedDirectiveMarkdownNodesFromNode: embedDirectiveMarkdownNodesFromNode,
|
|
139
147
|
includeDirectiveMarkdownNodesFromNode: includeDirectiveMarkdownNodesFromNode,
|
|
140
|
-
|
|
148
|
+
footnoteFootnoteLinkOrFootnotesDirectiveMarkdownNodesFromNode: footnoteFootnoteLinkOrFootnotesDirectiveMarkdownNodesFromNode
|
|
141
149
|
};
|
|
142
150
|
function nodeFromNodeAndQuery(node, query) {
|
|
143
151
|
var queryNodes = query.execute(node), queryNodesLength = queryNodes.length;
|
|
@@ -155,4 +163,4 @@ function nodesFromNodeAndQuery(node, query, nodes) {
|
|
|
155
163
|
return nodes;
|
|
156
164
|
}
|
|
157
165
|
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaXJzdCwgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IGZvb3Rub3RlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi9zdWJEaXZpc2lvbi9mb290bm90ZVwiKSxcbiAgICAgIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvZGl2aXNpb24vc3ViRGl2aXNpb24vZGlyZWN0aXZlcy9pZ25vcmVEaXJlY3RpdmVcIiksXG4gICAgICBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvc3ViRGl2aXNpb24vZGlyZWN0aXZlcy9jb250ZW50c0RpcmVjdGl2ZVwiKSxcbiAgICAgIGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvc3ViRGl2aXNpb24vZGlyZWN0aXZlcy9mb290bm90ZXNEaXJlY3RpdmVcIiksXG4gICAgICBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi9zdWJEaXZpc2lvbi9kaXJlY3RpdmVzL3BhZ2VOdW1iZXJcIiksICAvLy9cbiAgICAgIGxpbmtNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vbGlua1wiKSxcbiAgICAgIGhlYWRpbmdNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi9kaXZpc2lvbi9zdWJEaXZpc2lvbi9wcmltYXJ5SGVhZGluZ3xzZWNvbmRhcnlIZWFkaW5nfHRlcnRpYXJ5SGVhZGluZ3xxdWF0ZXJuYXJ5SGVhZGluZ1wiKSxcbiAgICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvZGl2aXNpb24vc3ViRGl2aXNpb25cIiksXG4gICAgICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiL3N1YkRpdmlzaW9uL2RpcmVjdGl2ZXMvZW1iZWREaXJlY3RpdmVcIiksXG4gICAgICBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvc3ViRGl2aXNpb24vZGlyZWN0aXZlcy9pbmNsdWRlRGlyZWN0aXZlXCIpLFxuICAgICAgbGlua0Zvb3Rub3RlT3JGb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vbGlua3xmb290bm90ZXxmb290bm90ZXNEaXJlY3RpdmVcIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBub2RlUXVlcnkoZXhwcmVzc2lvbikge1xuICBjb25zdCBxdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuXG4gIHJldHVybiBmdW5jdGlvbihub2RlKSB7XG4gICAgY29uc3Qgbm9kZXMgPSBxdWVyeS5leGVjdXRlKG5vZGUpLFxuICAgICAgICAgIG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKG5vZGVzTGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmlyc3ROb2RlID0gZmlyc3Qobm9kZXMpO1xuXG4gICAgICBub2RlID0gZmlyc3ROb2RlOyAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVzUXVlcnkoZXhwcmVzc2lvbikge1xuICBjb25zdCBxdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuXG4gIHJldHVybiBmdW5jdGlvbihub2RlKSB7XG4gICAgY29uc3Qgbm9kZXMgPSBxdWVyeS5leGVjdXRlKG5vZGUpO1xuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb290bm90ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgZm9vdG5vdGVNYXJrZG93bk5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBmb290bm90ZU1hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gZm9vdG5vdGVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGlua01hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBsaW5rTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBsaW5rTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBsaW5rTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGxpbmtNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGVhZGluZ01hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBoZWFkaW5nTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBoZWFkaW5nTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBoZWFkaW5nTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGhlYWRpbmdNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnksIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSwgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpbmtGb290bm90ZU9yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGxpbmtGb290bm90ZU9yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBsaW5rRm9vdG5vdGVPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSwgbGlua0Zvb3Rub3RlT3JGb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gbGlua0Zvb3Rub3RlT3JGb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGZvb3Rub3RlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSxcbiAgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBsaW5rTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBoZWFkaW5nTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUsXG4gIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUsXG4gIGxpbmtGb290bm90ZU9yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlXG59O1xuXG5mdW5jdGlvbiBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBxdWVyeSkge1xuICBjb25zdCBxdWVyeU5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKSxcbiAgICAgICAgcXVlcnlOb2Rlc0xlbmd0aCA9IHF1ZXJ5Tm9kZXMubGVuZ3RoO1xuXG4gIGlmIChxdWVyeU5vZGVzTGVuZ3RoID09PSAwKSB7XG4gICAgbm9kZSA9IG51bGw7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZmlyc3RRdWVyeU5vZGUgPSBmaXJzdChxdWVyeU5vZGVzKTtcblxuICAgIG5vZGUgPSBmaXJzdFF1ZXJ5Tm9kZTsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG5cbmZ1bmN0aW9uIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBxdWVyeSwgbm9kZXMpIHtcbiAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgcHVzaChub2RlcywgcXVlcnlOb2Rlcyk7XG5cbiAgcmV0dXJuIG5vZGVzO1xufVxuIl0sIm5hbWVzIjpbImNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImZvb3Rub3RlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSIsImhlYWRpbmdNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJsaW5rRm9vdG5vdGVPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImxpbmtNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJub2RlUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwicHVzaCIsImZvb3Rub3RlTWFya2Rvd25Ob2RlUXVlcnkiLCJRdWVyeSIsImZyb21FeHByZXNzaW9uIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkiLCJjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5IiwiZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkiLCJwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkiLCJsaW5rTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiaGVhZGluZ01hcmtkb3duTm9kZXNRdWVyeSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwibGlua0Zvb3Rub3RlT3JGb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkiLCJleHByZXNzaW9uIiwicXVlcnkiLCJub2RlIiwibm9kZXMiLCJleGVjdXRlIiwibm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJmaXJzdE5vZGUiLCJmb290bm90ZU1hcmtkb3duTm9kZSIsIm5vZGVGcm9tTm9kZUFuZFF1ZXJ5IiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwiY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwibGlua01hcmtkb3duTm9kZXMiLCJub2Rlc0Zyb21Ob2RlQW5kUXVlcnkiLCJoZWFkaW5nTWFya2Rvd25Ob2RlcyIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzIiwibGlua0Zvb3Rub3RlT3JGb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVzIiwicXVlcnlOb2RlcyIsInF1ZXJ5Tm9kZXNMZW5ndGgiLCJmaXJzdFF1ZXJ5Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBNERnQkEscUNBQXFDO2VBQXJDQTs7SUFzRGhCLE9BWUU7ZUFaRjs7SUFsQmdCQyxtQ0FBbUM7ZUFBbkNBOztJQWhEQUMsNEJBQTRCO2VBQTVCQTs7SUFrQkFDLHNDQUFzQztlQUF0Q0E7O0lBa0JBQyw0QkFBNEI7ZUFBNUJBOztJQTlCQUMsbUNBQW1DO2VBQW5DQTs7SUFnREFDLHFDQUFxQztlQUFyQ0E7O0lBTUFDLHFEQUFxRDtlQUFyREE7O0lBOUJBQyx5QkFBeUI7ZUFBekJBOztJQTNEQUMsU0FBUztlQUFUQTs7SUFtQkFDLFVBQVU7ZUFBVkE7O0lBa0NBQyx1Q0FBdUM7ZUFBdkNBOztJQWtCQUMsZ0NBQWdDO2VBQWhDQTs7OzBCQXhGTTt5QkFDUztBQUUvQixJQUFRQyxRQUFnQkMseUJBQWMsQ0FBOUJELE9BQU9FLE9BQVNELHlCQUFjLENBQXZCQztBQUVmLElBQU1DLDRCQUE0QkMsaUJB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
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaXJzdCwgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IGZvb3Rub3RlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi9zdWJEaXZpc2lvbi9mb290bm90ZVwiKSxcbiAgICAgIGluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi9zdWJEaXZpc2lvbi9kaXJlY3RpdmVzL2luZGV4RGlyZWN0aXZlXCIpLFxuICAgICAgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi9kaXZpc2lvbi9zdWJEaXZpc2lvbi9kaXJlY3RpdmVzL2lnbm9yZURpcmVjdGl2ZVwiKSxcbiAgICAgIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi9zdWJEaXZpc2lvbi9kaXJlY3RpdmVzL2NvbnRlbnRzRGlyZWN0aXZlXCIpLFxuICAgICAgZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi9zdWJEaXZpc2lvbi9kaXJlY3RpdmVzL2Zvb3Rub3Rlc0RpcmVjdGl2ZVwiKSxcbiAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiL3N1YkRpdmlzaW9uL2RpcmVjdGl2ZXMvcGFnZU51bWJlclwiKSwgIC8vL1xuICAgICAgaGVhZGluZ01hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiL2RpdmlzaW9uL3N1YkRpdmlzaW9uL3ByaW1hcnlIZWFkaW5nfHNlY29uZGFyeUhlYWRpbmd8dGVydGlhcnlIZWFkaW5nfHF1YXRlcm5hcnlIZWFkaW5nXCIpLFxuICAgICAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi9kaXZpc2lvbi9zdWJEaXZpc2lvblwiKSxcbiAgICAgIGZvb3Rub3RlTGlua01hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9mb290bm90ZUxpbmtcIiksXG4gICAgICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiL3N1YkRpdmlzaW9uL2RpcmVjdGl2ZXMvZW1iZWREaXJlY3RpdmVcIiksXG4gICAgICBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvc3ViRGl2aXNpb24vZGlyZWN0aXZlcy9pbmNsdWRlRGlyZWN0aXZlXCIpLFxuICAgICAgZm9vdG5vdGVGb290bm90ZUxpbmtPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9mb290bm90ZXxmb290bm90ZUxpbmt8Zm9vdG5vdGVzRGlyZWN0aXZlXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9kZVF1ZXJ5KGV4cHJlc3Npb24pIHtcbiAgY29uc3QgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihleHByZXNzaW9uKTtcblxuICByZXR1cm4gZnVuY3Rpb24obm9kZSkge1xuICAgIGNvbnN0IG5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKSxcbiAgICAgICAgICBub2Rlc0xlbmd0aCA9IG5vZGVzLmxlbmd0aDtcblxuICAgIGlmIChub2Rlc0xlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKTtcblxuICAgICAgbm9kZSA9IGZpcnN0Tm9kZTsgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUgPSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBub2RlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2Rlc1F1ZXJ5KGV4cHJlc3Npb24pIHtcbiAgY29uc3QgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihleHByZXNzaW9uKTtcblxuICByZXR1cm4gZnVuY3Rpb24obm9kZSkge1xuICAgIGNvbnN0IG5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICAgIHJldHVybiBub2RlcztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGZvb3Rub3RlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgZm9vdG5vdGVNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGZvb3Rub3RlTWFya2Rvd25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5kZXhEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgaW5kZXhEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhlYWRpbmdNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgaGVhZGluZ01hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgaGVhZGluZ01hcmtkb3duTm9kZXNRdWVyeSwgaGVhZGluZ01hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBoZWFkaW5nTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSwgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVMaW5rTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGxpbmtNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGZvb3Rub3RlTGlua01hcmtkb3duTm9kZXNRdWVyeSwgbGlua01hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBsaW5rTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSwgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVGb290bm90ZUxpbmtPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBmb290bm90ZUZvb3Rub3RlTGlua09yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBmb290bm90ZUZvb3Rub3RlTGlua09yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBmb290bm90ZUZvb3Rub3RlTGlua09yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGZvb3Rub3RlRm9vdG5vdGVMaW5rT3JGb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGZvb3Rub3RlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSxcbiAgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBoZWFkaW5nTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgZm9vdG5vdGVMaW5rTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgZm9vdG5vdGVGb290bm90ZUxpbmtPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZVxufTtcblxuZnVuY3Rpb24gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgcXVlcnkpIHtcbiAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSksXG4gICAgICAgIHF1ZXJ5Tm9kZXNMZW5ndGggPSBxdWVyeU5vZGVzLmxlbmd0aDtcblxuICBpZiAocXVlcnlOb2Rlc0xlbmd0aCA9PT0gMCkge1xuICAgIG5vZGUgPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGZpcnN0UXVlcnlOb2RlID0gZmlyc3QocXVlcnlOb2Rlcyk7XG5cbiAgICBub2RlID0gZmlyc3RRdWVyeU5vZGU7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBub2RlO1xufVxuXG5mdW5jdGlvbiBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgcXVlcnksIG5vZGVzKSB7XG4gIGNvbnN0IHF1ZXJ5Tm9kZXMgPSBxdWVyeS5leGVjdXRlKG5vZGUpO1xuXG4gIHB1c2gobm9kZXMsIHF1ZXJ5Tm9kZXMpO1xuXG4gIHJldHVybiBub2Rlcztcbn1cbiJdLCJuYW1lcyI6WyJjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJmb290bm90ZUZvb3Rub3RlTGlua09yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiZm9vdG5vdGVMaW5rTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiZm9vdG5vdGVNYXJrZG93bk5vZGVGcm9tTm9kZSIsImZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaGVhZGluZ01hcmtkb3duTm9kZXNGcm9tTm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJub2RlUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwicHVzaCIsImZvb3Rub3RlTWFya2Rvd25Ob2RlUXVlcnkiLCJRdWVyeSIsImZyb21FeHByZXNzaW9uIiwiaW5kZXhEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5IiwiY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSIsImZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5IiwicGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5IiwiaGVhZGluZ01hcmtkb3duTm9kZXNRdWVyeSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZm9vdG5vdGVMaW5rTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZm9vdG5vdGVGb290bm90ZUxpbmtPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSIsImV4cHJlc3Npb24iLCJxdWVyeSIsIm5vZGUiLCJub2RlcyIsImV4ZWN1dGUiLCJub2Rlc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0Tm9kZSIsImZvb3Rub3RlTWFya2Rvd25Ob2RlIiwibm9kZUZyb21Ob2RlQW5kUXVlcnkiLCJpbmRleERpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwiZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwicGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImhlYWRpbmdNYXJrZG93bk5vZGVzIiwibm9kZXNGcm9tTm9kZUFuZFF1ZXJ5Iiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzIiwibGlua01hcmtkb3duTm9kZXMiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyIsImZvb3Rub3RlRm9vdG5vdGVMaW5rT3JGb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVzIiwicXVlcnlOb2RlcyIsInF1ZXJ5Tm9kZXNMZW5ndGgiLCJmaXJzdFF1ZXJ5Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBbUVnQkEscUNBQXFDO2VBQXJDQTs7SUFzRGhCLE9BYUU7ZUFiRjs7SUFsQmdCQyxtQ0FBbUM7ZUFBbkNBOztJQVlBQyw2REFBNkQ7ZUFBN0RBOztJQWxCQUMsaUNBQWlDO2VBQWpDQTs7SUFoREFDLDRCQUE0QjtlQUE1QkE7O0lBd0JBQyxzQ0FBc0M7ZUFBdENBOztJQVlBQyw0QkFBNEI7ZUFBNUJBOztJQXhCQUMsbUNBQW1DO2VBQW5DQTs7SUFnREFDLHFDQUFxQztlQUFyQ0E7O0lBdERBQyxrQ0FBa0M7ZUFBbENBOztJQW5DQUMsU0FBUztlQUFUQTs7SUFtQkFDLFVBQVU7ZUFBVkE7O0lBd0NBQyx1Q0FBdUM7ZUFBdkNBOztJQVlBQyxnQ0FBZ0M7ZUFBaENBOzs7MEJBekZNO3lCQUNTO0FBRS9CLElBQVFDLFFBQWdCQyx5QkFBYyxDQUE5QkQsT0FBT0UsT0FBU0QseUJBQWMsQ0FBdkJDO0FBRWYsSUFBTUMsNEJBQTRCQyxpQkFBSyxDQUFDQyxjQUFjLENBQUMsMEJBQ2pEQyxrQ0FBa0NGLGlCQUFLLENBQUNDLGNBQWMsQ0FBQywyQ0FDdkRFLG1DQUFtQ0gsaUJBQUssQ0FBQ0MsY0FBYyxDQUFDLHFEQUN4REcscUNBQXFDSixpQkFBSyxDQUFDQyxjQUFjLENBQUMsOENBQzFESSxzQ0FBc0NMLGlCQUFLLENBQUNDLGNBQWMsQ0FBQywrQ0FDM0RLLHVDQUF1Q04saUJBQUssQ0FBQ0MsY0FBYyxDQUFDLHVDQUM1RE0sNEJBQTRCUCxpQkFBSyxDQUFDQyxjQUFjLENBQUMsNEZBQ2pETyxnQ0FBZ0NSLGlCQUFLLENBQUNDLGNBQWMsQ0FBQyww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
|