@projectcor/maia-components 2.11.59-3 → 2.11.59-4
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.
|
@@ -213,20 +213,26 @@ export var AbmActionsSectionV2 = function AbmActionsSectionV2(_ref2) {
|
|
|
213
213
|
return "".concat(corBlockExpanded ? '1' : '0', "#").concat(_toConsumableArray(expandedActions).sort().join('|'), "#").concat(_toConsumableArray(expandedNotionCategories).sort().join('|'));
|
|
214
214
|
}, [corBlockExpanded, expandedActions, expandedNotionCategories]);
|
|
215
215
|
var renderToolItem = function renderToolItem(tool) {
|
|
216
|
+
var name = t("actionsSection.v2.catalog.tools.".concat(tool.slug, ".name"), {
|
|
217
|
+
defaultValue: tool.name
|
|
218
|
+
});
|
|
219
|
+
var description = t("actionsSection.v2.catalog.tools.".concat(tool.slug, ".description"), {
|
|
220
|
+
defaultValue: tool.description
|
|
221
|
+
});
|
|
216
222
|
return /*#__PURE__*/_jsxs(SCToolItem, {
|
|
217
223
|
children: [/*#__PURE__*/_jsx(SCToolKindBadge, {
|
|
218
224
|
kind: tool.accessKind,
|
|
219
225
|
children: t("actionsSection.v2.accessKind.".concat(tool.accessKind))
|
|
220
226
|
}), /*#__PURE__*/_jsxs(SCToolText, {
|
|
221
227
|
children: [/*#__PURE__*/_jsx(SCToolName, {
|
|
222
|
-
children:
|
|
228
|
+
children: name
|
|
223
229
|
}), /*#__PURE__*/_jsx(TruncationTooltip, {
|
|
224
|
-
title:
|
|
230
|
+
title: description,
|
|
225
231
|
layoutKey: truncationMeasureKey,
|
|
226
232
|
children: function children(textRef) {
|
|
227
233
|
return /*#__PURE__*/_jsx(SCToolDescription, {
|
|
228
234
|
ref: textRef,
|
|
229
|
-
children:
|
|
235
|
+
children: description
|
|
230
236
|
});
|
|
231
237
|
}
|
|
232
238
|
})]
|
|
@@ -338,6 +344,12 @@ export var AbmActionsSectionV2 = function AbmActionsSectionV2(_ref2) {
|
|
|
338
344
|
var renderNotionCategory = function renderNotionCategory(category) {
|
|
339
345
|
var isOpen = expandedNotionCategories.has(category.key);
|
|
340
346
|
var toolsCount = category.tools.length;
|
|
347
|
+
var label = t("actionsSection.v2.catalog.notionCategories.".concat(category.key, ".label"), {
|
|
348
|
+
defaultValue: category.label
|
|
349
|
+
});
|
|
350
|
+
var description = t("actionsSection.v2.catalog.notionCategories.".concat(category.key, ".description"), {
|
|
351
|
+
defaultValue: category.description
|
|
352
|
+
});
|
|
341
353
|
return /*#__PURE__*/_jsxs(SCCategoryAccordion, {
|
|
342
354
|
children: [/*#__PURE__*/_jsxs(SCCategoryHeader, {
|
|
343
355
|
type: "button",
|
|
@@ -355,14 +367,14 @@ export var AbmActionsSectionV2 = function AbmActionsSectionV2(_ref2) {
|
|
|
355
367
|
})
|
|
356
368
|
}), /*#__PURE__*/_jsxs(SCCategoryTextGroup, {
|
|
357
369
|
children: [/*#__PURE__*/_jsx(SCCategoryTitle, {
|
|
358
|
-
children:
|
|
370
|
+
children: label
|
|
359
371
|
}), /*#__PURE__*/_jsx(TruncationTooltip, {
|
|
360
|
-
title:
|
|
372
|
+
title: description,
|
|
361
373
|
layoutKey: truncationMeasureKey,
|
|
362
374
|
children: function children(textRef) {
|
|
363
375
|
return /*#__PURE__*/_jsx(SCCategoryDescription, {
|
|
364
376
|
ref: textRef,
|
|
365
|
-
children:
|
|
377
|
+
children: description
|
|
366
378
|
});
|
|
367
379
|
}
|
|
368
380
|
})]
|
|
@@ -507,4 +519,4 @@ export var AbmActionsSectionV2 = function AbmActionsSectionV2(_ref2) {
|
|
|
507
519
|
})]
|
|
508
520
|
});
|
|
509
521
|
};
|
|
510
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsInVzZVN0YXRlIiwidXNlVHJhbnNsYXRpb24iLCJDYXRlZ29yeSIsIkNoZXZyb25Eb3duIiwiVG9vbHRpcCIsIk5vdGlvbkljb24iLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkFDVElPTl9MQUJFTF9LRVlTIiwiQ09SX1RPT0xfR1JPVVBTIiwiRU5USVRZX0FDVElPTl9PUkRFUiIsIkVOVElUWV9PUkRFUiIsIk5PVElPTl9DT05ORUNUT1JfQ0FUQUxPRyIsIk5PVElPTl9DT05ORUNUT1JfU0xVRyIsIlNDQWN0aW9uSGVhZGVyIiwiU0NBY3Rpb25MYWJlbCIsIlNDQWN0aW9uTGFiZWxHcm91cCIsIlNDQWN0aW9uUm93IiwiU0NDYXRlZ29yeUFjY29yZGlvbiIsIlNDQ2F0ZWdvcnlEZXNjcmlwdGlvbiIsIlNDQ2F0ZWdvcnlIZWFkZXIiLCJTQ0NhdGVnb3J5VGV4dEdyb3VwIiwiU0NDYXRlZ29yeVRpdGxlIiwiU0NDaGV2cm9uQnV0dG9uIiwiU0NDb21pbmdTb29uQmFkZ2UiLCJTQ0Nvbm5lY3RvckNhcmQiLCJTQ0Nvbm5lY3RvckhlYWRlciIsIlNDQ29ubmVjdG9ySGludCIsIlNDQ29ubmVjdG9ySWNvbiIsIlNDQ29ubmVjdG9ySWRlbnRpdHkiLCJTQ0Nvbm5lY3RvclJpZ2h0R3JvdXAiLCJTQ0Nvbm5lY3RvclRhZ2xpbmUiLCJTQ0Nvbm5lY3RvclRleHRHcm91cCIsIlNDQ29ubmVjdG9yVGl0bGUiLCJTQ0NvdW50ZXIiLCJTQ0RlbGV0ZUJhZGdlIiwiU0NFeHBhbmRhYmxlQmxvY2tCb2R5IiwiU0NFbXB0eVRvb2xzIiwiU0NFbnRpdHlDYXJkIiwiU0NFbnRpdHlIZWFkZXIiLCJTQ0VudGl0eUxpc3QiLCJTQ0VudGl0eVRpdGxlIiwiU0NIZWFkZXIiLCJTQ1Jvb3QiLCJTQ1NlY3Rpb25MYWJlbCIsIlNDU3RhdHVzUGlsbCIsIlNDU3VidGl0bGUiLCJTQ1RpdGxlIiwiU0NUb2dnbGUiLCJTQ1RvZ2dsZVRodW1iIiwiU0NUb29sRGVzY3JpcHRpb24iLCJTQ1Rvb2xJdGVtIiwiU0NUb29sS2luZEJhZGdlIiwiU0NUb29sTmFtZSIsIlNDVG9vbFRleHQiLCJTQ1Rvb2xzTGlzdCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkhJRVJBUkNISUNBTF9BQ1RJT05TIiwiYnVpbGRUb29sR3JvdXBNYXAiLCJncm91cHMiLCJtYXAiLCJmb3JFYWNoIiwiZW50aXR5IiwiZ3JvdXAiLCJhY3Rpb24iLCJUT09MX0dST1VQX01BUCIsIlRydW5jYXRpb25Ub29sdGlwIiwiX3JlZiIsInRpdGxlIiwiX3JlZiRsYXlvdXRLZXkiLCJsYXlvdXRLZXkiLCJjaGlsZHJlbiIsInRleHRSZWYiLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJzaG93VG9vbHRpcCIsIkFibUFjdGlvbnNTZWN0aW9uVjIiLCJfcmVmMiIsIl92YWx1ZXMkYWN0aW9ucyIsIl92YWx1ZXMkYWN0aW9uczIiLCJfdmFsdWVzJGFjdGlvbnM0IiwidmFsdWVzIiwiaGFuZGxlU2V0QWdlbnRWYWx1ZXMiLCJfdXNlVHJhbnNsYXRpb24iLCJ0Iiwic2VsZWN0ZWRUb29sR3JvdXBzIiwiYWN0aW9ucyIsInNlbGVjdGVkQ29ubmVjdG9ycyIsInNlbGVjdGVkVG9vbEdyb3Vwc1NldCIsIlNldCIsInNlbGVjdGVkQ29ubmVjdG9yc1NldCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImNvckJsb2NrRXhwYW5kZWQiLCJzZXRDb3JCbG9ja0V4cGFuZGVkIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJleHBhbmRlZEFjdGlvbnMiLCJzZXRFeHBhbmRlZEFjdGlvbnMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImV4cGFuZGVkTm90aW9uQ2F0ZWdvcmllcyIsInNldEV4cGFuZGVkTm90aW9uQ2F0ZWdvcmllcyIsInByZXZDb3JUb29sR3JvdXBDb3VudFJlZiIsInByZXZDb3JCbG9ja0V4cGFuZGVkUmVmIiwibiIsImxlbmd0aCIsInByZXYiLCJjdXJyZW50Iiwid2FzRXhwYW5kZWQiLCJrZXkiLCJ2YWx1ZSIsIl9vYmplY3RTcHJlYWQiLCJpc0FjdGlvbkFjdGl2ZSIsIl9UT09MX0dST1VQX01BUCRlbnRpdCIsImhhcyIsInNsdWciLCJ0b2dnbGVFbnRpdHlBY3Rpb24iLCJfVE9PTF9HUk9VUF9NQVAkZW50aXQyIiwidGFyZ2V0R3JvdXAiLCJhdmFpbGFibGUiLCJuZXh0IiwiZW50aXR5SW5kZXgiLCJpbmRleE9mIiwicHJldmlvdXNFbnRpdGllcyIsInNsaWNlIiwibmV4dEVudGl0aWVzIiwiYWN0aW9uSW5kZXgiLCJpc0N1cnJlbnRseUFjdGl2ZSIsImN1cnJlbnRFbnRpdHkiLCJjdXJyZW50QWN0aW9uIiwiX1RPT0xfR1JPVVBfTUFQJGN1cnJlIiwiX1RPT0xfR1JPVVBfTUFQJGN1cnJlMiIsImFkZCIsIkFycmF5IiwiZnJvbSIsInRvZ2dsZUNvbm5lY3RvciIsImNvbm5lY3RvclNsdWciLCJ0b2dnbGVBY3Rpb25FeHBhbmRlZCIsInRvZ2dsZU5vdGlvbkNhdGVnb3J5IiwiY2F0ZWdvcnlLZXkiLCJpc05vdGlvbkVuYWJsZWQiLCJub3Rpb25Db25uZWN0b3JTdGF0ZSIsIl92YWx1ZXMkYWN0aW9uczMiLCJjb25uZWN0b3JTdGF0ZXMiLCJmaW5kIiwicyIsIm5vdGlvbkNvbm5lY3RvckJhZGdlIiwidG9uZSIsImxhYmVsIiwiZW5hYmxlZF9mb3JfYWdlbnQiLCJjb3JBY3RpdmVUb29sc0NvdW50IiwicmVkdWNlIiwiYWNjIiwiZyIsInRvb2xzIiwidHJ1bmNhdGlvbk1lYXN1cmVLZXkiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0Iiwiam9pbiIsInJlbmRlclRvb2xJdGVtIiwidG9vbCIsImtpbmQiLCJhY2Nlc3NLaW5kIiwibmFtZSIsImRlc2NyaXB0aW9uIiwicmVmIiwicmVuZGVyQWN0aW9uUm93IiwiX1RPT0xfR1JPVVBfTUFQJGVudGl0MyIsImlzQXZhaWxhYmxlIiwiYWN0aXZlIiwiZXhwYW5kZWQiLCJ0b29sc0NvdW50IiwiY2FuRXhwYW5kIiwiaXNEZWxldGUiLCJvbkhlYWRlckNsaWNrIiwib25Ub2dnbGVDbGljayIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJoZWFkZXJDb250ZW50IiwiY2xpY2thYmxlIiwib25DbGljayIsInR5cGUiLCJvcGVuIiwiZGlzYWJsZWQiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiY291bnQiLCJpc0FjdGl2ZSIsInJvdyIsInJlbmRlckVudGl0eUNhcmQiLCJncm91cHNGb3JFbnRpdHkiLCJfVE9PTF9HUk9VUF9NQVAkZW50aXQ0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImVuYWJsZWRUb29scyIsImNvdW50ZXJBY3RpdmUiLCJyZW5kZXJOb3Rpb25DYXRlZ29yeSIsImNhdGVnb3J5IiwiaXNPcGVuIiwiYXMiLCJ2IiwiY2F0ZWdvcmllcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9BYm1TZWN0aW9uL0FibUFjdGlvbnNTZWN0aW9uVjIvQWJtQWN0aW9uc1NlY3Rpb25WMi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG4gIE1vdXNlRXZlbnQsXG4gIHR5cGUgUmVhY3ROb2RlLFxuICB0eXBlIFJlZk9iamVjdCxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5cbmltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2F0ZWdvcnknXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuXG5pbXBvcnQgeyBOb3Rpb25JY29uIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvaWNvbnMvTm90aW9uSWNvbidcblxuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyBNb2RhbFZhbHVlcyB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50TW9kYWwnXG5pbXBvcnQge1xuICBBQ1RJT05fTEFCRUxfS0VZUyxcbiAgQ29ubmVjdG9yVG9vbENhdGVnb3J5LFxuICBDT1JfVE9PTF9HUk9VUFMsXG4gIEVOVElUWV9BQ1RJT05fT1JERVIsXG4gIEVOVElUWV9PUkRFUixcbiAgRW50aXR5QWN0aW9uS2V5LFxuICBFbnRpdHlLZXksXG4gIEVudGl0eVRvb2xHcm91cCxcbiAgTk9USU9OX0NPTk5FQ1RPUl9DQVRBTE9HLFxuICBOT1RJT05fQ09OTkVDVE9SX1NMVUcsXG4gIFRvb2xEZXNjcmlwdG9yLFxufSBmcm9tICcuL2NhdGFsb2cnXG5pbXBvcnQge1xuICBTQ0FjdGlvbkhlYWRlcixcbiAgU0NBY3Rpb25MYWJlbCxcbiAgU0NBY3Rpb25MYWJlbEdyb3VwLFxuICBTQ0FjdGlvblJvdyxcbiAgU0NDYXRlZ29yeUFjY29yZGlvbixcbiAgU0NDYXRlZ29yeURlc2NyaXB0aW9uLFxuICBTQ0NhdGVnb3J5SGVhZGVyLFxuICBTQ0NhdGVnb3J5VGV4dEdyb3VwLFxuICBTQ0NhdGVnb3J5VGl0bGUsXG4gIFNDQ2hldnJvbkJ1dHRvbixcbiAgU0NDb21pbmdTb29uQmFkZ2UsXG4gIFNDQ29ubmVjdG9yQ2FyZCxcbiAgU0NDb25uZWN0b3JIZWFkZXIsXG4gIFNDQ29ubmVjdG9ySGludCxcbiAgU0NDb25uZWN0b3JJY29uLFxuICBTQ0Nvbm5lY3RvcklkZW50aXR5LFxuICBTQ0Nvbm5lY3RvclJpZ2h0R3JvdXAsXG4gIFNDQ29ubmVjdG9yVGFnbGluZSxcbiAgU0NDb25uZWN0b3JUZXh0R3JvdXAsXG4gIFNDQ29ubmVjdG9yVGl0bGUsXG4gIFNDQ291bnRlcixcbiAgU0NEZWxldGVCYWRnZSxcbiAgU0NFeHBhbmRhYmxlQmxvY2tCb2R5LFxuICBTQ0VtcHR5VG9vbHMsXG4gIFNDRW50aXR5Q2FyZCxcbiAgU0NFbnRpdHlIZWFkZXIsXG4gIFNDRW50aXR5TGlzdCxcbiAgU0NFbnRpdHlUaXRsZSxcbiAgU0NIZWFkZXIsXG4gIFNDUm9vdCxcbiAgU0NTZWN0aW9uTGFiZWwsXG4gIFNDU3RhdHVzUGlsbCxcbiAgU0NTdWJ0aXRsZSxcbiAgU0NUaXRsZSxcbiAgU0NUb2dnbGUsXG4gIFNDVG9nZ2xlVGh1bWIsXG4gIFNDVG9vbERlc2NyaXB0aW9uLFxuICBTQ1Rvb2xJdGVtLFxuICBTQ1Rvb2xLaW5kQmFkZ2UsXG4gIFNDVG9vbE5hbWUsXG4gIFNDVG9vbFRleHQsXG4gIFNDVG9vbHNMaXN0LFxufSBmcm9tICcuL0FibUFjdGlvbnNTZWN0aW9uVjIuc3R5bGVzJ1xuXG50eXBlIEFibUFjdGlvbnNTZWN0aW9uVjJQcm9wcyA9IHtcbiAgdmFsdWVzOiBNb2RhbFZhbHVlc1xuICBoYW5kbGVTZXRBZ2VudFZhbHVlczogKHsga2V5LCB2YWx1ZSB9OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogdW5rbm93biB9KSA9PiB2b2lkXG59XG5cbmNvbnN0IEhJRVJBUkNISUNBTF9BQ1RJT05TOiBFbnRpdHlBY3Rpb25LZXlbXSA9IFsncmVhZCcsICdlZGl0JywgJ2RlbGV0ZSddXG5cbmNvbnN0IGJ1aWxkVG9vbEdyb3VwTWFwID0gKGdyb3VwczogRW50aXR5VG9vbEdyb3VwW10pOiBSZWNvcmQ8RW50aXR5S2V5LCBSZWNvcmQ8RW50aXR5QWN0aW9uS2V5LCBFbnRpdHlUb29sR3JvdXA+PiA9PiB7XG4gIGNvbnN0IG1hcCA9IHt9IGFzIFJlY29yZDxFbnRpdHlLZXksIFJlY29yZDxFbnRpdHlBY3Rpb25LZXksIEVudGl0eVRvb2xHcm91cD4+XG4gIEVOVElUWV9PUkRFUi5mb3JFYWNoKGVudGl0eSA9PiB7XG4gICAgbWFwW2VudGl0eV0gPSB7fSBhcyBSZWNvcmQ8RW50aXR5QWN0aW9uS2V5LCBFbnRpdHlUb29sR3JvdXA+XG4gIH0pXG4gIGdyb3Vwcy5mb3JFYWNoKGdyb3VwID0+IHtcbiAgICBtYXBbZ3JvdXAuZW50aXR5XVtncm91cC5hY3Rpb25dID0gZ3JvdXBcbiAgfSlcbiAgcmV0dXJuIG1hcFxufVxuXG5jb25zdCBUT09MX0dST1VQX01BUCA9IGJ1aWxkVG9vbEdyb3VwTWFwKENPUl9UT09MX0dST1VQUylcblxudHlwZSBUcnVuY2F0aW9uVG9vbHRpcFByb3BzID0ge1xuICB0aXRsZTogc3RyaW5nXG4gIC8qKiBSZWNhbGN1bGEgb3ZlcmZsb3cgYWwgY2FtYmlhciBsYXlvdXQgKHAuIGVqLiBleHBhbmQvY29sbGFwc2UgZGUgZmlsYXMpLiAqL1xuICBsYXlvdXRLZXk/OiBzdHJpbmdcbiAgY2hpbGRyZW46ICh0ZXh0UmVmOiBSZWZPYmplY3Q8SFRNTFNwYW5FbGVtZW50PikgPT4gUmVhY3ROb2RlXG59XG5cbmNvbnN0IFRydW5jYXRpb25Ub29sdGlwID0gKHsgdGl0bGUsIGxheW91dEtleSA9ICcnLCBjaGlsZHJlbiB9OiBUcnVuY2F0aW9uVG9vbHRpcFByb3BzKSA9PiB7XG4gIGNvbnN0IHRleHRSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50PihudWxsKVxuICBjb25zdCB7IHNob3dUb29sdGlwIH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0ZXh0UmVmLCBbdGl0bGUsIGxheW91dEtleV0pXG4gIHJldHVybiA8VG9vbHRpcCB0aXRsZT17c2hvd1Rvb2x0aXAgPyB0aXRsZSA6ICcnfT57Y2hpbGRyZW4odGV4dFJlZil9PC9Ub29sdGlwPlxufVxuXG5leHBvcnQgY29uc3QgQWJtQWN0aW9uc1NlY3Rpb25WMiA9ICh7IHZhbHVlcywgaGFuZGxlU2V0QWdlbnRWYWx1ZXMgfTogQWJtQWN0aW9uc1NlY3Rpb25WMlByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2FibV9hZ2VudF9zZWN0aW9uJylcblxuICBjb25zdCBzZWxlY3RlZFRvb2xHcm91cHMgPSB2YWx1ZXMuYWN0aW9ucz8uc2VsZWN0ZWRUb29sR3JvdXBzIHx8IFtdXG4gIGNvbnN0IHNlbGVjdGVkQ29ubmVjdG9ycyA9IHZhbHVlcy5hY3Rpb25zPy5zZWxlY3RlZENvbm5lY3RvcnMgfHwgW11cblxuICBjb25zdCBzZWxlY3RlZFRvb2xHcm91cHNTZXQgPSB1c2VNZW1vKCgpID0+IG5ldyBTZXQoc2VsZWN0ZWRUb29sR3JvdXBzKSwgW3NlbGVjdGVkVG9vbEdyb3Vwc10pXG4gIGNvbnN0IHNlbGVjdGVkQ29ubmVjdG9yc1NldCA9IHVzZU1lbW8oKCkgPT4gbmV3IFNldChzZWxlY3RlZENvbm5lY3RvcnMpLCBbc2VsZWN0ZWRDb25uZWN0b3JzXSlcblxuICBjb25zdCBbY29yQmxvY2tFeHBhbmRlZCwgc2V0Q29yQmxvY2tFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2V4cGFuZGVkQWN0aW9ucywgc2V0RXhwYW5kZWRBY3Rpb25zXSA9IHVzZVN0YXRlPFNldDxzdHJpbmc+PihuZXcgU2V0KCkpXG4gIGNvbnN0IFtleHBhbmRlZE5vdGlvbkNhdGVnb3JpZXMsIHNldEV4cGFuZGVkTm90aW9uQ2F0ZWdvcmllc10gPSB1c2VTdGF0ZTxTZXQ8c3RyaW5nPj4obmV3IFNldCgpKVxuICAvKiogRXZpdGEgcmVhYnJpciBlbCBibG9xdWUgc2kgZWwgdXN1YXJpbyBsbyBjZXJyw7MgY29uIGxhIG1pc21hIGNhbnRpZGFkIGRlIHRvb2wgZ3JvdXBzIHNlbGVjY2lvbmFkb3MuICovXG4gIGNvbnN0IHByZXZDb3JUb29sR3JvdXBDb3VudFJlZiA9IHVzZVJlZjxudW1iZXIgfCBudWxsPihudWxsKVxuICAvKiogUGFyYSBkaXN0aW5ndWlyIGNpZXJyZSBtYW51YWwgZGVsIGJsb3F1ZSAoZGVzdGlsZGFyIENPUikgZGVsIG1vbnRhamUgaW5pY2lhbCBjb2xhcHNhZG8uICovXG4gIGNvbnN0IHByZXZDb3JCbG9ja0V4cGFuZGVkUmVmID0gdXNlUmVmPGJvb2xlYW4gfCBudWxsPihudWxsKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbiA9IHNlbGVjdGVkVG9vbEdyb3Vwcy5sZW5ndGhcbiAgICBjb25zdCBwcmV2ID0gcHJldkNvclRvb2xHcm91cENvdW50UmVmLmN1cnJlbnRcbiAgICBwcmV2Q29yVG9vbEdyb3VwQ291bnRSZWYuY3VycmVudCA9IG5cblxuICAgIGlmIChuID09PSAwKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKHByZXYgPT09IG51bGwgJiYgbiA+IDApIHtcbiAgICAgIHNldENvckJsb2NrRXhwYW5kZWQodHJ1ZSlcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAocHJldiA9PT0gMCAmJiBuID4gMCkge1xuICAgICAgc2V0Q29yQmxvY2tFeHBhbmRlZCh0cnVlKVxuICAgIH1cbiAgfSwgW3NlbGVjdGVkVG9vbEdyb3Vwcy5sZW5ndGhdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgd2FzRXhwYW5kZWQgPSBwcmV2Q29yQmxvY2tFeHBhbmRlZFJlZi5jdXJyZW50ID09PSB0cnVlXG5cbiAgICBpZiAoIWNvckJsb2NrRXhwYW5kZWQpIHtcbiAgICAgIHNldEV4cGFuZGVkQWN0aW9ucyhuZXcgU2V0KCkpXG4gICAgICBpZiAod2FzRXhwYW5kZWQgJiYgc2VsZWN0ZWRUb29sR3JvdXBzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgaGFuZGxlU2V0QWdlbnRWYWx1ZXMoe1xuICAgICAgICAgIGtleTogJ2FjdGlvbnMnLFxuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAuLi52YWx1ZXMuYWN0aW9ucyxcbiAgICAgICAgICAgIHNlbGVjdGVkVG9vbEdyb3VwczogW10sXG4gICAgICAgICAgICBzZWxlY3RlZENvbm5lY3RvcnMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcmV2Q29yQmxvY2tFeHBhbmRlZFJlZi5jdXJyZW50ID0gY29yQmxvY2tFeHBhbmRlZFxuICB9LCBbY29yQmxvY2tFeHBhbmRlZCwgaGFuZGxlU2V0QWdlbnRWYWx1ZXMsIHNlbGVjdGVkQ29ubmVjdG9ycywgc2VsZWN0ZWRUb29sR3JvdXBzLmxlbmd0aCwgdmFsdWVzLmFjdGlvbnNdKVxuXG4gIGNvbnN0IGlzQWN0aW9uQWN0aXZlID0gdXNlQ2FsbGJhY2soXG4gICAgKGVudGl0eTogRW50aXR5S2V5LCBhY3Rpb246IEVudGl0eUFjdGlvbktleSkgPT4ge1xuICAgICAgY29uc3QgZ3JvdXAgPSBUT09MX0dST1VQX01BUFtlbnRpdHldPy5bYWN0aW9uXVxuICAgICAgcmV0dXJuICEhZ3JvdXAgJiYgc2VsZWN0ZWRUb29sR3JvdXBzU2V0Lmhhcyhncm91cC5zbHVnKVxuICAgIH0sXG4gICAgW3NlbGVjdGVkVG9vbEdyb3Vwc1NldF1cbiAgKVxuXG4gIGNvbnN0IHRvZ2dsZUVudGl0eUFjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChlbnRpdHk6IEVudGl0eUtleSwgYWN0aW9uOiBFbnRpdHlBY3Rpb25LZXkpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldEdyb3VwID0gVE9PTF9HUk9VUF9NQVBbZW50aXR5XT8uW2FjdGlvbl1cbiAgICAgIGlmICghdGFyZ2V0R3JvdXAgfHwgIXRhcmdldEdyb3VwLmF2YWlsYWJsZSkgcmV0dXJuXG5cbiAgICAgIGNvbnN0IG5leHQgPSBuZXcgU2V0KHNlbGVjdGVkVG9vbEdyb3VwcylcbiAgICAgIGNvbnN0IGVudGl0eUluZGV4ID0gRU5USVRZX09SREVSLmluZGV4T2YoZW50aXR5KVxuICAgICAgY29uc3QgcHJldmlvdXNFbnRpdGllcyA9IEVOVElUWV9PUkRFUi5zbGljZSgwLCBlbnRpdHlJbmRleCArIDEpXG4gICAgICBjb25zdCBuZXh0RW50aXRpZXMgPSBFTlRJVFlfT1JERVIuc2xpY2UoZW50aXR5SW5kZXgpXG4gICAgICBjb25zdCBhY3Rpb25JbmRleCA9IEhJRVJBUkNISUNBTF9BQ1RJT05TLmluZGV4T2YoYWN0aW9uKVxuICAgICAgY29uc3QgaXNDdXJyZW50bHlBY3RpdmUgPSBuZXh0Lmhhcyh0YXJnZXRHcm91cC5zbHVnKVxuXG4gICAgICBpZiAoaXNDdXJyZW50bHlBY3RpdmUpIHtcbiAgICAgICAgbmV4dEVudGl0aWVzLmZvckVhY2goY3VycmVudEVudGl0eSA9PiB7XG4gICAgICAgICAgSElFUkFSQ0hJQ0FMX0FDVElPTlMuc2xpY2UoYWN0aW9uSW5kZXgpLmZvckVhY2goY3VycmVudEFjdGlvbiA9PiB7XG4gICAgICAgICAgICBjb25zdCBncm91cCA9IFRPT0xfR1JPVVBfTUFQW2N1cnJlbnRFbnRpdHldPy5bY3VycmVudEFjdGlvbl1cbiAgICAgICAgICAgIGlmIChncm91cD8uYXZhaWxhYmxlKSBuZXh0LmRlbGV0ZShncm91cC5zbHVnKVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcmV2aW91c0VudGl0aWVzLmZvckVhY2goY3VycmVudEVudGl0eSA9PiB7XG4gICAgICAgICAgSElFUkFSQ0hJQ0FMX0FDVElPTlMuc2xpY2UoMCwgYWN0aW9uSW5kZXggKyAxKS5mb3JFYWNoKGN1cnJlbnRBY3Rpb24gPT4ge1xuICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBUT09MX0dST1VQX01BUFtjdXJyZW50RW50aXR5XT8uW2N1cnJlbnRBY3Rpb25dXG4gICAgICAgICAgICBpZiAoZ3JvdXA/LmF2YWlsYWJsZSkgbmV4dC5hZGQoZ3JvdXAuc2x1ZylcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBoYW5kbGVTZXRBZ2VudFZhbHVlcyh7XG4gICAgICAgIGtleTogJ2FjdGlvbnMnLFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgIC4uLnZhbHVlcy5hY3Rpb25zLFxuICAgICAgICAgIHNlbGVjdGVkVG9vbEdyb3VwczogQXJyYXkuZnJvbShuZXh0KSxcbiAgICAgICAgICBzZWxlY3RlZENvbm5lY3RvcnMsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH0sXG4gICAgW2hhbmRsZVNldEFnZW50VmFsdWVzLCBzZWxlY3RlZENvbm5lY3RvcnMsIHNlbGVjdGVkVG9vbEdyb3VwcywgdmFsdWVzLmFjdGlvbnNdXG4gIClcblxuICBjb25zdCB0b2dnbGVDb25uZWN0b3IgPSB1c2VDYWxsYmFjayhcbiAgICAoY29ubmVjdG9yU2x1Zzogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBuZXh0ID0gbmV3IFNldChzZWxlY3RlZENvbm5lY3RvcnMpXG4gICAgICBpZiAobmV4dC5oYXMoY29ubmVjdG9yU2x1ZykpIHtcbiAgICAgICAgbmV4dC5kZWxldGUoY29ubmVjdG9yU2x1ZylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQuYWRkKGNvbm5lY3RvclNsdWcpXG4gICAgICB9XG4gICAgICBoYW5kbGVTZXRBZ2VudFZhbHVlcyh7XG4gICAgICAgIGtleTogJ2FjdGlvbnMnLFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgIC4uLnZhbHVlcy5hY3Rpb25zLFxuICAgICAgICAgIHNlbGVjdGVkVG9vbEdyb3VwcyxcbiAgICAgICAgICBzZWxlY3RlZENvbm5lY3RvcnM6IEFycmF5LmZyb20obmV4dCksXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH0sXG4gICAgW2hhbmRsZVNldEFnZW50VmFsdWVzLCBzZWxlY3RlZENvbm5lY3RvcnMsIHNlbGVjdGVkVG9vbEdyb3VwcywgdmFsdWVzLmFjdGlvbnNdXG4gIClcblxuICBjb25zdCB0b2dnbGVBY3Rpb25FeHBhbmRlZCA9IHVzZUNhbGxiYWNrKChzbHVnOiBzdHJpbmcpID0+IHtcbiAgICBzZXRFeHBhbmRlZEFjdGlvbnMocHJldiA9PiB7XG4gICAgICBjb25zdCBuZXh0ID0gbmV3IFNldChwcmV2KVxuICAgICAgaWYgKG5leHQuaGFzKHNsdWcpKSBuZXh0LmRlbGV0ZShzbHVnKVxuICAgICAgZWxzZSBuZXh0LmFkZChzbHVnKVxuICAgICAgcmV0dXJuIG5leHRcbiAgICB9KVxuICB9LCBbXSlcblxuICBjb25zdCB0b2dnbGVOb3Rpb25DYXRlZ29yeSA9IHVzZUNhbGxiYWNrKChjYXRlZ29yeUtleTogc3RyaW5nKSA9PiB7XG4gICAgc2V0RXhwYW5kZWROb3Rpb25DYXRlZ29yaWVzKHByZXYgPT4ge1xuICAgICAgY29uc3QgbmV4dCA9IG5ldyBTZXQocHJldilcbiAgICAgIGlmIChuZXh0LmhhcyhjYXRlZ29yeUtleSkpIG5leHQuZGVsZXRlKGNhdGVnb3J5S2V5KVxuICAgICAgZWxzZSBuZXh0LmFkZChjYXRlZ29yeUtleSlcbiAgICAgIHJldHVybiBuZXh0XG4gICAgfSlcbiAgfSwgW10pXG5cbiAgY29uc3QgaXNOb3Rpb25FbmFibGVkID0gc2VsZWN0ZWRDb25uZWN0b3JzU2V0LmhhcyhOT1RJT05fQ09OTkVDVE9SX1NMVUcpXG5cbiAgY29uc3Qgbm90aW9uQ29ubmVjdG9yU3RhdGUgPSB1c2VNZW1vKFxuICAgICgpID0+IHZhbHVlcy5hY3Rpb25zPy5jb25uZWN0b3JTdGF0ZXM/LmZpbmQocyA9PiBzLnNsdWcgPT09IE5PVElPTl9DT05ORUNUT1JfU0xVRyksXG4gICAgW3ZhbHVlcy5hY3Rpb25zPy5jb25uZWN0b3JTdGF0ZXNdXG4gIClcblxuICBjb25zdCBub3Rpb25Db25uZWN0b3JCYWRnZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghaXNOb3Rpb25FbmFibGVkKSB7XG4gICAgICByZXR1cm4geyB0b25lOiAnbmV1dHJhbCcgYXMgY29uc3QsIGxhYmVsOiB0KCdhY3Rpb25zU2VjdGlvbi52Mi5jb25uZWN0b3JTdGF0dXMuaW5hY3RpdmUnKSB9XG4gICAgfVxuICAgIGlmIChub3Rpb25Db25uZWN0b3JTdGF0ZSkge1xuICAgICAgaWYgKG5vdGlvbkNvbm5lY3RvclN0YXRlLmVuYWJsZWRfZm9yX2FnZW50KSB7XG4gICAgICAgIHJldHVybiB7IHRvbmU6ICdzdWNjZXNzJyBhcyBjb25zdCwgbGFiZWw6IHQoJ2FjdGlvbnNTZWN0aW9uLnYyLmNvbm5lY3RvclN0YXR1cy5lbmFibGVkJykgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHsgdG9uZTogJ3BlbmRpbmcnIGFzIGNvbnN0LCBsYWJlbDogdCgnYWN0aW9uc1NlY3Rpb24udjIuY29ubmVjdG9yU3RhdHVzLmVuYWJsZWRQZW5kaW5nQXV0aCcpIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgdG9uZTogJ3BlbmRpbmcnIGFzIGNvbnN0LCBsYWJlbDogdCgnYWN0aW9uc1NlY3Rpb24udjIuY29ubmVjdG9yU3RhdHVzLmVuYWJsZWRQZW5kaW5nQXV0aCcpIH1cbiAgfSwgW2lzTm90aW9uRW5hYmxlZCwgbm90aW9uQ29ubmVjdG9yU3RhdGUsIHRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc05vdGlvbkVuYWJsZWQpIHtcbiAgICAgIHNldEV4cGFuZGVkTm90aW9uQ2F0ZWdvcmllcyhuZXcgU2V0KCkpXG4gICAgfVxuICB9LCBbaXNOb3Rpb25FbmFibGVkXSlcblxuICBjb25zdCBjb3JBY3RpdmVUb29sc0NvdW50ID0gdXNlTWVtbyhcbiAgICAoKSA9PiBDT1JfVE9PTF9HUk9VUFMucmVkdWNlKChhY2MsIGcpID0+IGFjYyArIChzZWxlY3RlZFRvb2xHcm91cHNTZXQuaGFzKGcuc2x1ZykgPyBnLnRvb2xzLmxlbmd0aCA6IDApLCAwKSxcbiAgICBbc2VsZWN0ZWRUb29sR3JvdXBzU2V0XVxuICApXG5cbiAgY29uc3QgdHJ1bmNhdGlvbk1lYXN1cmVLZXkgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBgJHtjb3JCbG9ja0V4cGFuZGVkID8gJzEnIDogJzAnfSMke1suLi5leHBhbmRlZEFjdGlvbnNdLnNvcnQoKS5qb2luKCd8Jyl9IyR7Wy4uLmV4cGFuZGVkTm90aW9uQ2F0ZWdvcmllc10uc29ydCgpLmpvaW4oJ3wnKX1gLFxuICAgIFtjb3JCbG9ja0V4cGFuZGVkLCBleHBhbmRlZEFjdGlvbnMsIGV4cGFuZGVkTm90aW9uQ2F0ZWdvcmllc11cbiAgKVxuXG4gIGNvbnN0IHJlbmRlclRvb2xJdGVtID0gKHRvb2w6IFRvb2xEZXNjcmlwdG9yKSA9PiAoXG4gICAgPFNDVG9vbEl0ZW0ga2V5PXt0b29sLnNsdWd9PlxuICAgICAgPFNDVG9vbEtpbmRCYWRnZSBraW5kPXt0b29sLmFjY2Vzc0tpbmR9Pnt0KGBhY3Rpb25zU2VjdGlvbi52Mi5hY2Nlc3NLaW5kLiR7dG9vbC5hY2Nlc3NLaW5kfWApfTwvU0NUb29sS2luZEJhZGdlPlxuICAgICAgPFNDVG9vbFRleHQ+XG4gICAgICAgIDxTQ1Rvb2xOYW1lPnt0b29sLm5hbWV9PC9TQ1Rvb2xOYW1lPlxuICAgICAgICA8VHJ1bmNhdGlvblRvb2x0aXAgdGl0bGU9e3Rvb2wuZGVzY3JpcHRpb259IGxheW91dEtleT17dHJ1bmNhdGlvbk1lYXN1cmVLZXl9PlxuICAgICAgICAgIHt0ZXh0UmVmID0+IDxTQ1Rvb2xEZXNjcmlwdGlvbiByZWY9e3RleHRSZWZ9Pnt0b29sLmRlc2NyaXB0aW9ufTwvU0NUb29sRGVzY3JpcHRpb24+fVxuICAgICAgICA8L1RydW5jYXRpb25Ub29sdGlwPlxuICAgICAgPC9TQ1Rvb2xUZXh0PlxuICAgIDwvU0NUb29sSXRlbT5cbiAgKVxuXG4gIGNvbnN0IHJlbmRlckFjdGlvblJvdyA9IChlbnRpdHk6IEVudGl0eUtleSwgYWN0aW9uOiBFbnRpdHlBY3Rpb25LZXkpID0+IHtcbiAgICBjb25zdCBncm91cCA9IFRPT0xfR1JPVVBfTUFQW2VudGl0eV0/LlthY3Rpb25dXG4gICAgaWYgKCFncm91cCkgcmV0dXJuIG51bGxcbiAgICBjb25zdCBpc0F2YWlsYWJsZSA9IGdyb3VwLmF2YWlsYWJsZVxuICAgIGNvbnN0IGFjdGl2ZSA9IGlzQWN0aW9uQWN0aXZlKGVudGl0eSwgYWN0aW9uKVxuICAgIGNvbnN0IGV4cGFuZGVkID0gZXhwYW5kZWRBY3Rpb25zLmhhcyhncm91cC5zbHVnKVxuICAgIGNvbnN0IHRvb2xzQ291bnQgPSBncm91cC50b29scy5sZW5ndGhcbiAgICBjb25zdCBjYW5FeHBhbmQgPSBpc0F2YWlsYWJsZSAmJiB0b29sc0NvdW50ID4gMFxuICAgIGNvbnN0IGlzRGVsZXRlID0gYWN0aW9uID09PSAnZGVsZXRlJyAmJiBhY3RpdmVcblxuICAgIGNvbnN0IG9uSGVhZGVyQ2xpY2sgPSAoKSA9PiB7XG4gICAgICBpZiAoY2FuRXhwYW5kKSB0b2dnbGVBY3Rpb25FeHBhbmRlZChncm91cC5zbHVnKVxuICAgIH1cblxuICAgIGNvbnN0IG9uVG9nZ2xlQ2xpY2sgPSAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgaWYgKGlzQXZhaWxhYmxlKSB0b2dnbGVFbnRpdHlBY3Rpb24oZW50aXR5LCBhY3Rpb24pXG4gICAgfVxuXG4gICAgY29uc3QgaGVhZGVyQ29udGVudCA9IChcbiAgICAgIDxTQ0FjdGlvbkhlYWRlciBjbGlja2FibGU9e2NhbkV4cGFuZH0gb25DbGljaz17b25IZWFkZXJDbGlja30+XG4gICAgICAgIDxTQ0NoZXZyb25CdXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBvcGVuPXtleHBhbmRlZH1cbiAgICAgICAgICBkaXNhYmxlZD17IWNhbkV4cGFuZH1cbiAgICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgIGlmIChjYW5FeHBhbmQpIHRvZ2dsZUFjdGlvbkV4cGFuZGVkKGdyb3VwLnNsdWcpXG4gICAgICAgICAgfX1cbiAgICAgICAgICBhcmlhLWV4cGFuZGVkPXtleHBhbmRlZH1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtleHBhbmRlZCA/IHQoJ2FjdGlvbnNTZWN0aW9uLnYyLmhpZGVUb29scycpIDogdCgnYWN0aW9uc1NlY3Rpb24udjIudmlld1Rvb2xzJyl9XG4gICAgICAgID5cbiAgICAgICAgICA8Q2hldnJvbkRvd24gd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMTJweFwiIGNvbG9yPVwiY3VycmVudENvbG9yXCIgLz5cbiAgICAgICAgPC9TQ0NoZXZyb25CdXR0b24+XG5cbiAgICAgICAgPFNDQWN0aW9uTGFiZWxHcm91cD5cbiAgICAgICAgICA8U0NBY3Rpb25MYWJlbD57dChBQ1RJT05fTEFCRUxfS0VZU1thY3Rpb25dKX08L1NDQWN0aW9uTGFiZWw+XG4gICAgICAgICAgeyFpc0F2YWlsYWJsZSAmJiA8U0NDb21pbmdTb29uQmFkZ2U+e3QoJ2FjdGlvbnNTZWN0aW9uLnYyLmNvbWluZ1Nvb24nKX08L1NDQ29taW5nU29vbkJhZGdlPn1cbiAgICAgICAgICB7aXNBdmFpbGFibGUgJiYgKFxuICAgICAgICAgICAgPFNDQ291bnRlciBhY3RpdmU9e2FjdGl2ZX0+e3QoJ2FjdGlvbnNTZWN0aW9uLnYyLnRvb2xzQ291bnQnLCB7IGNvdW50OiB0b29sc0NvdW50IH0pfTwvU0NDb3VudGVyPlxuICAgICAgICAgICl9XG4gICAgICAgICAge2lzRGVsZXRlICYmIDxTQ0RlbGV0ZUJhZGdlPnt0KCdhY3Rpb25zU2VjdGlvbi52Mi5kZWxldGVXYXJuaW5nSW5saW5lJyl9PC9TQ0RlbGV0ZUJhZGdlPn1cbiAgICAgICAgPC9TQ0FjdGlvbkxhYmVsR3JvdXA+XG5cbiAgICAgICAgPFNDVG9nZ2xlXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgaXNBY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgICBkaXNhYmxlZD17IWlzQXZhaWxhYmxlfVxuICAgICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlQ2xpY2t9XG4gICAgICAgICAgYXJpYS1wcmVzc2VkPXthY3RpdmV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YCR7dChgYWN0aW9uc1NlY3Rpb24uZW50aXRpZXMuJHtlbnRpdHl9YCl9IMK3ICR7dChBQ1RJT05fTEFCRUxfS0VZU1thY3Rpb25dKX1gfVxuICAgICAgICA+XG4gICAgICAgICAgPFNDVG9nZ2xlVGh1bWIgLz5cbiAgICAgICAgPC9TQ1RvZ2dsZT5cbiAgICAgIDwvU0NBY3Rpb25IZWFkZXI+XG4gICAgKVxuXG4gICAgY29uc3Qgcm93ID0gKFxuICAgICAgPFNDQWN0aW9uUm93IGtleT17YCR7ZW50aXR5fS0ke2FjdGlvbn1gfSBkaXNhYmxlZD17IWlzQXZhaWxhYmxlfT5cbiAgICAgICAge2hlYWRlckNvbnRlbnR9XG4gICAgICAgIHtleHBhbmRlZCAmJiBjYW5FeHBhbmQgJiYgPFNDVG9vbHNMaXN0Pntncm91cC50b29scy5tYXAodG9vbCA9PiByZW5kZXJUb29sSXRlbSh0b29sKSl9PC9TQ1Rvb2xzTGlzdD59XG4gICAgICA8L1NDQWN0aW9uUm93PlxuICAgIClcblxuICAgIGlmICghaXNBdmFpbGFibGUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUb29sdGlwIGtleT17YCR7ZW50aXR5fS0ke2FjdGlvbn1gfSB0aXRsZT17dCgnYWN0aW9uc1NlY3Rpb24udjIuY29taW5nU29vbkhpbnQnKX0+XG4gICAgICAgICAgPGRpdj57cm93fTwvZGl2PlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIHJvd1xuICB9XG5cbiAgY29uc3QgcmVuZGVyRW50aXR5Q2FyZCA9IChlbnRpdHk6IEVudGl0eUtleSkgPT4ge1xuICAgIGNvbnN0IGdyb3Vwc0ZvckVudGl0eSA9IEVOVElUWV9BQ1RJT05fT1JERVIubWFwKGFjdGlvbiA9PiBUT09MX0dST1VQX01BUFtlbnRpdHldPy5bYWN0aW9uXSkuZmlsdGVyKFxuICAgICAgKGdyb3VwKTogZ3JvdXAgaXMgRW50aXR5VG9vbEdyb3VwID0+IEJvb2xlYW4oZ3JvdXApXG4gICAgKVxuICAgIGNvbnN0IGVuYWJsZWRUb29scyA9IGdyb3Vwc0ZvckVudGl0eS5yZWR1Y2UoXG4gICAgICAoYWNjLCBncm91cCkgPT4gYWNjICsgKHNlbGVjdGVkVG9vbEdyb3Vwc1NldC5oYXMoZ3JvdXAuc2x1ZykgPyBncm91cC50b29scy5sZW5ndGggOiAwKSxcbiAgICAgIDBcbiAgICApXG4gICAgY29uc3QgY291bnRlckFjdGl2ZSA9IGVuYWJsZWRUb29scyA+IDBcblxuICAgIHJldHVybiAoXG4gICAgICA8U0NFbnRpdHlDYXJkIGtleT17ZW50aXR5fT5cbiAgICAgICAgPFNDRW50aXR5SGVhZGVyPlxuICAgICAgICAgIDxTQ0VudGl0eVRpdGxlPnt0KGBhY3Rpb25zU2VjdGlvbi5lbnRpdGllcy4ke2VudGl0eX1gKX08L1NDRW50aXR5VGl0bGU+XG4gICAgICAgICAgPFNDQ291bnRlciBhY3RpdmU9e2NvdW50ZXJBY3RpdmV9Pnt0KCdhY3Rpb25zU2VjdGlvbi52Mi50b29sc0NvdW50JywgeyBjb3VudDogZW5hYmxlZFRvb2xzIH0pfTwvU0NDb3VudGVyPlxuICAgICAgICA8L1NDRW50aXR5SGVhZGVyPlxuICAgICAgICB7RU5USVRZX0FDVElPTl9PUkRFUi5tYXAoYWN0aW9uID0+IHJlbmRlckFjdGlvblJvdyhlbnRpdHksIGFjdGlvbikpfVxuICAgICAgPC9TQ0VudGl0eUNhcmQ+XG4gICAgKVxuICB9XG5cbiAgY29uc3QgcmVuZGVyTm90aW9uQ2F0ZWdvcnkgPSAoY2F0ZWdvcnk6IENvbm5lY3RvclRvb2xDYXRlZ29yeSkgPT4ge1xuICAgIGNvbnN0IGlzT3BlbiA9IGV4cGFuZGVkTm90aW9uQ2F0ZWdvcmllcy5oYXMoY2F0ZWdvcnkua2V5KVxuICAgIGNvbnN0IHRvb2xzQ291bnQgPSBjYXRlZ29yeS50b29scy5sZW5ndGhcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ2F0ZWdvcnlBY2NvcmRpb24ga2V5PXtjYXRlZ29yeS5rZXl9PlxuICAgICAgICA8U0NDYXRlZ29yeUhlYWRlciB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gdG9nZ2xlTm90aW9uQ2F0ZWdvcnkoY2F0ZWdvcnkua2V5KX0gYXJpYS1leHBhbmRlZD17aXNPcGVufT5cbiAgICAgICAgICA8U0NDaGV2cm9uQnV0dG9uIGFzPVwic3BhblwiIG9wZW49e2lzT3Blbn0+XG4gICAgICAgICAgICA8Q2hldnJvbkRvd24gd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMTJweFwiIGNvbG9yPVwiY3VycmVudENvbG9yXCIgLz5cbiAgICAgICAgICA8L1NDQ2hldnJvbkJ1dHRvbj5cbiAgICAgICAgICA8U0NDYXRlZ29yeVRleHRHcm91cD5cbiAgICAgICAgICAgIDxTQ0NhdGVnb3J5VGl0bGU+e2NhdGVnb3J5LmxhYmVsfTwvU0NDYXRlZ29yeVRpdGxlPlxuICAgICAgICAgICAgPFRydW5jYXRpb25Ub29sdGlwIHRpdGxlPXtjYXRlZ29yeS5kZXNjcmlwdGlvbn0gbGF5b3V0S2V5PXt0cnVuY2F0aW9uTWVhc3VyZUtleX0+XG4gICAgICAgICAgICAgIHt0ZXh0UmVmID0+IDxTQ0NhdGVnb3J5RGVzY3JpcHRpb24gcmVmPXt0ZXh0UmVmfT57Y2F0ZWdvcnkuZGVzY3JpcHRpb259PC9TQ0NhdGVnb3J5RGVzY3JpcHRpb24+fVxuICAgICAgICAgICAgPC9UcnVuY2F0aW9uVG9vbHRpcD5cbiAgICAgICAgICA8L1NDQ2F0ZWdvcnlUZXh0R3JvdXA+XG4gICAgICAgICAgPFNDQ291bnRlciBhY3RpdmU9e2ZhbHNlfT5cbiAgICAgICAgICAgIHt0KCdhY3Rpb25zU2VjdGlvbi52Mi5ub3Rpb24uY2F0ZWdvcnlUb29sc0NvdW50JywgeyBjb3VudDogdG9vbHNDb3VudCB9KX1cbiAgICAgICAgICA8L1NDQ291bnRlcj5cbiAgICAgICAgPC9TQ0NhdGVnb3J5SGVhZGVyPlxuICAgICAgICB7aXNPcGVuICYmXG4gICAgICAgICAgKHRvb2xzQ291bnQgPiAwID8gKFxuICAgICAgICAgICAgPFNDVG9vbHNMaXN0PntjYXRlZ29yeS50b29scy5tYXAodG9vbCA9PiByZW5kZXJUb29sSXRlbSh0b29sKSl9PC9TQ1Rvb2xzTGlzdD5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFNDRW1wdHlUb29scz57dCgnYWN0aW9uc1NlY3Rpb24udjIuZW1wdHlUb29scycpfTwvU0NFbXB0eVRvb2xzPlxuICAgICAgICAgICkpfVxuICAgICAgPC9TQ0NhdGVnb3J5QWNjb3JkaW9uPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDUm9vdD5cbiAgICAgIDxTQ0hlYWRlcj5cbiAgICAgICAgPFNDVGl0bGU+e3QoJ2FjdGlvbnNTZWN0aW9uLnYyLnNlY3Rpb25UaXRsZScpfTwvU0NUaXRsZT5cbiAgICAgICAgPFNDU3VidGl0bGU+e3QoJ2FjdGlvbnNTZWN0aW9uLnYyLnNlY3Rpb25TdWJ0aXRsZScpfTwvU0NTdWJ0aXRsZT5cbiAgICAgIDwvU0NIZWFkZXI+XG5cbiAgICAgIDxTQ1NlY3Rpb25MYWJlbD57dCgnYWN0aW9uc1NlY3Rpb24udjIuaW50ZXJuYWxCbG9ja1RpdGxlJyl9PC9TQ1NlY3Rpb25MYWJlbD5cblxuICAgICAgPFNDQ29ubmVjdG9yQ2FyZD5cbiAgICAgICAgPFNDQ29ubmVjdG9ySGVhZGVyPlxuICAgICAgICAgIDxTQ0Nvbm5lY3RvcklkZW50aXR5PlxuICAgICAgICAgICAgPFNDQ29ubmVjdG9ySWNvbiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgPENhdGVnb3J5IHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgICAgICAgIDwvU0NDb25uZWN0b3JJY29uPlxuICAgICAgICAgICAgPFNDQ29ubmVjdG9yVGV4dEdyb3VwPlxuICAgICAgICAgICAgICA8VHJ1bmNhdGlvblRvb2x0aXAgdGl0bGU9e3QoJ2FjdGlvbnNTZWN0aW9uLnYyLmludGVybmFsQmxvY2tUaXRsZScpfSBsYXlvdXRLZXk9e3RydW5jYXRpb25NZWFzdXJlS2V5fT5cbiAgICAgICAgICAgICAgICB7dGV4dFJlZiA9PiAoXG4gICAgICAgICAgICAgICAgICA8U0NDb25uZWN0b3JUaXRsZSByZWY9e3RleHRSZWZ9Pnt0KCdhY3Rpb25zU2VjdGlvbi52Mi5pbnRlcm5hbEJsb2NrVGl0bGUnKX08L1NDQ29ubmVjdG9yVGl0bGU+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9UcnVuY2F0aW9uVG9vbHRpcD5cbiAgICAgICAgICAgICAgPFRydW5jYXRpb25Ub29sdGlwIHRpdGxlPXt0KCdhY3Rpb25zU2VjdGlvbi52Mi5pbnRlcm5hbEJsb2NrU3VidGl0bGUnKX0gbGF5b3V0S2V5PXt0cnVuY2F0aW9uTWVhc3VyZUtleX0+XG4gICAgICAgICAgICAgICAge3RleHRSZWYgPT4gKFxuICAgICAgICAgICAgICAgICAgPFNDQ29ubmVjdG9yVGFnbGluZSByZWY9e3RleHRSZWZ9Pnt0KCdhY3Rpb25zU2VjdGlvbi52Mi5pbnRlcm5hbEJsb2NrU3VidGl0bGUnKX08L1NDQ29ubmVjdG9yVGFnbGluZT5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1RydW5jYXRpb25Ub29sdGlwPlxuICAgICAgICAgICAgPC9TQ0Nvbm5lY3RvclRleHRHcm91cD5cbiAgICAgICAgICA8L1NDQ29ubmVjdG9ySWRlbnRpdHk+XG4gICAgICAgICAgPFNDQ29ubmVjdG9yUmlnaHRHcm91cD5cbiAgICAgICAgICAgIDxTQ0NvdW50ZXIgYWN0aXZlPXtjb3JBY3RpdmVUb29sc0NvdW50ID4gMH0+XG4gICAgICAgICAgICAgIHt0KCdhY3Rpb25zU2VjdGlvbi52Mi50b29sc0NvdW50JywgeyBjb3VudDogY29yQWN0aXZlVG9vbHNDb3VudCB9KX1cbiAgICAgICAgICAgIDwvU0NDb3VudGVyPlxuICAgICAgICAgICAgPFNDVG9nZ2xlXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBpc0FjdGl2ZT17Y29yQmxvY2tFeHBhbmRlZH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0Q29yQmxvY2tFeHBhbmRlZCh2ID0+ICF2KX1cbiAgICAgICAgICAgICAgYXJpYS1wcmVzc2VkPXtjb3JCbG9ja0V4cGFuZGVkfVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtcbiAgICAgICAgICAgICAgICBjb3JCbG9ja0V4cGFuZGVkXG4gICAgICAgICAgICAgICAgICA/IHQoJ2FjdGlvbnNTZWN0aW9uLnYyLmV4cGFuZENvckRldGFpbHNBcmlhT2ZmJylcbiAgICAgICAgICAgICAgICAgIDogdCgnYWN0aW9uc1NlY3Rpb24udjIuZXhwYW5kQ29yRGV0YWlsc0FyaWFPbicpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNDVG9nZ2xlVGh1bWIgLz5cbiAgICAgICAgICAgIDwvU0NUb2dnbGU+XG4gICAgICAgICAgPC9TQ0Nvbm5lY3RvclJpZ2h0R3JvdXA+XG4gICAgICAgIDwvU0NDb25uZWN0b3JIZWFkZXI+XG4gICAgICAgIHshY29yQmxvY2tFeHBhbmRlZCAmJiA8U0NDb25uZWN0b3JIaW50Pnt0KCdhY3Rpb25zU2VjdGlvbi52Mi5jb3JDb2xsYXBzZWRIaW50Jyl9PC9TQ0Nvbm5lY3RvckhpbnQ+fVxuICAgICAgICB7Y29yQmxvY2tFeHBhbmRlZCAmJiAoXG4gICAgICAgICAgPFNDRXhwYW5kYWJsZUJsb2NrQm9keT5cbiAgICAgICAgICAgIDxTQ0VudGl0eUxpc3Q+e0VOVElUWV9PUkRFUi5tYXAoZW50aXR5ID0+IHJlbmRlckVudGl0eUNhcmQoZW50aXR5KSl9PC9TQ0VudGl0eUxpc3Q+XG4gICAgICAgICAgPC9TQ0V4cGFuZGFibGVCbG9ja0JvZHk+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ29ubmVjdG9yQ2FyZD5cblxuICAgICAgPFNDU2VjdGlvbkxhYmVsPnt0KCdhY3Rpb25zU2VjdGlvbi52Mi5leHRlcm5hbEJsb2NrVGl0bGUnKX08L1NDU2VjdGlvbkxhYmVsPlxuXG4gICAgICA8U0NDb25uZWN0b3JDYXJkPlxuICAgICAgICA8U0NDb25uZWN0b3JIZWFkZXI+XG4gICAgICAgICAgPFNDQ29ubmVjdG9ySWRlbnRpdHk+XG4gICAgICAgICAgICA8U0NDb25uZWN0b3JJY29uIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICA8Tm90aW9uSWNvbiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICA8L1NDQ29ubmVjdG9ySWNvbj5cbiAgICAgICAgICAgIDxTQ0Nvbm5lY3RvclRleHRHcm91cD5cbiAgICAgICAgICAgICAgPFRydW5jYXRpb25Ub29sdGlwIHRpdGxlPXtOT1RJT05fQ09OTkVDVE9SX0NBVEFMT0cubmFtZX0gbGF5b3V0S2V5PXt0cnVuY2F0aW9uTWVhc3VyZUtleX0+XG4gICAgICAgICAgICAgICAge3RleHRSZWYgPT4gPFNDQ29ubmVjdG9yVGl0bGUgcmVmPXt0ZXh0UmVmfT57Tk9USU9OX0NPTk5FQ1RPUl9DQVRBTE9HLm5hbWV9PC9TQ0Nvbm5lY3RvclRpdGxlPn1cbiAgICAgICAgICAgICAgPC9UcnVuY2F0aW9uVG9vbHRpcD5cbiAgICAgICAgICAgICAgPFRydW5jYXRpb25Ub29sdGlwIHRpdGxlPXt0KCdhY3Rpb25zU2VjdGlvbi52Mi5ub3Rpb24udGFnbGluZScpfSBsYXlvdXRLZXk9e3RydW5jYXRpb25NZWFzdXJlS2V5fT5cbiAgICAgICAgICAgICAgICB7dGV4dFJlZiA9PiAoXG4gICAgICAgICAgICAgICAgICA8U0NDb25uZWN0b3JUYWdsaW5lIHJlZj17dGV4dFJlZn0+e3QoJ2FjdGlvbnNTZWN0aW9uLnYyLm5vdGlvbi50YWdsaW5lJyl9PC9TQ0Nvbm5lY3RvclRhZ2xpbmU+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9UcnVuY2F0aW9uVG9vbHRpcD5cbiAgICAgICAgICAgIDwvU0NDb25uZWN0b3JUZXh0R3JvdXA+XG4gICAgICAgICAgPC9TQ0Nvbm5lY3RvcklkZW50aXR5PlxuICAgICAgICAgIDxTQ0Nvbm5lY3RvclJpZ2h0R3JvdXA+XG4gICAgICAgICAgICA8U0NTdGF0dXNQaWxsIHRvbmU9e25vdGlvbkNvbm5lY3RvckJhZGdlLnRvbmV9Pntub3Rpb25Db25uZWN0b3JCYWRnZS5sYWJlbH08L1NDU3RhdHVzUGlsbD5cbiAgICAgICAgICAgIDxTQ1RvZ2dsZVxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgaXNBY3RpdmU9e2lzTm90aW9uRW5hYmxlZH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdG9nZ2xlQ29ubmVjdG9yKE5PVElPTl9DT05ORUNUT1JfU0xVRyl9XG4gICAgICAgICAgICAgIGFyaWEtcHJlc3NlZD17aXNOb3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtOT1RJT05fQ09OTkVDVE9SX0NBVEFMT0cubmFtZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNDVG9nZ2xlVGh1bWIgLz5cbiAgICAgICAgICAgIDwvU0NUb2dnbGU+XG4gICAgICAgICAgPC9TQ0Nvbm5lY3RvclJpZ2h0R3JvdXA+XG4gICAgICAgIDwvU0NDb25uZWN0b3JIZWFkZXI+XG5cbiAgICAgICAgeyFpc05vdGlvbkVuYWJsZWQgJiYgPFNDQ29ubmVjdG9ySGludD57dCgnYWN0aW9uc1NlY3Rpb24udjIubm90aW9uLmRpc2FibGVkSGludCcpfTwvU0NDb25uZWN0b3JIaW50Pn1cblxuICAgICAgICB7aXNOb3Rpb25FbmFibGVkICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPFNDQ29ubmVjdG9ySGludD57dCgnYWN0aW9uc1NlY3Rpb24udjIubm90aW9uLmVuYWJsZWRIaW50Jyl9PC9TQ0Nvbm5lY3RvckhpbnQ+XG4gICAgICAgICAgICB7Tk9USU9OX0NPTk5FQ1RPUl9DQVRBTE9HLmNhdGVnb3JpZXMubWFwKGNhdGVnb3J5ID0+IHJlbmRlck5vdGlvbkNhdGVnb3J5KGNhdGVnb3J5KSl9XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ29ubmVjdG9yQ2FyZD5cbiAgICA8L1NDUm9vdD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU9BLEtBQUssSUFDVkMsV0FBVyxFQUNYQyxTQUFTLEVBQ1RDLE9BQU8sRUFDUEMsTUFBTSxFQUNOQyxRQUFRLFFBSUgsT0FBTztBQUNkLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FB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
|
|
522
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsInVzZVN0YXRlIiwidXNlVHJhbnNsYXRpb24iLCJDYXRlZ29yeSIsIkNoZXZyb25Eb3duIiwiVG9vbHRpcCIsIk5vdGlvbkljb24iLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkFDVElPTl9MQUJFTF9LRVlTIiwiQ09SX1RPT0xfR1JPVVBTIiwiRU5USVRZX0FDVElPTl9PUkRFUiIsIkVOVElUWV9PUkRFUiIsIk5PVElPTl9DT05ORUNUT1JfQ0FUQUxPRyIsIk5PVElPTl9DT05ORUNUT1JfU0xVRyIsIlNDQWN0aW9uSGVhZGVyIiwiU0NBY3Rpb25MYWJlbCIsIlNDQWN0aW9uTGFiZWxHcm91cCIsIlNDQWN0aW9uUm93IiwiU0NDYXRlZ29yeUFjY29yZGlvbiIsIlNDQ2F0ZWdvcnlEZXNjcmlwdGlvbiIsIlNDQ2F0ZWdvcnlIZWFkZXIiLCJTQ0NhdGVnb3J5VGV4dEdyb3VwIiwiU0NDYXRlZ29yeVRpdGxlIiwiU0NDaGV2cm9uQnV0dG9uIiwiU0NDb21pbmdTb29uQmFkZ2UiLCJTQ0Nvbm5lY3RvckNhcmQiLCJTQ0Nvbm5lY3RvckhlYWRlciIsIlNDQ29ubmVjdG9ySGludCIsIlNDQ29ubmVjdG9ySWNvbiIsIlNDQ29ubmVjdG9ySWRlbnRpdHkiLCJTQ0Nvbm5lY3RvclJpZ2h0R3JvdXAiLCJTQ0Nvbm5lY3RvclRhZ2xpbmUiLCJTQ0Nvbm5lY3RvclRleHRHcm91cCIsIlNDQ29ubmVjdG9yVGl0bGUiLCJTQ0NvdW50ZXIiLCJTQ0RlbGV0ZUJhZGdlIiwiU0NFeHBhbmRhYmxlQmxvY2tCb2R5IiwiU0NFbXB0eVRvb2xzIiwiU0NFbnRpdHlDYXJkIiwiU0NFbnRpdHlIZWFkZXIiLCJTQ0VudGl0eUxpc3QiLCJTQ0VudGl0eVRpdGxlIiwiU0NIZWFkZXIiLCJTQ1Jvb3QiLCJTQ1NlY3Rpb25MYWJlbCIsIlNDU3RhdHVzUGlsbCIsIlNDU3VidGl0bGUiLCJTQ1RpdGxlIiwiU0NUb2dnbGUiLCJTQ1RvZ2dsZVRodW1iIiwiU0NUb29sRGVzY3JpcHRpb24iLCJTQ1Rvb2xJdGVtIiwiU0NUb29sS2luZEJhZGdlIiwiU0NUb29sTmFtZSIsIlNDVG9vbFRleHQiLCJTQ1Rvb2xzTGlzdCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkhJRVJBUkNISUNBTF9BQ1RJT05TIiwiYnVpbGRUb29sR3JvdXBNYXAiLCJncm91cHMiLCJtYXAiLCJmb3JFYWNoIiwiZW50aXR5IiwiZ3JvdXAiLCJhY3Rpb24iLCJUT09MX0dST1VQX01BUCIsIlRydW5jYXRpb25Ub29sdGlwIiwiX3JlZiIsInRpdGxlIiwiX3JlZiRsYXlvdXRLZXkiLCJsYXlvdXRLZXkiLCJjaGlsZHJlbiIsInRleHRSZWYiLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJzaG93VG9vbHRpcCIsIkFibUFjdGlvbnNTZWN0aW9uVjIiLCJfcmVmMiIsIl92YWx1ZXMkYWN0aW9ucyIsIl92YWx1ZXMkYWN0aW9uczIiLCJfdmFsdWVzJGFjdGlvbnM0IiwidmFsdWVzIiwiaGFuZGxlU2V0QWdlbnRWYWx1ZXMiLCJfdXNlVHJhbnNsYXRpb24iLCJ0Iiwic2VsZWN0ZWRUb29sR3JvdXBzIiwiYWN0aW9ucyIsInNlbGVjdGVkQ29ubmVjdG9ycyIsInNlbGVjdGVkVG9vbEdyb3Vwc1NldCIsIlNldCIsInNlbGVjdGVkQ29ubmVjdG9yc1NldCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImNvckJsb2NrRXhwYW5kZWQiLCJzZXRDb3JCbG9ja0V4cGFuZGVkIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJleHBhbmRlZEFjdGlvbnMiLCJzZXRFeHBhbmRlZEFjdGlvbnMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImV4cGFuZGVkTm90aW9uQ2F0ZWdvcmllcyIsInNldEV4cGFuZGVkTm90aW9uQ2F0ZWdvcmllcyIsInByZXZDb3JUb29sR3JvdXBDb3VudFJlZiIsInByZXZDb3JCbG9ja0V4cGFuZGVkUmVmIiwibiIsImxlbmd0aCIsInByZXYiLCJjdXJyZW50Iiwid2FzRXhwYW5kZWQiLCJrZXkiLCJ2YWx1ZSIsIl9vYmplY3RTcHJlYWQiLCJpc0FjdGlvbkFjdGl2ZSIsIl9UT09MX0dST1VQX01BUCRlbnRpdCIsImhhcyIsInNsdWciLCJ0b2dnbGVFbnRpdHlBY3Rpb24iLCJfVE9PTF9HUk9VUF9NQVAkZW50aXQyIiwidGFyZ2V0R3JvdXAiLCJhdmFpbGFibGUiLCJuZXh0IiwiZW50aXR5SW5kZXgiLCJpbmRleE9mIiwicHJldmlvdXNFbnRpdGllcyIsInNsaWNlIiwibmV4dEVudGl0aWVzIiwiYWN0aW9uSW5kZXgiLCJpc0N1cnJlbnRseUFjdGl2ZSIsImN1cnJlbnRFbnRpdHkiLCJjdXJyZW50QWN0aW9uIiwiX1RPT0xfR1JPVVBfTUFQJGN1cnJlIiwiX1RPT0xfR1JPVVBfTUFQJGN1cnJlMiIsImFkZCIsIkFycmF5IiwiZnJvbSIsInRvZ2dsZUNvbm5lY3RvciIsImNvbm5lY3RvclNsdWciLCJ0b2dnbGVBY3Rpb25FeHBhbmRlZCIsInRvZ2dsZU5vdGlvbkNhdGVnb3J5IiwiY2F0ZWdvcnlLZXkiLCJpc05vdGlvbkVuYWJsZWQiLCJub3Rpb25Db25uZWN0b3JTdGF0ZSIsIl92YWx1ZXMkYWN0aW9uczMiLCJjb25uZWN0b3JTdGF0ZXMiLCJmaW5kIiwicyIsIm5vdGlvbkNvbm5lY3RvckJhZGdlIiwidG9uZSIsImxhYmVsIiwiZW5hYmxlZF9mb3JfYWdlbnQiLCJjb3JBY3RpdmVUb29sc0NvdW50IiwicmVkdWNlIiwiYWNjIiwiZyIsInRvb2xzIiwidHJ1bmNhdGlvbk1lYXN1cmVLZXkiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0Iiwiam9pbiIsInJlbmRlclRvb2xJdGVtIiwidG9vbCIsIm5hbWUiLCJkZWZhdWx0VmFsdWUiLCJkZXNjcmlwdGlvbiIsImtpbmQiLCJhY2Nlc3NLaW5kIiwicmVmIiwicmVuZGVyQWN0aW9uUm93IiwiX1RPT0xfR1JPVVBfTUFQJGVudGl0MyIsImlzQXZhaWxhYmxlIiwiYWN0aXZlIiwiZXhwYW5kZWQiLCJ0b29sc0NvdW50IiwiY2FuRXhwYW5kIiwiaXNEZWxldGUiLCJvbkhlYWRlckNsaWNrIiwib25Ub2dnbGVDbGljayIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJoZWFkZXJDb250ZW50IiwiY2xpY2thYmxlIiwib25DbGljayIsInR5cGUiLCJvcGVuIiwiZGlzYWJsZWQiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiY291bnQiLCJpc0FjdGl2ZSIsInJvdyIsInJlbmRlckVudGl0eUNhcmQiLCJncm91cHNGb3JFbnRpdHkiLCJfVE9PTF9HUk9VUF9NQVAkZW50aXQ0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImVuYWJsZWRUb29scyIsImNvdW50ZXJBY3RpdmUiLCJyZW5kZXJOb3Rpb25DYXRlZ29yeSIsImNhdGVnb3J5IiwiaXNPcGVuIiwiYXMiLCJ2IiwiY2F0ZWdvcmllcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9BYm1TZWN0aW9uL0FibUFjdGlvbnNTZWN0aW9uVjIvQWJtQWN0aW9uc1NlY3Rpb25WMi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG4gIE1vdXNlRXZlbnQsXG4gIHR5cGUgUmVhY3ROb2RlLFxuICB0eXBlIFJlZk9iamVjdCxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5cbmltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2F0ZWdvcnknXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuXG5pbXBvcnQgeyBOb3Rpb25JY29uIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvaWNvbnMvTm90aW9uSWNvbidcblxuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyBNb2RhbFZhbHVlcyB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50TW9kYWwnXG5pbXBvcnQge1xuICBBQ1RJT05fTEFCRUxfS0VZUyxcbiAgQ29ubmVjdG9yVG9vbENhdGVnb3J5LFxuICBDT1JfVE9PTF9HUk9VUFMsXG4gIEVOVElUWV9BQ1RJT05fT1JERVIsXG4gIEVOVElUWV9PUkRFUixcbiAgRW50aXR5QWN0aW9uS2V5LFxuICBFbnRpdHlLZXksXG4gIEVudGl0eVRvb2xHcm91cCxcbiAgTk9USU9OX0NPTk5FQ1RPUl9DQVRBTE9HLFxuICBOT1RJT05fQ09OTkVDVE9SX1NMVUcsXG4gIFRvb2xEZXNjcmlwdG9yLFxufSBmcm9tICcuL2NhdGFsb2cnXG5pbXBvcnQge1xuICBTQ0FjdGlvbkhlYWRlcixcbiAgU0NBY3Rpb25MYWJlbCxcbiAgU0NBY3Rpb25MYWJlbEdyb3VwLFxuICBTQ0FjdGlvblJvdyxcbiAgU0NDYXRlZ29yeUFjY29yZGlvbixcbiAgU0NDYXRlZ29yeURlc2NyaXB0aW9uLFxuICBTQ0NhdGVnb3J5SGVhZGVyLFxuICBTQ0NhdGVnb3J5VGV4dEdyb3VwLFxuICBTQ0NhdGVnb3J5VGl0bGUsXG4gIFNDQ2hldnJvbkJ1dHRvbixcbiAgU0NDb21pbmdTb29uQmFkZ2UsXG4gIFNDQ29ubmVjdG9yQ2FyZCxcbiAgU0NDb25uZWN0b3JIZWFkZXIsXG4gIFNDQ29ubmVjdG9ySGludCxcbiAgU0NDb25uZWN0b3JJY29uLFxuICBTQ0Nvbm5lY3RvcklkZW50aXR5LFxuICBTQ0Nvbm5lY3RvclJpZ2h0R3JvdXAsXG4gIFNDQ29ubmVjdG9yVGFnbGluZSxcbiAgU0NDb25uZWN0b3JUZXh0R3JvdXAsXG4gIFNDQ29ubmVjdG9yVGl0bGUsXG4gIFNDQ291bnRlcixcbiAgU0NEZWxldGVCYWRnZSxcbiAgU0NFeHBhbmRhYmxlQmxvY2tCb2R5LFxuICBTQ0VtcHR5VG9vbHMsXG4gIFNDRW50aXR5Q2FyZCxcbiAgU0NFbnRpdHlIZWFkZXIsXG4gIFNDRW50aXR5TGlzdCxcbiAgU0NFbnRpdHlUaXRsZSxcbiAgU0NIZWFkZXIsXG4gIFNDUm9vdCxcbiAgU0NTZWN0aW9uTGFiZWwsXG4gIFNDU3RhdHVzUGlsbCxcbiAgU0NTdWJ0aXRsZSxcbiAgU0NUaXRsZSxcbiAgU0NUb2dnbGUsXG4gIFNDVG9nZ2xlVGh1bWIsXG4gIFNDVG9vbERlc2NyaXB0aW9uLFxuICBTQ1Rvb2xJdGVtLFxuICBTQ1Rvb2xLaW5kQmFkZ2UsXG4gIFNDVG9vbE5hbWUsXG4gIFNDVG9vbFRleHQsXG4gIFNDVG9vbHNMaXN0LFxufSBmcm9tICcuL0FibUFjdGlvbnNTZWN0aW9uVjIuc3R5bGVzJ1xuXG50eXBlIEFibUFjdGlvbnNTZWN0aW9uVjJQcm9wcyA9IHtcbiAgdmFsdWVzOiBNb2RhbFZhbHVlc1xuICBoYW5kbGVTZXRBZ2VudFZhbHVlczogKHsga2V5LCB2YWx1ZSB9OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogdW5rbm93biB9KSA9PiB2b2lkXG59XG5cbmNvbnN0IEhJRVJBUkNISUNBTF9BQ1RJT05TOiBFbnRpdHlBY3Rpb25LZXlbXSA9IFsncmVhZCcsICdlZGl0JywgJ2RlbGV0ZSddXG5cbmNvbnN0IGJ1aWxkVG9vbEdyb3VwTWFwID0gKGdyb3VwczogRW50aXR5VG9vbEdyb3VwW10pOiBSZWNvcmQ8RW50aXR5S2V5LCBSZWNvcmQ8RW50aXR5QWN0aW9uS2V5LCBFbnRpdHlUb29sR3JvdXA+PiA9PiB7XG4gIGNvbnN0IG1hcCA9IHt9IGFzIFJlY29yZDxFbnRpdHlLZXksIFJlY29yZDxFbnRpdHlBY3Rpb25LZXksIEVudGl0eVRvb2xHcm91cD4+XG4gIEVOVElUWV9PUkRFUi5mb3JFYWNoKGVudGl0eSA9PiB7XG4gICAgbWFwW2VudGl0eV0gPSB7fSBhcyBSZWNvcmQ8RW50aXR5QWN0aW9uS2V5LCBFbnRpdHlUb29sR3JvdXA+XG4gIH0pXG4gIGdyb3Vwcy5mb3JFYWNoKGdyb3VwID0+IHtcbiAgICBtYXBbZ3JvdXAuZW50aXR5XVtncm91cC5hY3Rpb25dID0gZ3JvdXBcbiAgfSlcbiAgcmV0dXJuIG1hcFxufVxuXG5jb25zdCBUT09MX0dST1VQX01BUCA9IGJ1aWxkVG9vbEdyb3VwTWFwKENPUl9UT09MX0dST1VQUylcblxudHlwZSBUcnVuY2F0aW9uVG9vbHRpcFByb3BzID0ge1xuICB0aXRsZTogc3RyaW5nXG4gIC8qKiBSZWNhbGN1bGEgb3ZlcmZsb3cgYWwgY2FtYmlhciBsYXlvdXQgKHAuIGVqLiBleHBhbmQvY29sbGFwc2UgZGUgZmlsYXMpLiAqL1xuICBsYXlvdXRLZXk/OiBzdHJpbmdcbiAgY2hpbGRyZW46ICh0ZXh0UmVmOiBSZWZPYmplY3Q8SFRNTFNwYW5FbGVtZW50PikgPT4gUmVhY3ROb2RlXG59XG5cbmNvbnN0IFRydW5jYXRpb25Ub29sdGlwID0gKHsgdGl0bGUsIGxheW91dEtleSA9ICcnLCBjaGlsZHJlbiB9OiBUcnVuY2F0aW9uVG9vbHRpcFByb3BzKSA9PiB7XG4gIGNvbnN0IHRleHRSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50PihudWxsKVxuICBjb25zdCB7IHNob3dUb29sdGlwIH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0ZXh0UmVmLCBbdGl0bGUsIGxheW91dEtleV0pXG4gIHJldHVybiA8VG9vbHRpcCB0aXRsZT17c2hvd1Rvb2x0aXAgPyB0aXRsZSA6ICcnfT57Y2hpbGRyZW4odGV4dFJlZil9PC9Ub29sdGlwPlxufVxuXG5leHBvcnQgY29uc3QgQWJtQWN0aW9uc1NlY3Rpb25WMiA9ICh7IHZhbHVlcywgaGFuZGxlU2V0QWdlbnRWYWx1ZXMgfTogQWJtQWN0aW9uc1NlY3Rpb25WMlByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2FibV9hZ2VudF9zZWN0aW9uJylcblxuICBjb25zdCBzZWxlY3RlZFRvb2xHcm91cHMgPSB2YWx1ZXMuYWN0aW9ucz8uc2VsZWN0ZWRUb29sR3JvdXBzIHx8IFtdXG4gIGNvbnN0IHNlbGVjdGVkQ29ubmVjdG9ycyA9IHZhbHVlcy5hY3Rpb25zPy5zZWxlY3RlZENvbm5lY3RvcnMgfHwgW11cblxuICBjb25zdCBzZWxlY3RlZFRvb2xHcm91cHNTZXQgPSB1c2VNZW1vKCgpID0+IG5ldyBTZXQoc2VsZWN0ZWRUb29sR3JvdXBzKSwgW3NlbGVjdGVkVG9vbEdyb3Vwc10pXG4gIGNvbnN0IHNlbGVjdGVkQ29ubmVjdG9yc1NldCA9IHVzZU1lbW8oKCkgPT4gbmV3IFNldChzZWxlY3RlZENvbm5lY3RvcnMpLCBbc2VsZWN0ZWRDb25uZWN0b3JzXSlcblxuICBjb25zdCBbY29yQmxvY2tFeHBhbmRlZCwgc2V0Q29yQmxvY2tFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2V4cGFuZGVkQWN0aW9ucywgc2V0RXhwYW5kZWRBY3Rpb25zXSA9IHVzZVN0YXRlPFNldDxzdHJpbmc+PihuZXcgU2V0KCkpXG4gIGNvbnN0IFtleHBhbmRlZE5vdGlvbkNhdGVnb3JpZXMsIHNldEV4cGFuZGVkTm90aW9uQ2F0ZWdvcmllc10gPSB1c2VTdGF0ZTxTZXQ8c3RyaW5nPj4obmV3IFNldCgpKVxuICAvKiogRXZpdGEgcmVhYnJpciBlbCBibG9xdWUgc2kgZWwgdXN1YXJpbyBsbyBjZXJyw7MgY29uIGxhIG1pc21hIGNhbnRpZGFkIGRlIHRvb2wgZ3JvdXBzIHNlbGVjY2lvbmFkb3MuICovXG4gIGNvbnN0IHByZXZDb3JUb29sR3JvdXBDb3VudFJlZiA9IHVzZVJlZjxudW1iZXIgfCBudWxsPihudWxsKVxuICAvKiogUGFyYSBkaXN0aW5ndWlyIGNpZXJyZSBtYW51YWwgZGVsIGJsb3F1ZSAoZGVzdGlsZGFyIENPUikgZGVsIG1vbnRhamUgaW5pY2lhbCBjb2xhcHNhZG8uICovXG4gIGNvbnN0IHByZXZDb3JCbG9ja0V4cGFuZGVkUmVmID0gdXNlUmVmPGJvb2xlYW4gfCBudWxsPihudWxsKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbiA9IHNlbGVjdGVkVG9vbEdyb3Vwcy5sZW5ndGhcbiAgICBjb25zdCBwcmV2ID0gcHJldkNvclRvb2xHcm91cENvdW50UmVmLmN1cnJlbnRcbiAgICBwcmV2Q29yVG9vbEdyb3VwQ291bnRSZWYuY3VycmVudCA9IG5cblxuICAgIGlmIChuID09PSAwKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKHByZXYgPT09IG51bGwgJiYgbiA+IDApIHtcbiAgICAgIHNldENvckJsb2NrRXhwYW5kZWQodHJ1ZSlcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAocHJldiA9PT0gMCAmJiBuID4gMCkge1xuICAgICAgc2V0Q29yQmxvY2tFeHBhbmRlZCh0cnVlKVxuICAgIH1cbiAgfSwgW3NlbGVjdGVkVG9vbEdyb3Vwcy5sZW5ndGhdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgd2FzRXhwYW5kZWQgPSBwcmV2Q29yQmxvY2tFeHBhbmRlZFJlZi5jdXJyZW50ID09PSB0cnVlXG5cbiAgICBpZiAoIWNvckJsb2NrRXhwYW5kZWQpIHtcbiAgICAgIHNldEV4cGFuZGVkQWN0aW9ucyhuZXcgU2V0KCkpXG4gICAgICBpZiAod2FzRXhwYW5kZWQgJiYgc2VsZWN0ZWRUb29sR3JvdXBzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgaGFuZGxlU2V0QWdlbnRWYWx1ZXMoe1xuICAgICAgICAgIGtleTogJ2FjdGlvbnMnLFxuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAuLi52YWx1ZXMuYWN0aW9ucyxcbiAgICAgICAgICAgIHNlbGVjdGVkVG9vbEdyb3VwczogW10sXG4gICAgICAgICAgICBzZWxlY3RlZENvbm5lY3RvcnMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcmV2Q29yQmxvY2tFeHBhbmRlZFJlZi5jdXJyZW50ID0gY29yQmxvY2tFeHBhbmRlZFxuICB9LCBbY29yQmxvY2tFeHBhbmRlZCwgaGFuZGxlU2V0QWdlbnRWYWx1ZXMsIHNlbGVjdGVkQ29ubmVjdG9ycywgc2VsZWN0ZWRUb29sR3JvdXBzLmxlbmd0aCwgdmFsdWVzLmFjdGlvbnNdKVxuXG4gIGNvbnN0IGlzQWN0aW9uQWN0aXZlID0gdXNlQ2FsbGJhY2soXG4gICAgKGVudGl0eTogRW50aXR5S2V5LCBhY3Rpb246IEVudGl0eUFjdGlvbktleSkgPT4ge1xuICAgICAgY29uc3QgZ3JvdXAgPSBUT09MX0dST1VQX01BUFtlbnRpdHldPy5bYWN0aW9uXVxuICAgICAgcmV0dXJuICEhZ3JvdXAgJiYgc2VsZWN0ZWRUb29sR3JvdXBzU2V0Lmhhcyhncm91cC5zbHVnKVxuICAgIH0sXG4gICAgW3NlbGVjdGVkVG9vbEdyb3Vwc1NldF1cbiAgKVxuXG4gIGNvbnN0IHRvZ2dsZUVudGl0eUFjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChlbnRpdHk6IEVudGl0eUtleSwgYWN0aW9uOiBFbnRpdHlBY3Rpb25LZXkpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldEdyb3VwID0gVE9PTF9HUk9VUF9NQVBbZW50aXR5XT8uW2FjdGlvbl1cbiAgICAgIGlmICghdGFyZ2V0R3JvdXAgfHwgIXRhcmdldEdyb3VwLmF2YWlsYWJsZSkgcmV0dXJuXG5cbiAgICAgIGNvbnN0IG5leHQgPSBuZXcgU2V0KHNlbGVjdGVkVG9vbEdyb3VwcylcbiAgICAgIGNvbnN0IGVudGl0eUluZGV4ID0gRU5USVRZX09SREVSLmluZGV4T2YoZW50aXR5KVxuICAgICAgY29uc3QgcHJldmlvdXNFbnRpdGllcyA9IEVOVElUWV9PUkRFUi5zbGljZSgwLCBlbnRpdHlJbmRleCArIDEpXG4gICAgICBjb25zdCBuZXh0RW50aXRpZXMgPSBFTlRJVFlfT1JERVIuc2xpY2UoZW50aXR5SW5kZXgpXG4gICAgICBjb25zdCBhY3Rpb25JbmRleCA9IEhJRVJBUkNISUNBTF9BQ1RJT05TLmluZGV4T2YoYWN0aW9uKVxuICAgICAgY29uc3QgaXNDdXJyZW50bHlBY3RpdmUgPSBuZXh0Lmhhcyh0YXJnZXRHcm91cC5zbHVnKVxuXG4gICAgICBpZiAoaXNDdXJyZW50bHlBY3RpdmUpIHtcbiAgICAgICAgbmV4dEVudGl0aWVzLmZvckVhY2goY3VycmVudEVudGl0eSA9PiB7XG4gICAgICAgICAgSElFUkFSQ0hJQ0FMX0FDVElPTlMuc2xpY2UoYWN0aW9uSW5kZXgpLmZvckVhY2goY3VycmVudEFjdGlvbiA9PiB7XG4gICAgICAgICAgICBjb25zdCBncm91cCA9IFRPT0xfR1JPVVBfTUFQW2N1cnJlbnRFbnRpdHldPy5bY3VycmVudEFjdGlvbl1cbiAgICAgICAgICAgIGlmIChncm91cD8uYXZhaWxhYmxlKSBuZXh0LmRlbGV0ZShncm91cC5zbHVnKVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcmV2aW91c0VudGl0aWVzLmZvckVhY2goY3VycmVudEVudGl0eSA9PiB7XG4gICAgICAgICAgSElFUkFSQ0hJQ0FMX0FDVElPTlMuc2xpY2UoMCwgYWN0aW9uSW5kZXggKyAxKS5mb3JFYWNoKGN1cnJlbnRBY3Rpb24gPT4ge1xuICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBUT09MX0dST1VQX01BUFtjdXJyZW50RW50aXR5XT8uW2N1cnJlbnRBY3Rpb25dXG4gICAgICAgICAgICBpZiAoZ3JvdXA/LmF2YWlsYWJsZSkgbmV4dC5hZGQoZ3JvdXAuc2x1ZylcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBoYW5kbGVTZXRBZ2VudFZhbHVlcyh7XG4gICAgICAgIGtleTogJ2FjdGlvbnMnLFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgIC4uLnZhbHVlcy5hY3Rpb25zLFxuICAgICAgICAgIHNlbGVjdGVkVG9vbEdyb3VwczogQXJyYXkuZnJvbShuZXh0KSxcbiAgICAgICAgICBzZWxlY3RlZENvbm5lY3RvcnMsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH0sXG4gICAgW2hhbmRsZVNldEFnZW50VmFsdWVzLCBzZWxlY3RlZENvbm5lY3RvcnMsIHNlbGVjdGVkVG9vbEdyb3VwcywgdmFsdWVzLmFjdGlvbnNdXG4gIClcblxuICBjb25zdCB0b2dnbGVDb25uZWN0b3IgPSB1c2VDYWxsYmFjayhcbiAgICAoY29ubmVjdG9yU2x1Zzogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBuZXh0ID0gbmV3IFNldChzZWxlY3RlZENvbm5lY3RvcnMpXG4gICAgICBpZiAobmV4dC5oYXMoY29ubmVjdG9yU2x1ZykpIHtcbiAgICAgICAgbmV4dC5kZWxldGUoY29ubmVjdG9yU2x1ZylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQuYWRkKGNvbm5lY3RvclNsdWcpXG4gICAgICB9XG4gICAgICBoYW5kbGVTZXRBZ2VudFZhbHVlcyh7XG4gICAgICAgIGtleTogJ2FjdGlvbnMnLFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgIC4uLnZhbHVlcy5hY3Rpb25zLFxuICAgICAgICAgIHNlbGVjdGVkVG9vbEdyb3VwcyxcbiAgICAgICAgICBzZWxlY3RlZENvbm5lY3RvcnM6IEFycmF5LmZyb20obmV4dCksXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH0sXG4gICAgW2hhbmRsZVNldEFnZW50VmFsdWVzLCBzZWxlY3RlZENvbm5lY3RvcnMsIHNlbGVjdGVkVG9vbEdyb3VwcywgdmFsdWVzLmFjdGlvbnNdXG4gIClcblxuICBjb25zdCB0b2dnbGVBY3Rpb25FeHBhbmRlZCA9IHVzZUNhbGxiYWNrKChzbHVnOiBzdHJpbmcpID0+IHtcbiAgICBzZXRFeHBhbmRlZEFjdGlvbnMocHJldiA9PiB7XG4gICAgICBjb25zdCBuZXh0ID0gbmV3IFNldChwcmV2KVxuICAgICAgaWYgKG5leHQuaGFzKHNsdWcpKSBuZXh0LmRlbGV0ZShzbHVnKVxuICAgICAgZWxzZSBuZXh0LmFkZChzbHVnKVxuICAgICAgcmV0dXJuIG5leHRcbiAgICB9KVxuICB9LCBbXSlcblxuICBjb25zdCB0b2dnbGVOb3Rpb25DYXRlZ29yeSA9IHVzZUNhbGxiYWNrKChjYXRlZ29yeUtleTogc3RyaW5nKSA9PiB7XG4gICAgc2V0RXhwYW5kZWROb3Rpb25DYXRlZ29yaWVzKHByZXYgPT4ge1xuICAgICAgY29uc3QgbmV4dCA9IG5ldyBTZXQocHJldilcbiAgICAgIGlmIChuZXh0LmhhcyhjYXRlZ29yeUtleSkpIG5leHQuZGVsZXRlKGNhdGVnb3J5S2V5KVxuICAgICAgZWxzZSBuZXh0LmFkZChjYXRlZ29yeUtleSlcbiAgICAgIHJldHVybiBuZXh0XG4gICAgfSlcbiAgfSwgW10pXG5cbiAgY29uc3QgaXNOb3Rpb25FbmFibGVkID0gc2VsZWN0ZWRDb25uZWN0b3JzU2V0LmhhcyhOT1RJT05fQ09OTkVDVE9SX1NMVUcpXG5cbiAgY29uc3Qgbm90aW9uQ29ubmVjdG9yU3RhdGUgPSB1c2VNZW1vKFxuICAgICgpID0+IHZhbHVlcy5hY3Rpb25zPy5jb25uZWN0b3JTdGF0ZXM/LmZpbmQocyA9PiBzLnNsdWcgPT09IE5PVElPTl9DT05ORUNUT1JfU0xVRyksXG4gICAgW3ZhbHVlcy5hY3Rpb25zPy5jb25uZWN0b3JTdGF0ZXNdXG4gIClcblxuICBjb25zdCBub3Rpb25Db25uZWN0b3JCYWRnZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghaXNOb3Rpb25FbmFibGVkKSB7XG4gICAgICByZXR1cm4geyB0b25lOiAnbmV1dHJhbCcgYXMgY29uc3QsIGxhYmVsOiB0KCdhY3Rpb25zU2VjdGlvbi52Mi5jb25uZWN0b3JTdGF0dXMuaW5hY3RpdmUnKSB9XG4gICAgfVxuICAgIGlmIChub3Rpb25Db25uZWN0b3JTdGF0ZSkge1xuICAgICAgaWYgKG5vdGlvbkNvbm5lY3RvclN0YXRlLmVuYWJsZWRfZm9yX2FnZW50KSB7XG4gICAgICAgIHJldHVybiB7IHRvbmU6ICdzdWNjZXNzJyBhcyBjb25zdCwgbGFiZWw6IHQoJ2FjdGlvbnNTZWN0aW9uLnYyLmNvbm5lY3RvclN0YXR1cy5lbmFibGVkJykgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHsgdG9uZTogJ3BlbmRpbmcnIGFzIGNvbnN0LCBsYWJlbDogdCgnYWN0aW9uc1NlY3Rpb24udjIuY29ubmVjdG9yU3RhdHVzLmVuYWJsZWRQZW5kaW5nQXV0aCcpIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgdG9uZTogJ3BlbmRpbmcnIGFzIGNvbnN0LCBsYWJlbDogdCgnYWN0aW9uc1NlY3Rpb24udjIuY29ubmVjdG9yU3RhdHVzLmVuYWJsZWRQZW5kaW5nQXV0aCcpIH1cbiAgfSwgW2lzTm90aW9uRW5hYmxlZCwgbm90aW9uQ29ubmVjdG9yU3RhdGUsIHRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc05vdGlvbkVuYWJsZWQpIHtcbiAgICAgIHNldEV4cGFuZGVkTm90aW9uQ2F0ZWdvcmllcyhuZXcgU2V0KCkpXG4gICAgfVxuICB9LCBbaXNOb3Rpb25FbmFibGVkXSlcblxuICBjb25zdCBjb3JBY3RpdmVUb29sc0NvdW50ID0gdXNlTWVtbyhcbiAgICAoKSA9PiBDT1JfVE9PTF9HUk9VUFMucmVkdWNlKChhY2MsIGcpID0+IGFjYyArIChzZWxlY3RlZFRvb2xHcm91cHNTZXQuaGFzKGcuc2x1ZykgPyBnLnRvb2xzLmxlbmd0aCA6IDApLCAwKSxcbiAgICBbc2VsZWN0ZWRUb29sR3JvdXBzU2V0XVxuICApXG5cbiAgY29uc3QgdHJ1bmNhdGlvbk1lYXN1cmVLZXkgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBgJHtjb3JCbG9ja0V4cGFuZGVkID8gJzEnIDogJzAnfSMke1suLi5leHBhbmRlZEFjdGlvbnNdLnNvcnQoKS5qb2luKCd8Jyl9IyR7Wy4uLmV4cGFuZGVkTm90aW9uQ2F0ZWdvcmllc10uc29ydCgpLmpvaW4oJ3wnKX1gLFxuICAgIFtjb3JCbG9ja0V4cGFuZGVkLCBleHBhbmRlZEFjdGlvbnMsIGV4cGFuZGVkTm90aW9uQ2F0ZWdvcmllc11cbiAgKVxuXG4gIGNvbnN0IHJlbmRlclRvb2xJdGVtID0gKHRvb2w6IFRvb2xEZXNjcmlwdG9yKSA9PiB7XG4gICAgY29uc3QgbmFtZSA9IHQoYGFjdGlvbnNTZWN0aW9uLnYyLmNhdGFsb2cudG9vbHMuJHt0b29sLnNsdWd9Lm5hbWVgLCB7IGRlZmF1bHRWYWx1ZTogdG9vbC5uYW1lIH0pXG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSB0KGBhY3Rpb25zU2VjdGlvbi52Mi5jYXRhbG9nLnRvb2xzLiR7dG9vbC5zbHVnfS5kZXNjcmlwdGlvbmAsIHtcbiAgICAgIGRlZmF1bHRWYWx1ZTogdG9vbC5kZXNjcmlwdGlvbixcbiAgICB9KVxuICAgIHJldHVybiAoXG4gICAgICA8U0NUb29sSXRlbSBrZXk9e3Rvb2wuc2x1Z30+XG4gICAgICAgIDxTQ1Rvb2xLaW5kQmFkZ2Uga2luZD17dG9vbC5hY2Nlc3NLaW5kfT57dChgYWN0aW9uc1NlY3Rpb24udjIuYWNjZXNzS2luZC4ke3Rvb2wuYWNjZXNzS2luZH1gKX08L1NDVG9vbEtpbmRCYWRnZT5cbiAgICAgICAgPFNDVG9vbFRleHQ+XG4gICAgICAgICAgPFNDVG9vbE5hbWU+e25hbWV9PC9TQ1Rvb2xOYW1lPlxuICAgICAgICAgIDxUcnVuY2F0aW9uVG9vbHRpcCB0aXRsZT17ZGVzY3JpcHRpb259IGxheW91dEtleT17dHJ1bmNhdGlvbk1lYXN1cmVLZXl9PlxuICAgICAgICAgICAge3RleHRSZWYgPT4gPFNDVG9vbERlc2NyaXB0aW9uIHJlZj17dGV4dFJlZn0+e2Rlc2NyaXB0aW9ufTwvU0NUb29sRGVzY3JpcHRpb24+fVxuICAgICAgICAgIDwvVHJ1bmNhdGlvblRvb2x0aXA+XG4gICAgICAgIDwvU0NUb29sVGV4dD5cbiAgICAgIDwvU0NUb29sSXRlbT5cbiAgICApXG4gIH1cblxuICBjb25zdCByZW5kZXJBY3Rpb25Sb3cgPSAoZW50aXR5OiBFbnRpdHlLZXksIGFjdGlvbjogRW50aXR5QWN0aW9uS2V5KSA9PiB7XG4gICAgY29uc3QgZ3JvdXAgPSBUT09MX0dST1VQX01BUFtlbnRpdHldPy5bYWN0aW9uXVxuICAgIGlmICghZ3JvdXApIHJldHVybiBudWxsXG4gICAgY29uc3QgaXNBdmFpbGFibGUgPSBncm91cC5hdmFpbGFibGVcbiAgICBjb25zdCBhY3RpdmUgPSBpc0FjdGlvbkFjdGl2ZShlbnRpdHksIGFjdGlvbilcbiAgICBjb25zdCBleHBhbmRlZCA9IGV4cGFuZGVkQWN0aW9ucy5oYXMoZ3JvdXAuc2x1ZylcbiAgICBjb25zdCB0b29sc0NvdW50ID0gZ3JvdXAudG9vbHMubGVuZ3RoXG4gICAgY29uc3QgY2FuRXhwYW5kID0gaXNBdmFpbGFibGUgJiYgdG9vbHNDb3VudCA+IDBcbiAgICBjb25zdCBpc0RlbGV0ZSA9IGFjdGlvbiA9PT0gJ2RlbGV0ZScgJiYgYWN0aXZlXG5cbiAgICBjb25zdCBvbkhlYWRlckNsaWNrID0gKCkgPT4ge1xuICAgICAgaWYgKGNhbkV4cGFuZCkgdG9nZ2xlQWN0aW9uRXhwYW5kZWQoZ3JvdXAuc2x1ZylcbiAgICB9XG5cbiAgICBjb25zdCBvblRvZ2dsZUNsaWNrID0gKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIGlmIChpc0F2YWlsYWJsZSkgdG9nZ2xlRW50aXR5QWN0aW9uKGVudGl0eSwgYWN0aW9uKVxuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlckNvbnRlbnQgPSAoXG4gICAgICA8U0NBY3Rpb25IZWFkZXIgY2xpY2thYmxlPXtjYW5FeHBhbmR9IG9uQ2xpY2s9e29uSGVhZGVyQ2xpY2t9PlxuICAgICAgICA8U0NDaGV2cm9uQnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgb3Blbj17ZXhwYW5kZWR9XG4gICAgICAgICAgZGlzYWJsZWQ9eyFjYW5FeHBhbmR9XG4gICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICBpZiAoY2FuRXhwYW5kKSB0b2dnbGVBY3Rpb25FeHBhbmRlZChncm91cC5zbHVnKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICAgICAgYXJpYS1sYWJlbD17ZXhwYW5kZWQgPyB0KCdhY3Rpb25zU2VjdGlvbi52Mi5oaWRlVG9vbHMnKSA6IHQoJ2FjdGlvbnNTZWN0aW9uLnYyLnZpZXdUb29scycpfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZXZyb25Eb3duIHdpZHRoPVwiMTJweFwiIGhlaWdodD1cIjEycHhcIiBjb2xvcj1cImN1cnJlbnRDb2xvclwiIC8+XG4gICAgICAgIDwvU0NDaGV2cm9uQnV0dG9uPlxuXG4gICAgICAgIDxTQ0FjdGlvbkxhYmVsR3JvdXA+XG4gICAgICAgICAgPFNDQWN0aW9uTGFiZWw+e3QoQUNUSU9OX0xBQkVMX0tFWVNbYWN0aW9uXSl9PC9TQ0FjdGlvbkxhYmVsPlxuICAgICAgICAgIHshaXNBdmFpbGFibGUgJiYgPFNDQ29taW5nU29vbkJhZGdlPnt0KCdhY3Rpb25zU2VjdGlvbi52Mi5jb21pbmdTb29uJyl9PC9TQ0NvbWluZ1Nvb25CYWRnZT59XG4gICAgICAgICAge2lzQXZhaWxhYmxlICYmIChcbiAgICAgICAgICAgIDxTQ0NvdW50ZXIgYWN0aXZlPXthY3RpdmV9Pnt0KCdhY3Rpb25zU2VjdGlvbi52Mi50b29sc0NvdW50JywgeyBjb3VudDogdG9vbHNDb3VudCB9KX08L1NDQ291bnRlcj5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtpc0RlbGV0ZSAmJiA8U0NEZWxldGVCYWRnZT57dCgnYWN0aW9uc1NlY3Rpb24udjIuZGVsZXRlV2FybmluZ0lubGluZScpfTwvU0NEZWxldGVCYWRnZT59XG4gICAgICAgIDwvU0NBY3Rpb25MYWJlbEdyb3VwPlxuXG4gICAgICAgIDxTQ1RvZ2dsZVxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGlzQWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgZGlzYWJsZWQ9eyFpc0F2YWlsYWJsZX1cbiAgICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZUNsaWNrfVxuICAgICAgICAgIGFyaWEtcHJlc3NlZD17YWN0aXZlfVxuICAgICAgICAgIGFyaWEtbGFiZWw9e2Ake3QoYGFjdGlvbnNTZWN0aW9uLmVudGl0aWVzLiR7ZW50aXR5fWApfSDCtyAke3QoQUNUSU9OX0xBQkVMX0tFWVNbYWN0aW9uXSl9YH1cbiAgICAgICAgPlxuICAgICAgICAgIDxTQ1RvZ2dsZVRodW1iIC8+XG4gICAgICAgIDwvU0NUb2dnbGU+XG4gICAgICA8L1NDQWN0aW9uSGVhZGVyPlxuICAgIClcblxuICAgIGNvbnN0IHJvdyA9IChcbiAgICAgIDxTQ0FjdGlvblJvdyBrZXk9e2Ake2VudGl0eX0tJHthY3Rpb259YH0gZGlzYWJsZWQ9eyFpc0F2YWlsYWJsZX0+XG4gICAgICAgIHtoZWFkZXJDb250ZW50fVxuICAgICAgICB7ZXhwYW5kZWQgJiYgY2FuRXhwYW5kICYmIDxTQ1Rvb2xzTGlzdD57Z3JvdXAudG9vbHMubWFwKHRvb2wgPT4gcmVuZGVyVG9vbEl0ZW0odG9vbCkpfTwvU0NUb29sc0xpc3Q+fVxuICAgICAgPC9TQ0FjdGlvblJvdz5cbiAgICApXG5cbiAgICBpZiAoIWlzQXZhaWxhYmxlKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VG9vbHRpcCBrZXk9e2Ake2VudGl0eX0tJHthY3Rpb259YH0gdGl0bGU9e3QoJ2FjdGlvbnNTZWN0aW9uLnYyLmNvbWluZ1Nvb25IaW50Jyl9PlxuICAgICAgICAgIDxkaXY+e3Jvd308L2Rpdj5cbiAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiByb3dcbiAgfVxuXG4gIGNvbnN0IHJlbmRlckVudGl0eUNhcmQgPSAoZW50aXR5OiBFbnRpdHlLZXkpID0+IHtcbiAgICBjb25zdCBncm91cHNGb3JFbnRpdHkgPSBFTlRJVFlfQUNUSU9OX09SREVSLm1hcChhY3Rpb24gPT4gVE9PTF9HUk9VUF9NQVBbZW50aXR5XT8uW2FjdGlvbl0pLmZpbHRlcihcbiAgICAgIChncm91cCk6IGdyb3VwIGlzIEVudGl0eVRvb2xHcm91cCA9PiBCb29sZWFuKGdyb3VwKVxuICAgIClcbiAgICBjb25zdCBlbmFibGVkVG9vbHMgPSBncm91cHNGb3JFbnRpdHkucmVkdWNlKFxuICAgICAgKGFjYywgZ3JvdXApID0+IGFjYyArIChzZWxlY3RlZFRvb2xHcm91cHNTZXQuaGFzKGdyb3VwLnNsdWcpID8gZ3JvdXAudG9vbHMubGVuZ3RoIDogMCksXG4gICAgICAwXG4gICAgKVxuICAgIGNvbnN0IGNvdW50ZXJBY3RpdmUgPSBlbmFibGVkVG9vbHMgPiAwXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDRW50aXR5Q2FyZCBrZXk9e2VudGl0eX0+XG4gICAgICAgIDxTQ0VudGl0eUhlYWRlcj5cbiAgICAgICAgICA8U0NFbnRpdHlUaXRsZT57dChgYWN0aW9uc1NlY3Rpb24uZW50aXRpZXMuJHtlbnRpdHl9YCl9PC9TQ0VudGl0eVRpdGxlPlxuICAgICAgICAgIDxTQ0NvdW50ZXIgYWN0aXZlPXtjb3VudGVyQWN0aXZlfT57dCgnYWN0aW9uc1NlY3Rpb24udjIudG9vbHNDb3VudCcsIHsgY291bnQ6IGVuYWJsZWRUb29scyB9KX08L1NDQ291bnRlcj5cbiAgICAgICAgPC9TQ0VudGl0eUhlYWRlcj5cbiAgICAgICAge0VOVElUWV9BQ1RJT05fT1JERVIubWFwKGFjdGlvbiA9PiByZW5kZXJBY3Rpb25Sb3coZW50aXR5LCBhY3Rpb24pKX1cbiAgICAgIDwvU0NFbnRpdHlDYXJkPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHJlbmRlck5vdGlvbkNhdGVnb3J5ID0gKGNhdGVnb3J5OiBDb25uZWN0b3JUb29sQ2F0ZWdvcnkpID0+IHtcbiAgICBjb25zdCBpc09wZW4gPSBleHBhbmRlZE5vdGlvbkNhdGVnb3JpZXMuaGFzKGNhdGVnb3J5LmtleSlcbiAgICBjb25zdCB0b29sc0NvdW50ID0gY2F0ZWdvcnkudG9vbHMubGVuZ3RoXG4gICAgY29uc3QgbGFiZWwgPSB0KGBhY3Rpb25zU2VjdGlvbi52Mi5jYXRhbG9nLm5vdGlvbkNhdGVnb3JpZXMuJHtjYXRlZ29yeS5rZXl9LmxhYmVsYCwge1xuICAgICAgZGVmYXVsdFZhbHVlOiBjYXRlZ29yeS5sYWJlbCxcbiAgICB9KVxuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdChgYWN0aW9uc1NlY3Rpb24udjIuY2F0YWxvZy5ub3Rpb25DYXRlZ29yaWVzLiR7Y2F0ZWdvcnkua2V5fS5kZXNjcmlwdGlvbmAsIHtcbiAgICAgIGRlZmF1bHRWYWx1ZTogY2F0ZWdvcnkuZGVzY3JpcHRpb24sXG4gICAgfSlcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ2F0ZWdvcnlBY2NvcmRpb24ga2V5PXtjYXRlZ29yeS5rZXl9PlxuICAgICAgICA8U0NDYXRlZ29yeUhlYWRlciB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gdG9nZ2xlTm90aW9uQ2F0ZWdvcnkoY2F0ZWdvcnkua2V5KX0gYXJpYS1leHBhbmRlZD17aXNPcGVufT5cbiAgICAgICAgICA8U0NDaGV2cm9uQnV0dG9uIGFzPVwic3BhblwiIG9wZW49e2lzT3Blbn0+XG4gICAgICAgICAgICA8Q2hldnJvbkRvd24gd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMTJweFwiIGNvbG9yPVwiY3VycmVudENvbG9yXCIgLz5cbiAgICAgICAgICA8L1NDQ2hldnJvbkJ1dHRvbj5cbiAgICAgICAgICA8U0NDYXRlZ29yeVRleHRHcm91cD5cbiAgICAgICAgICAgIDxTQ0NhdGVnb3J5VGl0bGU+e2xhYmVsfTwvU0NDYXRlZ29yeVRpdGxlPlxuICAgICAgICAgICAgPFRydW5jYXRpb25Ub29sdGlwIHRpdGxlPXtkZXNjcmlwdGlvbn0gbGF5b3V0S2V5PXt0cnVuY2F0aW9uTWVhc3VyZUtleX0+XG4gICAgICAgICAgICAgIHt0ZXh0UmVmID0+IDxTQ0NhdGVnb3J5RGVzY3JpcHRpb24gcmVmPXt0ZXh0UmVmfT57ZGVzY3JpcHRpb259PC9TQ0NhdGVnb3J5RGVzY3JpcHRpb24+fVxuICAgICAgICAgICAgPC9UcnVuY2F0aW9uVG9vbHRpcD5cbiAgICAgICAgICA8L1NDQ2F0ZWdvcnlUZXh0R3JvdXA+XG4gICAgICAgICAgPFNDQ291bnRlciBhY3RpdmU9e2ZhbHNlfT5cbiAgICAgICAgICAgIHt0KCdhY3Rpb25zU2VjdGlvbi52Mi5ub3Rpb24uY2F0ZWdvcnlUb29sc0NvdW50JywgeyBjb3VudDogdG9vbHNDb3VudCB9KX1cbiAgICAgICAgICA8L1NDQ291bnRlcj5cbiAgICAgICAgPC9TQ0NhdGVnb3J5SGVhZGVyPlxuICAgICAgICB7aXNPcGVuICYmXG4gICAgICAgICAgKHRvb2xzQ291bnQgPiAwID8gKFxuICAgICAgICAgICAgPFNDVG9vbHNMaXN0PntjYXRlZ29yeS50b29scy5tYXAodG9vbCA9PiByZW5kZXJUb29sSXRlbSh0b29sKSl9PC9TQ1Rvb2xzTGlzdD5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFNDRW1wdHlUb29scz57dCgnYWN0aW9uc1NlY3Rpb24udjIuZW1wdHlUb29scycpfTwvU0NFbXB0eVRvb2xzPlxuICAgICAgICAgICkpfVxuICAgICAgPC9TQ0NhdGVnb3J5QWNjb3JkaW9uPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDUm9vdD5cbiAgICAgIDxTQ0hlYWRlcj5cbiAgICAgICAgPFNDVGl0bGU+e3QoJ2FjdGlvbnNTZWN0aW9uLnYyLnNlY3Rpb25UaXRsZScpfTwvU0NUaXRsZT5cbiAgICAgICAgPFNDU3VidGl0bGU+e3QoJ2FjdGlvbnNTZWN0aW9uLnYyLnNlY3Rpb25TdWJ0aXRsZScpfTwvU0NTdWJ0aXRsZT5cbiAgICAgIDwvU0NIZWFkZXI+XG5cbiAgICAgIDxTQ1NlY3Rpb25MYWJlbD57dCgnYWN0aW9uc1NlY3Rpb24udjIuaW50ZXJuYWxCbG9ja1RpdGxlJyl9PC9TQ1NlY3Rpb25MYWJlbD5cblxuICAgICAgPFNDQ29ubmVjdG9yQ2FyZD5cbiAgICAgICAgPFNDQ29ubmVjdG9ySGVhZGVyPlxuICAgICAgICAgIDxTQ0Nvbm5lY3RvcklkZW50aXR5PlxuICAgICAgICAgICAgPFNDQ29ubmVjdG9ySWNvbiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgPENhdGVnb3J5IHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgICAgICAgIDwvU0NDb25uZWN0b3JJY29uPlxuICAgICAgICAgICAgPFNDQ29ubmVjdG9yVGV4dEdyb3VwPlxuICAgICAgICAgICAgICA8VHJ1bmNhdGlvblRvb2x0aXAgdGl0bGU9e3QoJ2FjdGlvbnNTZWN0aW9uLnYyLmludGVybmFsQmxvY2tUaXRsZScpfSBsYXlvdXRLZXk9e3RydW5jYXRpb25NZWFzdXJlS2V5fT5cbiAgICAgICAgICAgICAgICB7dGV4dFJlZiA9PiAoXG4gICAgICAgICAgICAgICAgICA8U0NDb25uZWN0b3JUaXRsZSByZWY9e3RleHRSZWZ9Pnt0KCdhY3Rpb25zU2VjdGlvbi52Mi5pbnRlcm5hbEJsb2NrVGl0bGUnKX08L1NDQ29ubmVjdG9yVGl0bGU+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9UcnVuY2F0aW9uVG9vbHRpcD5cbiAgICAgICAgICAgICAgPFRydW5jYXRpb25Ub29sdGlwIHRpdGxlPXt0KCdhY3Rpb25zU2VjdGlvbi52Mi5pbnRlcm5hbEJsb2NrU3VidGl0bGUnKX0gbGF5b3V0S2V5PXt0cnVuY2F0aW9uTWVhc3VyZUtleX0+XG4gICAgICAgICAgICAgICAge3RleHRSZWYgPT4gKFxuICAgICAgICAgICAgICAgICAgPFNDQ29ubmVjdG9yVGFnbGluZSByZWY9e3RleHRSZWZ9Pnt0KCdhY3Rpb25zU2VjdGlvbi52Mi5pbnRlcm5hbEJsb2NrU3VidGl0bGUnKX08L1NDQ29ubmVjdG9yVGFnbGluZT5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1RydW5jYXRpb25Ub29sdGlwPlxuICAgICAgICAgICAgPC9TQ0Nvbm5lY3RvclRleHRHcm91cD5cbiAgICAgICAgICA8L1NDQ29ubmVjdG9ySWRlbnRpdHk+XG4gICAgICAgICAgPFNDQ29ubmVjdG9yUmlnaHRHcm91cD5cbiAgICAgICAgICAgIDxTQ0NvdW50ZXIgYWN0aXZlPXtjb3JBY3RpdmVUb29sc0NvdW50ID4gMH0+XG4gICAgICAgICAgICAgIHt0KCdhY3Rpb25zU2VjdGlvbi52Mi50b29sc0NvdW50JywgeyBjb3VudDogY29yQWN0aXZlVG9vbHNDb3VudCB9KX1cbiAgICAgICAgICAgIDwvU0NDb3VudGVyPlxuICAgICAgICAgICAgPFNDVG9nZ2xlXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBpc0FjdGl2ZT17Y29yQmxvY2tFeHBhbmRlZH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0Q29yQmxvY2tFeHBhbmRlZCh2ID0+ICF2KX1cbiAgICAgICAgICAgICAgYXJpYS1wcmVzc2VkPXtjb3JCbG9ja0V4cGFuZGVkfVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtcbiAgICAgICAgICAgICAgICBjb3JCbG9ja0V4cGFuZGVkXG4gICAgICAgICAgICAgICAgICA/IHQoJ2FjdGlvbnNTZWN0aW9uLnYyLmV4cGFuZENvckRldGFpbHNBcmlhT2ZmJylcbiAgICAgICAgICAgICAgICAgIDogdCgnYWN0aW9uc1NlY3Rpb24udjIuZXhwYW5kQ29yRGV0YWlsc0FyaWFPbicpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNDVG9nZ2xlVGh1bWIgLz5cbiAgICAgICAgICAgIDwvU0NUb2dnbGU+XG4gICAgICAgICAgPC9TQ0Nvbm5lY3RvclJpZ2h0R3JvdXA+XG4gICAgICAgIDwvU0NDb25uZWN0b3JIZWFkZXI+XG4gICAgICAgIHshY29yQmxvY2tFeHBhbmRlZCAmJiA8U0NDb25uZWN0b3JIaW50Pnt0KCdhY3Rpb25zU2VjdGlvbi52Mi5jb3JDb2xsYXBzZWRIaW50Jyl9PC9TQ0Nvbm5lY3RvckhpbnQ+fVxuICAgICAgICB7Y29yQmxvY2tFeHBhbmRlZCAmJiAoXG4gICAgICAgICAgPFNDRXhwYW5kYWJsZUJsb2NrQm9keT5cbiAgICAgICAgICAgIDxTQ0VudGl0eUxpc3Q+e0VOVElUWV9PUkRFUi5tYXAoZW50aXR5ID0+IHJlbmRlckVudGl0eUNhcmQoZW50aXR5KSl9PC9TQ0VudGl0eUxpc3Q+XG4gICAgICAgICAgPC9TQ0V4cGFuZGFibGVCbG9ja0JvZHk+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ29ubmVjdG9yQ2FyZD5cblxuICAgICAgPFNDU2VjdGlvbkxhYmVsPnt0KCdhY3Rpb25zU2VjdGlvbi52Mi5leHRlcm5hbEJsb2NrVGl0bGUnKX08L1NDU2VjdGlvbkxhYmVsPlxuXG4gICAgICA8U0NDb25uZWN0b3JDYXJkPlxuICAgICAgICA8U0NDb25uZWN0b3JIZWFkZXI+XG4gICAgICAgICAgPFNDQ29ubmVjdG9ySWRlbnRpdHk+XG4gICAgICAgICAgICA8U0NDb25uZWN0b3JJY29uIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICA8Tm90aW9uSWNvbiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICA8L1NDQ29ubmVjdG9ySWNvbj5cbiAgICAgICAgICAgIDxTQ0Nvbm5lY3RvclRleHRHcm91cD5cbiAgICAgICAgICAgICAgPFRydW5jYXRpb25Ub29sdGlwIHRpdGxlPXtOT1RJT05fQ09OTkVDVE9SX0NBVEFMT0cubmFtZX0gbGF5b3V0S2V5PXt0cnVuY2F0aW9uTWVhc3VyZUtleX0+XG4gICAgICAgICAgICAgICAge3RleHRSZWYgPT4gPFNDQ29ubmVjdG9yVGl0bGUgcmVmPXt0ZXh0UmVmfT57Tk9USU9OX0NPTk5FQ1RPUl9DQVRBTE9HLm5hbWV9PC9TQ0Nvbm5lY3RvclRpdGxlPn1cbiAgICAgICAgICAgICAgPC9UcnVuY2F0aW9uVG9vbHRpcD5cbiAgICAgICAgICAgICAgPFRydW5jYXRpb25Ub29sdGlwIHRpdGxlPXt0KCdhY3Rpb25zU2VjdGlvbi52Mi5ub3Rpb24udGFnbGluZScpfSBsYXlvdXRLZXk9e3RydW5jYXRpb25NZWFzdXJlS2V5fT5cbiAgICAgICAgICAgICAgICB7dGV4dFJlZiA9PiAoXG4gICAgICAgICAgICAgICAgICA8U0NDb25uZWN0b3JUYWdsaW5lIHJlZj17dGV4dFJlZn0+e3QoJ2FjdGlvbnNTZWN0aW9uLnYyLm5vdGlvbi50YWdsaW5lJyl9PC9TQ0Nvbm5lY3RvclRhZ2xpbmU+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9UcnVuY2F0aW9uVG9vbHRpcD5cbiAgICAgICAgICAgIDwvU0NDb25uZWN0b3JUZXh0R3JvdXA+XG4gICAgICAgICAgPC9TQ0Nvbm5lY3RvcklkZW50aXR5PlxuICAgICAgICAgIDxTQ0Nvbm5lY3RvclJpZ2h0R3JvdXA+XG4gICAgICAgICAgICA8U0NTdGF0dXNQaWxsIHRvbmU9e25vdGlvbkNvbm5lY3RvckJhZGdlLnRvbmV9Pntub3Rpb25Db25uZWN0b3JCYWRnZS5sYWJlbH08L1NDU3RhdHVzUGlsbD5cbiAgICAgICAgICAgIDxTQ1RvZ2dsZVxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgaXNBY3RpdmU9e2lzTm90aW9uRW5hYmxlZH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdG9nZ2xlQ29ubmVjdG9yKE5PVElPTl9DT05ORUNUT1JfU0xVRyl9XG4gICAgICAgICAgICAgIGFyaWEtcHJlc3NlZD17aXNOb3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtOT1RJT05fQ09OTkVDVE9SX0NBVEFMT0cubmFtZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNDVG9nZ2xlVGh1bWIgLz5cbiAgICAgICAgICAgIDwvU0NUb2dnbGU+XG4gICAgICAgICAgPC9TQ0Nvbm5lY3RvclJpZ2h0R3JvdXA+XG4gICAgICAgIDwvU0NDb25uZWN0b3JIZWFkZXI+XG5cbiAgICAgICAgeyFpc05vdGlvbkVuYWJsZWQgJiYgPFNDQ29ubmVjdG9ySGludD57dCgnYWN0aW9uc1NlY3Rpb24udjIubm90aW9uLmRpc2FibGVkSGludCcpfTwvU0NDb25uZWN0b3JIaW50Pn1cblxuICAgICAgICB7aXNOb3Rpb25FbmFibGVkICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPFNDQ29ubmVjdG9ySGludD57dCgnYWN0aW9uc1NlY3Rpb24udjIubm90aW9uLmVuYWJsZWRIaW50Jyl9PC9TQ0Nvbm5lY3RvckhpbnQ+XG4gICAgICAgICAgICB7Tk9USU9OX0NPTk5FQ1RPUl9DQVRBTE9HLmNhdGVnb3JpZXMubWFwKGNhdGVnb3J5ID0+IHJlbmRlck5vdGlvbkNhdGVnb3J5KGNhdGVnb3J5KSl9XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ29ubmVjdG9yQ2FyZD5cbiAgICA8L1NDUm9vdD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU9BLEtBQUssSUFDVkMsV0FBVyxFQUNYQyxTQUFTLEVBQ1RDLE9BQU8sRUFDUEMsTUFBTSxFQUNOQyxRQUFRLFFBSUgsT0FBTztBQUNkLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBRTlDLFNBQVNDLFFBQVEsUUFBUSwyQ0FBMkM7QUFDcEUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBRXRFLFNBQVNDLFVBQVUsUUFBUSxpQ0FBaUM7QUFFNUQsU0FBU0MsaUJBQWlCLFFBQVEsNkJBQTZCO0FBRS9ELFNBQ0VDLGlCQUFpQixFQUVqQkMsZUFBZSxFQUNmQyxtQkFBbUIsRUFDbkJDLFlBQVksRUFJWkMsd0JBQXdCLEVBQ3hCQyxxQkFBcUIsUUFFaEIsV0FBVztBQUNsQixTQUNFQyxjQUFjLEVBQ2RDLGFBQWEsRUFDYkMsa0JBQWtCLEVBQ2xCQyxXQUFXLEVBQ1hDLG1CQUFtQixFQUNuQkMscUJBQXFCLEVBQ3JCQyxnQkFBZ0IsRUFDaEJDLG1CQUFtQixFQUNuQkMsZUFBZSxF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
|