@projectcor/maia-components 2.11.40-1 → 2.11.40-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +6 -2
- package/lib/constants/config.js +3 -1
- package/lib/hooks/useClientSearch.js +3 -2
- package/lib/hooks/useEntitySearch.js +3 -2
- package/lib/hooks/useProjectSearch.js +3 -2
- package/lib/hooks/useRecentClientsSearch.js +3 -2
- package/package.json +1 -1
|
@@ -126,7 +126,11 @@ export var ContextMentionEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
126
126
|
}
|
|
127
127
|
}));
|
|
128
128
|
setLogicalEmpty(state.text.trim() === '');
|
|
129
|
-
queueMicrotask(
|
|
129
|
+
queueMicrotask(function () {
|
|
130
|
+
// Si el navegador no dispara `input` tras el chip, el flag quedaba en true y el próximo @ del usuario se ignoraba.
|
|
131
|
+
skipNextInput.current = false;
|
|
132
|
+
recomputePlaceholderTruncation();
|
|
133
|
+
});
|
|
130
134
|
}
|
|
131
135
|
};
|
|
132
136
|
}, [focus, clearEditorDom, serialize, syncTriggerAtRunLength, replaceTriggerWithChip, onInput, recomputePlaceholderTruncation]);
|
|
@@ -188,4 +192,4 @@ export var ContextMentionEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
188
192
|
});
|
|
189
193
|
});
|
|
190
194
|
ContextMentionEditor.displayName = 'ContextMentionEditor';
|
|
191
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3J3YXJkUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidXNlTGF5b3V0RWZmZWN0IiwidXNlUmVmIiwidXNlU3RhdGUiLCJUb29sdGlwIiwidXNlQ29udGV4dE1lbnRpb25zIiwiYnVpbGRDaGlwRWxlbWVudCIsIkNvbnRleHRNZW50aW9uQ2hpcEdsb2JhbFN0eWxlcyIsIlNDTUVFZGl0YWJsZSIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsImlzUGxhY2Vob2xkZXJUcnVuY2F0ZWRJbkVkaXRvciIsImVkaXRvciIsInBsYWNlaG9sZGVyIiwidHJpbW1lZCIsInRyaW0iLCJjbGllbnRXaWR0aCIsInN0eWxlcyIsIndpbmRvdyIsImdldENvbXB1dGVkU3R5bGUiLCJjdHgiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJnZXRDb250ZXh0IiwiZm9udCIsImNvbmNhdCIsImZvbnRXZWlnaHQiLCJmb250U2l6ZSIsImZvbnRGYW1pbHkiLCJtZWFzdXJlZCIsIm1lYXN1cmVUZXh0Iiwid2lkdGgiLCJwYWRkaW5nTGVmdCIsInBhcnNlRmxvYXQiLCJwYWRkaW5nUmlnaHQiLCJib3JkZXJMZWZ0IiwiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyUmlnaHQiLCJib3JkZXJSaWdodFdpZHRoIiwiYXZhaWxhYmxlIiwiTWF0aCIsIm1heCIsIkNvbnRleHRNZW50aW9uRWRpdG9yIiwiX3JlZiIsInJlZiIsIl9wbGFjZWhvbGRlciR0cmltMiIsImRpc2FibGVkIiwiY2xhc3NOYW1lIiwib25JbnB1dCIsIm9uS2V5RG93biIsIm9uRm9jdXMiLCJvbkJsdXIiLCJfdXNlQ29udGV4dE1lbnRpb25zIiwiZWRpdG9yUmVmIiwidXBkYXRlVHJpZ2dlciIsInJlcGxhY2VUcmlnZ2VyV2l0aENoaXAiLCJzeW5jVHJpZ2dlckF0UnVuTGVuZ3RoIiwic2VyaWFsaXplIiwiY2xlYXJFZGl0b3JEb20iLCJjbGVhciIsImZvY3VzIiwic2tpcE5leHRJbnB1dCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInBsYWNlaG9sZGVyVHJ1bmNhdGVkIiwic2V0UGxhY2Vob2xkZXJUcnVuY2F0ZWQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvZ2ljYWxFbXB0eSIsInNldExvZ2ljYWxFbXB0eSIsInJlY29tcHV0ZVBsYWNlaG9sZGVyVHJ1bmNhdGlvbiIsIl9wbGFjZWhvbGRlciR0cmltIiwiZWwiLCJjdXJyZW50IiwicGgiLCJpc0VkaXRvckxvZ2ljYWxseUVtcHR5IiwidGV4dCIsInVuZGVmaW5lZCIsInJvIiwiUmVzaXplT2JzZXJ2ZXIiLCJxdWV1ZU1pY3JvdGFzayIsIm9ic2VydmUiLCJkaXNjb25uZWN0IiwiaGFzVmlzdWFsTXVsdGlsaW5lIiwiX2VkaXRvciR0ZXh0Q29udGVudCR0IiwiX2VkaXRvciR0ZXh0Q29udGVudCIsInRleHRDb250ZW50IiwibGluZUhlaWdodCIsImVkaXRvckhlaWdodCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImhlaWdodCIsImlzTXVsdGlsaW5lIiwiZ2V0RWRpdG9yQ2xpZW50UmVjdCIsIl9lZGl0b3JSZWYkY3VycmVudCRnZSIsIl9lZGl0b3JSZWYkY3VycmVudCIsImluc2VydE1lbnRpb24iLCJtZW50aW9uIiwiY2hpcCIsInN0YXRlIiwiX29iamVjdFNwcmVhZCIsInRyaWdnZXIiLCJhY3RpdmUiLCJxdWVyeSIsImF0UnVuTGVuZ3RoIiwiaGFuZGxlSW5wdXQiLCJ0cmlnIiwiaGFuZGxlUGFzdGUiLCJlIiwicHJldmVudERlZmF1bHQiLCJjbGlwYm9hcmREYXRhIiwiZ2V0RGF0YSIsInNlbGVjdGlvbiIsImdldFNlbGVjdGlvbiIsInJhbmdlQ291bnQiLCJkZWxldGVGcm9tRG9jdW1lbnQiLCJnZXRSYW5nZUF0IiwiaW5zZXJ0Tm9kZSIsImNyZWF0ZVRleHROb2RlIiwiY29sbGFwc2VUb0VuZCIsInRyaW1tZWRQbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyVG9vbHRpcFRpdGxlIiwiY2hpbGRyZW4iLCJ0aXRsZSIsInN0eWxlIiwiZGlzcGxheSIsIm1pbldpZHRoIiwiY29udGVudEVkaXRhYmxlIiwiU3RyaW5nIiwic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiwicm9sZSIsIm9uUGFzdGUiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uRWRpdG9yL0NvbnRleHRNZW50aW9uRWRpdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDbGlwYm9hcmRFdmVudCxcbiAgZm9yd2FyZFJlZixcbiAgS2V5Ym9hcmRFdmVudCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyB1c2VDb250ZXh0TWVudGlvbnMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VDb250ZXh0TWVudGlvbnMnXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgYnVpbGRDaGlwRWxlbWVudCB9IGZyb20gJy4uL0NvbnRleHRNZW50aW9uQ2hpcCdcbmltcG9ydCB7IENvbnRleHRNZW50aW9uQ2hpcEdsb2JhbFN0eWxlcyB9IGZyb20gJy4uL0NvbnRleHRNZW50aW9uQ2hpcC9Db250ZXh0TWVudGlvbkNoaXAuc3R5bGVzJ1xuaW1wb3J0IHsgU0NNRUVkaXRhYmxlIH0gZnJvbSAnLi9Db250ZXh0TWVudGlvbkVkaXRvci5zdHlsZXMnXG5cbmNvbnN0IGlzUGxhY2Vob2xkZXJUcnVuY2F0ZWRJbkVkaXRvciA9IChlZGl0b3I6IEhUTUxFbGVtZW50LCBwbGFjZWhvbGRlcjogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHRyaW1tZWQgPSBwbGFjZWhvbGRlci50cmltKClcbiAgaWYgKCF0cmltbWVkKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgY29uc3QgeyBjbGllbnRXaWR0aCB9ID0gZWRpdG9yXG4gIGlmIChjbGllbnRXaWR0aCA8PSA0KSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjb25zdCBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlZGl0b3IpXG4gIGNvbnN0IGN0eCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpLmdldENvbnRleHQoJzJkJylcbiAgaWYgKCFjdHgpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBjdHguZm9udCA9IGAke3N0eWxlcy5mb250V2VpZ2h0fSAke3N0eWxlcy5mb250U2l6ZX0gJHtzdHlsZXMuZm9udEZhbWlseX1gXG4gIGNvbnN0IG1lYXN1cmVkID0gY3R4Lm1lYXN1cmVUZXh0KHRyaW1tZWQpLndpZHRoXG5cbiAgY29uc3QgcGFkZGluZ0xlZnQgPSBwYXJzZUZsb2F0KHN0eWxlcy5wYWRkaW5nTGVmdCkgfHwgMFxuICBjb25zdCBwYWRkaW5nUmlnaHQgPSBwYXJzZUZsb2F0KHN0eWxlcy5wYWRkaW5nUmlnaHQpIHx8IDBcbiAgY29uc3QgYm9yZGVyTGVmdCA9IHBhcnNlRmxvYXQoc3R5bGVzLmJvcmRlckxlZnRXaWR0aCkgfHwgMFxuICBjb25zdCBib3JkZXJSaWdodCA9IHBhcnNlRmxvYXQoc3R5bGVzLmJvcmRlclJpZ2h0V2lkdGgpIHx8IDBcbiAgY29uc3QgYXZhaWxhYmxlID0gTWF0aC5tYXgoMCwgY2xpZW50V2lkdGggLSBwYWRkaW5nTGVmdCAtIHBhZGRpbmdSaWdodCAtIGJvcmRlckxlZnQgLSBib3JkZXJSaWdodClcblxuICByZXR1cm4gbWVhc3VyZWQgPiBhdmFpbGFibGUgKyAxXG59XG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW50aW9uRWRpdG9ySGFuZGxlID0ge1xuICBmb2N1czogKCkgPT4gdm9pZFxuICBjbGVhcjogKCkgPT4gdm9pZFxuICBpbnNlcnRNZW50aW9uOiAobWVudGlvbjogQ29udGV4dE1lbnRpb24pID0+IHZvaWRcbiAgc3luY1RyaWdnZXJBdFJ1bkxlbmd0aDogKGF0UnVuTGVuZ3RoOiBudW1iZXIpID0+IHZvaWRcbiAgc2VyaWFsaXplOiAoKSA9PiB7IHRleHQ6IHN0cmluZzsgbWVudGlvbnM6IENvbnRleHRNZW50aW9uW10gfVxuICBoYXNWaXN1YWxNdWx0aWxpbmU6ICgpID0+IGJvb2xlYW5cbiAgLyoqIFJlY3QgZGVsIMOhcmVhIGVkaXRhYmxlICh2aWV3cG9ydCk7IGxvIHVzYSBlbCBwb3BvdmVyIGRlIEAgcGFyYSBhbGluZWFyIGFuY2hvL29yaWdlbi4gKi9cbiAgZ2V0RWRpdG9yQ2xpZW50UmVjdDogKCkgPT4gRE9NUmVjdCB8IG51bGxcbn1cblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnRpb25FZGl0b3JQcm9wcyA9IHtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBvbklucHV0PzogKHN0YXRlOiB7XG4gICAgdGV4dDogc3RyaW5nXG4gICAgbWVudGlvbnM6IENvbnRleHRNZW50aW9uW11cbiAgICB0cmlnZ2VyOiB7IGFjdGl2ZTogYm9vbGVhbjsgcXVlcnk6IHN0cmluZzsgYXRSdW5MZW5ndGg6IG51bWJlciB9XG4gIH0pID0+IHZvaWRcbiAgb25LZXlEb3duPzogKGU6IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRm9jdXM/OiAoKSA9PiB2b2lkXG4gIG9uQmx1cj86ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uRWRpdG9yID0gZm9yd2FyZFJlZjxDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZSwgQ29udGV4dE1lbnRpb25FZGl0b3JQcm9wcz4oXG4gICh7IHBsYWNlaG9sZGVyLCBkaXNhYmxlZCwgY2xhc3NOYW1lLCBvbklucHV0LCBvbktleURvd24sIG9uRm9jdXMsIG9uQmx1ciB9LCByZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBlZGl0b3JSZWYsXG4gICAgICB1cGRhdGVUcmlnZ2VyLFxuICAgICAgcmVwbGFjZVRyaWdnZXJXaXRoQ2hpcCxcbiAgICAgIHN5bmNUcmlnZ2VyQXRSdW5MZW5ndGgsXG4gICAgICBzZXJpYWxpemUsXG4gICAgICBjbGVhcjogY2xlYXJFZGl0b3JEb20sXG4gICAgICBmb2N1cyxcbiAgICB9ID0gdXNlQ29udGV4dE1lbnRpb25zKClcbiAgICBjb25zdCBza2lwTmV4dElucHV0ID0gdXNlUmVmKGZhbHNlKVxuICAgIGNvbnN0IFtwbGFjZWhvbGRlclRydW5jYXRlZCwgc2V0UGxhY2Vob2xkZXJUcnVuY2F0ZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW2xvZ2ljYWxFbXB0eSwgc2V0TG9naWNhbEVtcHR5XSA9IHVzZVN0YXRlKHRydWUpXG5cbiAgICBjb25zdCByZWNvbXB1dGVQbGFjZWhvbGRlclRydW5jYXRpb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBjb25zdCBlbCA9IGVkaXRvclJlZi5jdXJyZW50XG4gICAgICBjb25zdCBwaCA9IHBsYWNlaG9sZGVyPy50cmltKCkgPz8gJydcbiAgICAgIGNvbnN0IGlzRWRpdG9yTG9naWNhbGx5RW1wdHkgPSBzZXJpYWxpemUoKS50ZXh0LnRyaW0oKSA9PT0gJydcblxuICAgICAgaWYgKCFlbCB8fCAhcGggfHwgIWlzRWRpdG9yTG9naWNhbGx5RW1wdHkpIHtcbiAgICAgICAgc2V0UGxhY2Vob2xkZXJUcnVuY2F0ZWQoZmFsc2UpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBzZXRQbGFjZWhvbGRlclRydW5jYXRlZChpc1BsYWNlaG9sZGVyVHJ1bmNhdGVkSW5FZGl0b3IoZWwsIHBoKSlcbiAgICB9LCBbcGxhY2Vob2xkZXIsIHNlcmlhbGl6ZV0pXG5cbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgcmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uKClcbiAgICAgIGNvbnN0IGVsID0gZWRpdG9yUmVmLmN1cnJlbnRcbiAgICAgIGlmICghZWwpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgfVxuICAgICAgY29uc3Qgcm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBxdWV1ZU1pY3JvdGFzayhyZWNvbXB1dGVQbGFjZWhvbGRlclRydW5jYXRpb24pXG4gICAgICB9KVxuICAgICAgcm8ub2JzZXJ2ZShlbClcbiAgICAgIHJldHVybiAoKSA9PiByby5kaXNjb25uZWN0KClcbiAgICB9LCBbcGxhY2Vob2xkZXIsIGRpc2FibGVkLCByZWNvbXB1dGVQbGFjZWhvbGRlclRydW5jYXRpb25dKVxuXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShcbiAgICAgIHJlZixcbiAgICAgICgpID0+ICh7XG4gICAgICAgIGZvY3VzLFxuICAgICAgICBjbGVhcjogKCkgPT4ge1xuICAgICAgICAgIGNsZWFyRWRpdG9yRG9tKClcbiAgICAgICAgICBzZXRMb2dpY2FsRW1wdHkodHJ1ZSlcbiAgICAgICAgICBxdWV1ZU1pY3JvdGFzayhyZWNvbXB1dGVQbGFjZWhvbGRlclRydW5jYXRpb24pXG4gICAgICAgIH0sXG4gICAgICAgIHNlcmlhbGl6ZSxcbiAgICAgICAgc3luY1RyaWdnZXJBdFJ1bkxlbmd0aCxcbiAgICAgICAgaGFzVmlzdWFsTXVsdGlsaW5lOiAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgZWRpdG9yID0gZWRpdG9yUmVmLmN1cnJlbnRcbiAgICAgICAgICBpZiAoIWVkaXRvcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgdGV4dCA9IGVkaXRvci50ZXh0Q29udGVudD8udHJpbSgpID8/ICcnXG4gICAgICAgICAgaWYgKCF0ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlZGl0b3IpXG4gICAgICAgICAgY29uc3QgbGluZUhlaWdodCA9IHBhcnNlRmxvYXQoc3R5bGVzLmxpbmVIZWlnaHQpIHx8IDIwXG4gICAgICAgICAgY29uc3QgZWRpdG9ySGVpZ2h0ID0gZWRpdG9yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodFxuICAgICAgICAgIGNvbnN0IGlzTXVsdGlsaW5lID0gZWRpdG9ySGVpZ2h0ID4gbGluZUhlaWdodCAqIDEuNVxuXG4gICAgICAgICAgcmV0dXJuIGlzTXVsdGlsaW5lXG4gICAgICAgIH0sXG4gICAgICAgIGdldEVkaXRvckNsaWVudFJlY3Q6ICgpID0+IGVkaXRvclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSA/PyBudWxsLFxuICAgICAgICBpbnNlcnRNZW50aW9uOiAobWVudGlvbjogQ29udGV4dE1lbnRpb24pID0+IHtcbiAgICAgICAgICBjb25zdCBjaGlwID0gYnVpbGRDaGlwRWxlbWVudChtZW50aW9uKVxuICAgICAgICAgIHJlcGxhY2VUcmlnZ2VyV2l0aENoaXAoY2hpcCwgbWVudGlvbilcbiAgICAgICAgICBza2lwTmV4dElucHV0LmN1cnJlbnQgPSB0cnVlXG4gICAgICAgICAgY29uc3Qgc3RhdGUgPSBzZXJpYWxpemUoKVxuICAgICAgICAgIG9uSW5wdXQ/Lih7IC4uLnN0YXRlLCB0cmlnZ2VyOiB7IGFjdGl2ZTogZmFsc2UsIHF1ZXJ5OiAnJywgYXRSdW5MZW5ndGg6IDAgfSB9KVxuICAgICAgICAgIHNldExvZ2ljYWxFbXB0eShzdGF0ZS50ZXh0LnRyaW0oKSA9PT0gJycpXG4gICAgICAgICAgcXVldWVNaWNyb3Rhc2socmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uKVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBbXG4gICAgICAgIGZvY3VzLFxuICAgICAgICBjbGVhckVkaXRvckRvbSxcbiAgICAgICAgc2VyaWFsaXplLFxuICAgICAgICBzeW5jVHJpZ2dlckF0UnVuTGVuZ3RoLFxuICAgICAgICByZXBsYWNlVHJpZ2dlcldpdGhDaGlwLFxuICAgICAgICBvbklucHV0LFxuICAgICAgICByZWNvbXB1dGVQbGFjZWhvbGRlclRydW5jYXRpb24sXG4gICAgICBdXG4gICAgKVxuXG4gICAgY29uc3QgaGFuZGxlSW5wdXQgPSAoKSA9PiB7XG4gICAgICBpZiAoc2tpcE5leHRJbnB1dC5jdXJyZW50KSB7XG4gICAgICAgIHNraXBOZXh0SW5wdXQuY3VycmVudCA9IGZhbHNlXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3QgdHJpZyA9IHVwZGF0ZVRyaWdnZXIoKVxuICAgICAgY29uc3Qgc3RhdGUgPSBzZXJpYWxpemUoKVxuICAgICAgb25JbnB1dD8uKHsgLi4uc3RhdGUsIHRyaWdnZXI6IHsgYWN0aXZlOiB0cmlnLmFjdGl2ZSwgcXVlcnk6IHRyaWcucXVlcnksIGF0UnVuTGVuZ3RoOiB0cmlnLmF0UnVuTGVuZ3RoIH0gfSlcbiAgICAgIHNldExvZ2ljYWxFbXB0eShzdGF0ZS50ZXh0LnRyaW0oKSA9PT0gJycpXG4gICAgICBxdWV1ZU1pY3JvdGFzayhyZWNvbXB1dGVQbGFjZWhvbGRlclRydW5jYXRpb24pXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlUGFzdGUgPSAoZTogQ2xpcGJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIGNvbnN0IHRleHQgPSBlLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dC9wbGFpbicpXG4gICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKClcbiAgICAgIGlmICghc2VsZWN0aW9uIHx8IHNlbGVjdGlvbi5yYW5nZUNvdW50ID09PSAwKSByZXR1cm5cbiAgICAgIHNlbGVjdGlvbi5kZWxldGVGcm9tRG9jdW1lbnQoKVxuICAgICAgc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkuaW5zZXJ0Tm9kZShkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KSlcbiAgICAgIHNlbGVjdGlvbi5jb2xsYXBzZVRvRW5kKClcbiAgICAgIGhhbmRsZUlucHV0KClcbiAgICB9XG5cbiAgICBjb25zdCB0cmltbWVkUGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcj8udHJpbSgpID8/ICcnXG4gICAgY29uc3QgcGxhY2Vob2xkZXJUb29sdGlwVGl0bGUgPSBsb2dpY2FsRW1wdHkgJiYgcGxhY2Vob2xkZXJUcnVuY2F0ZWQgJiYgdHJpbW1lZFBsYWNlaG9sZGVyID8gdHJpbW1lZFBsYWNlaG9sZGVyIDogJydcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8Q29udGV4dE1lbnRpb25DaGlwR2xvYmFsU3R5bGVzIC8+XG4gICAgICAgIDxUb29sdGlwIHRpdGxlPXtwbGFjZWhvbGRlclRvb2x0aXBUaXRsZX0+XG4gICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2Jsb2NrJywgd2lkdGg6ICcxMDAlJywgbWluV2lkdGg6IDAgfX0+XG4gICAgICAgICAgICA8U0NNRUVkaXRhYmxlXG4gICAgICAgICAgICAgIHJlZj17ZWRpdG9yUmVmfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICAgICAgZGF0YS1wbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgIGNvbnRlbnRFZGl0YWJsZT17IWRpc2FibGVkfVxuICAgICAgICAgICAgICBkYXRhLWRpc2FibGVkPXtTdHJpbmcoISFkaXNhYmxlZCl9XG4gICAgICAgICAgICAgIHN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZ1xuICAgICAgICAgICAgICByb2xlPVwidGV4dGJveFwiXG4gICAgICAgICAgICAgIGFyaWEtbXVsdGlsaW5lPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIG9uSW5wdXQ9e2hhbmRsZUlucHV0fVxuICAgICAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICAgICAgb25QYXN0ZT17aGFuZGxlUGFzdGV9XG4gICAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgIDwvPlxuICAgIClcbiAgfVxuKVxuXG5Db250ZXh0TWVudGlvbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdDb250ZXh0TWVudGlvbkVkaXRvcidcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBRUVBLFVBQVUsRUFFVkMsV0FBVyxFQUNYQyxtQkFBbUIsRUFDbkJDLGVBQWUsRUFDZkMsTUFBTSxFQUNOQyxRQUFRLFFBQ0gsT0FBTztBQUNkLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0Msa0JBQWtCLFFBQVEsbUNBQW1DO0FBRXRFLFNBQVNDLGdCQUFnQixRQUFRLHVCQUF1QjtBQUN4RCxTQUFTQyw4QkFBOEIsUUFBUSxpREFBaUQ7QUFDaEcsU0FBU0MsWUFBWSxRQUFRLCtCQUErQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBRTVELElBQU1DLDhCQUE4QixHQUFHLFNBQWpDQSw4QkFBOEJBLENBQUlDLE1BQW1CLEVBQUVDLFdBQW1CLEVBQWM7RUFDNUYsSUFBTUMsT0FBTyxHQUFHRCxXQUFXLENBQUNFLElBQUksQ0FBQyxDQUFDO0VBQ2xDLElBQUksQ0FBQ0QsT0FBTyxFQUFFO0lBQ1osT0FBTyxLQUFLO0VBQ2Q7RUFDQSxJQUFRRSxXQUFXLEdBQUtKLE1BQU0sQ0FBdEJJLFdBQVc7RUFDbkIsSUFBSUEsV0FBVyxJQUFJLENB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
|
|
195
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3J3YXJkUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidXNlTGF5b3V0RWZmZWN0IiwidXNlUmVmIiwidXNlU3RhdGUiLCJUb29sdGlwIiwidXNlQ29udGV4dE1lbnRpb25zIiwiYnVpbGRDaGlwRWxlbWVudCIsIkNvbnRleHRNZW50aW9uQ2hpcEdsb2JhbFN0eWxlcyIsIlNDTUVFZGl0YWJsZSIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsImlzUGxhY2Vob2xkZXJUcnVuY2F0ZWRJbkVkaXRvciIsImVkaXRvciIsInBsYWNlaG9sZGVyIiwidHJpbW1lZCIsInRyaW0iLCJjbGllbnRXaWR0aCIsInN0eWxlcyIsIndpbmRvdyIsImdldENvbXB1dGVkU3R5bGUiLCJjdHgiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJnZXRDb250ZXh0IiwiZm9udCIsImNvbmNhdCIsImZvbnRXZWlnaHQiLCJmb250U2l6ZSIsImZvbnRGYW1pbHkiLCJtZWFzdXJlZCIsIm1lYXN1cmVUZXh0Iiwid2lkdGgiLCJwYWRkaW5nTGVmdCIsInBhcnNlRmxvYXQiLCJwYWRkaW5nUmlnaHQiLCJib3JkZXJMZWZ0IiwiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyUmlnaHQiLCJib3JkZXJSaWdodFdpZHRoIiwiYXZhaWxhYmxlIiwiTWF0aCIsIm1heCIsIkNvbnRleHRNZW50aW9uRWRpdG9yIiwiX3JlZiIsInJlZiIsIl9wbGFjZWhvbGRlciR0cmltMiIsImRpc2FibGVkIiwiY2xhc3NOYW1lIiwib25JbnB1dCIsIm9uS2V5RG93biIsIm9uRm9jdXMiLCJvbkJsdXIiLCJfdXNlQ29udGV4dE1lbnRpb25zIiwiZWRpdG9yUmVmIiwidXBkYXRlVHJpZ2dlciIsInJlcGxhY2VUcmlnZ2VyV2l0aENoaXAiLCJzeW5jVHJpZ2dlckF0UnVuTGVuZ3RoIiwic2VyaWFsaXplIiwiY2xlYXJFZGl0b3JEb20iLCJjbGVhciIsImZvY3VzIiwic2tpcE5leHRJbnB1dCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInBsYWNlaG9sZGVyVHJ1bmNhdGVkIiwic2V0UGxhY2Vob2xkZXJUcnVuY2F0ZWQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvZ2ljYWxFbXB0eSIsInNldExvZ2ljYWxFbXB0eSIsInJlY29tcHV0ZVBsYWNlaG9sZGVyVHJ1bmNhdGlvbiIsIl9wbGFjZWhvbGRlciR0cmltIiwiZWwiLCJjdXJyZW50IiwicGgiLCJpc0VkaXRvckxvZ2ljYWxseUVtcHR5IiwidGV4dCIsInVuZGVmaW5lZCIsInJvIiwiUmVzaXplT2JzZXJ2ZXIiLCJxdWV1ZU1pY3JvdGFzayIsIm9ic2VydmUiLCJkaXNjb25uZWN0IiwiaGFzVmlzdWFsTXVsdGlsaW5lIiwiX2VkaXRvciR0ZXh0Q29udGVudCR0IiwiX2VkaXRvciR0ZXh0Q29udGVudCIsInRleHRDb250ZW50IiwibGluZUhlaWdodCIsImVkaXRvckhlaWdodCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImhlaWdodCIsImlzTXVsdGlsaW5lIiwiZ2V0RWRpdG9yQ2xpZW50UmVjdCIsIl9lZGl0b3JSZWYkY3VycmVudCRnZSIsIl9lZGl0b3JSZWYkY3VycmVudCIsImluc2VydE1lbnRpb24iLCJtZW50aW9uIiwiY2hpcCIsInN0YXRlIiwiX29iamVjdFNwcmVhZCIsInRyaWdnZXIiLCJhY3RpdmUiLCJxdWVyeSIsImF0UnVuTGVuZ3RoIiwiaGFuZGxlSW5wdXQiLCJ0cmlnIiwiaGFuZGxlUGFzdGUiLCJlIiwicHJldmVudERlZmF1bHQiLCJjbGlwYm9hcmREYXRhIiwiZ2V0RGF0YSIsInNlbGVjdGlvbiIsImdldFNlbGVjdGlvbiIsInJhbmdlQ291bnQiLCJkZWxldGVGcm9tRG9jdW1lbnQiLCJnZXRSYW5nZUF0IiwiaW5zZXJ0Tm9kZSIsImNyZWF0ZVRleHROb2RlIiwiY29sbGFwc2VUb0VuZCIsInRyaW1tZWRQbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyVG9vbHRpcFRpdGxlIiwiY2hpbGRyZW4iLCJ0aXRsZSIsInN0eWxlIiwiZGlzcGxheSIsIm1pbldpZHRoIiwiY29udGVudEVkaXRhYmxlIiwiU3RyaW5nIiwic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiwicm9sZSIsIm9uUGFzdGUiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uRWRpdG9yL0NvbnRleHRNZW50aW9uRWRpdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDbGlwYm9hcmRFdmVudCxcbiAgZm9yd2FyZFJlZixcbiAgS2V5Ym9hcmRFdmVudCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyB1c2VDb250ZXh0TWVudGlvbnMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VDb250ZXh0TWVudGlvbnMnXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgYnVpbGRDaGlwRWxlbWVudCB9IGZyb20gJy4uL0NvbnRleHRNZW50aW9uQ2hpcCdcbmltcG9ydCB7IENvbnRleHRNZW50aW9uQ2hpcEdsb2JhbFN0eWxlcyB9IGZyb20gJy4uL0NvbnRleHRNZW50aW9uQ2hpcC9Db250ZXh0TWVudGlvbkNoaXAuc3R5bGVzJ1xuaW1wb3J0IHsgU0NNRUVkaXRhYmxlIH0gZnJvbSAnLi9Db250ZXh0TWVudGlvbkVkaXRvci5zdHlsZXMnXG5cbmNvbnN0IGlzUGxhY2Vob2xkZXJUcnVuY2F0ZWRJbkVkaXRvciA9IChlZGl0b3I6IEhUTUxFbGVtZW50LCBwbGFjZWhvbGRlcjogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHRyaW1tZWQgPSBwbGFjZWhvbGRlci50cmltKClcbiAgaWYgKCF0cmltbWVkKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgY29uc3QgeyBjbGllbnRXaWR0aCB9ID0gZWRpdG9yXG4gIGlmIChjbGllbnRXaWR0aCA8PSA0KSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjb25zdCBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlZGl0b3IpXG4gIGNvbnN0IGN0eCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpLmdldENvbnRleHQoJzJkJylcbiAgaWYgKCFjdHgpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBjdHguZm9udCA9IGAke3N0eWxlcy5mb250V2VpZ2h0fSAke3N0eWxlcy5mb250U2l6ZX0gJHtzdHlsZXMuZm9udEZhbWlseX1gXG4gIGNvbnN0IG1lYXN1cmVkID0gY3R4Lm1lYXN1cmVUZXh0KHRyaW1tZWQpLndpZHRoXG5cbiAgY29uc3QgcGFkZGluZ0xlZnQgPSBwYXJzZUZsb2F0KHN0eWxlcy5wYWRkaW5nTGVmdCkgfHwgMFxuICBjb25zdCBwYWRkaW5nUmlnaHQgPSBwYXJzZUZsb2F0KHN0eWxlcy5wYWRkaW5nUmlnaHQpIHx8IDBcbiAgY29uc3QgYm9yZGVyTGVmdCA9IHBhcnNlRmxvYXQoc3R5bGVzLmJvcmRlckxlZnRXaWR0aCkgfHwgMFxuICBjb25zdCBib3JkZXJSaWdodCA9IHBhcnNlRmxvYXQoc3R5bGVzLmJvcmRlclJpZ2h0V2lkdGgpIHx8IDBcbiAgY29uc3QgYXZhaWxhYmxlID0gTWF0aC5tYXgoMCwgY2xpZW50V2lkdGggLSBwYWRkaW5nTGVmdCAtIHBhZGRpbmdSaWdodCAtIGJvcmRlckxlZnQgLSBib3JkZXJSaWdodClcblxuICByZXR1cm4gbWVhc3VyZWQgPiBhdmFpbGFibGUgKyAxXG59XG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW50aW9uRWRpdG9ySGFuZGxlID0ge1xuICBmb2N1czogKCkgPT4gdm9pZFxuICBjbGVhcjogKCkgPT4gdm9pZFxuICBpbnNlcnRNZW50aW9uOiAobWVudGlvbjogQ29udGV4dE1lbnRpb24pID0+IHZvaWRcbiAgc3luY1RyaWdnZXJBdFJ1bkxlbmd0aDogKGF0UnVuTGVuZ3RoOiBudW1iZXIpID0+IHZvaWRcbiAgc2VyaWFsaXplOiAoKSA9PiB7IHRleHQ6IHN0cmluZzsgbWVudGlvbnM6IENvbnRleHRNZW50aW9uW10gfVxuICBoYXNWaXN1YWxNdWx0aWxpbmU6ICgpID0+IGJvb2xlYW5cbiAgLyoqIFJlY3QgZGVsIMOhcmVhIGVkaXRhYmxlICh2aWV3cG9ydCk7IGxvIHVzYSBlbCBwb3BvdmVyIGRlIEAgcGFyYSBhbGluZWFyIGFuY2hvL29yaWdlbi4gKi9cbiAgZ2V0RWRpdG9yQ2xpZW50UmVjdDogKCkgPT4gRE9NUmVjdCB8IG51bGxcbn1cblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnRpb25FZGl0b3JQcm9wcyA9IHtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBvbklucHV0PzogKHN0YXRlOiB7XG4gICAgdGV4dDogc3RyaW5nXG4gICAgbWVudGlvbnM6IENvbnRleHRNZW50aW9uW11cbiAgICB0cmlnZ2VyOiB7IGFjdGl2ZTogYm9vbGVhbjsgcXVlcnk6IHN0cmluZzsgYXRSdW5MZW5ndGg6IG51bWJlciB9XG4gIH0pID0+IHZvaWRcbiAgb25LZXlEb3duPzogKGU6IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRm9jdXM/OiAoKSA9PiB2b2lkXG4gIG9uQmx1cj86ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uRWRpdG9yID0gZm9yd2FyZFJlZjxDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZSwgQ29udGV4dE1lbnRpb25FZGl0b3JQcm9wcz4oXG4gICh7IHBsYWNlaG9sZGVyLCBkaXNhYmxlZCwgY2xhc3NOYW1lLCBvbklucHV0LCBvbktleURvd24sIG9uRm9jdXMsIG9uQmx1ciB9LCByZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBlZGl0b3JSZWYsXG4gICAgICB1cGRhdGVUcmlnZ2VyLFxuICAgICAgcmVwbGFjZVRyaWdnZXJXaXRoQ2hpcCxcbiAgICAgIHN5bmNUcmlnZ2VyQXRSdW5MZW5ndGgsXG4gICAgICBzZXJpYWxpemUsXG4gICAgICBjbGVhcjogY2xlYXJFZGl0b3JEb20sXG4gICAgICBmb2N1cyxcbiAgICB9ID0gdXNlQ29udGV4dE1lbnRpb25zKClcbiAgICBjb25zdCBza2lwTmV4dElucHV0ID0gdXNlUmVmKGZhbHNlKVxuICAgIGNvbnN0IFtwbGFjZWhvbGRlclRydW5jYXRlZCwgc2V0UGxhY2Vob2xkZXJUcnVuY2F0ZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW2xvZ2ljYWxFbXB0eSwgc2V0TG9naWNhbEVtcHR5XSA9IHVzZVN0YXRlKHRydWUpXG5cbiAgICBjb25zdCByZWNvbXB1dGVQbGFjZWhvbGRlclRydW5jYXRpb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBjb25zdCBlbCA9IGVkaXRvclJlZi5jdXJyZW50XG4gICAgICBjb25zdCBwaCA9IHBsYWNlaG9sZGVyPy50cmltKCkgPz8gJydcbiAgICAgIGNvbnN0IGlzRWRpdG9yTG9naWNhbGx5RW1wdHkgPSBzZXJpYWxpemUoKS50ZXh0LnRyaW0oKSA9PT0gJydcblxuICAgICAgaWYgKCFlbCB8fCAhcGggfHwgIWlzRWRpdG9yTG9naWNhbGx5RW1wdHkpIHtcbiAgICAgICAgc2V0UGxhY2Vob2xkZXJUcnVuY2F0ZWQoZmFsc2UpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBzZXRQbGFjZWhvbGRlclRydW5jYXRlZChpc1BsYWNlaG9sZGVyVHJ1bmNhdGVkSW5FZGl0b3IoZWwsIHBoKSlcbiAgICB9LCBbcGxhY2Vob2xkZXIsIHNlcmlhbGl6ZV0pXG5cbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgcmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uKClcbiAgICAgIGNvbnN0IGVsID0gZWRpdG9yUmVmLmN1cnJlbnRcbiAgICAgIGlmICghZWwpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgfVxuICAgICAgY29uc3Qgcm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBxdWV1ZU1pY3JvdGFzayhyZWNvbXB1dGVQbGFjZWhvbGRlclRydW5jYXRpb24pXG4gICAgICB9KVxuICAgICAgcm8ub2JzZXJ2ZShlbClcbiAgICAgIHJldHVybiAoKSA9PiByby5kaXNjb25uZWN0KClcbiAgICB9LCBbcGxhY2Vob2xkZXIsIGRpc2FibGVkLCByZWNvbXB1dGVQbGFjZWhvbGRlclRydW5jYXRpb25dKVxuXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShcbiAgICAgIHJlZixcbiAgICAgICgpID0+ICh7XG4gICAgICAgIGZvY3VzLFxuICAgICAgICBjbGVhcjogKCkgPT4ge1xuICAgICAgICAgIGNsZWFyRWRpdG9yRG9tKClcbiAgICAgICAgICBzZXRMb2dpY2FsRW1wdHkodHJ1ZSlcbiAgICAgICAgICBxdWV1ZU1pY3JvdGFzayhyZWNvbXB1dGVQbGFjZWhvbGRlclRydW5jYXRpb24pXG4gICAgICAgIH0sXG4gICAgICAgIHNlcmlhbGl6ZSxcbiAgICAgICAgc3luY1RyaWdnZXJBdFJ1bkxlbmd0aCxcbiAgICAgICAgaGFzVmlzdWFsTXVsdGlsaW5lOiAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgZWRpdG9yID0gZWRpdG9yUmVmLmN1cnJlbnRcbiAgICAgICAgICBpZiAoIWVkaXRvcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgdGV4dCA9IGVkaXRvci50ZXh0Q29udGVudD8udHJpbSgpID8/ICcnXG4gICAgICAgICAgaWYgKCF0ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlZGl0b3IpXG4gICAgICAgICAgY29uc3QgbGluZUhlaWdodCA9IHBhcnNlRmxvYXQoc3R5bGVzLmxpbmVIZWlnaHQpIHx8IDIwXG4gICAgICAgICAgY29uc3QgZWRpdG9ySGVpZ2h0ID0gZWRpdG9yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodFxuICAgICAgICAgIGNvbnN0IGlzTXVsdGlsaW5lID0gZWRpdG9ySGVpZ2h0ID4gbGluZUhlaWdodCAqIDEuNVxuXG4gICAgICAgICAgcmV0dXJuIGlzTXVsdGlsaW5lXG4gICAgICAgIH0sXG4gICAgICAgIGdldEVkaXRvckNsaWVudFJlY3Q6ICgpID0+IGVkaXRvclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSA/PyBudWxsLFxuICAgICAgICBpbnNlcnRNZW50aW9uOiAobWVudGlvbjogQ29udGV4dE1lbnRpb24pID0+IHtcbiAgICAgICAgICBjb25zdCBjaGlwID0gYnVpbGRDaGlwRWxlbWVudChtZW50aW9uKVxuICAgICAgICAgIHJlcGxhY2VUcmlnZ2VyV2l0aENoaXAoY2hpcCwgbWVudGlvbilcbiAgICAgICAgICBza2lwTmV4dElucHV0LmN1cnJlbnQgPSB0cnVlXG4gICAgICAgICAgY29uc3Qgc3RhdGUgPSBzZXJpYWxpemUoKVxuICAgICAgICAgIG9uSW5wdXQ/Lih7IC4uLnN0YXRlLCB0cmlnZ2VyOiB7IGFjdGl2ZTogZmFsc2UsIHF1ZXJ5OiAnJywgYXRSdW5MZW5ndGg6IDAgfSB9KVxuICAgICAgICAgIHNldExvZ2ljYWxFbXB0eShzdGF0ZS50ZXh0LnRyaW0oKSA9PT0gJycpXG4gICAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICAgICAgLy8gU2kgZWwgbmF2ZWdhZG9yIG5vIGRpc3BhcmEgYGlucHV0YCB0cmFzIGVsIGNoaXAsIGVsIGZsYWcgcXVlZGFiYSBlbiB0cnVlIHkgZWwgcHLDs3hpbW8gQCBkZWwgdXN1YXJpbyBzZSBpZ25vcmFiYS5cbiAgICAgICAgICAgIHNraXBOZXh0SW5wdXQuY3VycmVudCA9IGZhbHNlXG4gICAgICAgICAgICByZWNvbXB1dGVQbGFjZWhvbGRlclRydW5jYXRpb24oKVxuICAgICAgICAgIH0pXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIFtcbiAgICAgICAgZm9jdXMsXG4gICAgICAgIGNsZWFyRWRpdG9yRG9tLFxuICAgICAgICBzZXJpYWxpemUsXG4gICAgICAgIHN5bmNUcmlnZ2VyQXRSdW5MZW5ndGgsXG4gICAgICAgIHJlcGxhY2VUcmlnZ2VyV2l0aENoaXAsXG4gICAgICAgIG9uSW5wdXQsXG4gICAgICAgIHJlY29tcHV0ZVBsYWNlaG9sZGVyVHJ1bmNhdGlvbixcbiAgICAgIF1cbiAgICApXG5cbiAgICBjb25zdCBoYW5kbGVJbnB1dCA9ICgpID0+IHtcbiAgICAgIGlmIChza2lwTmV4dElucHV0LmN1cnJlbnQpIHtcbiAgICAgICAgc2tpcE5leHRJbnB1dC5jdXJyZW50ID0gZmFsc2VcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBjb25zdCB0cmlnID0gdXBkYXRlVHJpZ2dlcigpXG4gICAgICBjb25zdCBzdGF0ZSA9IHNlcmlhbGl6ZSgpXG4gICAgICBvbklucHV0Py4oeyAuLi5zdGF0ZSwgdHJpZ2dlcjogeyBhY3RpdmU6IHRyaWcuYWN0aXZlLCBxdWVyeTogdHJpZy5xdWVyeSwgYXRSdW5MZW5ndGg6IHRyaWcuYXRSdW5MZW5ndGggfSB9KVxuICAgICAgc2V0TG9naWNhbEVtcHR5KHN0YXRlLnRleHQudHJpbSgpID09PSAnJylcbiAgICAgIHF1ZXVlTWljcm90YXNrKHJlY29tcHV0ZVBsYWNlaG9sZGVyVHJ1bmNhdGlvbilcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVQYXN0ZSA9IChlOiBDbGlwYm9hcmRFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgY29uc3QgdGV4dCA9IGUuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0L3BsYWluJylcbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKVxuICAgICAgaWYgKCFzZWxlY3Rpb24gfHwgc2VsZWN0aW9uLnJhbmdlQ291bnQgPT09IDApIHJldHVyblxuICAgICAgc2VsZWN0aW9uLmRlbGV0ZUZyb21Eb2N1bWVudCgpXG4gICAgICBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKS5pbnNlcnROb2RlKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRleHQpKVxuICAgICAgc2VsZWN0aW9uLmNvbGxhcHNlVG9FbmQoKVxuICAgICAgaGFuZGxlSW5wdXQoKVxuICAgIH1cblxuICAgIGNvbnN0IHRyaW1tZWRQbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyPy50cmltKCkgPz8gJydcbiAgICBjb25zdCBwbGFjZWhvbGRlclRvb2x0aXBUaXRsZSA9IGxvZ2ljYWxFbXB0eSAmJiBwbGFjZWhvbGRlclRydW5jYXRlZCAmJiB0cmltbWVkUGxhY2Vob2xkZXIgPyB0cmltbWVkUGxhY2Vob2xkZXIgOiAnJ1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxDb250ZXh0TWVudGlvbkNoaXBHbG9iYWxTdHlsZXMgLz5cbiAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3BsYWNlaG9sZGVyVG9vbHRpcFRpdGxlfT5cbiAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnYmxvY2snLCB3aWR0aDogJzEwMCUnLCBtaW5XaWR0aDogMCB9fT5cbiAgICAgICAgICAgIDxTQ01FRWRpdGFibGVcbiAgICAgICAgICAgICAgcmVmPXtlZGl0b3JSZWZ9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgICBkYXRhLXBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXshZGlzYWJsZWR9XG4gICAgICAgICAgICAgIGRhdGEtZGlzYWJsZWQ9e1N0cmluZyghIWRpc2FibGVkKX1cbiAgICAgICAgICAgICAgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nXG4gICAgICAgICAgICAgIHJvbGU9XCJ0ZXh0Ym94XCJcbiAgICAgICAgICAgICAgYXJpYS1tdWx0aWxpbmU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgb25JbnB1dD17aGFuZGxlSW5wdXR9XG4gICAgICAgICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICAgICAgICBvblBhc3RlPXtoYW5kbGVQYXN0ZX1cbiAgICAgICAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgPC8+XG4gICAgKVxuICB9XG4pXG5cbkNvbnRleHRNZW50aW9uRWRpdG9yLmRpc3BsYXlOYW1lID0gJ0NvbnRleHRNZW50aW9uRWRpdG9yJ1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsU0FFRUEsVUFBVSxFQUVWQyxXQUFXLEVBQ1hDLG1CQUFtQixFQUNuQkMsZUFBZSxFQUNmQyxNQUFNLEVBQ05DLFFBQVEsUUFDSCxPQUFPO0FBQ2QsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxrQkFBa0IsUUFBUSxtQ0FBbUM7QUFFdEUsU0FBU0MsZ0JBQWdCLFFBQVEsdUJBQXVCO0FBQ3hELFNBQVNDLDhCQUE4QixRQUFRLGlEQUFpRDtBQUNoRyxTQUFTQyxZQUFZLFFBQVEsK0JBQStCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFFNUQsSUFBTUMsOEJBQThC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U0FBUyxDQUFDRyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzlCSCxTQUFTLENBQUNJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsVUFBVSxDQUFDaEcsUUFBUSxDQUFDaUcsY0FBYyxDQUFDekMsSUFBSSxDQUFDLENBQUM7SUFDakVtQyxTQUFTLENBQUNPLGFBQWEsQ0FBQyxDQUFDO0lBQ3pCZCxXQUFXLENBQUMsQ0FBQztFQUNmLENBQUM7RUFFRCxJQUFNZSxrQkFBa0IsSUFBQTNFLGtCQUFBLEdBQUdoQyxXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRUUsSUFBSSxDQUFDLENBQUMsY0FBQThCLGtCQUFBLGNBQUFBLGtCQUFBLEdBQUksRUFBRTtFQUNwRCxJQUFNNEUsdUJBQXVCLEdBQUdwRCxZQUFZLElBQUlKLG9CQUFvQixJQUFJdUQsa0JBQWtCLEdBQUdBLGtCQUFrQixHQUFHLEVBQUU7RUFFcEgsb0JBQ0U5RyxLQUFBLENBQUFGLFNBQUE7SUFBQWtILFFBQUEsZ0JBQ0VwSCxJQUFBLENBQUNILDhCQUE4QixJQUFFLENBQUMsZUFDbENHLElBQUEsQ0FBQ04sT0FBTztNQUFDMkgsS0FBSyxFQUFFRix1QkFBd0I7TUFBQUMsUUFBQSxlQUN0Q3BILElBQUE7UUFBTXNILEtBQUssRUFBRTtVQUFFQyxPQUFPLEVBQUUsT0FBTztVQUFFOUYsS0FBSyxFQUFFLE1BQU07VUFBRStGLFFBQVEsRUFBRTtRQUFFLENBQUU7UUFBQUosUUFBQSxlQUM1RHBILElBQUEsQ0FBQ0YsWUFBWTtVQUNYd0MsR0FBRyxFQUFFUyxTQUFVO1VBQ2ZOLFNBQVMsRUFBRUEsU0FBVTtVQUNyQixvQkFBa0JsQyxXQUFZO1VBQzlCa0gsZUFBZSxFQUFFLENBQUNqRixRQUFTO1VBQzNCLGlCQUFla0YsTUFBTSxDQUFDLENBQUMsQ0FBQ2xGLFFBQVEsQ0FBRTtVQUNsQ21GLDhCQUE4QjtVQUM5QkMsSUFBSSxFQUFDLFNBQVM7VUFDZCxrQkFBZSxNQUFNO1VBQ3JCbEYsT0FBTyxFQUFFeUQsV0FBWTtVQUNyQnhELFNBQVMsRUFBRUEsU0FBVTtVQUNyQmtGLE9BQU8sRUFBRXhCLFdBQVk7VUFDckJ6RCxPQUFPLEVBQUVBLE9BQVE7VUFDakJDLE1BQU0sRUFBRUE7UUFBTyxDQUNoQjtNQUFDLENBQ0U7SUFBQyxDQUNBLENBQUM7RUFBQSxDQUNWLENBQUM7QUFFUCxDQUNGLENBQUM7QUFFRFQsb0JBQW9CLENBQUMwRixXQUFXLEdBQUcsc0JBQXNCIiwiaWdub3JlTGlzdCI6W119
|
package/lib/constants/config.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
/** Delay unificado al escribir antes de disparar búsquedas (GraphQL / API): selectores, @ contexto, etc. */
|
|
3
|
+
export var SEARCH_QUERY_DEBOUNCE_MS = 500;
|
|
2
4
|
export var SECTIONS = {
|
|
3
5
|
projectSummary: 'project_summary_section',
|
|
4
6
|
chatAI: 'chat_ai_section',
|
|
@@ -7,4 +9,4 @@ export var SECTIONS = {
|
|
|
7
9
|
clientSelector: 'client_selector_section'
|
|
8
10
|
};
|
|
9
11
|
export var APPCUES_IDS = _defineProperty({}, SECTIONS.projectSummary, 'project-summary-section');
|
|
10
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRUFSQ0hfUVVFUllfREVCT1VOQ0VfTVMiLCJTRUNUSU9OUyIsInByb2plY3RTdW1tYXJ5IiwiY2hhdEFJIiwiYWJtQWdlbnQiLCJwcm9qZWN0U2VsZWN0b3IiLCJjbGllbnRTZWxlY3RvciIsIkFQUENVRVNfSURTIiwiX2RlZmluZVByb3BlcnR5Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy9jb25maWcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIERlbGF5IHVuaWZpY2FkbyBhbCBlc2NyaWJpciBhbnRlcyBkZSBkaXNwYXJhciBiw7pzcXVlZGFzIChHcmFwaFFMIC8gQVBJKTogc2VsZWN0b3JlcywgQCBjb250ZXh0bywgZXRjLiAqL1xuZXhwb3J0IGNvbnN0IFNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUyA9IDUwMFxuXG5leHBvcnQgY29uc3QgU0VDVElPTlMgPSB7XG4gIHByb2plY3RTdW1tYXJ5OiAncHJvamVjdF9zdW1tYXJ5X3NlY3Rpb24nLFxuICBjaGF0QUk6ICdjaGF0X2FpX3NlY3Rpb24nLFxuICBhYm1BZ2VudDogJ2FibV9hZ2VudF9zZWN0aW9uJyxcbiAgcHJvamVjdFNlbGVjdG9yOiAncHJvamVjdF9zZWxlY3Rvcl9zZWN0aW9uJyxcbiAgY2xpZW50U2VsZWN0b3I6ICdjbGllbnRfc2VsZWN0b3Jfc2VjdGlvbicsXG59XG5cbmV4cG9ydCBjb25zdCBBUFBDVUVTX0lEUyA9IHtcbiAgW1NFQ1RJT05TLnByb2plY3RTdW1tYXJ5XTogJ3Byb2plY3Qtc3VtbWFyeS1zZWN0aW9uJyxcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0EsT0FBTyxJQUFNQSx3QkFBd0IsR0FBRyxHQUFHO0FBRTNDLE9BQU8sSUFBTUMsUUFBUSxHQUFHO0VBQ3RCQyxjQUFjLEVBQUUseUJBQXlCO0VBQ3pDQyxNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCQyxRQUFRLEVBQUUsbUJBQW1CO0VBQzdCQyxlQUFlLEVBQUUsMEJBQTBCO0VBQzNDQyxjQUFjLEVBQUU7QUFDbEIsQ0FBQztBQUVELE9BQU8sSUFBTUMsV0FBVyxHQUFBQyxlQUFBLEtBQ3JCUCxRQUFRLENBQUNDLGNBQWMsRUFBRyx5QkFBeUIsQ0FDckQiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -2,6 +2,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
2
2
|
import { useLazyQuery } from '@apollo/client';
|
|
3
3
|
import { useEffect, useState } from 'react';
|
|
4
4
|
import { SEARCH_CLIENTS } from '../services/query';
|
|
5
|
+
import { SEARCH_QUERY_DEBOUNCE_MS } from '../constants/config';
|
|
5
6
|
import { useDebounce } from './useDebounce';
|
|
6
7
|
var mapperClientsSearch = function mapperClientsSearch(values) {
|
|
7
8
|
return values === null || values === void 0 ? void 0 : values.map(function (value) {
|
|
@@ -67,7 +68,7 @@ export var useClientSearch = function useClientSearch() {
|
|
|
67
68
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
68
69
|
pagination = _useState0[0],
|
|
69
70
|
setPagination = _useState0[1];
|
|
70
|
-
var debouncedSearchValue = useDebounce(searchValue,
|
|
71
|
+
var debouncedSearchValue = useDebounce(searchValue, SEARCH_QUERY_DEBOUNCE_MS);
|
|
71
72
|
var _useLazyQuery = useLazyQuery(SEARCH_CLIENTS, {
|
|
72
73
|
variables: {
|
|
73
74
|
page: 1,
|
|
@@ -159,4 +160,4 @@ export var useClientSearch = function useClientSearch() {
|
|
|
159
160
|
loadPage: loadPage
|
|
160
161
|
};
|
|
161
162
|
};
|
|
162
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXp5UXVlcnkiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlNFQVJDSF9DTElFTlRTIiwidXNlRGVib3VuY2UiLCJtYXBwZXJDbGllbnRzU2VhcmNoIiwidmFsdWVzIiwibWFwIiwidmFsdWUiLCJpZCIsIm5hbWUiLCJEYXRhUGFyc2VkVG9DbGllbnRzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiY2xpZW50cyIsInNldENsaWVudHMiLCJzZXR0ZXJEYXRhIiwiYXJncyIsInNlYXJjaFZhbHVlIiwibGVuZ3RoIiwiYXJnIiwiY2xpZW50TmFtZSIsImhpZ2hsaWdodGVkVmFsdWUiLCJ0b0xvY2FsZUxvd2VyQ2FzZSIsImluY2x1ZGVzIiwidGV4dEluZGV4IiwidG9Mb3dlckNhc2UiLCJpbmRleE9mIiwidmFsdWVUb0NoYW5nZSIsInNsaWNlIiwiZXNjYXBlZFNlYXJjaFZhbHVlIiwicmVwbGFjZSIsIlJlZ0V4cCIsImNvbmNhdCIsInRpdGxlIiwidXNlQ2xpZW50U2VhcmNoIiwiX0RhdGFQYXJzZWRUb0NsaWVudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZXRTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZTkiLCJwYWdlIiwicGVyUGFnZSIsInRvdGFsIiwibGFzdFBhZ2UiLCJfdXNlU3RhdGUwIiwicGFnaW5hdGlvbiIsInNldFBhZ2luYXRpb24iLCJkZWJvdW5jZWRTZWFyY2hWYWx1ZSIsIl91c2VMYXp5UXVlcnkiLCJ2YXJpYWJsZXMiLCJmaWx0ZXIiLCJfdXNlTGF6eVF1ZXJ5MiIsImZldGNoQ2xpZW50cyIsIl91c2VMYXp5UXVlcnkyJCIsImNsaWVudERhdGEiLCJkYXRhIiwibG9hZGluZ0NsaWVudHMiLCJjbGllbnRFcnJvciIsImhhbmRsZUZldGNoQ2xpZW50cyIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsImNsaWVudFN0YXR1c0lkIiwiX2NsaWVudERhdGEkY2xpZW50cyIsIm1hcHBlZENsaWVudHMiLCJ0cmltIiwidXBkYXRlU2VhcmNoVmFsdWUiLCJuZXdTZWFyY2hWYWx1ZSIsImNsZWFyQ2xpZW50cyIsImxvYWRQYWdlIiwiY2xpZW50c0xvYWRpbmciLCJjbGllbnRzRXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQ2xpZW50U2VhcmNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUxhenlRdWVyeSB9IGZyb20gJ0BhcG9sbG8vY2xpZW50J1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgU0VBUkNIX0NMSUVOVFMgfSBmcm9tICcuLi9zZXJ2aWNlcy9xdWVyeSdcbmltcG9ydCB7IHVzZURlYm91bmNlIH0gZnJvbSAnLi91c2VEZWJvdW5jZSdcblxuZXhwb3J0IHR5cGUgQ2xpZW50R3JhcGhRTCA9IHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgY2xpZW50U3RhdHVzSWQ/OiBudW1iZXJbXVxufVxuXG5leHBvcnQgdHlwZSBDbGllbnRTZXR0ZXIgPSB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgY2xpZW50U3RhdHVzSWQ/OiBudW1iZXJbXVxufVxuXG50eXBlIFF1ZXJ5Q2xpZW50RGF0YSA9IHtcbiAgY2xpZW50czoge1xuICAgIHRvdGFsOiBudW1iZXJcbiAgICBwZXJQYWdlOiBudW1iZXJcbiAgICBwYWdlOiBudW1iZXIgfCBudWxsXG4gICAgbGFzdFBhZ2U6IG51bWJlclxuICAgIGRhdGE6IENsaWVudEdyYXBoUUxbXVxuICB9XG59XG5cbmNvbnN0IG1hcHBlckNsaWVudHNTZWFyY2ggPSAodmFsdWVzOiBDbGllbnRHcmFwaFFMW10pOiBDbGllbnRHcmFwaFFMW10gPT4ge1xuICByZXR1cm4gdmFsdWVzPy5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdmFsdWUuaWQsXG4gICAgbmFtZTogdmFsdWUubmFtZSxcbiAgfSkpXG59XG5cbmV4cG9ydCBjb25zdCBEYXRhUGFyc2VkVG9DbGllbnRzID0gKCkgPT4ge1xuICBjb25zdCBbY2xpZW50cywgc2V0Q2xpZW50c10gPSB1c2VTdGF0ZTxDbGllbnRTZXR0ZXJbXT4oW10pXG5cbiAgY29uc3Qgc2V0dGVyRGF0YSA9IChhcmdzOiBDbGllbnRHcmFwaFFMW10sIHNlYXJjaFZhbHVlPzogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCFhcmdzLmxlbmd0aCkge1xuICAgICAgc2V0Q2xpZW50cyhbXSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0Q2xpZW50cyhcbiAgICAgICAgYXJncy5tYXAoYXJnID0+IHtcbiAgICAgICAgICBjb25zdCBjbGllbnROYW1lID0gYXJnLm5hbWUgfHwgJydcbiAgICAgICAgICBsZXQgaGlnaGxpZ2h0ZWRWYWx1ZSA9ICcnXG4gICAgICAgICAgaWYgKHNlYXJjaFZhbHVlICYmIGNsaWVudE5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpKSkge1xuICAgICAgICAgICAgY29uc3QgdGV4dEluZGV4ID0gY2xpZW50TmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlVG9DaGFuZ2UgPSBjbGllbnROYW1lLnNsaWNlKHRleHRJbmRleCwgdGV4dEluZGV4ICsgc2VhcmNoVmFsdWUubGVuZ3RoKVxuICAgICAgICAgICAgY29uc3QgZXNjYXBlZFNlYXJjaFZhbHVlID0gc2VhcmNoVmFsdWUucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xcXVxcXFxdL2csICdcXFxcJCYnKVxuICAgICAgICAgICAgaGlnaGxpZ2h0ZWRWYWx1ZSA9IGNsaWVudE5hbWUucmVwbGFjZShcbiAgICAgICAgICAgICAgbmV3IFJlZ0V4cChlc2NhcGVkU2VhcmNoVmFsdWUsICdpJyksXG4gICAgICAgICAgICAgIGA8c3BhbiBzdHlsZT1cImNvbG9yOiAjMDA4OGNjOyBmb250LXdlaWdodDogYm9sZDtcIj4ke3ZhbHVlVG9DaGFuZ2V9PC9zcGFuPmBcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiBhcmcuaWQsXG4gICAgICAgICAgICBuYW1lOiBhcmcubmFtZSxcbiAgICAgICAgICAgIHRpdGxlOiBzZWFyY2hWYWx1ZSAmJiBoaWdobGlnaHRlZFZhbHVlID8gaGlnaGxpZ2h0ZWRWYWx1ZSA6IGNsaWVudE5hbWUsXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH1cbiAgfVxuICByZXR1cm4geyBjbGllbnRzLCBzZXR0ZXJEYXRhIH1cbn1cblxuZXhwb3J0IGNvbnN0IHVzZUNsaWVudFNlYXJjaCA9ICgpID0+IHtcbiAgY29uc3QgeyBjbGllbnRzLCBzZXR0ZXJEYXRhIH0gPSBEYXRhUGFyc2VkVG9DbGllbnRzKClcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtwYWdpbmF0aW9uLCBzZXRQYWdpbmF0aW9uXSA9IHVzZVN0YXRlKHtcbiAgICBwYWdlOiAxLFxuICAgIHBlclBhZ2U6IDIwLFxuICAgIHRvdGFsOiAwLFxuICAgIGxhc3RQYWdlOiAwLFxuICB9KVxuXG4gIGNvbnN0IGRlYm91bmNlZFNlYXJjaFZhbHVlID0gdXNlRGVib3VuY2Uoc2VhcmNoVmFsdWUsIDUwMClcblxuICBjb25zdCBbZmV0Y2hDbGllbnRzLCB7IGRhdGE6IGNsaWVudERhdGEsIGxvYWRpbmc6IGxvYWRpbmdDbGllbnRzLCBlcnJvcjogY2xpZW50RXJyb3IgfV0gPVxuICAgIHVzZUxhenlRdWVyeTxRdWVyeUNsaWVudERhdGE+KFNFQVJDSF9DTElFTlRTLCB7XG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgcGFnZTogMSxcbiAgICAgICAgcGVyUGFnZTogMjAsXG4gICAgICAgIGZpbHRlcjoge30sXG4gICAgICB9LFxuICAgIH0pXG5cbiAgY29uc3QgaGFuZGxlRmV0Y2hDbGllbnRzID0gKHZhbHVlOiBzdHJpbmcsIHBhZ2U6IG51bWJlciA9IDEsIHBlclBhZ2U6IG51bWJlciA9IDIwLCBjbGllbnRTdGF0dXNJZDogbnVtYmVyID0gMSkgPT4ge1xuICAgIGNvbnN0IGZpbHRlciA9IHZhbHVlID8geyBuYW1lOiB2YWx1ZSwgY2xpZW50U3RhdHVzSWQ6IFtjbGllbnRTdGF0dXNJZF0gfSA6IHt9XG4gICAgZmV0Y2hDbGllbnRzKHtcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBwYWdlLFxuICAgICAgICBwZXJQYWdlLFxuICAgICAgICBmaWx0ZXIsXG4gICAgICB9LFxuICAgIH0pXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsb2FkaW5nQ2xpZW50cykge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgfVxuICAgIGlmIChjbGllbnRFcnJvcikge1xuICAgICAgc2V0RXJyb3IodHJ1ZSlcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgfVxuICB9LCBbY2xpZW50RXJyb3IsIGxvYWRpbmdDbGllbnRzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChjbGllbnREYXRhPy5jbGllbnRzKSB7XG4gICAgICBjb25zdCB7IGRhdGEsIHRvdGFsLCBwZXJQYWdlLCBwYWdlLCBsYXN0UGFnZSB9ID0gY2xpZW50RGF0YS5jbGllbnRzXG4gICAgICBjb25zdCBtYXBwZWRDbGllbnRzID0gbWFwcGVyQ2xpZW50c1NlYXJjaChkYXRhKVxuICAgICAgc2V0dGVyRGF0YShtYXBwZWRDbGllbnRzLCBkZWJvdW5jZWRTZWFyY2hWYWx1ZSlcbiAgICAgIHNldFBhZ2luYXRpb24oe1xuICAgICAgICBwYWdlOiBwYWdlIHx8IDEsXG4gICAgICAgIHBlclBhZ2UsXG4gICAgICAgIHRvdGFsLFxuICAgICAgICBsYXN0UGFnZSxcbiAgICAgIH0pXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgfVxuICB9LCBbY2xpZW50RGF0YSwgZGVib3VuY2VkU2VhcmNoVmFsdWVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRlYm91bmNlZFNlYXJjaFZhbHVlLnRyaW0oKSkge1xuICAgICAgaGFuZGxlRmV0Y2hDbGllbnRzKGRlYm91bmNlZFNlYXJjaFZhbHVlKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXR0ZXJEYXRhKFtdLCAnJylcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICB9XG4gIH0sIFtkZWJvdW5jZWRTZWFyY2hWYWx1ZV0pXG5cbiAgY29uc3QgdXBkYXRlU2VhcmNoVmFsdWUgPSAobmV3U2VhcmNoVmFsdWU6IHN0cmluZykgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKG5ld1NlYXJjaFZhbHVlKVxuICB9XG5cbiAgY29uc3QgY2xlYXJDbGllbnRzID0gKCkgPT4ge1xuICAgIHNldHRlckRhdGEoW10sICcnKVxuICAgIHNldFNlYXJjaFZhbHVlKCcnKVxuICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgc2V0RXJyb3IoZmFsc2UpXG4gIH1cblxuICBjb25zdCBsb2FkUGFnZSA9IChwYWdlOiBudW1iZXIpID0+IHtcbiAgICBoYW5kbGVGZXRjaENsaWVudHMoZGVib3VuY2VkU2VhcmNoVmFsdWUsIHBhZ2UsIHBhZ2luYXRpb24ucGVyUGFnZSlcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZmV0Y2hDbGllbnRzLFxuICAgIGNsaWVudHNMb2FkaW5nOiBsb2FkaW5nLFxuICAgIGNsaWVudHNFcnJvcjogZXJyb3IsXG4gICAgY2xpZW50cyxcbiAgICB1cGRhdGVTZWFyY2hWYWx1ZSxcbiAgICBjbGVhckNsaWVudHMsXG4gICAgcGFnaW5hdGlvbixcbiAgICBsb2FkUGFnZSxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsWUFBWSxRQUFRLGdCQUFnQjtBQUM3QyxTQUFTQyxTQUFTLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQzNDLFNBQVNDLGNBQWMsUUFBUSxtQkFBbUI7QUFDbEQsU0FBU0MsV0FBVyxRQUFRLGVBQWU7QUF5QjNDLElBQU1DLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUlDLE1BQXVCLEVBQXNCO0VBQ3hFLE9BQU9BLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFQyxHQUFHLENBQUMsVUFBQUMsS0FBSztJQUFBLE9BQUs7TUFDM0JDLEVBQUUsRUFBRUQsS0FBSyxDQUFDQyxFQUFFO01BQ1pDLElBQUksRUFBRUYsS0FBSyxDQUFDRTtJQUNkLENBQUM7RUFBQSxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsT0FBTyxJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFBLEVBQVM7RUFDdkMsSUFBQUMsU0FBQSxHQUE4QlYsUUFBUSxDQUFpQixFQUFFLENBQUM7SUFBQVcsVUFBQSxHQUFBQyxjQUFBLENBQUFGLFNBQUE7SUFBbkRHLE9BQU8sR0FBQUYsVUFBQTtJQUFFRyxVQUFVLEdBQUFILFVBQUE7RUFFMUIsSUFBTUksVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlDLElBQXFCLEVBQUVDLFdBQW9CLEVBQUs7SUFDbEUsSUFBSSxDQUFDRCxJQUFJLENBQUNFLE1BQU0sRUFBRTtNQUNoQkosVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUNoQixDQUFDLE1BQU07TUFDTEEsVUFBVSxDQUNSRSxJQUFJLENBQUNYLEdBQUcsQ0FBQyxVQUFBYyxHQUFHLEVBQUk7UUFD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
|
|
163
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXp5UXVlcnkiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlNFQVJDSF9DTElFTlRTIiwiU0VBUkNIX1FVRVJZX0RFQk9VTkNFX01TIiwidXNlRGVib3VuY2UiLCJtYXBwZXJDbGllbnRzU2VhcmNoIiwidmFsdWVzIiwibWFwIiwidmFsdWUiLCJpZCIsIm5hbWUiLCJEYXRhUGFyc2VkVG9DbGllbnRzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiY2xpZW50cyIsInNldENsaWVudHMiLCJzZXR0ZXJEYXRhIiwiYXJncyIsInNlYXJjaFZhbHVlIiwibGVuZ3RoIiwiYXJnIiwiY2xpZW50TmFtZSIsImhpZ2hsaWdodGVkVmFsdWUiLCJ0b0xvY2FsZUxvd2VyQ2FzZSIsImluY2x1ZGVzIiwidGV4dEluZGV4IiwidG9Mb3dlckNhc2UiLCJpbmRleE9mIiwidmFsdWVUb0NoYW5nZSIsInNsaWNlIiwiZXNjYXBlZFNlYXJjaFZhbHVlIiwicmVwbGFjZSIsIlJlZ0V4cCIsImNvbmNhdCIsInRpdGxlIiwidXNlQ2xpZW50U2VhcmNoIiwiX0RhdGFQYXJzZWRUb0NsaWVudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZXRTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZTkiLCJwYWdlIiwicGVyUGFnZSIsInRvdGFsIiwibGFzdFBhZ2UiLCJfdXNlU3RhdGUwIiwicGFnaW5hdGlvbiIsInNldFBhZ2luYXRpb24iLCJkZWJvdW5jZWRTZWFyY2hWYWx1ZSIsIl91c2VMYXp5UXVlcnkiLCJ2YXJpYWJsZXMiLCJmaWx0ZXIiLCJfdXNlTGF6eVF1ZXJ5MiIsImZldGNoQ2xpZW50cyIsIl91c2VMYXp5UXVlcnkyJCIsImNsaWVudERhdGEiLCJkYXRhIiwibG9hZGluZ0NsaWVudHMiLCJjbGllbnRFcnJvciIsImhhbmRsZUZldGNoQ2xpZW50cyIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsImNsaWVudFN0YXR1c0lkIiwiX2NsaWVudERhdGEkY2xpZW50cyIsIm1hcHBlZENsaWVudHMiLCJ0cmltIiwidXBkYXRlU2VhcmNoVmFsdWUiLCJuZXdTZWFyY2hWYWx1ZSIsImNsZWFyQ2xpZW50cyIsImxvYWRQYWdlIiwiY2xpZW50c0xvYWRpbmciLCJjbGllbnRzRXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQ2xpZW50U2VhcmNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUxhenlRdWVyeSB9IGZyb20gJ0BhcG9sbG8vY2xpZW50J1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgU0VBUkNIX0NMSUVOVFMgfSBmcm9tICcuLi9zZXJ2aWNlcy9xdWVyeSdcbmltcG9ydCB7IFNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUyB9IGZyb20gJy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VEZWJvdW5jZSB9IGZyb20gJy4vdXNlRGVib3VuY2UnXG5cbmV4cG9ydCB0eXBlIENsaWVudEdyYXBoUUwgPSB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGNsaWVudFN0YXR1c0lkPzogbnVtYmVyW11cbn1cblxuZXhwb3J0IHR5cGUgQ2xpZW50U2V0dGVyID0ge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG4gIGNsaWVudFN0YXR1c0lkPzogbnVtYmVyW11cbn1cblxudHlwZSBRdWVyeUNsaWVudERhdGEgPSB7XG4gIGNsaWVudHM6IHtcbiAgICB0b3RhbDogbnVtYmVyXG4gICAgcGVyUGFnZTogbnVtYmVyXG4gICAgcGFnZTogbnVtYmVyIHwgbnVsbFxuICAgIGxhc3RQYWdlOiBudW1iZXJcbiAgICBkYXRhOiBDbGllbnRHcmFwaFFMW11cbiAgfVxufVxuXG5jb25zdCBtYXBwZXJDbGllbnRzU2VhcmNoID0gKHZhbHVlczogQ2xpZW50R3JhcGhRTFtdKTogQ2xpZW50R3JhcGhRTFtdID0+IHtcbiAgcmV0dXJuIHZhbHVlcz8ubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHZhbHVlLmlkLFxuICAgIG5hbWU6IHZhbHVlLm5hbWUsXG4gIH0pKVxufVxuXG5leHBvcnQgY29uc3QgRGF0YVBhcnNlZFRvQ2xpZW50cyA9ICgpID0+IHtcbiAgY29uc3QgW2NsaWVudHMsIHNldENsaWVudHNdID0gdXNlU3RhdGU8Q2xpZW50U2V0dGVyW10+KFtdKVxuXG4gIGNvbnN0IHNldHRlckRhdGEgPSAoYXJnczogQ2xpZW50R3JhcGhRTFtdLCBzZWFyY2hWYWx1ZT86IHN0cmluZykgPT4ge1xuICAgIGlmICghYXJncy5sZW5ndGgpIHtcbiAgICAgIHNldENsaWVudHMoW10pXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldENsaWVudHMoXG4gICAgICAgIGFyZ3MubWFwKGFyZyA9PiB7XG4gICAgICAgICAgY29uc3QgY2xpZW50TmFtZSA9IGFyZy5uYW1lIHx8ICcnXG4gICAgICAgICAgbGV0IGhpZ2hsaWdodGVkVmFsdWUgPSAnJ1xuICAgICAgICAgIGlmIChzZWFyY2hWYWx1ZSAmJiBjbGllbnROYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHRJbmRleCA9IGNsaWVudE5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICBjb25zdCB2YWx1ZVRvQ2hhbmdlID0gY2xpZW50TmFtZS5zbGljZSh0ZXh0SW5kZXgsIHRleHRJbmRleCArIHNlYXJjaFZhbHVlLmxlbmd0aClcbiAgICAgICAgICAgIGNvbnN0IGVzY2FwZWRTZWFyY2hWYWx1ZSA9IHNlYXJjaFZhbHVlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCAnXFxcXCQmJylcbiAgICAgICAgICAgIGhpZ2hsaWdodGVkVmFsdWUgPSBjbGllbnROYW1lLnJlcGxhY2UoXG4gICAgICAgICAgICAgIG5ldyBSZWdFeHAoZXNjYXBlZFNlYXJjaFZhbHVlLCAnaScpLFxuICAgICAgICAgICAgICBgPHNwYW4gc3R5bGU9XCJjb2xvcjogIzAwODhjYzsgZm9udC13ZWlnaHQ6IGJvbGQ7XCI+JHt2YWx1ZVRvQ2hhbmdlfTwvc3Bhbj5gXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogYXJnLmlkLFxuICAgICAgICAgICAgbmFtZTogYXJnLm5hbWUsXG4gICAgICAgICAgICB0aXRsZTogc2VhcmNoVmFsdWUgJiYgaGlnaGxpZ2h0ZWRWYWx1ZSA/IGhpZ2hsaWdodGVkVmFsdWUgOiBjbGllbnROYW1lLFxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgY2xpZW50cywgc2V0dGVyRGF0YSB9XG59XG5cbmV4cG9ydCBjb25zdCB1c2VDbGllbnRTZWFyY2ggPSAoKSA9PiB7XG4gIGNvbnN0IHsgY2xpZW50cywgc2V0dGVyRGF0YSB9ID0gRGF0YVBhcnNlZFRvQ2xpZW50cygpXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2VhcmNoVmFsdWUsIHNldFNlYXJjaFZhbHVlXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbcGFnaW5hdGlvbiwgc2V0UGFnaW5hdGlvbl0gPSB1c2VTdGF0ZSh7XG4gICAgcGFnZTogMSxcbiAgICBwZXJQYWdlOiAyMCxcbiAgICB0b3RhbDogMCxcbiAgICBsYXN0UGFnZTogMCxcbiAgfSlcblxuICBjb25zdCBkZWJvdW5jZWRTZWFyY2hWYWx1ZSA9IHVzZURlYm91bmNlKHNlYXJjaFZhbHVlLCBTRUFSQ0hfUVVFUllfREVCT1VOQ0VfTVMpXG5cbiAgY29uc3QgW2ZldGNoQ2xpZW50cywgeyBkYXRhOiBjbGllbnREYXRhLCBsb2FkaW5nOiBsb2FkaW5nQ2xpZW50cywgZXJyb3I6IGNsaWVudEVycm9yIH1dID1cbiAgICB1c2VMYXp5UXVlcnk8UXVlcnlDbGllbnREYXRhPihTRUFSQ0hfQ0xJRU5UUywge1xuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIHBhZ2U6IDEsXG4gICAgICAgIHBlclBhZ2U6IDIwLFxuICAgICAgICBmaWx0ZXI6IHt9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gIGNvbnN0IGhhbmRsZUZldGNoQ2xpZW50cyA9ICh2YWx1ZTogc3RyaW5nLCBwYWdlOiBudW1iZXIgPSAxLCBwZXJQYWdlOiBudW1iZXIgPSAyMCwgY2xpZW50U3RhdHVzSWQ6IG51bWJlciA9IDEpID0+IHtcbiAgICBjb25zdCBmaWx0ZXIgPSB2YWx1ZSA/IHsgbmFtZTogdmFsdWUsIGNsaWVudFN0YXR1c0lkOiBbY2xpZW50U3RhdHVzSWRdIH0gOiB7fVxuICAgIGZldGNoQ2xpZW50cyh7XG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgcGFnZSxcbiAgICAgICAgcGVyUGFnZSxcbiAgICAgICAgZmlsdGVyLFxuICAgICAgfSxcbiAgICB9KVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobG9hZGluZ0NsaWVudHMpIHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICAgIHNldEVycm9yKGZhbHNlKVxuICAgIH1cbiAgICBpZiAoY2xpZW50RXJyb3IpIHtcbiAgICAgIHNldEVycm9yKHRydWUpXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgIH1cbiAgfSwgW2NsaWVudEVycm9yLCBsb2FkaW5nQ2xpZW50c10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY2xpZW50RGF0YT8uY2xpZW50cykge1xuICAgICAgY29uc3QgeyBkYXRhLCB0b3RhbCwgcGVyUGFnZSwgcGFnZSwgbGFzdFBhZ2UgfSA9IGNsaWVudERhdGEuY2xpZW50c1xuICAgICAgY29uc3QgbWFwcGVkQ2xpZW50cyA9IG1hcHBlckNsaWVudHNTZWFyY2goZGF0YSlcbiAgICAgIHNldHRlckRhdGEobWFwcGVkQ2xpZW50cywgZGVib3VuY2VkU2VhcmNoVmFsdWUpXG4gICAgICBzZXRQYWdpbmF0aW9uKHtcbiAgICAgICAgcGFnZTogcGFnZSB8fCAxLFxuICAgICAgICBwZXJQYWdlLFxuICAgICAgICB0b3RhbCxcbiAgICAgICAgbGFzdFBhZ2UsXG4gICAgICB9KVxuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIHNldEVycm9yKGZhbHNlKVxuICAgIH1cbiAgfSwgW2NsaWVudERhdGEsIGRlYm91bmNlZFNlYXJjaFZhbHVlXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChkZWJvdW5jZWRTZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgIGhhbmRsZUZldGNoQ2xpZW50cyhkZWJvdW5jZWRTZWFyY2hWYWx1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0dGVyRGF0YShbXSwgJycpXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgfVxuICB9LCBbZGVib3VuY2VkU2VhcmNoVmFsdWVdKVxuXG4gIGNvbnN0IHVwZGF0ZVNlYXJjaFZhbHVlID0gKG5ld1NlYXJjaFZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZShuZXdTZWFyY2hWYWx1ZSlcbiAgfVxuXG4gIGNvbnN0IGNsZWFyQ2xpZW50cyA9ICgpID0+IHtcbiAgICBzZXR0ZXJEYXRhKFtdLCAnJylcbiAgICBzZXRTZWFyY2hWYWx1ZSgnJylcbiAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgIHNldEVycm9yKGZhbHNlKVxuICB9XG5cbiAgY29uc3QgbG9hZFBhZ2UgPSAocGFnZTogbnVtYmVyKSA9PiB7XG4gICAgaGFuZGxlRmV0Y2hDbGllbnRzKGRlYm91bmNlZFNlYXJjaFZhbHVlLCBwYWdlLCBwYWdpbmF0aW9uLnBlclBhZ2UpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGZldGNoQ2xpZW50cyxcbiAgICBjbGllbnRzTG9hZGluZzogbG9hZGluZyxcbiAgICBjbGllbnRzRXJyb3I6IGVycm9yLFxuICAgIGNsaWVudHMsXG4gICAgdXBkYXRlU2VhcmNoVmFsdWUsXG4gICAgY2xlYXJDbGllbnRzLFxuICAgIHBhZ2luYXRpb24sXG4gICAgbG9hZFBhZ2UsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFlBQVksUUFBUSxnQkFBZ0I7QUFDN0MsU0FBU0MsU0FBUyxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUMzQyxTQUFTQyxjQUFjLFFBQVEsbUJBQW1CO0FBQ2xELFNBQVNDLHdCQUF3QixRQUFRLHFCQUFxQjtBQUM5RCxTQUFTQyxXQUFXLFFBQVEsZUFBZTtBQXlCM0MsSUFBTUMsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBSUMsTUFBdUIsRUFBc0I7RUFDeEUsT0FBT0EsTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUVDLEdBQUcsQ0FBQyxVQUFBQyxLQUFLO0lBQUEsT0FBSztNQUMzQkMsRUFBRSxFQUFFRCxLQUFLLENBQUNDLEVBQUU7TUFDWkMsSUFBSSxFQUFFRixLQUFLLENBQUNFO0lBQ2QsQ0FBQztFQUFBLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxPQUFPLElBQU1DLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUEsRUFBUztFQUN2QyxJQUFBQyxTQUFBLEdBQThCWCxRQUFRLENBQWlCLEVBQUUsQ0FBQztJQUFBWSxVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUFuREcsT0FBTyxHQUFBRixVQUFBO0lBQUVHLFVBQVUsR0FBQUgsVUFBQTtFQUUxQixJQUFNSSxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBSUMsSUFBcUIsRUFBRUMsV0FBb0Is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
|
|
@@ -13,6 +13,7 @@ import { useUser } from '../context/cor-user';
|
|
|
13
13
|
import { SEARCH_ENTITIES } from '../services/query/entitySearchQuery';
|
|
14
14
|
import { SEARCH_CLIENTS } from '../services/query/ClientSearchQuery';
|
|
15
15
|
import { USERS_DIRECTORY } from '../services/query/usersDirectoryQuery';
|
|
16
|
+
import { SEARCH_QUERY_DEBOUNCE_MS } from '../constants/config';
|
|
16
17
|
import { useDebounce } from './useDebounce';
|
|
17
18
|
import { useT } from './useT';
|
|
18
19
|
|
|
@@ -272,7 +273,7 @@ export var useEntitySearch = function useEntitySearch(type, scope) {
|
|
|
272
273
|
_useState2 = _slicedToArray(_useState, 2),
|
|
273
274
|
searchValue = _useState2[0],
|
|
274
275
|
setSearchValue = _useState2[1];
|
|
275
|
-
var debouncedSearchValue = useDebounce(searchValue,
|
|
276
|
+
var debouncedSearchValue = useDebounce(searchValue, SEARCH_QUERY_DEBOUNCE_MS);
|
|
276
277
|
var _useState3 = useState([]),
|
|
277
278
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
278
279
|
items = _useState4[0],
|
|
@@ -532,4 +533,4 @@ export var useEntitySearch = function useEntitySearch(type, scope) {
|
|
|
532
533
|
fetchRecent: fetchRecent
|
|
533
534
|
};
|
|
534
535
|
};
|
|
535
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXp5UXVlcnkiLCJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsImdldFJlY2VudENsaWVudHMiLCJnZXRSZWNlbnRQcm9qZWN0cyIsImdldFJlY2VudFRhc2tzIiwidXNlVXNlciIsIlNFQVJDSF9FTlRJVElFUyIsIlNFQVJDSF9DTElFTlRTIiwiVVNFUlNfRElSRUNUT1JZIiwidXNlRGVib3VuY2UiLCJ1c2VUIiwiQkFTRV9GSUxURVJTX0JZX1RZUEUiLCJwcm9qZWN0IiwiYXJjaGl2ZWQiLCJ0YXNrIiwiYnVpbGRUYXNrU2VhcmNoRXh0cmFFbnRyaWVzIiwic2NvcGUiLCJyYXdDbGllbnQiLCJjbGllbnRJZCIsInVuZGVmaW5lZCIsIlN0cmluZyIsInJhd1Byb2plY3QiLCJwcm9qZWN0SWQiLCJhZ2VudEVudGl0eSIsImVudHJpZXMiLCJwdXNoQ2xpZW50IiwicHVzaCIsInB1c2hQcm9qZWN0IiwiYnVpbGRUYXNrU2VhcmNoRXh0cmEiLCJsZW5ndGgiLCJKU09OIiwic3RyaW5naWZ5IiwiYnVpbGRQcm9qZWN0U2VhcmNoRXh0cmEiLCJidWlsZFNlYXJjaEVudGl0aWVzRXh0cmEiLCJ0eXBlIiwiYnVpbGRGaWx0ZXJzRm9yVHlwZSIsImJ1aWxkVXNlcnNEaXJlY3RvcnlGaWx0ZXJzIiwicSIsImJhc2UiLCJ3aXRoUG9zaXRpb24iLCJ3aXRoVGVhbXMiLCJzZWFyY2hJbnB1dCIsImhpZ2hsaWdodFJhbmdlIiwidGV4dCIsInNlYXJjaFZhbHVlIiwiaWR4IiwidG9Mb3dlckNhc2UiLCJpbmRleE9mIiwic3RhcnQiLCJtYXBDbGllbnRUb0l0ZW0iLCJjIiwiX2MkdG90YWxQcm95ZWN0b3MiLCJfYyR0b3RhbFByb3llY3RvczIiLCJpZCIsInByaW1hcnkiLCJuYW1lIiwicHJpbWFyeUhpZ2hsaWdodCIsImJyZWFkY3J1bWIiLCJjb3VudCIsInRvdGFsUHJveWVjdG9zIiwiY291bnRMYWJlbCIsInJhdyIsIm1hcFVzZXJUb0l0ZW0iLCJ1IiwiX3UkZmlyc3ROYW1lIiwiX3UkbGFzdE5hbWUiLCJfdSRwaWN0dXJlIiwiX3UkcG9zaXRpb25OYW1lIiwiX3UkZW1haWwiLCJmdWxsTmFtZSIsImNvbmNhdCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwidHJpbSIsImVtYWlsIiwicGljdHVyZSIsInBvc2l0aW9uTmFtZSIsIm1hcENvclVzZXJUb1VzZXJJdGVtIiwidXNlciIsIm1lTGFiZWwiLCJfdXNlciRmaXJzdE5hbWUiLCJfdXNlciRsYXN0TmFtZSIsIl91c2VyJHVzZXJfcG9zaXRpb24iLCJfdXNlciRyb2xlIiwicG9zaXRpb25MaW5lIiwidXNlcl9wb3NpdGlvbiIsInJvbGUiLCJtYXBSZWNlbnRUYXNrVG9JdGVtIiwiX3Rhc2skcHJvamVjdE5hbWUiLCJ0aXRsZSIsInByb2plY3ROYW1lIiwicGFyZW50IiwibWFwU2VhcmNoVG9JdGVtIiwiciIsIl9yJHByb2plY3ROYW1lIiwiX3IkY2xpZW50SWQiLCJfciRjbGllbnROYW1lIiwiX3IkcHJvamVjdE5hbWUyIiwiX3IkZmVlSWQiLCJfZmF0aGVyJHRpdGxlIiwiY2xpZW50TmFtZSIsImZhdGhlciIsImhhc0ZhdGhlciIsImZlZUlkIiwiZmF0aGVySWQiLCJmYXRoZXJUaXRsZSIsImZvcm1hdE1jcFByaW1hcnlMYWJlbCIsInNsdWciLCJyZXBsYWNlIiwiY2hhciIsInRvVXBwZXJDYXNlIiwibWFwTWNwU2x1Z3NUb0l0ZW1zIiwic2x1Z3MiLCJmaWx0ZXJlZCIsImZpbHRlciIsInMiLCJpbmNsdWRlcyIsIm1hcCIsInVzZUVudGl0eVNlYXJjaCIsIl9zY29wZSRtY3BTbHVncyIsImNvclVzZXIiLCJfdXNlVCIsInQiLCJpMThuIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2V0U2VhcmNoVmFsdWUiLCJkZWJvdW5jZWRTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXRlbXMiLCJzZXRJdGVtcyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwibG9hZGluZyIsInNldExvYWRpbmciLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImVycm9yIiwic2V0RXJyb3IiLCJtY3BTbHVnc0tleSIsIm1jcFNsdWdzIiwiam9pbiIsInN0YWJsZVNjb3BlIiwiX3Njb3BlJGNsaWVudElkIiwiX3Njb3BlJHByb2plY3RJZCIsIl9zY29wZSRtY3BTbHVnczIiLCJfc2NvcGUkYWdlbnRFbnRpdHkiLCJfdXNlTGF6eVF1ZXJ5IiwidmFyaWFibGVzIiwibGltaXQiLCJmZXRjaFBvbGljeSIsIl91c2VMYXp5UXVlcnkyIiwiZmV0Y2hTZWFyY2hFbnRpdGllcyIsIl91c2VMYXp5UXVlcnkyJCIsInNlYXJjaERhdGEiLCJkYXRhIiwic2VhcmNoTG9hZGluZyIsInNlYXJjaEVycm9yIiwiX3VzZUxhenlRdWVyeTMiLCJfdXNlTGF6eVF1ZXJ5NCIsImZldGNoU2VhcmNoQ2xpZW50cyIsIl91c2VMYXp5UXVlcnk0JCIsImNsaWVudHNEYXRhIiwiY2xpZW50c0xvYWRpbmciLCJjbGllbnRzRXJyb3IiLCJfdXNlTGF6eVF1ZXJ5NSIsIl91c2VMYXp5UXVlcnk2IiwiZmV0Y2hVc2Vyc0RpcmVjdG9yeSIsIl91c2VMYXp5UXVlcnk2JCIsInVzZXJzRGF0YSIsInVzZXJzTG9hZGluZyIsInVzZXJzRXJyb3IiLCJmZXRjaFJlY2VudCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX3N0YWJsZVNjb3BlJG1jcFNsdWdzIiwibWFwcGVkIiwiX2RhdGEiLCJfbWFwcGVkIiwiX2RhdGEyIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImFicnVwdCIsInNlbnQiLCJBcnJheSIsImlzQXJyYXkiLCJwIiwiZmluaXNoIiwic3RvcCIsImxhbmd1YWdlIiwiX3N0YWJsZVNjb3BlJG1jcFNsdWdzMiIsInBhZ2UiLCJwZXJQYWdlIiwiZmlsdGVycyIsImV4dHJhIiwiX29iamVjdFNwcmVhZCIsIl9jbGllbnRzRGF0YSRjbGllbnRzIiwiY2xpZW50cyIsIl91c2Vyc0RhdGEkdXNlcnNEaXJlYyIsInVzZXJzRGlyZWN0b3J5Iiwic2VhcmNoIiwidXBkYXRlU2VhcmNoVmFsdWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlRW50aXR5U2VhcmNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUxhenlRdWVyeSB9IGZyb20gJ0BhcG9sbG8vY2xpZW50J1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGdldFJlY2VudENsaWVudHMgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYWlhL1JlY2VudENsaWVudHMvZ2V0UmVjZW50Q2xpZW50cydcbmltcG9ydCB7IGdldFJlY2VudFByb2plY3RzIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpYS9SZWNlbnRQcm9qZWN0cy9nZXRSZWNlbnRQcm9qZWN0cydcbmltcG9ydCB7IGdldFJlY2VudFRhc2tzIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpYS9SZWNlbnRUYXNrcy9nZXRSZWNlbnRUYXNrcydcbmltcG9ydCB0eXBlIHsgUmVjZW50VGFza0l0ZW0gfSBmcm9tICcuLi9zZXJ2aWNlcy9tYWlhL1JlY2VudFRhc2tzL2dldFJlY2VudFRhc2tzJ1xuaW1wb3J0IHR5cGUgeyBDT1JVc2VyIH0gZnJvbSAnLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgU0VBUkNIX0VOVElUSUVTIH0gZnJvbSAnLi4vc2VydmljZXMvcXVlcnkvZW50aXR5U2VhcmNoUXVlcnknXG5pbXBvcnQgeyBTRUFSQ0hfQ0xJRU5UUyB9IGZyb20gJy4uL3NlcnZpY2VzL3F1ZXJ5L0NsaWVudFNlYXJjaFF1ZXJ5J1xuaW1wb3J0IHsgVVNFUlNfRElSRUNUT1JZIH0gZnJvbSAnLi4vc2VydmljZXMvcXVlcnkvdXNlcnNEaXJlY3RvcnlRdWVyeSdcbmltcG9ydCB7IHVzZURlYm91bmNlIH0gZnJvbSAnLi91c2VEZWJvdW5jZSdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuL3VzZVQnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb25JdGVtIH0gZnJvbSAnLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgdHlwZSB7IEFnZW50RW50aXR5IH0gZnJvbSAnLi4vdHlwZXMvYWdlbnQnXG5cbnR5cGUgUmF3U2VhcmNoUmVzdWx0ID0ge1xuICBpZDogc3RyaW5nIHwgbnVtYmVyXG4gIHRpdGxlOiBzdHJpbmdcbiAgdHlwZT86IHN0cmluZ1xuICBjbGllbnRJZD86IG51bWJlciB8IHN0cmluZyB8IG51bGxcbiAgZmVlSWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsXG4gIGNsaWVudE5hbWU/OiBzdHJpbmcgfCBudWxsXG4gIHByb2plY3ROYW1lPzogc3RyaW5nIHwgbnVsbFxuICBmYXRoZXI/OiB7IGlkOiBzdHJpbmcgfCBudW1iZXI7IHRpdGxlPzogc3RyaW5nIHwgbnVsbCB9IHwgbnVsbFxufVxuXG50eXBlIFJhd0NsaWVudCA9IHtcbiAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgdG90YWxQcm95ZWN0b3M/OiBudW1iZXIgfCBudWxsXG59XG5cbnR5cGUgUmF3RGlyZWN0b3J5VXNlciA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICBmaXJzdE5hbWU/OiBzdHJpbmcgfCBudWxsXG4gIGxhc3ROYW1lPzogc3RyaW5nIHwgbnVsbFxuICBlbWFpbD86IHN0cmluZyB8IG51bGxcbiAgcGljdHVyZT86IHN0cmluZyB8IG51bGxcbiAgcG9zaXRpb25OYW1lPzogc3RyaW5nIHwgbnVsbFxufVxuXG50eXBlIFNlYXJjaEVudGl0aWVzRGF0YSA9IHsgc2VhcmNoOiBSYXdTZWFyY2hSZXN1bHRbXSB8IG51bGwgfVxudHlwZSBTZWFyY2hDbGllbnRzRGF0YSA9IHtcbiAgY2xpZW50czoge1xuICAgIGRhdGE6IFJhd0NsaWVudFtdXG4gIH0gfCBudWxsXG59XG50eXBlIFVzZXJzRGlyZWN0b3J5RGF0YSA9IHtcbiAgdXNlcnNEaXJlY3Rvcnk6IHtcbiAgICB0b3RhbD86IG51bWJlciB8IG51bGxcbiAgICBkYXRhOiBSYXdEaXJlY3RvcnlVc2VyW10gfCBudWxsXG4gIH0gfCBudWxsXG59XG5cbi8qKlxuICogUmVzdHJpbmdlIGxvcyByZXN1bHRhZG9zIGFsIGBjbGllbnRJZGAvYHByb2plY3RJZGAgZGVsIGFnZW50ZSBhY3Rpdm8uXG4gKiBDdWFuZG8gZWwgYWdlbnRlIGVzdMOhIHNjb3BlYWRvIGEgdW4gY2xpZW50L3Byb2plY3QsIHRhbnRvIGxvcyByZWNlbnRzIGNvbW9cbiAqIGVsIHNlYXJjaCBkZWJlbiBmaWx0cmFyIHBvciBlc2UgY29udGV4dG8uIFNpIGVsIGJhY2tlbmQgbm8gZW50aWVuZGUgYWxnw7puXG4gKiBjYW1wbyBsbyBpZ25vcmEgeSBzZSBjYWUgYWwgY29tcG9ydGFtaWVudG8gZ2xvYmFsLlxuICovXG5leHBvcnQgdHlwZSBFbnRpdHlTZWFyY2hTY29wZSA9IHtcbiAgY2xpZW50SWQ/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsXG4gIHByb2plY3RJZD86IHN0cmluZyB8IG51bWJlciB8IG51bGxcbiAgLyoqIFNsdWdzIGRlbCBjb25lY3RvciBNQ1AgZGVsIGFnZW50ZSAobGlzdGFkbyBsb2NhbCwgc2luIEdyYXBoUUwpLiAqL1xuICBtY3BTbHVncz86IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBgZW50aXR5YCBkZWwgYWdlbnRlIGFjdGl2by4gUGFyYSBlc3BlY2lhbGlzdGFzOlxuICAgKiAtIGBwcm9qZWN0YDogYsO6c3F1ZWRhIGRlIHRhcmVhcyBmdWVyemEgZmlsdHJvIHBvciBgcHJvamVjdElkYCBkZWwgY29udGV4dG8uXG4gICAqIC0gYGNsaWVudGA6IGLDunNxdWVkYSBkZSBwcm95ZWN0b3MgcG9yIGBjbGllbnRJZGA7IHRhcmVhcyBwb3IgY2xpZW50ZSAoeSBwcm95ZWN0byBzaSBhcGxpY2EpLlxuICAgKi9cbiAgYWdlbnRFbnRpdHk/OiBBZ2VudEVudGl0eSB8IG51bGxcbn1cblxudHlwZSBTZWFyY2hGaWx0ZXJhYmxlVHlwZSA9ICdwcm9qZWN0JyB8ICd0YXNrJ1xuXG5jb25zdCBCQVNFX0ZJTFRFUlNfQllfVFlQRTogUmVjb3JkPFNlYXJjaEZpbHRlcmFibGVUeXBlLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHtcbiAgcHJvamVjdDogeyBwcm9qZWN0OiAndHJ1ZScsIGFyY2hpdmVkOiAnYWxsJyB9LFxuICB0YXNrOiB7IHRhc2s6ICd0cnVlJywgYXJjaGl2ZWQ6ICdmYWxzZScgfSxcbn1cblxuLyoqXG4gKiBFbnRyYWRhcyBwYXJhIGVsIGFyZ3VtZW50byBHcmFwaFFMIGBleHRyYWAgKEpTT04gc3RyaW5nIGRlIGFycmF5KSBhbCBidXNjYXIgdGFyZWFzIGNvbiBjb250ZXh0by5cbiAqIEVqLjogW3tcInByb2plY3RJZFwiOlwiODgxNTUyXCJ9XVxuICovXG5jb25zdCBidWlsZFRhc2tTZWFyY2hFeHRyYUVudHJpZXMgPSAoc2NvcGU/OiBFbnRpdHlTZWFyY2hTY29wZSk6IEFycmF5PFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0+IHtcbiAgY29uc3QgcmF3Q2xpZW50ID1cbiAgICBzY29wZT8uY2xpZW50SWQgIT09IHVuZGVmaW5lZCAmJiBzY29wZT8uY2xpZW50SWQgIT09IG51bGwgJiYgc2NvcGU/LmNsaWVudElkICE9PSAnJyA/IFN0cmluZyhzY29wZS5jbGllbnRJZCkgOiBudWxsXG4gIGNvbnN0IHJhd1Byb2plY3QgPVxuICAgIHNjb3BlPy5wcm9qZWN0SWQgIT09IHVuZGVmaW5lZCAmJiBzY29wZT8ucHJvamVjdElkICE9PSBudWxsICYmIHNjb3BlPy5wcm9qZWN0SWQgIT09ICcnXG4gICAgICA/IFN0cmluZyhzY29wZS5wcm9qZWN0SWQpXG4gICAgICA6IG51bGxcblxuICBjb25zdCBhZ2VudEVudGl0eSA9IHNjb3BlPy5hZ2VudEVudGl0eVxuICBjb25zdCBlbnRyaWVzOiBBcnJheTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IFtdXG5cbiAgY29uc3QgcHVzaENsaWVudCA9ICgpID0+IHtcbiAgICBpZiAocmF3Q2xpZW50KSBlbnRyaWVzLnB1c2goeyBjbGllbnRJZDogcmF3Q2xpZW50IH0pXG4gIH1cbiAgY29uc3QgcHVzaFByb2plY3QgPSAoKSA9PiB7XG4gICAgaWYgKHJhd1Byb2plY3QpIGVudHJpZXMucHVzaCh7IHByb2plY3RJZDogcmF3UHJvamVjdCB9KVxuICB9XG5cbiAgaWYgKGFnZW50RW50aXR5ID09PSAncHJvamVjdCcpIHtcbiAgICBpZiAocmF3UHJvamVjdCkge1xuICAgICAgcHVzaFByb2plY3QoKVxuICAgIH0gZWxzZSBpZiAocmF3Q2xpZW50KSB7XG4gICAgICBwdXNoQ2xpZW50KClcbiAgICB9XG4gIH0gZWxzZSBpZiAoYWdlbnRFbnRpdHkgPT09ICdjbGllbnQnKSB7XG4gICAgcHVzaENsaWVudCgpXG4gICAgcHVzaFByb2plY3QoKVxuICB9IGVsc2Uge1xuICAgIHB1c2hDbGllbnQoKVxuICAgIHB1c2hQcm9qZWN0KClcbiAgfVxuXG4gIHJldHVybiBlbnRyaWVzXG59XG5cbmNvbnN0IGJ1aWxkVGFza1NlYXJjaEV4dHJhID0gKHNjb3BlPzogRW50aXR5U2VhcmNoU2NvcGUpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBlbnRyaWVzID0gYnVpbGRUYXNrU2VhcmNoRXh0cmFFbnRyaWVzKHNjb3BlKVxuICBpZiAoZW50cmllcy5sZW5ndGggPT09IDApIHJldHVybiB1bmRlZmluZWRcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGVudHJpZXMpXG59XG5cbi8qKlxuICogVGFiIHByb3llY3RvOiB0ZW1wb3JhbG1lbnRlIE5PIGVudmlhbW9zIGBjbGllbnRJZGAgZW4gYGV4dHJhYC5cbiAqIEVsIGJhY2tlbmQgaG95IG5vIGVzdMOhIGFwbGljYW5kbyBiaWVuIGVzZSBmaWx0cm8gcGFyYSBwcm9qZWN0IHNlYXJjaC5cbiAqXG4gKiBUT0RPOiByZWFjdGl2YXIgY3VhbmRvIGVsIGZpbHRybyBwb3IgY2xpZW50SWQgZW4gcHJvamVjdHMgZnVuY2lvbmUuXG4gKi9cbmNvbnN0IGJ1aWxkUHJvamVjdFNlYXJjaEV4dHJhID0gKHNjb3BlPzogRW50aXR5U2VhcmNoU2NvcGUpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCByYXdDbGllbnQgPVxuICAgIHNjb3BlPy5jbGllbnRJZCAhPT0gdW5kZWZpbmVkICYmIHNjb3BlPy5jbGllbnRJZCAhPT0gbnVsbCAmJiBzY29wZT8uY2xpZW50SWQgIT09ICcnID8gU3RyaW5nKHNjb3BlLmNsaWVudElkKSA6IG51bGxcbiAgLy8gaWYgKHJhd0NsaWVudCkge1xuICAvLyAgIC8vIEZpbHRybyBkZXNhY3RpdmFkbyB0ZW1wb3JhbG1lbnRlLlxuICAvLyB9XG4gIC8vIGlmICghcmF3Q2xpZW50KSByZXR1cm4gdW5kZWZpbmVkXG4gIC8vIHJldHVybiBKU09OLnN0cmluZ2lmeShbeyBjbGllbnRJZDogcmF3Q2xpZW50IH1dKVxuICBpZiAocmF3Q2xpZW50KSByZXR1cm4gdW5kZWZpbmVkXG4gIHJldHVybiB1bmRlZmluZWRcbn1cblxuY29uc3QgYnVpbGRTZWFyY2hFbnRpdGllc0V4dHJhID0gKHR5cGU6IFNlYXJjaEZpbHRlcmFibGVUeXBlLCBzY29wZT86IEVudGl0eVNlYXJjaFNjb3BlKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKHR5cGUgPT09ICd0YXNrJykgcmV0dXJuIGJ1aWxkVGFza1NlYXJjaEV4dHJhKHNjb3BlKVxuICBpZiAodHlwZSA9PT0gJ3Byb2plY3QnKSByZXR1cm4gYnVpbGRQcm9qZWN0U2VhcmNoRXh0cmEoc2NvcGUpXG4gIHJldHVybiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBUYWIgYHRhc2tgIC8gYHByb2plY3RgOiBgZmlsdGVyc2Agc8OzbG8gdGlwbyArIGFyY2hpdmVkICh0YXJlYXM6IG5vIGFyY2hpdmFkYXMpOyBzY29wZSAoY2xpZW50SWQgLyBwcm9qZWN0SWQgZW4gdGFyZWFzKSBlbiBgZXh0cmFgLlxuICovXG5jb25zdCBidWlsZEZpbHRlcnNGb3JUeXBlID0gKHR5cGU6IFNlYXJjaEZpbHRlcmFibGVUeXBlKTogc3RyaW5nID0+IHtcbiAgaWYgKHR5cGUgPT09ICdwcm9qZWN0Jykge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShCQVNFX0ZJTFRFUlNfQllfVFlQRS5wcm9qZWN0KVxuICB9XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShCQVNFX0ZJTFRFUlNfQllfVFlQRS50YXNrKVxufVxuXG4vKipcbiAqIEZpbHRyb3MgcGFyYSB1c2Vyc0RpcmVjdG9yeS4gRWwgYmFja2VuZCBlc3BlcmEgdW4gSlNPTiBzdHJpbmcgY29uXG4gKiB3aXRoUG9zaXRpb24sIHdpdGhUZWFtcyB5IHNlYXJjaElucHV0LiBMZSBhZ3JlZ2Ftb3MgY2xpZW50SWQvcHJvamVjdElkXG4gKiBkZWwgc2NvcGUgZW4gY2FzbyBkZSBxdWUgZWwgYmFja2VuZCBsb3MgYXByb3ZlY2hlIHBhcmEgZmlsdHJhciBwb3JcbiAqIGNvbnRleHRvIChzaSBubyBsb3MgZW50aWVuZGUgbG9zIGlnbm9yYSkuXG4gKi9cbmNvbnN0IGJ1aWxkVXNlcnNEaXJlY3RvcnlGaWx0ZXJzID0gKHE6IHN0cmluZywgc2NvcGU/OiBFbnRpdHlTZWFyY2hTY29wZSk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGJhc2U6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgIHdpdGhQb3NpdGlvbjogdHJ1ZSxcbiAgICB3aXRoVGVhbXM6IHRydWUsXG4gICAgc2VhcmNoSW5wdXQ6IHEsXG4gIH1cbiAgaWYgKHNjb3BlPy5jbGllbnRJZCAhPT0gdW5kZWZpbmVkICYmIHNjb3BlPy5jbGllbnRJZCAhPT0gbnVsbCAmJiBzY29wZS5jbGllbnRJZCAhPT0gJycpIHtcbiAgICBiYXNlLmNsaWVudElkID0gU3RyaW5nKHNjb3BlLmNsaWVudElkKVxuICB9XG4gIGlmIChzY29wZT8ucHJvamVjdElkICE9PSB1bmRlZmluZWQgJiYgc2NvcGU/LnByb2plY3RJZCAhPT0gbnVsbCAmJiBzY29wZS5wcm9qZWN0SWQgIT09ICcnKSB7XG4gICAgYmFzZS5wcm9qZWN0SWQgPSBTdHJpbmcoc2NvcGUucHJvamVjdElkKVxuICB9XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShiYXNlKVxufVxuXG5jb25zdCBoaWdobGlnaHRSYW5nZSA9ICh0ZXh0OiBzdHJpbmcsIHNlYXJjaFZhbHVlOiBzdHJpbmcpID0+IHtcbiAgaWYgKCFzZWFyY2hWYWx1ZSkgcmV0dXJuIHVuZGVmaW5lZFxuICBjb25zdCBpZHggPSB0ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKVxuICBpZiAoaWR4IDwgMCkgcmV0dXJuIHVuZGVmaW5lZFxuICByZXR1cm4geyBzdGFydDogaWR4LCBsZW5ndGg6IHNlYXJjaFZhbHVlLmxlbmd0aCB9XG59XG5cbmNvbnN0IG1hcENsaWVudFRvSXRlbSA9IChjOiBSYXdDbGllbnQsIHNlYXJjaFZhbHVlOiBzdHJpbmcpOiBDb250ZXh0TWVudGlvbkl0ZW0gPT4gKHtcbiAgaWQ6IGMuaWQsXG4gIHR5cGU6ICdjbGllbnQnLFxuICBwcmltYXJ5OiBjLm5hbWUsXG4gIHByaW1hcnlIaWdobGlnaHQ6IGhpZ2hsaWdodFJhbmdlKGMubmFtZSwgc2VhcmNoVmFsdWUpLFxuICBicmVhZGNydW1iOiB7XG4gICAgY291bnQ6IGMudG90YWxQcm95ZWN0b3MgPz8gdW5kZWZpbmVkLFxuICAgIGNvdW50TGFiZWw6ICdwcm9qZWN0cycsXG4gIH0sXG4gIHJhdzoge1xuICAgIGlkOiBjLmlkLFxuICAgIG5hbWU6IGMubmFtZSxcbiAgICB0b3RhbFByb3llY3RvczogYy50b3RhbFByb3llY3RvcyA/PyBudWxsLFxuICB9LFxufSlcblxuY29uc3QgbWFwVXNlclRvSXRlbSA9ICh1OiBSYXdEaXJlY3RvcnlVc2VyLCBzZWFyY2hWYWx1ZTogc3RyaW5nKTogQ29udGV4dE1lbnRpb25JdGVtID0+IHtcbiAgY29uc3QgZnVsbE5hbWUgPSBgJHt1LmZpcnN0TmFtZSA/PyAnJ30gJHt1Lmxhc3ROYW1lID8/ICcnfWAudHJpbSgpXG4gIGNvbnN0IHByaW1hcnkgPSBmdWxsTmFtZSB8fCB1LmVtYWlsIHx8IFN0cmluZyh1LmlkKVxuXG4gIHJldHVybiB7XG4gICAgaWQ6IHUuaWQsXG4gICAgdHlwZTogJ3VzZXInLFxuICAgIHByaW1hcnksXG4gICAgcHJpbWFyeUhpZ2hsaWdodDogaGlnaGxpZ2h0UmFuZ2UocHJpbWFyeSwgc2VhcmNoVmFsdWUpLFxuICAgIHJhdzoge1xuICAgICAgaWQ6IHUuaWQsXG4gICAgICBuYW1lOiBwcmltYXJ5LFxuICAgICAgcGljdHVyZTogdS5waWN0dXJlID8/IG51bGwsXG4gICAgICBwb3NpdGlvbk5hbWU6IHUucG9zaXRpb25OYW1lID8/IG51bGwsXG4gICAgICBlbWFpbDogdS5lbWFpbCA/PyBudWxsLFxuICAgIH0sXG4gIH1cbn1cblxuY29uc3QgbWFwQ29yVXNlclRvVXNlckl0ZW0gPSAodXNlcjogQ09SVXNlciwgc2VhcmNoVmFsdWU6IHN0cmluZywgbWVMYWJlbDogc3RyaW5nKTogQ29udGV4dE1lbnRpb25JdGVtID0+IHtcbiAgY29uc3QgZnVsbE5hbWUgPSBgJHt1c2VyLmZpcnN0TmFtZSA/PyAnJ30gJHt1c2VyLmxhc3ROYW1lID8/ICcnfWAudHJpbSgpXG4gIGNvbnN0IHBvc2l0aW9uTGluZSA9IHVzZXIudXNlcl9wb3NpdGlvbj8udHJpbSgpIHx8IHVzZXIucm9sZT8udHJpbSgpIHx8IG51bGxcblxuICByZXR1cm4ge1xuICAgIGlkOiB1c2VyLmlkLFxuICAgIHR5cGU6ICd1c2VyJyxcbiAgICBwcmltYXJ5OiBtZUxhYmVsLFxuICAgIHByaW1hcnlIaWdobGlnaHQ6IGhpZ2hsaWdodFJhbmdlKG1lTGFiZWwsIHNlYXJjaFZhbHVlKSxcbiAgICByYXc6IHtcbiAgICAgIGlkOiB1c2VyLmlkLFxuICAgICAgbmFtZTogZnVsbE5hbWUgfHwgU3RyaW5nKHVzZXIuaWQpLFxuICAgICAgcGljdHVyZTogdXNlci5waWN0dXJlIHx8IG51bGwsXG4gICAgICBwb3NpdGlvbk5hbWU6IHBvc2l0aW9uTGluZSxcbiAgICAgIGVtYWlsOiBudWxsLFxuICAgIH0sXG4gIH1cbn1cblxuY29uc3QgbWFwUmVjZW50VGFza1RvSXRlbSA9ICh0YXNrOiBSZWNlbnRUYXNrSXRlbSwgc2VhcmNoVmFsdWU6IHN0cmluZyk6IENvbnRleHRNZW50aW9uSXRlbSA9PiB7XG4gIGNvbnN0IHByaW1hcnkgPSAodGFzay50aXRsZSAmJiB0YXNrLnRpdGxlLnRyaW0oKSkgfHwgU3RyaW5nKHRhc2suaWQpXG4gIHJldHVybiB7XG4gICAgaWQ6IHRhc2suaWQsXG4gICAgdHlwZTogJ3Rhc2snLFxuICAgIHByaW1hcnksXG4gICAgcHJpbWFyeUhpZ2hsaWdodDogaGlnaGxpZ2h0UmFuZ2UocHJpbWFyeSwgc2VhcmNoVmFsdWUpLFxuICAgIGJyZWFkY3J1bWI6IHRhc2sucHJvamVjdE5hbWUgPyB7IHBhcmVudDogdGFzay5wcm9qZWN0TmFtZSB9IDogdW5kZWZpbmVkLFxuICAgIHJhdzoge1xuICAgICAgaWQ6IHRhc2suaWQsXG4gICAgICBuYW1lOiBwcmltYXJ5LFxuICAgICAgcHJvamVjdE5hbWU6IHRhc2sucHJvamVjdE5hbWUgPz8gbnVsbCxcbiAgICB9LFxuICB9XG59XG5cbmNvbnN0IG1hcFNlYXJjaFRvSXRlbSA9IChyOiBSYXdTZWFyY2hSZXN1bHQsIHR5cGU6IENvbnRleHRFbnRpdHlUeXBlLCBzZWFyY2hWYWx1ZTogc3RyaW5nKTogQ29udGV4dE1lbnRpb25JdGVtID0+IHtcbiAgY29uc3QgcHJpbWFyeSA9IHIudGl0bGUgfHwgci5wcm9qZWN0TmFtZSB8fCAnJ1xuICBsZXQgcGFyZW50OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gIGlmICh0eXBlID09PSAncHJvamVjdCcpIHBhcmVudCA9IHIuY2xpZW50TmFtZVxuICBlbHNlIGlmICh0eXBlID09PSAndGFzaycpIHBhcmVudCA9IHVuZGVmaW5lZFxuICBlbHNlIHBhcmVudCA9IHIucHJvamVjdE5hbWUgPz8gci5jbGllbnROYW1lXG5cbiAgY29uc3QgZmF0aGVyID0gdHlwZSA9PT0gJ3Rhc2snID8gci5mYXRoZXIgOiBudWxsXG4gIGNvbnN0IGhhc0ZhdGhlciA9IHR5cGUgPT09ICd0YXNrJyAmJiBmYXRoZXIgIT0gbnVsbCAmJiBmYXRoZXIuaWQgIT0gbnVsbCAmJiBTdHJpbmcoZmF0aGVyLmlkKS5sZW5ndGggPiAwXG5cbiAgcmV0dXJuIHtcbiAgICBpZDogci5pZCxcbiAgICB0eXBlLFxuICAgIHByaW1hcnksXG4gICAgcHJpbWFyeUhpZ2hsaWdodDogaGlnaGxpZ2h0UmFuZ2UocHJpbWFyeSwgc2VhcmNoVmFsdWUpLFxuICAgIGJyZWFkY3J1bWI6IHBhcmVudCA/IHsgcGFyZW50IH0gOiB1bmRlZmluZWQsXG4gICAgcmF3OiB7XG4gICAgICBpZDogci5pZCxcbiAgICAgIG5hbWU6IHByaW1hcnksXG4gICAgICBjbGllbnRJZDogci5jbGllbnRJZCA/PyBudWxsLFxuICAgICAgY2xpZW50TmFtZTogci5jbGllbnROYW1lID8/IG51bGwsXG4gICAgICBwcm9qZWN0TmFtZTogci5wcm9qZWN0TmFtZSA/PyBudWxsLFxuICAgICAgZmVlSWQ6IHIuZmVlSWQgPz8gbnVsbCxcbiAgICAgIGZhdGhlcklkOiBoYXNGYXRoZXIgPyBmYXRoZXIuaWQgOiBudWxsLFxuICAgICAgZmF0aGVyVGl0bGU6IGhhc0ZhdGhlciA/IGZhdGhlci50aXRsZT8udHJpbSgpIHx8IG51bGwgOiBudWxsLFxuICAgIH0sXG4gIH1cbn1cblxuY29uc3QgZm9ybWF0TWNwUHJpbWFyeUxhYmVsID0gKHNsdWc6IHN0cmluZyk6IHN0cmluZyA9PlxuICBzbHVnLnJlcGxhY2UoL18vZywgJyAnKS5yZXBsYWNlKC9cXGJcXHcvZywgY2hhciA9PiBjaGFyLnRvVXBwZXJDYXNlKCkpXG5cbmNvbnN0IG1hcE1jcFNsdWdzVG9JdGVtcyA9IChzbHVnczogc3RyaW5nW10sIHNlYXJjaFZhbHVlOiBzdHJpbmcpOiBDb250ZXh0TWVudGlvbkl0ZW1bXSA9PiB7XG4gIGNvbnN0IHEgPSBzZWFyY2hWYWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKVxuICBsZXQgZmlsdGVyZWQgPSBzbHVnc1xuICBpZiAocSkge1xuICAgIGZpbHRlcmVkID0gc2x1Z3MuZmlsdGVyKHMgPT4ge1xuICAgICAgY29uc3QgcHJpbWFyeSA9IGZvcm1hdE1jcFByaW1hcnlMYWJlbChzKVxuICAgICAgcmV0dXJuIHMudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxKSB8fCBwcmltYXJ5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocSlcbiAgICB9KVxuICB9XG4gIHJldHVybiBmaWx0ZXJlZC5tYXAoc2x1ZyA9PiB7XG4gICAgY29uc3QgcHJpbWFyeSA9IGZvcm1hdE1jcFByaW1hcnlMYWJlbChzbHVnKVxuICAgIHJldHVybiB7XG4gICAgICBpZDogc2x1ZyxcbiAgICAgIHR5cGU6ICdtY3AnIGFzIGNvbnN0LFxuICAgICAgcHJpbWFyeSxcbiAgICAgIHByaW1hcnlIaWdobGlnaHQ6IGhpZ2hsaWdodFJhbmdlKHByaW1hcnksIHNlYXJjaFZhbHVlKSxcbiAgICAgIHJhdzoge1xuICAgICAgICBpZDogc2x1ZyxcbiAgICAgICAgbmFtZTogcHJpbWFyeSxcbiAgICAgIH0sXG4gICAgfVxuICB9KVxufVxuXG5leHBvcnQgY29uc3QgdXNlRW50aXR5U2VhcmNoID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlLCBzY29wZT86IEVudGl0eVNlYXJjaFNjb3BlKSA9PiB7XG4gIGNvbnN0IGNvclVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgeyB0LCBpMThuIH0gPSB1c2VUKClcbiAgY29uc3QgW3NlYXJjaFZhbHVlLCBzZXRTZWFyY2hWYWx1ZV0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgZGVib3VuY2VkU2VhcmNoVmFsdWUgPSB1c2VEZWJvdW5jZShzZWFyY2hWYWx1ZSwgNDAwKVxuXG4gIGNvbnN0IFtpdGVtcywgc2V0SXRlbXNdID0gdXNlU3RhdGU8Q29udGV4dE1lbnRpb25JdGVtW10+KFtdKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBtY3BTbHVnc0tleSA9IChzY29wZT8ubWNwU2x1Z3MgPz8gW10pLmpvaW4oJ3wnKVxuXG4gIC8vIEVzdGFiaWxpemFtb3MgZWwgc2NvcGUgcGFyYSBubyBkaXNwYXJhciBmZXRjaHMgcG9yIGNhbWJpb3MgZGUgaWRlbnRpZGFkIGRlIG9iamV0by5cbiAgY29uc3Qgc3RhYmxlU2NvcGUgPSB1c2VNZW1vPEVudGl0eVNlYXJjaFNjb3BlPihcbiAgICAoKSA9PiAoe1xuICAgICAgY2xpZW50SWQ6IHNjb3BlPy5jbGllbnRJZCA/PyBudWxsLFxuICAgICAgcHJvamVjdElkOiBzY29wZT8ucHJvamVjdElkID8/IG51bGwsXG4gICAgICBtY3BTbHVnczogc2NvcGU/Lm1jcFNsdWdzID8/IFtdLFxuICAgICAgYWdlbnRFbnRpdHk6IHNjb3BlPy5hZ2VudEVudGl0eSA/PyBudWxsLFxuICAgIH0pLFxuICAgIFtzY29wZT8uY2xpZW50SWQsIHNjb3BlPy5wcm9qZWN0SWQsIG1jcFNsdWdzS2V5LCBzY29wZT8uYWdlbnRFbnRpdHldXG4gIClcblxuICAvLyAtLS0gU2VhcmNoOiBwcm9qZWN0IHwgdGFzayAoR3JhcGhRTDogc2VhcmNoKSAtLS1cbiAgY29uc3QgW2ZldGNoU2VhcmNoRW50aXRpZXMsIHsgZGF0YTogc2VhcmNoRGF0YSwgbG9hZGluZzogc2VhcmNoTG9hZGluZywgZXJyb3I6IHNlYXJjaEVycm9yIH1dID1cbiAgICB1c2VMYXp5UXVlcnk8U2VhcmNoRW50aXRpZXNEYXRhPihTRUFSQ0hfRU5USVRJRVMsIHtcbiAgICAgIHZhcmlhYmxlczogeyBsaW1pdDogMjAgfSxcbiAgICAgIGZldGNoUG9saWN5OiAnbmV0d29yay1vbmx5JyxcbiAgICB9KVxuXG4gIC8vIC0tLSBTZWFyY2g6IGNsaWVudCAoR3JhcGhRTCkgLS0tXG4gIGNvbnN0IFtmZXRjaFNlYXJjaENsaWVudHMsIHsgZGF0YTogY2xpZW50c0RhdGEsIGxvYWRpbmc6IGNsaWVudHNMb2FkaW5nLCBlcnJvcjogY2xpZW50c0Vycm9yIH1dID1cbiAgICB1c2VMYXp5UXVlcnk8U2VhcmNoQ2xpZW50c0RhdGE+KFNFQVJDSF9DTElFTlRTLCB7XG4gICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgfSlcblxuICAvLyAtLS0gU2VhcmNoOiB1c2VyIChHcmFwaFFMOiB1c2Vyc0RpcmVjdG9yeSkgLS0tXG4gIGNvbnN0IFtmZXRjaFVzZXJzRGlyZWN0b3J5LCB7IGRhdGE6IHVzZXJzRGF0YSwgbG9hZGluZzogdXNlcnNMb2FkaW5nLCBlcnJvcjogdXNlcnNFcnJvciB9XSA9XG4gICAgdXNlTGF6eVF1ZXJ5PFVzZXJzRGlyZWN0b3J5RGF0YT4oVVNFUlNfRElSRUNUT1JZLCB7XG4gICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgfSlcblxuICBjb25zdCBmZXRjaFJlY2VudCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBpZiAodHlwZSA9PT0gJ21jcCcpIHtcbiAgICAgIGNvbnN0IHNsdWdzID0gc3RhYmxlU2NvcGUubWNwU2x1Z3MgPz8gW11cbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICAgIHNldEl0ZW1zKG1hcE1jcFNsdWdzVG9JdGVtcyhzbHVncywgJycpKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgc2V0TG9hZGluZyh0cnVlKVxuICAgIHNldEVycm9yKGZhbHNlKVxuICAgIHRyeSB7XG4gICAgICBpZiAodHlwZSA9PT0gJ2NsaWVudCcpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGdldFJlY2VudENsaWVudHMoKVxuICAgICAgICBjb25zdCBtYXBwZWQgPSAoZGF0YSA/PyBbXSkubWFwKGMgPT4gbWFwQ2xpZW50VG9JdGVtKGMsICcnKSlcbiAgICAgICAgc2V0SXRlbXMobWFwcGVkKVxuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAncHJvamVjdCcpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGdldFJlY2VudFByb2plY3RzKHN0YWJsZVNjb3BlLmNsaWVudElkID8geyBjbGllbnRJZDogc3RhYmxlU2NvcGUuY2xpZW50SWQgfSA6IHVuZGVmaW5lZClcbiAgICAgICAgY29uc3QgbWFwcGVkID0gKEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhIDogW10pLm1hcChwID0+XG4gICAgICAgICAgbWFwU2VhcmNoVG9JdGVtKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogcC5pZCxcbiAgICAgICAgICAgICAgdGl0bGU6IHAudGl0bGUsXG4gICAgICAgICAgICAgIHR5cGU6ICdwcm9qZWN0JyxcbiAgICAgICAgICAgICAgY2xpZW50SWQ6IHAuY2xpZW50SWQsXG4gICAgICAgICAgICAgIGZlZUlkOiBwLmZlZUlkLFxuICAgICAgICAgICAgICBjbGllbnROYW1lOiBwLmNsaWVudE5hbWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgJ3Byb2plY3QnLFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICAgc2V0SXRlbXMobWFwcGVkKVxuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAndGFzaycpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGdldFJlY2VudFRhc2tzKClcbiAgICAgICAgc2V0SXRlbXMoKGRhdGEgPz8gW10pLm1hcCh0YXNrID0+IG1hcFJlY2VudFRhc2tUb0l0ZW0odGFzaywgJycpKSlcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3VzZXInKSB7XG4gICAgICAgIHNldEl0ZW1zKFttYXBDb3JVc2VyVG9Vc2VySXRlbShjb3JVc2VyLCAnJywgdCgnY29udGV4dE1lbnRpb24ubWUnKSldKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0SXRlbXMoW10pXG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICBzZXRFcnJvcih0cnVlKVxuICAgICAgc2V0SXRlbXMoW10pXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgfVxuICB9LCBbdHlwZSwgc3RhYmxlU2NvcGUsIGNvclVzZXIsIHQsIGkxOG4ubGFuZ3VhZ2VdKVxuXG4gIC8vIERpc3BhcmFyIHNlYXJjaCBhbCBjYW1iaWFyIGRlYm91bmNlZCB2YWx1ZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHEgPSBkZWJvdW5jZWRTZWFyY2hWYWx1ZS50cmltKClcblxuICAgIGlmICh0eXBlID09PSAnbWNwJykge1xuICAgICAgY29uc3Qgc2x1Z3MgPSBzdGFibGVTY29wZS5tY3BTbHVncyA/PyBbXVxuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIHNldEVycm9yKGZhbHNlKVxuICAgICAgc2V0SXRlbXMobWFwTWNwU2x1Z3NUb0l0ZW1zKHNsdWdzLCBxKSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICghcSkgcmV0dXJuXG5cbiAgICBpZiAodHlwZSA9PT0gJ2NsaWVudCcpIHtcbiAgICAgIGZldGNoU2VhcmNoQ2xpZW50cyh7XG4gICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgIGZpbHRlcjogeyBuYW1lOiBxIH0sXG4gICAgICAgICAgcGFnZTogMSxcbiAgICAgICAgICBwZXJQYWdlOiAyMCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAndXNlcicpIHtcbiAgICAgIGZldGNoVXNlcnNEaXJlY3Rvcnkoe1xuICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICBmaWx0ZXJzOiBidWlsZFVzZXJzRGlyZWN0b3J5RmlsdGVycyhxLCBzdGFibGVTY29wZSksXG4gICAgICAgICAgcGFnZTogMSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZpbHRlcnMgPSBidWlsZEZpbHRlcnNGb3JUeXBlKHR5cGUpXG4gICAgICBjb25zdCBleHRyYSA9IGJ1aWxkU2VhcmNoRW50aXRpZXNFeHRyYSh0eXBlLCBzdGFibGVTY29wZSlcbiAgICAgIGZldGNoU2VhcmNoRW50aXRpZXMoe1xuICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICBxLFxuICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICAgLi4uKGV4dHJhICE9PSB1bmRlZmluZWQgPyB7IGV4dHJhIH0gOiB7fSksXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH1cbiAgfSwgW2RlYm91bmNlZFNlYXJjaFZhbHVlLCB0eXBlLCBzdGFibGVTY29wZSwgZmV0Y2hTZWFyY2hFbnRpdGllcywgZmV0Y2hTZWFyY2hDbGllbnRzLCBmZXRjaFVzZXJzRGlyZWN0b3J5XSlcblxuICAvLyBTaW5jcm9uaXphciByZXN1bHRhZG9zIGRlIHNlYXJjaFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0eXBlID09PSAnbWNwJykgcmV0dXJuXG5cbiAgICBjb25zdCBxID0gZGVib3VuY2VkU2VhcmNoVmFsdWUudHJpbSgpXG4gICAgaWYgKCFxKSByZXR1cm5cblxuICAgIGlmICh0eXBlID09PSAnY2xpZW50Jykge1xuICAgICAgc2V0TG9hZGluZyhjbGllbnRzTG9hZGluZylcbiAgICAgIGlmIChjbGllbnRzRXJyb3IpIHtcbiAgICAgICAgc2V0RXJyb3IodHJ1ZSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBpZiAoY2xpZW50c0RhdGE/LmNsaWVudHM/LmRhdGEpIHtcbiAgICAgICAgc2V0SXRlbXMoY2xpZW50c0RhdGEuY2xpZW50cy5kYXRhLm1hcChjID0+IG1hcENsaWVudFRvSXRlbShjLCBxKSkpXG4gICAgICAgIHNldEVycm9yKGZhbHNlKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3VzZXInKSB7XG4gICAgICBzZXRMb2FkaW5nKHVzZXJzTG9hZGluZylcbiAgICAgIGlmICh1c2Vyc0Vycm9yKSB7XG4gICAgICAgIHNldEVycm9yKHRydWUpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgaWYgKHVzZXJzRGF0YT8udXNlcnNEaXJlY3Rvcnk/LmRhdGEpIHtcbiAgICAgICAgc2V0SXRlbXModXNlcnNEYXRhLnVzZXJzRGlyZWN0b3J5LmRhdGEubWFwKHUgPT4gbWFwVXNlclRvSXRlbSh1LCBxKSkpXG4gICAgICAgIHNldEVycm9yKGZhbHNlKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRMb2FkaW5nKHNlYXJjaExvYWRpbmcpXG4gICAgICBpZiAoc2VhcmNoRXJyb3IpIHtcbiAgICAgICAgc2V0RXJyb3IodHJ1ZSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoRGF0YT8uc2VhcmNoKSB7XG4gICAgICAgIHNldEl0ZW1zKHNlYXJjaERhdGEuc2VhcmNoLm1hcChyID0+IG1hcFNlYXJjaFRvSXRlbShyLCB0eXBlLCBxKSkpXG4gICAgICAgIHNldEVycm9yKGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW1xuICAgIHNlYXJjaERhdGEsXG4gICAgY2xpZW50c0RhdGEsXG4gICAgdXNlcnNEYXRhLFxuICAgIHNlYXJjaExvYWRpbmcsXG4gICAgY2xpZW50c0xvYWRpbmcsXG4gICAgdXNlcnNMb2FkaW5nLFxuICAgIHNlYXJjaEVycm9yLFxuICAgIGNsaWVudHNFcnJvcixcbiAgICB1c2Vyc0Vycm9yLFxuICAgIGRlYm91bmNlZFNlYXJjaFZhbHVlLFxuICAgIHR5cGUsXG4gIF0pXG5cbiAgLy8gQ3VhbmRvIHNlIGxpbXBpYSBlbCBzZWFyY2gsIHZvbHZlciBhIHJlY2VudHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWRlYm91bmNlZFNlYXJjaFZhbHVlLnRyaW0oKSkge1xuICAgICAgZmV0Y2hSZWNlbnQoKVxuICAgIH1cbiAgfSwgW2RlYm91bmNlZFNlYXJjaFZhbHVlLCBmZXRjaFJlY2VudF0pXG5cbiAgcmV0dXJuIHtcbiAgICBpdGVtcyxcbiAgICBsb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIHNlYXJjaFZhbHVlLFxuICAgIHVwZGF0ZVNlYXJjaFZhbHVlOiBzZXRTZWFyY2hWYWx1ZSxcbiAgICBmZXRjaFJlY2VudCxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxTQUFTQSxZQUFZLFFBQVEsZ0JBQWdCO0FBQzdDLFNBQVNDLFdBQVcsRUFBRUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ2pFLFNBQVNDLGdCQUFnQixRQUFRLGlEQUFpRDtBQUNsRixTQUFTQyxpQkFBaUIsUUFBUSxtREFBbUQ7QUFDckYsU0FBU0MsY0FBYyxRQUFRLDZDQUE2QztBQUc1RSxTQUFTQyxPQUFPLFFBQVEscUJBQXFCO0FBQzdDLFNBQVNDLGVBQWUsUUFBUSxxQ0FBcUM7QUFDckUsU0FBU0MsY0FBYyxRQUFRLHFDQUFxQztBQUNwRSxTQUFTQyxlQUFlLFFBQVEsdUNBQXVDO0FBQ3ZFLFNBQVNDLFdBQVcsUUFBUSxlQUFlO0FBQzNDLFNBQVNDLElBQUksUUFBUSxRQUFROztBQTJDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWdCQSxJQUFNQyxvQkFBMEUsR0FBRztFQUNqRkMsT0FBTyxFQUFFO0lBQUVBLE9BQU8sRUFBRSxNQUFNO0lBQUVDLFFBQVEsRUFBRTtFQUFNLENBQUM7RUFDN0NDLElBQUksRUFBRTtJQUFFQSxJQUFJLEVBQUUsTUFBTTtJQUFFRCxRQUFRLEVBQUU7RUFBUTtBQUMxQyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTUUsMkJBQTJCLEdBQUcsU0FBOUJBLDJCQUEyQkEsQ0FBSUMsS0FBeUIsRUFBb0M7RUFDaEcsSUFB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
|
|
536
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXp5UXVlcnkiLCJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsImdldFJlY2VudENsaWVudHMiLCJnZXRSZWNlbnRQcm9qZWN0cyIsImdldFJlY2VudFRhc2tzIiwidXNlVXNlciIsIlNFQVJDSF9FTlRJVElFUyIsIlNFQVJDSF9DTElFTlRTIiwiVVNFUlNfRElSRUNUT1JZIiwiU0VBUkNIX1FVRVJZX0RFQk9VTkNFX01TIiwidXNlRGVib3VuY2UiLCJ1c2VUIiwiQkFTRV9GSUxURVJTX0JZX1RZUEUiLCJwcm9qZWN0IiwiYXJjaGl2ZWQiLCJ0YXNrIiwiYnVpbGRUYXNrU2VhcmNoRXh0cmFFbnRyaWVzIiwic2NvcGUiLCJyYXdDbGllbnQiLCJjbGllbnRJZCIsInVuZGVmaW5lZCIsIlN0cmluZyIsInJhd1Byb2plY3QiLCJwcm9qZWN0SWQiLCJhZ2VudEVudGl0eSIsImVudHJpZXMiLCJwdXNoQ2xpZW50IiwicHVzaCIsInB1c2hQcm9qZWN0IiwiYnVpbGRUYXNrU2VhcmNoRXh0cmEiLCJsZW5ndGgiLCJKU09OIiwic3RyaW5naWZ5IiwiYnVpbGRQcm9qZWN0U2VhcmNoRXh0cmEiLCJidWlsZFNlYXJjaEVudGl0aWVzRXh0cmEiLCJ0eXBlIiwiYnVpbGRGaWx0ZXJzRm9yVHlwZSIsImJ1aWxkVXNlcnNEaXJlY3RvcnlGaWx0ZXJzIiwicSIsImJhc2UiLCJ3aXRoUG9zaXRpb24iLCJ3aXRoVGVhbXMiLCJzZWFyY2hJbnB1dCIsImhpZ2hsaWdodFJhbmdlIiwidGV4dCIsInNlYXJjaFZhbHVlIiwiaWR4IiwidG9Mb3dlckNhc2UiLCJpbmRleE9mIiwic3RhcnQiLCJtYXBDbGllbnRUb0l0ZW0iLCJjIiwiX2MkdG90YWxQcm95ZWN0b3MiLCJfYyR0b3RhbFByb3llY3RvczIiLCJpZCIsInByaW1hcnkiLCJuYW1lIiwicHJpbWFyeUhpZ2hsaWdodCIsImJyZWFkY3J1bWIiLCJjb3VudCIsInRvdGFsUHJveWVjdG9zIiwiY291bnRMYWJlbCIsInJhdyIsIm1hcFVzZXJUb0l0ZW0iLCJ1IiwiX3UkZmlyc3ROYW1lIiwiX3UkbGFzdE5hbWUiLCJfdSRwaWN0dXJlIiwiX3UkcG9zaXRpb25OYW1lIiwiX3UkZW1haWwiLCJmdWxsTmFtZSIsImNvbmNhdCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwidHJpbSIsImVtYWlsIiwicGljdHVyZSIsInBvc2l0aW9uTmFtZSIsIm1hcENvclVzZXJUb1VzZXJJdGVtIiwidXNlciIsIm1lTGFiZWwiLCJfdXNlciRmaXJzdE5hbWUiLCJfdXNlciRsYXN0TmFtZSIsIl91c2VyJHVzZXJfcG9zaXRpb24iLCJfdXNlciRyb2xlIiwicG9zaXRpb25MaW5lIiwidXNlcl9wb3NpdGlvbiIsInJvbGUiLCJtYXBSZWNlbnRUYXNrVG9JdGVtIiwiX3Rhc2skcHJvamVjdE5hbWUiLCJ0aXRsZSIsInByb2plY3ROYW1lIiwicGFyZW50IiwibWFwU2VhcmNoVG9JdGVtIiwiciIsIl9yJHByb2plY3ROYW1lIiwiX3IkY2xpZW50SWQiLCJfciRjbGllbnROYW1lIiwiX3IkcHJvamVjdE5hbWUyIiwiX3IkZmVlSWQiLCJfZmF0aGVyJHRpdGxlIiwiY2xpZW50TmFtZSIsImZhdGhlciIsImhhc0ZhdGhlciIsImZlZUlkIiwiZmF0aGVySWQiLCJmYXRoZXJUaXRsZSIsImZvcm1hdE1jcFByaW1hcnlMYWJlbCIsInNsdWciLCJyZXBsYWNlIiwiY2hhciIsInRvVXBwZXJDYXNlIiwibWFwTWNwU2x1Z3NUb0l0ZW1zIiwic2x1Z3MiLCJmaWx0ZXJlZCIsImZpbHRlciIsInMiLCJpbmNsdWRlcyIsIm1hcCIsInVzZUVudGl0eVNlYXJjaCIsIl9zY29wZSRtY3BTbHVncyIsImNvclVzZXIiLCJfdXNlVCIsInQiLCJpMThuIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2V0U2VhcmNoVmFsdWUiLCJkZWJvdW5jZWRTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXRlbXMiLCJzZXRJdGVtcyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwibG9hZGluZyIsInNldExvYWRpbmciLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImVycm9yIiwic2V0RXJyb3IiLCJtY3BTbHVnc0tleSIsIm1jcFNsdWdzIiwiam9pbiIsInN0YWJsZVNjb3BlIiwiX3Njb3BlJGNsaWVudElkIiwiX3Njb3BlJHByb2plY3RJZCIsIl9zY29wZSRtY3BTbHVnczIiLCJfc2NvcGUkYWdlbnRFbnRpdHkiLCJfdXNlTGF6eVF1ZXJ5IiwidmFyaWFibGVzIiwibGltaXQiLCJmZXRjaFBvbGljeSIsIl91c2VMYXp5UXVlcnkyIiwiZmV0Y2hTZWFyY2hFbnRpdGllcyIsIl91c2VMYXp5UXVlcnkyJCIsInNlYXJjaERhdGEiLCJkYXRhIiwic2VhcmNoTG9hZGluZyIsInNlYXJjaEVycm9yIiwiX3VzZUxhenlRdWVyeTMiLCJfdXNlTGF6eVF1ZXJ5NCIsImZldGNoU2VhcmNoQ2xpZW50cyIsIl91c2VMYXp5UXVlcnk0JCIsImNsaWVudHNEYXRhIiwiY2xpZW50c0xvYWRpbmciLCJjbGllbnRzRXJyb3IiLCJfdXNlTGF6eVF1ZXJ5NSIsIl91c2VMYXp5UXVlcnk2IiwiZmV0Y2hVc2Vyc0RpcmVjdG9yeSIsIl91c2VMYXp5UXVlcnk2JCIsInVzZXJzRGF0YSIsInVzZXJzTG9hZGluZyIsInVzZXJzRXJyb3IiLCJmZXRjaFJlY2VudCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX3N0YWJsZVNjb3BlJG1jcFNsdWdzIiwibWFwcGVkIiwiX2RhdGEiLCJfbWFwcGVkIiwiX2RhdGEyIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImFicnVwdCIsInNlbnQiLCJBcnJheSIsImlzQXJyYXkiLCJwIiwiZmluaXNoIiwic3RvcCIsImxhbmd1YWdlIiwiX3N0YWJsZVNjb3BlJG1jcFNsdWdzMiIsInBhZ2UiLCJwZXJQYWdlIiwiZmlsdGVycyIsImV4dHJhIiwiX29iamVjdFNwcmVhZCIsIl9jbGllbnRzRGF0YSRjbGllbnRzIiwiY2xpZW50cyIsIl91c2Vyc0RhdGEkdXNlcnNEaXJlYyIsInVzZXJzRGlyZWN0b3J5Iiwic2VhcmNoIiwidXBkYXRlU2VhcmNoVmFsdWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlRW50aXR5U2VhcmNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUxhenlRdWVyeSB9IGZyb20gJ0BhcG9sbG8vY2xpZW50J1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGdldFJlY2VudENsaWVudHMgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYWlhL1JlY2VudENsaWVudHMvZ2V0UmVjZW50Q2xpZW50cydcbmltcG9ydCB7IGdldFJlY2VudFByb2plY3RzIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpYS9SZWNlbnRQcm9qZWN0cy9nZXRSZWNlbnRQcm9qZWN0cydcbmltcG9ydCB7IGdldFJlY2VudFRhc2tzIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpYS9SZWNlbnRUYXNrcy9nZXRSZWNlbnRUYXNrcydcbmltcG9ydCB0eXBlIHsgUmVjZW50VGFza0l0ZW0gfSBmcm9tICcuLi9zZXJ2aWNlcy9tYWlhL1JlY2VudFRhc2tzL2dldFJlY2VudFRhc2tzJ1xuaW1wb3J0IHR5cGUgeyBDT1JVc2VyIH0gZnJvbSAnLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgU0VBUkNIX0VOVElUSUVTIH0gZnJvbSAnLi4vc2VydmljZXMvcXVlcnkvZW50aXR5U2VhcmNoUXVlcnknXG5pbXBvcnQgeyBTRUFSQ0hfQ0xJRU5UUyB9IGZyb20gJy4uL3NlcnZpY2VzL3F1ZXJ5L0NsaWVudFNlYXJjaFF1ZXJ5J1xuaW1wb3J0IHsgVVNFUlNfRElSRUNUT1JZIH0gZnJvbSAnLi4vc2VydmljZXMvcXVlcnkvdXNlcnNEaXJlY3RvcnlRdWVyeSdcbmltcG9ydCB7IFNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUyB9IGZyb20gJy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VEZWJvdW5jZSB9IGZyb20gJy4vdXNlRGVib3VuY2UnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi91c2VUJ1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUsIENvbnRleHRNZW50aW9uSXRlbSB9IGZyb20gJy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHR5cGUgeyBBZ2VudEVudGl0eSB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG50eXBlIFJhd1NlYXJjaFJlc3VsdCA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICB0aXRsZTogc3RyaW5nXG4gIHR5cGU/OiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsXG4gIGZlZUlkPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbFxuICBjbGllbnROYW1lPzogc3RyaW5nIHwgbnVsbFxuICBwcm9qZWN0TmFtZT86IHN0cmluZyB8IG51bGxcbiAgZmF0aGVyPzogeyBpZDogc3RyaW5nIHwgbnVtYmVyOyB0aXRsZT86IHN0cmluZyB8IG51bGwgfSB8IG51bGxcbn1cblxudHlwZSBSYXdDbGllbnQgPSB7XG4gIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHRvdGFsUHJveWVjdG9zPzogbnVtYmVyIHwgbnVsbFxufVxuXG50eXBlIFJhd0RpcmVjdG9yeVVzZXIgPSB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXJcbiAgZmlyc3ROYW1lPzogc3RyaW5nIHwgbnVsbFxuICBsYXN0TmFtZT86IHN0cmluZyB8IG51bGxcbiAgZW1haWw/OiBzdHJpbmcgfCBudWxsXG4gIHBpY3R1cmU/OiBzdHJpbmcgfCBudWxsXG4gIHBvc2l0aW9uTmFtZT86IHN0cmluZyB8IG51bGxcbn1cblxudHlwZSBTZWFyY2hFbnRpdGllc0RhdGEgPSB7IHNlYXJjaDogUmF3U2VhcmNoUmVzdWx0W10gfCBudWxsIH1cbnR5cGUgU2VhcmNoQ2xpZW50c0RhdGEgPSB7XG4gIGNsaWVudHM6IHtcbiAgICBkYXRhOiBSYXdDbGllbnRbXVxuICB9IHwgbnVsbFxufVxudHlwZSBVc2Vyc0RpcmVjdG9yeURhdGEgPSB7XG4gIHVzZXJzRGlyZWN0b3J5OiB7XG4gICAgdG90YWw/OiBudW1iZXIgfCBudWxsXG4gICAgZGF0YTogUmF3RGlyZWN0b3J5VXNlcltdIHwgbnVsbFxuICB9IHwgbnVsbFxufVxuXG4vKipcbiAqIFJlc3RyaW5nZSBsb3MgcmVzdWx0YWRvcyBhbCBgY2xpZW50SWRgL2Bwcm9qZWN0SWRgIGRlbCBhZ2VudGUgYWN0aXZvLlxuICogQ3VhbmRvIGVsIGFnZW50ZSBlc3TDoSBzY29wZWFkbyBhIHVuIGNsaWVudC9wcm9qZWN0LCB0YW50byBsb3MgcmVjZW50cyBjb21vXG4gKiBlbCBzZWFyY2ggZGViZW4gZmlsdHJhciBwb3IgZXNlIGNvbnRleHRvLiBTaSBlbCBiYWNrZW5kIG5vIGVudGllbmRlIGFsZ8O6blxuICogY2FtcG8gbG8gaWdub3JhIHkgc2UgY2FlIGFsIGNvbXBvcnRhbWllbnRvIGdsb2JhbC5cbiAqL1xuZXhwb3J0IHR5cGUgRW50aXR5U2VhcmNoU2NvcGUgPSB7XG4gIGNsaWVudElkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbFxuICBwcm9qZWN0SWQ/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsXG4gIC8qKiBTbHVncyBkZWwgY29uZWN0b3IgTUNQIGRlbCBhZ2VudGUgKGxpc3RhZG8gbG9jYWwsIHNpbiBHcmFwaFFMKS4gKi9cbiAgbWNwU2x1Z3M/OiBzdHJpbmdbXVxuICAvKipcbiAgICogYGVudGl0eWAgZGVsIGFnZW50ZSBhY3Rpdm8uIFBhcmEgZXNwZWNpYWxpc3RhczpcbiAgICogLSBgcHJvamVjdGA6IGLDunNxdWVkYSBkZSB0YXJlYXMgZnVlcnphIGZpbHRybyBwb3IgYHByb2plY3RJZGAgZGVsIGNvbnRleHRvLlxuICAgKiAtIGBjbGllbnRgOiBiw7pzcXVlZGEgZGUgcHJveWVjdG9zIHBvciBgY2xpZW50SWRgOyB0YXJlYXMgcG9yIGNsaWVudGUgKHkgcHJveWVjdG8gc2kgYXBsaWNhKS5cbiAgICovXG4gIGFnZW50RW50aXR5PzogQWdlbnRFbnRpdHkgfCBudWxsXG59XG5cbnR5cGUgU2VhcmNoRmlsdGVyYWJsZVR5cGUgPSAncHJvamVjdCcgfCAndGFzaydcblxuY29uc3QgQkFTRV9GSUxURVJTX0JZX1RZUEU6IFJlY29yZDxTZWFyY2hGaWx0ZXJhYmxlVHlwZSwgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSB7XG4gIHByb2plY3Q6IHsgcHJvamVjdDogJ3RydWUnLCBhcmNoaXZlZDogJ2FsbCcgfSxcbiAgdGFzazogeyB0YXNrOiAndHJ1ZScsIGFyY2hpdmVkOiAnZmFsc2UnIH0sXG59XG5cbi8qKlxuICogRW50cmFkYXMgcGFyYSBlbCBhcmd1bWVudG8gR3JhcGhRTCBgZXh0cmFgIChKU09OIHN0cmluZyBkZSBhcnJheSkgYWwgYnVzY2FyIHRhcmVhcyBjb24gY29udGV4dG8uXG4gKiBFai46IFt7XCJwcm9qZWN0SWRcIjpcIjg4MTU1MlwifV1cbiAqL1xuY29uc3QgYnVpbGRUYXNrU2VhcmNoRXh0cmFFbnRyaWVzID0gKHNjb3BlPzogRW50aXR5U2VhcmNoU2NvcGUpOiBBcnJheTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9PiB7XG4gIGNvbnN0IHJhd0NsaWVudCA9XG4gICAgc2NvcGU/LmNsaWVudElkICE9PSB1bmRlZmluZWQgJiYgc2NvcGU/LmNsaWVudElkICE9PSBudWxsICYmIHNjb3BlPy5jbGllbnRJZCAhPT0gJycgPyBTdHJpbmcoc2NvcGUuY2xpZW50SWQpIDogbnVsbFxuICBjb25zdCByYXdQcm9qZWN0ID1cbiAgICBzY29wZT8ucHJvamVjdElkICE9PSB1bmRlZmluZWQgJiYgc2NvcGU/LnByb2plY3RJZCAhPT0gbnVsbCAmJiBzY29wZT8ucHJvamVjdElkICE9PSAnJ1xuICAgICAgPyBTdHJpbmcoc2NvcGUucHJvamVjdElkKVxuICAgICAgOiBudWxsXG5cbiAgY29uc3QgYWdlbnRFbnRpdHkgPSBzY29wZT8uYWdlbnRFbnRpdHlcbiAgY29uc3QgZW50cmllczogQXJyYXk8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSBbXVxuXG4gIGNvbnN0IHB1c2hDbGllbnQgPSAoKSA9PiB7XG4gICAgaWYgKHJhd0NsaWVudCkgZW50cmllcy5wdXNoKHsgY2xpZW50SWQ6IHJhd0NsaWVudCB9KVxuICB9XG4gIGNvbnN0IHB1c2hQcm9qZWN0ID0gKCkgPT4ge1xuICAgIGlmIChyYXdQcm9qZWN0KSBlbnRyaWVzLnB1c2goeyBwcm9qZWN0SWQ6IHJhd1Byb2plY3QgfSlcbiAgfVxuXG4gIGlmIChhZ2VudEVudGl0eSA9PT0gJ3Byb2plY3QnKSB7XG4gICAgaWYgKHJhd1Byb2plY3QpIHtcbiAgICAgIHB1c2hQcm9qZWN0KClcbiAgICB9IGVsc2UgaWYgKHJhd0NsaWVudCkge1xuICAgICAgcHVzaENsaWVudCgpXG4gICAgfVxuICB9IGVsc2UgaWYgKGFnZW50RW50aXR5ID09PSAnY2xpZW50Jykge1xuICAgIHB1c2hDbGllbnQoKVxuICAgIHB1c2hQcm9qZWN0KClcbiAgfSBlbHNlIHtcbiAgICBwdXNoQ2xpZW50KClcbiAgICBwdXNoUHJvamVjdCgpXG4gIH1cblxuICByZXR1cm4gZW50cmllc1xufVxuXG5jb25zdCBidWlsZFRhc2tTZWFyY2hFeHRyYSA9IChzY29wZT86IEVudGl0eVNlYXJjaFNjb3BlKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgZW50cmllcyA9IGJ1aWxkVGFza1NlYXJjaEV4dHJhRW50cmllcyhzY29wZSlcbiAgaWYgKGVudHJpZXMubGVuZ3RoID09PSAwKSByZXR1cm4gdW5kZWZpbmVkXG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShlbnRyaWVzKVxufVxuXG4vKipcbiAqIFRhYiBwcm95ZWN0bzogdGVtcG9yYWxtZW50ZSBOTyBlbnZpYW1vcyBgY2xpZW50SWRgIGVuIGBleHRyYWAuXG4gKiBFbCBiYWNrZW5kIGhveSBubyBlc3TDoSBhcGxpY2FuZG8gYmllbiBlc2UgZmlsdHJvIHBhcmEgcHJvamVjdCBzZWFyY2guXG4gKlxuICogVE9ETzogcmVhY3RpdmFyIGN1YW5kbyBlbCBmaWx0cm8gcG9yIGNsaWVudElkIGVuIHByb2plY3RzIGZ1bmNpb25lLlxuICovXG5jb25zdCBidWlsZFByb2plY3RTZWFyY2hFeHRyYSA9IChzY29wZT86IEVudGl0eVNlYXJjaFNjb3BlKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgcmF3Q2xpZW50ID1cbiAgICBzY29wZT8uY2xpZW50SWQgIT09IHVuZGVmaW5lZCAmJiBzY29wZT8uY2xpZW50SWQgIT09IG51bGwgJiYgc2NvcGU/LmNsaWVudElkICE9PSAnJyA/IFN0cmluZyhzY29wZS5jbGllbnRJZCkgOiBudWxsXG4gIC8vIGlmIChyYXdDbGllbnQpIHtcbiAgLy8gICAvLyBGaWx0cm8gZGVzYWN0aXZhZG8gdGVtcG9yYWxtZW50ZS5cbiAgLy8gfVxuICAvLyBpZiAoIXJhd0NsaWVudCkgcmV0dXJuIHVuZGVmaW5lZFxuICAvLyByZXR1cm4gSlNPTi5zdHJpbmdpZnkoW3sgY2xpZW50SWQ6IHJhd0NsaWVudCB9XSlcbiAgaWYgKHJhd0NsaWVudCkgcmV0dXJuIHVuZGVmaW5lZFxuICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbmNvbnN0IGJ1aWxkU2VhcmNoRW50aXRpZXNFeHRyYSA9ICh0eXBlOiBTZWFyY2hGaWx0ZXJhYmxlVHlwZSwgc2NvcGU/OiBFbnRpdHlTZWFyY2hTY29wZSk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmICh0eXBlID09PSAndGFzaycpIHJldHVybiBidWlsZFRhc2tTZWFyY2hFeHRyYShzY29wZSlcbiAgaWYgKHR5cGUgPT09ICdwcm9qZWN0JykgcmV0dXJuIGJ1aWxkUHJvamVjdFNlYXJjaEV4dHJhKHNjb3BlKVxuICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbi8qKlxuICogVGFiIGB0YXNrYCAvIGBwcm9qZWN0YDogYGZpbHRlcnNgIHPDs2xvIHRpcG8gKyBhcmNoaXZlZCAodGFyZWFzOiBubyBhcmNoaXZhZGFzKTsgc2NvcGUgKGNsaWVudElkIC8gcHJvamVjdElkIGVuIHRhcmVhcykgZW4gYGV4dHJhYC5cbiAqL1xuY29uc3QgYnVpbGRGaWx0ZXJzRm9yVHlwZSA9ICh0eXBlOiBTZWFyY2hGaWx0ZXJhYmxlVHlwZSk6IHN0cmluZyA9PiB7XG4gIGlmICh0eXBlID09PSAncHJvamVjdCcpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoQkFTRV9GSUxURVJTX0JZX1RZUEUucHJvamVjdClcbiAgfVxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoQkFTRV9GSUxURVJTX0JZX1RZUEUudGFzaylcbn1cblxuLyoqXG4gKiBGaWx0cm9zIHBhcmEgdXNlcnNEaXJlY3RvcnkuIEVsIGJhY2tlbmQgZXNwZXJhIHVuIEpTT04gc3RyaW5nIGNvblxuICogd2l0aFBvc2l0aW9uLCB3aXRoVGVhbXMgeSBzZWFyY2hJbnB1dC4gTGUgYWdyZWdhbW9zIGNsaWVudElkL3Byb2plY3RJZFxuICogZGVsIHNjb3BlIGVuIGNhc28gZGUgcXVlIGVsIGJhY2tlbmQgbG9zIGFwcm92ZWNoZSBwYXJhIGZpbHRyYXIgcG9yXG4gKiBjb250ZXh0byAoc2kgbm8gbG9zIGVudGllbmRlIGxvcyBpZ25vcmEpLlxuICovXG5jb25zdCBidWlsZFVzZXJzRGlyZWN0b3J5RmlsdGVycyA9IChxOiBzdHJpbmcsIHNjb3BlPzogRW50aXR5U2VhcmNoU2NvcGUpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBiYXNlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICB3aXRoUG9zaXRpb246IHRydWUsXG4gICAgd2l0aFRlYW1zOiB0cnVlLFxuICAgIHNlYXJjaElucHV0OiBxLFxuICB9XG4gIGlmIChzY29wZT8uY2xpZW50SWQgIT09IHVuZGVmaW5lZCAmJiBzY29wZT8uY2xpZW50SWQgIT09IG51bGwgJiYgc2NvcGUuY2xpZW50SWQgIT09ICcnKSB7XG4gICAgYmFzZS5jbGllbnRJZCA9IFN0cmluZyhzY29wZS5jbGllbnRJZClcbiAgfVxuICBpZiAoc2NvcGU/LnByb2plY3RJZCAhPT0gdW5kZWZpbmVkICYmIHNjb3BlPy5wcm9qZWN0SWQgIT09IG51bGwgJiYgc2NvcGUucHJvamVjdElkICE9PSAnJykge1xuICAgIGJhc2UucHJvamVjdElkID0gU3RyaW5nKHNjb3BlLnByb2plY3RJZClcbiAgfVxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYmFzZSlcbn1cblxuY29uc3QgaGlnaGxpZ2h0UmFuZ2UgPSAodGV4dDogc3RyaW5nLCBzZWFyY2hWYWx1ZTogc3RyaW5nKSA9PiB7XG4gIGlmICghc2VhcmNoVmFsdWUpIHJldHVybiB1bmRlZmluZWRcbiAgY29uc3QgaWR4ID0gdGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKSlcbiAgaWYgKGlkeCA8IDApIHJldHVybiB1bmRlZmluZWRcbiAgcmV0dXJuIHsgc3RhcnQ6IGlkeCwgbGVuZ3RoOiBzZWFyY2hWYWx1ZS5sZW5ndGggfVxufVxuXG5jb25zdCBtYXBDbGllbnRUb0l0ZW0gPSAoYzogUmF3Q2xpZW50LCBzZWFyY2hWYWx1ZTogc3RyaW5nKTogQ29udGV4dE1lbnRpb25JdGVtID0+ICh7XG4gIGlkOiBjLmlkLFxuICB0eXBlOiAnY2xpZW50JyxcbiAgcHJpbWFyeTogYy5uYW1lLFxuICBwcmltYXJ5SGlnaGxpZ2h0OiBoaWdobGlnaHRSYW5nZShjLm5hbWUsIHNlYXJjaFZhbHVlKSxcbiAgYnJlYWRjcnVtYjoge1xuICAgIGNvdW50OiBjLnRvdGFsUHJveWVjdG9zID8/IHVuZGVmaW5lZCxcbiAgICBjb3VudExhYmVsOiAncHJvamVjdHMnLFxuICB9LFxuICByYXc6IHtcbiAgICBpZDogYy5pZCxcbiAgICBuYW1lOiBjLm5hbWUsXG4gICAgdG90YWxQcm95ZWN0b3M6IGMudG90YWxQcm95ZWN0b3MgPz8gbnVsbCxcbiAgfSxcbn0pXG5cbmNvbnN0IG1hcFVzZXJUb0l0ZW0gPSAodTogUmF3RGlyZWN0b3J5VXNlciwgc2VhcmNoVmFsdWU6IHN0cmluZyk6IENvbnRleHRNZW50aW9uSXRlbSA9PiB7XG4gIGNvbnN0IGZ1bGxOYW1lID0gYCR7dS5maXJzdE5hbWUgPz8gJyd9ICR7dS5sYXN0TmFtZSA/PyAnJ31gLnRyaW0oKVxuICBjb25zdCBwcmltYXJ5ID0gZnVsbE5hbWUgfHwgdS5lbWFpbCB8fCBTdHJpbmcodS5pZClcblxuICByZXR1cm4ge1xuICAgIGlkOiB1LmlkLFxuICAgIHR5cGU6ICd1c2VyJyxcbiAgICBwcmltYXJ5LFxuICAgIHByaW1hcnlIaWdobGlnaHQ6IGhpZ2hsaWdodFJhbmdlKHByaW1hcnksIHNlYXJjaFZhbHVlKSxcbiAgICByYXc6IHtcbiAgICAgIGlkOiB1LmlkLFxuICAgICAgbmFtZTogcHJpbWFyeSxcbiAgICAgIHBpY3R1cmU6IHUucGljdHVyZSA/PyBudWxsLFxuICAgICAgcG9zaXRpb25OYW1lOiB1LnBvc2l0aW9uTmFtZSA/PyBudWxsLFxuICAgICAgZW1haWw6IHUuZW1haWwgPz8gbnVsbCxcbiAgICB9LFxuICB9XG59XG5cbmNvbnN0IG1hcENvclVzZXJUb1VzZXJJdGVtID0gKHVzZXI6IENPUlVzZXIsIHNlYXJjaFZhbHVlOiBzdHJpbmcsIG1lTGFiZWw6IHN0cmluZyk6IENvbnRleHRNZW50aW9uSXRlbSA9PiB7XG4gIGNvbnN0IGZ1bGxOYW1lID0gYCR7dXNlci5maXJzdE5hbWUgPz8gJyd9ICR7dXNlci5sYXN0TmFtZSA/PyAnJ31gLnRyaW0oKVxuICBjb25zdCBwb3NpdGlvbkxpbmUgPSB1c2VyLnVzZXJfcG9zaXRpb24/LnRyaW0oKSB8fCB1c2VyLnJvbGU/LnRyaW0oKSB8fCBudWxsXG5cbiAgcmV0dXJuIHtcbiAgICBpZDogdXNlci5pZCxcbiAgICB0eXBlOiAndXNlcicsXG4gICAgcHJpbWFyeTogbWVMYWJlbCxcbiAgICBwcmltYXJ5SGlnaGxpZ2h0OiBoaWdobGlnaHRSYW5nZShtZUxhYmVsLCBzZWFyY2hWYWx1ZSksXG4gICAgcmF3OiB7XG4gICAgICBpZDogdXNlci5pZCxcbiAgICAgIG5hbWU6IGZ1bGxOYW1lIHx8IFN0cmluZyh1c2VyLmlkKSxcbiAgICAgIHBpY3R1cmU6IHVzZXIucGljdHVyZSB8fCBudWxsLFxuICAgICAgcG9zaXRpb25OYW1lOiBwb3NpdGlvbkxpbmUsXG4gICAgICBlbWFpbDogbnVsbCxcbiAgICB9LFxuICB9XG59XG5cbmNvbnN0IG1hcFJlY2VudFRhc2tUb0l0ZW0gPSAodGFzazogUmVjZW50VGFza0l0ZW0sIHNlYXJjaFZhbHVlOiBzdHJpbmcpOiBDb250ZXh0TWVudGlvbkl0ZW0gPT4ge1xuICBjb25zdCBwcmltYXJ5ID0gKHRhc2sudGl0bGUgJiYgdGFzay50aXRsZS50cmltKCkpIHx8IFN0cmluZyh0YXNrLmlkKVxuICByZXR1cm4ge1xuICAgIGlkOiB0YXNrLmlkLFxuICAgIHR5cGU6ICd0YXNrJyxcbiAgICBwcmltYXJ5LFxuICAgIHByaW1hcnlIaWdobGlnaHQ6IGhpZ2hsaWdodFJhbmdlKHByaW1hcnksIHNlYXJjaFZhbHVlKSxcbiAgICBicmVhZGNydW1iOiB0YXNrLnByb2plY3ROYW1lID8geyBwYXJlbnQ6IHRhc2sucHJvamVjdE5hbWUgfSA6IHVuZGVmaW5lZCxcbiAgICByYXc6IHtcbiAgICAgIGlkOiB0YXNrLmlkLFxuICAgICAgbmFtZTogcHJpbWFyeSxcbiAgICAgIHByb2plY3ROYW1lOiB0YXNrLnByb2plY3ROYW1lID8/IG51bGwsXG4gICAgfSxcbiAgfVxufVxuXG5jb25zdCBtYXBTZWFyY2hUb0l0ZW0gPSAocjogUmF3U2VhcmNoUmVzdWx0LCB0eXBlOiBDb250ZXh0RW50aXR5VHlwZSwgc2VhcmNoVmFsdWU6IHN0cmluZyk6IENvbnRleHRNZW50aW9uSXRlbSA9PiB7XG4gIGNvbnN0IHByaW1hcnkgPSByLnRpdGxlIHx8IHIucHJvamVjdE5hbWUgfHwgJydcbiAgbGV0IHBhcmVudDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuICBpZiAodHlwZSA9PT0gJ3Byb2plY3QnKSBwYXJlbnQgPSByLmNsaWVudE5hbWVcbiAgZWxzZSBpZiAodHlwZSA9PT0gJ3Rhc2snKSBwYXJlbnQgPSB1bmRlZmluZWRcbiAgZWxzZSBwYXJlbnQgPSByLnByb2plY3ROYW1lID8/IHIuY2xpZW50TmFtZVxuXG4gIGNvbnN0IGZhdGhlciA9IHR5cGUgPT09ICd0YXNrJyA/IHIuZmF0aGVyIDogbnVsbFxuICBjb25zdCBoYXNGYXRoZXIgPSB0eXBlID09PSAndGFzaycgJiYgZmF0aGVyICE9IG51bGwgJiYgZmF0aGVyLmlkICE9IG51bGwgJiYgU3RyaW5nKGZhdGhlci5pZCkubGVuZ3RoID4gMFxuXG4gIHJldHVybiB7XG4gICAgaWQ6IHIuaWQsXG4gICAgdHlwZSxcbiAgICBwcmltYXJ5LFxuICAgIHByaW1hcnlIaWdobGlnaHQ6IGhpZ2hsaWdodFJhbmdlKHByaW1hcnksIHNlYXJjaFZhbHVlKSxcbiAgICBicmVhZGNydW1iOiBwYXJlbnQgPyB7IHBhcmVudCB9IDogdW5kZWZpbmVkLFxuICAgIHJhdzoge1xuICAgICAgaWQ6IHIuaWQsXG4gICAgICBuYW1lOiBwcmltYXJ5LFxuICAgICAgY2xpZW50SWQ6IHIuY2xpZW50SWQgPz8gbnVsbCxcbiAgICAgIGNsaWVudE5hbWU6IHIuY2xpZW50TmFtZSA/PyBudWxsLFxuICAgICAgcHJvamVjdE5hbWU6IHIucHJvamVjdE5hbWUgPz8gbnVsbCxcbiAgICAgIGZlZUlkOiByLmZlZUlkID8/IG51bGwsXG4gICAgICBmYXRoZXJJZDogaGFzRmF0aGVyID8gZmF0aGVyLmlkIDogbnVsbCxcbiAgICAgIGZhdGhlclRpdGxlOiBoYXNGYXRoZXIgPyBmYXRoZXIudGl0bGU/LnRyaW0oKSB8fCBudWxsIDogbnVsbCxcbiAgICB9LFxuICB9XG59XG5cbmNvbnN0IGZvcm1hdE1jcFByaW1hcnlMYWJlbCA9IChzbHVnOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgc2x1Zy5yZXBsYWNlKC9fL2csICcgJykucmVwbGFjZSgvXFxiXFx3L2csIGNoYXIgPT4gY2hhci50b1VwcGVyQ2FzZSgpKVxuXG5jb25zdCBtYXBNY3BTbHVnc1RvSXRlbXMgPSAoc2x1Z3M6IHN0cmluZ1tdLCBzZWFyY2hWYWx1ZTogc3RyaW5nKTogQ29udGV4dE1lbnRpb25JdGVtW10gPT4ge1xuICBjb25zdCBxID0gc2VhcmNoVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKClcbiAgbGV0IGZpbHRlcmVkID0gc2x1Z3NcbiAgaWYgKHEpIHtcbiAgICBmaWx0ZXJlZCA9IHNsdWdzLmZpbHRlcihzID0+IHtcbiAgICAgIGNvbnN0IHByaW1hcnkgPSBmb3JtYXRNY3BQcmltYXJ5TGFiZWwocylcbiAgICAgIHJldHVybiBzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocSkgfHwgcHJpbWFyeS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHEpXG4gICAgfSlcbiAgfVxuICByZXR1cm4gZmlsdGVyZWQubWFwKHNsdWcgPT4ge1xuICAgIGNvbnN0IHByaW1hcnkgPSBmb3JtYXRNY3BQcmltYXJ5TGFiZWwoc2x1ZylcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHNsdWcsXG4gICAgICB0eXBlOiAnbWNwJyBhcyBjb25zdCxcbiAgICAgIHByaW1hcnksXG4gICAgICBwcmltYXJ5SGlnaGxpZ2h0OiBoaWdobGlnaHRSYW5nZShwcmltYXJ5LCBzZWFyY2hWYWx1ZSksXG4gICAgICByYXc6IHtcbiAgICAgICAgaWQ6IHNsdWcsXG4gICAgICAgIG5hbWU6IHByaW1hcnksXG4gICAgICB9LFxuICAgIH1cbiAgfSlcbn1cblxuZXhwb3J0IGNvbnN0IHVzZUVudGl0eVNlYXJjaCA9ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSwgc2NvcGU/OiBFbnRpdHlTZWFyY2hTY29wZSkgPT4ge1xuICBjb25zdCBjb3JVc2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IHsgdCwgaTE4biB9ID0gdXNlVCgpXG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IGRlYm91bmNlZFNlYXJjaFZhbHVlID0gdXNlRGVib3VuY2Uoc2VhcmNoVmFsdWUsIFNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUylcblxuICBjb25zdCBbaXRlbXMsIHNldEl0ZW1zXSA9IHVzZVN0YXRlPENvbnRleHRNZW50aW9uSXRlbVtdPihbXSlcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgbWNwU2x1Z3NLZXkgPSAoc2NvcGU/Lm1jcFNsdWdzID8/IFtdKS5qb2luKCd8JylcblxuICAvLyBFc3RhYmlsaXphbW9zIGVsIHNjb3BlIHBhcmEgbm8gZGlzcGFyYXIgZmV0Y2hzIHBvciBjYW1iaW9zIGRlIGlkZW50aWRhZCBkZSBvYmpldG8uXG4gIGNvbnN0IHN0YWJsZVNjb3BlID0gdXNlTWVtbzxFbnRpdHlTZWFyY2hTY29wZT4oXG4gICAgKCkgPT4gKHtcbiAgICAgIGNsaWVudElkOiBzY29wZT8uY2xpZW50SWQgPz8gbnVsbCxcbiAgICAgIHByb2plY3RJZDogc2NvcGU/LnByb2plY3RJZCA/PyBudWxsLFxuICAgICAgbWNwU2x1Z3M6IHNjb3BlPy5tY3BTbHVncyA/PyBbXSxcbiAgICAgIGFnZW50RW50aXR5OiBzY29wZT8uYWdlbnRFbnRpdHkgPz8gbnVsbCxcbiAgICB9KSxcbiAgICBbc2NvcGU/LmNsaWVudElkLCBzY29wZT8ucHJvamVjdElkLCBtY3BTbHVnc0tleSwgc2NvcGU/LmFnZW50RW50aXR5XVxuICApXG5cbiAgLy8gLS0tIFNlYXJjaDogcHJvamVjdCB8IHRhc2sgKEdyYXBoUUw6IHNlYXJjaCkgLS0tXG4gIGNvbnN0IFtmZXRjaFNlYXJjaEVudGl0aWVzLCB7IGRhdGE6IHNlYXJjaERhdGEsIGxvYWRpbmc6IHNlYXJjaExvYWRpbmcsIGVycm9yOiBzZWFyY2hFcnJvciB9XSA9XG4gICAgdXNlTGF6eVF1ZXJ5PFNlYXJjaEVudGl0aWVzRGF0YT4oU0VBUkNIX0VOVElUSUVTLCB7XG4gICAgICB2YXJpYWJsZXM6IHsgbGltaXQ6IDIwIH0sXG4gICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgfSlcblxuICAvLyAtLS0gU2VhcmNoOiBjbGllbnQgKEdyYXBoUUwpIC0tLVxuICBjb25zdCBbZmV0Y2hTZWFyY2hDbGllbnRzLCB7IGRhdGE6IGNsaWVudHNEYXRhLCBsb2FkaW5nOiBjbGllbnRzTG9hZGluZywgZXJyb3I6IGNsaWVudHNFcnJvciB9XSA9XG4gICAgdXNlTGF6eVF1ZXJ5PFNlYXJjaENsaWVudHNEYXRhPihTRUFSQ0hfQ0xJRU5UUywge1xuICAgICAgZmV0Y2hQb2xpY3k6ICduZXR3b3JrLW9ubHknLFxuICAgIH0pXG5cbiAgLy8gLS0tIFNlYXJjaDogdXNlciAoR3JhcGhRTDogdXNlcnNEaXJlY3RvcnkpIC0tLVxuICBjb25zdCBbZmV0Y2hVc2Vyc0RpcmVjdG9yeSwgeyBkYXRhOiB1c2Vyc0RhdGEsIGxvYWRpbmc6IHVzZXJzTG9hZGluZywgZXJyb3I6IHVzZXJzRXJyb3IgfV0gPVxuICAgIHVzZUxhenlRdWVyeTxVc2Vyc0RpcmVjdG9yeURhdGE+KFVTRVJTX0RJUkVDVE9SWSwge1xuICAgICAgZmV0Y2hQb2xpY3k6ICduZXR3b3JrLW9ubHknLFxuICAgIH0pXG5cbiAgY29uc3QgZmV0Y2hSZWNlbnQgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgaWYgKHR5cGUgPT09ICdtY3AnKSB7XG4gICAgICBjb25zdCBzbHVncyA9IHN0YWJsZVNjb3BlLm1jcFNsdWdzID8/IFtdXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgICBzZXRJdGVtcyhtYXBNY3BTbHVnc1RvSXRlbXMoc2x1Z3MsICcnKSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICBzZXRFcnJvcihmYWxzZSlcbiAgICB0cnkge1xuICAgICAgaWYgKHR5cGUgPT09ICdjbGllbnQnKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBnZXRSZWNlbnRDbGllbnRzKClcbiAgICAgICAgY29uc3QgbWFwcGVkID0gKGRhdGEgPz8gW10pLm1hcChjID0+IG1hcENsaWVudFRvSXRlbShjLCAnJykpXG4gICAgICAgIHNldEl0ZW1zKG1hcHBlZClcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3Byb2plY3QnKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBnZXRSZWNlbnRQcm9qZWN0cyhzdGFibGVTY29wZS5jbGllbnRJZCA/IHsgY2xpZW50SWQ6IHN0YWJsZVNjb3BlLmNsaWVudElkIH0gOiB1bmRlZmluZWQpXG4gICAgICAgIGNvbnN0IG1hcHBlZCA9IChBcnJheS5pc0FycmF5KGRhdGEpID8gZGF0YSA6IFtdKS5tYXAocCA9PlxuICAgICAgICAgIG1hcFNlYXJjaFRvSXRlbShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6IHAuaWQsXG4gICAgICAgICAgICAgIHRpdGxlOiBwLnRpdGxlLFxuICAgICAgICAgICAgICB0eXBlOiAncHJvamVjdCcsXG4gICAgICAgICAgICAgIGNsaWVudElkOiBwLmNsaWVudElkLFxuICAgICAgICAgICAgICBmZWVJZDogcC5mZWVJZCxcbiAgICAgICAgICAgICAgY2xpZW50TmFtZTogcC5jbGllbnROYW1lLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICdwcm9qZWN0JyxcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICAgIHNldEl0ZW1zKG1hcHBlZClcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3Rhc2snKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBnZXRSZWNlbnRUYXNrcygpXG4gICAgICAgIHNldEl0ZW1zKChkYXRhID8/IFtdKS5tYXAodGFzayA9PiBtYXBSZWNlbnRUYXNrVG9JdGVtKHRhc2ssICcnKSkpXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd1c2VyJykge1xuICAgICAgICBzZXRJdGVtcyhbbWFwQ29yVXNlclRvVXNlckl0ZW0oY29yVXNlciwgJycsIHQoJ2NvbnRleHRNZW50aW9uLm1lJykpXSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldEl0ZW1zKFtdKVxuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgc2V0RXJyb3IodHJ1ZSlcbiAgICAgIHNldEl0ZW1zKFtdKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgIH1cbiAgfSwgW3R5cGUsIHN0YWJsZVNjb3BlLCBjb3JVc2VyLCB0LCBpMThuLmxhbmd1YWdlXSlcblxuICAvLyBEaXNwYXJhciBzZWFyY2ggYWwgY2FtYmlhciBkZWJvdW5jZWQgdmFsdWVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBxID0gZGVib3VuY2VkU2VhcmNoVmFsdWUudHJpbSgpXG5cbiAgICBpZiAodHlwZSA9PT0gJ21jcCcpIHtcbiAgICAgIGNvbnN0IHNsdWdzID0gc3RhYmxlU2NvcGUubWNwU2x1Z3MgPz8gW11cbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICAgIHNldEl0ZW1zKG1hcE1jcFNsdWdzVG9JdGVtcyhzbHVncywgcSkpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoIXEpIHJldHVyblxuXG4gICAgaWYgKHR5cGUgPT09ICdjbGllbnQnKSB7XG4gICAgICBmZXRjaFNlYXJjaENsaWVudHMoe1xuICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICBmaWx0ZXI6IHsgbmFtZTogcSB9LFxuICAgICAgICAgIHBhZ2U6IDEsXG4gICAgICAgICAgcGVyUGFnZTogMjAsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3VzZXInKSB7XG4gICAgICBmZXRjaFVzZXJzRGlyZWN0b3J5KHtcbiAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgZmlsdGVyczogYnVpbGRVc2Vyc0RpcmVjdG9yeUZpbHRlcnMocSwgc3RhYmxlU2NvcGUpLFxuICAgICAgICAgIHBhZ2U6IDEsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmaWx0ZXJzID0gYnVpbGRGaWx0ZXJzRm9yVHlwZSh0eXBlKVxuICAgICAgY29uc3QgZXh0cmEgPSBidWlsZFNlYXJjaEVudGl0aWVzRXh0cmEodHlwZSwgc3RhYmxlU2NvcGUpXG4gICAgICBmZXRjaFNlYXJjaEVudGl0aWVzKHtcbiAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgcSxcbiAgICAgICAgICBmaWx0ZXJzLFxuICAgICAgICAgIC4uLihleHRyYSAhPT0gdW5kZWZpbmVkID8geyBleHRyYSB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9XG4gIH0sIFtkZWJvdW5jZWRTZWFyY2hWYWx1ZSwgdHlwZSwgc3RhYmxlU2NvcGUsIGZldGNoU2VhcmNoRW50aXRpZXMsIGZldGNoU2VhcmNoQ2xpZW50cywgZmV0Y2hVc2Vyc0RpcmVjdG9yeV0pXG5cbiAgLy8gU2luY3Jvbml6YXIgcmVzdWx0YWRvcyBkZSBzZWFyY2hcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZSA9PT0gJ21jcCcpIHJldHVyblxuXG4gICAgY29uc3QgcSA9IGRlYm91bmNlZFNlYXJjaFZhbHVlLnRyaW0oKVxuICAgIGlmICghcSkgcmV0dXJuXG5cbiAgICBpZiAodHlwZSA9PT0gJ2NsaWVudCcpIHtcbiAgICAgIHNldExvYWRpbmcoY2xpZW50c0xvYWRpbmcpXG4gICAgICBpZiAoY2xpZW50c0Vycm9yKSB7XG4gICAgICAgIHNldEVycm9yKHRydWUpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgaWYgKGNsaWVudHNEYXRhPy5jbGllbnRzPy5kYXRhKSB7XG4gICAgICAgIHNldEl0ZW1zKGNsaWVudHNEYXRhLmNsaWVudHMuZGF0YS5tYXAoYyA9PiBtYXBDbGllbnRUb0l0ZW0oYywgcSkpKVxuICAgICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd1c2VyJykge1xuICAgICAgc2V0TG9hZGluZyh1c2Vyc0xvYWRpbmcpXG4gICAgICBpZiAodXNlcnNFcnJvcikge1xuICAgICAgICBzZXRFcnJvcih0cnVlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGlmICh1c2Vyc0RhdGE/LnVzZXJzRGlyZWN0b3J5Py5kYXRhKSB7XG4gICAgICAgIHNldEl0ZW1zKHVzZXJzRGF0YS51c2Vyc0RpcmVjdG9yeS5kYXRhLm1hcCh1ID0+IG1hcFVzZXJUb0l0ZW0odSwgcSkpKVxuICAgICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2V0TG9hZGluZyhzZWFyY2hMb2FkaW5nKVxuICAgICAgaWYgKHNlYXJjaEVycm9yKSB7XG4gICAgICAgIHNldEVycm9yKHRydWUpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaERhdGE/LnNlYXJjaCkge1xuICAgICAgICBzZXRJdGVtcyhzZWFyY2hEYXRhLnNlYXJjaC5tYXAociA9PiBtYXBTZWFyY2hUb0l0ZW0ociwgdHlwZSwgcSkpKVxuICAgICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtcbiAgICBzZWFyY2hEYXRhLFxuICAgIGNsaWVudHNEYXRhLFxuICAgIHVzZXJzRGF0YSxcbiAgICBzZWFyY2hMb2FkaW5nLFxuICAgIGNsaWVudHNMb2FkaW5nLFxuICAgIHVzZXJzTG9hZGluZyxcbiAgICBzZWFyY2hFcnJvcixcbiAgICBjbGllbnRzRXJyb3IsXG4gICAgdXNlcnNFcnJvcixcbiAgICBkZWJvdW5jZWRTZWFyY2hWYWx1ZSxcbiAgICB0eXBlLFxuICBdKVxuXG4gIC8vIEN1YW5kbyBzZSBsaW1waWEgZWwgc2VhcmNoLCB2b2x2ZXIgYSByZWNlbnRzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFkZWJvdW5jZWRTZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgIGZldGNoUmVjZW50KClcbiAgICB9XG4gIH0sIFtkZWJvdW5jZWRTZWFyY2hWYWx1ZSwgZmV0Y2hSZWNlbnRdKVxuXG4gIHJldHVybiB7XG4gICAgaXRlbXMsXG4gICAgbG9hZGluZyxcbiAgICBlcnJvcixcbiAgICBzZWFyY2hWYWx1ZSxcbiAgICB1cGRhdGVTZWFyY2hWYWx1ZTogc2V0U2VhcmNoVmFsdWUsXG4gICAgZmV0Y2hSZWNlbnQsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsU0FBU0EsWUFBWSxRQUFRLGdCQUFnQjtBQUM3QyxTQUFTQyxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUNqRSxTQUFTQyxnQkFBZ0IsUUFBUSxpREFBaUQ7QUFDbEYsU0FBU0MsaUJBQWlCLFFBQVEsbURBQW1EO0FBQ3JGLFNBQVNDLGNBQWMsUUFBUSw2Q0FBNkM7QUFHNUUsU0FBU0MsT0FBTyxRQUFRLHFCQUFxQjtBQUM3QyxTQUFTQyxlQUFlLFFBQVEscUNBQXFDO0FBQ3JFLFNBQVNDLGNBQWMsUUFBUSxxQ0FBcUM7QUFDcEUsU0FBU0MsZUFBZSxRQUFRLHVDQUF1QztBQUN2RSxTQUFTQyx3QkFBd0IsUUFBUSxxQkFBcUI7QUFDOUQsU0FBU0MsV0FBVyxRQUFRLGVBQWU7QUFDM0MsU0FBU0MsSUFBSSxRQUFRLFFBQVE7O0FBMkM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBZ0JBLElBQU1DLG9CQUEwRSxHQUFHO0VBQ2pGQyxPQUFPLEVBQUU7SUFBRUEsT0FBTyxFQUFFLE1BQU07SUFBRUMsUUFBUSxFQUFFO0VBQU0sQ0FBQztFQUM3Q0MsSUFBSSxF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
|
|
@@ -8,6 +8,7 @@ import { useLazyQuery } from '@apollo/client';
|
|
|
8
8
|
import { useEffect, useState, useCallback } from 'react';
|
|
9
9
|
import maia from '../services/maia';
|
|
10
10
|
import { SEARCH_PROJECTS } from '../services/query/projectSearchByValueQuery';
|
|
11
|
+
import { SEARCH_QUERY_DEBOUNCE_MS } from '../constants/config';
|
|
11
12
|
import { useDebounce } from './useDebounce';
|
|
12
13
|
var TYPE_PROJECT = {
|
|
13
14
|
project: 'true',
|
|
@@ -94,7 +95,7 @@ export var useProjectSearch = function useProjectSearch() {
|
|
|
94
95
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
95
96
|
isQueryInProgress = _useState0[0],
|
|
96
97
|
setIsQueryInProgress = _useState0[1];
|
|
97
|
-
var debouncedSearchValue = useDebounce(searchValue,
|
|
98
|
+
var debouncedSearchValue = useDebounce(searchValue, SEARCH_QUERY_DEBOUNCE_MS);
|
|
98
99
|
var _useState1 = useState(null),
|
|
99
100
|
_useState10 = _slicedToArray(_useState1, 2),
|
|
100
101
|
recentProjectsData = _useState10[0],
|
|
@@ -202,4 +203,4 @@ export var useProjectSearch = function useProjectSearch() {
|
|
|
202
203
|
updateSearchValue: updateSearchValue
|
|
203
204
|
};
|
|
204
205
|
};
|
|
205
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXp5UXVlcnkiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwibWFpYSIsIlNFQVJDSF9QUk9KRUNUUyIsInVzZURlYm91bmNlIiwiVFlQRV9QUk9KRUNUIiwicHJvamVjdCIsImFyY2hpdmVkIiwibWFwcGVyUHJvamVjdHNTZWFyY2giLCJ2YWx1ZXMiLCJtYXAiLCJ2YWx1ZSIsIl92YWx1ZSRjbGllbnRJZCIsIl92YWx1ZSRmZWVJZCIsImlkIiwidGl0bGUiLCJjbGllbnROYW1lIiwicHJvZHVjdE5hbWUiLCJicmFuZE5hbWUiLCJpbmNvbWVUeXBlIiwiY2xpZW50SWQiLCJmZWVJZCIsIkRhdGFQYXJzZWRUb1Byb2plY3RzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwicHJvamVjdHMiLCJzZXRQcm9qZWN0cyIsInNldHRlckRhdGEiLCJhcmdzIiwic2VhcmNoVmFsdWUiLCJsZW5ndGgiLCJhcmciLCJfYXJnJGNsaWVudE5hbWUiLCJwcm9qZWN0TmFtZSIsInRpdGxlSGlnaGxpZ2h0IiwidG9Mb2NhbGVMb3dlckNhc2UiLCJpbmNsdWRlcyIsInRleHRJbmRleCIsInRvTG93ZXJDYXNlIiwiaW5kZXhPZiIsInN0YXJ0IiwiX29iamVjdFNwcmVhZCIsIm5hbWUiLCJjbGllbnQiLCJ1c2VQcm9qZWN0U2VhcmNoIiwiX0RhdGFQYXJzZWRUb1Byb2plY3RzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZXJyb3IiLCJzZXRFcnJvciIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2V0U2VhcmNoVmFsdWUiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsImlzUXVlcnlJblByb2dyZXNzIiwic2V0SXNRdWVyeUluUHJvZ3Jlc3MiLCJkZWJvdW5jZWRTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsInJlY2VudFByb2plY3RzRGF0YSIsInNldFJlY2VudFByb2plY3RzRGF0YSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJsb2FkaW5nUmVjZW50UHJvamVjdHMiLCJzZXRMb2FkaW5nUmVjZW50UHJvamVjdHMiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwicmVjZW50RXJyb3IiLCJzZXRSZWNlbnRFcnJvciIsImZldGNoUmVjZW50UHJvamVjdHNXaXRoTG9hZGluZyIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiZGF0YSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJSZWNlbnRQcm9qZWN0cyIsImdldFJlY2VudFByb2plY3RzIiwic2VudCIsIkFycmF5IiwiaXNBcnJheSIsImZpbmlzaCIsInN0b3AiLCJfdXNlTGF6eVF1ZXJ5IiwidmFyaWFibGVzIiwibGltaXQiLCJfdXNlTGF6eVF1ZXJ5MiIsImZldGNoU2VhcmNoUHJvamVjdHMiLCJfdXNlTGF6eVF1ZXJ5MiQiLCJzZWFyY2hEYXRhIiwibG9hZGluZ1NlYXJjaFByb2plY3RzIiwic2VhcmNoRXJyb3IiLCJoYW5kbGVGZXRjaFNlYXJjaFByb2plY3RzIiwicSIsImZpbHRlcnMiLCJKU09OIiwic3RyaW5naWZ5Iiwic2VhcmNoIiwidHJpbSIsIm1hcHBlZFByb2plY3RzIiwidXBkYXRlU2VhcmNoVmFsdWUiLCJuZXdTZWFyY2hWYWx1ZSIsImZldGNoUmVjZW50UHJvamVjdHMiLCJyZWNlbnRQcm9qZWN0c0xvYWRpbmciLCJyZWNlbnRQcm9qZWN0c0Vycm9yIiwicmVjZW50UHJvamVjdHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlUHJvamVjdFNlYXJjaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VMYXp5UXVlcnkgfSBmcm9tICdAYXBvbGxvL2NsaWVudCdcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgbWFpYSBmcm9tICcuLi9zZXJ2aWNlcy9tYWlhJ1xuaW1wb3J0IHsgU0VBUkNIX1BST0pFQ1RTIH0gZnJvbSAnLi4vc2VydmljZXMvcXVlcnkvcHJvamVjdFNlYXJjaEJ5VmFsdWVRdWVyeSdcbmltcG9ydCB7IHVzZURlYm91bmNlIH0gZnJvbSAnLi91c2VEZWJvdW5jZSdcblxuZXhwb3J0IHR5cGUgUHJvamVjdEdyYXBoUUwgPSB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXJcbiAgdGl0bGU6IHN0cmluZ1xuICBjbGllbnROYW1lPzogc3RyaW5nIHwgbnVsbFxuICBwcm9kdWN0TmFtZT86IHN0cmluZ1xuICBicmFuZE5hbWU/OiBzdHJpbmdcbiAgaW5jb21lVHlwZT86IHN0cmluZ1xuICBjbGllbnRJZD86IG51bWJlciB8IHN0cmluZyB8IG51bGxcbiAgZmVlSWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIFByb2plY3RTZXR0ZXIgPSB7XG4gIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgLyoqIFJhbmdvIGRlbCB0w6lybWlubyBidXNjYWRvIGRlbnRybyBkZSBgdGl0bGVgIChzb2xvIHJlc3VsdGFkb3MgZGUgYsO6c3F1ZWRhKSAqL1xuICB0aXRsZUhpZ2hsaWdodD86IHsgc3RhcnQ6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXIgfVxuICBjbGllbnRJZD86IG51bWJlciB8IHN0cmluZyB8IG51bGxcbiAgZmVlSWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsXG4gIGNsaWVudD86IHtcbiAgICBuYW1lOiBzdHJpbmcgfCBudWxsXG4gIH1cbiAgcHJvZHVjdE5hbWU/OiBzdHJpbmdcbiAgYnJhbmROYW1lPzogc3RyaW5nXG4gIGluY29tZVR5cGU/OiBzdHJpbmdcbn1cblxudHlwZSBQcm9qZWN0U2VhcmNoUmVzdWx0ID0ge1xuICBpZDogc3RyaW5nIHwgbnVtYmVyXG4gIHRpdGxlOiBzdHJpbmdcbiAgdHlwZTogc3RyaW5nXG4gIGNsaWVudElkPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbFxuICBmZWVJZD86IG51bWJlciB8IHN0cmluZyB8IG51bGxcbiAgY2xpZW50TmFtZTogc3RyaW5nXG4gIGJyYW5kTmFtZTogc3RyaW5nXG4gIHByb2R1Y3ROYW1lOiBzdHJpbmdcbiAgcHJvamVjdE5hbWU6IHN0cmluZ1xuICBzdGF0dXM6IHN0cmluZ1xuICBkZWFkbGluZTogc3RyaW5nXG4gIGRhdGV0aW1lOiBzdHJpbmdcbiAgYXJjaGl2ZWQ6IGJvb2xlYW5cbiAgX190eXBlbmFtZTogc3RyaW5nXG59XG5cbnR5cGUgUXVlcnlTZWFyY2hQcm9qZWN0RGF0YSA9IHsgc2VhcmNoOiBQcm9qZWN0U2VhcmNoUmVzdWx0W10gfCBudWxsIH1cblxuY29uc3QgVFlQRV9QUk9KRUNUID0geyBwcm9qZWN0OiAndHJ1ZScsIGFyY2hpdmVkOiAnYWxsJyB9XG5cbmNvbnN0IG1hcHBlclByb2plY3RzU2VhcmNoID0gKHZhbHVlczogUHJvamVjdFNlYXJjaFJlc3VsdFtdKTogUHJvamVjdEdyYXBoUUxbXSA9PiB7XG4gIHJldHVybiB2YWx1ZXM/Lm1hcCh2YWx1ZSA9PiAoe1xuICAgIGlkOiB2YWx1ZS5pZCxcbiAgICB0aXRsZTogdmFsdWUudGl0bGUsXG4gICAgY2xpZW50TmFtZTogdmFsdWUuY2xpZW50TmFtZSxcbiAgICBwcm9kdWN0TmFtZTogdmFsdWUucHJvZHVjdE5hbWUsXG4gICAgYnJhbmROYW1lOiB2YWx1ZS5icmFuZE5hbWUsXG4gICAgaW5jb21lVHlwZTogJycsXG4gICAgY2xpZW50SWQ6IHZhbHVlLmNsaWVudElkID8/IG51bGwsXG4gICAgZmVlSWQ6IHZhbHVlLmZlZUlkID8/IG51bGwsXG4gIH0pKVxufVxuXG5leHBvcnQgY29uc3QgRGF0YVBhcnNlZFRvUHJvamVjdHMgPSAoKSA9PiB7XG4gIGNvbnN0IFtwcm9qZWN0cywgc2V0UHJvamVjdHNdID0gdXNlU3RhdGU8UHJvamVjdFNldHRlcltdPihbXSlcbiAgY29uc3Qgc2V0dGVyRGF0YSA9IChhcmdzOiBQcm9qZWN0R3JhcGhRTFtdLCBzZWFyY2hWYWx1ZT86IHN0cmluZykgPT4ge1xuICAgIGlmICghYXJncy5sZW5ndGgpIHtcbiAgICAgIHNldFByb2plY3RzKFtdKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRQcm9qZWN0cyhcbiAgICAgICAgYXJncy5tYXAoYXJnID0+IHtcbiAgICAgICAgICBjb25zdCBwcm9qZWN0TmFtZSA9IGFyZy50aXRsZSB8fCAnJ1xuICAgICAgICAgIGxldCB0aXRsZUhpZ2hsaWdodDogeyBzdGFydDogbnVtYmVyOyBsZW5ndGg6IG51bWJlciB9IHwgdW5kZWZpbmVkXG4gICAgICAgICAgaWYgKHNlYXJjaFZhbHVlICYmIHByb2plY3ROYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHRJbmRleCA9IHByb2plY3ROYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgdGl0bGVIaWdobGlnaHQgPSB7IHN0YXJ0OiB0ZXh0SW5kZXgsIGxlbmd0aDogc2VhcmNoVmFsdWUubGVuZ3RoIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiBhcmcuaWQsXG4gICAgICAgICAgICBuYW1lOiBhcmcudGl0bGUsXG4gICAgICAgICAgICB0aXRsZTogcHJvamVjdE5hbWUsXG4gICAgICAgICAgICAuLi4odGl0bGVIaWdobGlnaHQgJiYgeyB0aXRsZUhpZ2hsaWdodCB9KSxcbiAgICAgICAgICAgIC4uLihhcmcuY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQ6IGFyZy5jbGllbnRJZCB9IDoge30pLFxuICAgICAgICAgICAgLi4uKGFyZy5mZWVJZCAhPSBudWxsID8geyBmZWVJZDogYXJnLmZlZUlkIH0gOiB7fSksXG4gICAgICAgICAgICBjbGllbnQ6IHtcbiAgICAgICAgICAgICAgbmFtZTogYXJnLmNsaWVudE5hbWUgPz8gbnVsbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwcm9kdWN0TmFtZTogYXJnLnByb2R1Y3ROYW1lIHx8ICcnLFxuICAgICAgICAgICAgYnJhbmROYW1lOiBhcmcuYnJhbmROYW1lIHx8ICcnLFxuICAgICAgICAgICAgaW5jb21lVHlwZTogYXJnLmluY29tZVR5cGUgfHwgJycsXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH1cbiAgfVxuICByZXR1cm4geyBwcm9qZWN0cywgc2V0dGVyRGF0YSB9XG59XG5cbmV4cG9ydCBjb25zdCB1c2VQcm9qZWN0U2VhcmNoID0gKCkgPT4ge1xuICBjb25zdCB7IHByb2plY3RzLCBzZXR0ZXJEYXRhIH0gPSBEYXRhUGFyc2VkVG9Qcm9qZWN0cygpXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtpc1F1ZXJ5SW5Qcm9ncmVzcywgc2V0SXNRdWVyeUluUHJvZ3Jlc3NdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgZGVib3VuY2VkU2VhcmNoVmFsdWUgPSB1c2VEZWJvdW5jZShzZWFyY2hWYWx1ZSwgNTAwKVxuXG4gIGNvbnN0IFtyZWNlbnRQcm9qZWN0c0RhdGEsIHNldFJlY2VudFByb2plY3RzRGF0YV0gPSB1c2VTdGF0ZTxQcm9qZWN0R3JhcGhRTFtdIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2xvYWRpbmdSZWNlbnRQcm9qZWN0cywgc2V0TG9hZGluZ1JlY2VudFByb2plY3RzXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbcmVjZW50RXJyb3IsIHNldFJlY2VudEVycm9yXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IGZldGNoUmVjZW50UHJvamVjdHNXaXRoTG9hZGluZyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgc2V0UmVjZW50RXJyb3IoZmFsc2UpXG4gICAgc2V0SXNRdWVyeUluUHJvZ3Jlc3ModHJ1ZSlcbiAgICBzZXRMb2FkaW5nUmVjZW50UHJvamVjdHModHJ1ZSlcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IG1haWEuUmVjZW50UHJvamVjdHMuZ2V0UmVjZW50UHJvamVjdHMoKVxuICAgICAgc2V0UmVjZW50UHJvamVjdHNEYXRhKEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhIDogW10pXG4gICAgfSBjYXRjaCB7XG4gICAgICBzZXRSZWNlbnRFcnJvcih0cnVlKVxuICAgICAgc2V0UmVjZW50UHJvamVjdHNEYXRhKG51bGwpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmdSZWNlbnRQcm9qZWN0cyhmYWxzZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IFtmZXRjaFNlYXJjaFByb2plY3RzLCB7IGRhdGE6IHNlYXJjaERhdGEsIGxvYWRpbmc6IGxvYWRpbmdTZWFyY2hQcm9qZWN0cywgZXJyb3I6IHNlYXJjaEVycm9yIH1dID1cbiAgICB1c2VMYXp5UXVlcnk8UXVlcnlTZWFyY2hQcm9qZWN0RGF0YT4oU0VBUkNIX1BST0pFQ1RTLCB7XG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgbGltaXQ6IDIwLFxuICAgICAgfSxcbiAgICB9KVxuXG4gIGNvbnN0IGhhbmRsZUZldGNoU2VhcmNoUHJvamVjdHMgPSAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgIGZldGNoU2VhcmNoUHJvamVjdHMoeyB2YXJpYWJsZXM6IHsgcTogdmFsdWUsIGZpbHRlcnM6IEpTT04uc3RyaW5naWZ5KFRZUEVfUFJPSkVDVCkgfSB9KVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobG9hZGluZ1JlY2VudFByb2plY3RzIHx8IGxvYWRpbmdTZWFyY2hQcm9qZWN0cykge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgfVxuICAgIGlmIChyZWNlbnRFcnJvciB8fCBzZWFyY2hFcnJvcikge1xuICAgICAgc2V0RXJyb3IodHJ1ZSlcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRJc1F1ZXJ5SW5Qcm9ncmVzcyhmYWxzZSlcbiAgICB9XG4gIH0sIFtzZWFyY2hFcnJvciwgbG9hZGluZ1NlYXJjaFByb2plY3RzLCBsb2FkaW5nUmVjZW50UHJvamVjdHMsIHJlY2VudEVycm9yXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbG9hZGluZ1JlY2VudFByb2plY3RzICYmICFsb2FkaW5nU2VhcmNoUHJvamVjdHMgJiYgaXNRdWVyeUluUHJvZ3Jlc3MpIHtcbiAgICAgIHNldElzUXVlcnlJblByb2dyZXNzKGZhbHNlKVxuICAgIH1cblxuICAgIGlmIChzZWFyY2hEYXRhPy5zZWFyY2ggJiYgZGVib3VuY2VkU2VhcmNoVmFsdWUudHJpbSgpICYmICFsb2FkaW5nU2VhcmNoUHJvamVjdHMpIHtcbiAgICAgIGNvbnN0IG1hcHBlZFByb2plY3RzID0gbWFwcGVyUHJvamVjdHNTZWFyY2goc2VhcmNoRGF0YS5zZWFyY2gpXG4gICAgICBzZXR0ZXJEYXRhKG1hcHBlZFByb2plY3RzLCBkZWJvdW5jZWRTZWFyY2hWYWx1ZSlcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICB9XG4gICAgaWYgKHJlY2VudFByb2plY3RzRGF0YSAhPT0gbnVsbCAmJiAhZGVib3VuY2VkU2VhcmNoVmFsdWUudHJpbSgpICYmICFsb2FkaW5nUmVjZW50UHJvamVjdHMgJiYgIWlzUXVlcnlJblByb2dyZXNzKSB7XG4gICAgICBzZXR0ZXJEYXRhKHJlY2VudFByb2plY3RzRGF0YSlcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICB9XG4gIH0sIFtcbiAgICBzZWFyY2hEYXRhLFxuICAgIHJlY2VudFByb2plY3RzRGF0YSxcbiAgICBkZWJvdW5jZWRTZWFyY2hWYWx1ZSxcbiAgICBsb2FkaW5nUmVjZW50UHJvamVjdHMsXG4gICAgbG9hZGluZ1NlYXJjaFByb2plY3RzLFxuICAgIGlzUXVlcnlJblByb2dyZXNzLFxuICBdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRlYm91bmNlZFNlYXJjaFZhbHVlLnRyaW0oKSkge1xuICAgICAgaGFuZGxlRmV0Y2hTZWFyY2hQcm9qZWN0cyhkZWJvdW5jZWRTZWFyY2hWYWx1ZSlcbiAgICB9XG4gIH0sIFtkZWJvdW5jZWRTZWFyY2hWYWx1ZSwgcmVjZW50UHJvamVjdHNEYXRhXSlcblxuICBjb25zdCB1cGRhdGVTZWFyY2hWYWx1ZSA9IChuZXdTZWFyY2hWYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUobmV3U2VhcmNoVmFsdWUpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGZldGNoUmVjZW50UHJvamVjdHM6IGZldGNoUmVjZW50UHJvamVjdHNXaXRoTG9hZGluZyxcbiAgICByZWNlbnRQcm9qZWN0c0xvYWRpbmc6IGxvYWRpbmcsXG4gICAgcmVjZW50UHJvamVjdHNFcnJvcjogZXJyb3IsXG4gICAgcmVjZW50UHJvamVjdHM6IHByb2plY3RzLFxuICAgIHVwZGF0ZVNlYXJjaFZhbHVlLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLFNBQVNBLFlBQVksUUFBUSxnQkFBZ0I7QUFDN0MsU0FBU0MsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsUUFBUSxPQUFPO0FBQ3hELE9BQU9DLElBQUksTUFBTSxrQkFBa0I7QUFDbkMsU0FBU0Ms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
|
|
206
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXp5UXVlcnkiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwibWFpYSIsIlNFQVJDSF9QUk9KRUNUUyIsIlNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUyIsInVzZURlYm91bmNlIiwiVFlQRV9QUk9KRUNUIiwicHJvamVjdCIsImFyY2hpdmVkIiwibWFwcGVyUHJvamVjdHNTZWFyY2giLCJ2YWx1ZXMiLCJtYXAiLCJ2YWx1ZSIsIl92YWx1ZSRjbGllbnRJZCIsIl92YWx1ZSRmZWVJZCIsImlkIiwidGl0bGUiLCJjbGllbnROYW1lIiwicHJvZHVjdE5hbWUiLCJicmFuZE5hbWUiLCJpbmNvbWVUeXBlIiwiY2xpZW50SWQiLCJmZWVJZCIsIkRhdGFQYXJzZWRUb1Byb2plY3RzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwicHJvamVjdHMiLCJzZXRQcm9qZWN0cyIsInNldHRlckRhdGEiLCJhcmdzIiwic2VhcmNoVmFsdWUiLCJsZW5ndGgiLCJhcmciLCJfYXJnJGNsaWVudE5hbWUiLCJwcm9qZWN0TmFtZSIsInRpdGxlSGlnaGxpZ2h0IiwidG9Mb2NhbGVMb3dlckNhc2UiLCJpbmNsdWRlcyIsInRleHRJbmRleCIsInRvTG93ZXJDYXNlIiwiaW5kZXhPZiIsInN0YXJ0IiwiX29iamVjdFNwcmVhZCIsIm5hbWUiLCJjbGllbnQiLCJ1c2VQcm9qZWN0U2VhcmNoIiwiX0RhdGFQYXJzZWRUb1Byb2plY3RzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZXJyb3IiLCJzZXRFcnJvciIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2V0U2VhcmNoVmFsdWUiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsImlzUXVlcnlJblByb2dyZXNzIiwic2V0SXNRdWVyeUluUHJvZ3Jlc3MiLCJkZWJvdW5jZWRTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsInJlY2VudFByb2plY3RzRGF0YSIsInNldFJlY2VudFByb2plY3RzRGF0YSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJsb2FkaW5nUmVjZW50UHJvamVjdHMiLCJzZXRMb2FkaW5nUmVjZW50UHJvamVjdHMiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwicmVjZW50RXJyb3IiLCJzZXRSZWNlbnRFcnJvciIsImZldGNoUmVjZW50UHJvamVjdHNXaXRoTG9hZGluZyIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiZGF0YSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJSZWNlbnRQcm9qZWN0cyIsImdldFJlY2VudFByb2plY3RzIiwic2VudCIsIkFycmF5IiwiaXNBcnJheSIsImZpbmlzaCIsInN0b3AiLCJfdXNlTGF6eVF1ZXJ5IiwidmFyaWFibGVzIiwibGltaXQiLCJfdXNlTGF6eVF1ZXJ5MiIsImZldGNoU2VhcmNoUHJvamVjdHMiLCJfdXNlTGF6eVF1ZXJ5MiQiLCJzZWFyY2hEYXRhIiwibG9hZGluZ1NlYXJjaFByb2plY3RzIiwic2VhcmNoRXJyb3IiLCJoYW5kbGVGZXRjaFNlYXJjaFByb2plY3RzIiwicSIsImZpbHRlcnMiLCJKU09OIiwic3RyaW5naWZ5Iiwic2VhcmNoIiwidHJpbSIsIm1hcHBlZFByb2plY3RzIiwidXBkYXRlU2VhcmNoVmFsdWUiLCJuZXdTZWFyY2hWYWx1ZSIsImZldGNoUmVjZW50UHJvamVjdHMiLCJyZWNlbnRQcm9qZWN0c0xvYWRpbmciLCJyZWNlbnRQcm9qZWN0c0Vycm9yIiwicmVjZW50UHJvamVjdHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlUHJvamVjdFNlYXJjaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VMYXp5UXVlcnkgfSBmcm9tICdAYXBvbGxvL2NsaWVudCdcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgbWFpYSBmcm9tICcuLi9zZXJ2aWNlcy9tYWlhJ1xuaW1wb3J0IHsgU0VBUkNIX1BST0pFQ1RTIH0gZnJvbSAnLi4vc2VydmljZXMvcXVlcnkvcHJvamVjdFNlYXJjaEJ5VmFsdWVRdWVyeSdcbmltcG9ydCB7IFNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUyB9IGZyb20gJy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VEZWJvdW5jZSB9IGZyb20gJy4vdXNlRGVib3VuY2UnXG5cbmV4cG9ydCB0eXBlIFByb2plY3RHcmFwaFFMID0ge1xuICBpZDogc3RyaW5nIHwgbnVtYmVyXG4gIHRpdGxlOiBzdHJpbmdcbiAgY2xpZW50TmFtZT86IHN0cmluZyB8IG51bGxcbiAgcHJvZHVjdE5hbWU/OiBzdHJpbmdcbiAgYnJhbmROYW1lPzogc3RyaW5nXG4gIGluY29tZVR5cGU/OiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsXG4gIGZlZUlkPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgdHlwZSBQcm9qZWN0U2V0dGVyID0ge1xuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG4gIC8qKiBSYW5nbyBkZWwgdMOpcm1pbm8gYnVzY2FkbyBkZW50cm8gZGUgYHRpdGxlYCAoc29sbyByZXN1bHRhZG9zIGRlIGLDunNxdWVkYSkgKi9cbiAgdGl0bGVIaWdobGlnaHQ/OiB7IHN0YXJ0OiBudW1iZXI7IGxlbmd0aDogbnVtYmVyIH1cbiAgY2xpZW50SWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsXG4gIGZlZUlkPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbFxuICBjbGllbnQ/OiB7XG4gICAgbmFtZTogc3RyaW5nIHwgbnVsbFxuICB9XG4gIHByb2R1Y3ROYW1lPzogc3RyaW5nXG4gIGJyYW5kTmFtZT86IHN0cmluZ1xuICBpbmNvbWVUeXBlPzogc3RyaW5nXG59XG5cbnR5cGUgUHJvamVjdFNlYXJjaFJlc3VsdCA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICB0aXRsZTogc3RyaW5nXG4gIHR5cGU6IHN0cmluZ1xuICBjbGllbnRJZD86IG51bWJlciB8IHN0cmluZyB8IG51bGxcbiAgZmVlSWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsXG4gIGNsaWVudE5hbWU6IHN0cmluZ1xuICBicmFuZE5hbWU6IHN0cmluZ1xuICBwcm9kdWN0TmFtZTogc3RyaW5nXG4gIHByb2plY3ROYW1lOiBzdHJpbmdcbiAgc3RhdHVzOiBzdHJpbmdcbiAgZGVhZGxpbmU6IHN0cmluZ1xuICBkYXRldGltZTogc3RyaW5nXG4gIGFyY2hpdmVkOiBib29sZWFuXG4gIF9fdHlwZW5hbWU6IHN0cmluZ1xufVxuXG50eXBlIFF1ZXJ5U2VhcmNoUHJvamVjdERhdGEgPSB7IHNlYXJjaDogUHJvamVjdFNlYXJjaFJlc3VsdFtdIHwgbnVsbCB9XG5cbmNvbnN0IFRZUEVfUFJPSkVDVCA9IHsgcHJvamVjdDogJ3RydWUnLCBhcmNoaXZlZDogJ2FsbCcgfVxuXG5jb25zdCBtYXBwZXJQcm9qZWN0c1NlYXJjaCA9ICh2YWx1ZXM6IFByb2plY3RTZWFyY2hSZXN1bHRbXSk6IFByb2plY3RHcmFwaFFMW10gPT4ge1xuICByZXR1cm4gdmFsdWVzPy5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdmFsdWUuaWQsXG4gICAgdGl0bGU6IHZhbHVlLnRpdGxlLFxuICAgIGNsaWVudE5hbWU6IHZhbHVlLmNsaWVudE5hbWUsXG4gICAgcHJvZHVjdE5hbWU6IHZhbHVlLnByb2R1Y3ROYW1lLFxuICAgIGJyYW5kTmFtZTogdmFsdWUuYnJhbmROYW1lLFxuICAgIGluY29tZVR5cGU6ICcnLFxuICAgIGNsaWVudElkOiB2YWx1ZS5jbGllbnRJZCA/PyBudWxsLFxuICAgIGZlZUlkOiB2YWx1ZS5mZWVJZCA/PyBudWxsLFxuICB9KSlcbn1cblxuZXhwb3J0IGNvbnN0IERhdGFQYXJzZWRUb1Byb2plY3RzID0gKCkgPT4ge1xuICBjb25zdCBbcHJvamVjdHMsIHNldFByb2plY3RzXSA9IHVzZVN0YXRlPFByb2plY3RTZXR0ZXJbXT4oW10pXG4gIGNvbnN0IHNldHRlckRhdGEgPSAoYXJnczogUHJvamVjdEdyYXBoUUxbXSwgc2VhcmNoVmFsdWU/OiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIWFyZ3MubGVuZ3RoKSB7XG4gICAgICBzZXRQcm9qZWN0cyhbXSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0UHJvamVjdHMoXG4gICAgICAgIGFyZ3MubWFwKGFyZyA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvamVjdE5hbWUgPSBhcmcudGl0bGUgfHwgJydcbiAgICAgICAgICBsZXQgdGl0bGVIaWdobGlnaHQ6IHsgc3RhcnQ6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXIgfSB8IHVuZGVmaW5lZFxuICAgICAgICAgIGlmIChzZWFyY2hWYWx1ZSAmJiBwcm9qZWN0TmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFZhbHVlLnRvTG9jYWxlTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0SW5kZXggPSBwcm9qZWN0TmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIHRpdGxlSGlnaGxpZ2h0ID0geyBzdGFydDogdGV4dEluZGV4LCBsZW5ndGg6IHNlYXJjaFZhbHVlLmxlbmd0aCB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogYXJnLmlkLFxuICAgICAgICAgICAgbmFtZTogYXJnLnRpdGxlLFxuICAgICAgICAgICAgdGl0bGU6IHByb2plY3ROYW1lLFxuICAgICAgICAgICAgLi4uKHRpdGxlSGlnaGxpZ2h0ICYmIHsgdGl0bGVIaWdobGlnaHQgfSksXG4gICAgICAgICAgICAuLi4oYXJnLmNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudElkOiBhcmcuY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAgIC4uLihhcmcuZmVlSWQgIT0gbnVsbCA/IHsgZmVlSWQ6IGFyZy5mZWVJZCB9IDoge30pLFxuICAgICAgICAgICAgY2xpZW50OiB7XG4gICAgICAgICAgICAgIG5hbWU6IGFyZy5jbGllbnROYW1lID8/IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHJvZHVjdE5hbWU6IGFyZy5wcm9kdWN0TmFtZSB8fCAnJyxcbiAgICAgICAgICAgIGJyYW5kTmFtZTogYXJnLmJyYW5kTmFtZSB8fCAnJyxcbiAgICAgICAgICAgIGluY29tZVR5cGU6IGFyZy5pbmNvbWVUeXBlIHx8ICcnLFxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgcHJvamVjdHMsIHNldHRlckRhdGEgfVxufVxuXG5leHBvcnQgY29uc3QgdXNlUHJvamVjdFNlYXJjaCA9ICgpID0+IHtcbiAgY29uc3QgeyBwcm9qZWN0cywgc2V0dGVyRGF0YSB9ID0gRGF0YVBhcnNlZFRvUHJvamVjdHMoKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2VhcmNoVmFsdWUsIHNldFNlYXJjaFZhbHVlXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbaXNRdWVyeUluUHJvZ3Jlc3MsIHNldElzUXVlcnlJblByb2dyZXNzXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IGRlYm91bmNlZFNlYXJjaFZhbHVlID0gdXNlRGVib3VuY2Uoc2VhcmNoVmFsdWUsIFNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUylcblxuICBjb25zdCBbcmVjZW50UHJvamVjdHNEYXRhLCBzZXRSZWNlbnRQcm9qZWN0c0RhdGFdID0gdXNlU3RhdGU8UHJvamVjdEdyYXBoUUxbXSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtsb2FkaW5nUmVjZW50UHJvamVjdHMsIHNldExvYWRpbmdSZWNlbnRQcm9qZWN0c10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3JlY2VudEVycm9yLCBzZXRSZWNlbnRFcnJvcl0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBmZXRjaFJlY2VudFByb2plY3RzV2l0aExvYWRpbmcgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgc2V0TG9hZGluZyh0cnVlKVxuICAgIHNldEVycm9yKGZhbHNlKVxuICAgIHNldFJlY2VudEVycm9yKGZhbHNlKVxuICAgIHNldElzUXVlcnlJblByb2dyZXNzKHRydWUpXG4gICAgc2V0TG9hZGluZ1JlY2VudFByb2plY3RzKHRydWUpXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBtYWlhLlJlY2VudFByb2plY3RzLmdldFJlY2VudFByb2plY3RzKClcbiAgICAgIHNldFJlY2VudFByb2plY3RzRGF0YShBcnJheS5pc0FycmF5KGRhdGEpID8gZGF0YSA6IFtdKVxuICAgIH0gY2F0Y2gge1xuICAgICAgc2V0UmVjZW50RXJyb3IodHJ1ZSlcbiAgICAgIHNldFJlY2VudFByb2plY3RzRGF0YShudWxsKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRMb2FkaW5nUmVjZW50UHJvamVjdHMoZmFsc2UpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBbZmV0Y2hTZWFyY2hQcm9qZWN0cywgeyBkYXRhOiBzZWFyY2hEYXRhLCBsb2FkaW5nOiBsb2FkaW5nU2VhcmNoUHJvamVjdHMsIGVycm9yOiBzZWFyY2hFcnJvciB9XSA9XG4gICAgdXNlTGF6eVF1ZXJ5PFF1ZXJ5U2VhcmNoUHJvamVjdERhdGE+KFNFQVJDSF9QUk9KRUNUUywge1xuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGxpbWl0OiAyMCxcbiAgICAgIH0sXG4gICAgfSlcblxuICBjb25zdCBoYW5kbGVGZXRjaFNlYXJjaFByb2plY3RzID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBmZXRjaFNlYXJjaFByb2plY3RzKHsgdmFyaWFibGVzOiB7IHE6IHZhbHVlLCBmaWx0ZXJzOiBKU09OLnN0cmluZ2lmeShUWVBFX1BST0pFQ1QpIH0gfSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxvYWRpbmdSZWNlbnRQcm9qZWN0cyB8fCBsb2FkaW5nU2VhcmNoUHJvamVjdHMpIHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICAgIHNldEVycm9yKGZhbHNlKVxuICAgIH1cbiAgICBpZiAocmVjZW50RXJyb3IgfHwgc2VhcmNoRXJyb3IpIHtcbiAgICAgIHNldEVycm9yKHRydWUpXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgc2V0SXNRdWVyeUluUHJvZ3Jlc3MoZmFsc2UpXG4gICAgfVxuICB9LCBbc2VhcmNoRXJyb3IsIGxvYWRpbmdTZWFyY2hQcm9qZWN0cywgbG9hZGluZ1JlY2VudFByb2plY3RzLCByZWNlbnRFcnJvcl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWxvYWRpbmdSZWNlbnRQcm9qZWN0cyAmJiAhbG9hZGluZ1NlYXJjaFByb2plY3RzICYmIGlzUXVlcnlJblByb2dyZXNzKSB7XG4gICAgICBzZXRJc1F1ZXJ5SW5Qcm9ncmVzcyhmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoc2VhcmNoRGF0YT8uc2VhcmNoICYmIGRlYm91bmNlZFNlYXJjaFZhbHVlLnRyaW0oKSAmJiAhbG9hZGluZ1NlYXJjaFByb2plY3RzKSB7XG4gICAgICBjb25zdCBtYXBwZWRQcm9qZWN0cyA9IG1hcHBlclByb2plY3RzU2VhcmNoKHNlYXJjaERhdGEuc2VhcmNoKVxuICAgICAgc2V0dGVyRGF0YShtYXBwZWRQcm9qZWN0cywgZGVib3VuY2VkU2VhcmNoVmFsdWUpXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgfVxuICAgIGlmIChyZWNlbnRQcm9qZWN0c0RhdGEgIT09IG51bGwgJiYgIWRlYm91bmNlZFNlYXJjaFZhbHVlLnRyaW0oKSAmJiAhbG9hZGluZ1JlY2VudFByb2plY3RzICYmICFpc1F1ZXJ5SW5Qcm9ncmVzcykge1xuICAgICAgc2V0dGVyRGF0YShyZWNlbnRQcm9qZWN0c0RhdGEpXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgfVxuICB9LCBbXG4gICAgc2VhcmNoRGF0YSxcbiAgICByZWNlbnRQcm9qZWN0c0RhdGEsXG4gICAgZGVib3VuY2VkU2VhcmNoVmFsdWUsXG4gICAgbG9hZGluZ1JlY2VudFByb2plY3RzLFxuICAgIGxvYWRpbmdTZWFyY2hQcm9qZWN0cyxcbiAgICBpc1F1ZXJ5SW5Qcm9ncmVzcyxcbiAgXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChkZWJvdW5jZWRTZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgIGhhbmRsZUZldGNoU2VhcmNoUHJvamVjdHMoZGVib3VuY2VkU2VhcmNoVmFsdWUpXG4gICAgfVxuICB9LCBbZGVib3VuY2VkU2VhcmNoVmFsdWUsIHJlY2VudFByb2plY3RzRGF0YV0pXG5cbiAgY29uc3QgdXBkYXRlU2VhcmNoVmFsdWUgPSAobmV3U2VhcmNoVmFsdWU6IHN0cmluZykgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKG5ld1NlYXJjaFZhbHVlKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmZXRjaFJlY2VudFByb2plY3RzOiBmZXRjaFJlY2VudFByb2plY3RzV2l0aExvYWRpbmcsXG4gICAgcmVjZW50UHJvamVjdHNMb2FkaW5nOiBsb2FkaW5nLFxuICAgIHJlY2VudFByb2plY3RzRXJyb3I6IGVycm9yLFxuICAgIHJlY2VudFByb2plY3RzOiBwcm9qZWN0cyxcbiAgICB1cGRhdGVTZWFyY2hWYWx1ZSxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxT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
|
|
@@ -7,6 +7,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
7
7
|
import { useLazyQuery } from '@apollo/client';
|
|
8
8
|
import { useEffect, useState, useCallback } from 'react';
|
|
9
9
|
import maia from '../services/maia';
|
|
10
|
+
import { SEARCH_QUERY_DEBOUNCE_MS } from '../constants/config';
|
|
10
11
|
import { useDebounce } from './useDebounce';
|
|
11
12
|
import { SEARCH_CLIENTS } from '../services/query';
|
|
12
13
|
var CLIENT_STATUS_ACTIVE = 1;
|
|
@@ -53,7 +54,7 @@ export var useRecentClientsSearch = function useRecentClientsSearch() {
|
|
|
53
54
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
54
55
|
isQueryInProgress = _useState0[0],
|
|
55
56
|
setIsQueryInProgress = _useState0[1];
|
|
56
|
-
var debouncedSearchValue = useDebounce(searchValue,
|
|
57
|
+
var debouncedSearchValue = useDebounce(searchValue, SEARCH_QUERY_DEBOUNCE_MS);
|
|
57
58
|
var _useState1 = useState(null),
|
|
58
59
|
_useState10 = _slicedToArray(_useState1, 2),
|
|
59
60
|
recentClientsData = _useState10[0],
|
|
@@ -177,4 +178,4 @@ export var useRecentClientsSearch = function useRecentClientsSearch() {
|
|
|
177
178
|
updateSearchValue: updateSearchValue
|
|
178
179
|
};
|
|
179
180
|
};
|
|
180
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXp5UXVlcnkiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwibWFpYSIsInVzZURlYm91bmNlIiwiU0VBUkNIX0NMSUVOVFMiLCJDTElFTlRfU1RBVFVTX0FDVElWRSIsIm1hcHBlckNsaWVudHNTZWFyY2giLCJ2YWx1ZXMiLCJzZWFyY2hWYWx1ZSIsIl92YWx1ZXMkbWFwIiwibWFwIiwidmFsdWUiLCJjbGllbnROYW1lIiwibmFtZSIsIm5hbWVIaWdobGlnaHQiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwidGV4dEluZGV4IiwiaW5kZXhPZiIsInN0YXJ0IiwibGVuZ3RoIiwiX29iamVjdFNwcmVhZCIsImlkIiwidG90YWxQcm95ZWN0b3MiLCJ1c2VSZWNlbnRDbGllbnRzU2VhcmNoIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiY2xpZW50cyIsInNldENsaWVudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZXRTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwiaXNRdWVyeUluUHJvZ3Jlc3MiLCJzZXRJc1F1ZXJ5SW5Qcm9ncmVzcyIsImRlYm91bmNlZFNlYXJjaFZhbHVlIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwicmVjZW50Q2xpZW50c0RhdGEiLCJzZXRSZWNlbnRDbGllbnRzRGF0YSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJsb2FkaW5nUmVjZW50Q2xpZW50cyIsInNldExvYWRpbmdSZWNlbnRDbGllbnRzIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsInJlY2VudEVycm9yIiwic2V0UmVjZW50RXJyb3IiLCJfdXNlTGF6eVF1ZXJ5IiwidmFyaWFibGVzIiwicGFnZSIsInBlclBhZ2UiLCJmaWx0ZXIiLCJfdXNlTGF6eVF1ZXJ5MiIsImZldGNoU2VhcmNoQ2xpZW50cyIsIl91c2VMYXp5UXVlcnkyJCIsInNlYXJjaERhdGEiLCJkYXRhIiwibG9hZGluZ1NlYXJjaENsaWVudHMiLCJzZWFyY2hFcnJvciIsImhhbmRsZUZldGNoU2VhcmNoQ2xpZW50cyIsImNsaWVudFN0YXR1c0lkIiwiZmV0Y2hSZWNlbnRDbGllbnRzV2l0aExvYWRpbmciLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIm1hcHBlZCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJSZWNlbnRDbGllbnRzIiwiZ2V0UmVjZW50Q2xpZW50cyIsInNlbnQiLCJBcnJheSIsImlzQXJyYXkiLCJjIiwiZmluaXNoIiwic3RvcCIsIl9zZWFyY2hEYXRhJGNsaWVudHMiLCJ0cmltIiwidXBkYXRlU2VhcmNoVmFsdWUiLCJuZXdTZWFyY2hWYWx1ZSIsImZldGNoUmVjZW50Q2xpZW50cyIsInJlY2VudENsaWVudHNMb2FkaW5nIiwicmVjZW50Q2xpZW50c0Vycm9yIiwicmVjZW50Q2xpZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VSZWNlbnRDbGllbnRzU2VhcmNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUxhenlRdWVyeSB9IGZyb20gJ0BhcG9sbG8vY2xpZW50J1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBtYWlhIGZyb20gJy4uL3NlcnZpY2VzL21haWEnXG5pbXBvcnQgeyB1c2VEZWJvdW5jZSB9IGZyb20gJy4vdXNlRGVib3VuY2UnXG5pbXBvcnQgeyBTRUFSQ0hfQ0xJRU5UUyB9IGZyb20gJy4uL3NlcnZpY2VzL3F1ZXJ5J1xuXG5jb25zdCBDTElFTlRfU1RBVFVTX0FDVElWRSA9IDFcblxuZXhwb3J0IHR5cGUgUmVjZW50Q2xpZW50U2V0dGVyID0ge1xuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogUmFuZ28gZGVsIHTDqXJtaW5vIGJ1c2NhZG8gZGVudHJvIGRlIGBuYW1lYCAoc29sbyByZXN1bHRhZG9zIGRlIGLDunNxdWVkYSkgKi9cbiAgbmFtZUhpZ2hsaWdodD86IHsgc3RhcnQ6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXIgfVxuICB0b3RhbFByb3llY3Rvcz86IG51bWJlclxufVxuXG50eXBlIFF1ZXJ5Q2xpZW50RGF0YSA9IHtcbiAgY2xpZW50czoge1xuICAgIHRvdGFsOiBudW1iZXJcbiAgICBwZXJQYWdlOiBudW1iZXJcbiAgICBwYWdlOiBudW1iZXIgfCBudWxsXG4gICAgbGFzdFBhZ2U6IG51bWJlclxuICAgIGRhdGE6IEFycmF5PHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyB0b3RhbFByb3llY3Rvcz86IG51bWJlciB9PlxuICB9XG59XG5cbmNvbnN0IG1hcHBlckNsaWVudHNTZWFyY2ggPSAoXG4gIHZhbHVlczogQXJyYXk8eyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IHRvdGFsUHJveWVjdG9zPzogbnVtYmVyIH0+LFxuICBzZWFyY2hWYWx1ZT86IHN0cmluZ1xuKTogUmVjZW50Q2xpZW50U2V0dGVyW10gPT4ge1xuICByZXR1cm4gKFxuICAgIHZhbHVlcz8ubWFwKHZhbHVlID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudE5hbWUgPSB2YWx1ZS5uYW1lIHx8ICcnXG4gICAgICBsZXQgbmFtZUhpZ2hsaWdodDogeyBzdGFydDogbnVtYmVyOyBsZW5ndGg6IG51bWJlciB9IHwgdW5kZWZpbmVkXG4gICAgICBpZiAoc2VhcmNoVmFsdWUgJiYgY2xpZW50TmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgIGNvbnN0IHRleHRJbmRleCA9IGNsaWVudE5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgIG5hbWVIaWdobGlnaHQgPSB7IHN0YXJ0OiB0ZXh0SW5kZXgsIGxlbmd0aDogc2VhcmNoVmFsdWUubGVuZ3RoIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB2YWx1ZS5pZCxcbiAgICAgICAgbmFtZTogY2xpZW50TmFtZSxcbiAgICAgICAgLi4uKG5hbWVIaWdobGlnaHQgJiYgeyBuYW1lSGlnaGxpZ2h0IH0pLFxuICAgICAgICB0b3RhbFByb3llY3RvczogdmFsdWUudG90YWxQcm95ZWN0b3MsXG4gICAgICB9XG4gICAgfSkgPz8gW11cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgdXNlUmVjZW50Q2xpZW50c1NlYXJjaCA9ICgpID0+IHtcbiAgY29uc3QgW2NsaWVudHMsIHNldENsaWVudHNdID0gdXNlU3RhdGU8UmVjZW50Q2xpZW50U2V0dGVyW10+KFtdKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2VhcmNoVmFsdWUsIHNldFNlYXJjaFZhbHVlXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbaXNRdWVyeUluUHJvZ3Jlc3MsIHNldElzUXVlcnlJblByb2dyZXNzXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IGRlYm91bmNlZFNlYXJjaFZhbHVlID0gdXNlRGVib3VuY2Uoc2VhcmNoVmFsdWUsIDUwMClcblxuICBjb25zdCBbcmVjZW50Q2xpZW50c0RhdGEsIHNldFJlY2VudENsaWVudHNEYXRhXSA9IHVzZVN0YXRlPFJlY2VudENsaWVudFNldHRlcltdIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2xvYWRpbmdSZWNlbnRDbGllbnRzLCBzZXRMb2FkaW5nUmVjZW50Q2xpZW50c10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3JlY2VudEVycm9yLCBzZXRSZWNlbnRFcnJvcl0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBbZmV0Y2hTZWFyY2hDbGllbnRzLCB7IGRhdGE6IHNlYXJjaERhdGEsIGxvYWRpbmc6IGxvYWRpbmdTZWFyY2hDbGllbnRzLCBlcnJvcjogc2VhcmNoRXJyb3IgfV0gPVxuICAgIHVzZUxhenlRdWVyeTxRdWVyeUNsaWVudERhdGE+KFNFQVJDSF9DTElFTlRTLCB7XG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgcGFnZTogMSxcbiAgICAgICAgcGVyUGFnZTogMjAsXG4gICAgICAgIGZpbHRlcjoge30sXG4gICAgICB9LFxuICAgIH0pXG5cbiAgY29uc3QgaGFuZGxlRmV0Y2hTZWFyY2hDbGllbnRzID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBmaWx0ZXIgPSB2YWx1ZSA/IHsgbmFtZTogdmFsdWUsIGNsaWVudFN0YXR1c0lkOiBbQ0xJRU5UX1NUQVRVU19BQ1RJVkVdIH0gOiB7fVxuICAgIGZldGNoU2VhcmNoQ2xpZW50cyh7XG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgcGFnZTogMSxcbiAgICAgICAgcGVyUGFnZTogMjAsXG4gICAgICAgIGZpbHRlcixcbiAgICAgIH0sXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGZldGNoUmVjZW50Q2xpZW50c1dpdGhMb2FkaW5nID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICBzZXRFcnJvcihmYWxzZSlcbiAgICBzZXRSZWNlbnRFcnJvcihmYWxzZSlcbiAgICBzZXRJc1F1ZXJ5SW5Qcm9ncmVzcyh0cnVlKVxuICAgIHNldExvYWRpbmdSZWNlbnRDbGllbnRzKHRydWUpXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBtYWlhLlJlY2VudENsaWVudHMuZ2V0UmVjZW50Q2xpZW50cygpXG4gICAgICBjb25zdCBtYXBwZWQgPSAoQXJyYXkuaXNBcnJheShkYXRhKSA/IGRhdGEgOiBbXSkubWFwKFxuICAgICAgICAoYzogeyBpZDogbnVtYmVyOyBuYW1lOiBzdHJpbmc7IHRvdGFsUHJveWVjdG9zPzogbnVtYmVyIH0pID0+ICh7XG4gICAgICAgICAgaWQ6IGMuaWQsXG4gICAgICAgICAgbmFtZTogYy5uYW1lLFxuICAgICAgICAgIC4uLihjLnRvdGFsUHJveWVjdG9zICE9IG51bGwgJiYgeyB0b3RhbFByb3llY3RvczogYy50b3RhbFByb3llY3RvcyB9KSxcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIHNldFJlY2VudENsaWVudHNEYXRhKG1hcHBlZClcbiAgICB9IGNhdGNoIHtcbiAgICAgIHNldFJlY2VudEVycm9yKHRydWUpXG4gICAgICBzZXRSZWNlbnRDbGllbnRzRGF0YShudWxsKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRMb2FkaW5nUmVjZW50Q2xpZW50cyhmYWxzZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxvYWRpbmdSZWNlbnRDbGllbnRzIHx8IGxvYWRpbmdTZWFyY2hDbGllbnRzKSB7XG4gICAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICB9XG4gICAgaWYgKHJlY2VudEVycm9yIHx8IHNlYXJjaEVycm9yKSB7XG4gICAgICBzZXRFcnJvcih0cnVlKVxuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIHNldElzUXVlcnlJblByb2dyZXNzKGZhbHNlKVxuICAgIH1cbiAgfSwgW2xvYWRpbmdSZWNlbnRDbGllbnRzLCBsb2FkaW5nU2VhcmNoQ2xpZW50cywgcmVjZW50RXJyb3IsIHNlYXJjaEVycm9yXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbG9hZGluZ1JlY2VudENsaWVudHMgJiYgIWxvYWRpbmdTZWFyY2hDbGllbnRzICYmIGlzUXVlcnlJblByb2dyZXNzKSB7XG4gICAgICBzZXRJc1F1ZXJ5SW5Qcm9ncmVzcyhmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoc2VhcmNoRGF0YT8uY2xpZW50cz8uZGF0YSAmJiBkZWJvdW5jZWRTZWFyY2hWYWx1ZS50cmltKCkgJiYgIWxvYWRpbmdTZWFyY2hDbGllbnRzKSB7XG4gICAgICBjb25zdCBtYXBwZWQgPSBtYXBwZXJDbGllbnRzU2VhcmNoKHNlYXJjaERhdGEuY2xpZW50cy5kYXRhLCBkZWJvdW5jZWRTZWFyY2hWYWx1ZSlcbiAgICAgIHNldENsaWVudHMobWFwcGVkKVxuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIHNldEVycm9yKGZhbHNlKVxuICAgIH1cbiAgICBpZiAocmVjZW50Q2xpZW50c0RhdGEgIT09IG51bGwgJiYgIWRlYm91bmNlZFNlYXJjaFZhbHVlLnRyaW0oKSAmJiAhbG9hZGluZ1JlY2VudENsaWVudHMgJiYgIWlzUXVlcnlJblByb2dyZXNzKSB7XG4gICAgICBzZXRDbGllbnRzKHJlY2VudENsaWVudHNEYXRhKVxuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIHNldEVycm9yKGZhbHNlKVxuICAgIH1cbiAgfSwgW1xuICAgIHNlYXJjaERhdGEsXG4gICAgcmVjZW50Q2xpZW50c0RhdGEsXG4gICAgZGVib3VuY2VkU2VhcmNoVmFsdWUsXG4gICAgbG9hZGluZ1JlY2VudENsaWVudHMsXG4gICAgbG9hZGluZ1NlYXJjaENsaWVudHMsXG4gICAgaXNRdWVyeUluUHJvZ3Jlc3MsXG4gIF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZGVib3VuY2VkU2VhcmNoVmFsdWUudHJpbSgpKSB7XG4gICAgICBoYW5kbGVGZXRjaFNlYXJjaENsaWVudHMoZGVib3VuY2VkU2VhcmNoVmFsdWUpXG4gICAgfVxuICB9LCBbZGVib3VuY2VkU2VhcmNoVmFsdWVdKVxuXG4gIGNvbnN0IHVwZGF0ZVNlYXJjaFZhbHVlID0gKG5ld1NlYXJjaFZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZShuZXdTZWFyY2hWYWx1ZSlcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZmV0Y2hSZWNlbnRDbGllbnRzOiBmZXRjaFJlY2VudENsaWVudHNXaXRoTG9hZGluZyxcbiAgICByZWNlbnRDbGllbnRzTG9hZGluZzogbG9hZGluZyxcbiAgICByZWNlbnRDbGllbnRzRXJyb3I6IGVycm9yLFxuICAgIHJlY2VudENsaWVudHM6IGNsaWVudHMsXG4gICAgdXBkYXRlU2VhcmNoVmFsdWUsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsU0FBU0EsWUFBWSxRQUFRLGdCQUFnQjtBQUM3QyxTQUFTQyxTQUFTLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxRQUFRLE9BQU87QUFDeEQsT0FBT0MsSUFBSSxNQUFNLGtCQUFrQjtBQUNuQyxTQUFTQyxXQUFXLFFBQVEsZUFBZTtBQUMzQyxTQUFTQyxjQUFjLFFBQVEsbUJBQW1CO0FBRWxELElBQU1DLG9CQUFvQixHQUFHLENBQUM7QUFvQjlCLElBQU1DLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQ3ZCQyxNQUFvRSxFQUNwRUMsV0FBb0IsRUFDSztFQUFBLElBQUFDLFdBQUE7RUFDekIsUUFBQUEsV0FBQSxHQUNFRixNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRUcsR0FBRyxDQUFDLFVBQUFDLEtBQUssRUFBSTtJQUNuQixJQUFNQyxVQUFVLEdBQUdELEtBQUssQ0FBQ0UsSUFBSSxJQUFJLEVBQUU7SUFDbkMsSUFBSUMsYUFBNEQ7SUFDaEUsSUFBSU4sV0FBVyxJQUFJSSxVQUFVLENBQUNHLFdBQVcsQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQ1IsV0FBVyxDQUFDTyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUU7TUFDL0UsSUFBTUUsU0FBUyxHQUFHTCxVQUFVLENBQUNHLFdBQVcsQ0FBQyxDQUFDLENBQUNHLE9BQU8sQ0FBQ1YsV0FBVyxDQUFDTyxXQUFXLENBQUMsQ0FBQyxDQUFDO01BQzdFRCxhQUFhLEdBQUc7UUFBRUssS0FBSyxFQUFFRixTQUFTO1FBQUVHLE1B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
|
|
181
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXp5UXVlcnkiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwibWFpYSIsIlNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUyIsInVzZURlYm91bmNlIiwiU0VBUkNIX0NMSUVOVFMiLCJDTElFTlRfU1RBVFVTX0FDVElWRSIsIm1hcHBlckNsaWVudHNTZWFyY2giLCJ2YWx1ZXMiLCJzZWFyY2hWYWx1ZSIsIl92YWx1ZXMkbWFwIiwibWFwIiwidmFsdWUiLCJjbGllbnROYW1lIiwibmFtZSIsIm5hbWVIaWdobGlnaHQiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwidGV4dEluZGV4IiwiaW5kZXhPZiIsInN0YXJ0IiwibGVuZ3RoIiwiX29iamVjdFNwcmVhZCIsImlkIiwidG90YWxQcm95ZWN0b3MiLCJ1c2VSZWNlbnRDbGllbnRzU2VhcmNoIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiY2xpZW50cyIsInNldENsaWVudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZXRTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwiaXNRdWVyeUluUHJvZ3Jlc3MiLCJzZXRJc1F1ZXJ5SW5Qcm9ncmVzcyIsImRlYm91bmNlZFNlYXJjaFZhbHVlIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwicmVjZW50Q2xpZW50c0RhdGEiLCJzZXRSZWNlbnRDbGllbnRzRGF0YSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJsb2FkaW5nUmVjZW50Q2xpZW50cyIsInNldExvYWRpbmdSZWNlbnRDbGllbnRzIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsInJlY2VudEVycm9yIiwic2V0UmVjZW50RXJyb3IiLCJfdXNlTGF6eVF1ZXJ5IiwidmFyaWFibGVzIiwicGFnZSIsInBlclBhZ2UiLCJmaWx0ZXIiLCJfdXNlTGF6eVF1ZXJ5MiIsImZldGNoU2VhcmNoQ2xpZW50cyIsIl91c2VMYXp5UXVlcnkyJCIsInNlYXJjaERhdGEiLCJkYXRhIiwibG9hZGluZ1NlYXJjaENsaWVudHMiLCJzZWFyY2hFcnJvciIsImhhbmRsZUZldGNoU2VhcmNoQ2xpZW50cyIsImNsaWVudFN0YXR1c0lkIiwiZmV0Y2hSZWNlbnRDbGllbnRzV2l0aExvYWRpbmciLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIm1hcHBlZCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJSZWNlbnRDbGllbnRzIiwiZ2V0UmVjZW50Q2xpZW50cyIsInNlbnQiLCJBcnJheSIsImlzQXJyYXkiLCJjIiwiZmluaXNoIiwic3RvcCIsIl9zZWFyY2hEYXRhJGNsaWVudHMiLCJ0cmltIiwidXBkYXRlU2VhcmNoVmFsdWUiLCJuZXdTZWFyY2hWYWx1ZSIsImZldGNoUmVjZW50Q2xpZW50cyIsInJlY2VudENsaWVudHNMb2FkaW5nIiwicmVjZW50Q2xpZW50c0Vycm9yIiwicmVjZW50Q2xpZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VSZWNlbnRDbGllbnRzU2VhcmNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUxhenlRdWVyeSB9IGZyb20gJ0BhcG9sbG8vY2xpZW50J1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBtYWlhIGZyb20gJy4uL3NlcnZpY2VzL21haWEnXG5pbXBvcnQgeyBTRUFSQ0hfUVVFUllfREVCT1VOQ0VfTVMgfSBmcm9tICcuLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlRGVib3VuY2UgfSBmcm9tICcuL3VzZURlYm91bmNlJ1xuaW1wb3J0IHsgU0VBUkNIX0NMSUVOVFMgfSBmcm9tICcuLi9zZXJ2aWNlcy9xdWVyeSdcblxuY29uc3QgQ0xJRU5UX1NUQVRVU19BQ1RJVkUgPSAxXG5cbmV4cG9ydCB0eXBlIFJlY2VudENsaWVudFNldHRlciA9IHtcbiAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFJhbmdvIGRlbCB0w6lybWlubyBidXNjYWRvIGRlbnRybyBkZSBgbmFtZWAgKHNvbG8gcmVzdWx0YWRvcyBkZSBiw7pzcXVlZGEpICovXG4gIG5hbWVIaWdobGlnaHQ/OiB7IHN0YXJ0OiBudW1iZXI7IGxlbmd0aDogbnVtYmVyIH1cbiAgdG90YWxQcm95ZWN0b3M/OiBudW1iZXJcbn1cblxudHlwZSBRdWVyeUNsaWVudERhdGEgPSB7XG4gIGNsaWVudHM6IHtcbiAgICB0b3RhbDogbnVtYmVyXG4gICAgcGVyUGFnZTogbnVtYmVyXG4gICAgcGFnZTogbnVtYmVyIHwgbnVsbFxuICAgIGxhc3RQYWdlOiBudW1iZXJcbiAgICBkYXRhOiBBcnJheTx7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZzsgdG90YWxQcm95ZWN0b3M/OiBudW1iZXIgfT5cbiAgfVxufVxuXG5jb25zdCBtYXBwZXJDbGllbnRzU2VhcmNoID0gKFxuICB2YWx1ZXM6IEFycmF5PHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyB0b3RhbFByb3llY3Rvcz86IG51bWJlciB9PixcbiAgc2VhcmNoVmFsdWU/OiBzdHJpbmdcbik6IFJlY2VudENsaWVudFNldHRlcltdID0+IHtcbiAgcmV0dXJuIChcbiAgICB2YWx1ZXM/Lm1hcCh2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBjbGllbnROYW1lID0gdmFsdWUubmFtZSB8fCAnJ1xuICAgICAgbGV0IG5hbWVIaWdobGlnaHQ6IHsgc3RhcnQ6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXIgfSB8IHVuZGVmaW5lZFxuICAgICAgaWYgKHNlYXJjaFZhbHVlICYmIGNsaWVudE5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICBjb25zdCB0ZXh0SW5kZXggPSBjbGllbnROYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICBuYW1lSGlnaGxpZ2h0ID0geyBzdGFydDogdGV4dEluZGV4LCBsZW5ndGg6IHNlYXJjaFZhbHVlLmxlbmd0aCB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogdmFsdWUuaWQsXG4gICAgICAgIG5hbWU6IGNsaWVudE5hbWUsXG4gICAgICAgIC4uLihuYW1lSGlnaGxpZ2h0ICYmIHsgbmFtZUhpZ2hsaWdodCB9KSxcbiAgICAgICAgdG90YWxQcm95ZWN0b3M6IHZhbHVlLnRvdGFsUHJveWVjdG9zLFxuICAgICAgfVxuICAgIH0pID8/IFtdXG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVJlY2VudENsaWVudHNTZWFyY2ggPSAoKSA9PiB7XG4gIGNvbnN0IFtjbGllbnRzLCBzZXRDbGllbnRzXSA9IHVzZVN0YXRlPFJlY2VudENsaWVudFNldHRlcltdPihbXSlcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3NlYXJjaFZhbHVlLCBzZXRTZWFyY2hWYWx1ZV0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW2lzUXVlcnlJblByb2dyZXNzLCBzZXRJc1F1ZXJ5SW5Qcm9ncmVzc10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBkZWJvdW5jZWRTZWFyY2hWYWx1ZSA9IHVzZURlYm91bmNlKHNlYXJjaFZhbHVlLCBTRUFSQ0hfUVVFUllfREVCT1VOQ0VfTVMpXG5cbiAgY29uc3QgW3JlY2VudENsaWVudHNEYXRhLCBzZXRSZWNlbnRDbGllbnRzRGF0YV0gPSB1c2VTdGF0ZTxSZWNlbnRDbGllbnRTZXR0ZXJbXSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtsb2FkaW5nUmVjZW50Q2xpZW50cywgc2V0TG9hZGluZ1JlY2VudENsaWVudHNdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtyZWNlbnRFcnJvciwgc2V0UmVjZW50RXJyb3JdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgW2ZldGNoU2VhcmNoQ2xpZW50cywgeyBkYXRhOiBzZWFyY2hEYXRhLCBsb2FkaW5nOiBsb2FkaW5nU2VhcmNoQ2xpZW50cywgZXJyb3I6IHNlYXJjaEVycm9yIH1dID1cbiAgICB1c2VMYXp5UXVlcnk8UXVlcnlDbGllbnREYXRhPihTRUFSQ0hfQ0xJRU5UUywge1xuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIHBhZ2U6IDEsXG4gICAgICAgIHBlclBhZ2U6IDIwLFxuICAgICAgICBmaWx0ZXI6IHt9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gIGNvbnN0IGhhbmRsZUZldGNoU2VhcmNoQ2xpZW50cyA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZmlsdGVyID0gdmFsdWUgPyB7IG5hbWU6IHZhbHVlLCBjbGllbnRTdGF0dXNJZDogW0NMSUVOVF9TVEFUVVNfQUNUSVZFXSB9IDoge31cbiAgICBmZXRjaFNlYXJjaENsaWVudHMoe1xuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIHBhZ2U6IDEsXG4gICAgICAgIHBlclBhZ2U6IDIwLFxuICAgICAgICBmaWx0ZXIsXG4gICAgICB9LFxuICAgIH0pXG4gIH1cblxuICBjb25zdCBmZXRjaFJlY2VudENsaWVudHNXaXRoTG9hZGluZyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgc2V0UmVjZW50RXJyb3IoZmFsc2UpXG4gICAgc2V0SXNRdWVyeUluUHJvZ3Jlc3ModHJ1ZSlcbiAgICBzZXRMb2FkaW5nUmVjZW50Q2xpZW50cyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgbWFpYS5SZWNlbnRDbGllbnRzLmdldFJlY2VudENsaWVudHMoKVxuICAgICAgY29uc3QgbWFwcGVkID0gKEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhIDogW10pLm1hcChcbiAgICAgICAgKGM6IHsgaWQ6IG51bWJlcjsgbmFtZTogc3RyaW5nOyB0b3RhbFByb3llY3Rvcz86IG51bWJlciB9KSA9PiAoe1xuICAgICAgICAgIGlkOiBjLmlkLFxuICAgICAgICAgIG5hbWU6IGMubmFtZSxcbiAgICAgICAgICAuLi4oYy50b3RhbFByb3llY3RvcyAhPSBudWxsICYmIHsgdG90YWxQcm95ZWN0b3M6IGMudG90YWxQcm95ZWN0b3MgfSksXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICBzZXRSZWNlbnRDbGllbnRzRGF0YShtYXBwZWQpXG4gICAgfSBjYXRjaCB7XG4gICAgICBzZXRSZWNlbnRFcnJvcih0cnVlKVxuICAgICAgc2V0UmVjZW50Q2xpZW50c0RhdGEobnVsbClcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZ1JlY2VudENsaWVudHMoZmFsc2UpXG4gICAgfVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsb2FkaW5nUmVjZW50Q2xpZW50cyB8fCBsb2FkaW5nU2VhcmNoQ2xpZW50cykge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgfVxuICAgIGlmIChyZWNlbnRFcnJvciB8fCBzZWFyY2hFcnJvcikge1xuICAgICAgc2V0RXJyb3IodHJ1ZSlcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRJc1F1ZXJ5SW5Qcm9ncmVzcyhmYWxzZSlcbiAgICB9XG4gIH0sIFtsb2FkaW5nUmVjZW50Q2xpZW50cywgbG9hZGluZ1NlYXJjaENsaWVudHMsIHJlY2VudEVycm9yLCBzZWFyY2hFcnJvcl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWxvYWRpbmdSZWNlbnRDbGllbnRzICYmICFsb2FkaW5nU2VhcmNoQ2xpZW50cyAmJiBpc1F1ZXJ5SW5Qcm9ncmVzcykge1xuICAgICAgc2V0SXNRdWVyeUluUHJvZ3Jlc3MoZmFsc2UpXG4gICAgfVxuXG4gICAgaWYgKHNlYXJjaERhdGE/LmNsaWVudHM/LmRhdGEgJiYgZGVib3VuY2VkU2VhcmNoVmFsdWUudHJpbSgpICYmICFsb2FkaW5nU2VhcmNoQ2xpZW50cykge1xuICAgICAgY29uc3QgbWFwcGVkID0gbWFwcGVyQ2xpZW50c1NlYXJjaChzZWFyY2hEYXRhLmNsaWVudHMuZGF0YSwgZGVib3VuY2VkU2VhcmNoVmFsdWUpXG4gICAgICBzZXRDbGllbnRzKG1hcHBlZClcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICB9XG4gICAgaWYgKHJlY2VudENsaWVudHNEYXRhICE9PSBudWxsICYmICFkZWJvdW5jZWRTZWFyY2hWYWx1ZS50cmltKCkgJiYgIWxvYWRpbmdSZWNlbnRDbGllbnRzICYmICFpc1F1ZXJ5SW5Qcm9ncmVzcykge1xuICAgICAgc2V0Q2xpZW50cyhyZWNlbnRDbGllbnRzRGF0YSlcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICB9XG4gIH0sIFtcbiAgICBzZWFyY2hEYXRhLFxuICAgIHJlY2VudENsaWVudHNEYXRhLFxuICAgIGRlYm91bmNlZFNlYXJjaFZhbHVlLFxuICAgIGxvYWRpbmdSZWNlbnRDbGllbnRzLFxuICAgIGxvYWRpbmdTZWFyY2hDbGllbnRzLFxuICAgIGlzUXVlcnlJblByb2dyZXNzLFxuICBdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRlYm91bmNlZFNlYXJjaFZhbHVlLnRyaW0oKSkge1xuICAgICAgaGFuZGxlRmV0Y2hTZWFyY2hDbGllbnRzKGRlYm91bmNlZFNlYXJjaFZhbHVlKVxuICAgIH1cbiAgfSwgW2RlYm91bmNlZFNlYXJjaFZhbHVlXSlcblxuICBjb25zdCB1cGRhdGVTZWFyY2hWYWx1ZSA9IChuZXdTZWFyY2hWYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUobmV3U2VhcmNoVmFsdWUpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGZldGNoUmVjZW50Q2xpZW50czogZmV0Y2hSZWNlbnRDbGllbnRzV2l0aExvYWRpbmcsXG4gICAgcmVjZW50Q2xpZW50c0xvYWRpbmc6IGxvYWRpbmcsXG4gICAgcmVjZW50Q2xpZW50c0Vycm9yOiBlcnJvcixcbiAgICByZWNlbnRDbGllbnRzOiBjbGllbnRzLFxuICAgIHVwZGF0ZVNlYXJjaFZhbHVlLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLFNBQVNBLFlBQVksUUFBUSxnQkFBZ0I7QUFDN0MsU0FBU0MsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsUUFBUSxPQUFPO0FBQ3hELE9BQU9DLElBQUksTUFBTSxrQkFBa0I7QUFDbkMsU0FBU0Msd0JBQXdCLFFBQVEscUJBQXFCO0FBQzlELFNBQVNDLFdBQVcsUUFBUSxlQUFlO0FBQzNDLFNBQVNDLGNBQWMsUUFBUSxtQkFBbUI7QUFFbEQsSUFBTUMsb0JBQW9CLEdBQUcsQ0FBQztBQW9COUIsSUFBTUMsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FDdkJDLE1BQW9FLEVBQ3BFQyxXQUFvQixFQUNLO0VBQUEsSUFBQUMsV0FBQTtFQUN6QixRQUFBQSxXQUFBLEdBQ0VGLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFRyxHQUFHLENBQUMsVUFBQUMsS0FBSyxFQUFJO0lBQ25CLElBQU1DLFVBQVUsR0FBR0QsS0FBSyxDQUFDRSxJQUFJLElBQUksRUFBRTtJQUNuQyxJQUFJQyxhQUE0RDtJQUNoRSxJQUFJTixXQUFXLElBQUlJLFVBQVUsQ0FBQ0csV0FBVyxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDUixXQUFXLENBQUNPLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRTtN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
|