@projectcor/maia-components 2.11.53-8 → 2.11.53
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.
|
@@ -81,4 +81,4 @@ export var ChatAIContent = function ChatAIContent(_ref) {
|
|
|
81
81
|
})
|
|
82
82
|
});
|
|
83
83
|
};
|
|
84
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0QUlIb21lIiwiUHJvamVjdFN1bW1hcnlDb250ZW50Iiwib3B0aW9ucyIsIkNoYXRBSVByb2plY3RTZWxlY3RvciIsIkNoYXRBSUNsaWVudFNlbGVjdG9yIiwiU0NDQUlDb250ZW50V3JhcHBlciIsIkNoYXRBSU1lc3NhZ2VzIiwiQ2hhdEFJTXlBZ2VudHMiLCJqc3giLCJfanN4IiwiQ2hhdEFJQ29udGVudCIsIl9yZWYiLCJjdXJyZW50T3B0aW9uIiwiaGFuZGxlcnMiLCJvbkVycm9yIiwicmVmcyIsIm9uU2VuZE1lc3NhZ2VSZWFkeSIsImV4cGFuZGVkIiwiZmxvYXRpbmciLCJhZ2VudHMiLCJvbkRlbGV0ZUFnZW50Iiwib25GYXZvcml0ZUFnZW50VXBkYXRlIiwiaGFzTW9yZUFnZW50cyIsImxvYWRpbmdNb3JlQWdlbnRzIiwib25Mb2FkTW9yZUFnZW50cyIsIm9uR29Ub01haWFrZXIiLCJjaGF0IiwiY2hpbGRyZW4iLCJ1c2VySW5pdGlhbE1lc3NhZ2UiLCJpbml0aWFsQ2hhdElkIiwiYXR0YWNobWVudHMiLCJwcm9qZWN0U3VtbWFyeSIsIm9uUmVzdGFydFN1bW1hcnkiLCJob21lIiwicHJvamVjdFNlbGVjdG9yIiwiaGFuZGxlR29Ib21lIiwiY2xpZW50U2VsZWN0b3IiLCJteUFnZW50cyIsIm9uQmFjayIsIm9uU3RhcnRDaGF0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSUNvbnRlbnQvQ2hhdEFJQ29udGVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbmltcG9ydCB7IENoYXRBSUhvbWUgfSBmcm9tICcuLi9DaGF0QUlIb21lJ1xuaW1wb3J0IHsgUHJvamVjdFN1bW1hcnlDb250ZW50IH0gZnJvbSAnLi4vUHJvamVjdFN1bW1hcnlDb250ZW50J1xuXG5pbXBvcnQgeyBvcHRpb25zIH0gZnJvbSAnLi4vQ2hhdEFJTW9kYWwvY29uc3RhbnRzJ1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBDaGF0QUlQcm9qZWN0U2VsZWN0b3IgfSBmcm9tICcuLi9DaGF0QUlQcm9qZWN0U2VsZWN0b3InXG5pbXBvcnQgeyBDaGF0QUlDbGllbnRTZWxlY3RvciB9IGZyb20gJy4uL0NoYXRBSUNsaWVudFNlbGVjdG9yJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IFNDQ0FJQ29udGVudFdyYXBwZXIgfSBmcm9tICcuL0NoYXRBSUNvbnRlbnQuc3R5bGVzJ1xuaW1wb3J0IHsgQ2hhdEFJTWVzc2FnZXMgfSBmcm9tICcuLi9DaGF0QUlNZXNzYWdlcydcbmltcG9ydCB7IENoYXRBSU15QWdlbnRzIH0gZnJvbSAnLi4vQ2hhdEFJTXlBZ2VudHMvQ2hhdEFJTXlBZ2VudHMnXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuXG50eXBlIENoYXRBSUNvbnRlbnRQcm9wcyA9IHtcbiAgY3VycmVudE9wdGlvbjogb3B0aW9uc1xuICBoYW5kbGVyczogUmVjb3JkPG9wdGlvbnMsICh2YWx1ZT86IGFueSkgPT4gdm9pZD4gJiB7XG4gICAgY2hhdDogKFxuICAgICAgbWVzc2FnZT86IHN0cmluZyxcbiAgICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICAgIGZhcUlkPzogc3RyaW5nLFxuICAgICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgICBmdWFJZD86IHN0cmluZyxcbiAgICAgIHNjSWQ/OiBzdHJpbmdcbiAgICApID0+IHZvaWRcbiAgICBzdGFydENoYXQ/OiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkXG4gICAgaGFuZGxlR29Ib21lOiAoKSA9PiB2b2lkXG4gIH1cbiAgb25FcnJvcjogKCkgPT4gdm9pZFxuICByZWZzOiB7XG4gICAgdXNlckluaXRpYWxNZXNzYWdlOiB7XG4gICAgICBtZXNzYWdlOiBzdHJpbmdcbiAgICAgIGF0dGFjaG1lbnRzOiBBdHRhY2htZW50RmlsZVtdXG4gICAgICBmYXFJZD86IHN0cmluZ1xuICAgICAgYWdlbnRTdWdnZXN0aW9uSWQ/
|
|
84
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0QUlIb21lIiwiUHJvamVjdFN1bW1hcnlDb250ZW50Iiwib3B0aW9ucyIsIkNoYXRBSVByb2plY3RTZWxlY3RvciIsIkNoYXRBSUNsaWVudFNlbGVjdG9yIiwiU0NDQUlDb250ZW50V3JhcHBlciIsIkNoYXRBSU1lc3NhZ2VzIiwiQ2hhdEFJTXlBZ2VudHMiLCJqc3giLCJfanN4IiwiQ2hhdEFJQ29udGVudCIsIl9yZWYiLCJjdXJyZW50T3B0aW9uIiwiaGFuZGxlcnMiLCJvbkVycm9yIiwicmVmcyIsIm9uU2VuZE1lc3NhZ2VSZWFkeSIsImV4cGFuZGVkIiwiZmxvYXRpbmciLCJhZ2VudHMiLCJvbkRlbGV0ZUFnZW50Iiwib25GYXZvcml0ZUFnZW50VXBkYXRlIiwiaGFzTW9yZUFnZW50cyIsImxvYWRpbmdNb3JlQWdlbnRzIiwib25Mb2FkTW9yZUFnZW50cyIsIm9uR29Ub01haWFrZXIiLCJjaGF0IiwiY2hpbGRyZW4iLCJ1c2VySW5pdGlhbE1lc3NhZ2UiLCJpbml0aWFsQ2hhdElkIiwiYXR0YWNobWVudHMiLCJwcm9qZWN0U3VtbWFyeSIsIm9uUmVzdGFydFN1bW1hcnkiLCJob21lIiwicHJvamVjdFNlbGVjdG9yIiwiaGFuZGxlR29Ib21lIiwiY2xpZW50U2VsZWN0b3IiLCJteUFnZW50cyIsIm9uQmFjayIsIm9uU3RhcnRDaGF0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSUNvbnRlbnQvQ2hhdEFJQ29udGVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbmltcG9ydCB7IENoYXRBSUhvbWUgfSBmcm9tICcuLi9DaGF0QUlIb21lJ1xuaW1wb3J0IHsgUHJvamVjdFN1bW1hcnlDb250ZW50IH0gZnJvbSAnLi4vUHJvamVjdFN1bW1hcnlDb250ZW50J1xuXG5pbXBvcnQgeyBvcHRpb25zIH0gZnJvbSAnLi4vQ2hhdEFJTW9kYWwvY29uc3RhbnRzJ1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBDaGF0QUlQcm9qZWN0U2VsZWN0b3IgfSBmcm9tICcuLi9DaGF0QUlQcm9qZWN0U2VsZWN0b3InXG5pbXBvcnQgeyBDaGF0QUlDbGllbnRTZWxlY3RvciB9IGZyb20gJy4uL0NoYXRBSUNsaWVudFNlbGVjdG9yJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IFNDQ0FJQ29udGVudFdyYXBwZXIgfSBmcm9tICcuL0NoYXRBSUNvbnRlbnQuc3R5bGVzJ1xuaW1wb3J0IHsgQ2hhdEFJTWVzc2FnZXMgfSBmcm9tICcuLi9DaGF0QUlNZXNzYWdlcydcbmltcG9ydCB7IENoYXRBSU15QWdlbnRzIH0gZnJvbSAnLi4vQ2hhdEFJTXlBZ2VudHMvQ2hhdEFJTXlBZ2VudHMnXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuXG50eXBlIENoYXRBSUNvbnRlbnRQcm9wcyA9IHtcbiAgY3VycmVudE9wdGlvbjogb3B0aW9uc1xuICBoYW5kbGVyczogUmVjb3JkPG9wdGlvbnMsICh2YWx1ZT86IGFueSkgPT4gdm9pZD4gJiB7XG4gICAgY2hhdDogKFxuICAgICAgbWVzc2FnZT86IHN0cmluZyxcbiAgICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICAgIGZhcUlkPzogc3RyaW5nLFxuICAgICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgICBmdWFJZD86IHN0cmluZyxcbiAgICAgIHNjSWQ/OiBzdHJpbmdcbiAgICApID0+IHZvaWRcbiAgICBzdGFydENoYXQ/OiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkXG4gICAgaGFuZGxlR29Ib21lOiAoKSA9PiB2b2lkXG4gIH1cbiAgb25FcnJvcjogKCkgPT4gdm9pZFxuICByZWZzOiB7XG4gICAgdXNlckluaXRpYWxNZXNzYWdlOiB7XG4gICAgICBtZXNzYWdlOiBzdHJpbmdcbiAgICAgIGF0dGFjaG1lbnRzOiBBdHRhY2htZW50RmlsZVtdXG4gICAgICBmYXFJZD86IHN0cmluZ1xuICAgICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmdcbiAgICAgIGZ1YUlkPzogc3RyaW5nXG4gICAgICBzY0lkPzogc3RyaW5nXG4gICAgfVxuICAgIGluaXRpYWxDaGF0SWQ6IHN0cmluZyB8IG51bGxcbiAgfVxuICBvblNlbmRNZXNzYWdlUmVhZHk/OiAoXG4gICAgc2VuZE1lc3NhZ2U6IChcbiAgICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICAgIGZhcUlkPzogc3RyaW5nLFxuICAgICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgICBmdWFJZD86IHN0cmluZyxcbiAgICAgIHNjSWQ/OiBzdHJpbmdcbiAgICApID0+IHZvaWQsXG4gICAgc3RvcEdlbmVyYXRpb246ICgpID0+IHZvaWQsXG4gICAgaXNTdHJlYW1pbmc6IGJvb2xlYW4sXG4gICAgaXNXcml0aW5nOiBib29sZWFuXG4gICkgPT4gdm9pZFxuICBleHBhbmRlZD86IGJvb2xlYW5cbiAgLyoqIFBhbmVsIGZsb3RhbnRlIGRlbCBjaGF0IChsYXlvdXQgTUFJQSk7IGFmZWN0YSBjZW50cmFkbyBlbiBob21lIHBhcmEgYWdlbnRlcyBjdXN0b20gKi9cbiAgZmxvYXRpbmc/OiBib29sZWFuXG4gIGFnZW50cz86IEFnZW50W11cbiAgb25EZWxldGVBZ2VudD86IChhZ2VudElkOiBzdHJpbmcpID0+IHZvaWRcbiAgb25GYXZvcml0ZUFnZW50VXBkYXRlPzogKGFnZW50OiBBZ2VudCkgPT4gdm9pZFxuICBoYXNNb3JlQWdlbnRzPzogYm9vbGVhblxuICBsb2FkaW5nTW9yZUFnZW50cz86IGJvb2xlYW5cbiAgb25Mb2FkTW9yZUFnZW50cz86ICgpID0+IHZvaWRcbiAgb25Hb1RvTWFpYWtlcj86ICgpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+XG59XG5cbmV4cG9ydCBjb25zdCBDaGF0QUlDb250ZW50ID0gKHtcbiAgY3VycmVudE9wdGlvbixcbiAgaGFuZGxlcnMsXG4gIG9uRXJyb3IsXG4gIHJlZnMsXG4gIG9uU2VuZE1lc3NhZ2VSZWFkeSxcbiAgZXhwYW5kZWQsXG4gIGZsb2F0aW5nLFxuICBhZ2VudHMsXG4gIG9uRGVsZXRlQWdlbnQsXG4gIG9uRmF2b3JpdGVBZ2VudFVwZGF0ZSxcbiAgaGFzTW9yZUFnZW50cyxcbiAgbG9hZGluZ01vcmVBZ2VudHMsXG4gIG9uTG9hZE1vcmVBZ2VudHMsXG4gIG9uR29Ub01haWFrZXIsXG59OiBDaGF0QUlDb250ZW50UHJvcHMpID0+IHtcbiAgaWYgKGN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuY2hhdCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPENoYXRBSU1lc3NhZ2VzXG4gICAgICAgICAgdXNlckluaXRpYWxNZXNzYWdlPXtyZWZzLnVzZXJJbml0aWFsTWVzc2FnZX1cbiAgICAgICAgICBpbml0aWFsQ2hhdElkPXtyZWZzLmluaXRpYWxDaGF0SWR9XG4gICAgICAgICAgb25FcnJvcj17b25FcnJvcn1cbiAgICAgICAgICBvblNlbmRNZXNzYWdlUmVhZHk9e29uU2VuZE1lc3NhZ2VSZWFkeX1cbiAgICAgICAgICBhdHRhY2htZW50cz17cmVmcy51c2VySW5pdGlhbE1lc3NhZ2UuYXR0YWNobWVudHN9XG4gICAgICAgICAgYWdlbnRzPXthZ2VudHN9XG4gICAgICAgICAgZXhwYW5kZWQ9e2V4cGFuZGVkfVxuICAgICAgICAvPlxuICAgICAgPC9TQ0NBSUNvbnRlbnRXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChjdXJyZW50T3B0aW9uID09PSBvcHRpb25zLnByb2plY3RTdW1tYXJ5KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8UHJvamVjdFN1bW1hcnlDb250ZW50IG9uUmVzdGFydFN1bW1hcnk9e2hhbmRsZXJzLmhvbWV9IC8+XG4gICAgICA8L1NDQ0FJQ29udGVudFdyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMucHJvamVjdFNlbGVjdG9yKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8Q2hhdEFJUHJvamVjdFNlbGVjdG9yIGhhbmRsZXJzPXtoYW5kbGVycy5oYW5kbGVHb0hvbWV9IC8+XG4gICAgICA8L1NDQ0FJQ29udGVudFdyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuY2xpZW50U2VsZWN0b3IpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDxDaGF0QUlDbGllbnRTZWxlY3RvciBoYW5kbGVycz17aGFuZGxlcnMuaGFuZGxlR29Ib21lfSAvPlxuICAgICAgPC9TQ0NBSUNvbnRlbnRXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChjdXJyZW50T3B0aW9uID09PSBvcHRpb25zLm15QWdlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8Q2hhdEFJTXlBZ2VudHNcbiAgICAgICAgICBvbkJhY2s9e2hhbmRsZXJzLmhvbWV9XG4gICAgICAgICAgYWdlbnRzPXthZ2VudHMgfHwgW119XG4gICAgICAgICAgb25EZWxldGVBZ2VudD17b25EZWxldGVBZ2VudH1cbiAgICAgICAgICBvbkZhdm9yaXRlQWdlbnRVcGRhdGU9e29uRmF2b3JpdGVBZ2VudFVwZGF0ZX1cbiAgICAgICAgICBoYXNNb3JlQWdlbnRzPXtoYXNNb3JlQWdlbnRzfVxuICAgICAgICAgIGxvYWRpbmdNb3JlQWdlbnRzPXtsb2FkaW5nTW9yZUFnZW50c31cbiAgICAgICAgICBvbkxvYWRNb3JlQWdlbnRzPXtvbkxvYWRNb3JlQWdlbnRzfVxuICAgICAgICAgIG9uR29Ub01haWFrZXI9e29uR29Ub01haWFrZXJ9XG4gICAgICAgIC8+XG4gICAgICA8L1NDQ0FJQ29udGVudFdyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlDb250ZW50V3JhcHBlcj5cbiAgICAgIDxDaGF0QUlIb21lIGhhbmRsZXJzPXtoYW5kbGVyc30gb25TdGFydENoYXQ9e2hhbmRsZXJzLmNoYXR9IGV4cGFuZGVkPXtleHBhbmRlZH0gZmxvYXRpbmc9e2Zsb2F0aW5nfSAvPlxuICAgIDwvU0NDQUlDb250ZW50V3JhcHBlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsU0FBU0EsVUFBVSxRQUFRLGVBQWU7QUFDMUMsU0FBU0MscUJBQXFCLFFBQVEsMEJBQTBCO0FBRWhFLFNBQVNDLE9BQU8sUUFBUSwwQkFBMEI7QUFFbEQsU0FBU0MscUJBQXFCLFFBQVEsMEJBQTBCO0FBQ2hFLFNBQVNDLG9CQUFvQixRQUFRLHlCQUF5QjtBQUU5RCxTQUFTQyxtQkFBbUIsUUFBUSx3QkFBd0I7QUFDNUQsU0FBU0MsY0FBYyxRQUFRLG1CQUFtQjtBQUNsRCxTQUFTQyxjQUFjLFFBQVEsa0NBQWtDO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBd0RqRSxPQUFPLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBQUMsSUFBQSxFQWVBO0VBQUEsSUFkeEJDLGFBQWEsR0FBQUQsSUFBQSxDQUFiQyxhQUFhO0lBQ2JDLFFBQVEsR0FBQUYsSUFBQSxDQUFSRSxRQUFRO0lBQ1JDLE9BQU8sR0FBQUgsSUFBQSxDQUFQRyxPQUFPO0lBQ1BDLElBQUksR0FBQUosSUFBQSxDQUFKSSxJQUFJO0lBQ0pDLGtCQUFrQixHQUFBTCxJQUFBLENBQWxCSyxrQkFBa0I7SUFDbEJDLFFBQVEsR0FBQU4sSUFBQSxDQUFSTSxRQUFRO0lBQ1JDLFFBQVEsR0FBQVAsSUFBQSxDQUFSTyxRQUFRO0lBQ1JDLE1BQU0sR0FBQVIsSUFBQSxDQUFOUSxNQUFNO0lBQ05DLGFBQWEsR0FBQVQsSUFBQSxDQUFiUyxhQUFhO0lBQ2JDLHFCQUFxQixHQUFBVixJQUFBLENBQXJCVSxxQkFBcUI7SUFDckJDLGFBQWEsR0FBQVgsSUFBQSxDQUFiVyxhQUFhO0lBQ2JDLGlCQUFpQixHQUFBWixJQUFBLENBQWpCWSxpQkFBaUI7SUFDakJDLGdCQUFnQixHQUFBYixJQUFBLENBQWhCYSxnQkFBZ0I7SUFDaEJDLGFBQWEsR0FBQWQsSUFBQSxDQUFiYyxhQUFhO0VBRWIsSUFBSWIsYUFBYSxLQUFLVixPQUFPLENBQUN3QixJQUFJLEVBQUU7SUFDbEMsb0JBQ0VqQixJQUFBLENBQUNKLG1CQUFtQjtNQUFBc0IsUUFBQSxlQUNsQmxCLElBQUEsQ0FBQ0gsY0FBYztRQUNic0Isa0JBQWtCLEVBQUViLElBQUksQ0FBQ2Esa0JBQW1CO1FBQzVDQyxhQUFhLEVBQUVkLElBQUksQ0FBQ2MsYUFBYztRQUNsQ2YsT0FBTyxFQUFFQSxPQUFRO1FBQ2pCRSxrQkFBa0IsRUFBRUEsa0JBQW1CO1FBQ3ZDYyxXQUFXLEVBQUVmLElBQUksQ0FBQ2Esa0JBQWtCLENBQUNFLFdBQVk7UUFDakRYLE1BQU0sRUFBRUEsTUFBTztRQUNmRixRQUFRLEVBQUVBO01BQVMsQ0FDcEI7SUFBQyxDQUNpQixDQUFDO0VBRTFCO0VBRUEsSUFBSUwsYUFBYSxLQUFLVixPQUFPLENBQUM2QixjQUFjLEVBQUU7SUFDNUMsb0JBQ0V0QixJQUFBLENBQUNKLG1CQUFtQjtNQUFBc0IsUUFBQSxlQUNsQmxCLElBQUEsQ0FBQ1IscUJBQXFCO1FBQUMrQixnQkFBZ0IsRUFBRW5CLFFBQVEsQ0FBQ29CO01BQUssQ0FBRTtJQUFDLENBQ3ZDLENBQUM7RUFFMUI7RUFFQSxJQUFJckIsYUFBYSxLQUFLVixPQUFPLENBQUNnQyxlQUFlLEVBQUU7SUFDN0Msb0JBQ0V6QixJQUFBLENBQUNKLG1CQUFtQjtNQUFBc0IsUUFBQSxlQUNsQmxCLElBQUEsQ0FBQ04scUJBQXFCO1FBQUNVLFFBQVEsRUFBRUEsUUFBUSxDQUFDc0I7TUFBYSxDQUFFO0lBQUMsQ0FDdkMsQ0FBQztFQUUxQjtFQUVBLElBQUl2QixhQUFhLEtBQUtWLE9BQU8sQ0FBQ2tDLGNBQWMsRUFBRTtJQUM1QyxvQkFDRTNCLElBQUEsQ0FBQ0osbUJBQW1CO01BQUFzQixRQUFBLGVBQ2xCbEIsSUFBQSxDQUFDTCxvQkFBb0I7UUFBQ1MsUUFBUSxFQUFFQSxRQUFRLENBQUNzQjtNQUFhLENBQUU7SUFBQyxDQUN0QyxDQUFDO0VBRTFCO0VBRUEsSUFBSXZCLGFBQWEsS0FBS1YsT0FBTyxDQUFDbUMsUUFBUSxFQUFFO0lBQ3RDLG9CQUNFNUIsSUFBQSxDQUFDSixtQkFBbUI7TUFBQXNCLFFBQUEsZUFDbEJsQixJQUFBLENBQUNGLGNBQWM7UUFDYitCLE1BQU0sRUFBRXpCLFFBQVEsQ0FBQ29CLElBQUs7UUFDdEJkLE1BQU0sRUFBRUEsTUFBTSxJQUFJLEVBQUc7UUFDckJDLGFBQWEsRUFBRUEsYUFBYztRQUM3QkMscUJBQXFCLEVBQUVBLHFCQUFzQjtRQUM3Q0MsYUFBYSxFQUFFQSxhQUFjO1FBQzdCQyxpQkFBaUIsRUFBRUEsaUJBQWtCO1FBQ3JDQyxnQkFBZ0IsRUFBRUEsZ0JBQWlCO1FBQ25DQyxhQUFhLEVBQUVBO01BQWMsQ0FDOUI7SUFBQyxDQUNpQixDQUFDO0VBRTFCO0VBRUEsb0JBQ0VoQixJQUFBLENBQUNKLG1CQUFtQjtJQUFBc0IsUUFBQSxlQUNsQmxCLElBQUEsQ0FBQ1QsVUFBVTtNQUFDYSxRQUFRLEVBQUVBLFFBQVM7TUFBQzBCLFdBQVcsRUFBRTFCLFFBQVEsQ0FBQ2EsSUFBSztNQUFDVCxRQUFRLEVBQUVBLFFBQVM7TUFBQ0MsUUFBUSxFQUFFQTtJQUFTLENBQUU7RUFBQyxDQUNuRixDQUFDO0FBRTFCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -655,8 +655,7 @@ export var ChatAIModal = function ChatAIModal(_ref) {
|
|
|
655
655
|
hasMoreAgents: !!agents.has_more,
|
|
656
656
|
loadingMoreAgents: loadingMore,
|
|
657
657
|
onLoadMoreAgents: loadMoreAgents,
|
|
658
|
-
onGoToMaiaker: handleGoToMaiaker
|
|
659
|
-
tooltipZIndex: tooltipZIndex
|
|
658
|
+
onGoToMaiaker: handleGoToMaiaker
|
|
660
659
|
}) : /*#__PURE__*/_jsx(ProjectSummaryContent, {
|
|
661
660
|
onRestartSummary: handlers.home
|
|
662
661
|
}), (computedCurrentOption === options.home && !!(agents !== null && agents !== void 0 && (_agents$data = agents.data) !== null && _agents$data !== void 0 && _agents$data.length) || computedCurrentOption === options.chat) && !hideFooterOnMaiakerMarketplaceHome && !hasError && !loading && validateAccessByFeature(section) && /*#__PURE__*/_jsx(ChatAiModalFooter, {
|
|
@@ -696,4 +695,4 @@ export var ChatAIModal = function ChatAIModal(_ref) {
|
|
|
696
695
|
}), /*#__PURE__*/_jsx(Snackbar, {})]
|
|
697
696
|
}), selector);
|
|
698
697
|
};
|
|
699
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZUVmZmVjdCIsInVzZUxheW91dEVmZmVjdCIsIlJlYWN0RE9NIiwibW9tZW50IiwidXNlVHJhbnNsYXRpb24iLCJ1c2VVc2VyIiwiTUFJQUVycm9yIiwidXNlTWFpYVRhc2tQYW5lbFpJbmRleCIsIkNoYXRBSUNvbnRlbnQiLCJidWlsZEhhbmRsZXJzIiwib3B0aW9ucyIsIlNpZGViYXIiLCJ1c2VHZXRBZ2VudHMiLCJ1c2VHbG9iYWxDb250ZXh0IiwiQ2hhdEFJTW9kYWxIZWFkZXIiLCJTbmFja2JhciIsIlByb2plY3RTdW1tYXJ5Q29udGVudCIsIkFibUFnZW50TW9kYWwiLCJTRUNUSU9OUyIsIlNDQ0FJTUNvbnRlbnQiLCJTQ0NBSU1Db250ZW50V3JhcHBlciIsIlNDQ0FJTVdyYXBwZXIiLCJnZXRNYWlhRmxvYXRpbmdQYW5lbFdpZHRoUHgiLCJGbG9hdGluZ1BhbmVsTW90aW9uIiwidXNlRmxvYXRpbmdQYW5lbERyYWdUaWx0IiwiQ2hhdEFpTW9kYWxGb290ZXIiLCJ2YWxpZGF0ZUlzTWFpYSIsInVzZUZhcXNTdG9yZSIsImZldGNoTWFpYSIsIm1hcENPUkxhbmciLCJFVkVOVFMiLCJ1c2VFdmVudCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIklEX01PREFMX0NIQVRfQUdFTlQiLCJ2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZSIsInNlY3Rpb24iLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiQ2hhdEFJTW9kYWwiLCJfcmVmIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJfdXNlciRwZXJtaXNzaW9uczIiLCJfdXNlciRwZXJtaXNzaW9uczMiLCJfYWdlbnRzJGRhdGEiLCJoYW5kbGVDbG9zZSIsInVzZXIiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsImkxOG4iLCJhbXBsaXR1ZEV2ZW50IiwiaGFuZGxlQ2xvc2VNb2RhbCIsImdldFN0YXRlIiwiY2xlYXJGYXFzIiwiX3VzZVN0YXRlIiwibWVzc2FnZSIsImF0dGFjaG1lbnRzIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwidXNlckluaXRpYWxNZXNzYWdlIiwic2V0VXNlckluaXRpYWxNZXNzYWdlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpbml0aWFsQ2hhdElkIiwic2V0SW5pdGlhbENoYXRJZCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwibmV3Q2hhdEtleSIsInNldE5ld0NoYXRLZXkiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbmRNZXNzYWdlRnVuY3Rpb24iLCJzZXRTZW5kTWVzc2FnZUZ1bmN0aW9uIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJzdG9wR2VuZXJhdGlvbkZ1bmN0aW9uIiwic2V0U3RvcEdlbmVyYXRpb25GdW5jdGlvbiIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsImlzU3RyZWFtaW5nIiwic2V0SXNTdHJlYW1pbmciLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwiaXNXcml0aW5nIiwic2V0SXNXcml0aW5nIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsInJlZmV0Y2hDaGF0cyIsInNldFJlZmV0Y2hDaGF0cyIsIl91c2VTdGF0ZTE1IiwiaG9tZSIsIl91c2VTdGF0ZTE2IiwiY3VycmVudE9wdGlvbiIsInNldEN1cnJlbnRPcHRpb24iLCJfdXNlU3RhdGUxNyIsIl91c2VTdGF0ZTE4IiwiaGFzRXJyb3IiLCJzZXRIYXNFcnJvciIsImhhbmRsZXJzIiwiX3VzZVN0YXRlMTkiLCJfdXNlU3RhdGUyMCIsInNpZGViYXJIYXNFcnJvciIsInNldFNpZGViYXJIYXNFcnJvciIsInJlc2V0U2VsZWN0ZWRDaGF0UmVmIiwibGFuZyIsImxhbmd1YWdlIiwibG9jYWxlIiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RBZ2VudCIsImFnZW50IiwicHJvamVjdCIsImNsaWVudCIsInRvZ2dsZVdlYlNlYXJjaCIsImlzV2ViU2VhcmNoQWN0aXZlIiwic2V0Q2hpcHNQcm9qZWN0Iiwic2V0Q2xpZW50Iiwic2V0UHJvamVjdCIsImJhbm5lckVudHJ5RmFxIiwic2V0VGFzayIsInRvb2x0aXBaSW5kZXgiLCJfdXNlR2V0QWdlbnRzIiwiaGFuZGxlR29Ib21lIiwiYWdlbnRzIiwibG9hZGluZyIsImxvYWRpbmdNb3JlIiwiYWdlbnRFcnJvciIsImVycm9yIiwiaGFuZGxlR2V0QWdlbnRzIiwibG9hZE1vcmVBZ2VudHMiLCJhZGRBZ2VudCIsInJlbW92ZUFnZW50IiwidXBkYXRlQWdlbnQiLCJ1cGRhdGVBZ2VudEZhdm9yaXRlIiwic2VsZWN0Rmlyc3RBZ2VudCIsInNvcnRBZ2VudHNMaXN0IiwiaXNNQUlBIiwidXNlckhhc1Blcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjcmVhdGUiLCJlZGl0IiwiY29tcHV0ZWRDdXJyZW50T3B0aW9uIiwiaXNHbG9iYWxTcGVjaWFsaXN0IiwiZW50aXR5IiwiaXNQcm9qZWN0U3BlY2lhbGlzdCIsImlzQ2xpZW50U3BlY2lhbGlzdCIsImlzTWFpYWtlciIsInRlc3QiLCJuYW1lIiwibXlBZ2VudHMiLCJjaGF0Iiwic2hvdWxkU2hvd1Byb2plY3RTZWxlY3RvciIsInNob3VsZFNob3dDbGllbnRTZWxlY3RvciIsInByb2plY3RTZWxlY3RvciIsImNsaWVudFNlbGVjdG9yIiwiaXNNYWlha2VyQWdlbnRTZWxlY3RlZCIsInR5cGUiLCJzaWRlYmFyQWdlbnRzTmF2QWN0aXZlIiwiYWdlbnRzRmV0Y2hlZFJlZiIsInNlbGVjdG9yIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiY29uY2F0IiwiX3VzZVN0YXRlMjEiLCJfdXNlU3RhdGUyMiIsImxheW91dE1vZGUiLCJzZXRMYXlvdXRNb2RlIiwiZXhwYW5kZWQiLCJpc0Zsb2F0aW5nIiwiY29udGVudFdyYXBwZXJSZWYiLCJfdXNlU3RhdGUyMyIsIl91c2VTdGF0ZTI0IiwiZHJhZ1Bvc2l0aW9uIiwic2V0RHJhZ1Bvc2l0aW9uIiwiX3VzZUZsb2F0aW5nUGFuZWxEcmFnIiwidGlsdE1vdGlvbiIsInN0YXJ0UG9pbnRlclRyYWNraW5nIiwic2FtcGxlUG9pbnRlck1vdmUiLCJlbmRQb2ludGVyVHJhY2tpbmciLCJkcmFnU3RhdGVSZWYiLCJjbGFtcERyYWdQb3NpdGlvbiIsIngiLCJ5IiwiY29udGVudFdyYXBwZXIiLCJjdXJyZW50IiwiX2NvbnRlbnRXcmFwcGVyJGdldEJvIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iiwid2lkdGgiLCJoZWlnaHQiLCJvZmZzZXQiLCJtYXhYIiwiTWF0aCIsIm1heCIsImlubmVyV2lkdGgiLCJtYXhZIiwiaW5uZXJIZWlnaHQiLCJtaW4iLCJwcmV2IiwicGFkIiwiaGFuZGxlRHJhZ0VuZCIsImV2ZW50IiwiX2RyYWdTdGF0ZVJlZiRjdXJyZW50IiwicG9pbnRlcklkIiwiYm9keSIsInN0eWxlIiwidXNlclNlbGVjdCIsImN1cnNvciIsImhhbmRsZURyYWdNb3ZlIiwiZHJhZ1N0YXRlIiwiY2xpZW50WCIsImNsaWVudFkiLCJuZXh0UG9zaXRpb24iLCJvZmZzZXRYIiwib2Zmc2V0WSIsInJlc29sdmVkRHJhZ1Bvc2l0aW9uIiwiaGFuZGxlRHJhZ1N0YXJ0IiwiYnV0dG9uIiwidGFyZ2V0IiwiY2xvc2VzdCIsInJlY3QiLCJpbml0aWFsUG9zaXRpb24iLCJsZWZ0IiwidG9wIiwicG9pbnRlck9mZnNldFgiLCJwb2ludGVyT2Zmc2V0WSIsImN1cnJlbnRUYXJnZXQiLCJzZXRQb2ludGVyQ2FwdHVyZSIsInByZXZlbnREZWZhdWx0IiwiYWlDaGF0RHJhZ2dhYmxlIiwic3RhcnRDaGF0IiwiZmFxSWQiLCJhZ2VudFN1Z2dlc3Rpb25JZCIsIm1lbnRpb25zIiwiZnVhSWQiLCJzY0lkIiwiX29iamVjdFNwcmVhZCIsImxlbmd0aCIsImJhbm5lckZhcUF1dG9TZW50UmVmIiwiX2Jhbm5lckVudHJ5RmFxJGZhcVRpIiwiZW50aXR5UmVhZHkiLCJCb29sZWFuIiwiaWQiLCJmYXFUaXRsZSIsInRyaW0iLCJnb1RvQ2hhdCIsInNlc3Npb25FeHRlcm5hbElkIiwic2VsZWN0ZWRBZ2VudCIsImRhdGEiLCJmaW5kIiwiYWdlbnRJdGVtIiwiYWdlbnRJZCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImhhbmRsZVNlbmRNZXNzYWdlUmVhZHkiLCJzZW5kTWVzc2FnZSIsInN0b3BHZW5lcmF0aW9uIiwic3RyZWFtaW5nIiwid3JpdGluZyIsImhhbmRsZVNlbmRNZXNzYWdlIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsInByb2plY3RfZGVsZXRlZCIsImhhbmRsZVJlc2V0Q2hhdCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwibmV4dCIsInN0b3AiLCJoYW5kbGVCYWNrIiwib25NZXJnZUNyZWF0ZWRBZ2VudCIsImV2dCIsIl9yZWYzIiwiZGV0YWlsIiwibmV4dEFnZW50IiwibmF2aWdhdGVIb21lIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvblN5bmNFZGl0ZWRBZ2VudCIsIl9yZWY0Iiwib3BlbkNoYXRWaWV3Iiwib3Blbk5ld0NoYXRXaXRoQWdlbnQiLCJfZGV0YWlsJHByb2plY3QiLCJfZGV0YWlsJGNsaWVudCIsIl9yZWY1IiwidGFzayIsInVuZGVmaW5lZCIsInNob3dOZXdDaGF0IiwiaGlkZUhlYWRlckFnZW50U2VsZWN0b3IiLCJzaG93QmFja0J1dHRvbiIsImhhbmRsZU9wZW5NYXJrZXRwbGFjZSIsImhhbmRsZUdvVG9NYWlha2VyIiwiX2NhbGxlZTIiLCJtYWlha2VyQWdlbnQiLCJyZXNwb25zZSIsIl90IiwiX2NvbnRleHQyIiwiYSIsInBhdGgiLCJtZXRob2QiLCJzZW50IiwianNvbiIsImFicnVwdCIsImhhbmRsZURlbGV0ZUFnZW50RnJvbU15QWdlbnRzIiwiaGlkZUZvb3Rlck9uTWFpYWtlck1hcmtldHBsYWNlSG9tZSIsIm1vZGFsUGFuZWwiLCJjaGlsZHJlbiIsImRpc3BsYXkiLCJvbkdvVG9DaGF0Iiwib25FcnJvciIsImhhbmRsZUdvVG9Ib21lIiwiaGFuZGxlU2V0UmVmZXRjaENoYXRzIiwiYWdlbnRzTmF2QWN0aXZlIiwiZmxvYXRpbmciLCJvbkxheW91dE1vZGVDaGFuZ2UiLCJkcmFnZ2FibGUiLCJvbkRyYWdTdGFydCIsIm9uRHJhZ01vdmUiLCJvbkRyYWdFbmQiLCJoYXNNb3JlIiwiaGFzX21vcmUiLCJvbkFnZW50VXBkYXRlIiwiaGlkZUFnZW50U2VsZWN0b3IiLCJvbkJhY2siLCJyZWZzIiwib25TZW5kTWVzc2FnZVJlYWR5Iiwib25EZWxldGVBZ2VudCIsIm9uRmF2b3JpdGVBZ2VudFVwZGF0ZSIsImhhc01vcmVBZ2VudHMiLCJsb2FkaW5nTW9yZUFnZW50cyIsIm9uTG9hZE1vcmVBZ2VudHMiLCJvbkdvVG9NYWlha2VyIiwib25SZXN0YXJ0U3VtbWFyeSIsImhhbmRsZVN0b3BHZW5lcmF0aW9uIiwiY2hhdElkIiwic2hvd0ZhcXMiLCJyZWYiLCJjcmVhdGVQb3J0YWwiLCJlbGV2YXRlZCIsInRpbHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvQ2hhdEFJTW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLW5lc3RlZC10ZXJuYXJ5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtbm8tdXNlbGVzcy1mcmFnbWVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9uby1zdGF0aWMtZWxlbWVudC1pbnRlcmFjdGlvbnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9yZXF1aXJlLWRlZmF1bHQtcHJvcHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCB7XG4gIFJlZk9iamVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxuICB1c2VSZWYsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICBQb2ludGVyRXZlbnQgYXMgUmVhY3RQb2ludGVyRXZlbnQsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBNQUlBRXJyb3IgfSBmcm9tICcuLi8uLi9hdG9tcy9NQUlBRXJyb3InXG5pbXBvcnQgeyB1c2VNYWlhVGFza1BhbmVsWkluZGV4IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCdcblxuaW1wb3J0IHsgQ2hhdEFJQ29udGVudCB9IGZyb20gJy4uL0NoYXRBSUNvbnRlbnQnXG5pbXBvcnQgeyBidWlsZEhhbmRsZXJzLCBvcHRpb25zIH0gZnJvbSAnLi9jb25zdGFudHMnXG5pbXBvcnQgeyBTaWRlYmFyIH0gZnJvbSAnLi4vU2lkZWJhcidcbmltcG9ydCB7IHVzZUdldEFnZW50cyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2dldEFnZW50cydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgQ2hhdEFJTW9kYWxIZWFkZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxIZWFkZXIvQ2hhdEFpTW9kYWxIZWFkZXInXG5pbXBvcnQgeyBTbmFja2JhciB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9TbmFja0Jhci9TbmFja2JhcidcbmltcG9ydCB7IFByb2plY3RTdW1tYXJ5Q29udGVudCB9IGZyb20gJy4uL1Byb2plY3RTdW1tYXJ5Q29udGVudCdcbmltcG9ydCB7IEFibUFnZW50TW9kYWwgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvQWJtQWdlbnRNb2RhbC9BYm1BZ2VudE1vZGFsJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgU0NDQUlNQ29udGVudCwgU0NDQUlNQ29udGVudFdyYXBwZXIsIFNDQ0FJTVdyYXBwZXIgfSBmcm9tICcuL0NoYXRBSU1vZGFsLnN0eWxlcydcbmltcG9ydCB7IGdldE1haWFGbG9hdGluZ1BhbmVsV2lkdGhQeCwgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuL2xheW91dCdcbmltcG9ydCB7IEZsb2F0aW5nUGFuZWxNb3Rpb24sIHVzZUZsb2F0aW5nUGFuZWxEcmFnVGlsdCB9IGZyb20gJy4vZmxvYXRpbmdQYW5lbE1vdGlvbidcbmltcG9ydCB7IENoYXRBaU1vZGFsRm9vdGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL0NoYXRBaU1vZGFsRm9vdGVyJ1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvUHJvamVjdCdcbmltcG9ydCB7IENsaWVudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0NsaWVudCdcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9UYXNrJ1xuaW1wb3J0IHsgdXNlRmFxc1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvdXNlRmFxc1N0b3JlJ1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9jbGllbnQnXG5pbXBvcnQgeyBtYXBDT1JMYW5nIH0gZnJvbSAnLi4vLi4vLi4vbGFuZy91dGlscydcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcblxudHlwZSBDaGF0QUlNb2RhbFByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgaGFuZGxlQ2xvc2U/OiAoKSA9PiB2b2lkXG4gIHBhcmVudFJlZj86IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD5cbn1cblxuZXhwb3J0IGNvbnN0IElEX01PREFMX0NIQVRfQUdFTlQgPSAnbW9kYWxzLXBvcnRhbC1tYWlhLWNoYXQtYWdlbnQnXG5cbmNvbnN0IHZhbGlkYXRlQWNjZXNzQnlGZWF0dXJlID0gKHNlY3Rpb246IHN0cmluZykgPT4ge1xuICBpZiAoc2VjdGlvbiA9PT0gJ2hlYWRlcicgJiYgKHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIHx8IHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MpKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuICBpZiAoKHNlY3Rpb24gPT09ICdwcm9qZWN0JyB8fCBzZWN0aW9uID09PSAnY2xpZW50JyB8fCBzZWN0aW9uID09PSAndGFzaycpICYmIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MpIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWwgPSAoeyBoYW5kbGVDbG9zZSB9OiBDaGF0QUlNb2RhbFByb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgeyBpMThuIH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCBhbXBsaXR1ZEV2ZW50ID0gdXNlRXZlbnQoKVxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlTW9kYWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdXNlRmFxc1N0b3JlLmdldFN0YXRlKCkuY2xlYXJGYXFzKClcbiAgICBoYW5kbGVDbG9zZT8uKClcbiAgfSwgW2hhbmRsZUNsb3NlXSlcbiAgY29uc3QgW3VzZXJJbml0aWFsTWVzc2FnZSwgc2V0VXNlckluaXRpYWxNZXNzYWdlXSA9IHVzZVN0YXRlPHtcbiAgICBtZXNzYWdlOiBzdHJpbmdcbiAgICBhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXVxuICAgIGZhcUlkPzogc3RyaW5nXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmdcbiAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW11cbiAgICBmdWFJZD86IHN0cmluZ1xuICAgIHNjSWQ/OiBzdHJpbmdcbiAgfT4oe1xuICAgIG1lc3NhZ2U6ICcnLFxuICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgfSlcbiAgY29uc3QgW2luaXRpYWxDaGF0SWQsIHNldEluaXRpYWxDaGF0SWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW25ld0NoYXRLZXksIHNldE5ld0NoYXRLZXldID0gdXNlU3RhdGUoMClcbiAgY29uc3QgW3NlbmRNZXNzYWdlRnVuY3Rpb24sIHNldFNlbmRNZXNzYWdlRnVuY3Rpb25dID0gdXNlU3RhdGU8XG4gICAgfCAoKFxuICAgICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICAgICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgICAgIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nLFxuICAgICAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgICAgIGZ1YUlkPzogc3RyaW5nLFxuICAgICAgICBzY0lkPzogc3RyaW5nXG4gICAgICApID0+IHZvaWQpXG4gICAgfCBudWxsXG4gID4obnVsbClcbiAgY29uc3QgW3N0b3BHZW5lcmF0aW9uRnVuY3Rpb24sIHNldFN0b3BHZW5lcmF0aW9uRnVuY3Rpb25dID0gdXNlU3RhdGU8KCgpID0+IHZvaWQpIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2lzU3RyZWFtaW5nLCBzZXRJc1N0cmVhbWluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzV3JpdGluZywgc2V0SXNXcml0aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IFtyZWZldGNoQ2hhdHMsIHNldFJlZmV0Y2hDaGF0c10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2N1cnJlbnRPcHRpb24sIHNldEN1cnJlbnRPcHRpb25dID0gdXNlU3RhdGUob3B0aW9ucy5ob21lKVxuICBjb25zdCBbaGFzRXJyb3IsIHNldEhhc0Vycm9yXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBoYW5kbGVycyA9IHVzZU1lbW8oKCkgPT4gYnVpbGRIYW5kbGVycyhzZXRDdXJyZW50T3B0aW9uLCBzZXRIYXNFcnJvciksIFtdKVxuICBjb25zdCBbc2lkZWJhckhhc0Vycm9yLCBzZXRTaWRlYmFySGFzRXJyb3JdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHJlc2V0U2VsZWN0ZWRDaGF0UmVmID0gdXNlUmVmPCgoKSA9PiB2b2lkKSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGxhbmcgPSBpMThuLmxhbmd1YWdlID09PSAnYnInID8gJ3B0LWJyJyA6IGkxOG4ubGFuZ3VhZ2VcblxuICBtb21lbnQubG9jYWxlKGxhbmcpXG5cbiAgY29uc3Qge1xuICAgIHNlbGVjdEFnZW50LFxuICAgIHNlY3Rpb24sXG4gICAgYWdlbnQsXG4gICAgcHJvamVjdCxcbiAgICBjbGllbnQsXG4gICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgIHNldENoaXBzUHJvamVjdCxcbiAgICBzZXRDbGllbnQsXG4gICAgc2V0UHJvamVjdCxcbiAgICBiYW5uZXJFbnRyeUZhcSxcbiAgICBzZXRUYXNrLFxuICB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG5cbiAgLy8gWi1pbmRleCBwYXJhIHRvb2x0aXBzIGVuIHNlY3Rpb24gJ3Rhc2snIChtb2RhbCBmbG90YW50ZSBlbGV2YWRvKVxuICBjb25zdCB0b29sdGlwWkluZGV4ID0gdXNlTWFpYVRhc2tQYW5lbFpJbmRleCgxNTAwLCAnb3ZlcmxheScpXG5cbiAgY29uc3Qge1xuICAgIGFnZW50cyxcbiAgICBsb2FkaW5nLFxuICAgIGxvYWRpbmdNb3JlLFxuICAgIGVycm9yOiBhZ2VudEVycm9yLFxuICAgIGhhbmRsZUdldEFnZW50cyxcbiAgICBsb2FkTW9yZUFnZW50cyxcbiAgICBhZGRBZ2VudCxcbiAgICByZW1vdmVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudEZhdm9yaXRlLFxuICAgIHNlbGVjdEZpcnN0QWdlbnQsXG4gICAgc29ydEFnZW50c0xpc3QsXG4gIH0gPSB1c2VHZXRBZ2VudHMoeyBzZWxlY3RBZ2VudCwgc2VjdGlvbiwgYWdlbnQsIGhhbmRsZUdvSG9tZTogaGFuZGxlcnMuaG9tZSB9KVxuXG4gIGNvbnN0IGlzTUFJQSA9IHZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KVxuXG4gIGNvbnN0IHVzZXJIYXNQZXJtaXNzaW9ucyA9XG4gICAgKHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHM/LmNyZWF0ZSB8fFxuICAgICAgdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50cz8uZWRpdCB8fFxuICAgICAgdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50cz8uZGVsZXRlKSAmJlxuICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG5cbiAgY29uc3QgY29tcHV0ZWRDdXJyZW50T3B0aW9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgaXNHbG9iYWxTcGVjaWFsaXN0ID0gaXNNQUlBICYmIGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnXG4gICAgY29uc3QgaXNQcm9qZWN0U3BlY2lhbGlzdCA9IGlzTUFJQSAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT0gbnVsbClcbiAgICBjb25zdCBpc0NsaWVudFNwZWNpYWxpc3QgPSBpc01BSUEgJiYgYWdlbnQ/LmVudGl0eSA9PT0gJ2NsaWVudCdcbiAgICBjb25zdCBpc01haWFrZXIgPSBpc0dsb2JhbFNwZWNpYWxpc3QgJiYgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYWdlbnQ/Lm5hbWUgfHwgJycpXG5cbiAgICBpZiAoY3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5teUFnZW50cyAmJiB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUykge1xuICAgICAgcmV0dXJuIG9wdGlvbnMubXlBZ2VudHNcbiAgICB9XG5cbiAgICBpZiAoaXNHbG9iYWxTcGVjaWFsaXN0ICYmICFpc01haWFrZXIgJiYgY3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5ob21lKSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5jaGF0XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvdWxkU2hvd1Byb2plY3RTZWxlY3RvciA9IGN1cnJlbnRPcHRpb24gIT09IG9wdGlvbnMuY2hhdCAmJiBpc1Byb2plY3RTcGVjaWFsaXN0ICYmICFwcm9qZWN0XG4gICAgY29uc3Qgc2hvdWxkU2hvd0NsaWVudFNlbGVjdG9yID0gY3VycmVudE9wdGlvbiAhPT0gb3B0aW9ucy5jaGF0ICYmIGlzQ2xpZW50U3BlY2lhbGlzdCAmJiAhY2xpZW50XG5cbiAgICBpZiAoc2hvdWxkU2hvd1Byb2plY3RTZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIG9wdGlvbnMucHJvamVjdFNlbGVjdG9yXG4gICAgfVxuICAgIGlmIChzaG91bGRTaG93Q2xpZW50U2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiBvcHRpb25zLmNsaWVudFNlbGVjdG9yXG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50T3B0aW9uXG4gIH0sIFtjdXJyZW50T3B0aW9uLCBwcm9qZWN0LCBjbGllbnQsIGlzTUFJQSwgYWdlbnQ/LmVudGl0eSwgYWdlbnQ/Lm5hbWVdKVxuXG4gIGNvbnN0IGlzTWFpYWtlckFnZW50U2VsZWN0ZWQgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBpc01BSUEgJiZcbiAgICAgIGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnICYmXG4gICAgICBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJlxuICAgICAgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYWdlbnQ/Lm5hbWUgfHwgJycpLFxuICAgIFtpc01BSUEsIGFnZW50Py5lbnRpdHksIGFnZW50Py50eXBlLCBhZ2VudD8ubmFtZV1cbiAgKVxuXG4gIGNvbnN0IHNpZGViYXJBZ2VudHNOYXZBY3RpdmUgPSB1c2VNZW1vKCgpOiAnbWFpYWtlcicgfCAnbXlBZ2VudHMnIHwgbnVsbCA9PiB7XG4gICAgaWYgKGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5teUFnZW50cykgcmV0dXJuICdteUFnZW50cydcbiAgICBpZiAoaXNNYWlha2VyQWdlbnRTZWxlY3RlZCkgcmV0dXJuICdtYWlha2VyJ1xuICAgIHJldHVybiBudWxsXG4gIH0sIFtjb21wdXRlZEN1cnJlbnRPcHRpb24sIGlzTWFpYWtlckFnZW50U2VsZWN0ZWRdKVxuXG4gIC8qIFJlYWN0aXZhciBjb24gbGEgZmlsYSDigJxNaXMgYWdlbnRlc+KAnSBlbiBTaWRlYmFyOiBteUFnZW50c0NvdW50IHByb3BcbiAgY29uc3Qgc2lkZWJhck15QWdlbnRzQ291bnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gYWdlbnRzLmRhdGEuZmlsdGVyKFxuICAgICAgYSA9PiAhKGEudHlwZSA9PT0gJ2Nsb25lJyAmJiBhLmVudGl0eSA9PT0gJ2dsb2JhbCcgJiYgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYS5uYW1lIHx8ICcnKSlcbiAgICApXG4gICAgICAubGVuZ3RoXG4gIH0sIFthZ2VudHMuZGF0YV0pXG4gICovXG5cbiAgY29uc3QgYWdlbnRzRmV0Y2hlZFJlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBzZWxlY3RvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke0lEX01PREFMX0NIQVRfQUdFTlR9YClcblxuICAvLyBFbiBzZWN0aW9uICd0YXNrJyBNYWlhIGFicmUgZW4gbW9kbyBmbG90YW50ZSBwb3IgZGVmYXVsdCAoc2UgYWJyZSBkZXNkZSBlbCB0YXNrIHBhbmVsLFxuICAvLyBubyBxdWVyZW1vcyB0YXBhcmxvIGVudGVybykuIEVsIHVzdWFyaW8gcHVlZGUgY2FtYmlhciBhIHNpZGViYXIvZnVsbHNjcmVlbiBkZXNkZSBsb3MgY29udHJvbGVzIGRlbCBtb2RhbC5cbiAgY29uc3QgW2xheW91dE1vZGUsIHNldExheW91dE1vZGVdID0gdXNlU3RhdGU8TWFpYUNoYXRNb2RhbExheW91dE1vZGU+KHNlY3Rpb24gPT09ICd0YXNrJyA/ICdmbG9hdGluZycgOiAnc2lkZWJhcicpXG4gIGNvbnN0IGV4cGFuZGVkID0gbGF5b3V0TW9kZSA9PT0gJ2Z1bGxzY3JlZW4nXG4gIGNvbnN0IGlzRmxvYXRpbmcgPSBsYXlvdXRNb2RlID09PSAnZmxvYXRpbmcnXG4gIGNvbnN0IGNvbnRlbnRXcmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbZHJhZ1Bvc2l0aW9uLCBzZXREcmFnUG9zaXRpb25dID0gdXNlU3RhdGU8eyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHwgbnVsbD4obnVsbClcbiAgY29uc3QgeyB0aWx0TW90aW9uLCBzdGFydFBvaW50ZXJUcmFja2luZywgc2FtcGxlUG9pbnRlck1vdmUsIGVuZFBvaW50ZXJUcmFja2luZyB9ID1cbiAgICB1c2VGbG9hdGluZ1BhbmVsRHJhZ1RpbHQoaXNGbG9hdGluZylcbiAgY29uc3QgZHJhZ1N0YXRlUmVmID0gdXNlUmVmPHtcbiAgICBwb2ludGVySWQ6IG51bWJlclxuICAgIG9mZnNldFg6IG51bWJlclxuICAgIG9mZnNldFk6IG51bWJlclxuICB9IHwgbnVsbD4obnVsbClcblxuICBjb25zdCBjbGFtcERyYWdQb3NpdGlvbiA9IHVzZUNhbGxiYWNrKCh4OiBudW1iZXIsIHk6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnRXcmFwcGVyID0gY29udGVudFdyYXBwZXJSZWYuY3VycmVudFxuICAgIGlmICghY29udGVudFdyYXBwZXIpIHtcbiAgICAgIHJldHVybiB7IHgsIHkgfVxuICAgIH1cblxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gY29udGVudFdyYXBwZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICBjb25zdCBvZmZzZXQgPSAxNlxuICAgIGNvbnN0IG1heFggPSBNYXRoLm1heChvZmZzZXQsIHdpbmRvdy5pbm5lcldpZHRoIC0gd2lkdGggLSBvZmZzZXQpXG4gICAgY29uc3QgbWF4WSA9IE1hdGgubWF4KG9mZnNldCwgd2luZG93LmlubmVySGVpZ2h0IC0gaGVpZ2h0IC0gb2Zmc2V0KVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IE1hdGgubWluKE1hdGgubWF4KHgsIG9mZnNldCksIG1heFgpLFxuICAgICAgeTogTWF0aC5taW4oTWF0aC5tYXgoeSwgb2Zmc2V0KSwgbWF4WSksXG4gICAgfVxuICB9LCBbXSlcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsYXlvdXRNb2RlICE9PSAnZmxvYXRpbmcnKSB7XG4gICAgICBzZXREcmFnUG9zaXRpb24obnVsbClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHNldERyYWdQb3NpdGlvbihwcmV2ID0+IHtcbiAgICAgIGlmIChwcmV2KSB7XG4gICAgICAgIHJldHVybiBjbGFtcERyYWdQb3NpdGlvbihwcmV2LngsIHByZXYueSlcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhZCA9IDE2XG4gICAgICBjb25zdCB4ID0gd2luZG93LmlubmVyV2lkdGggLSBnZXRNYWlhRmxvYXRpbmdQYW5lbFdpZHRoUHgoKSAtIHBhZFxuICAgICAgcmV0dXJuIGNsYW1wRHJhZ1Bvc2l0aW9uKHgsIHBhZClcbiAgICB9KVxuICB9LCBbbGF5b3V0TW9kZSwgY2xhbXBEcmFnUG9zaXRpb25dKVxuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgZW5kUG9pbnRlclRyYWNraW5nKClcbiAgICAgIGlmIChkcmFnU3RhdGVSZWYuY3VycmVudD8ucG9pbnRlcklkICE9PSBldmVudC5wb2ludGVySWQpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGRyYWdTdGF0ZVJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0ID0gJydcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gJydcbiAgICB9LFxuICAgIFtlbmRQb2ludGVyVHJhY2tpbmddXG4gIClcblxuICBjb25zdCBoYW5kbGVEcmFnTW92ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICBjb25zdCBkcmFnU3RhdGUgPSBkcmFnU3RhdGVSZWYuY3VycmVudFxuICAgICAgaWYgKCFkcmFnU3RhdGUgfHwgZHJhZ1N0YXRlLnBvaW50ZXJJZCAhPT0gZXZlbnQucG9pbnRlcklkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBzYW1wbGVQb2ludGVyTW92ZShldmVudC5jbGllbnRYLCBldmVudC5jbGllbnRZKVxuXG4gICAgICBjb25zdCBuZXh0UG9zaXRpb24gPSBjbGFtcERyYWdQb3NpdGlvbihldmVudC5jbGllbnRYIC0gZHJhZ1N0YXRlLm9mZnNldFgsIGV2ZW50LmNsaWVudFkgLSBkcmFnU3RhdGUub2Zmc2V0WSlcblxuICAgICAgc2V0RHJhZ1Bvc2l0aW9uKHByZXYgPT4ge1xuICAgICAgICBpZiAocHJldiAmJiBwcmV2LnggPT09IG5leHRQb3NpdGlvbi54ICYmIHByZXYueSA9PT0gbmV4dFBvc2l0aW9uLnkpIHtcbiAgICAgICAgICByZXR1cm4gcHJldlxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXh0UG9zaXRpb25cbiAgICAgIH0pXG4gICAgfSxcbiAgICBbY2xhbXBEcmFnUG9zaXRpb24sIHNhbXBsZVBvaW50ZXJNb3ZlXVxuICApXG5cbiAgY29uc3QgcmVzb2x2ZWREcmFnUG9zaXRpb24gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAobGF5b3V0TW9kZSAhPT0gJ2Zsb2F0aW5nJykge1xuICAgICAgcmV0dXJuIGRyYWdQb3NpdGlvblxuICAgIH1cbiAgICBpZiAoZHJhZ1Bvc2l0aW9uKSB7XG4gICAgICByZXR1cm4gZHJhZ1Bvc2l0aW9uXG4gICAgfVxuICAgIGNvbnN0IHBhZCA9IDE2XG4gICAgY29uc3QgeCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmlubmVyV2lkdGggLSBnZXRNYWlhRmxvYXRpbmdQYW5lbFdpZHRoUHgoKSAtIHBhZCA6IHBhZFxuICAgIHJldHVybiBjbGFtcERyYWdQb3NpdGlvbih4LCBwYWQpXG4gIH0sIFtsYXlvdXRNb2RlLCBkcmFnUG9zaXRpb24sIGNsYW1wRHJhZ1Bvc2l0aW9uXSlcblxuICBjb25zdCBoYW5kbGVEcmFnU3RhcnQgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKCFpc0Zsb2F0aW5nIHx8IGV2ZW50LmJ1dHRvbiAhPT0gMCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50XG4gICAgICBpZiAodGFyZ2V0LmNsb3Nlc3QoJ2J1dHRvbiwgYSwgaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QsIFtyb2xlPVwiYnV0dG9uXCJdLCBbZGF0YS1uby1kcmFnPVwidHJ1ZVwiXScpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCBjb250ZW50V3JhcHBlciA9IGNvbnRlbnRXcmFwcGVyUmVmLmN1cnJlbnRcbiAgICAgIGlmICghY29udGVudFdyYXBwZXIpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlY3QgPSBjb250ZW50V3JhcHBlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgY29uc3QgaW5pdGlhbFBvc2l0aW9uID0gcmVzb2x2ZWREcmFnUG9zaXRpb24gPz8gY2xhbXBEcmFnUG9zaXRpb24ocmVjdC5sZWZ0LCByZWN0LnRvcClcbiAgICAgIGNvbnN0IHBvaW50ZXJPZmZzZXRYID0gZXZlbnQuY2xpZW50WCAtIGluaXRpYWxQb3NpdGlvbi54XG4gICAgICBjb25zdCBwb2ludGVyT2Zmc2V0WSA9IGV2ZW50LmNsaWVudFkgLSBpbml0aWFsUG9zaXRpb24ueVxuXG4gICAgICBzZXREcmFnUG9zaXRpb24oaW5pdGlhbFBvc2l0aW9uKVxuICAgICAgZHJhZ1N0YXRlUmVmLmN1cnJlbnQgPSB7XG4gICAgICAgIHBvaW50ZXJJZDogZXZlbnQucG9pbnRlcklkLFxuICAgICAgICBvZmZzZXRYOiBwb2ludGVyT2Zmc2V0WCxcbiAgICAgICAgb2Zmc2V0WTogcG9pbnRlck9mZnNldFksXG4gICAgICB9XG5cbiAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoZXZlbnQucG9pbnRlcklkKVxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuXG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3QgPSAnbm9uZSdcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gJ2dyYWJiaW5nJ1xuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0RHJhZ2dhYmxlKVxuICAgICAgc3RhcnRQb2ludGVyVHJhY2tpbmcoZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSlcbiAgICB9LFxuICAgIFtjbGFtcERyYWdQb3NpdGlvbiwgaXNGbG9hdGluZywgcmVzb2x2ZWREcmFnUG9zaXRpb24sIHN0YXJ0UG9pbnRlclRyYWNraW5nXVxuICApXG5cbiAgY29uc3Qgc3RhcnRDaGF0ID0gdXNlQ2FsbGJhY2soXG4gICAgKFxuICAgICAgbWVzc2FnZT86IHN0cmluZyxcbiAgICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICAgIGZhcUlkPzogc3RyaW5nLFxuICAgICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgICBmdWFJZD86IHN0cmluZyxcbiAgICAgIHNjSWQ/OiBzdHJpbmdcbiAgICApID0+IHtcbiAgICAgIGlmIChzaWRlYmFySGFzRXJyb3IpIHtcbiAgICAgICAgc2V0U2lkZWJhckhhc0Vycm9yKGZhbHNlKVxuICAgICAgfVxuICAgICAgc2V0SW5pdGlhbENoYXRJZChudWxsKVxuICAgICAgc2V0TmV3Q2hhdEtleShwcmV2ID0+IHByZXYgKyAxKVxuICAgICAgc2V0VXNlckluaXRpYWxNZXNzYWdlKHtcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSB8fCAnJyxcbiAgICAgICAgYXR0YWNobWVudHM6IGF0dGFjaG1lbnRzIHx8IFtdLFxuICAgICAgICAuLi4oZmFxSWQgPyB7IGZhcUlkIH0gOiB7fSksXG4gICAgICAgIC4uLihhZ2VudFN1Z2dlc3Rpb25JZCA/IHsgYWdlbnRTdWdnZXN0aW9uSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKG1lbnRpb25zICYmIG1lbnRpb25zLmxlbmd0aCA+IDAgPyB7IG1lbnRpb25zIH0gOiB7fSksXG4gICAgICAgIC4uLihmdWFJZCA/IHsgZnVhSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHNjSWQgPyB7IHNjSWQgfSA6IHt9KSxcbiAgICAgIH0pXG4gICAgICBoYW5kbGVycy5jaGF0KClcbiAgICB9LFxuICAgIFtoYW5kbGVycywgc2lkZWJhckhhc0Vycm9yXVxuICApXG5cbiAgY29uc3QgYmFubmVyRmFxQXV0b1NlbnRSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBlbnRpdHlSZWFkeSA9IHNlY3Rpb24gPT09ICdwcm9qZWN0JyA/IEJvb2xlYW4ocHJvamVjdD8uaWQpIDogc2VjdGlvbiA9PT0gJ2NsaWVudCcgPyBCb29sZWFuKGNsaWVudD8uaWQpIDogdHJ1ZVxuXG4gICAgaWYgKCFiYW5uZXJFbnRyeUZhcT8uZmFxVGl0bGU/LnRyaW0oKSB8fCBiYW5uZXJGYXFBdXRvU2VudFJlZi5jdXJyZW50IHx8IGxvYWRpbmcgfHwgIWFnZW50Py5pZCB8fCAhZW50aXR5UmVhZHkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGJhbm5lckZhcUF1dG9TZW50UmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgc3RhcnRDaGF0KGJhbm5lckVudHJ5RmFxLmZhcVRpdGxlLCBbXSwgYmFubmVyRW50cnlGYXEuZmFxSWQpXG4gIH0sIFtcbiAgICBiYW5uZXJFbnRyeUZhcT8uZmFxSWQsXG4gICAgYmFubmVyRW50cnlGYXE/LmZhcVRpdGxlLFxuICAgIGxvYWRpbmcsXG4gICAgYWdlbnQ/LmlkLFxuICAgIGFnZW50Py5lbnRpdHksXG4gICAgcHJvamVjdD8uaWQsXG4gICAgY2xpZW50Py5pZCxcbiAgICBzZWN0aW9uLFxuICAgIHN0YXJ0Q2hhdCxcbiAgXSlcblxuICBjb25zdCBnb1RvQ2hhdCA9IHVzZUNhbGxiYWNrKFxuICAgIChjaGF0OiBhbnkpID0+IHtcbiAgICAgIHNldFVzZXJJbml0aWFsTWVzc2FnZSh7IG1lc3NhZ2U6ICcnLCBhdHRhY2htZW50czogW10gfSlcbiAgICAgIHNldEluaXRpYWxDaGF0SWQoY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZClcbiAgICAgIGNvbnN0IHNlbGVjdGVkQWdlbnQgPSBhZ2VudHMuZGF0YS5maW5kKGFnZW50SXRlbSA9PiBhZ2VudEl0ZW0uaWQgPT09IGNoYXQuYWdlbnRJZClcbiAgICAgIGlmIChzZWxlY3RlZEFnZW50KSB7XG4gICAgICAgIHNlbGVjdEFnZW50KHNlbGVjdGVkQWdlbnQpXG4gICAgICB9XG4gICAgICAvLyBEaXNwYXRjaCBldmVudCB0byBjbGVhciB0aGUgaW5wdXQgdGV4dGFyZWFcbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdjaGF0LXNlc3Npb24tY2hhbmdlZCcpKVxuICAgICAgaGFuZGxlcnMuY2hhdCgpXG4gICAgfSxcbiAgICBbaGFuZGxlcnMsIGFnZW50cywgc2VsZWN0QWdlbnRdXG4gIClcblxuICBjb25zdCBoYW5kbGVTZW5kTWVzc2FnZVJlYWR5ID0gdXNlQ2FsbGJhY2soXG4gICAgKFxuICAgICAgc2VuZE1lc3NhZ2U6IChcbiAgICAgICAgbWVzc2FnZTogc3RyaW5nLFxuICAgICAgICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sXG4gICAgICAgIGZhcUlkPzogc3RyaW5nLFxuICAgICAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICAgICAgbWVudGlvbnM/OiBDb250ZXh0TWVudGlvbltdLFxuICAgICAgICBmdWFJZD86IHN0cmluZyxcbiAgICAgICAgc2NJZD86IHN0cmluZ1xuICAgICAgKSA9PiB2b2lkLFxuICAgICAgc3RvcEdlbmVyYXRpb246ICgpID0+IHZvaWQsXG4gICAgICBzdHJlYW1pbmc6IGJvb2xlYW4sXG4gICAgICB3cml0aW5nOiBib29sZWFuXG4gICAgKSA9PiB7XG4gICAgICBzZXRTZW5kTWVzc2FnZUZ1bmN0aW9uKCgpID0+IHNlbmRNZXNzYWdlKVxuICAgICAgc2V0U3RvcEdlbmVyYXRpb25GdW5jdGlvbigoKSA9PiBzdG9wR2VuZXJhdGlvbilcbiAgICAgIHNldElzU3RyZWFtaW5nKHN0cmVhbWluZylcbiAgICAgIHNldElzV3JpdGluZyh3cml0aW5nKVxuICAgIH0sXG4gICAgW11cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZVNlbmRNZXNzYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgKFxuICAgICAgbWVzc2FnZTogc3RyaW5nLFxuICAgICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICAgIGZ1YUlkPzogc3RyaW5nLFxuICAgICAgc2NJZD86IHN0cmluZ1xuICAgICkgPT4ge1xuICAgICAgaWYgKHNpZGViYXJIYXNFcnJvcikge1xuICAgICAgICBzZXRTaWRlYmFySGFzRXJyb3IoZmFsc2UpXG4gICAgICB9XG4gICAgICBpZiAoc2VuZE1lc3NhZ2VGdW5jdGlvbiAmJiBjb21wdXRlZEN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuY2hhdCkge1xuICAgICAgICBzZW5kTWVzc2FnZUZ1bmN0aW9uKG1lc3NhZ2UsIGF0dGFjaG1lbnRzLCBmYXFJZCwgYWdlbnRTdWdnZXN0aW9uSWQsIG1lbnRpb25zLCBmdWFJZCwgc2NJZClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXJ0Q2hhdChtZXNzYWdlLCBhdHRhY2htZW50cywgZmFxSWQsIGFnZW50U3VnZ2VzdGlvbklkLCBtZW50aW9ucywgZnVhSWQsIHNjSWQpXG4gICAgICB9XG4gICAgfSxcbiAgICBbc2VuZE1lc3NhZ2VGdW5jdGlvbiwgc3RhcnRDaGF0LCBjb21wdXRlZEN1cnJlbnRPcHRpb24sIHNpZGViYXJIYXNFcnJvcl1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUdvSG9tZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAvLyBTaSBlc3RhbW9zIGVuIHVuYSBjb252ZXJzYWNpw7NuIHkgdmFtb3MgYSBob21lLCByZXNldGVhciBpbml0aWFsQ2hhdElkIHkgaW5jcmVtZW50YXIgbmV3Q2hhdEtleVxuICAgIGlmIChjdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmNoYXQpIHtcbiAgICAgIHN0b3BHZW5lcmF0aW9uRnVuY3Rpb24/LigpXG4gICAgICBzZXRJbml0aWFsQ2hhdElkKG51bGwpXG4gICAgICBzZXROZXdDaGF0S2V5KHByZXYgPT4gcHJldiArIDEpXG4gICAgICBzZXRJc1dyaXRpbmcoZmFsc2UpXG4gICAgICAvLyBObyBib3JyYXIgZWwgY2xpZW50ZSBzaSBlcyBhZ2VudGUgZGUgY2xpZW50ZXMgKGlndWFsIHF1ZSBlbCBwcm95ZWN0byBzZSBtYW50aWVuZSlcbiAgICAgIGlmIChhZ2VudD8uZW50aXR5ICE9PSAnY2xpZW50Jykge1xuICAgICAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoXG4gICAgICAoIWFnZW50IHx8IGFnZW50Py5pc19kZWxldGVkIHx8IGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8IGFnZW50Py5oYXNfbm90X2FjY2VzcyB8fCBhZ2VudD8ucHJvamVjdF9kZWxldGVkKSAmJlxuICAgICAgYWdlbnRzLmRhdGEubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgc2VsZWN0QWdlbnQoYWdlbnRzLmRhdGFbMF0pXG4gICAgfVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5ob21lKVxuICAgIHNldENoaXBzUHJvamVjdChudWxsKVxuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIGlzV2ViU2VhcmNoQWN0aXZlICYmIHRvZ2dsZVdlYlNlYXJjaCgpXG4gICAgaWYgKHJlc2V0U2VsZWN0ZWRDaGF0UmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2V0U2VsZWN0ZWRDaGF0UmVmLmN1cnJlbnQoKVxuICAgIH1cbiAgfSwgW1xuICAgIG9wdGlvbnMuaG9tZSxcbiAgICBvcHRpb25zLmNoYXQsXG4gICAgY3VycmVudE9wdGlvbixcbiAgICBpc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICB0b2dnbGVXZWJTZWFyY2gsXG4gICAgYWdlbnQsXG4gICAgYWdlbnRzLFxuICAgIHNlbGVjdEFnZW50LFxuICAgIHNldENsaWVudCxcbiAgICBzdG9wR2VuZXJhdGlvbkZ1bmN0aW9uLFxuICBdKVxuXG4gIGNvbnN0IGhhbmRsZVJlc2V0Q2hhdCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBzZXRVc2VySW5pdGlhbE1lc3NhZ2UoeyBtZXNzYWdlOiAnJywgYXR0YWNobWVudHM6IFtdIH0pXG4gICAgc2V0SW5pdGlhbENoYXRJZChudWxsKVxuICAgIC8vIERpc3BhdGNoIGV2ZW50IHRvIGNsZWFyIHRoZSBpbnB1dCB0ZXh0YXJlYVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdjaGF0LXNlc3Npb24tY2hhbmdlZCcpKVxuICAgIGhhbmRsZUdvSG9tZSgpXG4gIH0sIFtoYW5kbGVHb0hvbWVdKVxuXG4gIC8vIEJvdMOzbiBcInZvbHZlclwiIGRlbCBoZWFkZXIgKHNvbG8gYWdlbnRlcyBjbG9uZSk6XG4gIC8vIC0gQ29uIGNvbnZlcnNhY2nDs24gaW5pY2lhZGE6IGluaWNpYSB1bmEgbnVldmEgY29udmVyc2FjacOzbiB5IHZ1ZWx2ZSBhbCBob21lICh0b2RhcyBsYXMgc2VjY2lvbmVzKS5cbiAgLy8gLSBFbiBlbCBob21lIChGQVFzL0ZVQSk6IHZ1ZWx2ZSBhbCBzZWxlY3RvciBkZSBwcm95ZWN0b3MvY2xpZW50ZXMgbGltcGlhbmRvIGxhIGVudGl0eSBzZWxlY2Npb25hZGEuXG4gIGNvbnN0IGhhbmRsZUJhY2sgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5jaGF0KSB7XG4gICAgICBoYW5kbGVSZXNldENoYXQoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIC8vIEVuIHNlY3Rpb24gJ3Rhc2snIHByZXNlcnZhciBwcm9qZWN0L2NsaWVudDsgZW4gb3RyYXMgc2VjY2lvbmVzLCBpciBhbCBzZWxlY3RvciBsaW1waWFuZG8gcHJvamVjdC9jbGllbnRcbiAgICBpZiAoc2VjdGlvbiAhPT0gJ3Rhc2snKSB7XG4gICAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgIH1cbiAgfSwgW2NvbXB1dGVkQ3VycmVudE9wdGlvbiwgc2VjdGlvbiwgaGFuZGxlUmVzZXRDaGF0LCBzZXRQcm9qZWN0LCBzZXRDbGllbnRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFhZ2VudHNGZXRjaGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgIGFnZW50c0ZldGNoZWRSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIGhhbmRsZUdldEFnZW50cygpXG4gICAgfVxuICB9LCBbaGFuZGxlR2V0QWdlbnRzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG9uTWVyZ2VDcmVhdGVkQWdlbnQgPSAoZXZ0OiBFdmVudCkgPT4ge1xuICAgICAgY29uc3QgeyBhZ2VudDogbmV4dEFnZW50IH0gPSAoZXZ0IGFzIEN1c3RvbUV2ZW50PHsgYWdlbnQ6IEFnZW50IH0+KS5kZXRhaWwgfHwge31cbiAgICAgIGlmIChuZXh0QWdlbnQ/LmlkKSB7XG4gICAgICAgIGFkZEFnZW50KG5leHRBZ2VudCwgeyBuYXZpZ2F0ZUhvbWU6IGZhbHNlIH0pXG4gICAgICB9XG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21haWEtbWVyZ2UtY3JlYXRlZC1hZ2VudC1pbnRvLWxpc3QnLCBvbk1lcmdlQ3JlYXRlZEFnZW50KVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtYWlhLW1lcmdlLWNyZWF0ZWQtYWdlbnQtaW50by1saXN0Jywgb25NZXJnZUNyZWF0ZWRBZ2VudClcbiAgICB9XG4gIH0sIFthZGRBZ2VudF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvblN5bmNFZGl0ZWRBZ2VudCA9IChldnQ6IEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB7IGFnZW50OiBuZXh0QWdlbnQgfSA9IChldnQgYXMgQ3VzdG9tRXZlbnQ8eyBhZ2VudDogQWdlbnQgfT4pLmRldGFpbCB8fCB7fVxuICAgICAgaWYgKCFuZXh0QWdlbnQ/LmlkKSByZXR1cm5cbiAgICAgIHVwZGF0ZUFnZW50KG5leHRBZ2VudClcbiAgICAgIGlmIChhZ2VudD8uaWQgPT09IG5leHRBZ2VudC5pZCkge1xuICAgICAgICBzZWxlY3RBZ2VudChuZXh0QWdlbnQpXG4gICAgICB9XG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21haWEtc3luYy1lZGl0ZWQtYWdlbnQtZnJvbS1jaGF0Jywgb25TeW5jRWRpdGVkQWdlbnQpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21haWEtc3luYy1lZGl0ZWQtYWdlbnQtZnJvbS1jaGF0Jywgb25TeW5jRWRpdGVkQWdlbnQpXG4gICAgfVxuICB9LCBbdXBkYXRlQWdlbnQsIHNlbGVjdEFnZW50LCBhZ2VudD8uaWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgb3BlbkNoYXRWaWV3ID0gKCkgPT4ge1xuICAgICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgICBzZXRJbml0aWFsQ2hhdElkKG51bGwpXG4gICAgICBzZXROZXdDaGF0S2V5KHByZXYgPT4gcHJldiArIDEpXG4gICAgICBzZXRVc2VySW5pdGlhbE1lc3NhZ2UoeyBtZXNzYWdlOiAnJywgYXR0YWNobWVudHM6IFtdIH0pXG4gICAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMuY2hhdClcbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdjaGF0LXNlc3Npb24tY2hhbmdlZCcpKVxuICAgIH1cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtYWlhLW9wZW4tY2hhdC12aWV3Jywgb3BlbkNoYXRWaWV3KVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtYWlhLW9wZW4tY2hhdC12aWV3Jywgb3BlbkNoYXRWaWV3KVxuICAgIH1cbiAgfSwgW10pXG5cbiAgLyoqIE1pc21vIGZsdWpvIHF1ZSBDaGF0QUlNeUFnZW50cy5oYW5kbGVVc2VBZ2VudCArIG9uQmFjayAoaGFuZGxlcnMuaG9tZSkuXG4gICAqICBFbCBkZXRhaWwgcHVlZGUgdHJhZXIgb3BjaW9uYWxtZW50ZSBgcHJvamVjdGAsIGBjbGllbnRgLCBgdGFza2AgcGFyYSBmbG93cyBxdWVcbiAgICogIG5lY2VzaXRhbiBwcmVzZXJ2YXIgY29udGV4dG8gKGVqLiBzZWxlY3RvciBkZSBhZ2VudGVzIGRlc2RlIHVuYSB0YXJlYSkuIFNpIG5vIHZpZW5lbixcbiAgICogIHNlIG1hbnRpZW5lIGVsIGNvbXBvcnRhbWllbnRvIG9yaWdpbmFsIGRlIGxpbXBpYXIgcHJvamVjdC9jbGllbnQuICovXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgb3Blbk5ld0NoYXRXaXRoQWdlbnQgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB7IGRldGFpbCB9ID0gZXZlbnQgYXMgQ3VzdG9tRXZlbnQ8e1xuICAgICAgICBhZ2VudDogQWdlbnRcbiAgICAgICAgcHJvamVjdD86IFByb2plY3QgfCBudWxsXG4gICAgICAgIGNsaWVudD86IENsaWVudCB8IG51bGxcbiAgICAgICAgdGFzaz86IFRhc2sgfCBudWxsXG4gICAgICB9PlxuICAgICAgY29uc3QgbmV4dEFnZW50ID0gZGV0YWlsPy5hZ2VudFxuICAgICAgaWYgKCFuZXh0QWdlbnQpIHJldHVyblxuXG4gICAgICBzZXRQcm9qZWN0KGRldGFpbD8ucHJvamVjdCA/PyBudWxsKVxuICAgICAgc2V0Q2xpZW50Py4oZGV0YWlsPy5jbGllbnQgPz8gbnVsbClcbiAgICAgIGlmIChkZXRhaWw/LnRhc2sgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRUYXNrPy4oZGV0YWlsLnRhc2spXG4gICAgICB9XG4gICAgICBzZWxlY3RBZ2VudChuZXh0QWdlbnQpXG4gICAgICBzZXRIYXNFcnJvcihmYWxzZSlcbiAgICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5ob21lKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21haWEtb3Blbi1uZXctY2hhdC13aXRoLWFnZW50Jywgb3Blbk5ld0NoYXRXaXRoQWdlbnQpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21haWEtb3Blbi1uZXctY2hhdC13aXRoLWFnZW50Jywgb3Blbk5ld0NoYXRXaXRoQWdlbnQpXG4gICAgfVxuICB9LCBbc2VsZWN0QWdlbnQsIHNldENsaWVudCwgc2V0UHJvamVjdCwgc2V0VGFza10pXG5cbiAgY29uc3Qgc2hvd05ld0NoYXQgPSBjb21wdXRlZEN1cnJlbnRPcHRpb24gIT09IG9wdGlvbnMuY2hhdFxuICBjb25zdCBoaWRlSGVhZGVyQWdlbnRTZWxlY3RvciA9IGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5teUFnZW50c1xuICBjb25zdCBzaG93QmFja0J1dHRvbiA9XG4gICAgYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgJiZcbiAgICAhaGFzRXJyb3IgJiZcbiAgICAhbG9hZGluZyAmJlxuICAgIChjb21wdXRlZEN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuY2hhdCB8fCAoY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmhvbWUgJiYgc2VjdGlvbiAhPT0gJ3Rhc2snKSlcbiAgY29uc3QgaGFuZGxlT3Blbk1hcmtldHBsYWNlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMubXlBZ2VudHMpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUdvVG9NYWlha2VyID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIGxldCBtYWlha2VyQWdlbnQgPSBhZ2VudHMuZGF0YS5maW5kKChhOiBBZ2VudCkgPT4gYS50eXBlID09PSAnY2xvbmUnICYmIGEuZW50aXR5ID09PSAnZ2xvYmFsJylcbiAgICBpZiAoIW1haWFrZXJBZ2VudCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgICAgICAgIHBhdGg6IGBhZ2VudHM/YWdlbnRfdHlwZT1jbG9uZSZsYW5nPSR7bWFwQ09STGFuZyhpMThuLmxhbmd1YWdlKX1gLFxuICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgICAgbWFpYWtlckFnZW50ID0gKGRhdGEuZGF0YSB8fCBbXSkuZmluZCgoYTogQWdlbnQpID0+IGEudHlwZSA9PT0gJ2Nsb25lJyAmJiBhLmVudGl0eSA9PT0gJ2dsb2JhbCcpXG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuICAgIGlmICghbWFpYWtlckFnZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc2V0UHJvamVjdChudWxsKVxuICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgc2VsZWN0QWdlbnQobWFpYWtlckFnZW50KVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5ob21lKVxuICAgIGlmIChyZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50KSB7XG4gICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50KClcbiAgICB9XG4gIH0sIFthZ2VudHMuZGF0YSwgaTE4bi5sYW5ndWFnZSwgc2VsZWN0QWdlbnQsIHNldENsaWVudCwgc2V0UHJvamVjdF0pXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUFnZW50RnJvbU15QWdlbnRzID0gdXNlQ2FsbGJhY2soXG4gICAgKGFnZW50SWQ6IHN0cmluZykgPT4ge1xuICAgICAgcmVtb3ZlQWdlbnQoYWdlbnRJZClcbiAgICAgIGlmIChhZ2VudD8uaWQgPT09IGFnZW50SWQpIHtcbiAgICAgICAgc2VsZWN0Rmlyc3RBZ2VudChhZ2VudElkKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2FnZW50Py5pZCwgcmVtb3ZlQWdlbnQsIHNlbGVjdEZpcnN0QWdlbnRdXG4gIClcblxuICBjb25zdCBoaWRlRm9vdGVyT25NYWlha2VyTWFya2V0cGxhY2VIb21lID0gY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmhvbWUgJiYgaXNNYWlha2VyQWdlbnRTZWxlY3RlZFxuXG4gIGNvbnN0IG1vZGFsUGFuZWwgPSAoXG4gICAgPD5cbiAgICAgIHt2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZShzZWN0aW9uKSA/IChcbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiBpc0Zsb2F0aW5nID8gJ25vbmUnIDogJ2NvbnRlbnRzJyB9fSBhcmlhLWhpZGRlbj17aXNGbG9hdGluZ30+XG4gICAgICAgICAgPFNpZGViYXJcbiAgICAgICAgICAgIG9uR29Ub0NoYXQ9e2dvVG9DaGF0fVxuICAgICAgICAgICAgb25FcnJvcj17KCkgPT4gc2V0U2lkZWJhckhhc0Vycm9yKHRydWUpfVxuICAgICAgICAgICAgaGFuZGxlR29Ub0hvbWU9e2hhbmRsZUdvSG9tZX1cbiAgICAgICAgICAgIGhhbmRsZU9wZW5NYXJrZXRwbGFjZT17aGFuZGxlT3Blbk1hcmtldHBsYWNlfVxuICAgICAgICAgICAgc2hvd05ld0NoYXQ9e3Nob3dOZXdDaGF0fVxuICAgICAgICAgICAgcmVmZXRjaENoYXRzPXtyZWZldGNoQ2hhdHN9XG4gICAgICAgICAgICBoYW5kbGVTZXRSZWZldGNoQ2hhdHM9e3NldFJlZmV0Y2hDaGF0c31cbiAgICAgICAgICAgIGhhc0Vycm9yPXtzaWRlYmFySGFzRXJyb3J9XG4gICAgICAgICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZj17cmVzZXRTZWxlY3RlZENoYXRSZWZ9XG4gICAgICAgICAgICBhZ2VudHNOYXZBY3RpdmU9e3NpZGViYXJBZ2VudHNOYXZBY3RpdmV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICAgIDxTQ0NBSU1Db250ZW50IGV4cGFuZGVkPXtleHBhbmRlZH0gZmxvYXRpbmc9e2lzRmxvYXRpbmd9PlxuICAgICAgICA8Q2hhdEFJTW9kYWxIZWFkZXJcbiAgICAgICAgICBsYXlvdXRNb2RlPXtsYXlvdXRNb2RlfVxuICAgICAgICAgIG9uTGF5b3V0TW9kZUNoYW5nZT17c2V0TGF5b3V0TW9kZX1cbiAgICAgICAgICBleHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICAgICAgZHJhZ2dhYmxlPXtpc0Zsb2F0aW5nfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXtoYW5kbGVEcmFnU3RhcnR9XG4gICAgICAgICAgb25EcmFnTW92ZT17aGFuZGxlRHJhZ01vdmV9XG4gICAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVEcmFnRW5kfVxuICAgICAgICAgIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZU1vZGFsfVxuICAgICAgICAgIGFnZW50cz17YWdlbnRzLmRhdGF9XG4gICAgICAgICAgaGFzRXJyb3I9eyEhYWdlbnRFcnJvcn1cbiAgICAgICAgICBsb2FkaW5nPXtsb2FkaW5nfVxuICAgICAgICAgIGxvYWRpbmdNb3JlPXtsb2FkaW5nTW9yZX1cbiAgICAgICAgICBoYXNNb3JlPXthZ2VudHMuaGFzX21vcmV9XG4gICAgICAgICAgaGFuZGxlUmVzZXRDaGF0PXtoYW5kbGVSZXNldENoYXR9XG4gICAgICAgICAgb25BZ2VudFVwZGF0ZT17dXBkYXRlQWdlbnRGYXZvcml0ZX1cbiAgICAgICAgICBsb2FkTW9yZUFnZW50cz17bG9hZE1vcmVBZ2VudHN9XG4gICAgICAgICAgc29ydEFnZW50c0xpc3Q9e3NvcnRBZ2VudHNMaXN0fVxuICAgICAgICAgIGhpZGVBZ2VudFNlbGVjdG9yPXtoaWRlSGVhZGVyQWdlbnRTZWxlY3Rvcn1cbiAgICAgICAgICBzaG93QmFja0J1dHRvbj17c2hvd0JhY2tCdXR0b259XG4gICAgICAgICAgb25CYWNrPXtoYW5kbGVCYWNrfVxuICAgICAgICAvPlxuICAgICAgICB7aGFzRXJyb3IgPyAoXG4gICAgICAgICAgPE1BSUFFcnJvciAvPlxuICAgICAgICApIDogdmFsaWRhdGVBY2Nlc3NCeUZlYXR1cmUoc2VjdGlvbikgPyAoXG4gICAgICAgICAgPENoYXRBSUNvbnRlbnRcbiAgICAgICAgICAgIGN1cnJlbnRPcHRpb249e2NvbXB1dGVkQ3VycmVudE9wdGlvbn1cbiAgICAgICAgICAgIGhhbmRsZXJzPXt7IC4uLmhhbmRsZXJzLCBjaGF0OiBzdGFydENoYXQsIGhvbWU6IGhhbmRsZXJzLmhvbWUsIGhhbmRsZUdvSG9tZSB9fVxuICAgICAgICAgICAgb25FcnJvcj17KCkgPT4gc2V0SGFzRXJyb3IodHJ1ZSl9XG4gICAgICAgICAgICByZWZzPXt7IHVzZXJJbml0aWFsTWVzc2FnZSwgaW5pdGlhbENoYXRJZCB9fVxuICAgICAgICAgICAgb25TZW5kTWVzc2FnZVJlYWR5PXtoYW5kbGVTZW5kTWVzc2FnZVJlYWR5fVxuICAgICAgICAgICAgZXhwYW5kZWQ9e2V4cGFuZGVkfVxuICAgICAgICAgICAgZmxvYXRpbmc9e2lzRmxvYXRpbmd9XG4gICAgICAgICAgICBhZ2VudHM9e2FnZW50cy5kYXRhfVxuICAgICAgICAgICAgb25EZWxldGVBZ2VudD17aGFuZGxlRGVsZXRlQWdlbnRGcm9tTXlBZ2VudHN9XG4gICAgICAgICAgICBvbkZhdm9yaXRlQWdlbnRVcGRhdGU9e3VwZGF0ZUFnZW50RmF2b3JpdGV9XG4gICAgICAgICAgICBoYXNNb3JlQWdlbnRzPXshIWFnZW50cy5oYXNfbW9yZX1cbiAgICAgICAgICAgIGxvYWRpbmdNb3JlQWdlbnRzPXtsb2FkaW5nTW9yZX1cbiAgICAgICAgICAgIG9uTG9hZE1vcmVBZ2VudHM9e2xvYWRNb3JlQWdlbnRzfVxuICAgICAgICAgICAgb25Hb1RvTWFpYWtlcj17aGFuZGxlR29Ub01haWFrZXJ9XG4gICAgICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFByb2plY3RTdW1tYXJ5Q29udGVudCBvblJlc3RhcnRTdW1tYXJ5PXtoYW5kbGVycy5ob21lfSAvPlxuICAgICAgICApfVxuICAgICAgICB7KChjb21wdXRlZEN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuaG9tZSAmJiAhIWFnZW50cz8uZGF0YT8ubGVuZ3RoKSB8fFxuICAgICAgICAgIGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5jaGF0KSAmJlxuICAgICAgICAgICFoaWRlRm9vdGVyT25NYWlha2VyTWFya2V0cGxhY2VIb21lICYmXG4gICAgICAgICAgIWhhc0Vycm9yICYmXG4gICAgICAgICAgIWxvYWRpbmcgJiZcbiAgICAgICAgICB2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZShzZWN0aW9uKSAmJiAoXG4gICAgICAgICAgICA8Q2hhdEFpTW9kYWxGb290ZXJcbiAgICAgICAgICAgICAgYWdlbnQ9e2FnZW50fVxuICAgICAgICAgICAgICBoYW5kbGVTZW5kTWVzc2FnZT17aGFuZGxlU2VuZE1lc3NhZ2V9XG4gICAgICAgICAgICAgIGhhbmRsZVN0b3BHZW5lcmF0aW9uPXtzdG9wR2VuZXJhdGlvbkZ1bmN0aW9ufVxuICAgICAgICAgICAgICBpc1N0cmVhbWluZz17aXNTdHJlYW1pbmd9XG4gICAgICAgICAgICAgIGlzV3JpdGluZz17aXNXcml0aW5nfVxuICAgICAgICAgICAgICBjaGF0SWQ9e2luaXRpYWxDaGF0SWR9XG4gICAgICAgICAgICAgIG5ld0NoYXRLZXk9e25ld0NoYXRLZXl9XG4gICAgICAgICAgICAgIHNob3dGYXFzPXtjb21wdXRlZEN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuY2hhdH1cbiAgICAgICAgICAgICAgdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgIDwvU0NDQUlNQ29udGVudD5cbiAgICA8Lz5cbiAgKVxuXG4gIGNvbnN0IGNvbnRlbnRXcmFwcGVyID0gKFxuICAgIDxTQ0NBSU1Db250ZW50V3JhcHBlciBleHBhbmRlZD17ZXhwYW5kZWR9IGZsb2F0aW5nPXtpc0Zsb2F0aW5nfSByZWY9e2NvbnRlbnRXcmFwcGVyUmVmfT5cbiAgICAgIHttb2RhbFBhbmVsfVxuICAgIDwvU0NDQUlNQ29udGVudFdyYXBwZXI+XG4gIClcblxuICByZXR1cm4gKFxuICAgIHNlbGVjdG9yICYmXG4gICAgUmVhY3RET00uY3JlYXRlUG9ydGFsKFxuICAgICAgPFNDQ0FJTVdyYXBwZXJcbiAgICAgICAgZXhwYW5kZWQ9e2V4cGFuZGVkfVxuICAgICAgICBsYXlvdXRNb2RlPXtsYXlvdXRNb2RlfVxuICAgICAgICBkcmFnUG9zaXRpb249e3Jlc29sdmVkRHJhZ1Bvc2l0aW9ufVxuICAgICAgICBlbGV2YXRlZD17c2VjdGlvbiA9PT0gJ3Rhc2snfVxuICAgICAgPlxuICAgICAgICA8RmxvYXRpbmdQYW5lbE1vdGlvbiB0aWx0PXt0aWx0TW90aW9ufSBleHBhbmRlZD17ZXhwYW5kZWR9PlxuICAgICAgICAgIHtjb250ZW50V3JhcHBlcn1cbiAgICAgICAgPC9GbG9hdGluZ1BhbmVsTW90aW9uPlxuICAgICAgICB7dXNlckhhc1Blcm1pc3Npb25zICYmIChcbiAgICAgICAgICA8QWJtQWdlbnRNb2RhbFxuICAgICAgICAgICAgYWRkQWdlbnQ9e2FkZEFnZW50fVxuICAgICAgICAgICAgdXBkYXRlQWdlbnQ9e3VwZGF0ZUFnZW50fVxuICAgICAgICAgICAgcmVtb3ZlQWdlbnQ9e3JlbW92ZUFnZW50fVxuICAgICAgICAgICAgdXBkYXRlQWdlbnRGYXZvcml0ZT17dXBkYXRlQWdlbnRGYXZvcml0ZX1cbiAgICAgICAgICAgIHNlbGVjdEZpcnN0QWdlbnQ9e3NlbGVjdEZpcnN0QWdlbnR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgPFNuYWNrYmFyIC8+XG4gICAgICA8L1NDQ0FJTVdyYXBwZXI+LFxuICAgICAgc2VsZWN0b3JcbiAgICApXG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUVFQSxXQUFXLEVBQ1hDLE9BQU8sRUFDUEMsUUFBUSxFQUNSQyxNQUFNLEVBQ05DLFNBQVMsRUFDVEMsZUFBZSxRQUVWLE9BQU87QUFDZCxPQUFPQyxRQUFRLE1BQU0sV0FBVztBQUNoQyxPQUFPQyxNQUFNLE1BQU0sUUFBUTtBQUMzQixTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxPQUFPLFFBQVEsMkJBQTJCO0FBQ25ELFNBQVNDLFNBQVMsUUFBUSx1QkFBdUI7QUFDakQsU0FBU0Msc0JBQXNCLFFBQVEsdUNBQXVDO0FBRTlFLFNBQVND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
|
|
698
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZUVmZmVjdCIsInVzZUxheW91dEVmZmVjdCIsIlJlYWN0RE9NIiwibW9tZW50IiwidXNlVHJhbnNsYXRpb24iLCJ1c2VVc2VyIiwiTUFJQUVycm9yIiwidXNlTWFpYVRhc2tQYW5lbFpJbmRleCIsIkNoYXRBSUNvbnRlbnQiLCJidWlsZEhhbmRsZXJzIiwib3B0aW9ucyIsIlNpZGViYXIiLCJ1c2VHZXRBZ2VudHMiLCJ1c2VHbG9iYWxDb250ZXh0IiwiQ2hhdEFJTW9kYWxIZWFkZXIiLCJTbmFja2JhciIsIlByb2plY3RTdW1tYXJ5Q29udGVudCIsIkFibUFnZW50TW9kYWwiLCJTRUNUSU9OUyIsIlNDQ0FJTUNvbnRlbnQiLCJTQ0NBSU1Db250ZW50V3JhcHBlciIsIlNDQ0FJTVdyYXBwZXIiLCJnZXRNYWlhRmxvYXRpbmdQYW5lbFdpZHRoUHgiLCJGbG9hdGluZ1BhbmVsTW90aW9uIiwidXNlRmxvYXRpbmdQYW5lbERyYWdUaWx0IiwiQ2hhdEFpTW9kYWxGb290ZXIiLCJ2YWxpZGF0ZUlzTWFpYSIsInVzZUZhcXNTdG9yZSIsImZldGNoTWFpYSIsIm1hcENPUkxhbmciLCJFVkVOVFMiLCJ1c2VFdmVudCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIklEX01PREFMX0NIQVRfQUdFTlQiLCJ2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZSIsInNlY3Rpb24iLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiQ2hhdEFJTW9kYWwiLCJfcmVmIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJfdXNlciRwZXJtaXNzaW9uczIiLCJfdXNlciRwZXJtaXNzaW9uczMiLCJfYWdlbnRzJGRhdGEiLCJoYW5kbGVDbG9zZSIsInVzZXIiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsImkxOG4iLCJhbXBsaXR1ZEV2ZW50IiwiaGFuZGxlQ2xvc2VNb2RhbCIsImdldFN0YXRlIiwiY2xlYXJGYXFzIiwiX3VzZVN0YXRlIiwibWVzc2FnZSIsImF0dGFjaG1lbnRzIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwidXNlckluaXRpYWxNZXNzYWdlIiwic2V0VXNlckluaXRpYWxNZXNzYWdlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpbml0aWFsQ2hhdElkIiwic2V0SW5pdGlhbENoYXRJZCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwibmV3Q2hhdEtleSIsInNldE5ld0NoYXRLZXkiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbmRNZXNzYWdlRnVuY3Rpb24iLCJzZXRTZW5kTWVzc2FnZUZ1bmN0aW9uIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJzdG9wR2VuZXJhdGlvbkZ1bmN0aW9uIiwic2V0U3RvcEdlbmVyYXRpb25GdW5jdGlvbiIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsImlzU3RyZWFtaW5nIiwic2V0SXNTdHJlYW1pbmciLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwiaXNXcml0aW5nIiwic2V0SXNXcml0aW5nIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsInJlZmV0Y2hDaGF0cyIsInNldFJlZmV0Y2hDaGF0cyIsIl91c2VTdGF0ZTE1IiwiaG9tZSIsIl91c2VTdGF0ZTE2IiwiY3VycmVudE9wdGlvbiIsInNldEN1cnJlbnRPcHRpb24iLCJfdXNlU3RhdGUxNyIsIl91c2VTdGF0ZTE4IiwiaGFzRXJyb3IiLCJzZXRIYXNFcnJvciIsImhhbmRsZXJzIiwiX3VzZVN0YXRlMTkiLCJfdXNlU3RhdGUyMCIsInNpZGViYXJIYXNFcnJvciIsInNldFNpZGViYXJIYXNFcnJvciIsInJlc2V0U2VsZWN0ZWRDaGF0UmVmIiwibGFuZyIsImxhbmd1YWdlIiwibG9jYWxlIiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RBZ2VudCIsImFnZW50IiwicHJvamVjdCIsImNsaWVudCIsInRvZ2dsZVdlYlNlYXJjaCIsImlzV2ViU2VhcmNoQWN0aXZlIiwic2V0Q2hpcHNQcm9qZWN0Iiwic2V0Q2xpZW50Iiwic2V0UHJvamVjdCIsImJhbm5lckVudHJ5RmFxIiwic2V0VGFzayIsInRvb2x0aXBaSW5kZXgiLCJfdXNlR2V0QWdlbnRzIiwiaGFuZGxlR29Ib21lIiwiYWdlbnRzIiwibG9hZGluZyIsImxvYWRpbmdNb3JlIiwiYWdlbnRFcnJvciIsImVycm9yIiwiaGFuZGxlR2V0QWdlbnRzIiwibG9hZE1vcmVBZ2VudHMiLCJhZGRBZ2VudCIsInJlbW92ZUFnZW50IiwidXBkYXRlQWdlbnQiLCJ1cGRhdGVBZ2VudEZhdm9yaXRlIiwic2VsZWN0Rmlyc3RBZ2VudCIsInNvcnRBZ2VudHNMaXN0IiwiaXNNQUlBIiwidXNlckhhc1Blcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjcmVhdGUiLCJlZGl0IiwiY29tcHV0ZWRDdXJyZW50T3B0aW9uIiwiaXNHbG9iYWxTcGVjaWFsaXN0IiwiZW50aXR5IiwiaXNQcm9qZWN0U3BlY2lhbGlzdCIsImlzQ2xpZW50U3BlY2lhbGlzdCIsImlzTWFpYWtlciIsInRlc3QiLCJuYW1lIiwibXlBZ2VudHMiLCJjaGF0Iiwic2hvdWxkU2hvd1Byb2plY3RTZWxlY3RvciIsInNob3VsZFNob3dDbGllbnRTZWxlY3RvciIsInByb2plY3RTZWxlY3RvciIsImNsaWVudFNlbGVjdG9yIiwiaXNNYWlha2VyQWdlbnRTZWxlY3RlZCIsInR5cGUiLCJzaWRlYmFyQWdlbnRzTmF2QWN0aXZlIiwiYWdlbnRzRmV0Y2hlZFJlZiIsInNlbGVjdG9yIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiY29uY2F0IiwiX3VzZVN0YXRlMjEiLCJfdXNlU3RhdGUyMiIsImxheW91dE1vZGUiLCJzZXRMYXlvdXRNb2RlIiwiZXhwYW5kZWQiLCJpc0Zsb2F0aW5nIiwiY29udGVudFdyYXBwZXJSZWYiLCJfdXNlU3RhdGUyMyIsIl91c2VTdGF0ZTI0IiwiZHJhZ1Bvc2l0aW9uIiwic2V0RHJhZ1Bvc2l0aW9uIiwiX3VzZUZsb2F0aW5nUGFuZWxEcmFnIiwidGlsdE1vdGlvbiIsInN0YXJ0UG9pbnRlclRyYWNraW5nIiwic2FtcGxlUG9pbnRlck1vdmUiLCJlbmRQb2ludGVyVHJhY2tpbmciLCJkcmFnU3RhdGVSZWYiLCJjbGFtcERyYWdQb3NpdGlvbiIsIngiLCJ5IiwiY29udGVudFdyYXBwZXIiLCJjdXJyZW50IiwiX2NvbnRlbnRXcmFwcGVyJGdldEJvIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iiwid2lkdGgiLCJoZWlnaHQiLCJvZmZzZXQiLCJtYXhYIiwiTWF0aCIsIm1heCIsImlubmVyV2lkdGgiLCJtYXhZIiwiaW5uZXJIZWlnaHQiLCJtaW4iLCJwcmV2IiwicGFkIiwiaGFuZGxlRHJhZ0VuZCIsImV2ZW50IiwiX2RyYWdTdGF0ZVJlZiRjdXJyZW50IiwicG9pbnRlcklkIiwiYm9keSIsInN0eWxlIiwidXNlclNlbGVjdCIsImN1cnNvciIsImhhbmRsZURyYWdNb3ZlIiwiZHJhZ1N0YXRlIiwiY2xpZW50WCIsImNsaWVudFkiLCJuZXh0UG9zaXRpb24iLCJvZmZzZXRYIiwib2Zmc2V0WSIsInJlc29sdmVkRHJhZ1Bvc2l0aW9uIiwiaGFuZGxlRHJhZ1N0YXJ0IiwiYnV0dG9uIiwidGFyZ2V0IiwiY2xvc2VzdCIsInJlY3QiLCJpbml0aWFsUG9zaXRpb24iLCJsZWZ0IiwidG9wIiwicG9pbnRlck9mZnNldFgiLCJwb2ludGVyT2Zmc2V0WSIsImN1cnJlbnRUYXJnZXQiLCJzZXRQb2ludGVyQ2FwdHVyZSIsInByZXZlbnREZWZhdWx0IiwiYWlDaGF0RHJhZ2dhYmxlIiwic3RhcnRDaGF0IiwiZmFxSWQiLCJhZ2VudFN1Z2dlc3Rpb25JZCIsIm1lbnRpb25zIiwiZnVhSWQiLCJzY0lkIiwiX29iamVjdFNwcmVhZCIsImxlbmd0aCIsImJhbm5lckZhcUF1dG9TZW50UmVmIiwiX2Jhbm5lckVudHJ5RmFxJGZhcVRpIiwiZW50aXR5UmVhZHkiLCJCb29sZWFuIiwiaWQiLCJmYXFUaXRsZSIsInRyaW0iLCJnb1RvQ2hhdCIsInNlc3Npb25FeHRlcm5hbElkIiwic2VsZWN0ZWRBZ2VudCIsImRhdGEiLCJmaW5kIiwiYWdlbnRJdGVtIiwiYWdlbnRJZCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImhhbmRsZVNlbmRNZXNzYWdlUmVhZHkiLCJzZW5kTWVzc2FnZSIsInN0b3BHZW5lcmF0aW9uIiwic3RyZWFtaW5nIiwid3JpdGluZyIsImhhbmRsZVNlbmRNZXNzYWdlIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsInByb2plY3RfZGVsZXRlZCIsImhhbmRsZVJlc2V0Q2hhdCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwibmV4dCIsInN0b3AiLCJoYW5kbGVCYWNrIiwib25NZXJnZUNyZWF0ZWRBZ2VudCIsImV2dCIsIl9yZWYzIiwiZGV0YWlsIiwibmV4dEFnZW50IiwibmF2aWdhdGVIb21lIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvblN5bmNFZGl0ZWRBZ2VudCIsIl9yZWY0Iiwib3BlbkNoYXRWaWV3Iiwib3Blbk5ld0NoYXRXaXRoQWdlbnQiLCJfZGV0YWlsJHByb2plY3QiLCJfZGV0YWlsJGNsaWVudCIsIl9yZWY1IiwidGFzayIsInVuZGVmaW5lZCIsInNob3dOZXdDaGF0IiwiaGlkZUhlYWRlckFnZW50U2VsZWN0b3IiLCJzaG93QmFja0J1dHRvbiIsImhhbmRsZU9wZW5NYXJrZXRwbGFjZSIsImhhbmRsZUdvVG9NYWlha2VyIiwiX2NhbGxlZTIiLCJtYWlha2VyQWdlbnQiLCJyZXNwb25zZSIsIl90IiwiX2NvbnRleHQyIiwiYSIsInBhdGgiLCJtZXRob2QiLCJzZW50IiwianNvbiIsImFicnVwdCIsImhhbmRsZURlbGV0ZUFnZW50RnJvbU15QWdlbnRzIiwiaGlkZUZvb3Rlck9uTWFpYWtlck1hcmtldHBsYWNlSG9tZSIsIm1vZGFsUGFuZWwiLCJjaGlsZHJlbiIsImRpc3BsYXkiLCJvbkdvVG9DaGF0Iiwib25FcnJvciIsImhhbmRsZUdvVG9Ib21lIiwiaGFuZGxlU2V0UmVmZXRjaENoYXRzIiwiYWdlbnRzTmF2QWN0aXZlIiwiZmxvYXRpbmciLCJvbkxheW91dE1vZGVDaGFuZ2UiLCJkcmFnZ2FibGUiLCJvbkRyYWdTdGFydCIsIm9uRHJhZ01vdmUiLCJvbkRyYWdFbmQiLCJoYXNNb3JlIiwiaGFzX21vcmUiLCJvbkFnZW50VXBkYXRlIiwiaGlkZUFnZW50U2VsZWN0b3IiLCJvbkJhY2siLCJyZWZzIiwib25TZW5kTWVzc2FnZVJlYWR5Iiwib25EZWxldGVBZ2VudCIsIm9uRmF2b3JpdGVBZ2VudFVwZGF0ZSIsImhhc01vcmVBZ2VudHMiLCJsb2FkaW5nTW9yZUFnZW50cyIsIm9uTG9hZE1vcmVBZ2VudHMiLCJvbkdvVG9NYWlha2VyIiwib25SZXN0YXJ0U3VtbWFyeSIsImhhbmRsZVN0b3BHZW5lcmF0aW9uIiwiY2hhdElkIiwic2hvd0ZhcXMiLCJyZWYiLCJjcmVhdGVQb3J0YWwiLCJlbGV2YXRlZCIsInRpbHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvQ2hhdEFJTW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLW5lc3RlZC10ZXJuYXJ5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtbm8tdXNlbGVzcy1mcmFnbWVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9uby1zdGF0aWMtZWxlbWVudC1pbnRlcmFjdGlvbnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9yZXF1aXJlLWRlZmF1bHQtcHJvcHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCB7XG4gIFJlZk9iamVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxuICB1c2VSZWYsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICBQb2ludGVyRXZlbnQgYXMgUmVhY3RQb2ludGVyRXZlbnQsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBNQUlBRXJyb3IgfSBmcm9tICcuLi8uLi9hdG9tcy9NQUlBRXJyb3InXG5pbXBvcnQgeyB1c2VNYWlhVGFza1BhbmVsWkluZGV4IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCdcblxuaW1wb3J0IHsgQ2hhdEFJQ29udGVudCB9IGZyb20gJy4uL0NoYXRBSUNvbnRlbnQnXG5pbXBvcnQgeyBidWlsZEhhbmRsZXJzLCBvcHRpb25zIH0gZnJvbSAnLi9jb25zdGFudHMnXG5pbXBvcnQgeyBTaWRlYmFyIH0gZnJvbSAnLi4vU2lkZWJhcidcbmltcG9ydCB7IHVzZUdldEFnZW50cyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2dldEFnZW50cydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgQ2hhdEFJTW9kYWxIZWFkZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxIZWFkZXIvQ2hhdEFpTW9kYWxIZWFkZXInXG5pbXBvcnQgeyBTbmFja2JhciB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9TbmFja0Jhci9TbmFja2JhcidcbmltcG9ydCB7IFByb2plY3RTdW1tYXJ5Q29udGVudCB9IGZyb20gJy4uL1Byb2plY3RTdW1tYXJ5Q29udGVudCdcbmltcG9ydCB7IEFibUFnZW50TW9kYWwgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvQWJtQWdlbnRNb2RhbC9BYm1BZ2VudE1vZGFsJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgU0NDQUlNQ29udGVudCwgU0NDQUlNQ29udGVudFdyYXBwZXIsIFNDQ0FJTVdyYXBwZXIgfSBmcm9tICcuL0NoYXRBSU1vZGFsLnN0eWxlcydcbmltcG9ydCB7IGdldE1haWFGbG9hdGluZ1BhbmVsV2lkdGhQeCwgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuL2xheW91dCdcbmltcG9ydCB7IEZsb2F0aW5nUGFuZWxNb3Rpb24sIHVzZUZsb2F0aW5nUGFuZWxEcmFnVGlsdCB9IGZyb20gJy4vZmxvYXRpbmdQYW5lbE1vdGlvbidcbmltcG9ydCB7IENoYXRBaU1vZGFsRm9vdGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL0NoYXRBaU1vZGFsRm9vdGVyJ1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvUHJvamVjdCdcbmltcG9ydCB7IENsaWVudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0NsaWVudCdcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9UYXNrJ1xuaW1wb3J0IHsgdXNlRmFxc1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvdXNlRmFxc1N0b3JlJ1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9jbGllbnQnXG5pbXBvcnQgeyBtYXBDT1JMYW5nIH0gZnJvbSAnLi4vLi4vLi4vbGFuZy91dGlscydcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcblxudHlwZSBDaGF0QUlNb2RhbFByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgaGFuZGxlQ2xvc2U/OiAoKSA9PiB2b2lkXG4gIHBhcmVudFJlZj86IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD5cbn1cblxuZXhwb3J0IGNvbnN0IElEX01PREFMX0NIQVRfQUdFTlQgPSAnbW9kYWxzLXBvcnRhbC1tYWlhLWNoYXQtYWdlbnQnXG5cbmNvbnN0IHZhbGlkYXRlQWNjZXNzQnlGZWF0dXJlID0gKHNlY3Rpb246IHN0cmluZykgPT4ge1xuICBpZiAoc2VjdGlvbiA9PT0gJ2hlYWRlcicgJiYgKHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIHx8IHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MpKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuICBpZiAoKHNlY3Rpb24gPT09ICdwcm9qZWN0JyB8fCBzZWN0aW9uID09PSAnY2xpZW50JyB8fCBzZWN0aW9uID09PSAndGFzaycpICYmIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MpIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWwgPSAoeyBoYW5kbGVDbG9zZSB9OiBDaGF0QUlNb2RhbFByb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgeyBpMThuIH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCBhbXBsaXR1ZEV2ZW50ID0gdXNlRXZlbnQoKVxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlTW9kYWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdXNlRmFxc1N0b3JlLmdldFN0YXRlKCkuY2xlYXJGYXFzKClcbiAgICBoYW5kbGVDbG9zZT8uKClcbiAgfSwgW2hhbmRsZUNsb3NlXSlcbiAgY29uc3QgW3VzZXJJbml0aWFsTWVzc2FnZSwgc2V0VXNlckluaXRpYWxNZXNzYWdlXSA9IHVzZVN0YXRlPHtcbiAgICBtZXNzYWdlOiBzdHJpbmdcbiAgICBhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXVxuICAgIGZhcUlkPzogc3RyaW5nXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmdcbiAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW11cbiAgICBmdWFJZD86IHN0cmluZ1xuICAgIHNjSWQ/OiBzdHJpbmdcbiAgfT4oe1xuICAgIG1lc3NhZ2U6ICcnLFxuICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgfSlcbiAgY29uc3QgW2luaXRpYWxDaGF0SWQsIHNldEluaXRpYWxDaGF0SWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW25ld0NoYXRLZXksIHNldE5ld0NoYXRLZXldID0gdXNlU3RhdGUoMClcbiAgY29uc3QgW3NlbmRNZXNzYWdlRnVuY3Rpb24sIHNldFNlbmRNZXNzYWdlRnVuY3Rpb25dID0gdXNlU3RhdGU8XG4gICAgfCAoKFxuICAgICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICAgICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgICAgIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nLFxuICAgICAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgICAgIGZ1YUlkPzogc3RyaW5nLFxuICAgICAgICBzY0lkPzogc3RyaW5nXG4gICAgICApID0+IHZvaWQpXG4gICAgfCBudWxsXG4gID4obnVsbClcbiAgY29uc3QgW3N0b3BHZW5lcmF0aW9uRnVuY3Rpb24sIHNldFN0b3BHZW5lcmF0aW9uRnVuY3Rpb25dID0gdXNlU3RhdGU8KCgpID0+IHZvaWQpIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2lzU3RyZWFtaW5nLCBzZXRJc1N0cmVhbWluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzV3JpdGluZywgc2V0SXNXcml0aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IFtyZWZldGNoQ2hhdHMsIHNldFJlZmV0Y2hDaGF0c10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2N1cnJlbnRPcHRpb24sIHNldEN1cnJlbnRPcHRpb25dID0gdXNlU3RhdGUob3B0aW9ucy5ob21lKVxuICBjb25zdCBbaGFzRXJyb3IsIHNldEhhc0Vycm9yXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBoYW5kbGVycyA9IHVzZU1lbW8oKCkgPT4gYnVpbGRIYW5kbGVycyhzZXRDdXJyZW50T3B0aW9uLCBzZXRIYXNFcnJvciksIFtdKVxuICBjb25zdCBbc2lkZWJhckhhc0Vycm9yLCBzZXRTaWRlYmFySGFzRXJyb3JdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHJlc2V0U2VsZWN0ZWRDaGF0UmVmID0gdXNlUmVmPCgoKSA9PiB2b2lkKSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGxhbmcgPSBpMThuLmxhbmd1YWdlID09PSAnYnInID8gJ3B0LWJyJyA6IGkxOG4ubGFuZ3VhZ2VcblxuICBtb21lbnQubG9jYWxlKGxhbmcpXG5cbiAgY29uc3Qge1xuICAgIHNlbGVjdEFnZW50LFxuICAgIHNlY3Rpb24sXG4gICAgYWdlbnQsXG4gICAgcHJvamVjdCxcbiAgICBjbGllbnQsXG4gICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgIHNldENoaXBzUHJvamVjdCxcbiAgICBzZXRDbGllbnQsXG4gICAgc2V0UHJvamVjdCxcbiAgICBiYW5uZXJFbnRyeUZhcSxcbiAgICBzZXRUYXNrLFxuICB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG5cbiAgLy8gWi1pbmRleCBwYXJhIHRvb2x0aXBzIGVuIHNlY3Rpb24gJ3Rhc2snIChtb2RhbCBmbG90YW50ZSBlbGV2YWRvKVxuICBjb25zdCB0b29sdGlwWkluZGV4ID0gdXNlTWFpYVRhc2tQYW5lbFpJbmRleCgxNTAwLCAnb3ZlcmxheScpXG5cbiAgY29uc3Qge1xuICAgIGFnZW50cyxcbiAgICBsb2FkaW5nLFxuICAgIGxvYWRpbmdNb3JlLFxuICAgIGVycm9yOiBhZ2VudEVycm9yLFxuICAgIGhhbmRsZUdldEFnZW50cyxcbiAgICBsb2FkTW9yZUFnZW50cyxcbiAgICBhZGRBZ2VudCxcbiAgICByZW1vdmVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudEZhdm9yaXRlLFxuICAgIHNlbGVjdEZpcnN0QWdlbnQsXG4gICAgc29ydEFnZW50c0xpc3QsXG4gIH0gPSB1c2VHZXRBZ2VudHMoeyBzZWxlY3RBZ2VudCwgc2VjdGlvbiwgYWdlbnQsIGhhbmRsZUdvSG9tZTogaGFuZGxlcnMuaG9tZSB9KVxuXG4gIGNvbnN0IGlzTUFJQSA9IHZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KVxuXG4gIGNvbnN0IHVzZXJIYXNQZXJtaXNzaW9ucyA9XG4gICAgKHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHM/LmNyZWF0ZSB8fFxuICAgICAgdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50cz8uZWRpdCB8fFxuICAgICAgdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50cz8uZGVsZXRlKSAmJlxuICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG5cbiAgY29uc3QgY29tcHV0ZWRDdXJyZW50T3B0aW9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgaXNHbG9iYWxTcGVjaWFsaXN0ID0gaXNNQUlBICYmIGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnXG4gICAgY29uc3QgaXNQcm9qZWN0U3BlY2lhbGlzdCA9IGlzTUFJQSAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT0gbnVsbClcbiAgICBjb25zdCBpc0NsaWVudFNwZWNpYWxpc3QgPSBpc01BSUEgJiYgYWdlbnQ/LmVudGl0eSA9PT0gJ2NsaWVudCdcbiAgICBjb25zdCBpc01haWFrZXIgPSBpc0dsb2JhbFNwZWNpYWxpc3QgJiYgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYWdlbnQ/Lm5hbWUgfHwgJycpXG5cbiAgICBpZiAoY3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5teUFnZW50cyAmJiB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUykge1xuICAgICAgcmV0dXJuIG9wdGlvbnMubXlBZ2VudHNcbiAgICB9XG5cbiAgICBpZiAoaXNHbG9iYWxTcGVjaWFsaXN0ICYmICFpc01haWFrZXIgJiYgY3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5ob21lKSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5jaGF0XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvdWxkU2hvd1Byb2plY3RTZWxlY3RvciA9IGN1cnJlbnRPcHRpb24gIT09IG9wdGlvbnMuY2hhdCAmJiBpc1Byb2plY3RTcGVjaWFsaXN0ICYmICFwcm9qZWN0XG4gICAgY29uc3Qgc2hvdWxkU2hvd0NsaWVudFNlbGVjdG9yID0gY3VycmVudE9wdGlvbiAhPT0gb3B0aW9ucy5jaGF0ICYmIGlzQ2xpZW50U3BlY2lhbGlzdCAmJiAhY2xpZW50XG5cbiAgICBpZiAoc2hvdWxkU2hvd1Byb2plY3RTZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIG9wdGlvbnMucHJvamVjdFNlbGVjdG9yXG4gICAgfVxuICAgIGlmIChzaG91bGRTaG93Q2xpZW50U2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiBvcHRpb25zLmNsaWVudFNlbGVjdG9yXG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50T3B0aW9uXG4gIH0sIFtjdXJyZW50T3B0aW9uLCBwcm9qZWN0LCBjbGllbnQsIGlzTUFJQSwgYWdlbnQ/LmVudGl0eSwgYWdlbnQ/Lm5hbWVdKVxuXG4gIGNvbnN0IGlzTWFpYWtlckFnZW50U2VsZWN0ZWQgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBpc01BSUEgJiZcbiAgICAgIGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnICYmXG4gICAgICBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJlxuICAgICAgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYWdlbnQ/Lm5hbWUgfHwgJycpLFxuICAgIFtpc01BSUEsIGFnZW50Py5lbnRpdHksIGFnZW50Py50eXBlLCBhZ2VudD8ubmFtZV1cbiAgKVxuXG4gIGNvbnN0IHNpZGViYXJBZ2VudHNOYXZBY3RpdmUgPSB1c2VNZW1vKCgpOiAnbWFpYWtlcicgfCAnbXlBZ2VudHMnIHwgbnVsbCA9PiB7XG4gICAgaWYgKGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5teUFnZW50cykgcmV0dXJuICdteUFnZW50cydcbiAgICBpZiAoaXNNYWlha2VyQWdlbnRTZWxlY3RlZCkgcmV0dXJuICdtYWlha2VyJ1xuICAgIHJldHVybiBudWxsXG4gIH0sIFtjb21wdXRlZEN1cnJlbnRPcHRpb24sIGlzTWFpYWtlckFnZW50U2VsZWN0ZWRdKVxuXG4gIC8qIFJlYWN0aXZhciBjb24gbGEgZmlsYSDigJxNaXMgYWdlbnRlc+KAnSBlbiBTaWRlYmFyOiBteUFnZW50c0NvdW50IHByb3BcbiAgY29uc3Qgc2lkZWJhck15QWdlbnRzQ291bnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gYWdlbnRzLmRhdGEuZmlsdGVyKFxuICAgICAgYSA9PiAhKGEudHlwZSA9PT0gJ2Nsb25lJyAmJiBhLmVudGl0eSA9PT0gJ2dsb2JhbCcgJiYgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYS5uYW1lIHx8ICcnKSlcbiAgICApXG4gICAgICAubGVuZ3RoXG4gIH0sIFthZ2VudHMuZGF0YV0pXG4gICovXG5cbiAgY29uc3QgYWdlbnRzRmV0Y2hlZFJlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBzZWxlY3RvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke0lEX01PREFMX0NIQVRfQUdFTlR9YClcblxuICAvLyBFbiBzZWN0aW9uICd0YXNrJyBNYWlhIGFicmUgZW4gbW9kbyBmbG90YW50ZSBwb3IgZGVmYXVsdCAoc2UgYWJyZSBkZXNkZSBlbCB0YXNrIHBhbmVsLFxuICAvLyBubyBxdWVyZW1vcyB0YXBhcmxvIGVudGVybykuIEVsIHVzdWFyaW8gcHVlZGUgY2FtYmlhciBhIHNpZGViYXIvZnVsbHNjcmVlbiBkZXNkZSBsb3MgY29udHJvbGVzIGRlbCBtb2RhbC5cbiAgY29uc3QgW2xheW91dE1vZGUsIHNldExheW91dE1vZGVdID0gdXNlU3RhdGU8TWFpYUNoYXRNb2RhbExheW91dE1vZGU+KHNlY3Rpb24gPT09ICd0YXNrJyA/ICdmbG9hdGluZycgOiAnc2lkZWJhcicpXG4gIGNvbnN0IGV4cGFuZGVkID0gbGF5b3V0TW9kZSA9PT0gJ2Z1bGxzY3JlZW4nXG4gIGNvbnN0IGlzRmxvYXRpbmcgPSBsYXlvdXRNb2RlID09PSAnZmxvYXRpbmcnXG4gIGNvbnN0IGNvbnRlbnRXcmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbZHJhZ1Bvc2l0aW9uLCBzZXREcmFnUG9zaXRpb25dID0gdXNlU3RhdGU8eyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHwgbnVsbD4obnVsbClcbiAgY29uc3QgeyB0aWx0TW90aW9uLCBzdGFydFBvaW50ZXJUcmFja2luZywgc2FtcGxlUG9pbnRlck1vdmUsIGVuZFBvaW50ZXJUcmFja2luZyB9ID1cbiAgICB1c2VGbG9hdGluZ1BhbmVsRHJhZ1RpbHQoaXNGbG9hdGluZylcbiAgY29uc3QgZHJhZ1N0YXRlUmVmID0gdXNlUmVmPHtcbiAgICBwb2ludGVySWQ6IG51bWJlclxuICAgIG9mZnNldFg6IG51bWJlclxuICAgIG9mZnNldFk6IG51bWJlclxuICB9IHwgbnVsbD4obnVsbClcblxuICBjb25zdCBjbGFtcERyYWdQb3NpdGlvbiA9IHVzZUNhbGxiYWNrKCh4OiBudW1iZXIsIHk6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnRXcmFwcGVyID0gY29udGVudFdyYXBwZXJSZWYuY3VycmVudFxuICAgIGlmICghY29udGVudFdyYXBwZXIpIHtcbiAgICAgIHJldHVybiB7IHgsIHkgfVxuICAgIH1cblxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gY29udGVudFdyYXBwZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICBjb25zdCBvZmZzZXQgPSAxNlxuICAgIGNvbnN0IG1heFggPSBNYXRoLm1heChvZmZzZXQsIHdpbmRvdy5pbm5lcldpZHRoIC0gd2lkdGggLSBvZmZzZXQpXG4gICAgY29uc3QgbWF4WSA9IE1hdGgubWF4KG9mZnNldCwgd2luZG93LmlubmVySGVpZ2h0IC0gaGVpZ2h0IC0gb2Zmc2V0KVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IE1hdGgubWluKE1hdGgubWF4KHgsIG9mZnNldCksIG1heFgpLFxuICAgICAgeTogTWF0aC5taW4oTWF0aC5tYXgoeSwgb2Zmc2V0KSwgbWF4WSksXG4gICAgfVxuICB9LCBbXSlcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsYXlvdXRNb2RlICE9PSAnZmxvYXRpbmcnKSB7XG4gICAgICBzZXREcmFnUG9zaXRpb24obnVsbClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHNldERyYWdQb3NpdGlvbihwcmV2ID0+IHtcbiAgICAgIGlmIChwcmV2KSB7XG4gICAgICAgIHJldHVybiBjbGFtcERyYWdQb3NpdGlvbihwcmV2LngsIHByZXYueSlcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhZCA9IDE2XG4gICAgICBjb25zdCB4ID0gd2luZG93LmlubmVyV2lkdGggLSBnZXRNYWlhRmxvYXRpbmdQYW5lbFdpZHRoUHgoKSAtIHBhZFxuICAgICAgcmV0dXJuIGNsYW1wRHJhZ1Bvc2l0aW9uKHgsIHBhZClcbiAgICB9KVxuICB9LCBbbGF5b3V0TW9kZSwgY2xhbXBEcmFnUG9zaXRpb25dKVxuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgZW5kUG9pbnRlclRyYWNraW5nKClcbiAgICAgIGlmIChkcmFnU3RhdGVSZWYuY3VycmVudD8ucG9pbnRlcklkICE9PSBldmVudC5wb2ludGVySWQpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGRyYWdTdGF0ZVJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0ID0gJydcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gJydcbiAgICB9LFxuICAgIFtlbmRQb2ludGVyVHJhY2tpbmddXG4gIClcblxuICBjb25zdCBoYW5kbGVEcmFnTW92ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICBjb25zdCBkcmFnU3RhdGUgPSBkcmFnU3RhdGVSZWYuY3VycmVudFxuICAgICAgaWYgKCFkcmFnU3RhdGUgfHwgZHJhZ1N0YXRlLnBvaW50ZXJJZCAhPT0gZXZlbnQucG9pbnRlcklkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBzYW1wbGVQb2ludGVyTW92ZShldmVudC5jbGllbnRYLCBldmVudC5jbGllbnRZKVxuXG4gICAgICBjb25zdCBuZXh0UG9zaXRpb24gPSBjbGFtcERyYWdQb3NpdGlvbihldmVudC5jbGllbnRYIC0gZHJhZ1N0YXRlLm9mZnNldFgsIGV2ZW50LmNsaWVudFkgLSBkcmFnU3RhdGUub2Zmc2V0WSlcblxuICAgICAgc2V0RHJhZ1Bvc2l0aW9uKHByZXYgPT4ge1xuICAgICAgICBpZiAocHJldiAmJiBwcmV2LnggPT09IG5leHRQb3NpdGlvbi54ICYmIHByZXYueSA9PT0gbmV4dFBvc2l0aW9uLnkpIHtcbiAgICAgICAgICByZXR1cm4gcHJldlxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXh0UG9zaXRpb25cbiAgICAgIH0pXG4gICAgfSxcbiAgICBbY2xhbXBEcmFnUG9zaXRpb24sIHNhbXBsZVBvaW50ZXJNb3ZlXVxuICApXG5cbiAgY29uc3QgcmVzb2x2ZWREcmFnUG9zaXRpb24gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAobGF5b3V0TW9kZSAhPT0gJ2Zsb2F0aW5nJykge1xuICAgICAgcmV0dXJuIGRyYWdQb3NpdGlvblxuICAgIH1cbiAgICBpZiAoZHJhZ1Bvc2l0aW9uKSB7XG4gICAgICByZXR1cm4gZHJhZ1Bvc2l0aW9uXG4gICAgfVxuICAgIGNvbnN0IHBhZCA9IDE2XG4gICAgY29uc3QgeCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmlubmVyV2lkdGggLSBnZXRNYWlhRmxvYXRpbmdQYW5lbFdpZHRoUHgoKSAtIHBhZCA6IHBhZFxuICAgIHJldHVybiBjbGFtcERyYWdQb3NpdGlvbih4LCBwYWQpXG4gIH0sIFtsYXlvdXRNb2RlLCBkcmFnUG9zaXRpb24sIGNsYW1wRHJhZ1Bvc2l0aW9uXSlcblxuICBjb25zdCBoYW5kbGVEcmFnU3RhcnQgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKCFpc0Zsb2F0aW5nIHx8IGV2ZW50LmJ1dHRvbiAhPT0gMCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50XG4gICAgICBpZiAodGFyZ2V0LmNsb3Nlc3QoJ2J1dHRvbiwgYSwgaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QsIFtyb2xlPVwiYnV0dG9uXCJdLCBbZGF0YS1uby1kcmFnPVwidHJ1ZVwiXScpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCBjb250ZW50V3JhcHBlciA9IGNvbnRlbnRXcmFwcGVyUmVmLmN1cnJlbnRcbiAgICAgIGlmICghY29udGVudFdyYXBwZXIpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlY3QgPSBjb250ZW50V3JhcHBlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgY29uc3QgaW5pdGlhbFBvc2l0aW9uID0gcmVzb2x2ZWREcmFnUG9zaXRpb24gPz8gY2xhbXBEcmFnUG9zaXRpb24ocmVjdC5sZWZ0LCByZWN0LnRvcClcbiAgICAgIGNvbnN0IHBvaW50ZXJPZmZzZXRYID0gZXZlbnQuY2xpZW50WCAtIGluaXRpYWxQb3NpdGlvbi54XG4gICAgICBjb25zdCBwb2ludGVyT2Zmc2V0WSA9IGV2ZW50LmNsaWVudFkgLSBpbml0aWFsUG9zaXRpb24ueVxuXG4gICAgICBzZXREcmFnUG9zaXRpb24oaW5pdGlhbFBvc2l0aW9uKVxuICAgICAgZHJhZ1N0YXRlUmVmLmN1cnJlbnQgPSB7XG4gICAgICAgIHBvaW50ZXJJZDogZXZlbnQucG9pbnRlcklkLFxuICAgICAgICBvZmZzZXRYOiBwb2ludGVyT2Zmc2V0WCxcbiAgICAgICAgb2Zmc2V0WTogcG9pbnRlck9mZnNldFksXG4gICAgICB9XG5cbiAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoZXZlbnQucG9pbnRlcklkKVxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuXG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3QgPSAnbm9uZSdcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gJ2dyYWJiaW5nJ1xuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0RHJhZ2dhYmxlKVxuICAgICAgc3RhcnRQb2ludGVyVHJhY2tpbmcoZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSlcbiAgICB9LFxuICAgIFtjbGFtcERyYWdQb3NpdGlvbiwgaXNGbG9hdGluZywgcmVzb2x2ZWREcmFnUG9zaXRpb24sIHN0YXJ0UG9pbnRlclRyYWNraW5nXVxuICApXG5cbiAgY29uc3Qgc3RhcnRDaGF0ID0gdXNlQ2FsbGJhY2soXG4gICAgKFxuICAgICAgbWVzc2FnZT86IHN0cmluZyxcbiAgICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICAgIGZhcUlkPzogc3RyaW5nLFxuICAgICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgICBmdWFJZD86IHN0cmluZyxcbiAgICAgIHNjSWQ/OiBzdHJpbmdcbiAgICApID0+IHtcbiAgICAgIGlmIChzaWRlYmFySGFzRXJyb3IpIHtcbiAgICAgICAgc2V0U2lkZWJhckhhc0Vycm9yKGZhbHNlKVxuICAgICAgfVxuICAgICAgc2V0SW5pdGlhbENoYXRJZChudWxsKVxuICAgICAgc2V0TmV3Q2hhdEtleShwcmV2ID0+IHByZXYgKyAxKVxuICAgICAgc2V0VXNlckluaXRpYWxNZXNzYWdlKHtcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSB8fCAnJyxcbiAgICAgICAgYXR0YWNobWVudHM6IGF0dGFjaG1lbnRzIHx8IFtdLFxuICAgICAgICAuLi4oZmFxSWQgPyB7IGZhcUlkIH0gOiB7fSksXG4gICAgICAgIC4uLihhZ2VudFN1Z2dlc3Rpb25JZCA/IHsgYWdlbnRTdWdnZXN0aW9uSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKG1lbnRpb25zICYmIG1lbnRpb25zLmxlbmd0aCA+IDAgPyB7IG1lbnRpb25zIH0gOiB7fSksXG4gICAgICAgIC4uLihmdWFJZCA/IHsgZnVhSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHNjSWQgPyB7IHNjSWQgfSA6IHt9KSxcbiAgICAgIH0pXG4gICAgICBoYW5kbGVycy5jaGF0KClcbiAgICB9LFxuICAgIFtoYW5kbGVycywgc2lkZWJhckhhc0Vycm9yXVxuICApXG5cbiAgY29uc3QgYmFubmVyRmFxQXV0b1NlbnRSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBlbnRpdHlSZWFkeSA9IHNlY3Rpb24gPT09ICdwcm9qZWN0JyA/IEJvb2xlYW4ocHJvamVjdD8uaWQpIDogc2VjdGlvbiA9PT0gJ2NsaWVudCcgPyBCb29sZWFuKGNsaWVudD8uaWQpIDogdHJ1ZVxuXG4gICAgaWYgKCFiYW5uZXJFbnRyeUZhcT8uZmFxVGl0bGU/LnRyaW0oKSB8fCBiYW5uZXJGYXFBdXRvU2VudFJlZi5jdXJyZW50IHx8IGxvYWRpbmcgfHwgIWFnZW50Py5pZCB8fCAhZW50aXR5UmVhZHkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGJhbm5lckZhcUF1dG9TZW50UmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgc3RhcnRDaGF0KGJhbm5lckVudHJ5RmFxLmZhcVRpdGxlLCBbXSwgYmFubmVyRW50cnlGYXEuZmFxSWQpXG4gIH0sIFtcbiAgICBiYW5uZXJFbnRyeUZhcT8uZmFxSWQsXG4gICAgYmFubmVyRW50cnlGYXE/LmZhcVRpdGxlLFxuICAgIGxvYWRpbmcsXG4gICAgYWdlbnQ/LmlkLFxuICAgIGFnZW50Py5lbnRpdHksXG4gICAgcHJvamVjdD8uaWQsXG4gICAgY2xpZW50Py5pZCxcbiAgICBzZWN0aW9uLFxuICAgIHN0YXJ0Q2hhdCxcbiAgXSlcblxuICBjb25zdCBnb1RvQ2hhdCA9IHVzZUNhbGxiYWNrKFxuICAgIChjaGF0OiBhbnkpID0+IHtcbiAgICAgIHNldFVzZXJJbml0aWFsTWVzc2FnZSh7IG1lc3NhZ2U6ICcnLCBhdHRhY2htZW50czogW10gfSlcbiAgICAgIHNldEluaXRpYWxDaGF0SWQoY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZClcbiAgICAgIGNvbnN0IHNlbGVjdGVkQWdlbnQgPSBhZ2VudHMuZGF0YS5maW5kKGFnZW50SXRlbSA9PiBhZ2VudEl0ZW0uaWQgPT09IGNoYXQuYWdlbnRJZClcbiAgICAgIGlmIChzZWxlY3RlZEFnZW50KSB7XG4gICAgICAgIHNlbGVjdEFnZW50KHNlbGVjdGVkQWdlbnQpXG4gICAgICB9XG4gICAgICAvLyBEaXNwYXRjaCBldmVudCB0byBjbGVhciB0aGUgaW5wdXQgdGV4dGFyZWFcbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdjaGF0LXNlc3Npb24tY2hhbmdlZCcpKVxuICAgICAgaGFuZGxlcnMuY2hhdCgpXG4gICAgfSxcbiAgICBbaGFuZGxlcnMsIGFnZW50cywgc2VsZWN0QWdlbnRdXG4gIClcblxuICBjb25zdCBoYW5kbGVTZW5kTWVzc2FnZVJlYWR5ID0gdXNlQ2FsbGJhY2soXG4gICAgKFxuICAgICAgc2VuZE1lc3NhZ2U6IChcbiAgICAgICAgbWVzc2FnZTogc3RyaW5nLFxuICAgICAgICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sXG4gICAgICAgIGZhcUlkPzogc3RyaW5nLFxuICAgICAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICAgICAgbWVudGlvbnM/OiBDb250ZXh0TWVudGlvbltdLFxuICAgICAgICBmdWFJZD86IHN0cmluZyxcbiAgICAgICAgc2NJZD86IHN0cmluZ1xuICAgICAgKSA9PiB2b2lkLFxuICAgICAgc3RvcEdlbmVyYXRpb246ICgpID0+IHZvaWQsXG4gICAgICBzdHJlYW1pbmc6IGJvb2xlYW4sXG4gICAgICB3cml0aW5nOiBib29sZWFuXG4gICAgKSA9PiB7XG4gICAgICBzZXRTZW5kTWVzc2FnZUZ1bmN0aW9uKCgpID0+IHNlbmRNZXNzYWdlKVxuICAgICAgc2V0U3RvcEdlbmVyYXRpb25GdW5jdGlvbigoKSA9PiBzdG9wR2VuZXJhdGlvbilcbiAgICAgIHNldElzU3RyZWFtaW5nKHN0cmVhbWluZylcbiAgICAgIHNldElzV3JpdGluZyh3cml0aW5nKVxuICAgIH0sXG4gICAgW11cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZVNlbmRNZXNzYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgKFxuICAgICAgbWVzc2FnZTogc3RyaW5nLFxuICAgICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICAgIGZ1YUlkPzogc3RyaW5nLFxuICAgICAgc2NJZD86IHN0cmluZ1xuICAgICkgPT4ge1xuICAgICAgaWYgKHNpZGViYXJIYXNFcnJvcikge1xuICAgICAgICBzZXRTaWRlYmFySGFzRXJyb3IoZmFsc2UpXG4gICAgICB9XG4gICAgICBpZiAoc2VuZE1lc3NhZ2VGdW5jdGlvbiAmJiBjb21wdXRlZEN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuY2hhdCkge1xuICAgICAgICBzZW5kTWVzc2FnZUZ1bmN0aW9uKG1lc3NhZ2UsIGF0dGFjaG1lbnRzLCBmYXFJZCwgYWdlbnRTdWdnZXN0aW9uSWQsIG1lbnRpb25zLCBmdWFJZCwgc2NJZClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXJ0Q2hhdChtZXNzYWdlLCBhdHRhY2htZW50cywgZmFxSWQsIGFnZW50U3VnZ2VzdGlvbklkLCBtZW50aW9ucywgZnVhSWQsIHNjSWQpXG4gICAgICB9XG4gICAgfSxcbiAgICBbc2VuZE1lc3NhZ2VGdW5jdGlvbiwgc3RhcnRDaGF0LCBjb21wdXRlZEN1cnJlbnRPcHRpb24sIHNpZGViYXJIYXNFcnJvcl1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUdvSG9tZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAvLyBTaSBlc3RhbW9zIGVuIHVuYSBjb252ZXJzYWNpw7NuIHkgdmFtb3MgYSBob21lLCByZXNldGVhciBpbml0aWFsQ2hhdElkIHkgaW5jcmVtZW50YXIgbmV3Q2hhdEtleVxuICAgIGlmIChjdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmNoYXQpIHtcbiAgICAgIHN0b3BHZW5lcmF0aW9uRnVuY3Rpb24/LigpXG4gICAgICBzZXRJbml0aWFsQ2hhdElkKG51bGwpXG4gICAgICBzZXROZXdDaGF0S2V5KHByZXYgPT4gcHJldiArIDEpXG4gICAgICBzZXRJc1dyaXRpbmcoZmFsc2UpXG4gICAgICAvLyBObyBib3JyYXIgZWwgY2xpZW50ZSBzaSBlcyBhZ2VudGUgZGUgY2xpZW50ZXMgKGlndWFsIHF1ZSBlbCBwcm95ZWN0byBzZSBtYW50aWVuZSlcbiAgICAgIGlmIChhZ2VudD8uZW50aXR5ICE9PSAnY2xpZW50Jykge1xuICAgICAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoXG4gICAgICAoIWFnZW50IHx8IGFnZW50Py5pc19kZWxldGVkIHx8IGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8IGFnZW50Py5oYXNfbm90X2FjY2VzcyB8fCBhZ2VudD8ucHJvamVjdF9kZWxldGVkKSAmJlxuICAgICAgYWdlbnRzLmRhdGEubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgc2VsZWN0QWdlbnQoYWdlbnRzLmRhdGFbMF0pXG4gICAgfVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5ob21lKVxuICAgIHNldENoaXBzUHJvamVjdChudWxsKVxuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIGlzV2ViU2VhcmNoQWN0aXZlICYmIHRvZ2dsZVdlYlNlYXJjaCgpXG4gICAgaWYgKHJlc2V0U2VsZWN0ZWRDaGF0UmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2V0U2VsZWN0ZWRDaGF0UmVmLmN1cnJlbnQoKVxuICAgIH1cbiAgfSwgW1xuICAgIG9wdGlvbnMuaG9tZSxcbiAgICBvcHRpb25zLmNoYXQsXG4gICAgY3VycmVudE9wdGlvbixcbiAgICBpc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICB0b2dnbGVXZWJTZWFyY2gsXG4gICAgYWdlbnQsXG4gICAgYWdlbnRzLFxuICAgIHNlbGVjdEFnZW50LFxuICAgIHNldENsaWVudCxcbiAgICBzdG9wR2VuZXJhdGlvbkZ1bmN0aW9uLFxuICBdKVxuXG4gIGNvbnN0IGhhbmRsZVJlc2V0Q2hhdCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBzZXRVc2VySW5pdGlhbE1lc3NhZ2UoeyBtZXNzYWdlOiAnJywgYXR0YWNobWVudHM6IFtdIH0pXG4gICAgc2V0SW5pdGlhbENoYXRJZChudWxsKVxuICAgIC8vIERpc3BhdGNoIGV2ZW50IHRvIGNsZWFyIHRoZSBpbnB1dCB0ZXh0YXJlYVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdjaGF0LXNlc3Npb24tY2hhbmdlZCcpKVxuICAgIGhhbmRsZUdvSG9tZSgpXG4gIH0sIFtoYW5kbGVHb0hvbWVdKVxuXG4gIC8vIEJvdMOzbiBcInZvbHZlclwiIGRlbCBoZWFkZXIgKHNvbG8gYWdlbnRlcyBjbG9uZSk6XG4gIC8vIC0gQ29uIGNvbnZlcnNhY2nDs24gaW5pY2lhZGE6IGluaWNpYSB1bmEgbnVldmEgY29udmVyc2FjacOzbiB5IHZ1ZWx2ZSBhbCBob21lICh0b2RhcyBsYXMgc2VjY2lvbmVzKS5cbiAgLy8gLSBFbiBlbCBob21lIChGQVFzL0ZVQSk6IHZ1ZWx2ZSBhbCBzZWxlY3RvciBkZSBwcm95ZWN0b3MvY2xpZW50ZXMgbGltcGlhbmRvIGxhIGVudGl0eSBzZWxlY2Npb25hZGEuXG4gIGNvbnN0IGhhbmRsZUJhY2sgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5jaGF0KSB7XG4gICAgICBoYW5kbGVSZXNldENoYXQoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIC8vIEVuIHNlY3Rpb24gJ3Rhc2snIHByZXNlcnZhciBwcm9qZWN0L2NsaWVudDsgZW4gb3RyYXMgc2VjY2lvbmVzLCBpciBhbCBzZWxlY3RvciBsaW1waWFuZG8gcHJvamVjdC9jbGllbnRcbiAgICBpZiAoc2VjdGlvbiAhPT0gJ3Rhc2snKSB7XG4gICAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgIH1cbiAgfSwgW2NvbXB1dGVkQ3VycmVudE9wdGlvbiwgc2VjdGlvbiwgaGFuZGxlUmVzZXRDaGF0LCBzZXRQcm9qZWN0LCBzZXRDbGllbnRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFhZ2VudHNGZXRjaGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgIGFnZW50c0ZldGNoZWRSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIGhhbmRsZUdldEFnZW50cygpXG4gICAgfVxuICB9LCBbaGFuZGxlR2V0QWdlbnRzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG9uTWVyZ2VDcmVhdGVkQWdlbnQgPSAoZXZ0OiBFdmVudCkgPT4ge1xuICAgICAgY29uc3QgeyBhZ2VudDogbmV4dEFnZW50IH0gPSAoZXZ0IGFzIEN1c3RvbUV2ZW50PHsgYWdlbnQ6IEFnZW50IH0+KS5kZXRhaWwgfHwge31cbiAgICAgIGlmIChuZXh0QWdlbnQ/LmlkKSB7XG4gICAgICAgIGFkZEFnZW50KG5leHRBZ2VudCwgeyBuYXZpZ2F0ZUhvbWU6IGZhbHNlIH0pXG4gICAgICB9XG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21haWEtbWVyZ2UtY3JlYXRlZC1hZ2VudC1pbnRvLWxpc3QnLCBvbk1lcmdlQ3JlYXRlZEFnZW50KVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtYWlhLW1lcmdlLWNyZWF0ZWQtYWdlbnQtaW50by1saXN0Jywgb25NZXJnZUNyZWF0ZWRBZ2VudClcbiAgICB9XG4gIH0sIFthZGRBZ2VudF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvblN5bmNFZGl0ZWRBZ2VudCA9IChldnQ6IEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB7IGFnZW50OiBuZXh0QWdlbnQgfSA9IChldnQgYXMgQ3VzdG9tRXZlbnQ8eyBhZ2VudDogQWdlbnQgfT4pLmRldGFpbCB8fCB7fVxuICAgICAgaWYgKCFuZXh0QWdlbnQ/LmlkKSByZXR1cm5cbiAgICAgIHVwZGF0ZUFnZW50KG5leHRBZ2VudClcbiAgICAgIGlmIChhZ2VudD8uaWQgPT09IG5leHRBZ2VudC5pZCkge1xuICAgICAgICBzZWxlY3RBZ2VudChuZXh0QWdlbnQpXG4gICAgICB9XG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21haWEtc3luYy1lZGl0ZWQtYWdlbnQtZnJvbS1jaGF0Jywgb25TeW5jRWRpdGVkQWdlbnQpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21haWEtc3luYy1lZGl0ZWQtYWdlbnQtZnJvbS1jaGF0Jywgb25TeW5jRWRpdGVkQWdlbnQpXG4gICAgfVxuICB9LCBbdXBkYXRlQWdlbnQsIHNlbGVjdEFnZW50LCBhZ2VudD8uaWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgb3BlbkNoYXRWaWV3ID0gKCkgPT4ge1xuICAgICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgICBzZXRJbml0aWFsQ2hhdElkKG51bGwpXG4gICAgICBzZXROZXdDaGF0S2V5KHByZXYgPT4gcHJldiArIDEpXG4gICAgICBzZXRVc2VySW5pdGlhbE1lc3NhZ2UoeyBtZXNzYWdlOiAnJywgYXR0YWNobWVudHM6IFtdIH0pXG4gICAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMuY2hhdClcbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdjaGF0LXNlc3Npb24tY2hhbmdlZCcpKVxuICAgIH1cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtYWlhLW9wZW4tY2hhdC12aWV3Jywgb3BlbkNoYXRWaWV3KVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtYWlhLW9wZW4tY2hhdC12aWV3Jywgb3BlbkNoYXRWaWV3KVxuICAgIH1cbiAgfSwgW10pXG5cbiAgLyoqIE1pc21vIGZsdWpvIHF1ZSBDaGF0QUlNeUFnZW50cy5oYW5kbGVVc2VBZ2VudCArIG9uQmFjayAoaGFuZGxlcnMuaG9tZSkuXG4gICAqICBFbCBkZXRhaWwgcHVlZGUgdHJhZXIgb3BjaW9uYWxtZW50ZSBgcHJvamVjdGAsIGBjbGllbnRgLCBgdGFza2AgcGFyYSBmbG93cyBxdWVcbiAgICogIG5lY2VzaXRhbiBwcmVzZXJ2YXIgY29udGV4dG8gKGVqLiBzZWxlY3RvciBkZSBhZ2VudGVzIGRlc2RlIHVuYSB0YXJlYSkuIFNpIG5vIHZpZW5lbixcbiAgICogIHNlIG1hbnRpZW5lIGVsIGNvbXBvcnRhbWllbnRvIG9yaWdpbmFsIGRlIGxpbXBpYXIgcHJvamVjdC9jbGllbnQuICovXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgb3Blbk5ld0NoYXRXaXRoQWdlbnQgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB7IGRldGFpbCB9ID0gZXZlbnQgYXMgQ3VzdG9tRXZlbnQ8e1xuICAgICAgICBhZ2VudDogQWdlbnRcbiAgICAgICAgcHJvamVjdD86IFByb2plY3QgfCBudWxsXG4gICAgICAgIGNsaWVudD86IENsaWVudCB8IG51bGxcbiAgICAgICAgdGFzaz86IFRhc2sgfCBudWxsXG4gICAgICB9PlxuICAgICAgY29uc3QgbmV4dEFnZW50ID0gZGV0YWlsPy5hZ2VudFxuICAgICAgaWYgKCFuZXh0QWdlbnQpIHJldHVyblxuXG4gICAgICBzZXRQcm9qZWN0KGRldGFpbD8ucHJvamVjdCA/PyBudWxsKVxuICAgICAgc2V0Q2xpZW50Py4oZGV0YWlsPy5jbGllbnQgPz8gbnVsbClcbiAgICAgIGlmIChkZXRhaWw/LnRhc2sgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRUYXNrPy4oZGV0YWlsLnRhc2spXG4gICAgICB9XG4gICAgICBzZWxlY3RBZ2VudChuZXh0QWdlbnQpXG4gICAgICBzZXRIYXNFcnJvcihmYWxzZSlcbiAgICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5ob21lKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21haWEtb3Blbi1uZXctY2hhdC13aXRoLWFnZW50Jywgb3Blbk5ld0NoYXRXaXRoQWdlbnQpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21haWEtb3Blbi1uZXctY2hhdC13aXRoLWFnZW50Jywgb3Blbk5ld0NoYXRXaXRoQWdlbnQpXG4gICAgfVxuICB9LCBbc2VsZWN0QWdlbnQsIHNldENsaWVudCwgc2V0UHJvamVjdCwgc2V0VGFza10pXG5cbiAgY29uc3Qgc2hvd05ld0NoYXQgPSBjb21wdXRlZEN1cnJlbnRPcHRpb24gIT09IG9wdGlvbnMuY2hhdFxuICBjb25zdCBoaWRlSGVhZGVyQWdlbnRTZWxlY3RvciA9IGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5teUFnZW50c1xuICBjb25zdCBzaG93QmFja0J1dHRvbiA9XG4gICAgYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgJiZcbiAgICAhaGFzRXJyb3IgJiZcbiAgICAhbG9hZGluZyAmJlxuICAgIChjb21wdXRlZEN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuY2hhdCB8fCAoY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmhvbWUgJiYgc2VjdGlvbiAhPT0gJ3Rhc2snKSlcbiAgY29uc3QgaGFuZGxlT3Blbk1hcmtldHBsYWNlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMubXlBZ2VudHMpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUdvVG9NYWlha2VyID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIGxldCBtYWlha2VyQWdlbnQgPSBhZ2VudHMuZGF0YS5maW5kKChhOiBBZ2VudCkgPT4gYS50eXBlID09PSAnY2xvbmUnICYmIGEuZW50aXR5ID09PSAnZ2xvYmFsJylcbiAgICBpZiAoIW1haWFrZXJBZ2VudCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgICAgICAgIHBhdGg6IGBhZ2VudHM/YWdlbnRfdHlwZT1jbG9uZSZsYW5nPSR7bWFwQ09STGFuZyhpMThuLmxhbmd1YWdlKX1gLFxuICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgICAgbWFpYWtlckFnZW50ID0gKGRhdGEuZGF0YSB8fCBbXSkuZmluZCgoYTogQWdlbnQpID0+IGEudHlwZSA9PT0gJ2Nsb25lJyAmJiBhLmVudGl0eSA9PT0gJ2dsb2JhbCcpXG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuICAgIGlmICghbWFpYWtlckFnZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc2V0UHJvamVjdChudWxsKVxuICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgc2VsZWN0QWdlbnQobWFpYWtlckFnZW50KVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5ob21lKVxuICAgIGlmIChyZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50KSB7XG4gICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50KClcbiAgICB9XG4gIH0sIFthZ2VudHMuZGF0YSwgaTE4bi5sYW5ndWFnZSwgc2VsZWN0QWdlbnQsIHNldENsaWVudCwgc2V0UHJvamVjdF0pXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUFnZW50RnJvbU15QWdlbnRzID0gdXNlQ2FsbGJhY2soXG4gICAgKGFnZW50SWQ6IHN0cmluZykgPT4ge1xuICAgICAgcmVtb3ZlQWdlbnQoYWdlbnRJZClcbiAgICAgIGlmIChhZ2VudD8uaWQgPT09IGFnZW50SWQpIHtcbiAgICAgICAgc2VsZWN0Rmlyc3RBZ2VudChhZ2VudElkKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2FnZW50Py5pZCwgcmVtb3ZlQWdlbnQsIHNlbGVjdEZpcnN0QWdlbnRdXG4gIClcblxuICBjb25zdCBoaWRlRm9vdGVyT25NYWlha2VyTWFya2V0cGxhY2VIb21lID0gY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmhvbWUgJiYgaXNNYWlha2VyQWdlbnRTZWxlY3RlZFxuXG4gIGNvbnN0IG1vZGFsUGFuZWwgPSAoXG4gICAgPD5cbiAgICAgIHt2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZShzZWN0aW9uKSA/IChcbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiBpc0Zsb2F0aW5nID8gJ25vbmUnIDogJ2NvbnRlbnRzJyB9fSBhcmlhLWhpZGRlbj17aXNGbG9hdGluZ30+XG4gICAgICAgICAgPFNpZGViYXJcbiAgICAgICAgICAgIG9uR29Ub0NoYXQ9e2dvVG9DaGF0fVxuICAgICAgICAgICAgb25FcnJvcj17KCkgPT4gc2V0U2lkZWJhckhhc0Vycm9yKHRydWUpfVxuICAgICAgICAgICAgaGFuZGxlR29Ub0hvbWU9e2hhbmRsZUdvSG9tZX1cbiAgICAgICAgICAgIGhhbmRsZU9wZW5NYXJrZXRwbGFjZT17aGFuZGxlT3Blbk1hcmtldHBsYWNlfVxuICAgICAgICAgICAgc2hvd05ld0NoYXQ9e3Nob3dOZXdDaGF0fVxuICAgICAgICAgICAgcmVmZXRjaENoYXRzPXtyZWZldGNoQ2hhdHN9XG4gICAgICAgICAgICBoYW5kbGVTZXRSZWZldGNoQ2hhdHM9e3NldFJlZmV0Y2hDaGF0c31cbiAgICAgICAgICAgIGhhc0Vycm9yPXtzaWRlYmFySGFzRXJyb3J9XG4gICAgICAgICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZj17cmVzZXRTZWxlY3RlZENoYXRSZWZ9XG4gICAgICAgICAgICBhZ2VudHNOYXZBY3RpdmU9e3NpZGViYXJBZ2VudHNOYXZBY3RpdmV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICAgIDxTQ0NBSU1Db250ZW50IGV4cGFuZGVkPXtleHBhbmRlZH0gZmxvYXRpbmc9e2lzRmxvYXRpbmd9PlxuICAgICAgICA8Q2hhdEFJTW9kYWxIZWFkZXJcbiAgICAgICAgICBsYXlvdXRNb2RlPXtsYXlvdXRNb2RlfVxuICAgICAgICAgIG9uTGF5b3V0TW9kZUNoYW5nZT17c2V0TGF5b3V0TW9kZX1cbiAgICAgICAgICBleHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICAgICAgZHJhZ2dhYmxlPXtpc0Zsb2F0aW5nfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXtoYW5kbGVEcmFnU3RhcnR9XG4gICAgICAgICAgb25EcmFnTW92ZT17aGFuZGxlRHJhZ01vdmV9XG4gICAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVEcmFnRW5kfVxuICAgICAgICAgIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZU1vZGFsfVxuICAgICAgICAgIGFnZW50cz17YWdlbnRzLmRhdGF9XG4gICAgICAgICAgaGFzRXJyb3I9eyEhYWdlbnRFcnJvcn1cbiAgICAgICAgICBsb2FkaW5nPXtsb2FkaW5nfVxuICAgICAgICAgIGxvYWRpbmdNb3JlPXtsb2FkaW5nTW9yZX1cbiAgICAgICAgICBoYXNNb3JlPXthZ2VudHMuaGFzX21vcmV9XG4gICAgICAgICAgaGFuZGxlUmVzZXRDaGF0PXtoYW5kbGVSZXNldENoYXR9XG4gICAgICAgICAgb25BZ2VudFVwZGF0ZT17dXBkYXRlQWdlbnRGYXZvcml0ZX1cbiAgICAgICAgICBsb2FkTW9yZUFnZW50cz17bG9hZE1vcmVBZ2VudHN9XG4gICAgICAgICAgc29ydEFnZW50c0xpc3Q9e3NvcnRBZ2VudHNMaXN0fVxuICAgICAgICAgIGhpZGVBZ2VudFNlbGVjdG9yPXtoaWRlSGVhZGVyQWdlbnRTZWxlY3Rvcn1cbiAgICAgICAgICBzaG93QmFja0J1dHRvbj17c2hvd0JhY2tCdXR0b259XG4gICAgICAgICAgb25CYWNrPXtoYW5kbGVCYWNrfVxuICAgICAgICAvPlxuICAgICAgICB7aGFzRXJyb3IgPyAoXG4gICAgICAgICAgPE1BSUFFcnJvciAvPlxuICAgICAgICApIDogdmFsaWRhdGVBY2Nlc3NCeUZlYXR1cmUoc2VjdGlvbikgPyAoXG4gICAgICAgICAgPENoYXRBSUNvbnRlbnRcbiAgICAgICAgICAgIGN1cnJlbnRPcHRpb249e2NvbXB1dGVkQ3VycmVudE9wdGlvbn1cbiAgICAgICAgICAgIGhhbmRsZXJzPXt7IC4uLmhhbmRsZXJzLCBjaGF0OiBzdGFydENoYXQsIGhvbWU6IGhhbmRsZXJzLmhvbWUsIGhhbmRsZUdvSG9tZSB9fVxuICAgICAgICAgICAgb25FcnJvcj17KCkgPT4gc2V0SGFzRXJyb3IodHJ1ZSl9XG4gICAgICAgICAgICByZWZzPXt7IHVzZXJJbml0aWFsTWVzc2FnZSwgaW5pdGlhbENoYXRJZCB9fVxuICAgICAgICAgICAgb25TZW5kTWVzc2FnZVJlYWR5PXtoYW5kbGVTZW5kTWVzc2FnZVJlYWR5fVxuICAgICAgICAgICAgZXhwYW5kZWQ9e2V4cGFuZGVkfVxuICAgICAgICAgICAgZmxvYXRpbmc9e2lzRmxvYXRpbmd9XG4gICAgICAgICAgICBhZ2VudHM9e2FnZW50cy5kYXRhfVxuICAgICAgICAgICAgb25EZWxldGVBZ2VudD17aGFuZGxlRGVsZXRlQWdlbnRGcm9tTXlBZ2VudHN9XG4gICAgICAgICAgICBvbkZhdm9yaXRlQWdlbnRVcGRhdGU9e3VwZGF0ZUFnZW50RmF2b3JpdGV9XG4gICAgICAgICAgICBoYXNNb3JlQWdlbnRzPXshIWFnZW50cy5oYXNfbW9yZX1cbiAgICAgICAgICAgIGxvYWRpbmdNb3JlQWdlbnRzPXtsb2FkaW5nTW9yZX1cbiAgICAgICAgICAgIG9uTG9hZE1vcmVBZ2VudHM9e2xvYWRNb3JlQWdlbnRzfVxuICAgICAgICAgICAgb25Hb1RvTWFpYWtlcj17aGFuZGxlR29Ub01haWFrZXJ9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UHJvamVjdFN1bW1hcnlDb250ZW50IG9uUmVzdGFydFN1bW1hcnk9e2hhbmRsZXJzLmhvbWV9IC8+XG4gICAgICAgICl9XG4gICAgICAgIHsoKGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5ob21lICYmICEhYWdlbnRzPy5kYXRhPy5sZW5ndGgpIHx8XG4gICAgICAgICAgY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmNoYXQpICYmXG4gICAgICAgICAgIWhpZGVGb290ZXJPbk1haWFrZXJNYXJrZXRwbGFjZUhvbWUgJiZcbiAgICAgICAgICAhaGFzRXJyb3IgJiZcbiAgICAgICAgICAhbG9hZGluZyAmJlxuICAgICAgICAgIHZhbGlkYXRlQWNjZXNzQnlGZWF0dXJlKHNlY3Rpb24pICYmIChcbiAgICAgICAgICAgIDxDaGF0QWlNb2RhbEZvb3RlclxuICAgICAgICAgICAgICBhZ2VudD17YWdlbnR9XG4gICAgICAgICAgICAgIGhhbmRsZVNlbmRNZXNzYWdlPXtoYW5kbGVTZW5kTWVzc2FnZX1cbiAgICAgICAgICAgICAgaGFuZGxlU3RvcEdlbmVyYXRpb249e3N0b3BHZW5lcmF0aW9uRnVuY3Rpb259XG4gICAgICAgICAgICAgIGlzU3RyZWFtaW5nPXtpc1N0cmVhbWluZ31cbiAgICAgICAgICAgICAgaXNXcml0aW5nPXtpc1dyaXRpbmd9XG4gICAgICAgICAgICAgIGNoYXRJZD17aW5pdGlhbENoYXRJZH1cbiAgICAgICAgICAgICAgbmV3Q2hhdEtleT17bmV3Q2hhdEtleX1cbiAgICAgICAgICAgICAgc2hvd0ZhcXM9e2NvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5jaGF0fVxuICAgICAgICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgPC9TQ0NBSU1Db250ZW50PlxuICAgIDwvPlxuICApXG5cbiAgY29uc3QgY29udGVudFdyYXBwZXIgPSAoXG4gICAgPFNDQ0FJTUNvbnRlbnRXcmFwcGVyIGV4cGFuZGVkPXtleHBhbmRlZH0gZmxvYXRpbmc9e2lzRmxvYXRpbmd9IHJlZj17Y29udGVudFdyYXBwZXJSZWZ9PlxuICAgICAge21vZGFsUGFuZWx9XG4gICAgPC9TQ0NBSU1Db250ZW50V3JhcHBlcj5cbiAgKVxuXG4gIHJldHVybiAoXG4gICAgc2VsZWN0b3IgJiZcbiAgICBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICA8U0NDQUlNV3JhcHBlclxuICAgICAgICBleHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICAgIGxheW91dE1vZGU9e2xheW91dE1vZGV9XG4gICAgICAgIGRyYWdQb3NpdGlvbj17cmVzb2x2ZWREcmFnUG9zaXRpb259XG4gICAgICAgIGVsZXZhdGVkPXtzZWN0aW9uID09PSAndGFzayd9XG4gICAgICA+XG4gICAgICAgIDxGbG9hdGluZ1BhbmVsTW90aW9uIHRpbHQ9e3RpbHRNb3Rpb259IGV4cGFuZGVkPXtleHBhbmRlZH0+XG4gICAgICAgICAge2NvbnRlbnRXcmFwcGVyfVxuICAgICAgICA8L0Zsb2F0aW5nUGFuZWxNb3Rpb24+XG4gICAgICAgIHt1c2VySGFzUGVybWlzc2lvbnMgJiYgKFxuICAgICAgICAgIDxBYm1BZ2VudE1vZGFsXG4gICAgICAgICAgICBhZGRBZ2VudD17YWRkQWdlbnR9XG4gICAgICAgICAgICB1cGRhdGVBZ2VudD17dXBkYXRlQWdlbnR9XG4gICAgICAgICAgICByZW1vdmVBZ2VudD17cmVtb3ZlQWdlbnR9XG4gICAgICAgICAgICB1cGRhdGVBZ2VudEZhdm9yaXRlPXt1cGRhdGVBZ2VudEZhdm9yaXRlfVxuICAgICAgICAgICAgc2VsZWN0Rmlyc3RBZ2VudD17c2VsZWN0Rmlyc3RBZ2VudH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICA8U25hY2tiYXIgLz5cbiAgICAgIDwvU0NDQUlNV3JhcHBlcj4sXG4gICAgICBzZWxlY3RvclxuICAgIClcbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBRUVBLFdBQVcsRUFDWEMsT0FBTyxFQUNQQyxRQUFRLEVBQ1JDLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxlQUFlLFFBRVYsT0FBTztBQUNkLE9BQU9DLFFBQVEsTUFBTSxXQUFXO0FBQ2hDLE9BQU9DLE1BQU0sTUFBTSxRQUFRO0FBQzNCLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLE9BQU8sUUFBUSwyQkFBMkI7QUFDbkQsU0FBU0MsU0FBUyxRQUFRLHVCQUF1QjtBQUNqRCxTQUFTQyxzQkFBc0IsUUFBUSx1Q0FBdUM7QUFFOUUsU0FBU0MsYUFBYSxRQUFRLGtCQUFrQjtBQUNoRCxTQUFTQyxhQUFhLEVBQUVDLE9B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
|
|
@@ -62,6 +62,7 @@ var ListHistoryChat = function ListHistoryChat(_ref) {
|
|
|
62
62
|
return formatChatListTitleMentions(chat.title);
|
|
63
63
|
}, [chat.title]);
|
|
64
64
|
var displayAgent = getAgentDisplayName(chat.agentType, chat.agent);
|
|
65
|
+
var contextName = chat.projectName || chat.clientName;
|
|
65
66
|
var _useResizeListener = useResizeListener(textRef, [displayTitle]),
|
|
66
67
|
showTooltip = _useResizeListener.showTooltip;
|
|
67
68
|
var _useResizeListener2 = useResizeListener(agentRef, [chat.agent]),
|
|
@@ -114,7 +115,7 @@ var ListHistoryChat = function ListHistoryChat(_ref) {
|
|
|
114
115
|
children: displayTitle || t('conversations.emptyLabel')
|
|
115
116
|
})
|
|
116
117
|
}), /*#__PURE__*/_jsx(Tooltip, {
|
|
117
|
-
title: showTooltipAgent ? displayAgent + (
|
|
118
|
+
title: showTooltipAgent ? displayAgent + (contextName ? " - ".concat(contextName) : '') : '',
|
|
118
119
|
children: /*#__PURE__*/_jsxs(SCLHCWrapperAgent, {
|
|
119
120
|
children: [chat.agentType === 'clone' ? /*#__PURE__*/_jsx(MAIAIcon, {
|
|
120
121
|
width: 14,
|
|
@@ -126,7 +127,7 @@ var ListHistoryChat = function ListHistoryChat(_ref) {
|
|
|
126
127
|
children: chat.emoji
|
|
127
128
|
}), /*#__PURE__*/_jsxs(SCLHCWrapperAgentText, {
|
|
128
129
|
ref: agentRef,
|
|
129
|
-
children: [displayAgent,
|
|
130
|
+
children: [displayAgent, contextName && " - ".concat(contextName)]
|
|
130
131
|
})]
|
|
131
132
|
})
|
|
132
133
|
})]
|
|
@@ -551,4 +552,4 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
551
552
|
})]
|
|
552
553
|
});
|
|
553
554
|
};
|
|
554
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJDaGV2cm9uRG91YmxlTGVmdCIsIkNVQnV0dG9uIiwiTWVudURvdHMiLCJQZW5jaWwiLCJUcmFzaCIsIlRvb2x0aXAiLCJFbXB0eUhpc3RvcnlJY29uIiwidXNlUmVzaXplTGlzdGVuZXIiLCJ1c2VDaGF0cyIsIkxvYWRlciIsIkVycm9yU3RhdGUiLCJNQUlBSWNvbiIsIk1haWFTdG9yZUljb24iLCJNeUFnZW50c05hdkljb24iLCJOZXdDaGF0IiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ1c2VUIiwiT3B0aW9uSXRlbSIsIkVkaXRRdWVzdGlvbk1vZGFsIiwiRGVsZXRlUXVlc3Rpb25Nb2RhbCIsIkVycm9ySWNvbiIsInVzZVVzZXIiLCJGZWVkYmFja0J1dHRvbiIsInVzZUdsb2JhbENvbnRleHQiLCJmZXRjaE1haWEiLCJtYXBDT1JMYW5nIiwiZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zIiwiZ2V0QWdlbnREaXNwbGF5TmFtZSIsIlNDTEhDV3JhcHBlciIsIlNDTEhDV3JhcHBlckFnZW50IiwiU0NMSENXcmFwcGVyQWdlbnRUZXh0IiwiU0NMSENXcmFwcGVyQnV0dG9uQWN0aW9ucyIsIlNDTEhDV3JhcHBlckNvbnRlbnQiLCJTQ0xIQ1dyYXBwZXJUaXRsZSIsIlNDU1dyYXBwZXJDb2xsYXBzZWRCdXR0b24iLCJTQ1NXcmFwcGVyTmV3Q2hhdEljb24iLCJTQ1NTaWRlYmFyUm9vdCIsIlNDU1NpZGViYXJUb29sYmFyIiwiU0NTU2lkZWJhckJvZHkiLCJTQ1NTaWRlYmFyT3BlblBhbmVsIiwiU0NTU2lkZWJhckFnZW50c0Jsb2NrIiwiU0NTU2lkZWJhckFnZW50c0FjdGlvbnMiLCJTQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvbiIsIlNDU1NpZGViYXJNYWlha2VyTmF2TGFiZWwiLCJTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmciLCJTQ1NTaWRlYmFyQ2hhdHNTY3JvbGwiLCJTQ1NTaWRlYmFyRXJyb3JTdGF0ZUNvbHVtbiIsIlNDU1NpZGViYXJFcnJvclN0YXRlVG9wIiwiU0NTU2lkZWJhckVycm9yQmFubmVyIiwiU0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXAiLCJTQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlIiwiU0NTU2lkZWJhckxvYWRpbmdBcmVhIiwiU0NTU2lkZWJhckxvYWRNb3JlUm93IiwiU0NTU2lkZWJhckVtcHR5Q2hhdHMiLCJTQ1NTaWRlYmFyRW1wdHlDaGF0c1RleHQiLCJTQ1NTaWRlYmFyQ2hhdHNGb290ZXIiLCJTQ1NTaWRlYmFyRm9vdGVyQWN0aW9ucyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImFjdGlvbnMiLCJlZGl0IiwicHJvcHMiLCJfb2JqZWN0U3ByZWFkIiwiZGVsZXRlIiwiTGlzdEhpc3RvcnlDaGF0IiwiX3JlZiIsImNoYXQiLCJvbkNsaWNrIiwiaXNNb2RhbE9wZW4iLCJvbk9wZW5Nb2RhbCIsIm9uQ2xvc2VNb2RhbCIsImhhbmRsZXJzIiwiaXNTZWxlY3RlZCIsInRleHRSZWYiLCJhZ2VudFJlZiIsImRpc3BsYXlUaXRsZSIsInRpdGxlIiwiZGlzcGxheUFnZW50IiwiYWdlbnRUeXBlIiwiYWdlbnQiLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJzaG93VG9vbHRpcCIsIl91c2VSZXNpemVMaXN0ZW5lcjIiLCJzaG93VG9vbHRpcEFnZW50IiwiX3VzZVQiLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiYWN0aW9uIiwic2V0QWN0aW9uIiwibWVudUl0ZW1zIiwibGFiZWwiLCJvbkNsaWNrSXRlbSIsImNoYXRJZCIsIkljb24iLCJldmVudEtleSIsInBtQWlNZW51RWRpdCIsInBtQWlNZW51RGVsZXRlIiwiaGFuZGxlQ29uZmlybUFjdGlvbiIsImNoYXREYXRhIiwiaGFuZGxlVXBkYXRlQ2hhdCIsImhhbmRsZURlbGV0ZUNoYXQiLCJjaGlsZHJlbiIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJyZWYiLCJwcm9qZWN0TmFtZSIsImNvbmNhdCIsIndpZHRoIiwiaGVpZ2h0Iiwic3R5bGUiLCJmb250U2l6ZSIsImVtb2ppIiwiaWNvbk9ubHkiLCJzaXplIiwidmFyaWFudCIsImV2ZW50IiwiaWQiLCJwb3NpdGlvbiIsInRvcCIsInJpZ2h0IiwiYmFja2dyb3VuZENvbG9yIiwiekluZGV4IiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJib3JkZXJSYWRpdXMiLCJib3JkZXIiLCJtaW5XaWR0aCIsIm1hcCIsIl9yZWYyIiwic2Vzc2lvbkV4dGVybmFsSWQiLCJvbkNsb3NlIiwiaGFuZGxlU2V0SXNPcGVuTW9kYWwiLCJTaWRlYmFyIiwiX3JlZjMiLCJfdXNlciRwZXJtaXNzaW9ucyIsIm9uR29Ub0NoYXQiLCJfcmVmMyRvbkVycm9yIiwib25FcnJvciIsImhhbmRsZUdvVG9Ib21lIiwiaGFuZGxlT3Blbk1hcmtldHBsYWNlIiwic2hvd05ld0NoYXQiLCJyZWZldGNoQ2hhdHMiLCJoYW5kbGVTZXRSZWZldGNoQ2hhdHMiLCJoYXNFcnJvciIsInJlc2V0U2VsZWN0ZWRDaGF0UmVmIiwiX3JlZjMkYWdlbnRzTmF2QWN0aXZlIiwiYWdlbnRzTmF2QWN0aXZlIiwiX3VzZVQyIiwiaTE4biIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc09wZW5Nb2RhbCIsInNldElzT3Blbk1vZGFsIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWxlY3RlZENoYXQiLCJzZXRTZWxlY3RlZENoYXQiLCJjaGF0c0ZldGNoZWRSZWYiLCJjaGF0c0NvbnRhaW5lclJlZiIsInVzZXIiLCJldmVudEFtcGxpdHVkZSIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsInNlbGVjdEFnZW50Iiwic2V0UHJvamVjdCIsInNldENsaWVudCIsIl91c2VDaGF0cyIsImxvYWRpbmdDaGF0cyIsImNoYXRzIiwiZGVsZXRlQ2hhdCIsInVwZGF0ZUNoYXQiLCJmZXRjaENoYXRzIiwibGltaXQiLCJvZmZzZXQiLCJoYXNNb3JlQ2hhdHMiLCJsb2FkTW9yZUNoYXRzIiwiaXNMb2FkaW5nTW9yZUNoYXRzIiwidXNlclBlcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjYW5DcmVhdGVBZ2VudHMiLCJjcmVhdGUiLCJoYXNNdWx0aUFnZW50c0ZlYXR1cmVBY2Nlc3MiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiY2FuVmlld0FnZW50cyIsInZpZXciLCJzaG93TWFya2V0cGxhY2VTaWRlYmFyQnV0dG9uIiwiTUFJQV9NQVJLRVRQTEFDRV9NQUlBS0VSIiwiYWdlbnROYXZCdXR0b25Db3VudCIsInNob3dBZ2VudHNOYXZCbG9jayIsImN1cnJlbnQiLCJfcmVmNCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZU9wZW5Nb2RhbCIsImhhbmRsZUNsb3NlTW9kYWwiLCJoYW5kbGVDbGlja091dHNpZGUiLCJ0YXJnZXQiLCJjbG9zZXN0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZVRvZ2dsZVNpZGViYXIiLCJoYW5kbGVPcGVuQ3JlYXRlQWdlbnQiLCJfcmVmNSIsIl9jYWxsZWUyIiwicmVzcG9uc2UiLCJkYXRhIiwibWFpYWtlckFnZW50IiwiX2NvbnRleHQyIiwicGF0aCIsImxhbmd1YWdlIiwibWV0aG9kIiwic2VudCIsImpzb24iLCJmaW5kIiwidHlwZSIsImVudGl0eSIsImFicnVwdCIsImhhbmRsZVNjcm9sbCIsIl9jaGF0c0NvbnRhaW5lclJlZiRjdSIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImlzQXRCb3R0b20iLCJjb250YWluZXIiLCJoYW5kbGVOZXdDaGF0IiwiX3JlZjYiLCJfY2FsbGVlMyIsIl9jb250ZXh0MyIsImhhbmRsZVJlZmV0Y2hTZXNzaW9uIiwic2hvd05ld0NoYXRCdXR0b24iLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwiJGlzT3BlbiIsImNvbG9yIiwiYWlDaGF0TXBPcGVuIiwiJGFjdGl2ZSIsIiRoYXNDaGF0cyIsImxlbmd0aCIsIiRvZmZzZXRWYXJpYW50IiwiJGFnZW50TmF2QnV0dG9uQ291bnQiLCIkanVzdGlmeUJldHdlZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvU2lkZWJhci9TaWRlYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvdyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgTXV0YWJsZVJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDaGV2cm9uRG91YmxlTGVmdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3VibGVMZWZ0J1xuaW1wb3J0IHsgQ1VCdXR0b24gfSBmcm9tICdAcHJvamVjdGNvci9idXR0b24vbGliL2NvbXBvbmVudHMvQ1VCdXR0b24nXG5pbXBvcnQgeyBNZW51RG90cyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL01lbnVEb3RzJ1xuaW1wb3J0IHsgUGVuY2lsIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGVuY2lsJ1xuaW1wb3J0IHsgVHJhc2ggfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9UcmFzaCdcblxuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuXG5pbXBvcnQgeyBFbXB0eUhpc3RvcnlJY29uIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMvRW1wdHlIaXN0b3J5J1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyB1c2VDaGF0cyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUNoYXRzJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vYXRvbXMvTG9hZGVyJ1xuaW1wb3J0IHsgRXJyb3JTdGF0ZSwgTUFJQUljb24sIE1haWFTdG9yZUljb24sIE15QWdlbnRzTmF2SWNvbiwgTmV3Q2hhdCB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBPcHRpb25JdGVtIH0gZnJvbSAnLi4vLi4vYXRvbXMvQ2FyZE1lbnUvQ2FyZE1lbnUnXG5pbXBvcnQgeyBFZGl0UXVlc3Rpb25Nb2RhbCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9FZGl0UXVlc3Rpb25Nb2RhbCdcbmltcG9ydCB7IERlbGV0ZVF1ZXN0aW9uTW9kYWwgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvRGVsZXRlUXVlc3Rpb25Nb2RhbCdcbmltcG9ydCB7IEVycm9ySWNvbiB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL0Vycm9ySWNvbidcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgRmVlZGJhY2tCdXR0b24gfSBmcm9tICcuLi8uLi9hdG9tcy9GZWVkYmFja0J1dHRvbidcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9jbGllbnQnXG5pbXBvcnQgeyBtYXBDT1JMYW5nIH0gZnJvbSAnLi4vLi4vLi4vbGFuZy91dGlscydcbmltcG9ydCB7IGZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3JlbmRlckNvbnRleHRNZW50aW9ucydcbmltcG9ydCB7IGdldEFnZW50RGlzcGxheU5hbWUgfSBmcm9tICcuLi8uLi8uLi91dGlscy9hZ2VudERpc3BsYXlOYW1lJ1xuaW1wb3J0IHtcbiAgU0NMSENXcmFwcGVyLFxuICBTQ0xIQ1dyYXBwZXJBZ2VudCxcbiAgU0NMSENXcmFwcGVyQWdlbnRUZXh0LFxuICBTQ0xIQ1dyYXBwZXJCdXR0b25BY3Rpb25zLFxuICBTQ0xIQ1dyYXBwZXJDb250ZW50LFxuICBTQ0xIQ1dyYXBwZXJUaXRsZSxcbiAgU0NTV3JhcHBlckNvbGxhcHNlZEJ1dHRvbixcbiAgU0NTV3JhcHBlck5ld0NoYXRJY29uLFxufSBmcm9tICcuL1NpZGViYXIuc3R5bGVzJ1xuaW1wb3J0IHtcbiAgU0NTU2lkZWJhclJvb3QsXG4gIFNDU1NpZGViYXJUb29sYmFyLFxuICBTQ1NTaWRlYmFyQm9keSxcbiAgU0NTU2lkZWJhck9wZW5QYW5lbCxcbiAgU0NTU2lkZWJhckFnZW50c0Jsb2NrLFxuICBTQ1NTaWRlYmFyQWdlbnRzQWN0aW9ucyxcbiAgU0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b24sXG4gIFNDU1NpZGViYXJNYWlha2VyTmF2TGFiZWwsXG4gIFNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZyxcbiAgU0NTU2lkZWJhckNoYXRzU2Nyb2xsLFxuICBTQ1NTaWRlYmFyRXJyb3JTdGF0ZUNvbHVtbixcbiAgU0NTU2lkZWJhckVycm9yU3RhdGVUb3AsXG4gIFNDU1NpZGViYXJFcnJvckJhbm5lcixcbiAgU0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXAsXG4gIFNDU1NpZGViYXJFcnJvckJhbm5lck1lc3NhZ2UsXG4gIFNDU1NpZGViYXJMb2FkaW5nQXJlYSxcbiAgU0NTU2lkZWJhckxvYWRNb3JlUm93LFxuICBTQ1NTaWRlYmFyRW1wdHlDaGF0cyxcbiAgU0NTU2lkZWJhckVtcHR5Q2hhdHNUZXh0LFxuICBTQ1NTaWRlYmFyQ2hhdHNGb290ZXIsXG4gIFNDU1NpZGViYXJGb290ZXJBY3Rpb25zLFxufSBmcm9tICcuL1NpZGViYXIubGF5b3V0LnN0eWxlcydcblxuY29uc3QgYWN0aW9ucyA9IHtcbiAgZWRpdDogKHByb3BzOiBhbnkpID0+IDxFZGl0UXVlc3Rpb25Nb2RhbCB7Li4ucHJvcHN9IC8+LFxuICBkZWxldGU6IChwcm9wczogYW55KSA9PiA8RGVsZXRlUXVlc3Rpb25Nb2RhbCB7Li4ucHJvcHN9IC8+LFxufVxuXG4vKiogQWJyZXZpYSBcImVzcGVjaWFsaXN0YVwiL1wiZXNwZWNpYWxpc3RcIiDihpIgXCJFc3AuXCIgKEVTL1BUKSB5IFwic3BlY2lhbGlzdFwiIOKGkiBcIlNwZWMuXCIgKEVOKSBlbiBlbCBub21icmUgZGVsIGFnZW50ZS4gKi9cbmNvbnN0IExpc3RIaXN0b3J5Q2hhdCA9ICh7XG4gIGNoYXQsXG4gIG9uQ2xpY2ssXG4gIGlzTW9kYWxPcGVuLFxuICBvbk9wZW5Nb2RhbCxcbiAgb25DbG9zZU1vZGFsLFxuICBoYW5kbGVycyxcbiAgaXNTZWxlY3RlZCxcbn06IHtcbiAgY2hhdDogYW55XG4gIG9uQ2xpY2s6IChjaGF0OiBhbnkpID0+IHZvaWRcbiAgaXNNb2RhbE9wZW46IGJvb2xlYW5cbiAgb25PcGVuTW9kYWw6IChjaGF0SWQ6IHN0cmluZykgPT4gdm9pZFxuICBvbkNsb3NlTW9kYWw6ICgpID0+IHZvaWRcbiAgaGFuZGxlcnM6IHtcbiAgICBoYW5kbGVEZWxldGVDaGF0OiAoY2hhdDogYW55KSA9PiB2b2lkXG4gICAgaGFuZGxlVXBkYXRlQ2hhdDogKGNoYXQ6IGFueSkgPT4gdm9pZFxuICB9XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW5cbn0pID0+IHtcbiAgY29uc3QgdGV4dFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgYWdlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGRpc3BsYXlUaXRsZSA9IHVzZU1lbW8oKCkgPT4gZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zKGNoYXQudGl0bGUpLCBbY2hhdC50aXRsZV0pXG4gIGNvbnN0IGRpc3BsYXlBZ2VudCA9IGdldEFnZW50RGlzcGxheU5hbWUoY2hhdC5hZ2VudFR5cGUsIGNoYXQuYWdlbnQpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXAgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWYsIFtkaXNwbGF5VGl0bGVdKVxuICBjb25zdCB7IHNob3dUb29sdGlwOiBzaG93VG9vbHRpcEFnZW50IH0gPSB1c2VSZXNpemVMaXN0ZW5lcihhZ2VudFJlZiwgW2NoYXQuYWdlbnRdKVxuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBbYWN0aW9uLCBzZXRBY3Rpb25dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcblxuICBjb25zdCBtZW51SXRlbXMgPSBbXG4gICAge1xuICAgICAgbGFiZWw6IHQoJ2hpc3RvcnkubWVudS5yZW5hbWUnKSxcbiAgICAgIG9uQ2xpY2tJdGVtOiAoY2hhdElkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgc2V0QWN0aW9uKCdlZGl0JylcbiAgICAgICAgb25PcGVuTW9kYWwoY2hhdElkKVxuICAgICAgfSxcbiAgICAgIEljb246IFBlbmNpbCxcbiAgICAgIGV2ZW50S2V5OiBFVkVOVFMucG1BaU1lbnVFZGl0LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6IHQoJ2hpc3RvcnkubWVudS5kZWxldGUnKSxcbiAgICAgIG9uQ2xpY2tJdGVtOiAoY2hhdElkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgc2V0QWN0aW9uKCdkZWxldGUnKVxuICAgICAgICBvbk9wZW5Nb2RhbChjaGF0SWQpXG4gICAgICB9LFxuICAgICAgSWNvbjogVHJhc2gsXG4gICAgICBldmVudEtleTogRVZFTlRTLnBtQWlNZW51RGVsZXRlLFxuICAgIH0sXG4gIF1cblxuICBjb25zdCBoYW5kbGVDb25maXJtQWN0aW9uID0gKGNoYXREYXRhOiBhbnkpID0+IHtcbiAgICBpZiAoYWN0aW9uID09PSAnZWRpdCcpIHtcbiAgICAgIGhhbmRsZXJzLmhhbmRsZVVwZGF0ZUNoYXQoY2hhdERhdGEpXG4gICAgfSBlbHNlIHtcbiAgICAgIGhhbmRsZXJzLmhhbmRsZURlbGV0ZUNoYXQoY2hhdERhdGEpXG4gICAgfVxuICAgIHNldEFjdGlvbihudWxsKVxuICAgIG9uQ2xvc2VNb2RhbCgpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U0NMSENXcmFwcGVyQ29udGVudFxuICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgb25DbGljayhjaGF0KVxuICAgICAgICB9fVxuICAgICAgICBrZXk9e2Bjb252ZXJzYXRpb24tJHtjaGF0LnNlc3Npb25FeHRlcm5hbElkfWB9XG4gICAgICAgIGlzTW9kYWxPcGVuPXtpc01vZGFsT3Blbn1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgID5cbiAgICAgICAgPFNDTEhDV3JhcHBlcj5cbiAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17c2hvd1Rvb2x0aXAgPyBkaXNwbGF5VGl0bGUgOiAnJ30+XG4gICAgICAgICAgICA8U0NMSENXcmFwcGVyVGl0bGUgcmVmPXt0ZXh0UmVmfT57ZGlzcGxheVRpdGxlIHx8IHQoJ2NvbnZlcnNhdGlvbnMuZW1wdHlMYWJlbCcpfTwvU0NMSENXcmFwcGVyVGl0bGU+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXtzaG93VG9vbHRpcEFnZW50ID8gZGlzcGxheUFnZW50ICsgKGNoYXQucHJvamVjdE5hbWUgPyBgIC0gJHtjaGF0LnByb2plY3ROYW1lfWAgOiAnJykgOiAnJ30+XG4gICAgICAgICAgICA8U0NMSENXcmFwcGVyQWdlbnQ+XG4gICAgICAgICAgICAgIHtjaGF0LmFnZW50VHlwZSA9PT0gJ2Nsb25lJyA/IChcbiAgICAgICAgICAgICAgICA8TUFJQUljb24gd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRTaXplOiAnMTRweCcgfX0+e2NoYXQuZW1vaml9PC9zcGFuPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJBZ2VudFRleHQgcmVmPXthZ2VudFJlZn0+XG4gICAgICAgICAgICAgICAge2Rpc3BsYXlBZ2VudH1cbiAgICAgICAgICAgICAgICB7Y2hhdC5wcm9qZWN0TmFtZSAmJiBgIC0gJHtjaGF0LnByb2plY3ROYW1lfWB9XG4gICAgICAgICAgICAgIDwvU0NMSENXcmFwcGVyQWdlbnRUZXh0PlxuICAgICAgICAgICAgPC9TQ0xIQ1dyYXBwZXJBZ2VudD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvU0NMSENXcmFwcGVyPlxuICAgICAgICA8U0NMSENXcmFwcGVyQnV0dG9uQWN0aW9ucz5cbiAgICAgICAgICA8Q1VCdXR0b25cbiAgICAgICAgICAgIGljb25Pbmx5XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgdmFyaWFudD1cInRleHRcIlxuICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICBvbk9wZW5Nb2RhbChjaGF0LmlkKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWVudURvdHMgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAge2lzTW9kYWxPcGVuICYmICFhY3Rpb24gJiYgKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBkYXRhLW1vZGFsLWNvbnRhaW5lclxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIHRvcDogJzMycHgnLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiAnMTZweCcsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgICAgIHpJbmRleDogMTAwMCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgcmdiYSgyMjQsIDIyNCwgMjI0LCAxKScsXG4gICAgICAgICAgICAgICAgbWluV2lkdGg6ICcxMjRweCcsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHttZW51SXRlbXMubWFwKCh7IGxhYmVsLCBvbkNsaWNrSXRlbSwgSWNvbiwgZXZlbnRLZXkgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxPcHRpb25JdGVtXG4gICAgICAgICAgICAgICAgICBrZXk9e2xhYmVsfVxuICAgICAgICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGlja0l0ZW0oY2hhdC5pZCl9XG4gICAgICAgICAgICAgICAgICBJY29uPXtJY29ufVxuICAgICAgICAgICAgICAgICAgZXZlbnRLZXk9e2V2ZW50S2V5fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0xIQ1dyYXBwZXJCdXR0b25BY3Rpb25zPlxuICAgICAgPC9TQ0xIQ1dyYXBwZXJDb250ZW50PlxuICAgICAgeyEhYWN0aW9uICYmXG4gICAgICAgIGFjdGlvbnNbYWN0aW9uXSh7XG4gICAgICAgICAgb25DbG9zZTogKCkgPT4ge1xuICAgICAgICAgICAgb25DbG9zZU1vZGFsKClcbiAgICAgICAgICAgIHNldEFjdGlvbihudWxsKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2hhdCxcbiAgICAgICAgICBoYW5kbGVyczoge1xuICAgICAgICAgICAgaGFuZGxlQ29uZmlybUFjdGlvbixcbiAgICAgICAgICAgIGhhbmRsZVNldElzT3Blbk1vZGFsOiBvbkNsb3NlTW9kYWwsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSl9XG4gICAgPC8+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IFNpZGViYXIgPSAoe1xuICBvbkdvVG9DaGF0LFxuICBvbkVycm9yID0gKCkgPT4gbnVsbCxcbiAgaGFuZGxlR29Ub0hvbWUsXG4gIGhhbmRsZU9wZW5NYXJrZXRwbGFjZSxcbiAgc2hvd05ld0NoYXQsXG4gIHJlZmV0Y2hDaGF0cyxcbiAgaGFuZGxlU2V0UmVmZXRjaENoYXRzLFxuICBoYXNFcnJvcixcbiAgcmVzZXRTZWxlY3RlZENoYXRSZWYsXG4gIGFnZW50c05hdkFjdGl2ZSA9IG51bGwsXG59OiB7XG4gIG9uR29Ub0NoYXQ6IChjaGF0SWQ6IHN0cmluZykgPT4gdm9pZFxuICBvbkVycm9yOiAoKSA9PiB2b2lkXG4gIGhhbmRsZUdvVG9Ib21lOiAoKSA9PiB2b2lkXG4gIGhhbmRsZU9wZW5NYXJrZXRwbGFjZTogKCkgPT4gdm9pZFxuICBzaG93TmV3Q2hhdDogYm9vbGVhblxuICByZWZldGNoQ2hhdHM6IGJvb2xlYW5cbiAgaGFuZGxlU2V0UmVmZXRjaENoYXRzOiAocmVmZXRjaDogYm9vbGVhbikgPT4gdm9pZFxuICBoYXNFcnJvcjogYm9vbGVhblxuICByZXNldFNlbGVjdGVkQ2hhdFJlZj86IE11dGFibGVSZWZPYmplY3Q8KCgpID0+IHZvaWQpIHwgbnVsbD5cbiAgLyoqIFJlc2FsdGEgTWFpYWtlciBvIE1pcyBhZ2VudGVzICovXG4gIGFnZW50c05hdkFjdGl2ZT86ICdtYWlha2VyJyB8ICdteUFnZW50cycgfCBudWxsXG59KSA9PiB7XG4gIGNvbnN0IHsgdCwgaTE4biB9ID0gdXNlVCgpXG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbaXNPcGVuTW9kYWwsIHNldElzT3Blbk1vZGFsXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtzZWxlY3RlZENoYXQsIHNldFNlbGVjdGVkQ2hhdF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBjaGF0c0ZldGNoZWRSZWYgPSB1c2VSZWYoZmFsc2UpXG4gIGNvbnN0IGNoYXRzQ29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuICBjb25zdCB7IGFnZW50OiBzZWxlY3RlZEFnZW50LCBzZWxlY3RBZ2VudCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50IH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3Qge1xuICAgIGxvYWRpbmdDaGF0cyxcbiAgICBjaGF0cyxcbiAgICBkZWxldGVDaGF0LFxuICAgIHVwZGF0ZUNoYXQsXG4gICAgZmV0Y2hDaGF0cyxcbiAgICBsaW1pdCxcbiAgICBvZmZzZXQsXG4gICAgaGFzTW9yZUNoYXRzLFxuICAgIGxvYWRNb3JlQ2hhdHMsXG4gICAgaXNMb2FkaW5nTW9yZUNoYXRzLFxuICB9ID0gdXNlQ2hhdHMoe1xuICAgIG9uRXJyb3IsXG4gIH0pXG5cbiAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50c1xuICBjb25zdCBjYW5DcmVhdGVBZ2VudHMgPSAhIXVzZXJQZXJtaXNzaW9ucz8uY3JlYXRlXG4gIGNvbnN0IGhhc011bHRpQWdlbnRzRmVhdHVyZUFjY2VzcyA9ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgY29uc3QgY2FuVmlld0FnZW50cyA9ICEhdXNlclBlcm1pc3Npb25zPy52aWV3ICYmIGhhc011bHRpQWdlbnRzRmVhdHVyZUFjY2Vzc1xuICBjb25zdCBzaG93TWFya2V0cGxhY2VTaWRlYmFyQnV0dG9uID0gISFjYW5DcmVhdGVBZ2VudHMgJiYgISF3aW5kb3cuTUFJQV9NQVJLRVRQTEFDRV9NQUlBS0VSXG4gIGNvbnN0IGFnZW50TmF2QnV0dG9uQ291bnQgPSAoKHNob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gPyAxIDogMCkgKyAoY2FuVmlld0FnZW50cyA/IDEgOiAwKSkgYXMgMCB8IDEgfCAyXG4gIGNvbnN0IHNob3dBZ2VudHNOYXZCbG9jayA9IHNob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gfHwgY2FuVmlld0FnZW50c1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlc2V0U2VsZWN0ZWRDaGF0UmVmKSB7XG4gICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50ID0gKCkgPT4gc2V0U2VsZWN0ZWRDaGF0KG51bGwpXG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzZXRTZWxlY3RlZENoYXRSZWYpIHtcbiAgICAgICAgcmVzZXRTZWxlY3RlZENoYXRSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtyZXNldFNlbGVjdGVkQ2hhdFJlZl0pXG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQ2hhdCA9IGFzeW5jIChjaGF0OiBhbnkpID0+IHtcbiAgICBkZWxldGVDaGF0KGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICBoYW5kbGVHb1RvSG9tZSgpXG4gIH1cblxuICBjb25zdCBoYW5kbGVVcGRhdGVDaGF0ID0gKGNoYXQ6IGFueSkgPT4ge1xuICAgIHVwZGF0ZUNoYXQoY2hhdClcbiAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlT3Blbk1vZGFsID0gKGNoYXRJZDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGlzT3Blbk1vZGFsICYmIGlzT3Blbk1vZGFsICE9PSBjaGF0SWQpIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKGNoYXRJZClcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVDbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKGlzT3Blbk1vZGFsICYmICEoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmNsb3Nlc3QoJ1tkYXRhLW1vZGFsLWNvbnRhaW5lcl0nKSkge1xuICAgICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpc09wZW5Nb2RhbCkge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNPcGVuTW9kYWxdKVxuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZVNpZGViYXIgPSAoKSA9PiB7XG4gICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgIH1cbiAgICBzZXRJc09wZW4ocHJldiA9PiAhcHJldilcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZU9wZW5DcmVhdGVBZ2VudCA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICBwYXRoOiBgYWdlbnRzP2FnZW50X3R5cGU9Y2xvbmUmbGFuZz0ke21hcENPUkxhbmcoaTE4bi5sYW5ndWFnZSl9YCxcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgfSlcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgY29uc3QgbWFpYWtlckFnZW50ID0gKGRhdGEuZGF0YSB8fCBbXSkuZmluZCgoYWdlbnQ6IGFueSkgPT4gYWdlbnQudHlwZSA9PT0gJ2Nsb25lJyAmJiBhZ2VudC5lbnRpdHkgPT09ICdnbG9iYWwnKVxuXG4gICAgaWYgKCFtYWlha2VyQWdlbnQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHNldFByb2plY3QobnVsbClcbiAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgIHNlbGVjdEFnZW50KG1haWFrZXJBZ2VudClcbiAgICBoYW5kbGVHb1RvSG9tZSgpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc09wZW4gJiYgIWNoYXRzRmV0Y2hlZFJlZi5jdXJyZW50KSB7XG4gICAgICBjaGF0c0ZldGNoZWRSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIGZldGNoQ2hhdHMoeyBsaW1pdCwgb2Zmc2V0IH0pXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKHJlZmV0Y2hDaGF0cykge1xuICAgICAgZmV0Y2hDaGF0cyh7IGxpbWl0LCBvZmZzZXQgfSlcbiAgICAgIGhhbmRsZVNldFJlZmV0Y2hDaGF0cyhmYWxzZSlcbiAgICB9XG4gIH0sIFtpc09wZW4sIHJlZmV0Y2hDaGF0cywgaGFuZGxlU2V0UmVmZXRjaENoYXRzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghY2hhdHNDb250YWluZXJSZWYuY3VycmVudCB8fCAhaGFzTW9yZUNoYXRzIHx8IGlzTG9hZGluZ01vcmVDaGF0cyB8fCBoYXNFcnJvcikge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBjaGF0c0NvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgICBjb25zdCBpc0F0Qm90dG9tID0gc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0ID49IHNjcm9sbEhlaWdodCAtIDEwXG5cbiAgICAgIGlmIChpc0F0Qm90dG9tKSB7XG4gICAgICAgIGxvYWRNb3JlQ2hhdHMoKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNoYXRzQ29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfVxuICB9LCBbaGFzTW9yZUNoYXRzLCBpc0xvYWRpbmdNb3JlQ2hhdHMsIGxvYWRNb3JlQ2hhdHMsIGhhc0Vycm9yXSlcblxuICBjb25zdCBoYW5kbGVOZXdDaGF0ID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmIChpc09wZW5Nb2RhbCkge1xuICAgICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICB9XG4gICAgc2V0U2VsZWN0ZWRDaGF0KG51bGwpXG4gICAgYXdhaXQgZmV0Y2hDaGF0cyh7IGxpbWl0LCBvZmZzZXQ6IDAgfSlcbiAgICBoYW5kbGVHb1RvSG9tZSgpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVJlZmV0Y2hTZXNzaW9uID0gKCkgPT4ge1xuICAgICAgZmV0Y2hDaGF0cyh7IGxpbWl0OiAyMCwgb2Zmc2V0OiAwIH0pXG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3JlZmV0Y2gtc2Vzc2lvbicsIGhhbmRsZVJlZmV0Y2hTZXNzaW9uKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdyZWZldGNoLXNlc3Npb24nLCBoYW5kbGVSZWZldGNoU2Vzc2lvbilcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNob3dOZXdDaGF0QnV0dG9uID1cbiAgICAhc2hvd05ld0NoYXQgJiZcbiAgICAhaGFzRXJyb3IgJiZcbiAgICAhbG9hZGluZ0NoYXRzICYmXG4gICAgKCh1c2VyUGVybWlzc2lvbnM/LnZpZXcgJiZcbiAgICAgICFzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkICYmXG4gICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyAmJlxuICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzKSB8fFxuICAgICAgKCF1c2VyUGVybWlzc2lvbnM/LnZpZXcgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzKSlcblxuICByZXR1cm4gKFxuICAgIDxTQ1NTaWRlYmFyUm9vdCAkaXNPcGVuPXtpc09wZW59PlxuICAgICAgPFNDU1NpZGViYXJUb29sYmFyICRpc09wZW49e2lzT3Blbn0+XG4gICAgICAgIDxUb29sdGlwIHRpdGxlPXtpc09wZW4gPyB0KCdjb252ZXJzYXRpb25zLmNvbGxhcHNlJykgOiB0KCdjb252ZXJzYXRpb25zLmV4cGFuZCcpfT5cbiAgICAgICAgICA8U0NTV3JhcHBlckNvbGxhcHNlZEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVUb2dnbGVTaWRlYmFyfSBpc09wZW49e2lzT3Blbn0+XG4gICAgICAgICAgICA8Q2hldnJvbkRvdWJsZUxlZnQgY29sb3I9XCJyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpXCIgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgIDwvU0NTV3JhcHBlckNvbGxhcHNlZEJ1dHRvbj5cbiAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICB7c2hvd05ld0NoYXRCdXR0b24gPyAoXG4gICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NvbnZlcnNhdGlvbnMubmV3Q2hhdCcpfT5cbiAgICAgICAgICAgIDxTQ1NXcmFwcGVyTmV3Q2hhdEljb24gb25DbGljaz17aGFuZGxlTmV3Q2hhdH0+XG4gICAgICAgICAgICAgIDxOZXdDaGF0IHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gLz5cbiAgICAgICAgICAgIDwvU0NTV3JhcHBlck5ld0NoYXRJY29uPlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1NDU1NpZGViYXJUb29sYmFyPlxuICAgICAgPFNDU1NpZGViYXJCb2R5ICRpc09wZW49e2lzT3Blbn0+XG4gICAgICAgIHtpc09wZW4gPyAoXG4gICAgICAgICAgPFNDU1NpZGViYXJPcGVuUGFuZWw+XG4gICAgICAgICAgICA8U0NTU2lkZWJhckFnZW50c0Jsb2NrPlxuICAgICAgICAgICAgICB7c2hvd0FnZW50c05hdkJsb2NrID8gKFxuICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyQWdlbnRzQWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgIHtzaG93TWFya2V0cGxhY2VTaWRlYmFyQnV0dG9uID8gKFxuICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0TXBPcGVuKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlT3BlbkNyZWF0ZUFnZW50KClcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICRhY3RpdmU9e2FnZW50c05hdkFjdGl2ZSA9PT0gJ21haWFrZXInfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPE1haWFTdG9yZUljb24gc2l6ZT17MTZ9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJNYWlha2VyTmF2TGFiZWw+e3QoJ2NvbnZlcnNhdGlvbnMubWFpYWtlck5hdicpfTwvU0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAge2NhblZpZXdBZ2VudHMgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZU9wZW5NYXJrZXRwbGFjZX1cbiAgICAgICAgICAgICAgICAgICAgICAkYWN0aXZlPXthZ2VudHNOYXZBY3RpdmUgPT09ICdteUFnZW50cyd9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8TXlBZ2VudHNOYXZJY29uIHNpemU9ezE2fSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsPnt0KCdjb252ZXJzYXRpb25zLm15QWdlbnRzTmF2Jyl9PC9TQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyQWdlbnRzQWN0aW9ucz5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDxTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmc+e3QoJ2NvbnZlcnNhdGlvbnMudGl0bGUnKX08L1NDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZz5cbiAgICAgICAgICAgIDwvU0NTU2lkZWJhckFnZW50c0Jsb2NrPlxuICAgICAgICAgICAgPFNDU1NpZGViYXJDaGF0c1Njcm9sbFxuICAgICAgICAgICAgICByZWY9e2NoYXRzQ29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICAkaGFzQ2hhdHM9e2NoYXRzLmxlbmd0aCA+IDB9XG4gICAgICAgICAgICAgICRvZmZzZXRWYXJpYW50PXtoYXNFcnJvciA/ICdlcnJvcicgOiAnZGVmYXVsdCd9XG4gICAgICAgICAgICAgICRhZ2VudE5hdkJ1dHRvbkNvdW50PXthZ2VudE5hdkJ1dHRvbkNvdW50fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aGFzRXJyb3IgJiYgIWNoYXRzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yU3RhdGVDb2x1bW4+XG4gICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yU3RhdGVUb3A+XG4gICAgICAgICAgICAgICAgICAgIDxFcnJvclN0YXRlIC8+XG4gICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFcnJvclN0YXRlVG9wPlxuICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvckJhbm5lcj5cbiAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwPlxuICAgICAgICAgICAgICAgICAgICAgIDxFcnJvckljb24gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRXJyb3JCYW5uZXJJY29uV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvckJhbm5lck1lc3NhZ2U+e3QoJ2NvbnZlcnNhdGlvbnMuZXJyb3InKX08L1NDU1NpZGViYXJFcnJvckJhbm5lck1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFcnJvckJhbm5lcj5cbiAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFcnJvclN0YXRlQ29sdW1uPlxuICAgICAgICAgICAgICApIDogbG9hZGluZ0NoYXRzID8gKFxuICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTG9hZGluZ0FyZWE+XG4gICAgICAgICAgICAgICAgICA8TG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyTG9hZGluZ0FyZWE+XG4gICAgICAgICAgICAgICkgOiBjaGF0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIHtjaGF0cy5tYXAoY2hhdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgPExpc3RIaXN0b3J5Q2hhdFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtjaGF0LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2hhdD17Y2hhdH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2NoYXREYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZENoYXQoY2hhdERhdGEuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uR29Ub0NoYXQoY2hhdERhdGEpXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgaXNNb2RhbE9wZW49e2lzT3Blbk1vZGFsID09PSBjaGF0LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25PcGVuTW9kYWw9e2hhbmRsZU9wZW5Nb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2VNb2RhbD17aGFuZGxlQ2xvc2VNb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZXJzPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZURlbGV0ZUNoYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVVwZGF0ZUNoYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRDaGF0ID09PSBjaGF0LnNlc3Npb25FeHRlcm5hbElkfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAge2lzTG9hZGluZ01vcmVDaGF0cyAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTG9hZE1vcmVSb3c+XG4gICAgICAgICAgICAgICAgICAgICAgPExvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJMb2FkTW9yZVJvdz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFbXB0eUNoYXRzPlxuICAgICAgICAgICAgICAgICAgPEVtcHR5SGlzdG9yeUljb24gLz5cbiAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRW1wdHlDaGF0c1RleHQ+e3QoJ2NvbnZlcnNhdGlvbnMuZW1wdHknKX08L1NDU1NpZGViYXJFbXB0eUNoYXRzVGV4dD5cbiAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFbXB0eUNoYXRzPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TQ1NTaWRlYmFyQ2hhdHNTY3JvbGw+XG4gICAgICAgICAgICA8U0NTU2lkZWJhckNoYXRzRm9vdGVyPlxuICAgICAgICAgICAgICB7aGFzRXJyb3IgJiYgY2hhdHMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JCYW5uZXI+XG4gICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXA+XG4gICAgICAgICAgICAgICAgICAgIDxFcnJvckljb24gLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXA+XG4gICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZT57dCgnY29udmVyc2F0aW9ucy5lcnJvcicpfTwvU0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZT5cbiAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFcnJvckJhbm5lcj5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1NDU1NpZGViYXJDaGF0c0Zvb3Rlcj5cbiAgICAgICAgICA8L1NDU1NpZGViYXJPcGVuUGFuZWw+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICA8U0NTU2lkZWJhckZvb3RlckFjdGlvbnMgJGlzT3Blbj17aXNPcGVufSAkanVzdGlmeUJldHdlZW49eyEhc2VsZWN0ZWRBZ2VudH0+XG4gICAgICAgICAge3NlbGVjdGVkQWdlbnQgPyA8RmVlZGJhY2tCdXR0b24gc2VsZWN0ZWRBZ2VudD17c2VsZWN0ZWRBZ2VudH0gaXNPcGVuPXtpc09wZW59IC8+IDogbnVsbH1cbiAgICAgICAgPC9TQ1NTaWRlYmFyRm9vdGVyQWN0aW9ucz5cbiAgICAgIDwvU0NTU2lkZWJhckJvZHk+XG4gICAgPC9TQ1NTaWRlYmFyUm9vdD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUEyQkEsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDOUUsU0FBU0MsaUJBQWlCLFFBQVEsb0RBQW9EO0FBQ3RGLFNBQVNDLFFBQVEsUUFBUSw0Q0FBNEM7QUFDckUsU0FBU0MsUUFBUSxRQUFRLDJDQUEyQztBQUNwRSxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFFOUQsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUV0RSxTQUFTQyxnQkFBZ0IsUUFBUSxnQ0FBZ0M7QUFDakUsU0FBU0MsaUJBQWlCLFFBQVEsMEJBQTBCO0FBQzVELFNBQVNDLFFBQVEsUUFBUSx5QkFBeUI7QUFDbEQsU0FBU0MsTUFBTSxRQUFRLG9CQUFvQjtBQUMzQyxTQUFTQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxlQUFlLEVBQUVDLE9BQU8sUUFBUSxtQkFBbUI7QUFDakcsU0FB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
|
|
555
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJDaGV2cm9uRG91YmxlTGVmdCIsIkNVQnV0dG9uIiwiTWVudURvdHMiLCJQZW5jaWwiLCJUcmFzaCIsIlRvb2x0aXAiLCJFbXB0eUhpc3RvcnlJY29uIiwidXNlUmVzaXplTGlzdGVuZXIiLCJ1c2VDaGF0cyIsIkxvYWRlciIsIkVycm9yU3RhdGUiLCJNQUlBSWNvbiIsIk1haWFTdG9yZUljb24iLCJNeUFnZW50c05hdkljb24iLCJOZXdDaGF0IiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ1c2VUIiwiT3B0aW9uSXRlbSIsIkVkaXRRdWVzdGlvbk1vZGFsIiwiRGVsZXRlUXVlc3Rpb25Nb2RhbCIsIkVycm9ySWNvbiIsInVzZVVzZXIiLCJGZWVkYmFja0J1dHRvbiIsInVzZUdsb2JhbENvbnRleHQiLCJmZXRjaE1haWEiLCJtYXBDT1JMYW5nIiwiZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zIiwiZ2V0QWdlbnREaXNwbGF5TmFtZSIsIlNDTEhDV3JhcHBlciIsIlNDTEhDV3JhcHBlckFnZW50IiwiU0NMSENXcmFwcGVyQWdlbnRUZXh0IiwiU0NMSENXcmFwcGVyQnV0dG9uQWN0aW9ucyIsIlNDTEhDV3JhcHBlckNvbnRlbnQiLCJTQ0xIQ1dyYXBwZXJUaXRsZSIsIlNDU1dyYXBwZXJDb2xsYXBzZWRCdXR0b24iLCJTQ1NXcmFwcGVyTmV3Q2hhdEljb24iLCJTQ1NTaWRlYmFyUm9vdCIsIlNDU1NpZGViYXJUb29sYmFyIiwiU0NTU2lkZWJhckJvZHkiLCJTQ1NTaWRlYmFyT3BlblBhbmVsIiwiU0NTU2lkZWJhckFnZW50c0Jsb2NrIiwiU0NTU2lkZWJhckFnZW50c0FjdGlvbnMiLCJTQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvbiIsIlNDU1NpZGViYXJNYWlha2VyTmF2TGFiZWwiLCJTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmciLCJTQ1NTaWRlYmFyQ2hhdHNTY3JvbGwiLCJTQ1NTaWRlYmFyRXJyb3JTdGF0ZUNvbHVtbiIsIlNDU1NpZGViYXJFcnJvclN0YXRlVG9wIiwiU0NTU2lkZWJhckVycm9yQmFubmVyIiwiU0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXAiLCJTQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlIiwiU0NTU2lkZWJhckxvYWRpbmdBcmVhIiwiU0NTU2lkZWJhckxvYWRNb3JlUm93IiwiU0NTU2lkZWJhckVtcHR5Q2hhdHMiLCJTQ1NTaWRlYmFyRW1wdHlDaGF0c1RleHQiLCJTQ1NTaWRlYmFyQ2hhdHNGb290ZXIiLCJTQ1NTaWRlYmFyRm9vdGVyQWN0aW9ucyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImFjdGlvbnMiLCJlZGl0IiwicHJvcHMiLCJfb2JqZWN0U3ByZWFkIiwiZGVsZXRlIiwiTGlzdEhpc3RvcnlDaGF0IiwiX3JlZiIsImNoYXQiLCJvbkNsaWNrIiwiaXNNb2RhbE9wZW4iLCJvbk9wZW5Nb2RhbCIsIm9uQ2xvc2VNb2RhbCIsImhhbmRsZXJzIiwiaXNTZWxlY3RlZCIsInRleHRSZWYiLCJhZ2VudFJlZiIsImRpc3BsYXlUaXRsZSIsInRpdGxlIiwiZGlzcGxheUFnZW50IiwiYWdlbnRUeXBlIiwiYWdlbnQiLCJjb250ZXh0TmFtZSIsInByb2plY3ROYW1lIiwiY2xpZW50TmFtZSIsIl91c2VSZXNpemVMaXN0ZW5lciIsInNob3dUb29sdGlwIiwiX3VzZVJlc2l6ZUxpc3RlbmVyMiIsInNob3dUb29sdGlwQWdlbnQiLCJfdXNlVCIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJhY3Rpb24iLCJzZXRBY3Rpb24iLCJtZW51SXRlbXMiLCJsYWJlbCIsIm9uQ2xpY2tJdGVtIiwiY2hhdElkIiwiSWNvbiIsImV2ZW50S2V5IiwicG1BaU1lbnVFZGl0IiwicG1BaU1lbnVEZWxldGUiLCJoYW5kbGVDb25maXJtQWN0aW9uIiwiY2hhdERhdGEiLCJoYW5kbGVVcGRhdGVDaGF0IiwiaGFuZGxlRGVsZXRlQ2hhdCIsImNoaWxkcmVuIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsInJlZiIsImNvbmNhdCIsIndpZHRoIiwiaGVpZ2h0Iiwic3R5bGUiLCJmb250U2l6ZSIsImVtb2ppIiwiaWNvbk9ubHkiLCJzaXplIiwidmFyaWFudCIsImV2ZW50IiwiaWQiLCJwb3NpdGlvbiIsInRvcCIsInJpZ2h0IiwiYmFja2dyb3VuZENvbG9yIiwiekluZGV4IiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJib3JkZXJSYWRpdXMiLCJib3JkZXIiLCJtaW5XaWR0aCIsIm1hcCIsIl9yZWYyIiwic2Vzc2lvbkV4dGVybmFsSWQiLCJvbkNsb3NlIiwiaGFuZGxlU2V0SXNPcGVuTW9kYWwiLCJTaWRlYmFyIiwiX3JlZjMiLCJfdXNlciRwZXJtaXNzaW9ucyIsIm9uR29Ub0NoYXQiLCJfcmVmMyRvbkVycm9yIiwib25FcnJvciIsImhhbmRsZUdvVG9Ib21lIiwiaGFuZGxlT3Blbk1hcmtldHBsYWNlIiwic2hvd05ld0NoYXQiLCJyZWZldGNoQ2hhdHMiLCJoYW5kbGVTZXRSZWZldGNoQ2hhdHMiLCJoYXNFcnJvciIsInJlc2V0U2VsZWN0ZWRDaGF0UmVmIiwiX3JlZjMkYWdlbnRzTmF2QWN0aXZlIiwiYWdlbnRzTmF2QWN0aXZlIiwiX3VzZVQyIiwiaTE4biIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc09wZW5Nb2RhbCIsInNldElzT3Blbk1vZGFsIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWxlY3RlZENoYXQiLCJzZXRTZWxlY3RlZENoYXQiLCJjaGF0c0ZldGNoZWRSZWYiLCJjaGF0c0NvbnRhaW5lclJlZiIsInVzZXIiLCJldmVudEFtcGxpdHVkZSIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsInNlbGVjdEFnZW50Iiwic2V0UHJvamVjdCIsInNldENsaWVudCIsIl91c2VDaGF0cyIsImxvYWRpbmdDaGF0cyIsImNoYXRzIiwiZGVsZXRlQ2hhdCIsInVwZGF0ZUNoYXQiLCJmZXRjaENoYXRzIiwibGltaXQiLCJvZmZzZXQiLCJoYXNNb3JlQ2hhdHMiLCJsb2FkTW9yZUNoYXRzIiwiaXNMb2FkaW5nTW9yZUNoYXRzIiwidXNlclBlcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjYW5DcmVhdGVBZ2VudHMiLCJjcmVhdGUiLCJoYXNNdWx0aUFnZW50c0ZlYXR1cmVBY2Nlc3MiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiY2FuVmlld0FnZW50cyIsInZpZXciLCJzaG93TWFya2V0cGxhY2VTaWRlYmFyQnV0dG9uIiwiTUFJQV9NQVJLRVRQTEFDRV9NQUlBS0VSIiwiYWdlbnROYXZCdXR0b25Db3VudCIsInNob3dBZ2VudHNOYXZCbG9jayIsImN1cnJlbnQiLCJfcmVmNCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZU9wZW5Nb2RhbCIsImhhbmRsZUNsb3NlTW9kYWwiLCJoYW5kbGVDbGlja091dHNpZGUiLCJ0YXJnZXQiLCJjbG9zZXN0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZVRvZ2dsZVNpZGViYXIiLCJoYW5kbGVPcGVuQ3JlYXRlQWdlbnQiLCJfcmVmNSIsIl9jYWxsZWUyIiwicmVzcG9uc2UiLCJkYXRhIiwibWFpYWtlckFnZW50IiwiX2NvbnRleHQyIiwicGF0aCIsImxhbmd1YWdlIiwibWV0aG9kIiwic2VudCIsImpzb24iLCJmaW5kIiwidHlwZSIsImVudGl0eSIsImFicnVwdCIsImhhbmRsZVNjcm9sbCIsIl9jaGF0c0NvbnRhaW5lclJlZiRjdSIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImlzQXRCb3R0b20iLCJjb250YWluZXIiLCJoYW5kbGVOZXdDaGF0IiwiX3JlZjYiLCJfY2FsbGVlMyIsIl9jb250ZXh0MyIsImhhbmRsZVJlZmV0Y2hTZXNzaW9uIiwic2hvd05ld0NoYXRCdXR0b24iLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwiJGlzT3BlbiIsImNvbG9yIiwiYWlDaGF0TXBPcGVuIiwiJGFjdGl2ZSIsIiRoYXNDaGF0cyIsImxlbmd0aCIsIiRvZmZzZXRWYXJpYW50IiwiJGFnZW50TmF2QnV0dG9uQ291bnQiLCIkanVzdGlmeUJldHdlZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvU2lkZWJhci9TaWRlYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvdyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgTXV0YWJsZVJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDaGV2cm9uRG91YmxlTGVmdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3VibGVMZWZ0J1xuaW1wb3J0IHsgQ1VCdXR0b24gfSBmcm9tICdAcHJvamVjdGNvci9idXR0b24vbGliL2NvbXBvbmVudHMvQ1VCdXR0b24nXG5pbXBvcnQgeyBNZW51RG90cyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL01lbnVEb3RzJ1xuaW1wb3J0IHsgUGVuY2lsIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGVuY2lsJ1xuaW1wb3J0IHsgVHJhc2ggfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9UcmFzaCdcblxuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuXG5pbXBvcnQgeyBFbXB0eUhpc3RvcnlJY29uIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMvRW1wdHlIaXN0b3J5J1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyB1c2VDaGF0cyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUNoYXRzJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vYXRvbXMvTG9hZGVyJ1xuaW1wb3J0IHsgRXJyb3JTdGF0ZSwgTUFJQUljb24sIE1haWFTdG9yZUljb24sIE15QWdlbnRzTmF2SWNvbiwgTmV3Q2hhdCB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBPcHRpb25JdGVtIH0gZnJvbSAnLi4vLi4vYXRvbXMvQ2FyZE1lbnUvQ2FyZE1lbnUnXG5pbXBvcnQgeyBFZGl0UXVlc3Rpb25Nb2RhbCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9FZGl0UXVlc3Rpb25Nb2RhbCdcbmltcG9ydCB7IERlbGV0ZVF1ZXN0aW9uTW9kYWwgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvRGVsZXRlUXVlc3Rpb25Nb2RhbCdcbmltcG9ydCB7IEVycm9ySWNvbiB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL0Vycm9ySWNvbidcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgRmVlZGJhY2tCdXR0b24gfSBmcm9tICcuLi8uLi9hdG9tcy9GZWVkYmFja0J1dHRvbidcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9jbGllbnQnXG5pbXBvcnQgeyBtYXBDT1JMYW5nIH0gZnJvbSAnLi4vLi4vLi4vbGFuZy91dGlscydcbmltcG9ydCB7IGZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3JlbmRlckNvbnRleHRNZW50aW9ucydcbmltcG9ydCB7IGdldEFnZW50RGlzcGxheU5hbWUgfSBmcm9tICcuLi8uLi8uLi91dGlscy9hZ2VudERpc3BsYXlOYW1lJ1xuaW1wb3J0IHtcbiAgU0NMSENXcmFwcGVyLFxuICBTQ0xIQ1dyYXBwZXJBZ2VudCxcbiAgU0NMSENXcmFwcGVyQWdlbnRUZXh0LFxuICBTQ0xIQ1dyYXBwZXJCdXR0b25BY3Rpb25zLFxuICBTQ0xIQ1dyYXBwZXJDb250ZW50LFxuICBTQ0xIQ1dyYXBwZXJUaXRsZSxcbiAgU0NTV3JhcHBlckNvbGxhcHNlZEJ1dHRvbixcbiAgU0NTV3JhcHBlck5ld0NoYXRJY29uLFxufSBmcm9tICcuL1NpZGViYXIuc3R5bGVzJ1xuaW1wb3J0IHtcbiAgU0NTU2lkZWJhclJvb3QsXG4gIFNDU1NpZGViYXJUb29sYmFyLFxuICBTQ1NTaWRlYmFyQm9keSxcbiAgU0NTU2lkZWJhck9wZW5QYW5lbCxcbiAgU0NTU2lkZWJhckFnZW50c0Jsb2NrLFxuICBTQ1NTaWRlYmFyQWdlbnRzQWN0aW9ucyxcbiAgU0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b24sXG4gIFNDU1NpZGViYXJNYWlha2VyTmF2TGFiZWwsXG4gIFNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZyxcbiAgU0NTU2lkZWJhckNoYXRzU2Nyb2xsLFxuICBTQ1NTaWRlYmFyRXJyb3JTdGF0ZUNvbHVtbixcbiAgU0NTU2lkZWJhckVycm9yU3RhdGVUb3AsXG4gIFNDU1NpZGViYXJFcnJvckJhbm5lcixcbiAgU0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXAsXG4gIFNDU1NpZGViYXJFcnJvckJhbm5lck1lc3NhZ2UsXG4gIFNDU1NpZGViYXJMb2FkaW5nQXJlYSxcbiAgU0NTU2lkZWJhckxvYWRNb3JlUm93LFxuICBTQ1NTaWRlYmFyRW1wdHlDaGF0cyxcbiAgU0NTU2lkZWJhckVtcHR5Q2hhdHNUZXh0LFxuICBTQ1NTaWRlYmFyQ2hhdHNGb290ZXIsXG4gIFNDU1NpZGViYXJGb290ZXJBY3Rpb25zLFxufSBmcm9tICcuL1NpZGViYXIubGF5b3V0LnN0eWxlcydcblxuY29uc3QgYWN0aW9ucyA9IHtcbiAgZWRpdDogKHByb3BzOiBhbnkpID0+IDxFZGl0UXVlc3Rpb25Nb2RhbCB7Li4ucHJvcHN9IC8+LFxuICBkZWxldGU6IChwcm9wczogYW55KSA9PiA8RGVsZXRlUXVlc3Rpb25Nb2RhbCB7Li4ucHJvcHN9IC8+LFxufVxuXG4vKiogQWJyZXZpYSBcImVzcGVjaWFsaXN0YVwiL1wiZXNwZWNpYWxpc3RcIiDihpIgXCJFc3AuXCIgKEVTL1BUKSB5IFwic3BlY2lhbGlzdFwiIOKGkiBcIlNwZWMuXCIgKEVOKSBlbiBlbCBub21icmUgZGVsIGFnZW50ZS4gKi9cbmNvbnN0IExpc3RIaXN0b3J5Q2hhdCA9ICh7XG4gIGNoYXQsXG4gIG9uQ2xpY2ssXG4gIGlzTW9kYWxPcGVuLFxuICBvbk9wZW5Nb2RhbCxcbiAgb25DbG9zZU1vZGFsLFxuICBoYW5kbGVycyxcbiAgaXNTZWxlY3RlZCxcbn06IHtcbiAgY2hhdDogYW55XG4gIG9uQ2xpY2s6IChjaGF0OiBhbnkpID0+IHZvaWRcbiAgaXNNb2RhbE9wZW46IGJvb2xlYW5cbiAgb25PcGVuTW9kYWw6IChjaGF0SWQ6IHN0cmluZykgPT4gdm9pZFxuICBvbkNsb3NlTW9kYWw6ICgpID0+IHZvaWRcbiAgaGFuZGxlcnM6IHtcbiAgICBoYW5kbGVEZWxldGVDaGF0OiAoY2hhdDogYW55KSA9PiB2b2lkXG4gICAgaGFuZGxlVXBkYXRlQ2hhdDogKGNoYXQ6IGFueSkgPT4gdm9pZFxuICB9XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW5cbn0pID0+IHtcbiAgY29uc3QgdGV4dFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgYWdlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGRpc3BsYXlUaXRsZSA9IHVzZU1lbW8oKCkgPT4gZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zKGNoYXQudGl0bGUpLCBbY2hhdC50aXRsZV0pXG4gIGNvbnN0IGRpc3BsYXlBZ2VudCA9IGdldEFnZW50RGlzcGxheU5hbWUoY2hhdC5hZ2VudFR5cGUsIGNoYXQuYWdlbnQpXG4gIGNvbnN0IGNvbnRleHROYW1lID0gY2hhdC5wcm9qZWN0TmFtZSB8fCBjaGF0LmNsaWVudE5hbWVcbiAgY29uc3QgeyBzaG93VG9vbHRpcCB9ID0gdXNlUmVzaXplTGlzdGVuZXIodGV4dFJlZiwgW2Rpc3BsYXlUaXRsZV0pXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUb29sdGlwQWdlbnQgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKGFnZW50UmVmLCBbY2hhdC5hZ2VudF0pXG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IFthY3Rpb24sIHNldEFjdGlvbl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IG1lbnVJdGVtcyA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogdCgnaGlzdG9yeS5tZW51LnJlbmFtZScpLFxuICAgICAgb25DbGlja0l0ZW06IChjaGF0SWQ6IHN0cmluZykgPT4ge1xuICAgICAgICBzZXRBY3Rpb24oJ2VkaXQnKVxuICAgICAgICBvbk9wZW5Nb2RhbChjaGF0SWQpXG4gICAgICB9LFxuICAgICAgSWNvbjogUGVuY2lsLFxuICAgICAgZXZlbnRLZXk6IEVWRU5UUy5wbUFpTWVudUVkaXQsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogdCgnaGlzdG9yeS5tZW51LmRlbGV0ZScpLFxuICAgICAgb25DbGlja0l0ZW06IChjaGF0SWQ6IHN0cmluZykgPT4ge1xuICAgICAgICBzZXRBY3Rpb24oJ2RlbGV0ZScpXG4gICAgICAgIG9uT3Blbk1vZGFsKGNoYXRJZClcbiAgICAgIH0sXG4gICAgICBJY29uOiBUcmFzaCxcbiAgICAgIGV2ZW50S2V5OiBFVkVOVFMucG1BaU1lbnVEZWxldGUsXG4gICAgfSxcbiAgXVxuXG4gIGNvbnN0IGhhbmRsZUNvbmZpcm1BY3Rpb24gPSAoY2hhdERhdGE6IGFueSkgPT4ge1xuICAgIGlmIChhY3Rpb24gPT09ICdlZGl0Jykge1xuICAgICAgaGFuZGxlcnMuaGFuZGxlVXBkYXRlQ2hhdChjaGF0RGF0YSlcbiAgICB9IGVsc2Uge1xuICAgICAgaGFuZGxlcnMuaGFuZGxlRGVsZXRlQ2hhdChjaGF0RGF0YSlcbiAgICB9XG4gICAgc2V0QWN0aW9uKG51bGwpXG4gICAgb25DbG9zZU1vZGFsKClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTQ0xIQ1dyYXBwZXJDb250ZW50XG4gICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICBvbkNsaWNrKGNoYXQpXG4gICAgICAgIH19XG4gICAgICAgIGtleT17YGNvbnZlcnNhdGlvbi0ke2NoYXQuc2Vzc2lvbkV4dGVybmFsSWR9YH1cbiAgICAgICAgaXNNb2RhbE9wZW49e2lzTW9kYWxPcGVufVxuICAgICAgICBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgPlxuICAgICAgICA8U0NMSENXcmFwcGVyPlxuICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXtzaG93VG9vbHRpcCA/IGRpc3BsYXlUaXRsZSA6ICcnfT5cbiAgICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJUaXRsZSByZWY9e3RleHRSZWZ9PntkaXNwbGF5VGl0bGUgfHwgdCgnY29udmVyc2F0aW9ucy5lbXB0eUxhYmVsJyl9PC9TQ0xIQ1dyYXBwZXJUaXRsZT5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3Nob3dUb29sdGlwQWdlbnQgPyBkaXNwbGF5QWdlbnQgKyAoY29udGV4dE5hbWUgPyBgIC0gJHtjb250ZXh0TmFtZX1gIDogJycpIDogJyd9PlxuICAgICAgICAgICAgPFNDTEhDV3JhcHBlckFnZW50PlxuICAgICAgICAgICAgICB7Y2hhdC5hZ2VudFR5cGUgPT09ICdjbG9uZScgPyAoXG4gICAgICAgICAgICAgICAgPE1BSUFJY29uIHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250U2l6ZTogJzE0cHgnIH19PntjaGF0LmVtb2ppfTwvc3Bhbj5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICA8U0NMSENXcmFwcGVyQWdlbnRUZXh0IHJlZj17YWdlbnRSZWZ9PlxuICAgICAgICAgICAgICAgIHtkaXNwbGF5QWdlbnR9XG4gICAgICAgICAgICAgICAge2NvbnRleHROYW1lICYmIGAgLSAke2NvbnRleHROYW1lfWB9XG4gICAgICAgICAgICAgIDwvU0NMSENXcmFwcGVyQWdlbnRUZXh0PlxuICAgICAgICAgICAgPC9TQ0xIQ1dyYXBwZXJBZ2VudD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvU0NMSENXcmFwcGVyPlxuICAgICAgICA8U0NMSENXcmFwcGVyQnV0dG9uQWN0aW9ucz5cbiAgICAgICAgICA8Q1VCdXR0b25cbiAgICAgICAgICAgIGljb25Pbmx5XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgdmFyaWFudD1cInRleHRcIlxuICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICBvbk9wZW5Nb2RhbChjaGF0LmlkKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWVudURvdHMgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAge2lzTW9kYWxPcGVuICYmICFhY3Rpb24gJiYgKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBkYXRhLW1vZGFsLWNvbnRhaW5lclxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIHRvcDogJzMycHgnLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiAnMTZweCcsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgICAgIHpJbmRleDogMTAwMCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgcmdiYSgyMjQsIDIyNCwgMjI0LCAxKScsXG4gICAgICAgICAgICAgICAgbWluV2lkdGg6ICcxMjRweCcsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHttZW51SXRlbXMubWFwKCh7IGxhYmVsLCBvbkNsaWNrSXRlbSwgSWNvbiwgZXZlbnRLZXkgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxPcHRpb25JdGVtXG4gICAgICAgICAgICAgICAgICBrZXk9e2xhYmVsfVxuICAgICAgICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGlja0l0ZW0oY2hhdC5pZCl9XG4gICAgICAgICAgICAgICAgICBJY29uPXtJY29ufVxuICAgICAgICAgICAgICAgICAgZXZlbnRLZXk9e2V2ZW50S2V5fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0xIQ1dyYXBwZXJCdXR0b25BY3Rpb25zPlxuICAgICAgPC9TQ0xIQ1dyYXBwZXJDb250ZW50PlxuICAgICAgeyEhYWN0aW9uICYmXG4gICAgICAgIGFjdGlvbnNbYWN0aW9uXSh7XG4gICAgICAgICAgb25DbG9zZTogKCkgPT4ge1xuICAgICAgICAgICAgb25DbG9zZU1vZGFsKClcbiAgICAgICAgICAgIHNldEFjdGlvbihudWxsKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2hhdCxcbiAgICAgICAgICBoYW5kbGVyczoge1xuICAgICAgICAgICAgaGFuZGxlQ29uZmlybUFjdGlvbixcbiAgICAgICAgICAgIGhhbmRsZVNldElzT3Blbk1vZGFsOiBvbkNsb3NlTW9kYWwsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSl9XG4gICAgPC8+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IFNpZGViYXIgPSAoe1xuICBvbkdvVG9DaGF0LFxuICBvbkVycm9yID0gKCkgPT4gbnVsbCxcbiAgaGFuZGxlR29Ub0hvbWUsXG4gIGhhbmRsZU9wZW5NYXJrZXRwbGFjZSxcbiAgc2hvd05ld0NoYXQsXG4gIHJlZmV0Y2hDaGF0cyxcbiAgaGFuZGxlU2V0UmVmZXRjaENoYXRzLFxuICBoYXNFcnJvcixcbiAgcmVzZXRTZWxlY3RlZENoYXRSZWYsXG4gIGFnZW50c05hdkFjdGl2ZSA9IG51bGwsXG59OiB7XG4gIG9uR29Ub0NoYXQ6IChjaGF0SWQ6IHN0cmluZykgPT4gdm9pZFxuICBvbkVycm9yOiAoKSA9PiB2b2lkXG4gIGhhbmRsZUdvVG9Ib21lOiAoKSA9PiB2b2lkXG4gIGhhbmRsZU9wZW5NYXJrZXRwbGFjZTogKCkgPT4gdm9pZFxuICBzaG93TmV3Q2hhdDogYm9vbGVhblxuICByZWZldGNoQ2hhdHM6IGJvb2xlYW5cbiAgaGFuZGxlU2V0UmVmZXRjaENoYXRzOiAocmVmZXRjaDogYm9vbGVhbikgPT4gdm9pZFxuICBoYXNFcnJvcjogYm9vbGVhblxuICByZXNldFNlbGVjdGVkQ2hhdFJlZj86IE11dGFibGVSZWZPYmplY3Q8KCgpID0+IHZvaWQpIHwgbnVsbD5cbiAgLyoqIFJlc2FsdGEgTWFpYWtlciBvIE1pcyBhZ2VudGVzICovXG4gIGFnZW50c05hdkFjdGl2ZT86ICdtYWlha2VyJyB8ICdteUFnZW50cycgfCBudWxsXG59KSA9PiB7XG4gIGNvbnN0IHsgdCwgaTE4biB9ID0gdXNlVCgpXG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbaXNPcGVuTW9kYWwsIHNldElzT3Blbk1vZGFsXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtzZWxlY3RlZENoYXQsIHNldFNlbGVjdGVkQ2hhdF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBjaGF0c0ZldGNoZWRSZWYgPSB1c2VSZWYoZmFsc2UpXG4gIGNvbnN0IGNoYXRzQ29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuICBjb25zdCB7IGFnZW50OiBzZWxlY3RlZEFnZW50LCBzZWxlY3RBZ2VudCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50IH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3Qge1xuICAgIGxvYWRpbmdDaGF0cyxcbiAgICBjaGF0cyxcbiAgICBkZWxldGVDaGF0LFxuICAgIHVwZGF0ZUNoYXQsXG4gICAgZmV0Y2hDaGF0cyxcbiAgICBsaW1pdCxcbiAgICBvZmZzZXQsXG4gICAgaGFzTW9yZUNoYXRzLFxuICAgIGxvYWRNb3JlQ2hhdHMsXG4gICAgaXNMb2FkaW5nTW9yZUNoYXRzLFxuICB9ID0gdXNlQ2hhdHMoe1xuICAgIG9uRXJyb3IsXG4gIH0pXG5cbiAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50c1xuICBjb25zdCBjYW5DcmVhdGVBZ2VudHMgPSAhIXVzZXJQZXJtaXNzaW9ucz8uY3JlYXRlXG4gIGNvbnN0IGhhc011bHRpQWdlbnRzRmVhdHVyZUFjY2VzcyA9ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgY29uc3QgY2FuVmlld0FnZW50cyA9ICEhdXNlclBlcm1pc3Npb25zPy52aWV3ICYmIGhhc011bHRpQWdlbnRzRmVhdHVyZUFjY2Vzc1xuICBjb25zdCBzaG93TWFya2V0cGxhY2VTaWRlYmFyQnV0dG9uID0gISFjYW5DcmVhdGVBZ2VudHMgJiYgISF3aW5kb3cuTUFJQV9NQVJLRVRQTEFDRV9NQUlBS0VSXG4gIGNvbnN0IGFnZW50TmF2QnV0dG9uQ291bnQgPSAoKHNob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gPyAxIDogMCkgKyAoY2FuVmlld0FnZW50cyA/IDEgOiAwKSkgYXMgMCB8IDEgfCAyXG4gIGNvbnN0IHNob3dBZ2VudHNOYXZCbG9jayA9IHNob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gfHwgY2FuVmlld0FnZW50c1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlc2V0U2VsZWN0ZWRDaGF0UmVmKSB7XG4gICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50ID0gKCkgPT4gc2V0U2VsZWN0ZWRDaGF0KG51bGwpXG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzZXRTZWxlY3RlZENoYXRSZWYpIHtcbiAgICAgICAgcmVzZXRTZWxlY3RlZENoYXRSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtyZXNldFNlbGVjdGVkQ2hhdFJlZl0pXG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQ2hhdCA9IGFzeW5jIChjaGF0OiBhbnkpID0+IHtcbiAgICBkZWxldGVDaGF0KGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICBoYW5kbGVHb1RvSG9tZSgpXG4gIH1cblxuICBjb25zdCBoYW5kbGVVcGRhdGVDaGF0ID0gKGNoYXQ6IGFueSkgPT4ge1xuICAgIHVwZGF0ZUNoYXQoY2hhdClcbiAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlT3Blbk1vZGFsID0gKGNoYXRJZDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGlzT3Blbk1vZGFsICYmIGlzT3Blbk1vZGFsICE9PSBjaGF0SWQpIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKGNoYXRJZClcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVDbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKGlzT3Blbk1vZGFsICYmICEoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmNsb3Nlc3QoJ1tkYXRhLW1vZGFsLWNvbnRhaW5lcl0nKSkge1xuICAgICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpc09wZW5Nb2RhbCkge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNPcGVuTW9kYWxdKVxuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZVNpZGViYXIgPSAoKSA9PiB7XG4gICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgIH1cbiAgICBzZXRJc09wZW4ocHJldiA9PiAhcHJldilcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZU9wZW5DcmVhdGVBZ2VudCA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICBwYXRoOiBgYWdlbnRzP2FnZW50X3R5cGU9Y2xvbmUmbGFuZz0ke21hcENPUkxhbmcoaTE4bi5sYW5ndWFnZSl9YCxcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgfSlcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgY29uc3QgbWFpYWtlckFnZW50ID0gKGRhdGEuZGF0YSB8fCBbXSkuZmluZCgoYWdlbnQ6IGFueSkgPT4gYWdlbnQudHlwZSA9PT0gJ2Nsb25lJyAmJiBhZ2VudC5lbnRpdHkgPT09ICdnbG9iYWwnKVxuXG4gICAgaWYgKCFtYWlha2VyQWdlbnQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHNldFByb2plY3QobnVsbClcbiAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgIHNlbGVjdEFnZW50KG1haWFrZXJBZ2VudClcbiAgICBoYW5kbGVHb1RvSG9tZSgpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc09wZW4gJiYgIWNoYXRzRmV0Y2hlZFJlZi5jdXJyZW50KSB7XG4gICAgICBjaGF0c0ZldGNoZWRSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIGZldGNoQ2hhdHMoeyBsaW1pdCwgb2Zmc2V0IH0pXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKHJlZmV0Y2hDaGF0cykge1xuICAgICAgZmV0Y2hDaGF0cyh7IGxpbWl0LCBvZmZzZXQgfSlcbiAgICAgIGhhbmRsZVNldFJlZmV0Y2hDaGF0cyhmYWxzZSlcbiAgICB9XG4gIH0sIFtpc09wZW4sIHJlZmV0Y2hDaGF0cywgaGFuZGxlU2V0UmVmZXRjaENoYXRzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghY2hhdHNDb250YWluZXJSZWYuY3VycmVudCB8fCAhaGFzTW9yZUNoYXRzIHx8IGlzTG9hZGluZ01vcmVDaGF0cyB8fCBoYXNFcnJvcikge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBjaGF0c0NvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgICBjb25zdCBpc0F0Qm90dG9tID0gc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0ID49IHNjcm9sbEhlaWdodCAtIDEwXG5cbiAgICAgIGlmIChpc0F0Qm90dG9tKSB7XG4gICAgICAgIGxvYWRNb3JlQ2hhdHMoKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNoYXRzQ29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfVxuICB9LCBbaGFzTW9yZUNoYXRzLCBpc0xvYWRpbmdNb3JlQ2hhdHMsIGxvYWRNb3JlQ2hhdHMsIGhhc0Vycm9yXSlcblxuICBjb25zdCBoYW5kbGVOZXdDaGF0ID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmIChpc09wZW5Nb2RhbCkge1xuICAgICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICB9XG4gICAgc2V0U2VsZWN0ZWRDaGF0KG51bGwpXG4gICAgYXdhaXQgZmV0Y2hDaGF0cyh7IGxpbWl0LCBvZmZzZXQ6IDAgfSlcbiAgICBoYW5kbGVHb1RvSG9tZSgpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVJlZmV0Y2hTZXNzaW9uID0gKCkgPT4ge1xuICAgICAgZmV0Y2hDaGF0cyh7IGxpbWl0OiAyMCwgb2Zmc2V0OiAwIH0pXG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3JlZmV0Y2gtc2Vzc2lvbicsIGhhbmRsZVJlZmV0Y2hTZXNzaW9uKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdyZWZldGNoLXNlc3Npb24nLCBoYW5kbGVSZWZldGNoU2Vzc2lvbilcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNob3dOZXdDaGF0QnV0dG9uID1cbiAgICAhc2hvd05ld0NoYXQgJiZcbiAgICAhaGFzRXJyb3IgJiZcbiAgICAhbG9hZGluZ0NoYXRzICYmXG4gICAgKCh1c2VyUGVybWlzc2lvbnM/LnZpZXcgJiZcbiAgICAgICFzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkICYmXG4gICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyAmJlxuICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzKSB8fFxuICAgICAgKCF1c2VyUGVybWlzc2lvbnM/LnZpZXcgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzKSlcblxuICByZXR1cm4gKFxuICAgIDxTQ1NTaWRlYmFyUm9vdCAkaXNPcGVuPXtpc09wZW59PlxuICAgICAgPFNDU1NpZGViYXJUb29sYmFyICRpc09wZW49e2lzT3Blbn0+XG4gICAgICAgIDxUb29sdGlwIHRpdGxlPXtpc09wZW4gPyB0KCdjb252ZXJzYXRpb25zLmNvbGxhcHNlJykgOiB0KCdjb252ZXJzYXRpb25zLmV4cGFuZCcpfT5cbiAgICAgICAgICA8U0NTV3JhcHBlckNvbGxhcHNlZEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVUb2dnbGVTaWRlYmFyfSBpc09wZW49e2lzT3Blbn0+XG4gICAgICAgICAgICA8Q2hldnJvbkRvdWJsZUxlZnQgY29sb3I9XCJyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpXCIgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgIDwvU0NTV3JhcHBlckNvbGxhcHNlZEJ1dHRvbj5cbiAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICB7c2hvd05ld0NoYXRCdXR0b24gPyAoXG4gICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NvbnZlcnNhdGlvbnMubmV3Q2hhdCcpfT5cbiAgICAgICAgICAgIDxTQ1NXcmFwcGVyTmV3Q2hhdEljb24gb25DbGljaz17aGFuZGxlTmV3Q2hhdH0+XG4gICAgICAgICAgICAgIDxOZXdDaGF0IHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gLz5cbiAgICAgICAgICAgIDwvU0NTV3JhcHBlck5ld0NoYXRJY29uPlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1NDU1NpZGViYXJUb29sYmFyPlxuICAgICAgPFNDU1NpZGViYXJCb2R5ICRpc09wZW49e2lzT3Blbn0+XG4gICAgICAgIHtpc09wZW4gPyAoXG4gICAgICAgICAgPFNDU1NpZGViYXJPcGVuUGFuZWw+XG4gICAgICAgICAgICA8U0NTU2lkZWJhckFnZW50c0Jsb2NrPlxuICAgICAgICAgICAgICB7c2hvd0FnZW50c05hdkJsb2NrID8gKFxuICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyQWdlbnRzQWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgIHtzaG93TWFya2V0cGxhY2VTaWRlYmFyQnV0dG9uID8gKFxuICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0TXBPcGVuKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlT3BlbkNyZWF0ZUFnZW50KClcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICRhY3RpdmU9e2FnZW50c05hdkFjdGl2ZSA9PT0gJ21haWFrZXInfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPE1haWFTdG9yZUljb24gc2l6ZT17MTZ9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJNYWlha2VyTmF2TGFiZWw+e3QoJ2NvbnZlcnNhdGlvbnMubWFpYWtlck5hdicpfTwvU0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAge2NhblZpZXdBZ2VudHMgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZU9wZW5NYXJrZXRwbGFjZX1cbiAgICAgICAgICAgICAgICAgICAgICAkYWN0aXZlPXthZ2VudHNOYXZBY3RpdmUgPT09ICdteUFnZW50cyd9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8TXlBZ2VudHNOYXZJY29uIHNpemU9ezE2fSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsPnt0KCdjb252ZXJzYXRpb25zLm15QWdlbnRzTmF2Jyl9PC9TQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyQWdlbnRzQWN0aW9ucz5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDxTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmc+e3QoJ2NvbnZlcnNhdGlvbnMudGl0bGUnKX08L1NDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZz5cbiAgICAgICAgICAgIDwvU0NTU2lkZWJhckFnZW50c0Jsb2NrPlxuICAgICAgICAgICAgPFNDU1NpZGViYXJDaGF0c1Njcm9sbFxuICAgICAgICAgICAgICByZWY9e2NoYXRzQ29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICAkaGFzQ2hhdHM9e2NoYXRzLmxlbmd0aCA+IDB9XG4gICAgICAgICAgICAgICRvZmZzZXRWYXJpYW50PXtoYXNFcnJvciA/ICdlcnJvcicgOiAnZGVmYXVsdCd9XG4gICAgICAgICAgICAgICRhZ2VudE5hdkJ1dHRvbkNvdW50PXthZ2VudE5hdkJ1dHRvbkNvdW50fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aGFzRXJyb3IgJiYgIWNoYXRzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yU3RhdGVDb2x1bW4+XG4gICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yU3RhdGVUb3A+XG4gICAgICAgICAgICAgICAgICAgIDxFcnJvclN0YXRlIC8+XG4gICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFcnJvclN0YXRlVG9wPlxuICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvckJhbm5lcj5cbiAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwPlxuICAgICAgICAgICAgICAgICAgICAgIDxFcnJvckljb24gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRXJyb3JCYW5uZXJJY29uV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvckJhbm5lck1lc3NhZ2U+e3QoJ2NvbnZlcnNhdGlvbnMuZXJyb3InKX08L1NDU1NpZGViYXJFcnJvckJhbm5lck1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFcnJvckJhbm5lcj5cbiAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFcnJvclN0YXRlQ29sdW1uPlxuICAgICAgICAgICAgICApIDogbG9hZGluZ0NoYXRzID8gKFxuICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTG9hZGluZ0FyZWE+XG4gICAgICAgICAgICAgICAgICA8TG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyTG9hZGluZ0FyZWE+XG4gICAgICAgICAgICAgICkgOiBjaGF0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIHtjaGF0cy5tYXAoY2hhdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgPExpc3RIaXN0b3J5Q2hhdFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtjaGF0LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2hhdD17Y2hhdH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2NoYXREYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZENoYXQoY2hhdERhdGEuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uR29Ub0NoYXQoY2hhdERhdGEpXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgaXNNb2RhbE9wZW49e2lzT3Blbk1vZGFsID09PSBjaGF0LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25PcGVuTW9kYWw9e2hhbmRsZU9wZW5Nb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2VNb2RhbD17aGFuZGxlQ2xvc2VNb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZXJzPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZURlbGV0ZUNoYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVVwZGF0ZUNoYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRDaGF0ID09PSBjaGF0LnNlc3Npb25FeHRlcm5hbElkfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAge2lzTG9hZGluZ01vcmVDaGF0cyAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTG9hZE1vcmVSb3c+XG4gICAgICAgICAgICAgICAgICAgICAgPExvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJMb2FkTW9yZVJvdz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFbXB0eUNoYXRzPlxuICAgICAgICAgICAgICAgICAgPEVtcHR5SGlzdG9yeUljb24gLz5cbiAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRW1wdHlDaGF0c1RleHQ+e3QoJ2NvbnZlcnNhdGlvbnMuZW1wdHknKX08L1NDU1NpZGViYXJFbXB0eUNoYXRzVGV4dD5cbiAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFbXB0eUNoYXRzPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TQ1NTaWRlYmFyQ2hhdHNTY3JvbGw+XG4gICAgICAgICAgICA8U0NTU2lkZWJhckNoYXRzRm9vdGVyPlxuICAgICAgICAgICAgICB7aGFzRXJyb3IgJiYgY2hhdHMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JCYW5uZXI+XG4gICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXA+XG4gICAgICAgICAgICAgICAgICAgIDxFcnJvckljb24gLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXA+XG4gICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZT57dCgnY29udmVyc2F0aW9ucy5lcnJvcicpfTwvU0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZT5cbiAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFcnJvckJhbm5lcj5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1NDU1NpZGViYXJDaGF0c0Zvb3Rlcj5cbiAgICAgICAgICA8L1NDU1NpZGViYXJPcGVuUGFuZWw+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICA8U0NTU2lkZWJhckZvb3RlckFjdGlvbnMgJGlzT3Blbj17aXNPcGVufSAkanVzdGlmeUJldHdlZW49eyEhc2VsZWN0ZWRBZ2VudH0+XG4gICAgICAgICAge3NlbGVjdGVkQWdlbnQgPyA8RmVlZGJhY2tCdXR0b24gc2VsZWN0ZWRBZ2VudD17c2VsZWN0ZWRBZ2VudH0gaXNPcGVuPXtpc09wZW59IC8+IDogbnVsbH1cbiAgICAgICAgPC9TQ1NTaWRlYmFyRm9vdGVyQWN0aW9ucz5cbiAgICAgIDwvU0NTU2lkZWJhckJvZHk+XG4gICAgPC9TQ1NTaWRlYmFyUm9vdD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUEyQkEsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDOUUsU0FBU0MsaUJBQWlCLFFBQVEsb0RBQW9EO0FBQ3RGLFNBQVNDLFFBQVEsUUFBUSw0Q0FBNEM7QUFDckUsU0FBU0MsUUFBUSxRQUFRLDJDQUEyQztBQUNwRSxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFFOUQsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUV0RSxTQUFTQyxnQkFBZ0IsUUFBUSxnQ0FBZ0M7QUFDakUsU0FBU0MsaUJBQWlCLFFBQVEsMEJBQTBCO0FBQzVELFNBQVNDLFFBQVEsUUFBUSx5QkFBeUI7QUFDbEQsU0FBU0MsTUFBTSxRQUFRLG9CQUFvQjtBQUMzQyxTQUFTQyxVQUFV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
|
|
@@ -102,7 +102,7 @@ export var EditQuestionModal = function EditQuestionModal(_ref) {
|
|
|
102
102
|
}) : /*#__PURE__*/_jsx("span", {
|
|
103
103
|
children: chat.emoji
|
|
104
104
|
}), /*#__PURE__*/_jsxs(SCEQMWLabelAgent, {
|
|
105
|
-
children: [getAgentDisplayName(chat.agentType, chat.agent), chat.projectName ? " - ".concat(chat.projectName) : '']
|
|
105
|
+
children: [getAgentDisplayName(chat.agentType, chat.agent), chat.projectName || chat.clientName ? " - ".concat(chat.projectName || chat.clientName) : '']
|
|
106
106
|
})]
|
|
107
107
|
})]
|
|
108
108
|
}), /*#__PURE__*/_jsxs(SCEQMWWrapperFooter, {
|
|
@@ -135,4 +135,4 @@ export var EditQuestionModal = function EditQuestionModal(_ref) {
|
|
|
135
135
|
})
|
|
136
136
|
}), container);
|
|
137
137
|
};
|
|
138
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdERPTSIsInVzZVJlZiIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiQ1VCdXR0b24iLCJDcm9zcyIsIkJhY2tkcm9wIiwiTUFJQUljb24iLCJTQ0VRTUhlYWRlclRpdGxlIiwiU0NFUU1Nb2RhbCIsIlNDRVFNV3JhcHBlciIsIlNDRVFNV3JhcHBlckNvbnRlbnQiLCJTQ0VRTVdyYXBwZXJDb250ZW50TGVnZW5kIiwiU0NFUU1XcmFwcGVySGVhZGVyIiwiU0NFUU1EaXZpZGVyIiwiU0NFUU1XV3JhcHBlckZvb3RlciIsIlNDRVFNV1dyYXBwZXJMYWJlbEFnZW50IiwiU0NFUU1XTGFiZWxBZ2VudCIsInVzZVQiLCJ1c2VNYWlhVGFza1BhbmVsWkluZGV4IiwiZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zIiwiZ2V0QWdlbnREaXNwbGF5TmFtZSIsIkN1c3RvbUlucHV0IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkVkaXRRdWVzdGlvbk1vZGFsIiwiX3JlZiIsIl90aXRsZSR0cmltIiwib25DbG9zZSIsImNoYXQiLCJoYW5kbGVycyIsIl91c2VUIiwidCIsImJhY2tkcm9wWkluZGV4IiwiYmFja2Ryb3BSZWYiLCJtb2RhbFJlZiIsInRleHRhcmVhUmVmIiwiY29udGFpbmVyIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIl91c2VTdGF0ZSIsInRpdGxlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2V0VGl0bGUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImZvY3VzZWRGaWVsZCIsInNldEZvY3VzZWRGaWVsZCIsImN1cnJlbnQiLCJmb2N1cyIsInNldFNlbGVjdGlvblJhbmdlIiwibGVuZ3RoIiwiaGFuZGxlRm9jdXMiLCJmaWVsZE5hbWUiLCJoYW5kbGVCbHVyIiwiY3JlYXRlUG9ydGFsIiwiY2hpbGRyZW4iLCJyZWYiLCJvbkNsaWNrIiwiekluZGV4IiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsImljb25Pbmx5IiwidmFyaWFudCIsInNpemUiLCJjb2xvciIsImhlaWdodCIsIndpZHRoIiwibGFiZWwiLCJjb25jYXQiLCJlcnJvck1lc3NhZ2UiLCJwbGFjZWhvbGRlciIsInZhbHVlIiwib25DaGFuZ2UiLCJtYXhMZW5ndGgiLCJpbnB1dEtleSIsImlzVHJpbW1lZCIsImFnZW50VHlwZSIsImVtb2ppIiwiYWdlbnQiLCJwcm9qZWN0TmFtZSIsImRpc2FibGVkIiwidHJpbSIsImhhbmRsZUNvbmZpcm1BY3Rpb24iLCJfb2JqZWN0U3ByZWFkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0VkaXRRdWVzdGlvbk1vZGFsL0VkaXRRdWVzdGlvbk1vZGFsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9uby1hdXRvZm9jdXMgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7IHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBDVUJ1dHRvbiB9IGZyb20gJ0Bwcm9qZWN0Y29yL2J1dHRvbi9saWIvY29tcG9uZW50cy9DVUJ1dHRvbidcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBCYWNrZHJvcCB9IGZyb20gJy4uLy4uL2F0b21zL0JhY2tkcm9wJ1xuaW1wb3J0IHsgTUFJQUljb24gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7XG4gIFNDRVFNSGVhZGVyVGl0bGUsXG4gIFNDRVFNTW9kYWwsXG4gIFNDRVFNV3JhcHBlcixcbiAgU0NFUU1XcmFwcGVyQ29udGVudCxcbiAgU0NFUU1XcmFwcGVyQ29udGVudExlZ2VuZCxcbiAgU0NFUU1XcmFwcGVySGVhZGVyLFxuICBTQ0VRTURpdmlkZXIsXG4gIFNDRVFNV1dyYXBwZXJGb290ZXIsXG4gIFNDRVFNV1dyYXBwZXJMYWJlbEFnZW50LFxuICBTQ0VRTVdMYWJlbEFnZW50LFxufSBmcm9tICcuL0VkaXRRdWVzdGlvbk1vZGFsLnN0eWxlcydcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgdXNlTWFpYVRhc2tQYW5lbFpJbmRleCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1haWFUYXNrUGFuZWxaSW5kZXgnXG5pbXBvcnQgeyBmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9yZW5kZXJDb250ZXh0TWVudGlvbnMnXG5pbXBvcnQgeyBnZXRBZ2VudERpc3BsYXlOYW1lIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYWdlbnREaXNwbGF5TmFtZSdcbmltcG9ydCB7IEN1c3RvbUlucHV0IH0gZnJvbSAnLi4vLi4vYXRvbXMvSW5wdXQvQ3VzdG9tSW5wdXQnXG5cbmV4cG9ydCBjb25zdCBFZGl0UXVlc3Rpb25Nb2RhbCA9ICh7XG4gIG9uQ2xvc2UsXG4gIGNoYXQsXG4gIGhhbmRsZXJzLFxufToge1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkXG4gIGNoYXQ6IGFueVxuICBoYW5kbGVyczoge1xuICAgIGhhbmRsZUNvbmZpcm1BY3Rpb246IChjaGF0OiBhbnkpID0+IHZvaWRcbiAgICBoYW5kbGVTZXRJc09wZW5Nb2RhbDogKHBvc2l0aW9uOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkXG4gIH1cbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgYmFja2Ryb3BaSW5kZXggPSB1c2VNYWlhVGFza1BhbmVsWkluZGV4KDExMTExLCAnbmVzdGVkTW9kYWwnKVxuICBjb25zdCBiYWNrZHJvcFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgbW9kYWxSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHRleHRhcmVhUmVmID0gdXNlUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1yb290LWFjdGlvbnMnKVxuICBjb25zdCBbdGl0bGUsIHNldFRpdGxlXSA9IHVzZVN0YXRlKCgpID0+IGZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyhjaGF0LnRpdGxlKSB8fCAnJylcbiAgY29uc3QgW2ZvY3VzZWRGaWVsZCwgc2V0Rm9jdXNlZEZpZWxkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGV4dGFyZWFSZWYuY3VycmVudCkge1xuICAgICAgdGV4dGFyZWFSZWYuY3VycmVudC5mb2N1cygpXG4gICAgICB0ZXh0YXJlYVJlZi5jdXJyZW50LnNldFNlbGVjdGlvblJhbmdlKHRpdGxlLmxlbmd0aCwgdGl0bGUubGVuZ3RoKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlRm9jdXMgPSAoZmllbGROYW1lOiBzdHJpbmcpID0+IHtcbiAgICBzZXRGb2N1c2VkRmllbGQoZmllbGROYW1lKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQmx1ciA9ICgpID0+IHtcbiAgICBzZXRGb2N1c2VkRmllbGQobnVsbClcbiAgfVxuXG4gIGlmICghY29udGFpbmVyKSByZXR1cm4gbnVsbFxuXG4gIHJldHVybiBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgPFNDRVFNV3JhcHBlcj5cbiAgICAgIDxCYWNrZHJvcCByZWY9e2JhY2tkcm9wUmVmfSBvbkNsaWNrPXtvbkNsb3NlfSB6SW5kZXg9e2JhY2tkcm9wWkluZGV4fT5cbiAgICAgICAgPFNDRVFNTW9kYWxcbiAgICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICB9fVxuICAgICAgICAgIHJlZj17bW9kYWxSZWZ9XG4gICAgICAgID5cbiAgICAgICAgICA8U0NFUU1XcmFwcGVyQ29udGVudD5cbiAgICAgICAgICAgIDxTQ0VRTVdyYXBwZXJIZWFkZXI+XG4gICAgICAgICAgICAgIDxTQ0VRTUhlYWRlclRpdGxlPnt0KCdlZGl0UXVlc3Rpb25Nb2RhbC50aXRsZScpfTwvU0NFUU1IZWFkZXJUaXRsZT5cbiAgICAgICAgICAgICAgPENVQnV0dG9uIGljb25Pbmx5IHZhcmlhbnQ9XCJ0ZXh0XCIgc2l6ZT1cInNtYWxsXCIgb25DbGljaz17b25DbG9zZX0+XG4gICAgICAgICAgICAgICAgPENyb3NzIGNvbG9yPVwiaW5oZXJpdFwiIGhlaWdodD17MTZ9IHdpZHRoPXsxNn0gLz5cbiAgICAgICAgICAgICAgPC9DVUJ1dHRvbj5cbiAgICAgICAgICAgIDwvU0NFUU1XcmFwcGVySGVhZGVyPlxuICAgICAgICAgICAgPFNDRVFNV3JhcHBlckNvbnRlbnRMZWdlbmQ+XG4gICAgICAgICAgICAgIDxTQ0VRTURpdmlkZXIgLz5cbiAgICAgICAgICAgICAgPEN1c3RvbUlucHV0XG4gICAgICAgICAgICAgICAgbGFiZWw9e2Ake3QoJ2VkaXRRdWVzdGlvbk1vZGFsLm5ld05hbWUnKX0gKCR7dGl0bGUubGVuZ3RoIHx8IDB9LSR7MTQwfSlgfVxuICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZT17dCgnZWRpdFF1ZXN0aW9uTW9kYWwubWF4TGVuZ3RoJyl9XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXt0aXRsZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlOiBzdHJpbmcpID0+IHNldFRpdGxlKHZhbHVlKX1cbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg9ezE0MH1cbiAgICAgICAgICAgICAgICBpbnB1dEtleT1cInRpdGxlXCJcbiAgICAgICAgICAgICAgICBpc1RyaW1tZWRcbiAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17aGFuZGxlRm9jdXN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICBmb2N1c2VkRmllbGQ9e2ZvY3VzZWRGaWVsZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvU0NFUU1XcmFwcGVyQ29udGVudExlZ2VuZD5cbiAgICAgICAgICAgIDxTQ0VRTVdXcmFwcGVyTGFiZWxBZ2VudD5cbiAgICAgICAgICAgICAge2NoYXQuYWdlbnRUeXBlID09PSAnY2xvbmUnID8gPE1BSUFJY29uIHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gLz4gOiA8c3Bhbj57Y2hhdC5lbW9qaX08L3NwYW4+fVxuICAgICAgICAgICAgICA8U0NFUU1XTGFiZWxBZ2VudD5cbiAgICAgICAgICAgICAgICB7Z2V0QWdlbnREaXNwbGF5TmFtZShjaGF0LmFnZW50VHlwZSwgY2hhdC5hZ2VudCl9XG4gICAgICAgICAgICAgICAge2NoYXQucHJvamVjdE5hbWUgPyBgIC0gJHtjaGF0LnByb2plY3ROYW1lfWAgOiAnJ31cbiAgICAgICAgICAgICAgPC9TQ0VRTVdMYWJlbEFnZW50PlxuICAgICAgICAgICAgPC9TQ0VRTVdXcmFwcGVyTGFiZWxBZ2VudD5cbiAgICAgICAgICA8L1NDRVFNV3JhcHBlckNvbnRlbnQ+XG4gICAgICAgICAgPFNDRVFNV1dyYXBwZXJGb290ZXI+XG4gICAgICAgICAgICA8Q1VCdXR0b25cbiAgICAgICAgICAgICAgdmFyaWFudD1cInRleHRcIlxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgb25DbG9zZSgpXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuPnt0KCdkZWxldGVRdWVzdGlvbk1vZGFsLmNhbmNlbCcpfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAgICA8Q1VCdXR0b25cbiAgICAgICAgICAgICAgdmFyaWFudD1cImNvbnRhaW5lZFwiXG4gICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgIGRpc2FibGVkPXtcbiAgICAgICAgICAgICAgICB0aXRsZS5sZW5ndGggPiAxNTAgfHxcbiAgICAgICAgICAgICAgICAhdGl0bGU/LnRyaW0oKT8ubGVuZ3RoIHx8XG4gICAgICAgICAgICAgICAgdGl0bGUgPT09IChmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMoY2hhdC50aXRsZSkgfHwgJycpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgIGhhbmRsZXJzLmhhbmRsZUNvbmZpcm1BY3Rpb24oeyAuLi5jaGF0LCB0aXRsZSB9KVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3Bhbj57dCgnZWRpdFF1ZXN0aW9uTW9kYWwucmVuYW1lJyl9PC9zcGFuPlxuICAgICAgICAgICAgPC9DVUJ1dHRvbj5cbiAgICAgICAgICA8L1NDRVFNV1dyYXBwZXJGb290ZXI+XG4gICAgICAgIDwvU0NFUU1Nb2RhbD5cbiAgICAgIDwvQmFja2Ryb3A+XG4gICAgPC9TQ0VRTVdyYXBwZXI+LFxuICAgIGNvbnRhaW5lclxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLFFBQVEsTUFBTSxXQUFXO0FBQ2hDLFNBQVNDLE1B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
|
|
138
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdERPTSIsInVzZVJlZiIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiQ1VCdXR0b24iLCJDcm9zcyIsIkJhY2tkcm9wIiwiTUFJQUljb24iLCJTQ0VRTUhlYWRlclRpdGxlIiwiU0NFUU1Nb2RhbCIsIlNDRVFNV3JhcHBlciIsIlNDRVFNV3JhcHBlckNvbnRlbnQiLCJTQ0VRTVdyYXBwZXJDb250ZW50TGVnZW5kIiwiU0NFUU1XcmFwcGVySGVhZGVyIiwiU0NFUU1EaXZpZGVyIiwiU0NFUU1XV3JhcHBlckZvb3RlciIsIlNDRVFNV1dyYXBwZXJMYWJlbEFnZW50IiwiU0NFUU1XTGFiZWxBZ2VudCIsInVzZVQiLCJ1c2VNYWlhVGFza1BhbmVsWkluZGV4IiwiZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zIiwiZ2V0QWdlbnREaXNwbGF5TmFtZSIsIkN1c3RvbUlucHV0IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkVkaXRRdWVzdGlvbk1vZGFsIiwiX3JlZiIsIl90aXRsZSR0cmltIiwib25DbG9zZSIsImNoYXQiLCJoYW5kbGVycyIsIl91c2VUIiwidCIsImJhY2tkcm9wWkluZGV4IiwiYmFja2Ryb3BSZWYiLCJtb2RhbFJlZiIsInRleHRhcmVhUmVmIiwiY29udGFpbmVyIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIl91c2VTdGF0ZSIsInRpdGxlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2V0VGl0bGUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImZvY3VzZWRGaWVsZCIsInNldEZvY3VzZWRGaWVsZCIsImN1cnJlbnQiLCJmb2N1cyIsInNldFNlbGVjdGlvblJhbmdlIiwibGVuZ3RoIiwiaGFuZGxlRm9jdXMiLCJmaWVsZE5hbWUiLCJoYW5kbGVCbHVyIiwiY3JlYXRlUG9ydGFsIiwiY2hpbGRyZW4iLCJyZWYiLCJvbkNsaWNrIiwiekluZGV4IiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsImljb25Pbmx5IiwidmFyaWFudCIsInNpemUiLCJjb2xvciIsImhlaWdodCIsIndpZHRoIiwibGFiZWwiLCJjb25jYXQiLCJlcnJvck1lc3NhZ2UiLCJwbGFjZWhvbGRlciIsInZhbHVlIiwib25DaGFuZ2UiLCJtYXhMZW5ndGgiLCJpbnB1dEtleSIsImlzVHJpbW1lZCIsImFnZW50VHlwZSIsImVtb2ppIiwiYWdlbnQiLCJwcm9qZWN0TmFtZSIsImNsaWVudE5hbWUiLCJkaXNhYmxlZCIsInRyaW0iLCJoYW5kbGVDb25maXJtQWN0aW9uIiwiX29iamVjdFNwcmVhZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9FZGl0UXVlc3Rpb25Nb2RhbC9FZGl0UXVlc3Rpb25Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvbm8tYXV0b2ZvY3VzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9uby1zdGF0aWMtZWxlbWVudC1pbnRlcmFjdGlvbnMgKi9cbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyB1c2VSZWYsIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgQ1VCdXR0b24gfSBmcm9tICdAcHJvamVjdGNvci9idXR0b24vbGliL2NvbXBvbmVudHMvQ1VCdXR0b24nXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgQmFja2Ryb3AgfSBmcm9tICcuLi8uLi9hdG9tcy9CYWNrZHJvcCdcbmltcG9ydCB7IE1BSUFJY29uIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQge1xuICBTQ0VRTUhlYWRlclRpdGxlLFxuICBTQ0VRTU1vZGFsLFxuICBTQ0VRTVdyYXBwZXIsXG4gIFNDRVFNV3JhcHBlckNvbnRlbnQsXG4gIFNDRVFNV3JhcHBlckNvbnRlbnRMZWdlbmQsXG4gIFNDRVFNV3JhcHBlckhlYWRlcixcbiAgU0NFUU1EaXZpZGVyLFxuICBTQ0VRTVdXcmFwcGVyRm9vdGVyLFxuICBTQ0VRTVdXcmFwcGVyTGFiZWxBZ2VudCxcbiAgU0NFUU1XTGFiZWxBZ2VudCxcbn0gZnJvbSAnLi9FZGl0UXVlc3Rpb25Nb2RhbC5zdHlsZXMnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IHVzZU1haWFUYXNrUGFuZWxaSW5kZXggfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VNYWlhVGFza1BhbmVsWkluZGV4J1xuaW1wb3J0IHsgZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvcmVuZGVyQ29udGV4dE1lbnRpb25zJ1xuaW1wb3J0IHsgZ2V0QWdlbnREaXNwbGF5TmFtZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2FnZW50RGlzcGxheU5hbWUnXG5pbXBvcnQgeyBDdXN0b21JbnB1dCB9IGZyb20gJy4uLy4uL2F0b21zL0lucHV0L0N1c3RvbUlucHV0J1xuXG5leHBvcnQgY29uc3QgRWRpdFF1ZXN0aW9uTW9kYWwgPSAoe1xuICBvbkNsb3NlLFxuICBjaGF0LFxuICBoYW5kbGVycyxcbn06IHtcbiAgb25DbG9zZTogKCkgPT4gdm9pZFxuICBjaGF0OiBhbnlcbiAgaGFuZGxlcnM6IHtcbiAgICBoYW5kbGVDb25maXJtQWN0aW9uOiAoY2hhdDogYW55KSA9PiB2b2lkXG4gICAgaGFuZGxlU2V0SXNPcGVuTW9kYWw6IChwb3NpdGlvbjogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZFxuICB9XG59KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IGJhY2tkcm9wWkluZGV4ID0gdXNlTWFpYVRhc2tQYW5lbFpJbmRleCgxMTExMSwgJ25lc3RlZE1vZGFsJylcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IG1vZGFsUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCB0ZXh0YXJlYVJlZiA9IHVzZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PihudWxsKVxuICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9kYWwtcm9vdC1hY3Rpb25zJylcbiAgY29uc3QgW3RpdGxlLCBzZXRUaXRsZV0gPSB1c2VTdGF0ZSgoKSA9PiBmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMoY2hhdC50aXRsZSkgfHwgJycpXG4gIGNvbnN0IFtmb2N1c2VkRmllbGQsIHNldEZvY3VzZWRGaWVsZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRleHRhcmVhUmVmLmN1cnJlbnQpIHtcbiAgICAgIHRleHRhcmVhUmVmLmN1cnJlbnQuZm9jdXMoKVxuICAgICAgdGV4dGFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZSh0aXRsZS5sZW5ndGgsIHRpdGxlLmxlbmd0aClcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUZvY3VzID0gKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgc2V0Rm9jdXNlZEZpZWxkKGZpZWxkTmFtZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUJsdXIgPSAoKSA9PiB7XG4gICAgc2V0Rm9jdXNlZEZpZWxkKG51bGwpXG4gIH1cblxuICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuIG51bGxcblxuICByZXR1cm4gUmVhY3RET00uY3JlYXRlUG9ydGFsKFxuICAgIDxTQ0VRTVdyYXBwZXI+XG4gICAgICA8QmFja2Ryb3AgcmVmPXtiYWNrZHJvcFJlZn0gb25DbGljaz17b25DbG9zZX0gekluZGV4PXtiYWNrZHJvcFpJbmRleH0+XG4gICAgICAgIDxTQ0VRTU1vZGFsXG4gICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgfX1cbiAgICAgICAgICByZWY9e21vZGFsUmVmfVxuICAgICAgICA+XG4gICAgICAgICAgPFNDRVFNV3JhcHBlckNvbnRlbnQ+XG4gICAgICAgICAgICA8U0NFUU1XcmFwcGVySGVhZGVyPlxuICAgICAgICAgICAgICA8U0NFUU1IZWFkZXJUaXRsZT57dCgnZWRpdFF1ZXN0aW9uTW9kYWwudGl0bGUnKX08L1NDRVFNSGVhZGVyVGl0bGU+XG4gICAgICAgICAgICAgIDxDVUJ1dHRvbiBpY29uT25seSB2YXJpYW50PVwidGV4dFwiIHNpemU9XCJzbWFsbFwiIG9uQ2xpY2s9e29uQ2xvc2V9PlxuICAgICAgICAgICAgICAgIDxDcm9zcyBjb2xvcj1cImluaGVyaXRcIiBoZWlnaHQ9ezE2fSB3aWR0aD17MTZ9IC8+XG4gICAgICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAgICA8L1NDRVFNV3JhcHBlckhlYWRlcj5cbiAgICAgICAgICAgIDxTQ0VRTVdyYXBwZXJDb250ZW50TGVnZW5kPlxuICAgICAgICAgICAgICA8U0NFUU1EaXZpZGVyIC8+XG4gICAgICAgICAgICAgIDxDdXN0b21JbnB1dFxuICAgICAgICAgICAgICAgIGxhYmVsPXtgJHt0KCdlZGl0UXVlc3Rpb25Nb2RhbC5uZXdOYW1lJyl9ICgke3RpdGxlLmxlbmd0aCB8fCAwfS0kezE0MH0pYH1cbiAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2U9e3QoJ2VkaXRRdWVzdGlvbk1vZGFsLm1heExlbmd0aCcpfVxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiXCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17dGl0bGV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZTogc3RyaW5nKSA9PiBzZXRUaXRsZSh2YWx1ZSl9XG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoPXsxNDB9XG4gICAgICAgICAgICAgICAgaW5wdXRLZXk9XCJ0aXRsZVwiXG4gICAgICAgICAgICAgICAgaXNUcmltbWVkXG4gICAgICAgICAgICAgICAgaGFuZGxlRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgICAgIGhhbmRsZUJsdXI9e2hhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgZm9jdXNlZEZpZWxkPXtmb2N1c2VkRmllbGR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1NDRVFNV3JhcHBlckNvbnRlbnRMZWdlbmQ+XG4gICAgICAgICAgICA8U0NFUU1XV3JhcHBlckxhYmVsQWdlbnQ+XG4gICAgICAgICAgICAgIHtjaGF0LmFnZW50VHlwZSA9PT0gJ2Nsb25lJyA/IDxNQUlBSWNvbiB3aWR0aD17MTR9IGhlaWdodD17MTR9IC8+IDogPHNwYW4+e2NoYXQuZW1vaml9PC9zcGFuPn1cbiAgICAgICAgICAgICAgPFNDRVFNV0xhYmVsQWdlbnQ+XG4gICAgICAgICAgICAgICAge2dldEFnZW50RGlzcGxheU5hbWUoY2hhdC5hZ2VudFR5cGUsIGNoYXQuYWdlbnQpfVxuICAgICAgICAgICAgICAgIHtjaGF0LnByb2plY3ROYW1lIHx8IGNoYXQuY2xpZW50TmFtZSA/IGAgLSAke2NoYXQucHJvamVjdE5hbWUgfHwgY2hhdC5jbGllbnROYW1lfWAgOiAnJ31cbiAgICAgICAgICAgICAgPC9TQ0VRTVdMYWJlbEFnZW50PlxuICAgICAgICAgICAgPC9TQ0VRTVdXcmFwcGVyTGFiZWxBZ2VudD5cbiAgICAgICAgICA8L1NDRVFNV3JhcHBlckNvbnRlbnQ+XG4gICAgICAgICAgPFNDRVFNV1dyYXBwZXJGb290ZXI+XG4gICAgICAgICAgICA8Q1VCdXR0b25cbiAgICAgICAgICAgICAgdmFyaWFudD1cInRleHRcIlxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgb25DbG9zZSgpXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuPnt0KCdkZWxldGVRdWVzdGlvbk1vZGFsLmNhbmNlbCcpfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAgICA8Q1VCdXR0b25cbiAgICAgICAgICAgICAgdmFyaWFudD1cImNvbnRhaW5lZFwiXG4gICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgIGRpc2FibGVkPXtcbiAgICAgICAgICAgICAgICB0aXRsZS5sZW5ndGggPiAxNTAgfHxcbiAgICAgICAgICAgICAgICAhdGl0bGU/LnRyaW0oKT8ubGVuZ3RoIHx8XG4gICAgICAgICAgICAgICAgdGl0bGUgPT09IChmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMoY2hhdC50aXRsZSkgfHwgJycpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgIGhhbmRsZXJzLmhhbmRsZUNvbmZpcm1BY3Rpb24oeyAuLi5jaGF0LCB0aXRsZSB9KVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3Bhbj57dCgnZWRpdFF1ZXN0aW9uTW9kYWwucmVuYW1lJyl9PC9zcGFuPlxuICAgICAgICAgICAgPC9DVUJ1dHRvbj5cbiAgICAgICAgICA8L1NDRVFNV1dyYXBwZXJGb290ZXI+XG4gICAgICAgIDwvU0NFUU1Nb2RhbD5cbiAgICAgIDwvQmFja2Ryb3A+XG4gICAgPC9TQ0VRTVdyYXBwZXI+LFxuICAgIGNvbnRhaW5lclxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNB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
|