for-modules 1.1.7 → 1.1.9
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/README.md +15 -1
- package/dist/Structures/Manager.js +29 -34
- package/dist/Structures/TikTok.d.ts +18 -0
- package/dist/Structures/TikTok.js +119 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +12 -1
- package/package.json +24 -54
- package/LICENSE +0 -21
- package/NOTICE.txt +0 -12
- package/TikTok.txt +0 -13
- package/babel.config.json +0 -6
- package/bun.lock +0 -686
- package/eslint.config.d.ts +0 -2
- package/eslint.config.js +0 -12
- package/ff.txt +0 -3037
- package/renovate.json +0 -6
- package/tsconfig.json +0 -24
package/README.md
CHANGED
|
@@ -1 +1,15 @@
|
|
|
1
|
-
For-modules
|
|
1
|
+
# For-modules 1.1.5
|
|
2
|
+
|
|
3
|
+
+ ✅ TikTok Support | But you must be a lavalink that supports TikTok. Also.
|
|
4
|
+
|
|
5
|
+
## For-modules 1.1.6
|
|
6
|
+
|
|
7
|
+
+ update channelId
|
|
8
|
+
|
|
9
|
+
## For-modules 1.1.7
|
|
10
|
+
|
|
11
|
+
+ update error
|
|
12
|
+
|
|
13
|
+
## For-modules 1.1.9
|
|
14
|
+
|
|
15
|
+
+ Manager.ts — typeof query !== "string"
|
|
@@ -231,7 +231,7 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
|
|
|
231
231
|
value: (function () {
|
|
232
232
|
var _search = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(query, requester) {
|
|
233
233
|
var _Manager$DEFAULT_SOUR, _query$source;
|
|
234
|
-
var node,
|
|
234
|
+
var node, _query, cacheKey, data, _source, search, res, searchData, playlistData, tracks, playlist, result, tracksToReplace, _result$playlist$trac, _result$playlist, _iterator5, _step5, track, _track$title$split$ma, _track$title$split$ma2, author, title, isYouTubeURL;
|
|
235
235
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
236
236
|
while (1) switch (_context.prev = _context.next) {
|
|
237
237
|
case 0:
|
|
@@ -245,56 +245,51 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
|
|
|
245
245
|
}
|
|
246
246
|
throw new Error("No available nodes.");
|
|
247
247
|
case 4:
|
|
248
|
-
|
|
249
|
-
|
|
248
|
+
_query = typeof query === "string" ? {
|
|
249
|
+
query: query
|
|
250
|
+
} : query;
|
|
251
|
+
if (!(this.options.caches.enabled && this.options.caches.time > 0)) {
|
|
252
|
+
_context.next = 10;
|
|
250
253
|
break;
|
|
251
254
|
}
|
|
252
|
-
|
|
255
|
+
cacheKey = _query.query;
|
|
256
|
+
data = this.caches.get(cacheKey);
|
|
253
257
|
if (!data) {
|
|
254
|
-
_context.next =
|
|
258
|
+
_context.next = 10;
|
|
255
259
|
break;
|
|
256
260
|
}
|
|
257
261
|
return _context.abrupt("return", data);
|
|
258
|
-
case
|
|
259
|
-
_query = typeof query === "string" ? {
|
|
260
|
-
query: query
|
|
261
|
-
} : query;
|
|
262
|
+
case 10:
|
|
262
263
|
_source = (_Manager$DEFAULT_SOUR = Manager.DEFAULT_SOURCES[(_query$source = _query.source) !== null && _query$source !== void 0 ? _query$source : this.options.defaultSearchPlatform]) !== null && _Manager$DEFAULT_SOUR !== void 0 ? _Manager$DEFAULT_SOUR : _query.source;
|
|
263
264
|
search = _query.query;
|
|
264
265
|
if (!/^https?:\/\//.test(search)) {
|
|
265
266
|
search = "".concat(_source, ":").concat(search);
|
|
266
267
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
break;
|
|
270
|
-
}
|
|
271
|
-
throw new TypeError("Query must be a string.");
|
|
272
|
-
case 14:
|
|
273
|
-
_context.prev = 14;
|
|
274
|
-
_context.next = 17;
|
|
268
|
+
_context.prev = 13;
|
|
269
|
+
_context.next = 16;
|
|
275
270
|
return node.rest.get("/v4/loadtracks?identifier=".concat(encodeURIComponent(search)));
|
|
276
|
-
case
|
|
271
|
+
case 16:
|
|
277
272
|
res = _context.sent;
|
|
278
273
|
if (res) {
|
|
279
|
-
_context.next =
|
|
274
|
+
_context.next = 19;
|
|
280
275
|
break;
|
|
281
276
|
}
|
|
282
277
|
throw new Error("Query not found.");
|
|
283
|
-
case
|
|
278
|
+
case 19:
|
|
284
279
|
searchData = [];
|
|
285
280
|
_context.t0 = res.loadType;
|
|
286
|
-
_context.next = _context.t0 === "search" ?
|
|
281
|
+
_context.next = _context.t0 === "search" ? 23 : _context.t0 === "track" ? 25 : _context.t0 === "playlist" ? 27 : 29;
|
|
287
282
|
break;
|
|
288
|
-
case
|
|
283
|
+
case 23:
|
|
289
284
|
searchData = res.data;
|
|
290
|
-
return _context.abrupt("break",
|
|
291
|
-
case
|
|
285
|
+
return _context.abrupt("break", 29);
|
|
286
|
+
case 25:
|
|
292
287
|
searchData = [res.data];
|
|
293
|
-
return _context.abrupt("break",
|
|
294
|
-
case
|
|
288
|
+
return _context.abrupt("break", 29);
|
|
289
|
+
case 27:
|
|
295
290
|
playlistData = res.data;
|
|
296
|
-
return _context.abrupt("break",
|
|
297
|
-
case
|
|
291
|
+
return _context.abrupt("break", 29);
|
|
292
|
+
case 29:
|
|
298
293
|
tracks = searchData.map(function (track) {
|
|
299
294
|
return _Utils.TrackUtils.build(track, requester);
|
|
300
295
|
});
|
|
@@ -345,15 +340,15 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
|
|
|
345
340
|
}
|
|
346
341
|
if (this.options.caches.enabled && this.options.caches.time > 0) this.caches.set(search, result);
|
|
347
342
|
return _context.abrupt("return", result);
|
|
348
|
-
case
|
|
349
|
-
_context.prev =
|
|
350
|
-
_context.t1 = _context["catch"](
|
|
343
|
+
case 37:
|
|
344
|
+
_context.prev = 37;
|
|
345
|
+
_context.t1 = _context["catch"](13);
|
|
351
346
|
throw new Error(_context.t1 instanceof Error ? _context.t1.message : String(_context.t1));
|
|
352
|
-
case
|
|
347
|
+
case 40:
|
|
353
348
|
case "end":
|
|
354
349
|
return _context.stop();
|
|
355
350
|
}
|
|
356
|
-
}, _callee, this, [[
|
|
351
|
+
}, _callee, this, [[13, 37]]);
|
|
357
352
|
}));
|
|
358
353
|
function search(_x, _x2) {
|
|
359
354
|
return _search.apply(this, arguments);
|
|
@@ -589,4 +584,4 @@ _defineProperty(Manager, "DEFAULT_SOURCES", {
|
|
|
589
584
|
applemusic: "amsearch",
|
|
590
585
|
bandcamp: "bcsearch"
|
|
591
586
|
});
|
|
592
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwicmVxdWlyZSIsIl9VdGlscyIsIl9jb2xsZWN0aW9uIiwiX01hbmFnZXJDaGVjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJ0IiwiciIsIk9iamVjdCIsIm4iLCJoYXNPd25Qcm9wZXJ0eSIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiYSIsImMiLCJhc3luY0l0ZXJhdG9yIiwidSIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiYXJnIiwiY2FsbCIsImgiLCJsIiwiZiIsInMiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsImZvckVhY2giLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIkFycmF5IiwiaXNBcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsImZyb20iLCJ0ZXN0Iiwib3duS2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9kZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwiYmluZCIsIl9pbmhlcml0cyIsIl9zZXRQcm90b3R5cGVPZiIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiTWFuYWdlciIsImV4cG9ydHMiLCJfRXZlbnRFbWl0dGVyIiwib3B0aW9ucyIsIl90aGlzIiwiQ29sbGVjdGlvbiIsIm1hbmFnZXJDaGVjayIsIlN0cnVjdHVyZSIsImdldCIsImluaXQiLCJUcmFja1V0aWxzIiwidHJhY2tQYXJ0aWFsIiwic2V0VHJhY2tQYXJ0aWFsIiwicGx1Z2lucyIsIm5vZGVzIiwiaWRlbnRpZmllciIsImhvc3QiLCJyZXN1bWVTdGF0dXMiLCJyZXN1bWVUaW1lb3V0Iiwic2hhcmRzIiwiYXV0b1BsYXkiLCJ1c2VQcmlvcml0eSIsImNsaWVudE5hbWUiLCJkZWZhdWx0U2VhcmNoUGxhdGZvcm0iLCJ1c2VOb2RlIiwiX2l0ZXJhdG9yIiwiZW50cmllcyIsIl9zdGVwIiwiX3N0ZXAkdmFsdWUiLCJpbmRleCIsInBsdWdpbiIsIlBsdWdpbiIsIlJhbmdlRXJyb3IiLCJjb25jYXQiLCJsb2FkIiwiZXJyIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsIl9ub2RlJG9wdGlvbnMkaWRlbnRpZiIsIm5vZGVPcHRpb25zIiwibm9kZSIsInNldCIsInNldEludGVydmFsIiwiY2FjaGVzIiwiY2xlYXIiLCJ0aW1lIiwiY29ubmVjdGVkIiwic29ydCIsImIiLCJfYSRzdGF0cyIsIl9iJHN0YXRzIiwiYWxvYWQiLCJzdGF0cyIsImNwdSIsImxhdmFsaW5rTG9hZCIsImNvcmVzIiwiYmxvYWQiLCJfYSRzdGF0cyRwbGF5ZXJzIiwiX2Ekc3RhdHMyIiwiX2Ikc3RhdHMkcGxheWVycyIsIl9iJHN0YXRzMiIsInBsYXllcnMiLCJmaWx0ZXJlZE5vZGVzIiwiX25vZGUkb3B0aW9ucyRwcmlvcml0IiwicHJpb3JpdHkiLCJ0b3RhbFdlaWdodCIsInJlZHVjZSIsInRvdGFsIiwiX25vZGUkb3B0aW9ucyRwcmlvcml0MiIsIndlaWdodGVkTm9kZXMiLCJtYXAiLCJfbm9kZSRvcHRpb25zJHByaW9yaXQzIiwid2VpZ2h0IiwicmFuZG9tTnVtYmVyIiwiTWF0aCIsInJhbmRvbSIsImN1bXVsYXRpdmVXZWlnaHQiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwiX3N0ZXAzJHZhbHVlIiwibGVhc3RMb2FkTm9kZSIsImZpcnN0IiwibGVhc3RQbGF5ZXJzTm9kZSIsInByaW9yaXR5Tm9kZSIsImNsaWVudElkIiwiaW5pdGlhdGVkIiwiX2l0ZXJhdG9yNCIsIl9zdGVwNCIsImNvbm5lY3QiLCJlbWl0IiwiX3NlYXJjaCIsIl9jYWxsZWUiLCJxdWVyeSIsInJlcXVlc3RlciIsIl9NYW5hZ2VyJERFRkFVTFRfU09VUiIsIl9xdWVyeSRzb3VyY2UiLCJkYXRhIiwiX3F1ZXJ5IiwiX3NvdXJjZSIsInNlYXJjaCIsInJlcyIsInNlYXJjaERhdGEiLCJwbGF5bGlzdERhdGEiLCJ0cmFja3MiLCJwbGF5bGlzdCIsInJlc3VsdCIsInRyYWNrc1RvUmVwbGFjZSIsIl9yZXN1bHQkcGxheWxpc3QkdHJhYyIsIl9yZXN1bHQkcGxheWxpc3QiLCJfaXRlcmF0b3I1IiwiX3N0ZXA1IiwidHJhY2siLCJfdHJhY2skdGl0bGUkc3BsaXQkbWEiLCJfdHJhY2skdGl0bGUkc3BsaXQkbWEyIiwiYXV0aG9yIiwidGl0bGUiLCJpc1lvdVR1YmVVUkwiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwiX2lzWW91VHViZVVSTCIsInVyaSIsImluY2x1ZGVzIiwidXNlYWJsZU5vZGVzIiwiZW5hYmxlZCIsIkRFRkFVTFRfU09VUkNFUyIsInNvdXJjZSIsInJlc3QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJ0MCIsImxvYWRUeXBlIiwiYnVpbGQiLCJpbmZvIiwiZHVyYXRpb24iLCJhY2MiLCJjdXIiLCJyZXBsYWNlWW91VHViZUNyZWRlbnRpYWxzIiwicmVwbGFjZSIsInNwbGl0Iiwic3RyIiwidHJpbSIsInQxIiwibWVzc2FnZSIsIl94IiwiX3gyIiwiZGVjb2RlVHJhY2tzIiwiX3RoaXMyIiwiX3JlZiIsIl9jYWxsZWUyIiwicmVqZWN0IiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwicG9zdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJfeDMiLCJfeDQiLCJfZGVjb2RlVHJhY2siLCJfY2FsbGVlMyIsIl9jYWxsZWUzJCIsIl9jb250ZXh0MyIsImRlY29kZVRyYWNrIiwiX3g1IiwiaGFzIiwiZ3VpbGQiLCJkZXN0cm95IiwiY3JlYXRlTm9kZSIsImRlc3Ryb3lOb2RlIiwiX3VwZGF0ZVZvaWNlU3RhdGUiLCJfY2FsbGVlNCIsIl9kYXRhJHQiLCJ1cGRhdGUiLCJwbGF5ZXIiLCJfcGxheWVyJHZvaWNlQ2hhbm5lbCIsIl9wbGF5ZXIkdm9pY2VTdGF0ZSIsInNlc3Npb25JZCIsIl9wbGF5ZXIkdm9pY2VTdGF0ZSRldiIsInRva2VuIiwiZW5kcG9pbnQiLCJfY2FsbGVlNCQiLCJfY29udGV4dDQiLCJndWlsZF9pZCIsInZvaWNlU3RhdGUiLCJldmVudCIsInVwZGF0ZVBsYXllciIsImd1aWxkSWQiLCJ2b2ljZSIsImNoYW5uZWxJZCIsInZvaWNlQ2hhbm5lbCIsInVzZXJfaWQiLCJjaGFubmVsX2lkIiwic2Vzc2lvbl9pZCIsImFzc2lnbiIsInVwZGF0ZVZvaWNlU3RhdGUiLCJfeDYiLCJFdmVudEVtaXR0ZXIiLCJ5b3V0dWJlIiwic3BvdGlmeSIsImppb3NhYXZuIiwic291bmRjbG91ZCIsImRlZXplciIsInRpZGFsIiwiYXBwbGVtdXNpYyIsImJhbmRjYW1wIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0cnVjdHVyZXMvTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1hc3luYy1wcm9taXNlLWV4ZWN1dG9yICovXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiZXZlbnRzXCI7XG5pbXBvcnQge1xuXHRMb2FkVHlwZSxcblx0UGx1Z2luLFxuXHRTdHJ1Y3R1cmUsXG5cdFRyYWNrRGF0YSxcblx0VHJhY2tFbmRFdmVudCxcblx0VHJhY2tFeGNlcHRpb25FdmVudCxcblx0VHJhY2tTdGFydEV2ZW50LFxuXHRUcmFja1N0dWNrRXZlbnQsXG5cdFRyYWNrVXRpbHMsXG5cdFZvaWNlUGFja2V0LFxuXHRWb2ljZVNlcnZlcixcblx0V2ViU29ja2V0Q2xvc2VkRXZlbnQsXG59IGZyb20gXCIuL1V0aWxzXCI7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSBcIkBkaXNjb3JkanMvY29sbGVjdGlvblwiO1xuaW1wb3J0IHsgTm9kZSwgTm9kZU9wdGlvbnMgfSBmcm9tIFwiLi9Ob2RlXCI7XG5pbXBvcnQgeyBQbGF5ZXIsIFBsYXllck9wdGlvbnMsIFRyYWNrLCBVbnJlc29sdmVkVHJhY2sgfSBmcm9tIFwiLi9QbGF5ZXJcIjtcbmltcG9ydCB7IFZvaWNlU3RhdGUgfSBmcm9tIFwiLi5cIjtcbmltcG9ydCBtYW5hZ2VyQ2hlY2sgZnJvbSBcIi4uL1V0aWxzL01hbmFnZXJDaGVja1wiO1xuaW1wb3J0IHsgQ2xpZW50VXNlciwgVXNlciB9IGZyb20gXCJkaXNjb3JkLmpzXCI7XG5cblxuXG4vKipcbiAqIFRoZSBtYWluIGh1YiBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBMYXZhbGluayBhbmQgdXNpbmcgTWFnbWFzdHJlYW0sXG4gKi9cbmV4cG9ydCBjbGFzcyBNYW5hZ2VyIGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcblx0cHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1NPVVJDRVM6IFJlY29yZDxTZWFyY2hQbGF0Zm9ybSwgc3RyaW5nPiA9IHtcblx0XHRcInlvdXR1YmUgbXVzaWNcIjogXCJ5dG1zZWFyY2hcIixcblx0XHR5b3V0dWJlOiBcInl0c2VhcmNoXCIsXG5cdFx0c3BvdGlmeTogXCJzcHNlYXJjaFwiLFxuXHRcdGppb3NhYXZuOiBcImpzc2VhcmNoXCIsXG5cdFx0c291bmRjbG91ZDogXCJzY3NlYXJjaFwiLFxuXHRcdGRlZXplcjogXCJkenNlYXJjaFwiLFxuXHRcdHRpZGFsOiBcInRkc2VhcmNoXCIsXG5cdFx0YXBwbGVtdXNpYzogXCJhbXNlYXJjaFwiLFxuXHRcdGJhbmRjYW1wOiBcImJjc2VhcmNoXCIsXG5cdH07XG5cblx0LyoqIFRoZSBtYXAgb2YgcGxheWVycy4gKi9cblx0cHVibGljIHJlYWRvbmx5IHBsYXllcnMgPSBuZXcgQ29sbGVjdGlvbjxzdHJpbmcsIFBsYXllcj4oKTtcblx0LyoqIFRoZSBtYXAgb2Ygbm9kZXMuICovXG5cdHB1YmxpYyByZWFkb25seSBub2RlcyA9IG5ldyBDb2xsZWN0aW9uPHN0cmluZywgTm9kZT4oKTtcblx0LyoqIFRoZSBvcHRpb25zIHRoYXQgd2VyZSBzZXQuICovXG5cdHB1YmxpYyByZWFkb25seSBvcHRpb25zOiBNYW5hZ2VyT3B0aW9ucztcblx0cHJpdmF0ZSBpbml0aWF0ZWQgPSBmYWxzZTtcblx0cHVibGljIGNhY2hlcyA9IG5ldyBDb2xsZWN0aW9uPHN0cmluZywgU2VhcmNoUmVzdWx0PigpO1xuXG5cdC8qKiBSZXR1cm5zIHRoZSBub2RlcyB0aGF0IGhhcyB0aGUgbGVhc3QgbG9hZC4gKi9cblx0cHVibGljIGdldCBsZWFzdExvYWROb2RlKCk6IENvbGxlY3Rpb248c3RyaW5nLCBOb2RlPiB7XG5cdFx0cmV0dXJuIHRoaXMubm9kZXNcblx0XHRcdC5maWx0ZXIoKG5vZGUpID0+IG5vZGUuY29ubmVjdGVkKVxuXHRcdFx0LnNvcnQoKGEsIGIpID0+IHtcblx0XHRcdFx0Y29uc3QgYWxvYWQgPSBhLnN0YXRzPy5jcHUgPyAoYS5zdGF0cy5jcHUubGF2YWxpbmtMb2FkIC8gYS5zdGF0cy5jcHUuY29yZXMpICogMTAwIDogMDtcblx0XHRcdFx0Y29uc3QgYmxvYWQgPSBiLnN0YXRzPy5jcHUgPyAoYi5zdGF0cy5jcHUubGF2YWxpbmtMb2FkIC8gYi5zdGF0cy5jcHUuY29yZXMpICogMTAwIDogMDtcblx0XHRcdFx0cmV0dXJuIGFsb2FkIC0gYmxvYWQ7XG5cdFx0XHR9KTtcblx0fVxuXG5cdC8qKiBSZXR1cm5zIHRoZSBub2RlcyB0aGF0IGhhcyB0aGUgbGVhc3QgYW1vdW50IG9mIHBsYXllcnMuICovXG5cdHByaXZhdGUgZ2V0IGxlYXN0UGxheWVyc05vZGUoKTogQ29sbGVjdGlvbjxzdHJpbmcsIE5vZGU+IHtcblx0XHRyZXR1cm4gdGhpcy5ub2Rlcy5maWx0ZXIoKG5vZGUpID0+IG5vZGUuY29ubmVjdGVkKS5zb3J0KChhLCBiKSA9PiAoYS5zdGF0cz8ucGxheWVycyA/PyAwKSAtIChiLnN0YXRzPy5wbGF5ZXJzID8/IDApKTtcblx0fVxuXG5cdFxuXG5cdC8qKiBSZXR1cm5zIGEgbm9kZSBiYXNlZCBvbiBwcmlvcml0eS4gKi9cblx0cHJpdmF0ZSBnZXQgcHJpb3JpdHlOb2RlKCk6IE5vZGUge1xuXHRcdGNvbnN0IGZpbHRlcmVkTm9kZXMgPSB0aGlzLm5vZGVzLmZpbHRlcigobm9kZSkgPT4gbm9kZS5jb25uZWN0ZWQgJiYgKG5vZGUub3B0aW9ucy5wcmlvcml0eSA/PyAwKSA+IDApO1xuXHRcdGNvbnN0IHRvdGFsV2VpZ2h0ID0gZmlsdGVyZWROb2Rlcy5yZWR1Y2UoKHRvdGFsLCBub2RlKSA9PiB0b3RhbCArIChub2RlLm9wdGlvbnMucHJpb3JpdHkgPz8gMCksIDApO1xuXHRcdGNvbnN0IHdlaWdodGVkTm9kZXMgPSBmaWx0ZXJlZE5vZGVzLm1hcCgobm9kZSkgPT4gKHtcblx0XHRcdG5vZGUsXG5cdFx0XHR3ZWlnaHQ6IChub2RlLm9wdGlvbnMucHJpb3JpdHkgPz8gMCkgLyB0b3RhbFdlaWdodCxcblx0XHR9KSk7XG5cdFx0Y29uc3QgcmFuZG9tTnVtYmVyID0gTWF0aC5yYW5kb20oKTtcblxuXHRcdGxldCBjdW11bGF0aXZlV2VpZ2h0ID0gMDtcblxuXHRcdGZvciAoY29uc3QgeyBub2RlLCB3ZWlnaHQgfSBvZiB3ZWlnaHRlZE5vZGVzKSB7XG5cdFx0XHRjdW11bGF0aXZlV2VpZ2h0ICs9IHdlaWdodDtcblx0XHRcdGlmIChyYW5kb21OdW1iZXIgPD0gY3VtdWxhdGl2ZVdlaWdodCkge1xuXHRcdFx0XHRyZXR1cm4gbm9kZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gKHRoaXMub3B0aW9ucy51c2VOb2RlID09PSBcImxlYXN0TG9hZFwiID8gdGhpcy5sZWFzdExvYWROb2RlLmZpcnN0KCkgOiB0aGlzLmxlYXN0UGxheWVyc05vZGUuZmlyc3QoKSkgYXMgTm9kZTtcblx0fVxuXG5cdC8qKiBSZXR1cm5zIHRoZSBub2RlIHRvIHVzZS4gKi9cblx0cHVibGljIGdldCB1c2VhYmxlTm9kZXMoKTogTm9kZSB7XG5cdFx0cmV0dXJuICh0aGlzLm9wdGlvbnMudXNlUHJpb3JpdHkgPyB0aGlzLnByaW9yaXR5Tm9kZSA6IHRoaXMub3B0aW9ucy51c2VOb2RlID09PSBcImxlYXN0TG9hZFwiID8gdGhpcy5sZWFzdExvYWROb2RlLmZpcnN0KCkgOiB0aGlzLmxlYXN0UGxheWVyc05vZGUuZmlyc3QoKSkgYXMgTm9kZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbml0aWF0ZXMgdGhlIE1hbmFnZXIgY2xhc3MuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihvcHRpb25zOiBNYW5hZ2VyT3B0aW9ucykge1xuXHRcdHN1cGVyKCk7XG5cblx0XHRtYW5hZ2VyQ2hlY2sob3B0aW9ucyk7XG5cdFx0U3RydWN0dXJlLmdldChcIlBsYXllclwiKS5pbml0KHRoaXMpO1xuXHRcdFN0cnVjdHVyZS5nZXQoXCJOb2RlXCIpLmluaXQodGhpcyk7XG5cdFx0VHJhY2tVdGlscy5pbml0KHRoaXMpO1xuXHRcdFxuXHRcdGlmIChvcHRpb25zLnRyYWNrUGFydGlhbCkge1xuXHRcdFx0VHJhY2tVdGlscy5zZXRUcmFja1BhcnRpYWwob3B0aW9ucy50cmFja1BhcnRpYWwpO1xuXHRcdFx0ZGVsZXRlIG9wdGlvbnMudHJhY2tQYXJ0aWFsO1xuXHRcdH1cblxuXHRcdHRoaXMub3B0aW9ucyA9IHtcblx0XHRcdHBsdWdpbnM6IFtdLFxuXHRcdFx0bm9kZXM6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGlkZW50aWZpZXI6IFwiZGVmYXVsdFwiLFxuXHRcdFx0XHRcdGhvc3Q6IFwibG9jYWxob3N0XCIsXG5cdFx0XHRcdFx0cmVzdW1lU3RhdHVzOiBmYWxzZSxcblx0XHRcdFx0XHRyZXN1bWVUaW1lb3V0OiAxMDAwLFxuXHRcdFx0XHR9LFxuXHRcdFx0XSxcblx0XHRcdHNoYXJkczogMSxcblx0XHRcdGF1dG9QbGF5OiB0cnVlLFxuXHRcdFx0dXNlUHJpb3JpdHk6IGZhbHNlLFxuXHRcdFx0Y2xpZW50TmFtZTogXCJGb3IgdjMuMFwiLFxuXHRcdFx0ZGVmYXVsdFNlYXJjaFBsYXRmb3JtOiBcInlvdXR1YmVcIixcblx0XHRcdHVzZU5vZGU6IFwibGVhc3RQbGF5ZXJzXCIsXG5cdFx0XHQuLi5vcHRpb25zLFxuXHRcdH07XG5cblx0XHRcblxuXHRcdGlmICh0aGlzLm9wdGlvbnMucGx1Z2lucykge1xuXHRcdFx0Zm9yIChjb25zdCBbaW5kZXgsIHBsdWdpbl0gb2YgdGhpcy5vcHRpb25zLnBsdWdpbnMuZW50cmllcygpKSB7XG5cdFx0XHRcdGlmICghKHBsdWdpbiBpbnN0YW5jZW9mIFBsdWdpbikpIHRocm93IG5ldyBSYW5nZUVycm9yKGBQbHVnaW4gYXQgaW5kZXggJHtpbmRleH0gZG9lcyBub3QgZXh0ZW5kIFBsdWdpbi5gKTtcblx0XHRcdFx0cGx1Z2luLmxvYWQodGhpcyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMub3B0aW9ucy5ub2Rlcykge1xuXHRcdFx0Zm9yIChjb25zdCBub2RlT3B0aW9ucyBvZiB0aGlzLm9wdGlvbnMubm9kZXMpIHtcblx0XHRcdFx0Y29uc3Qgbm9kZSA9IG5ldyAoU3RydWN0dXJlLmdldChcIk5vZGVcIikpKG5vZGVPcHRpb25zKTtcblx0XHRcdFx0dGhpcy5ub2Rlcy5zZXQobm9kZS5vcHRpb25zLmlkZW50aWZpZXIgPz8gbm9kZS5vcHRpb25zLmhvc3QsIG5vZGUpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRzZXRJbnRlcnZhbCgoKSA9PiB7XG5cdFx0XHR0aGlzLmNhY2hlcy5jbGVhcigpO1xuXHRcdH0sIHRoaXMub3B0aW9ucy5jYWNoZXMudGltZSk7XG5cdH1cblxuXG5cdC8qKlxuXHQgKiBJbml0aWF0ZXMgdGhlIE1hbmFnZXIuXG5cdCAqIEBwYXJhbSBjbGllbnRJZFxuXHQgKi9cblx0cHVibGljIGluaXQoY2xpZW50SWQ/OiBzdHJpbmcpOiB0aGlzIHtcblx0XHRpZiAodGhpcy5pbml0aWF0ZWQpIHJldHVybiB0aGlzO1xuXHRcdGlmICh0eXBlb2YgY2xpZW50SWQgIT09IFwidW5kZWZpbmVkXCIpIHRoaXMub3B0aW9ucy5jbGllbnRJZCA9IGNsaWVudElkO1xuXG5cdFx0aWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuY2xpZW50SWQgIT09IFwic3RyaW5nXCIpIHRocm93IG5ldyBFcnJvcignXCJjbGllbnRJZFwiIHNldCBpcyBub3QgdHlwZSBvZiBcInN0cmluZ1wiJyk7XG5cblx0XHRpZiAoIXRoaXMub3B0aW9ucy5jbGllbnRJZCkgdGhyb3cgbmV3IEVycm9yKCdcImNsaWVudElkXCIgaXMgbm90IHNldC4gUGFzcyBpdCBpbiBNYW5hZ2VyI2luaXQoKSBvciBhcyBhIG9wdGlvbiBpbiB0aGUgY29uc3RydWN0b3IuJyk7XG5cblx0XHRmb3IgKGNvbnN0IG5vZGUgb2YgdGhpcy5ub2Rlcy52YWx1ZXMoKSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0bm9kZS5jb25uZWN0KCk7XG5cdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0dGhpcy5lbWl0KFwiTm9kZUVycm9yXCIsIG5vZGUsIGVycik7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dGhpcy5pbml0aWF0ZWQgPSB0cnVlO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlYXJjaGVzIHRoZSBlbmFibGVkIHNvdXJjZXMgYmFzZWQgb2ZmIHRoZSBVUkwgb3IgdGhlIGBzb3VyY2VgIHByb3BlcnR5LlxuXHQgKiBAcGFyYW0gcXVlcnlcblx0ICogQHBhcmFtIHJlcXVlc3RlclxuXHQgKiBAcmV0dXJucyBUaGUgc2VhcmNoIHJlc3VsdC5cblx0ICovXG5cdHB1YmxpYyBhc3luYyBzZWFyY2gocXVlcnk6IHN0cmluZyB8IFNlYXJjaFF1ZXJ5LCByZXF1ZXN0ZXI/OiBVc2VyIHwgQ2xpZW50VXNlcik6IFByb21pc2U8U2VhcmNoUmVzdWx0PiB7XG5cdFx0Y29uc3Qgbm9kZSA9IHRoaXMudXNlYWJsZU5vZGVzO1xuXG5cdFx0aWYgKCFub2RlKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJObyBhdmFpbGFibGUgbm9kZXMuXCIpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5vcHRpb25zLmNhY2hlcy5lbmFibGVkICYmIHRoaXMub3B0aW9ucy5jYWNoZXMudGltZSA+IDAgJiYgdHlwZW9mIHF1ZXJ5ID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRjb25zdCBkYXRhID0gdGhpcy5jYWNoZXMuZ2V0KHF1ZXJ5KTtcblx0XHRcdGlmIChkYXRhKSByZXR1cm4gZGF0YTtcblx0XHR9XG5cdFx0Y29uc3QgX3F1ZXJ5OiBTZWFyY2hRdWVyeSA9IHR5cGVvZiBxdWVyeSA9PT0gXCJzdHJpbmdcIiA/IHsgcXVlcnkgfSA6IHF1ZXJ5O1xuXHRcdGNvbnN0IF9zb3VyY2UgPSBNYW5hZ2VyLkRFRkFVTFRfU09VUkNFU1soX3F1ZXJ5LnNvdXJjZSA/PyB0aGlzLm9wdGlvbnMuZGVmYXVsdFNlYXJjaFBsYXRmb3JtKSBhcyBTZWFyY2hQbGF0Zm9ybV0gPz8gX3F1ZXJ5LnNvdXJjZTtcblx0XHRsZXQgc2VhcmNoID0gX3F1ZXJ5LnF1ZXJ5O1xuXG5cdFx0aWYgKCEvXmh0dHBzPzpcXC9cXC8vLnRlc3Qoc2VhcmNoKSkge1xuXHRcdFx0c2VhcmNoID0gYCR7X3NvdXJjZX06JHtzZWFyY2h9YDtcblx0XHR9XG5cblx0XHRpZiAodHlwZW9mIHF1ZXJ5ICE9PSBcInN0cmluZ1wiKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwiUXVlcnkgbXVzdCBiZSBhIHN0cmluZy5cIik7XG5cdFx0fVxuXG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IHJlcyA9IChhd2FpdCBub2RlLnJlc3QuZ2V0KGAvdjQvbG9hZHRyYWNrcz9pZGVudGlmaWVyPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHNlYXJjaCl9YCkpIGFzIExhdmFsaW5rUmVzcG9uc2U7XG5cdFx0XHRpZiAoIXJlcykgdGhyb3cgbmV3IEVycm9yKFwiUXVlcnkgbm90IGZvdW5kLlwiKTtcblxuXHRcdFx0bGV0IHNlYXJjaERhdGE6IFRyYWNrRGF0YVtdID0gW107XG5cdFx0XHRsZXQgcGxheWxpc3REYXRhOiBQbGF5bGlzdFJhd0RhdGEgfCB1bmRlZmluZWQ7XG5cblx0XHRcdHN3aXRjaCAocmVzLmxvYWRUeXBlKSB7XG5cdFx0XHRcdGNhc2UgXCJzZWFyY2hcIjpcblx0XHRcdFx0XHRzZWFyY2hEYXRhID0gcmVzLmRhdGEgYXMgVHJhY2tEYXRhW107XG5cdFx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdFx0Y2FzZSBcInRyYWNrXCI6XG5cdFx0XHRcdFx0c2VhcmNoRGF0YSA9IFtyZXMuZGF0YSBhcyB1bmtub3duIGFzIFRyYWNrRGF0YV07XG5cdFx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdFx0Y2FzZSBcInBsYXlsaXN0XCI6XG5cdFx0XHRcdFx0cGxheWxpc3REYXRhID0gcmVzLmRhdGEgYXMgUGxheWxpc3RSYXdEYXRhO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCB0cmFja3MgPSBzZWFyY2hEYXRhLm1hcCgodHJhY2spID0+IFRyYWNrVXRpbHMuYnVpbGQodHJhY2ssIHJlcXVlc3RlcikpO1xuXHRcdFx0bGV0IHBsYXlsaXN0OiBQbGF5bGlzdERhdGEgfCB1bmRlZmluZWQ7XG5cblx0XHRcdGlmIChyZXMubG9hZFR5cGUgPT09IFwicGxheWxpc3RcIikge1xuXHRcdFx0XHRwbGF5bGlzdCA9IHtcblx0XHRcdFx0XHRuYW1lOiBwbGF5bGlzdERhdGEhLmluZm8ubmFtZSxcblx0XHRcdFx0XHR0cmFja3M6IHBsYXlsaXN0RGF0YSEudHJhY2tzLm1hcCgodHJhY2spID0+IFRyYWNrVXRpbHMuYnVpbGQodHJhY2ssIHJlcXVlc3RlcikpLFxuXHRcdFx0XHRcdGR1cmF0aW9uOiBwbGF5bGlzdERhdGEhLnRyYWNrcy5yZWR1Y2UoKGFjYywgY3VyKSA9PiBhY2MgKyAoY3VyLmluZm8ubGVuZ3RoIHx8IDApLCAwKSxcblx0XHRcdFx0fTtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgcmVzdWx0OiBTZWFyY2hSZXN1bHQgPSB7XG5cdFx0XHRcdGxvYWRUeXBlOiByZXMubG9hZFR5cGUsXG5cdFx0XHRcdHRyYWNrcyxcblx0XHRcdFx0cGxheWxpc3QsXG5cdFx0XHR9O1xuXG5cdFx0XHRpZiAodGhpcy5vcHRpb25zLnJlcGxhY2VZb3VUdWJlQ3JlZGVudGlhbHMpIHtcblx0XHRcdFx0bGV0IHRyYWNrc1RvUmVwbGFjZTogVHJhY2tbXSA9IFtdO1xuXHRcdFx0XHRpZiAocmVzdWx0LmxvYWRUeXBlID09PSBcInBsYXlsaXN0XCIpIHtcblx0XHRcdFx0XHR0cmFja3NUb1JlcGxhY2UgPSByZXN1bHQucGxheWxpc3Q/LnRyYWNrcyA/PyBbXTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0cmFja3NUb1JlcGxhY2UgPSByZXN1bHQudHJhY2tzO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Zm9yIChjb25zdCB0cmFjayBvZiB0cmFja3NUb1JlcGxhY2UpIHtcblx0XHRcdFx0XHRpZiAoaXNZb3VUdWJlVVJMKHRyYWNrLnVyaSkpIHtcblx0XHRcdFx0XHRcdHRyYWNrLmF1dGhvciA9IHRyYWNrLmF1dGhvci5yZXBsYWNlKFwiLSBUb3BpY1wiLCBcIlwiKTtcblx0XHRcdFx0XHRcdHRyYWNrLnRpdGxlID0gdHJhY2sudGl0bGUucmVwbGFjZShcIlRvcGljIC1cIiwgXCJcIik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmICh0cmFjay50aXRsZS5pbmNsdWRlcyhcIi1cIikpIHtcblx0XHRcdFx0XHRcdGNvbnN0IFthdXRob3IsIHRpdGxlXSA9IHRyYWNrLnRpdGxlLnNwbGl0KFwiLVwiKS5tYXAoKHN0cjogc3RyaW5nKSA9PiBzdHIudHJpbSgpKTtcblx0XHRcdFx0XHRcdHRyYWNrLmF1dGhvciA9IGF1dGhvcjtcblx0XHRcdFx0XHRcdHRyYWNrLnRpdGxlID0gdGl0bGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy5vcHRpb25zLmNhY2hlcy5lbmFibGVkICYmIHRoaXMub3B0aW9ucy5jYWNoZXMudGltZSA+IDApIHRoaXMuY2FjaGVzLnNldChzZWFyY2gsIHJlc3VsdCk7XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiBTdHJpbmcoZXJyKSk7XG5cdFx0fVxuXG5cdFx0ZnVuY3Rpb24gaXNZb3VUdWJlVVJMKHVyaTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0XHRyZXR1cm4gdXJpLmluY2x1ZGVzKFwieW91dHViZS5jb21cIikgfHwgdXJpLmluY2x1ZGVzKFwieW91dHUuYmVcIik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIERlY29kZXMgdGhlIGJhc2U2NCBlbmNvZGVkIHRyYWNrcyBhbmQgcmV0dXJucyBhIFRyYWNrRGF0YSBhcnJheS5cblx0ICogQHBhcmFtIHRyYWNrc1xuXHQgKi9cblx0cHVibGljIGRlY29kZVRyYWNrcyh0cmFja3M6IHN0cmluZ1tdKTogUHJvbWlzZTxUcmFja0RhdGFbXT4ge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZShhc3luYyhyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdGNvbnN0IG5vZGUgPSB0aGlzLm5vZGVzLmZpcnN0KCk7XG5cdFx0XHRpZiAoIW5vZGUpIHtcblx0XHRcdFx0cmV0dXJuIHJlamVjdChuZXcgRXJyb3IoXCJObyBhdmFpbGFibGUgbm9kZXMuXCIpKTtcblx0XHRcdH1cblx0XG5cdFx0XHRhd2FpdCBub2RlLnJlc3QucG9zdChcIi92NC9kZWNvZGV0cmFja3NcIiwgSlNPTi5zdHJpbmdpZnkodHJhY2tzKSlcblx0XHRcdFx0LnRoZW4oKHJlcykgPT4ge1xuXHRcdFx0XHRcdGlmICghcmVzKSByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihcIk5vIGRhdGEgcmV0dXJuZWQgZnJvbSBxdWVyeS5cIikpO1xuXHRcdFx0XHRcdHJlc29sdmUocmVzIGFzIFRyYWNrRGF0YVtdKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKChlcnIpID0+IHJlamVjdChlcnIpKTtcblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWNvZGVzIHRoZSBiYXNlNjQgZW5jb2RlZCB0cmFjayBhbmQgcmV0dXJucyBhIFRyYWNrRGF0YS5cblx0ICogQHBhcmFtIHRyYWNrXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgZGVjb2RlVHJhY2sodHJhY2s6IHN0cmluZyk6IFByb21pc2U8VHJhY2tEYXRhPiB7XG5cdFx0Y29uc3QgcmVzID0gYXdhaXQgdGhpcy5kZWNvZGVUcmFja3MoW3RyYWNrXSk7XG5cdFx0cmV0dXJuIHJlc1swXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgcGxheWVyIG9yIHJldHVybnMgb25lIGlmIGl0IGFscmVhZHkgZXhpc3RzLlxuXHQgKiBAcGFyYW0gb3B0aW9uc1xuXHQgKi9cblx0cHVibGljIGNyZWF0ZShvcHRpb25zOiBQbGF5ZXJPcHRpb25zKTogUGxheWVyIHtcblx0XHRpZiAodGhpcy5wbGF5ZXJzLmhhcyhvcHRpb25zLmd1aWxkKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMucGxheWVycy5nZXQob3B0aW9ucy5ndWlsZCkgYXMgUGxheWVyO1xuXHRcdH1cblxuXHRcdHJldHVybiBuZXcgKFN0cnVjdHVyZS5nZXQoXCJQbGF5ZXJcIikpKG9wdGlvbnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgYSBwbGF5ZXIgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXMgbm90IGV4aXN0LlxuXHQgKiBAcGFyYW0gZ3VpbGRcblx0ICovXG5cdHB1YmxpYyBnZXQoZ3VpbGQ6IHN0cmluZyk6IFBsYXllciB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMucGxheWVycy5nZXQoZ3VpbGQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlc3Ryb3lzIGEgcGxheWVyIGlmIGl0IGV4aXN0cy5cblx0ICogQHBhcmFtIGd1aWxkXG5cdCAqL1xuXHRwdWJsaWMgZGVzdHJveShndWlsZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5wbGF5ZXJzLmRlbGV0ZShndWlsZCk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5vZGUgb3IgcmV0dXJucyBvbmUgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlTm9kZShvcHRpb25zOiBOb2RlT3B0aW9ucyk6IE5vZGUge1xuXHRcdGlmICh0aGlzLm5vZGVzLmhhcyhvcHRpb25zLmlkZW50aWZpZXIgfHwgb3B0aW9ucy5ob3N0KSkge1xuXHRcdFx0cmV0dXJuIHRoaXMubm9kZXMuZ2V0KG9wdGlvbnMuaWRlbnRpZmllciB8fCBvcHRpb25zLmhvc3QpIGFzIE5vZGU7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG5ldyAoU3RydWN0dXJlLmdldChcIk5vZGVcIikpKG9wdGlvbnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlc3Ryb3lzIGEgbm9kZSBpZiBpdCBleGlzdHMuXG5cdCAqIEBwYXJhbSBpZGVudGlmaWVyXG5cdCAqL1xuXHRwdWJsaWMgZGVzdHJveU5vZGUoaWRlbnRpZmllcjogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3Qgbm9kZSA9IHRoaXMubm9kZXMuZ2V0KGlkZW50aWZpZXIpO1xuXHRcdGlmICghbm9kZSkgcmV0dXJuO1xuXHRcdG5vZGUuZGVzdHJveSgpO1xuXHRcdHRoaXMubm9kZXMuZGVsZXRlKGlkZW50aWZpZXIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlbmRzIHZvaWNlIGRhdGEgdG8gdGhlIExhdmFsaW5rIHNlcnZlci5cblx0ICogQHBhcmFtIGRhdGFcblx0ICovXG5cdHB1YmxpYyBhc3luYyB1cGRhdGVWb2ljZVN0YXRlKGRhdGE6IFZvaWNlUGFja2V0IHwgVm9pY2VTZXJ2ZXIgfCBWb2ljZVN0YXRlKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKFwidFwiIGluIGRhdGEgJiYgIVtcIlZPSUNFX1NUQVRFX1VQREFURVwiLCBcIlZPSUNFX1NFUlZFUl9VUERBVEVcIl0uaW5jbHVkZXMoZGF0YS50ID8/IFwiXCIpKSByZXR1cm47XG5cblx0XHRjb25zdCB1cGRhdGUgPSBcImRcIiBpbiBkYXRhID8gZGF0YS5kIDogZGF0YTtcblxuXHRcdGlmICghdXBkYXRlIHx8ICghKFwidG9rZW5cIiBpbiB1cGRhdGUpICYmICEoXCJzZXNzaW9uX2lkXCIgaW4gdXBkYXRlKSkpIHJldHVybjtcblxuXHRcdGNvbnN0IHBsYXllciA9IHRoaXMucGxheWVycy5nZXQodXBkYXRlLmd1aWxkX2lkKTtcblxuXHRcdGlmICghcGxheWVyKSByZXR1cm47XG5cdFx0aWYgKFwidG9rZW5cIiBpbiB1cGRhdGUpIHtcblx0XHRcdHBsYXllci52b2ljZVN0YXRlLmV2ZW50ID0gdXBkYXRlO1xuXG5cdFx0XHRjb25zdCB7XG5cdFx0XHRcdHNlc3Npb25JZCxcblx0XHRcdFx0ZXZlbnQ6IHsgdG9rZW4sIGVuZHBvaW50IH0sXG5cdFx0XHR9ID0gcGxheWVyLnZvaWNlU3RhdGU7XG5cblx0XHRcdGF3YWl0IHBsYXllci5ub2RlLnJlc3QudXBkYXRlUGxheWVyKHtcblx0XHRcdFx0Z3VpbGRJZDogcGxheWVyLmd1aWxkLFxuXHRcdFx0XHRkYXRhOiB7IHZvaWNlOiB7IHRva2VuLCBlbmRwb2ludCwgc2Vzc2lvbklkOiBzZXNzaW9uSWQgPz8gXCJcIiwgY2hhbm5lbElkOiBwbGF5ZXIudm9pY2VDaGFubmVsID8/IFwiXCIgfSB9LFxuXHRcdFx0fSk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAodXBkYXRlLnVzZXJfaWQgIT09IHRoaXMub3B0aW9ucy5jbGllbnRJZCkgcmV0dXJuO1xuXHRcdGlmICh1cGRhdGUuY2hhbm5lbF9pZCkge1xuXHRcdFx0aWYgKHBsYXllci52b2ljZUNoYW5uZWwgIT09IHVwZGF0ZS5jaGFubmVsX2lkKSB7XG5cdFx0XHRcdHRoaXMuZW1pdChcIlBsYXllck1vdmVcIiwgcGxheWVyLCBwbGF5ZXIudm9pY2VDaGFubmVsLCB1cGRhdGUuY2hhbm5lbF9pZCk7XG5cdFx0XHR9XG5cblx0XHRcdHBsYXllci52b2ljZVN0YXRlLnNlc3Npb25JZCA9IHVwZGF0ZS5zZXNzaW9uX2lkO1xuXHRcdFx0cGxheWVyLnZvaWNlQ2hhbm5lbCA9IHVwZGF0ZS5jaGFubmVsX2lkO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuZW1pdChcIlBsYXllckRpc2Nvbm5lY3RcIiwgcGxheWVyLCBwbGF5ZXIudm9pY2VDaGFubmVsKTtcblx0XHRwbGF5ZXIudm9pY2VDaGFubmVsID0gbnVsbDtcblx0XHRwbGF5ZXIudm9pY2VTdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30pO1xuXHRcdHBsYXllci5kZXN0cm95KCk7XG5cdFx0cmV0dXJuO1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZCB7XG5cdC8qKiBUaGUgT1AgY29kZSAqL1xuXHRvcDogbnVtYmVyO1xuXHRkOiB7XG5cdFx0Z3VpbGRfaWQ6IHN0cmluZztcblx0XHRjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsO1xuXHRcdHNlbGZfbXV0ZTogYm9vbGVhbjtcblx0XHRzZWxmX2RlYWY6IGJvb2xlYW47XG5cdH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuYWdlck9wdGlvbnMge1xuXHQvKiogVXNlIHByaW9yaXR5IG1vZGUgb3ZlciBsZWFzdCBhbW91bnQgb2YgcGxheWVyIG9yIGxvYWQ/ICovXG5cdHVzZVByaW9yaXR5PzogYm9vbGVhbjtcblx0LyoqIFVzZSB0aGUgbGVhc3QgYW1vdW50IG9mIHBsYXllcnMgb3IgbGVhc3QgbG9hZD8gKi9cblx0dXNlTm9kZT86IFwibGVhc3RMb2FkXCIgfCBcImxlYXN0UGxheWVyc1wiO1xuXHQvKiogVGhlIGFycmF5IG9mIG5vZGVzIHRvIGNvbm5lY3QgdG8uICovXG5cdG5vZGVzPzogTm9kZU9wdGlvbnNbXTtcblx0LyoqIFRoZSBjbGllbnQgSUQgdG8gdXNlLiAqL1xuXHRjbGllbnRJZD86IHN0cmluZztcblx0LyoqIFZhbHVlIHRvIHVzZSBmb3IgdGhlIGBDbGllbnQtTmFtZWAgaGVhZGVyLiAqL1xuXHRjbGllbnROYW1lPzogc3RyaW5nO1xuXHQvKiogVGhlIHNoYXJkIGNvdW50LiAqL1xuXHRzaGFyZHM/OiBudW1iZXI7XG5cdC8qKiBBIGFycmF5IG9mIHBsdWdpbnMgdG8gdXNlLiAqL1xuXHRwbHVnaW5zPzogUGx1Z2luW107XG5cdC8qKiBXaGV0aGVyIHBsYXllcnMgc2hvdWxkIGF1dG9tYXRpY2FsbHkgcGxheSB0aGUgbmV4dCBzb25nLiAqL1xuXHRhdXRvUGxheT86IGJvb2xlYW47XG5cdC8qKiBBbiBhcnJheSBvZiB0cmFjayBwcm9wZXJ0aWVzIHRvIGtlZXAuIGB0cmFja2Agd2lsbCBhbHdheXMgYmUgcHJlc2VudC4gKi9cblx0dHJhY2tQYXJ0aWFsPzogc3RyaW5nW107XG5cdC8qKiBUaGUgZGVmYXVsdCBzZWFyY2ggcGxhdGZvcm0gdG8gdXNlLCBjYW4gYmUgXCJ5b3V0dWJlXCIsIFwieW91dHViZSBtdXNpY1wiLCBcInNvdW5kY2xvdWRcIiBvciBkZWV6ZXIuICovXG5cdGRlZmF1bHRTZWFyY2hQbGF0Zm9ybT86IFNlYXJjaFBsYXRmb3JtO1xuXHQvKiogV2hldGhlciB0aGUgWW91VHViZSB2aWRlbyB0aXRsZXMgc2hvdWxkIGJlIHJlcGxhY2VkIGlmIHRoZSBBdXRob3IgZG9lcyBub3QgZXhhY3RseSBtYXRjaC4gKi9cblx0cmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscz86IGJvb2xlYW47XG5cdGNhY2hlczoge1xuXHRcdC8qKiBXaGV0aGVyIHRvIGNhY2hlIHRoZSBzZWFyY2ggcmVzdWx0cy4gKi9cblx0XHRlbmFibGVkOiBib29sZWFuO1xuXHRcdC8qKiBUaGUgdGltZSB0byBjYWNoZSB0aGUgc2VhcmNoIHJlc3VsdHMuICovXG5cdFx0dGltZTogbnVtYmVyO1xuXHR9XG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0byBzZW5kIGRhdGEgdG8gdGhlIHdlYnNvY2tldC5cblx0ICogQHBhcmFtIGlkXG5cdCAqIEBwYXJhbSBwYXlsb2FkXG5cdCAqL1xuXHRzZW5kKGlkOiBzdHJpbmcsIHBheWxvYWQ6IFBheWxvYWQpOiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBTZWFyY2hQbGF0Zm9ybSA9IFwiZGVlemVyXCIgfCBcInNvdW5kY2xvdWRcIiB8IFwieW91dHViZSBtdXNpY1wiIHwgXCJ5b3V0dWJlXCIgfCBcInNwb3RpZnlcIiB8IFwiamlvc2Fhdm5cIiB8IFwidGlkYWxcIiB8IFwiYXBwbGVtdXNpY1wiIHwgXCJiYW5kY2FtcFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFF1ZXJ5IHtcblx0LyoqIFRoZSBzb3VyY2UgdG8gc2VhcmNoIGZyb20uICovXG5cdHNvdXJjZT86IFNlYXJjaFBsYXRmb3JtIHwgc3RyaW5nO1xuXHQvKiogVGhlIHF1ZXJ5IHRvIHNlYXJjaCBmb3IuICovXG5cdHF1ZXJ5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF2YWxpbmtSZXNwb25zZSB7XG5cdGxvYWRUeXBlOiBMb2FkVHlwZTtcblx0ZGF0YTogVHJhY2tEYXRhW10gfCBQbGF5bGlzdFJhd0RhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzdWx0IHtcblx0LyoqIFRoZSBsb2FkIHR5cGUgb2YgdGhlIHJlc3VsdC4gKi9cblx0bG9hZFR5cGU6IExvYWRUeXBlO1xuXHQvKiogVGhlIGFycmF5IG9mIHRyYWNrcyBmcm9tIHRoZSByZXN1bHQuICovXG5cdHRyYWNrczogVHJhY2tbXTtcblx0LyoqIFRoZSBwbGF5bGlzdCBpbmZvIGlmIHRoZSBsb2FkIHR5cGUgaXMgJ3BsYXlsaXN0Jy4gKi9cblx0cGxheWxpc3Q/OiBQbGF5bGlzdERhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxheWxpc3RSYXdEYXRhIHtcblx0aW5mbzoge1xuXHRcdC8qKiBUaGUgcGxheWxpc3QgbmFtZS4gKi9cblx0XHRuYW1lOiBzdHJpbmc7XG5cdH07XG5cdC8qKiBBZGRpdGlvbiBpbmZvIHByb3ZpZGVkIGJ5IHBsdWdpbnMuICovXG5cdHBsdWdpbkluZm86IG9iamVjdDtcblx0LyoqIFRoZSB0cmFja3Mgb2YgdGhlIHBsYXlsaXN0ICovXG5cdHRyYWNrczogVHJhY2tEYXRhW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxheWxpc3REYXRhIHtcblx0LyoqIFRoZSBwbGF5bGlzdCBuYW1lLiAqL1xuXHRuYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgbGVuZ3RoIG9mIHRoZSBwbGF5bGlzdC4gKi9cblx0ZHVyYXRpb246IG51bWJlcjtcblx0LyoqIFRoZSBzb25ncyBvZiB0aGUgcGxheWxpc3QuICovXG5cdHRyYWNrczogVHJhY2tbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYW5hZ2VyRXZlbnRzIHtcblx0Tm9kZUNyZWF0ZTogKG5vZGU6IE5vZGUpID0+IHZvaWQ7XG5cdE5vZGVEZXN0cm95OiAobm9kZTogTm9kZSkgPT4gdm9pZDtcblx0Tm9kZUNvbm5lY3Q6IChub2RlOiBOb2RlKSA9PiB2b2lkO1xuXHROb2RlUmVjb25uZWN0OiAobm9kZTogTm9kZSkgPT4gdm9pZDtcblx0Tm9kZURpc2Nvbm5lY3Q6IChub2RlOiBOb2RlLCByZWFzb246IHsgY29kZT86IG51bWJlcjsgcmVhc29uPzogc3RyaW5nIH0pID0+IHZvaWQ7XG5cdE5vZGVFcnJvcjogKG5vZGU6IE5vZGUsIGVycm9yOiBFcnJvcikgPT4gdm9pZDtcblx0Tm9kZVJhdzogKHBheWxvYWQ6IHVua25vd24pID0+IHZvaWQ7XG5cdFBsYXllckNyZWF0ZTogKHBsYXllcjogUGxheWVyKSA9PiB2b2lkO1xuXHRQbGF5ZXJEZXN0cm95OiAocGxheWVyOiBQbGF5ZXIpID0+IHZvaWQ7XG5cdFBsYXllclN0YXRlVXBkYXRlOiAob2xkUGxheWVyOiBQbGF5ZXIsIG5ld1BsYXllcjogUGxheWVyKSA9PiB2b2lkO1xuXHRQbGF5ZXJNb3ZlOiAocGxheWVyOiBQbGF5ZXIsIGluaXRDaGFubmVsOiBzdHJpbmcsIG5ld0NoYW5uZWw6IHN0cmluZykgPT4gdm9pZDtcblx0UGxheWVyRGlzY29ubmVjdDogKHBsYXllcjogUGxheWVyLCBvbGRDaGFubmVsOiBzdHJpbmcpID0+IHZvaWQ7XG5cdFF1ZXVlRW5kOiAocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjayB8IFVucmVzb2x2ZWRUcmFjaywgcGF5bG9hZDogVHJhY2tFbmRFdmVudCkgPT4gdm9pZDtcblx0U29ja2V0Q2xvc2VkOiAocGxheWVyOiBQbGF5ZXIsIHBheWxvYWQ6IFdlYlNvY2tldENsb3NlZEV2ZW50KSA9PiB2b2lkO1xuXHRUcmFja1N0YXJ0OiAocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjaywgcGF5bG9hZDogVHJhY2tTdGFydEV2ZW50KSA9PiB2b2lkO1xuXHRUcmFja0VuZDogKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrRW5kRXZlbnQpID0+IHZvaWQ7XG5cdFRyYWNrU3R1Y2s6IChwbGF5ZXI6IFBsYXllciwgdHJhY2s6IFRyYWNrLCBwYXlsb2FkOiBUcmFja1N0dWNrRXZlbnQpID0+IHZvaWQ7XG5cdFRyYWNrRXJyb3I6IChwbGF5ZXI6IFBsYXllciwgdHJhY2s6IFRyYWNrIHwgVW5yZXNvbHZlZFRyYWNrLCBwYXlsb2FkOiBUcmFja0V4Y2VwdGlvbkV2ZW50KSA9PiB2b2lkO1xufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBY0EsSUFB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
|
|
587
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwicmVxdWlyZSIsIl9VdGlscyIsIl9jb2xsZWN0aW9uIiwiX01hbmFnZXJDaGVjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJ0IiwiciIsIk9iamVjdCIsIm4iLCJoYXNPd25Qcm9wZXJ0eSIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiYSIsImMiLCJhc3luY0l0ZXJhdG9yIiwidSIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiYXJnIiwiY2FsbCIsImgiLCJsIiwiZiIsInMiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsImZvckVhY2giLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIkFycmF5IiwiaXNBcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsImZyb20iLCJ0ZXN0Iiwib3duS2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9kZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwiYmluZCIsIl9pbmhlcml0cyIsIl9zZXRQcm90b3R5cGVPZiIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiTWFuYWdlciIsImV4cG9ydHMiLCJfRXZlbnRFbWl0dGVyIiwib3B0aW9ucyIsIl90aGlzIiwiQ29sbGVjdGlvbiIsIm1hbmFnZXJDaGVjayIsIlN0cnVjdHVyZSIsImdldCIsImluaXQiLCJUcmFja1V0aWxzIiwidHJhY2tQYXJ0aWFsIiwic2V0VHJhY2tQYXJ0aWFsIiwicGx1Z2lucyIsIm5vZGVzIiwiaWRlbnRpZmllciIsImhvc3QiLCJyZXN1bWVTdGF0dXMiLCJyZXN1bWVUaW1lb3V0Iiwic2hhcmRzIiwiYXV0b1BsYXkiLCJ1c2VQcmlvcml0eSIsImNsaWVudE5hbWUiLCJkZWZhdWx0U2VhcmNoUGxhdGZvcm0iLCJ1c2VOb2RlIiwiX2l0ZXJhdG9yIiwiZW50cmllcyIsIl9zdGVwIiwiX3N0ZXAkdmFsdWUiLCJpbmRleCIsInBsdWdpbiIsIlBsdWdpbiIsIlJhbmdlRXJyb3IiLCJjb25jYXQiLCJsb2FkIiwiZXJyIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsIl9ub2RlJG9wdGlvbnMkaWRlbnRpZiIsIm5vZGVPcHRpb25zIiwibm9kZSIsInNldCIsInNldEludGVydmFsIiwiY2FjaGVzIiwiY2xlYXIiLCJ0aW1lIiwiY29ubmVjdGVkIiwic29ydCIsImIiLCJfYSRzdGF0cyIsIl9iJHN0YXRzIiwiYWxvYWQiLCJzdGF0cyIsImNwdSIsImxhdmFsaW5rTG9hZCIsImNvcmVzIiwiYmxvYWQiLCJfYSRzdGF0cyRwbGF5ZXJzIiwiX2Ekc3RhdHMyIiwiX2Ikc3RhdHMkcGxheWVycyIsIl9iJHN0YXRzMiIsInBsYXllcnMiLCJmaWx0ZXJlZE5vZGVzIiwiX25vZGUkb3B0aW9ucyRwcmlvcml0IiwicHJpb3JpdHkiLCJ0b3RhbFdlaWdodCIsInJlZHVjZSIsInRvdGFsIiwiX25vZGUkb3B0aW9ucyRwcmlvcml0MiIsIndlaWdodGVkTm9kZXMiLCJtYXAiLCJfbm9kZSRvcHRpb25zJHByaW9yaXQzIiwid2VpZ2h0IiwicmFuZG9tTnVtYmVyIiwiTWF0aCIsInJhbmRvbSIsImN1bXVsYXRpdmVXZWlnaHQiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwiX3N0ZXAzJHZhbHVlIiwibGVhc3RMb2FkTm9kZSIsImZpcnN0IiwibGVhc3RQbGF5ZXJzTm9kZSIsInByaW9yaXR5Tm9kZSIsImNsaWVudElkIiwiaW5pdGlhdGVkIiwiX2l0ZXJhdG9yNCIsIl9zdGVwNCIsImNvbm5lY3QiLCJlbWl0IiwiX3NlYXJjaCIsIl9jYWxsZWUiLCJxdWVyeSIsInJlcXVlc3RlciIsIl9NYW5hZ2VyJERFRkFVTFRfU09VUiIsIl9xdWVyeSRzb3VyY2UiLCJfcXVlcnkiLCJjYWNoZUtleSIsImRhdGEiLCJfc291cmNlIiwic2VhcmNoIiwicmVzIiwic2VhcmNoRGF0YSIsInBsYXlsaXN0RGF0YSIsInRyYWNrcyIsInBsYXlsaXN0IiwicmVzdWx0IiwidHJhY2tzVG9SZXBsYWNlIiwiX3Jlc3VsdCRwbGF5bGlzdCR0cmFjIiwiX3Jlc3VsdCRwbGF5bGlzdCIsIl9pdGVyYXRvcjUiLCJfc3RlcDUiLCJ0cmFjayIsIl90cmFjayR0aXRsZSRzcGxpdCRtYSIsIl90cmFjayR0aXRsZSRzcGxpdCRtYTIiLCJhdXRob3IiLCJ0aXRsZSIsImlzWW91VHViZVVSTCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJfaXNZb3VUdWJlVVJMIiwidXJpIiwiaW5jbHVkZXMiLCJ1c2VhYmxlTm9kZXMiLCJlbmFibGVkIiwiREVGQVVMVF9TT1VSQ0VTIiwic291cmNlIiwicmVzdCIsImVuY29kZVVSSUNvbXBvbmVudCIsInQwIiwibG9hZFR5cGUiLCJidWlsZCIsImluZm8iLCJkdXJhdGlvbiIsImFjYyIsImN1ciIsInJlcGxhY2VZb3VUdWJlQ3JlZGVudGlhbHMiLCJyZXBsYWNlIiwic3BsaXQiLCJzdHIiLCJ0cmltIiwidDEiLCJtZXNzYWdlIiwiX3giLCJfeDIiLCJkZWNvZGVUcmFja3MiLCJfdGhpczIiLCJfcmVmIiwiX2NhbGxlZTIiLCJyZWplY3QiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJwb3N0IiwiSlNPTiIsInN0cmluZ2lmeSIsIl94MyIsIl94NCIsIl9kZWNvZGVUcmFjayIsIl9jYWxsZWUzIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwiZGVjb2RlVHJhY2siLCJfeDUiLCJoYXMiLCJndWlsZCIsImRlc3Ryb3kiLCJjcmVhdGVOb2RlIiwiZGVzdHJveU5vZGUiLCJfdXBkYXRlVm9pY2VTdGF0ZSIsIl9jYWxsZWU0IiwiX2RhdGEkdCIsInVwZGF0ZSIsInBsYXllciIsIl9wbGF5ZXIkdm9pY2VDaGFubmVsIiwiX3BsYXllciR2b2ljZVN0YXRlIiwic2Vzc2lvbklkIiwiX3BsYXllciR2b2ljZVN0YXRlJGV2IiwidG9rZW4iLCJlbmRwb2ludCIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCIsImd1aWxkX2lkIiwidm9pY2VTdGF0ZSIsImV2ZW50IiwidXBkYXRlUGxheWVyIiwiZ3VpbGRJZCIsInZvaWNlIiwiY2hhbm5lbElkIiwidm9pY2VDaGFubmVsIiwidXNlcl9pZCIsImNoYW5uZWxfaWQiLCJzZXNzaW9uX2lkIiwiYXNzaWduIiwidXBkYXRlVm9pY2VTdGF0ZSIsIl94NiIsIkV2ZW50RW1pdHRlciIsInlvdXR1YmUiLCJzcG90aWZ5Iiwiamlvc2Fhdm4iLCJzb3VuZGNsb3VkIiwiZGVlemVyIiwidGlkYWwiLCJhcHBsZW11c2ljIiwiYmFuZGNhbXAiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RydWN0dXJlcy9NYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWFzeW5jLXByb21pc2UtZXhlY3V0b3IgKi9cbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gXCJldmVudHNcIjtcbmltcG9ydCB7XG5cdExvYWRUeXBlLFxuXHRQbHVnaW4sXG5cdFN0cnVjdHVyZSxcblx0VHJhY2tEYXRhLFxuXHRUcmFja0VuZEV2ZW50LFxuXHRUcmFja0V4Y2VwdGlvbkV2ZW50LFxuXHRUcmFja1N0YXJ0RXZlbnQsXG5cdFRyYWNrU3R1Y2tFdmVudCxcblx0VHJhY2tVdGlscyxcblx0Vm9pY2VQYWNrZXQsXG5cdFZvaWNlU2VydmVyLFxuXHRXZWJTb2NrZXRDbG9zZWRFdmVudCxcbn0gZnJvbSBcIi4vVXRpbHNcIjtcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tIFwiQGRpc2NvcmRqcy9jb2xsZWN0aW9uXCI7XG5pbXBvcnQgeyBOb2RlLCBOb2RlT3B0aW9ucyB9IGZyb20gXCIuL05vZGVcIjtcbmltcG9ydCB7IFBsYXllciwgUGxheWVyT3B0aW9ucywgVHJhY2ssIFVucmVzb2x2ZWRUcmFjayB9IGZyb20gXCIuL1BsYXllclwiO1xuaW1wb3J0IHsgVm9pY2VTdGF0ZSB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IG1hbmFnZXJDaGVjayBmcm9tIFwiLi4vVXRpbHMvTWFuYWdlckNoZWNrXCI7XG5pbXBvcnQgeyBDbGllbnRVc2VyLCBVc2VyIH0gZnJvbSBcImRpc2NvcmQuanNcIjtcblxuXG5cbi8qKlxuICogVGhlIG1haW4gaHViIGZvciBpbnRlcmFjdGluZyB3aXRoIExhdmFsaW5rIGFuZCB1c2luZyBNYWdtYXN0cmVhbSxcbiAqL1xuZXhwb3J0IGNsYXNzIE1hbmFnZXIgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfU09VUkNFUzogUmVjb3JkPFNlYXJjaFBsYXRmb3JtLCBzdHJpbmc+ID0ge1xuXHRcdFwieW91dHViZSBtdXNpY1wiOiBcInl0bXNlYXJjaFwiLFxuXHRcdHlvdXR1YmU6IFwieXRzZWFyY2hcIixcblx0XHRzcG90aWZ5OiBcInNwc2VhcmNoXCIsXG5cdFx0amlvc2Fhdm46IFwianNzZWFyY2hcIixcblx0XHRzb3VuZGNsb3VkOiBcInNjc2VhcmNoXCIsXG5cdFx0ZGVlemVyOiBcImR6c2VhcmNoXCIsXG5cdFx0dGlkYWw6IFwidGRzZWFyY2hcIixcblx0XHRhcHBsZW11c2ljOiBcImFtc2VhcmNoXCIsXG5cdFx0YmFuZGNhbXA6IFwiYmNzZWFyY2hcIixcblx0fTtcblxuXHQvKiogVGhlIG1hcCBvZiBwbGF5ZXJzLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgcGxheWVycyA9IG5ldyBDb2xsZWN0aW9uPHN0cmluZywgUGxheWVyPigpO1xuXHQvKiogVGhlIG1hcCBvZiBub2Rlcy4gKi9cblx0cHVibGljIHJlYWRvbmx5IG5vZGVzID0gbmV3IENvbGxlY3Rpb248c3RyaW5nLCBOb2RlPigpO1xuXHQvKiogVGhlIG9wdGlvbnMgdGhhdCB3ZXJlIHNldC4gKi9cblx0cHVibGljIHJlYWRvbmx5IG9wdGlvbnM6IE1hbmFnZXJPcHRpb25zO1xuXHRwcml2YXRlIGluaXRpYXRlZCA9IGZhbHNlO1xuXHRwdWJsaWMgY2FjaGVzID0gbmV3IENvbGxlY3Rpb248c3RyaW5nLCBTZWFyY2hSZXN1bHQ+KCk7XG5cblx0LyoqIFJldHVybnMgdGhlIG5vZGVzIHRoYXQgaGFzIHRoZSBsZWFzdCBsb2FkLiAqL1xuXHRwdWJsaWMgZ2V0IGxlYXN0TG9hZE5vZGUoKTogQ29sbGVjdGlvbjxzdHJpbmcsIE5vZGU+IHtcblx0XHRyZXR1cm4gdGhpcy5ub2Rlc1xuXHRcdFx0LmZpbHRlcigobm9kZSkgPT4gbm9kZS5jb25uZWN0ZWQpXG5cdFx0XHQuc29ydCgoYSwgYikgPT4ge1xuXHRcdFx0XHRjb25zdCBhbG9hZCA9IGEuc3RhdHM/LmNwdSA/IChhLnN0YXRzLmNwdS5sYXZhbGlua0xvYWQgLyBhLnN0YXRzLmNwdS5jb3JlcykgKiAxMDAgOiAwO1xuXHRcdFx0XHRjb25zdCBibG9hZCA9IGIuc3RhdHM/LmNwdSA/IChiLnN0YXRzLmNwdS5sYXZhbGlua0xvYWQgLyBiLnN0YXRzLmNwdS5jb3JlcykgKiAxMDAgOiAwO1xuXHRcdFx0XHRyZXR1cm4gYWxvYWQgLSBibG9hZDtcblx0XHRcdH0pO1xuXHR9XG5cblx0LyoqIFJldHVybnMgdGhlIG5vZGVzIHRoYXQgaGFzIHRoZSBsZWFzdCBhbW91bnQgb2YgcGxheWVycy4gKi9cblx0cHJpdmF0ZSBnZXQgbGVhc3RQbGF5ZXJzTm9kZSgpOiBDb2xsZWN0aW9uPHN0cmluZywgTm9kZT4ge1xuXHRcdHJldHVybiB0aGlzLm5vZGVzLmZpbHRlcigobm9kZSkgPT4gbm9kZS5jb25uZWN0ZWQpLnNvcnQoKGEsIGIpID0+IChhLnN0YXRzPy5wbGF5ZXJzID8/IDApIC0gKGIuc3RhdHM/LnBsYXllcnMgPz8gMCkpO1xuXHR9XG5cblx0XG5cblx0LyoqIFJldHVybnMgYSBub2RlIGJhc2VkIG9uIHByaW9yaXR5LiAqL1xuXHRwcml2YXRlIGdldCBwcmlvcml0eU5vZGUoKTogTm9kZSB7XG5cdFx0Y29uc3QgZmlsdGVyZWROb2RlcyA9IHRoaXMubm9kZXMuZmlsdGVyKChub2RlKSA9PiBub2RlLmNvbm5lY3RlZCAmJiAobm9kZS5vcHRpb25zLnByaW9yaXR5ID8/IDApID4gMCk7XG5cdFx0Y29uc3QgdG90YWxXZWlnaHQgPSBmaWx0ZXJlZE5vZGVzLnJlZHVjZSgodG90YWwsIG5vZGUpID0+IHRvdGFsICsgKG5vZGUub3B0aW9ucy5wcmlvcml0eSA/PyAwKSwgMCk7XG5cdFx0Y29uc3Qgd2VpZ2h0ZWROb2RlcyA9IGZpbHRlcmVkTm9kZXMubWFwKChub2RlKSA9PiAoe1xuXHRcdFx0bm9kZSxcblx0XHRcdHdlaWdodDogKG5vZGUub3B0aW9ucy5wcmlvcml0eSA/PyAwKSAvIHRvdGFsV2VpZ2h0LFxuXHRcdH0pKTtcblx0XHRjb25zdCByYW5kb21OdW1iZXIgPSBNYXRoLnJhbmRvbSgpO1xuXG5cdFx0bGV0IGN1bXVsYXRpdmVXZWlnaHQgPSAwO1xuXG5cdFx0Zm9yIChjb25zdCB7IG5vZGUsIHdlaWdodCB9IG9mIHdlaWdodGVkTm9kZXMpIHtcblx0XHRcdGN1bXVsYXRpdmVXZWlnaHQgKz0gd2VpZ2h0O1xuXHRcdFx0aWYgKHJhbmRvbU51bWJlciA8PSBjdW11bGF0aXZlV2VpZ2h0KSB7XG5cdFx0XHRcdHJldHVybiBub2RlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiAodGhpcy5vcHRpb25zLnVzZU5vZGUgPT09IFwibGVhc3RMb2FkXCIgPyB0aGlzLmxlYXN0TG9hZE5vZGUuZmlyc3QoKSA6IHRoaXMubGVhc3RQbGF5ZXJzTm9kZS5maXJzdCgpKSBhcyBOb2RlO1xuXHR9XG5cblx0LyoqIFJldHVybnMgdGhlIG5vZGUgdG8gdXNlLiAqL1xuXHRwdWJsaWMgZ2V0IHVzZWFibGVOb2RlcygpOiBOb2RlIHtcblx0XHRyZXR1cm4gKHRoaXMub3B0aW9ucy51c2VQcmlvcml0eSA/IHRoaXMucHJpb3JpdHlOb2RlIDogdGhpcy5vcHRpb25zLnVzZU5vZGUgPT09IFwibGVhc3RMb2FkXCIgPyB0aGlzLmxlYXN0TG9hZE5vZGUuZmlyc3QoKSA6IHRoaXMubGVhc3RQbGF5ZXJzTm9kZS5maXJzdCgpKSBhcyBOb2RlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEluaXRpYXRlcyB0aGUgTWFuYWdlciBjbGFzcy5cblx0ICogQHBhcmFtIG9wdGlvbnNcblx0ICovXG5cdGNvbnN0cnVjdG9yKG9wdGlvbnM6IE1hbmFnZXJPcHRpb25zKSB7XG5cdFx0c3VwZXIoKTtcblxuXHRcdG1hbmFnZXJDaGVjayhvcHRpb25zKTtcblx0XHRTdHJ1Y3R1cmUuZ2V0KFwiUGxheWVyXCIpLmluaXQodGhpcyk7XG5cdFx0U3RydWN0dXJlLmdldChcIk5vZGVcIikuaW5pdCh0aGlzKTtcblx0XHRUcmFja1V0aWxzLmluaXQodGhpcyk7XG5cdFx0XG5cdFx0aWYgKG9wdGlvbnMudHJhY2tQYXJ0aWFsKSB7XG5cdFx0XHRUcmFja1V0aWxzLnNldFRyYWNrUGFydGlhbChvcHRpb25zLnRyYWNrUGFydGlhbCk7XG5cdFx0XHRkZWxldGUgb3B0aW9ucy50cmFja1BhcnRpYWw7XG5cdFx0fVxuXG5cdFx0dGhpcy5vcHRpb25zID0ge1xuXHRcdFx0cGx1Z2luczogW10sXG5cdFx0XHRub2RlczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0aWRlbnRpZmllcjogXCJkZWZhdWx0XCIsXG5cdFx0XHRcdFx0aG9zdDogXCJsb2NhbGhvc3RcIixcblx0XHRcdFx0XHRyZXN1bWVTdGF0dXM6IGZhbHNlLFxuXHRcdFx0XHRcdHJlc3VtZVRpbWVvdXQ6IDEwMDAsXG5cdFx0XHRcdH0sXG5cdFx0XHRdLFxuXHRcdFx0c2hhcmRzOiAxLFxuXHRcdFx0YXV0b1BsYXk6IHRydWUsXG5cdFx0XHR1c2VQcmlvcml0eTogZmFsc2UsXG5cdFx0XHRjbGllbnROYW1lOiBcIkZvciB2My4wXCIsXG5cdFx0XHRkZWZhdWx0U2VhcmNoUGxhdGZvcm06IFwieW91dHViZVwiLFxuXHRcdFx0dXNlTm9kZTogXCJsZWFzdFBsYXllcnNcIixcblx0XHRcdC4uLm9wdGlvbnMsXG5cdFx0fTtcblxuXHRcdFxuXG5cdFx0aWYgKHRoaXMub3B0aW9ucy5wbHVnaW5zKSB7XG5cdFx0XHRmb3IgKGNvbnN0IFtpbmRleCwgcGx1Z2luXSBvZiB0aGlzLm9wdGlvbnMucGx1Z2lucy5lbnRyaWVzKCkpIHtcblx0XHRcdFx0aWYgKCEocGx1Z2luIGluc3RhbmNlb2YgUGx1Z2luKSkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFBsdWdpbiBhdCBpbmRleCAke2luZGV4fSBkb2VzIG5vdCBleHRlbmQgUGx1Z2luLmApO1xuXHRcdFx0XHRwbHVnaW4ubG9hZCh0aGlzKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAodGhpcy5vcHRpb25zLm5vZGVzKSB7XG5cdFx0XHRmb3IgKGNvbnN0IG5vZGVPcHRpb25zIG9mIHRoaXMub3B0aW9ucy5ub2Rlcykge1xuXHRcdFx0XHRjb25zdCBub2RlID0gbmV3IChTdHJ1Y3R1cmUuZ2V0KFwiTm9kZVwiKSkobm9kZU9wdGlvbnMpO1xuXHRcdFx0XHR0aGlzLm5vZGVzLnNldChub2RlLm9wdGlvbnMuaWRlbnRpZmllciA/PyBub2RlLm9wdGlvbnMuaG9zdCwgbm9kZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHNldEludGVydmFsKCgpID0+IHtcblx0XHRcdHRoaXMuY2FjaGVzLmNsZWFyKCk7XG5cdFx0fSwgdGhpcy5vcHRpb25zLmNhY2hlcy50aW1lKTtcblx0fVxuXG5cblx0LyoqXG5cdCAqIEluaXRpYXRlcyB0aGUgTWFuYWdlci5cblx0ICogQHBhcmFtIGNsaWVudElkXG5cdCAqL1xuXHRwdWJsaWMgaW5pdChjbGllbnRJZD86IHN0cmluZyk6IHRoaXMge1xuXHRcdGlmICh0aGlzLmluaXRpYXRlZCkgcmV0dXJuIHRoaXM7XG5cdFx0aWYgKHR5cGVvZiBjbGllbnRJZCAhPT0gXCJ1bmRlZmluZWRcIikgdGhpcy5vcHRpb25zLmNsaWVudElkID0gY2xpZW50SWQ7XG5cblx0XHRpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5jbGllbnRJZCAhPT0gXCJzdHJpbmdcIikgdGhyb3cgbmV3IEVycm9yKCdcImNsaWVudElkXCIgc2V0IGlzIG5vdCB0eXBlIG9mIFwic3RyaW5nXCInKTtcblxuXHRcdGlmICghdGhpcy5vcHRpb25zLmNsaWVudElkKSB0aHJvdyBuZXcgRXJyb3IoJ1wiY2xpZW50SWRcIiBpcyBub3Qgc2V0LiBQYXNzIGl0IGluIE1hbmFnZXIjaW5pdCgpIG9yIGFzIGEgb3B0aW9uIGluIHRoZSBjb25zdHJ1Y3Rvci4nKTtcblxuXHRcdGZvciAoY29uc3Qgbm9kZSBvZiB0aGlzLm5vZGVzLnZhbHVlcygpKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRub2RlLmNvbm5lY3QoKTtcblx0XHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0XHR0aGlzLmVtaXQoXCJOb2RlRXJyb3JcIiwgbm9kZSwgZXJyKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR0aGlzLmluaXRpYXRlZCA9IHRydWU7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKipcblx0ICogU2VhcmNoZXMgdGhlIGVuYWJsZWQgc291cmNlcyBiYXNlZCBvZmYgdGhlIFVSTCBvciB0aGUgYHNvdXJjZWAgcHJvcGVydHkuXG5cdCAqIEBwYXJhbSBxdWVyeVxuXHQgKiBAcGFyYW0gcmVxdWVzdGVyXG5cdCAqIEByZXR1cm5zIFRoZSBzZWFyY2ggcmVzdWx0LlxuXHQgKi9cblx0cHVibGljIGFzeW5jIHNlYXJjaChxdWVyeTogc3RyaW5nIHwgU2VhcmNoUXVlcnksIHJlcXVlc3Rlcj86IFVzZXIgfCBDbGllbnRVc2VyKTogUHJvbWlzZTxTZWFyY2hSZXN1bHQ+IHtcblx0XHRjb25zdCBub2RlID0gdGhpcy51c2VhYmxlTm9kZXM7XG5cblx0XHRpZiAoIW5vZGUpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIk5vIGF2YWlsYWJsZSBub2Rlcy5cIik7XG5cdFx0fVxuXHRcdGNvbnN0IF9xdWVyeTogU2VhcmNoUXVlcnkgPSB0eXBlb2YgcXVlcnkgPT09IFwic3RyaW5nXCIgPyB7IHF1ZXJ5IH0gOiBxdWVyeTtcblxuXHRcdGlmICh0aGlzLm9wdGlvbnMuY2FjaGVzLmVuYWJsZWQgJiYgdGhpcy5vcHRpb25zLmNhY2hlcy50aW1lID4gMCkge1xuXHRcdFx0Y29uc3QgY2FjaGVLZXkgPSBfcXVlcnkucXVlcnk7XG5cdFx0XHRjb25zdCBkYXRhID0gdGhpcy5jYWNoZXMuZ2V0KGNhY2hlS2V5KTtcblx0XHRcdGlmIChkYXRhKSByZXR1cm4gZGF0YTtcblx0XHR9XG5cblx0XHRjb25zdCBfc291cmNlID0gTWFuYWdlci5ERUZBVUxUX1NPVVJDRVNbKF9xdWVyeS5zb3VyY2UgPz8gdGhpcy5vcHRpb25zLmRlZmF1bHRTZWFyY2hQbGF0Zm9ybSkgYXMgU2VhcmNoUGxhdGZvcm1dID8/IF9xdWVyeS5zb3VyY2U7XG5cdFx0bGV0IHNlYXJjaCA9IF9xdWVyeS5xdWVyeTtcblxuXHRcdGlmICghL15odHRwcz86XFwvXFwvLy50ZXN0KHNlYXJjaCkpIHtcblx0XHRcdHNlYXJjaCA9IGAke19zb3VyY2V9OiR7c2VhcmNofWA7XG5cdFx0fVxuXG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IHJlcyA9IChhd2FpdCBub2RlLnJlc3QuZ2V0KGAvdjQvbG9hZHRyYWNrcz9pZGVudGlmaWVyPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHNlYXJjaCl9YCkpIGFzIExhdmFsaW5rUmVzcG9uc2U7XG5cdFx0XHRpZiAoIXJlcykgdGhyb3cgbmV3IEVycm9yKFwiUXVlcnkgbm90IGZvdW5kLlwiKTtcblxuXHRcdFx0bGV0IHNlYXJjaERhdGE6IFRyYWNrRGF0YVtdID0gW107XG5cdFx0XHRsZXQgcGxheWxpc3REYXRhOiBQbGF5bGlzdFJhd0RhdGEgfCB1bmRlZmluZWQ7XG5cblx0XHRcdHN3aXRjaCAocmVzLmxvYWRUeXBlKSB7XG5cdFx0XHRcdGNhc2UgXCJzZWFyY2hcIjpcblx0XHRcdFx0XHRzZWFyY2hEYXRhID0gcmVzLmRhdGEgYXMgVHJhY2tEYXRhW107XG5cdFx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdFx0Y2FzZSBcInRyYWNrXCI6XG5cdFx0XHRcdFx0c2VhcmNoRGF0YSA9IFtyZXMuZGF0YSBhcyB1bmtub3duIGFzIFRyYWNrRGF0YV07XG5cdFx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdFx0Y2FzZSBcInBsYXlsaXN0XCI6XG5cdFx0XHRcdFx0cGxheWxpc3REYXRhID0gcmVzLmRhdGEgYXMgUGxheWxpc3RSYXdEYXRhO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCB0cmFja3MgPSBzZWFyY2hEYXRhLm1hcCgodHJhY2spID0+IFRyYWNrVXRpbHMuYnVpbGQodHJhY2ssIHJlcXVlc3RlcikpO1xuXHRcdFx0bGV0IHBsYXlsaXN0OiBQbGF5bGlzdERhdGEgfCB1bmRlZmluZWQ7XG5cblx0XHRcdGlmIChyZXMubG9hZFR5cGUgPT09IFwicGxheWxpc3RcIikge1xuXHRcdFx0XHRwbGF5bGlzdCA9IHtcblx0XHRcdFx0XHRuYW1lOiBwbGF5bGlzdERhdGEhLmluZm8ubmFtZSxcblx0XHRcdFx0XHR0cmFja3M6IHBsYXlsaXN0RGF0YSEudHJhY2tzLm1hcCgodHJhY2spID0+IFRyYWNrVXRpbHMuYnVpbGQodHJhY2ssIHJlcXVlc3RlcikpLFxuXHRcdFx0XHRcdGR1cmF0aW9uOiBwbGF5bGlzdERhdGEhLnRyYWNrcy5yZWR1Y2UoKGFjYywgY3VyKSA9PiBhY2MgKyAoY3VyLmluZm8ubGVuZ3RoIHx8IDApLCAwKSxcblx0XHRcdFx0fTtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgcmVzdWx0OiBTZWFyY2hSZXN1bHQgPSB7XG5cdFx0XHRcdGxvYWRUeXBlOiByZXMubG9hZFR5cGUsXG5cdFx0XHRcdHRyYWNrcyxcblx0XHRcdFx0cGxheWxpc3QsXG5cdFx0XHR9O1xuXG5cdFx0XHRpZiAodGhpcy5vcHRpb25zLnJlcGxhY2VZb3VUdWJlQ3JlZGVudGlhbHMpIHtcblx0XHRcdFx0bGV0IHRyYWNrc1RvUmVwbGFjZTogVHJhY2tbXSA9IFtdO1xuXHRcdFx0XHRpZiAocmVzdWx0LmxvYWRUeXBlID09PSBcInBsYXlsaXN0XCIpIHtcblx0XHRcdFx0XHR0cmFja3NUb1JlcGxhY2UgPSByZXN1bHQucGxheWxpc3Q/LnRyYWNrcyA/PyBbXTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0cmFja3NUb1JlcGxhY2UgPSByZXN1bHQudHJhY2tzO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Zm9yIChjb25zdCB0cmFjayBvZiB0cmFja3NUb1JlcGxhY2UpIHtcblx0XHRcdFx0XHRpZiAoaXNZb3VUdWJlVVJMKHRyYWNrLnVyaSkpIHtcblx0XHRcdFx0XHRcdHRyYWNrLmF1dGhvciA9IHRyYWNrLmF1dGhvci5yZXBsYWNlKFwiLSBUb3BpY1wiLCBcIlwiKTtcblx0XHRcdFx0XHRcdHRyYWNrLnRpdGxlID0gdHJhY2sudGl0bGUucmVwbGFjZShcIlRvcGljIC1cIiwgXCJcIik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmICh0cmFjay50aXRsZS5pbmNsdWRlcyhcIi1cIikpIHtcblx0XHRcdFx0XHRcdGNvbnN0IFthdXRob3IsIHRpdGxlXSA9IHRyYWNrLnRpdGxlLnNwbGl0KFwiLVwiKS5tYXAoKHN0cjogc3RyaW5nKSA9PiBzdHIudHJpbSgpKTtcblx0XHRcdFx0XHRcdHRyYWNrLmF1dGhvciA9IGF1dGhvcjtcblx0XHRcdFx0XHRcdHRyYWNrLnRpdGxlID0gdGl0bGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy5vcHRpb25zLmNhY2hlcy5lbmFibGVkICYmIHRoaXMub3B0aW9ucy5jYWNoZXMudGltZSA+IDApIHRoaXMuY2FjaGVzLnNldChzZWFyY2gsIHJlc3VsdCk7XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiBTdHJpbmcoZXJyKSk7XG5cdFx0fVxuXG5cdFx0ZnVuY3Rpb24gaXNZb3VUdWJlVVJMKHVyaTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0XHRyZXR1cm4gdXJpLmluY2x1ZGVzKFwieW91dHViZS5jb21cIikgfHwgdXJpLmluY2x1ZGVzKFwieW91dHUuYmVcIik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIERlY29kZXMgdGhlIGJhc2U2NCBlbmNvZGVkIHRyYWNrcyBhbmQgcmV0dXJucyBhIFRyYWNrRGF0YSBhcnJheS5cblx0ICogQHBhcmFtIHRyYWNrc1xuXHQgKi9cblx0cHVibGljIGRlY29kZVRyYWNrcyh0cmFja3M6IHN0cmluZ1tdKTogUHJvbWlzZTxUcmFja0RhdGFbXT4ge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZShhc3luYyhyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdGNvbnN0IG5vZGUgPSB0aGlzLm5vZGVzLmZpcnN0KCk7XG5cdFx0XHRpZiAoIW5vZGUpIHtcblx0XHRcdFx0cmV0dXJuIHJlamVjdChuZXcgRXJyb3IoXCJObyBhdmFpbGFibGUgbm9kZXMuXCIpKTtcblx0XHRcdH1cblx0XG5cdFx0XHRhd2FpdCBub2RlLnJlc3QucG9zdChcIi92NC9kZWNvZGV0cmFja3NcIiwgSlNPTi5zdHJpbmdpZnkodHJhY2tzKSlcblx0XHRcdFx0LnRoZW4oKHJlcykgPT4ge1xuXHRcdFx0XHRcdGlmICghcmVzKSByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihcIk5vIGRhdGEgcmV0dXJuZWQgZnJvbSBxdWVyeS5cIikpO1xuXHRcdFx0XHRcdHJlc29sdmUocmVzIGFzIFRyYWNrRGF0YVtdKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKChlcnIpID0+IHJlamVjdChlcnIpKTtcblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWNvZGVzIHRoZSBiYXNlNjQgZW5jb2RlZCB0cmFjayBhbmQgcmV0dXJucyBhIFRyYWNrRGF0YS5cblx0ICogQHBhcmFtIHRyYWNrXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgZGVjb2RlVHJhY2sodHJhY2s6IHN0cmluZyk6IFByb21pc2U8VHJhY2tEYXRhPiB7XG5cdFx0Y29uc3QgcmVzID0gYXdhaXQgdGhpcy5kZWNvZGVUcmFja3MoW3RyYWNrXSk7XG5cdFx0cmV0dXJuIHJlc1swXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgcGxheWVyIG9yIHJldHVybnMgb25lIGlmIGl0IGFscmVhZHkgZXhpc3RzLlxuXHQgKiBAcGFyYW0gb3B0aW9uc1xuXHQgKi9cblx0cHVibGljIGNyZWF0ZShvcHRpb25zOiBQbGF5ZXJPcHRpb25zKTogUGxheWVyIHtcblx0XHRpZiAodGhpcy5wbGF5ZXJzLmhhcyhvcHRpb25zLmd1aWxkKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMucGxheWVycy5nZXQob3B0aW9ucy5ndWlsZCkgYXMgUGxheWVyO1xuXHRcdH1cblxuXHRcdHJldHVybiBuZXcgKFN0cnVjdHVyZS5nZXQoXCJQbGF5ZXJcIikpKG9wdGlvbnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgYSBwbGF5ZXIgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXMgbm90IGV4aXN0LlxuXHQgKiBAcGFyYW0gZ3VpbGRcblx0ICovXG5cdHB1YmxpYyBnZXQoZ3VpbGQ6IHN0cmluZyk6IFBsYXllciB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMucGxheWVycy5nZXQoZ3VpbGQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlc3Ryb3lzIGEgcGxheWVyIGlmIGl0IGV4aXN0cy5cblx0ICogQHBhcmFtIGd1aWxkXG5cdCAqL1xuXHRwdWJsaWMgZGVzdHJveShndWlsZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5wbGF5ZXJzLmRlbGV0ZShndWlsZCk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5vZGUgb3IgcmV0dXJucyBvbmUgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlTm9kZShvcHRpb25zOiBOb2RlT3B0aW9ucyk6IE5vZGUge1xuXHRcdGlmICh0aGlzLm5vZGVzLmhhcyhvcHRpb25zLmlkZW50aWZpZXIgfHwgb3B0aW9ucy5ob3N0KSkge1xuXHRcdFx0cmV0dXJuIHRoaXMubm9kZXMuZ2V0KG9wdGlvbnMuaWRlbnRpZmllciB8fCBvcHRpb25zLmhvc3QpIGFzIE5vZGU7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG5ldyAoU3RydWN0dXJlLmdldChcIk5vZGVcIikpKG9wdGlvbnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlc3Ryb3lzIGEgbm9kZSBpZiBpdCBleGlzdHMuXG5cdCAqIEBwYXJhbSBpZGVudGlmaWVyXG5cdCAqL1xuXHRwdWJsaWMgZGVzdHJveU5vZGUoaWRlbnRpZmllcjogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3Qgbm9kZSA9IHRoaXMubm9kZXMuZ2V0KGlkZW50aWZpZXIpO1xuXHRcdGlmICghbm9kZSkgcmV0dXJuO1xuXHRcdG5vZGUuZGVzdHJveSgpO1xuXHRcdHRoaXMubm9kZXMuZGVsZXRlKGlkZW50aWZpZXIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlbmRzIHZvaWNlIGRhdGEgdG8gdGhlIExhdmFsaW5rIHNlcnZlci5cblx0ICogQHBhcmFtIGRhdGFcblx0ICovXG5cdHB1YmxpYyBhc3luYyB1cGRhdGVWb2ljZVN0YXRlKGRhdGE6IFZvaWNlUGFja2V0IHwgVm9pY2VTZXJ2ZXIgfCBWb2ljZVN0YXRlKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKFwidFwiIGluIGRhdGEgJiYgIVtcIlZPSUNFX1NUQVRFX1VQREFURVwiLCBcIlZPSUNFX1NFUlZFUl9VUERBVEVcIl0uaW5jbHVkZXMoZGF0YS50ID8/IFwiXCIpKSByZXR1cm47XG5cblx0XHRjb25zdCB1cGRhdGUgPSBcImRcIiBpbiBkYXRhID8gZGF0YS5kIDogZGF0YTtcblxuXHRcdGlmICghdXBkYXRlIHx8ICghKFwidG9rZW5cIiBpbiB1cGRhdGUpICYmICEoXCJzZXNzaW9uX2lkXCIgaW4gdXBkYXRlKSkpIHJldHVybjtcblxuXHRcdGNvbnN0IHBsYXllciA9IHRoaXMucGxheWVycy5nZXQodXBkYXRlLmd1aWxkX2lkKTtcblxuXHRcdGlmICghcGxheWVyKSByZXR1cm47XG5cdFx0aWYgKFwidG9rZW5cIiBpbiB1cGRhdGUpIHtcblx0XHRcdHBsYXllci52b2ljZVN0YXRlLmV2ZW50ID0gdXBkYXRlO1xuXG5cdFx0XHRjb25zdCB7XG5cdFx0XHRcdHNlc3Npb25JZCxcblx0XHRcdFx0ZXZlbnQ6IHsgdG9rZW4sIGVuZHBvaW50IH0sXG5cdFx0XHR9ID0gcGxheWVyLnZvaWNlU3RhdGU7XG5cblx0XHRcdGF3YWl0IHBsYXllci5ub2RlLnJlc3QudXBkYXRlUGxheWVyKHtcblx0XHRcdFx0Z3VpbGRJZDogcGxheWVyLmd1aWxkLFxuXHRcdFx0XHRkYXRhOiB7IHZvaWNlOiB7IHRva2VuLCBlbmRwb2ludCwgc2Vzc2lvbklkOiBzZXNzaW9uSWQgPz8gXCJcIiwgY2hhbm5lbElkOiBwbGF5ZXIudm9pY2VDaGFubmVsID8/IFwiXCIgfSB9LFxuXHRcdFx0fSk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAodXBkYXRlLnVzZXJfaWQgIT09IHRoaXMub3B0aW9ucy5jbGllbnRJZCkgcmV0dXJuO1xuXHRcdGlmICh1cGRhdGUuY2hhbm5lbF9pZCkge1xuXHRcdFx0aWYgKHBsYXllci52b2ljZUNoYW5uZWwgIT09IHVwZGF0ZS5jaGFubmVsX2lkKSB7XG5cdFx0XHRcdHRoaXMuZW1pdChcIlBsYXllck1vdmVcIiwgcGxheWVyLCBwbGF5ZXIudm9pY2VDaGFubmVsLCB1cGRhdGUuY2hhbm5lbF9pZCk7XG5cdFx0XHR9XG5cblx0XHRcdHBsYXllci52b2ljZVN0YXRlLnNlc3Npb25JZCA9IHVwZGF0ZS5zZXNzaW9uX2lkO1xuXHRcdFx0cGxheWVyLnZvaWNlQ2hhbm5lbCA9IHVwZGF0ZS5jaGFubmVsX2lkO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuZW1pdChcIlBsYXllckRpc2Nvbm5lY3RcIiwgcGxheWVyLCBwbGF5ZXIudm9pY2VDaGFubmVsKTtcblx0XHRwbGF5ZXIudm9pY2VDaGFubmVsID0gbnVsbDtcblx0XHRwbGF5ZXIudm9pY2VTdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30pO1xuXHRcdHBsYXllci5kZXN0cm95KCk7XG5cdFx0cmV0dXJuO1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZCB7XG5cdC8qKiBUaGUgT1AgY29kZSAqL1xuXHRvcDogbnVtYmVyO1xuXHRkOiB7XG5cdFx0Z3VpbGRfaWQ6IHN0cmluZztcblx0XHRjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsO1xuXHRcdHNlbGZfbXV0ZTogYm9vbGVhbjtcblx0XHRzZWxmX2RlYWY6IGJvb2xlYW47XG5cdH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuYWdlck9wdGlvbnMge1xuXHQvKiogVXNlIHByaW9yaXR5IG1vZGUgb3ZlciBsZWFzdCBhbW91bnQgb2YgcGxheWVyIG9yIGxvYWQ/ICovXG5cdHVzZVByaW9yaXR5PzogYm9vbGVhbjtcblx0LyoqIFVzZSB0aGUgbGVhc3QgYW1vdW50IG9mIHBsYXllcnMgb3IgbGVhc3QgbG9hZD8gKi9cblx0dXNlTm9kZT86IFwibGVhc3RMb2FkXCIgfCBcImxlYXN0UGxheWVyc1wiO1xuXHQvKiogVGhlIGFycmF5IG9mIG5vZGVzIHRvIGNvbm5lY3QgdG8uICovXG5cdG5vZGVzPzogTm9kZU9wdGlvbnNbXTtcblx0LyoqIFRoZSBjbGllbnQgSUQgdG8gdXNlLiAqL1xuXHRjbGllbnRJZD86IHN0cmluZztcblx0LyoqIFZhbHVlIHRvIHVzZSBmb3IgdGhlIGBDbGllbnQtTmFtZWAgaGVhZGVyLiAqL1xuXHRjbGllbnROYW1lPzogc3RyaW5nO1xuXHQvKiogVGhlIHNoYXJkIGNvdW50LiAqL1xuXHRzaGFyZHM/OiBudW1iZXI7XG5cdC8qKiBBIGFycmF5IG9mIHBsdWdpbnMgdG8gdXNlLiAqL1xuXHRwbHVnaW5zPzogUGx1Z2luW107XG5cdC8qKiBXaGV0aGVyIHBsYXllcnMgc2hvdWxkIGF1dG9tYXRpY2FsbHkgcGxheSB0aGUgbmV4dCBzb25nLiAqL1xuXHRhdXRvUGxheT86IGJvb2xlYW47XG5cdC8qKiBBbiBhcnJheSBvZiB0cmFjayBwcm9wZXJ0aWVzIHRvIGtlZXAuIGB0cmFja2Agd2lsbCBhbHdheXMgYmUgcHJlc2VudC4gKi9cblx0dHJhY2tQYXJ0aWFsPzogc3RyaW5nW107XG5cdC8qKiBUaGUgZGVmYXVsdCBzZWFyY2ggcGxhdGZvcm0gdG8gdXNlLCBjYW4gYmUgXCJ5b3V0dWJlXCIsIFwieW91dHViZSBtdXNpY1wiLCBcInNvdW5kY2xvdWRcIiBvciBkZWV6ZXIuICovXG5cdGRlZmF1bHRTZWFyY2hQbGF0Zm9ybT86IFNlYXJjaFBsYXRmb3JtO1xuXHQvKiogV2hldGhlciB0aGUgWW91VHViZSB2aWRlbyB0aXRsZXMgc2hvdWxkIGJlIHJlcGxhY2VkIGlmIHRoZSBBdXRob3IgZG9lcyBub3QgZXhhY3RseSBtYXRjaC4gKi9cblx0cmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscz86IGJvb2xlYW47XG5cdGNhY2hlczoge1xuXHRcdC8qKiBXaGV0aGVyIHRvIGNhY2hlIHRoZSBzZWFyY2ggcmVzdWx0cy4gKi9cblx0XHRlbmFibGVkOiBib29sZWFuO1xuXHRcdC8qKiBUaGUgdGltZSB0byBjYWNoZSB0aGUgc2VhcmNoIHJlc3VsdHMuICovXG5cdFx0dGltZTogbnVtYmVyO1xuXHR9XG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0byBzZW5kIGRhdGEgdG8gdGhlIHdlYnNvY2tldC5cblx0ICogQHBhcmFtIGlkXG5cdCAqIEBwYXJhbSBwYXlsb2FkXG5cdCAqL1xuXHRzZW5kKGlkOiBzdHJpbmcsIHBheWxvYWQ6IFBheWxvYWQpOiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBTZWFyY2hQbGF0Zm9ybSA9IFwiZGVlemVyXCIgfCBcInNvdW5kY2xvdWRcIiB8IFwieW91dHViZSBtdXNpY1wiIHwgXCJ5b3V0dWJlXCIgfCBcInNwb3RpZnlcIiB8IFwiamlvc2Fhdm5cIiB8IFwidGlkYWxcIiB8IFwiYXBwbGVtdXNpY1wiIHwgXCJiYW5kY2FtcFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFF1ZXJ5IHtcblx0LyoqIFRoZSBzb3VyY2UgdG8gc2VhcmNoIGZyb20uICovXG5cdHNvdXJjZT86IFNlYXJjaFBsYXRmb3JtIHwgc3RyaW5nO1xuXHQvKiogVGhlIHF1ZXJ5IHRvIHNlYXJjaCBmb3IuICovXG5cdHF1ZXJ5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF2YWxpbmtSZXNwb25zZSB7XG5cdGxvYWRUeXBlOiBMb2FkVHlwZTtcblx0ZGF0YTogVHJhY2tEYXRhW10gfCBQbGF5bGlzdFJhd0RhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzdWx0IHtcblx0LyoqIFRoZSBsb2FkIHR5cGUgb2YgdGhlIHJlc3VsdC4gKi9cblx0bG9hZFR5cGU6IExvYWRUeXBlO1xuXHQvKiogVGhlIGFycmF5IG9mIHRyYWNrcyBmcm9tIHRoZSByZXN1bHQuICovXG5cdHRyYWNrczogVHJhY2tbXTtcblx0LyoqIFRoZSBwbGF5bGlzdCBpbmZvIGlmIHRoZSBsb2FkIHR5cGUgaXMgJ3BsYXlsaXN0Jy4gKi9cblx0cGxheWxpc3Q/OiBQbGF5bGlzdERhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxheWxpc3RSYXdEYXRhIHtcblx0aW5mbzoge1xuXHRcdC8qKiBUaGUgcGxheWxpc3QgbmFtZS4gKi9cblx0XHRuYW1lOiBzdHJpbmc7XG5cdH07XG5cdC8qKiBBZGRpdGlvbiBpbmZvIHByb3ZpZGVkIGJ5IHBsdWdpbnMuICovXG5cdHBsdWdpbkluZm86IG9iamVjdDtcblx0LyoqIFRoZSB0cmFja3Mgb2YgdGhlIHBsYXlsaXN0ICovXG5cdHRyYWNrczogVHJhY2tEYXRhW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxheWxpc3REYXRhIHtcblx0LyoqIFRoZSBwbGF5bGlzdCBuYW1lLiAqL1xuXHRuYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgbGVuZ3RoIG9mIHRoZSBwbGF5bGlzdC4gKi9cblx0ZHVyYXRpb246IG51bWJlcjtcblx0LyoqIFRoZSBzb25ncyBvZiB0aGUgcGxheWxpc3QuICovXG5cdHRyYWNrczogVHJhY2tbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYW5hZ2VyRXZlbnRzIHtcblx0Tm9kZUNyZWF0ZTogKG5vZGU6IE5vZGUpID0+IHZvaWQ7XG5cdE5vZGVEZXN0cm95OiAobm9kZTogTm9kZSkgPT4gdm9pZDtcblx0Tm9kZUNvbm5lY3Q6IChub2RlOiBOb2RlKSA9PiB2b2lkO1xuXHROb2RlUmVjb25uZWN0OiAobm9kZTogTm9kZSkgPT4gdm9pZDtcblx0Tm9kZURpc2Nvbm5lY3Q6IChub2RlOiBOb2RlLCByZWFzb246IHsgY29kZT86IG51bWJlcjsgcmVhc29uPzogc3RyaW5nIH0pID0+IHZvaWQ7XG5cdE5vZGVFcnJvcjogKG5vZGU6IE5vZGUsIGVycm9yOiBFcnJvcikgPT4gdm9pZDtcblx0Tm9kZVJhdzogKHBheWxvYWQ6IHVua25vd24pID0+IHZvaWQ7XG5cdFBsYXllckNyZWF0ZTogKHBsYXllcjogUGxheWVyKSA9PiB2b2lkO1xuXHRQbGF5ZXJEZXN0cm95OiAocGxheWVyOiBQbGF5ZXIpID0+IHZvaWQ7XG5cdFBsYXllclN0YXRlVXBkYXRlOiAob2xkUGxheWVyOiBQbGF5ZXIsIG5ld1BsYXllcjogUGxheWVyKSA9PiB2b2lkO1xuXHRQbGF5ZXJNb3ZlOiAocGxheWVyOiBQbGF5ZXIsIGluaXRDaGFubmVsOiBzdHJpbmcsIG5ld0NoYW5uZWw6IHN0cmluZykgPT4gdm9pZDtcblx0UGxheWVyRGlzY29ubmVjdDogKHBsYXllcjogUGxheWVyLCBvbGRDaGFubmVsOiBzdHJpbmcpID0+IHZvaWQ7XG5cdFF1ZXVlRW5kOiAocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjayB8IFVucmVzb2x2ZWRUcmFjaywgcGF5bG9hZDogVHJhY2tFbmRFdmVudCkgPT4gdm9pZDtcblx0U29ja2V0Q2xvc2VkOiAocGxheWVyOiBQbGF5ZXIsIHBheWxvYWQ6IFdlYlNvY2tldENsb3NlZEV2ZW50KSA9PiB2b2lkO1xuXHRUcmFja1N0YXJ0OiAocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjaywgcGF5bG9hZDogVHJhY2tTdGFydEV2ZW50KSA9PiB2b2lkO1xuXHRUcmFja0VuZDogKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrRW5kRXZlbnQpID0+IHZvaWQ7XG5cdFRyYWNrU3R1Y2s6IChwbGF5ZXI6IFBsYXllciwgdHJhY2s6IFRyYWNrLCBwYXlsb2FkOiBUcmFja1N0dWNrRXZlbnQpID0+IHZvaWQ7XG5cdFRyYWNrRXJyb3I6IChwbGF5ZXI6IFBsYXllciwgdHJhY2s6IFRyYWNrIHwgVW5yZXNvbHZlZFRyYWNrLCBwYXlsb2FkOiBUcmFja0V4Y2VwdGlvbkV2ZW50KSA9PiB2b2lkO1xufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBY0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBSUEsSUFBQUcsYUFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQWlELFNBQUFJLHVCQUFBQyxDQUFB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
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { User, ClientUser } from "discord.js";
|
|
2
|
+
export declare class TikTok {
|
|
3
|
+
/**
|
|
4
|
+
* ตรวจสอบว่าลิงก์เป็นของ TikTok หรือไม่
|
|
5
|
+
*/
|
|
6
|
+
static isTikTokURL(url: string): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* ค้นหาและดึงลิงก์เสียงจาก TikTok
|
|
9
|
+
*/
|
|
10
|
+
static searchTikTok(url: string, requester?: User | ClientUser): Promise<{
|
|
11
|
+
loadType: string;
|
|
12
|
+
tracks: import("./Player").Track[];
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* ดึง direct audio URL จาก TikTok ด้วย yt-dlp
|
|
16
|
+
*/
|
|
17
|
+
static extractTikTokAudio(url: string): Promise<string | null>;
|
|
18
|
+
}
|