@agilemotion/oui-react-js 2.0.18 → 2.0.19
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/dist/ApplicationManager.js +25 -8
- package/dist/components/SocketManager.js +6 -3
- package/dist/components/dashboard/FoldingSideTabDashboard.js +4 -2
- package/dist/components/dashboard/components/blackDashboard/sidebar/FoldingTabSidebar.js +18 -2
- package/dist/components/layout/Window.js +2 -2
- package/dist/view/Dashboard.js +2 -2
- package/package.json +1 -1
|
@@ -229,7 +229,7 @@ const Window = props => {
|
|
|
229
229
|
paper.style.overflow = 'hidden';
|
|
230
230
|
} else {
|
|
231
231
|
paper.style.width = '322px';
|
|
232
|
-
paper.style.height = 'calc(100% -
|
|
232
|
+
paper.style.height = 'calc(100% - 68px)';
|
|
233
233
|
paper.style.boxShadow = 'unset';
|
|
234
234
|
paper.style.borderRadius = '4px';
|
|
235
235
|
paper.style.left = 'unset';
|
|
@@ -428,4 +428,4 @@ const Window = props => {
|
|
|
428
428
|
}))))))), children)))));
|
|
429
429
|
};
|
|
430
430
|
var _default = exports.default = Window;
|
|
431
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REcmFnZ2FibGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1BhcGVyIiwiX0ljb24iLCJfSWNvbkJ1dHRvbiIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfV2luZG93RGlhbG9nIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidCIsIldlYWtNYXAiLCJyIiwibiIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXBwbHkiLCJtaW5pbWl6ZVdpZHRoIiwiTU9CSUxFX0JSRUFLUE9JTlQiLCJpc01vYmlsZVdpZHRoIiwid2luZG93IiwiaW5uZXJXaWR0aCIsIlBhcGVyQ29tcG9uZW50IiwicHJvcHMiLCJub2RlUmVmIiwidXNlUmVmIiwiYm91bmRzIiwic2V0Qm91bmRzIiwidXNlU3RhdGUiLCJsZWZ0IiwicmlnaHQiLCJ0b3AiLCJib3R0b20iLCJoYW5kbGVTdGFydCIsImRhdGEiLCJjb25zb2xlIiwibG9nIiwibm9kZSIsIm9mZnNldFRvcCIsImlubmVySGVpZ2h0IiwiY3JlYXRlRWxlbWVudCIsInJlZiIsIldpbmRvdyIsImNoaWxkcmVuIiwib3BlbiIsIm1pbmltaXphYmxlIiwiZGlzcGxheVN0YXRlIiwic2V0RGlzcGxheVN0YXRlIiwid2luZG93VHJhbnNmb3JtVmFsdWUiLCJzZXRXaW5kb3dUcmFuc2Zvcm1WYWx1ZSIsImlzTW9iaWxlIiwic2V0SXNNb2JpbGUiLCJ1c2VFZmZlY3QiLCJvblJlc2l6ZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY29sbGFwc2VkIiwibGVmdE9mZnNldFJlZiIsImxlZnRPZmZzZXQiLCJjdXJyZW50IiwiZGlzcGxheVN0YXRlUmVmIiwiYXBwbGljYXRpb25NYW5hZ2VyIiwidXBkYXRlQ29udGV4dCIsIndpbmRvd0Rpc3BsYXlTdGF0ZSIsImFkZEFwcGxpY2F0aW9uQ29udGV4dFN1YnNjcmlwdGlvbiIsImhhbmRsZXIiLCJpZCIsIm9uQ29udGV4dENoYW5nZSIsImNvbnRleHQiLCJuZXdWYWx1ZXMiLCJrZXlzIiwiZmluZCIsImtleSIsIm1heGltaXplVmlldyIsIm1pbmltaXplVmlldyIsInBpblZpZXciLCJ0aGVuIiwiaW5pdGlhbENvbnRleHQiLCJyYWYiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJkaXNwYXRjaEV2ZW50IiwiRXZlbnQiLCJjYW5jZWxBbmltYXRpb25GcmFtZSIsImdldE1pbmltaXplZFN0eWxlIiwidHJhbnNmb3JtIiwiYmFja2dyb3VuZENvbG9yIiwid2lkdGgiLCJtYXhXaWR0aCIsImhlaWdodCIsIm1hcmdpbiIsImdldE1heGltaXplZFN0eWxlIiwicG9zaXRpb24iLCJnZXRDb2xsYXBzZWRTdHlsZSIsIm1pbldpZHRoIiwiYm9yZGVyUmFkaXVzIiwib3ZlcmZsb3ciLCJib3hTaGFkb3ciLCJnZXRQaW5uZWRTdHlsZSIsInVuZGVmaW5lZCIsInBpbm5hYmxlIiwicGFwZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwic3R5bGUiLCJoZWFkZXIiLCJnZXRFbGVtZW50c0J5Q2xhc3NOYW1lIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJjb2xvciIsIm9uUGlubmVkIiwicmVtb3ZlUHJvcGVydHkiLCJib3JkZXIiLCJjdXJzb3IiLCJGcmFnbWVudCIsIm1heEhlaWdodCIsIm92ZXJmbG93WCIsIm92ZXJmbG93WSIsImRpc3BsYXkiLCJkaXNhYmxlRW5mb3JjZUZvY3VzIiwib25DbG9zZSIsImtlZXBNb3VudGVkIiwiaGlkZUJhY2tkcm9wIiwiY2xhc3NOYW1lIiwiY29udGFpbmVyQ2xhc3NOYW1lIiwiUGFwZXJQcm9wcyIsImRpc2FibGVkIiwiY29uY2F0Iiwib25DbGljayIsIm9uUGluIiwibWFyZ2luVG9wIiwibWFyZ2luUmlnaHQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L1dpbmRvdy5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgJy4vV2luZG93LmNzcyc7XG5pbXBvcnQgRHJhZ2dhYmxlIGZyb20gJ3JlYWN0LWRyYWdnYWJsZSc7XG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XG5pbXBvcnQgSWNvbiBmcm9tICcuLi9JY29uJztcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvSWNvbkJ1dHRvbic7XG5pbXBvcnQgYXBwbGljYXRpb25NYW5hZ2VyIGZyb20gJy4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlcic7XG5pbXBvcnQgV2luZG93RGlhbG9nIGZyb20gXCIuL1dpbmRvd0RpYWxvZ1wiO1xuXG5jb25zdCBtaW5pbWl6ZVdpZHRoID0gJzg0OCc7XG4vLyBCZWxvdyB0aGlzIHZpZXdwb3J0IHdpZHRoIGEgMzIwcHggcGlubmVkIHdpbmRvdyBzd2FsbG93cyB0aGUgd2hvbGUgcGhvbmVcbi8vIHNjcmVlbiwgc28gcGlubmluZyBjb2xsYXBzZXMgdG8gYSBzbWFsbCBmbG9hdGluZyBwaWxsICh1bnBpbiBpY29uIG9ubHkpLlxuY29uc3QgTU9CSUxFX0JSRUFLUE9JTlQgPSA2MDA7XG5jb25zdCBpc01vYmlsZVdpZHRoID0gKCkgPT4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmlubmVyV2lkdGggPCBNT0JJTEVfQlJFQUtQT0lOVDtcbmNvbnN0IFBhcGVyQ29tcG9uZW50ID0gKHByb3BzKSA9PiB7XG5cbiAgICBjb25zdCBub2RlUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IFtib3VuZHMsIHNldEJvdW5kc10gPSB1c2VTdGF0ZSh7XG4gICAgICAgIGxlZnQ6IDAsXG4gICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICB0b3A6IDAsXG4gICAgICAgIGJvdHRvbTogMFxuICAgIH0pO1xuXG4gICAgY29uc3QgaGFuZGxlU3RhcnQgPSAoZSwgZGF0YSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkRSQUcgU1RBUlRcIik7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy9jb25zdCB4ID0gZGF0YS5ub2RlLm9mZnNldExlZnQgLSBkYXRhLm5vZGUub2Zmc2V0V2lkdGg7XG4gICAgICAgIGNvbnN0IHRvcCA9IC1kYXRhLm5vZGUub2Zmc2V0VG9wICsgNjQ7XG4gICAgICAgIGNvbnN0IGJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIChkYXRhLm5vZGUub2Zmc2V0VG9wICsgNjQpO1xuXG4gICAgICAgIHNldEJvdW5kcyh7XG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICB0b3A6IHRvcCxcbiAgICAgICAgICAgIGJvdHRvbTogYm90dG9tXG4gICAgICAgIH0pO1xuXG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxQYXBlciB7Li4ucHJvcHN9IHJlZj17bm9kZVJlZn0vPlxuICAgICAgICAvKjxEcmFnZ2FibGVcbiAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5kaXNhYmxlZH1cbiAgICAgICAgICAgIGJvdW5kcz17Ym91bmRzfVxuICAgICAgICAgICAgb25TdGFydD17aGFuZGxlU3RhcnR9XG4gICAgICAgICAgICBoYW5kbGU9XCIjbWVldGluZy13aW5kb3ctaGVhZGVyXCJcbiAgICAgICAgICAgIGNhbmNlbD17J1tjbGFzcyo9XCJNdWlEaWFsb2dDb250ZW50LXJvb3RcIl0nfVxuICAgICAgICAgICAgbm9kZVJlZj17bm9kZVJlZn1cbiAgICAgICAgPlxuICAgICAgICAgICAgPFBhcGVyIHsuLi5wcm9wc30gcmVmPXtub2RlUmVmfSBzdHlsZT17e21pbldpZHRoOiAnMzIwcHgnfX0vPlxuICAgICAgICA8L0RyYWdnYWJsZT4qL1xuICAgICk7XG59O1xuXG5jb25zdCBXaW5kb3cgPSAocHJvcHMpID0+IHtcblxuICAgIGNvbnN0IHtcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIG9wZW4sXG4gICAgICAgIG1pbmltaXphYmxlXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IFtkaXNwbGF5U3RhdGUsIHNldERpc3BsYXlTdGF0ZV0gPSB1c2VTdGF0ZShwcm9wcy5kaXNwbGF5U3RhdGUpO1xuICAgIGNvbnN0IFt3aW5kb3dUcmFuc2Zvcm1WYWx1ZSwgc2V0V2luZG93VHJhbnNmb3JtVmFsdWVdID0gdXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW2lzTW9iaWxlLCBzZXRJc01vYmlsZV0gPSB1c2VTdGF0ZShpc01vYmlsZVdpZHRoKCkpO1xuXG4gICAgLy8gVHJhY2sgdmlld3BvcnQgd2lkdGggc28gYSBwaW5uZWQgd2luZG93IGNvbGxhcHNlcy9leHBhbmRzIG9uIHJvdGF0ZS9yZXNpemUuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3Qgb25SZXNpemUgPSAoKSA9PiBzZXRJc01vYmlsZShpc01vYmlsZVdpZHRoKCkpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25SZXNpemUpO1xuICAgICAgICByZXR1cm4gKCkgPT4gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uUmVzaXplKTtcbiAgICB9LCBbXSk7XG5cbiAgICAvLyBDb2xsYXBzZWQgPSBwaW5uZWQgb24gYSBwaG9uZTogc2hyaW5rIHRvIGEgcGlsbCwga2VlcCBldmVyeXRoaW5nIG1vdW50ZWQuXG4gICAgY29uc3QgY29sbGFwc2VkID0gaXNNb2JpbGUgJiYgZGlzcGxheVN0YXRlID09PSAnUElOTkVEJztcblxuICAgIC8vIFRoZSBjb250ZXh0IHN1YnNjcmlwdGlvbiBiZWxvdyBpcyByZWdpc3RlcmVkIE9OQ0Ugb24gbW91bnQsIHNvIHRoZVxuICAgIC8vIG1heGltaXplL21pbmltaXplL3BpbiBjbG9zdXJlcyBpdCBjYWxscyB3b3VsZCBvdGhlcndpc2UgY2FwdHVyZSBtb3VudC10aW1lXG4gICAgLy8gcHJvcHMvc3RhdGUuIE1pcnJvciB0aGUgbGl2ZSB2YWx1ZXMgaW50byByZWZzIHNvIHRob3NlIGltcGVyYXRpdmUgaGFuZGxlcnNcbiAgICAvLyBhbHdheXMgcmVhZCB0aGUgQ1VSUkVOVCBkcmF3ZXIgb2Zmc2V0ICsgZGlzcGxheSBzdGF0ZS4gKFdpdGhvdXQgdGhpcyxcbiAgICAvLyBwaW4gLT4gY2xvc2UgZHJhd2VyIC0+IHVucGluIHJlc3RvcmVzIHRoZSB3aW5kb3cgdG8gdGhlIHN0YWxlIG9wZW4tZHJhd2VyXG4gICAgLy8gbGVmdCBvZmZzZXQgaW5zdGVhZCBvZiB0aGUgY29sbGFwc2VkIG1pbmktZHJhd2VyIHBvc2l0aW9uLilcbiAgICBjb25zdCBsZWZ0T2Zmc2V0UmVmID0gdXNlUmVmKHByb3BzLmxlZnRPZmZzZXQpO1xuICAgIGxlZnRPZmZzZXRSZWYuY3VycmVudCA9IHByb3BzLmxlZnRPZmZzZXQ7XG4gICAgY29uc3QgZGlzcGxheVN0YXRlUmVmID0gdXNlUmVmKGRpc3BsYXlTdGF0ZSk7XG4gICAgZGlzcGxheVN0YXRlUmVmLmN1cnJlbnQgPSBkaXNwbGF5U3RhdGU7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAocHJvcHMuZGlzcGxheVN0YXRlKSB7XG4gICAgICAgICAgICBzZXREaXNwbGF5U3RhdGUocHJvcHMuZGlzcGxheVN0YXRlKTtcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci51cGRhdGVDb250ZXh0KHt3aW5kb3dEaXNwbGF5U3RhdGU6IHByb3BzLmRpc3BsYXlTdGF0ZX0pO1xuICAgICAgICB9XG4gICAgfSwgW3Byb3BzLmRpc3BsYXlTdGF0ZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLmFkZEFwcGxpY2F0aW9uQ29udGV4dFN1YnNjcmlwdGlvbih7XG4gICAgICAgICAgICBoYW5kbGVyOiB7XG4gICAgICAgICAgICAgICAgZ2V0IGlkKCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3dpbmRvdyc7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvbkNvbnRleHRDaGFuZ2U6IChjb250ZXh0LCBuZXdWYWx1ZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlcylcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maW5kKChrZXkpID0+IGtleSA9PT0gJ3dpbmRvd0Rpc3BsYXlTdGF0ZScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnTUlOIDogJyArIG5ld1ZhbHVlcy53aW5kb3dEaXNwbGF5U3RhdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1ZhbHVlcy53aW5kb3dEaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW1pemVWaWV3KG51bGwsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobmV3VmFsdWVzLndpbmRvd0Rpc3BsYXlTdGF0ZSA9PT0gJ01JTklNSVpFRCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbWl6ZVZpZXcobnVsbCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuZXdWYWx1ZXMud2luZG93RGlzcGxheVN0YXRlID09PSAnUElOTkVEJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpblZpZXcobnVsbCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KS50aGVuKChpbml0aWFsQ29udGV4dCkgPT4ge1xuICAgICAgICAgICAgc2V0RGlzcGxheVN0YXRlKGluaXRpYWxDb250ZXh0ID8gaW5pdGlhbENvbnRleHQud2luZG93RGlzcGxheVN0YXRlIDogJ01BWElNSVpFRCcpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChkaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnKSB7XG4gICAgICAgICAgICBtYXhpbWl6ZVZpZXcobnVsbCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZGlzcGxheVN0YXRlID09PSAnTUlOSU1JWkVEJykge1xuICAgICAgICAgICAgbWluaW1pemVWaWV3KG51bGwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGluVmlldyhudWxsKVxuICAgICAgICB9XG4gICAgICAgIC8vIEFmdGVyIHRoZSBQYXBlciByZXNpemVzLCBudWRnZSB0aGUgY29udGVudCB0byByZS1tZWFzdXJlLiBUaGUgQ0RVSVxuICAgICAgICAvLyB2aWV3IGxheXMgb3V0IGFnYWluc3QgdGhlIGF2YWlsYWJsZSB3aWR0aCBvbmNlIGFuZCBvbmx5IHJlY29tcHV0ZXMgb25cbiAgICAgICAgLy8gYSB3aW5kb3cgcmVzaXplIOKAlCBzbyBNSU7ihpJNQVggKG9yIGEgZHJhd2VyIGZvbGQpIG90aGVyd2lzZSBsZWF2ZXMgaXRcbiAgICAgICAgLy8gc2l6ZWQgdG8gdGhlIHByZXZpb3VzIGRpbWVuc2lvbnMuIHJBRiBsZXRzIHRoZSBuZXcgc2l6ZSBzZXR0bGUgZmlyc3QuXG4gICAgICAgIGNvbnN0IHJhZiA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScpKSk7XG4gICAgICAgIHJldHVybiAoKSA9PiBjYW5jZWxBbmltYXRpb25GcmFtZShyYWYpO1xuICAgICAgICAvLyBSZS1ydW4gb24gbGVmdE9mZnNldCB0b28gc28gYSBtYXhpbWl6ZWQgd2luZG93IHJlLWFsaWducyB3aGVuIHRoZVxuICAgICAgICAvLyBtZW51IGRyYXdlciBmb2xkcy9leHBhbmRzIChkcmF3ZXIgd2lkdGggY2hhbmdlcyDihpIgcmVwb3NpdGlvbikuXG4gICAgfSwgW2Rpc3BsYXlTdGF0ZSwgcHJvcHMubGVmdE9mZnNldF0pO1xuXG4gICAgY29uc3QgZ2V0TWluaW1pemVkU3R5bGUgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgMCknLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXG4gICAgICAgICAgICB3aWR0aDogbWluaW1pemVXaWR0aCArICdweCcsXG4gICAgICAgICAgICBtYXhXaWR0aDogJ3Vuc2V0JyxcbiAgICAgICAgICAgIGhlaWdodDogJzUwMHB4JyxcbiAgICAgICAgICAgIG1hcmdpbjogJzAgMTZweCAxNnB4IDE2cHgnXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGdldE1heGltaXplZFN0eWxlID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlKDAsIDApJyxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNGRkZGRkYnLFxuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAvLyBTaXQganVzdCBiZWxvdyB0aGUgZml4ZWQgZGFzaGJvYXJkIGhlYWRlciAoNjRweCkgc28gdGhlIHdpbmRvd1xuICAgICAgICAgICAgLy8gZG9lc24ndCBlbmNyb2FjaCBvbiBpdC4gRGVjbGFyZWQgaGVyZSBiZWNhdXNlIGdldE1heGltaXplZFN0eWxlIGlzXG4gICAgICAgICAgICAvLyB0aGUgYXV0aG9yaXRhdGl2ZSBpbmxpbmUgc3R5bGUg4oCUIGEgcmVuZGVyIHdpdGggbm8gYHRvcGAgd291bGQgY2xlYXJcbiAgICAgICAgICAgIC8vIGFueSBpbXBlcmF0aXZlbHktc2V0IHZhbHVlIGFuZCBmYWxsIGJhY2sgdG8gdGhlIDQwcHggY2xhc3MuXG4gICAgICAgICAgICB0b3A6ICc2NHB4JyxcbiAgICAgICAgICAgIGxlZnQ6IHByb3BzLmxlZnRPZmZzZXQsXG4gICAgICAgICAgICByaWdodDogJ3Vuc2V0JyxcbiAgICAgICAgICAgIC8vIE1pcnJvciB0aGUgbWFpbiBWaWV3UG9ydDogc3RhcnQgYXQgdGhlIGRyYXdlciB3aWR0aCwgbGVhdmUgYSAxMnB4XG4gICAgICAgICAgICAvLyByaWdodCBnYXAuIEV4cGxpY2l0IHdpZHRoIChub3QgJ3Vuc2V0Jykgc28gdGhlIGNvbnRlbnQgYWx3YXlzXG4gICAgICAgICAgICAvLyByZWZsb3dzIHRvIGZ1bGwgc2l6ZSDigJQgZml4ZXMgdGhlIE1JTuKGkk1BWCBcInN0dWNrIHNocnVua1wiIGJ1Zy5cbiAgICAgICAgICAgIHdpZHRoOiAnY2FsYygxMDAlIC0gJyArIHByb3BzLmxlZnRPZmZzZXQgKyAnIC0gMTJweCknLFxuICAgICAgICAgICAgbWF4V2lkdGg6ICd1bnNldCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICdjYWxjKDEwMCUgLSA4OHB4KScsXG4gICAgICAgICAgICBtYXJnaW46ICcwJ1xuICAgICAgICB9O1xuICAgIH07XG5cbiAgICAvLyBBIHNtYWxsIGZsb2F0aW5nIHBpbGwgaW4gdGhlIGJvdHRvbS1yaWdodCB0aGF0IHNob3dzIG9ubHkgdGhlIHVucGluIGljb24uXG4gICAgLy8gTm90aGluZyBpcyB1bm1vdW50ZWQg4oCUIHRoZSBtZWV0aW5nIGNvbnRlbnQgKGFuZCBpdHMgbWVkaWEgc3RyZWFtcyArIGV2ZW50XG4gICAgLy8gc3Vic2NyaXB0aW9ucykgc3RheXMgaW4gdGhlIERPTSBiZWhpbmQgaXQsIGp1c3QgaGlkZGVuIHZpYSBkaXNwbGF5Om5vbmUuXG4gICAgY29uc3QgZ2V0Q29sbGFwc2VkU3R5bGUgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgMCknLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIHRvcDogJ3Vuc2V0JyxcbiAgICAgICAgICAgIGxlZnQ6ICd1bnNldCcsXG4gICAgICAgICAgICByaWdodDogJzEycHgnLFxuICAgICAgICAgICAgYm90dG9tOiAnMTJweCcsXG4gICAgICAgICAgICB3aWR0aDogJzU2cHgnLFxuICAgICAgICAgICAgbWluV2lkdGg6ICc1NnB4JyxcbiAgICAgICAgICAgIG1heFdpZHRoOiAnNTZweCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICc1NnB4JyxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzI4cHgnLFxuICAgICAgICAgICAgbWFyZ2luOiAnMCcsXG4gICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICBib3hTaGFkb3c6ICcwIDRweCAxNnB4IHJnYmEoMCwwLDAsMC4zMiknXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGdldFBpbm5lZFN0eWxlID0gKCkgPT4ge1xuICAgICAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb2xsYXBzZWRTdHlsZSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgMCknLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXG4gICAgICAgICAgICB3aWR0aDogJzMyMHB4JyxcbiAgICAgICAgICAgIGhlaWdodDogJ2NhbGMoMTAwJSAtIDg4cHgpJyxcbiAgICAgICAgICAgIG1hcmdpbjogJzAgOHB4J1xuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBjb25zdCBwaW5WaWV3ID0gKGUsIHVwZGF0ZUNvbnRleHQgPSB0cnVlKSA9PiB7XG4gICAgICAgIGlmIChwcm9wcy5waW5uYWJsZSkge1xuICAgICAgICAgICAgbGV0IHBhcGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lZXRpbmdEaWFsb2dQYXBlcicpO1xuICAgICAgICAgICAgaWYgKHBhcGVyKSB7XG4gICAgICAgICAgICAgICAgaWYgKHdpbmRvd1RyYW5zZm9ybVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLnRyYW5zZm9ybSA9IHdpbmRvd1RyYW5zZm9ybVZhbHVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpc01vYmlsZVdpZHRoKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29sbGFwc2UgdG8gYSBib3R0b20tcmlnaHQgcGlsbC4gQ29udGVudCBzdGF5cyBtb3VudGVkIChoaWRkZW5cbiAgICAgICAgICAgICAgICAgICAgLy8gdmlhIGRpc3BsYXk6bm9uZSBpbiByZW5kZXIpLCBzbyBzdHJlYW1zL2xpc3RlbmVycyBhcmUgdW50b3VjaGVkLlxuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9ICc1NnB4JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUubWluV2lkdGggPSAnNTZweCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLm1heFdpZHRoID0gJzU2cHgnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5oZWlnaHQgPSAnNTZweCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmJvcmRlclJhZGl1cyA9ICcyOHB4JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUuYm94U2hhZG93ID0gJzAgNHB4IDE2cHggcmdiYSgwLDAsMCwwLjMyKSc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmxlZnQgPSAndW5zZXQnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5yaWdodCA9ICcxMnB4JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUudG9wID0gJ3Vuc2V0JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUuYm90dG9tID0gJzEycHgnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLm1hcmdpbiA9ICcwJztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9ICczMjJweCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmhlaWdodCA9ICdjYWxjKDEwMCUgLSA4MHB4KSc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmJveFNoYWRvdyA9ICd1bnNldCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmJvcmRlclJhZGl1cyA9ICc0cHgnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5sZWZ0ID0gJ3Vuc2V0JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucmlnaHQgPSAnNHB4JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS50b3AgPSAnMzJweCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmJvdHRvbSA9ICd1bnNldCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLm1hcmdpbiA9ICczMnB4IDAnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5tYXhXaWR0aCA9ICd1bnNldCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IGhlYWRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2RpYWxvZ0hlYWRlcicpWzBdO1xuICAgICAgICAgICAgICAgIGhlYWRlci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYnV0dG9uJylbMF0uc3R5bGUuY29sb3IgPSAnIzAwMDAwMCc7XG5cbiAgICAgICAgICAgICAgICBpZiAoZGlzcGxheVN0YXRlUmVmLmN1cnJlbnQgIT09ICdQSU5ORUQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldERpc3BsYXlTdGF0ZSgnUElOTkVEJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHVwZGF0ZUNvbnRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnVwZGF0ZUNvbnRleHQoe3dpbmRvd0Rpc3BsYXlTdGF0ZTogJ1BJTk5FRCd9LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcHJvcHMub25QaW5uZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBtaW5pbWl6ZVZpZXcgPSAoZSwgdXBkYXRlQ29udGV4dCA9IHRydWUpID0+IHtcbiAgICAgICAgaWYgKG1pbmltaXphYmxlKSB7XG4gICAgICAgICAgICBsZXQgcGFwZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVldGluZ0RpYWxvZ1BhcGVyJyk7XG4gICAgICAgICAgICBpZiAocGFwZXIpIHtcbiAgICAgICAgICAgICAgICBpZiAod2luZG93VHJhbnNmb3JtVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUudHJhbnNmb3JtID0gd2luZG93VHJhbnNmb3JtVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tUGFwZXItc2hhZG93Jyk7XG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUuYm94U2hhZG93ID0gJ3Vuc2V0JztcbiAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9IG1pbmltaXplV2lkdGggKyAncHgnO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmhlaWdodCA9ICc1MDBweCc7XG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUubWFyZ2luID0gJzAgMTZweCAxNnB4IDE2cHgnO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5ib3JkZXIgPSAndW5zZXQnO1xuICAgICAgICAgICAgICAgIC8vIENsZWFyIGxlZnRvdmVyIG1vYmlsZSBjb2xsYXBzZWQtcGlsbCBzdHlsZXMuXG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ21pbi13aWR0aCcpO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLnJlbW92ZVByb3BlcnR5KCdib3JkZXItcmFkaXVzJyk7XG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2JvdHRvbScpO1xuXG4gICAgICAgICAgICAgICAgbGV0IGhlYWRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2RpYWxvZ0hlYWRlcicpWzBdO1xuICAgICAgICAgICAgICAgIGhlYWRlci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYnV0dG9uJylbMF0uc3R5bGUuY29sb3IgPSAnIzAwMDAwMCc7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lZXRpbmctd2luZG93LWhlYWRlcicpLnN0eWxlLmN1cnNvciA9ICdtb3ZlJztcblxuICAgICAgICAgICAgICAgIGlmIChkaXNwbGF5U3RhdGVSZWYuY3VycmVudCAhPT0gJ01JTklNSVpFRCcpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0RGlzcGxheVN0YXRlKCdNSU5JTUlaRUQnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodXBkYXRlQ29udGV4dCkge1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIudXBkYXRlQ29udGV4dCh7d2luZG93RGlzcGxheVN0YXRlOiAnTUlOSU1JWkVEJ30sIGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgbWF4aW1pemVWaWV3ID0gKGUsIHVwZGF0ZUNvbnRleHQgPSB0cnVlKSA9PiB7XG4gICAgICAgIGxldCBwYXBlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZWV0aW5nRGlhbG9nUGFwZXInKTtcbiAgICAgICAgaWYgKHBhcGVyKSB7XG4gICAgICAgICAgICBzZXRXaW5kb3dUcmFuc2Zvcm1WYWx1ZShwYXBlci5zdHlsZS50cmFuc2Zvcm0pO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tUGFwZXItc2hhZG93Jyk7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5ib3hTaGFkb3cgPSAndW5zZXQnO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZSgwLCAwKSc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAnI0ZGRkZGRic7XG4gICAgICAgICAgICAvLyBFeHBsaWNpdCB3aWR0aCB0aWVkIHRvIHRoZSBkcmF3ZXIgb2Zmc2V0IChtaXJyb3JzIHRoZSBtYWluXG4gICAgICAgICAgICAvLyBWaWV3UG9ydCkuIE5PVCAndW5zZXQnIOKAlCBhIGNvbnRlbnQtc2l6ZWQgYXV0byB3aWR0aCBpcyB3aGF0IGtlZXBzXG4gICAgICAgICAgICAvLyB0aGUgd2luZG93IHNocnVuayBhZnRlciBNSU7ihpJNQVguXG4gICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9ICdjYWxjKDEwMCUgLSAnICsgbGVmdE9mZnNldFJlZi5jdXJyZW50ICsgJyAtIDEycHgpJztcbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLm1heFdpZHRoID0gJ3Vuc2V0JztcbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLmhlaWdodCA9ICdjYWxjKDEwMCUgLSA4OHB4KSc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5tYXJnaW4gPSAnMCc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5yaWdodCA9ICd1bnNldCc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS50b3AgPSAnNjRweCc7XG4gICAgICAgICAgICAvLyBMZWZ0IGVkZ2UgPSB0aGUgbWVudSBkcmF3ZXIgd2lkdGggKGZvbGRzIGluIHJlYWwgdGltZSwgcmVhZCBmcm9tIGFcbiAgICAgICAgICAgIC8vIHJlZiBzbyB0aGUgb25jZS1yZWdpc3RlcmVkIGNvbnRleHQgc3Vic2NyaXB0aW9uIGlzbid0IHN0YWxlKSwgbm90XG4gICAgICAgICAgICAvLyB0aGUgc3RhdGljIC5zaWRlYmFyIGxvb2t1cC5cbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLmxlZnQgPSBsZWZ0T2Zmc2V0UmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICAvLyBDbGVhciBhbnkgbGVmdG92ZXIgc3R5bGVzIGZyb20gdGhlIG1vYmlsZSBjb2xsYXBzZWQgcGlsbCBzbyB0aGVcbiAgICAgICAgICAgIC8vIHJlc3RvcmVkIHdpbmRvdyBpc24ndCBzdHVjayByb3VuZGVkL3RpbnkuXG4gICAgICAgICAgICBwYXBlci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnbWluLXdpZHRoJyk7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnYm9yZGVyLXJhZGl1cycpO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2JvdHRvbScpO1xuXG4gICAgICAgICAgICBsZXQgaGVhZGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZGlhbG9nSGVhZGVyJylbMF07XG4gICAgICAgICAgICBoZWFkZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpWzBdLnN0eWxlLmNvbG9yID0gJ3JnYmEoMCwgMCwgMCwgMC41NCknO1xuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lZXRpbmctd2luZG93LWhlYWRlcicpLnN0eWxlLmN1cnNvciA9ICdkZWZhdWx0JztcblxuICAgICAgICAgICAgaWYgKGRpc3BsYXlTdGF0ZVJlZi5jdXJyZW50ICE9PSAnTUFYSU1JWkVEJykge1xuICAgICAgICAgICAgICAgIHNldERpc3BsYXlTdGF0ZSgnTUFYSU1JWkVEJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh1cGRhdGVDb250ZXh0KSB7XG4gICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnVwZGF0ZUNvbnRleHQoe3dpbmRvd0Rpc3BsYXlTdGF0ZTogJ01BWElNSVpFRCd9LCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIG1heEhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ25vbmUnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnIzAwMDAwMCdcbiAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgIDxXaW5kb3dEaWFsb2dcbiAgICAgICAgICAgICAgICAgICAgbGVmdE9mZnNldD17cHJvcHMubGVmdE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUVuZm9yY2VGb2N1c1xuICAgICAgICAgICAgICAgICAgICBvcGVuPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICBvbkNsb3NlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMub25DbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBrZWVwTW91bnRlZFxuICAgICAgICAgICAgICAgICAgICBoaWRlQmFja2Ryb3A9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT1cIm1lZXRpbmctd2luZG93LXRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT1cIm1lZXRpbmctd2luZG93LWRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtwcm9wcy5jb250YWluZXJDbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgICAgIFBhcGVyQ29tcG9uZW50PXtQYXBlckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgUGFwZXJQcm9wcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdtZWV0aW5nRGlhbG9nUGFwZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBkaXNwbGF5U3RhdGUgPT09ICdNSU5JTUlaRUQnID8gJ3dpbmRvdy1wYXBlci1taW4nIDogZGlzcGxheVN0YXRlID09PSAnTUFYSU1JWkVEJyA/ICd3aW5kb3ctcGFwZXItbWF4JyA6ICd3aW5kb3ctcGFwZXItcGlubmVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBkaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IGRpc3BsYXlTdGF0ZSA9PT0gJ01JTklNSVpFRCcgPyBnZXRNaW5pbWl6ZWRTdHlsZSgpIDogZGlzcGxheVN0YXRlID09PSAnTUFYSU1JWkVEJyA/IGdldE1heGltaXplZFN0eWxlKCkgOiBnZXRQaW5uZWRTdHlsZSgpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPXsnd2luZG93LWNvbnRlbnQnfSBzdHlsZT17e292ZXJmbG93OiAnaGlkZGVuJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHsoZGlzcGxheVN0YXRlID09PSAnUElOTkVEJyA/ICd3aW5kb3ctcGlubmVkICcgOiAnJykgKyAndy0xMDAgaC0xMDAnfWB9PlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbGxhcHNlZCBwaWxsOiB0aGUgT05MWSB2aXNpYmxlIGNvbnRyb2wgaXMgdW5waW4gKHJlc3RvcmVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHdpbmRvdykuIEV2ZXJ5dGhpbmcgZWxzZSBzdGF5cyBtb3VudGVkIGJlbG93LCBoaWRkZW4uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbGFwc2VkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHByb3BzLm9uUGluKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJVbnBpbiBtZWV0aW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3t3aWR0aDogJzU2cHgnLCBoZWlnaHQ6ICc1NnB4JywgY29sb3I6ICcjMDAwMDAwJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBpZD17J01BWElNSVpFJ30vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3t3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICcxMDAlJywgZGlzcGxheTogY29sbGFwc2VkID8gJ25vbmUnIDogJ2Jsb2NrJ319PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydtZWV0aW5nLXdpbmRvdy1oZWFkZXInfSBpZD1cIm1lZXRpbmctd2luZG93LWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlTdGF0ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNDhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnNDhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAnLTJweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZGlhbG9nSGVhZGVyIHJvdyd9IHN0eWxlPXt7bWFyZ2luVG9wOiAnMjRweCd9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW1pemFibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW1pemVWaWV3KGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICc0cHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBpZD17J01JTklNSVpFJ30vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbWl6ZVZpZXcoZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogJzRweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIGlkPXsnTUFYSU1JWkUnfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMucGlubmFibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLm9uUGluKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogJzRweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIGlkPXsnTUFYSU1JWkUnfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvV2luZG93RGlhbG9nPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5l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QU07RUFBRSxHQUV2RG5GLFdBQVcsaUJBQ1gvRCxNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUEsY0FFUU0sWUFBWSxLQUFLLFdBQVcsZ0JBQ3hCaEUsTUFBQSxDQUFBWSxPQUFBLENBQUE4QyxhQUFBLENBQUNuRCxXQUFBLENBQUFLLE9BQVU7SUFDUG9JLE9BQU8sRUFBR3RJLENBQUMsSUFBSztNQUNaa0YsWUFBWSxDQUFDbEYsQ0FBQyxDQUFDO0lBQ25CLENBQUU7SUFDRitHLEtBQUssRUFBRTtNQUNIMEIsV0FBVyxFQUFFO0lBQ2pCO0VBQUUsZ0JBRUZuSixNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUEsQ0FBQ3BELEtBQUEsQ0FBQU0sT0FBSTtJQUFDd0UsRUFBRSxFQUFFO0VBQVcsQ0FBQyxDQUNkLENBQUMsZ0JBRWJwRixNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUEsQ0FBQ25ELFdBQUEsQ0FBQUssT0FBVTtJQUNQb0ksT0FBTyxFQUFHdEksQ0FBQyxJQUFLO01BQ1ppRixZQUFZLENBQUNqRixDQUFDLENBQUM7SUFDbkIsQ0FBRTtJQUNGK0csS0FBSyxFQUFFO01BQ0gwQixXQUFXLEVBQUU7SUFDakI7RUFBRSxnQkFFRm5KLE1BQUEsQ0FBQVksT0FBQSxDQUFBOEMsYUFBQSxDQUFDcEQsS0FBQSxDQUFBTSxPQUFJO0lBQUN3RSxFQUFFLEVBQUU7RUFBVyxDQUFDLENBQ2QsQ0FFbkIsQ0FBQyxFQUdOM0MsS0FBSyxDQUFDNEUsUUFBUSxpQkFDZHJILE1BQUEsQ0FBQVksT0FBQSxDQUFBOEMsYUFBQSwyQkFDSTFELE1BQUEsQ0FBQVksT0FBQSxDQUFBOEMsYUFBQSxDQUFDbkQsV0FBQSxDQUFBSyxPQUFVO0lBQ1BvSSxPQUFPLEVBQUd0SSxDQUFDLElBQUs7TUFDWitCLEtBQUssQ0FBQ3dHLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUU7SUFDRnhCLEtBQUssRUFBRTtNQUNIMEIsV0FBVyxFQUFFO0lBQ2pCO0VBQUUsZ0JBRUZuSixNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUEsQ0FBQ3BELEtBQUEsQ0FBQU0sT0FBSTtJQUFDd0UsRUFBRSxFQUFFO0VBQVcsQ0FBQyxDQUNkLENBQ1gsQ0FFUixDQUNKLENBRVIsQ0FDSixDQUFDLEVBRUZ2QixRQUVDLENBQ0osQ0FDSyxDQUNiLENBQ1AsQ0FBQztBQUVYLENBQUM7QUFBQyxJQUFBdUYsUUFBQSxHQUFBQyxPQUFBLENBQUF6SSxPQUFBLEdBRWFnRCxNQUFNIiwiaWdub3JlTGlzdCI6W119
|
|
431
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REcmFnZ2FibGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1BhcGVyIiwiX0ljb24iLCJfSWNvbkJ1dHRvbiIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfV2luZG93RGlhbG9nIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidCIsIldlYWtNYXAiLCJyIiwibiIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXBwbHkiLCJtaW5pbWl6ZVdpZHRoIiwiTU9CSUxFX0JSRUFLUE9JTlQiLCJpc01vYmlsZVdpZHRoIiwid2luZG93IiwiaW5uZXJXaWR0aCIsIlBhcGVyQ29tcG9uZW50IiwicHJvcHMiLCJub2RlUmVmIiwidXNlUmVmIiwiYm91bmRzIiwic2V0Qm91bmRzIiwidXNlU3RhdGUiLCJsZWZ0IiwicmlnaHQiLCJ0b3AiLCJib3R0b20iLCJoYW5kbGVTdGFydCIsImRhdGEiLCJjb25zb2xlIiwibG9nIiwibm9kZSIsIm9mZnNldFRvcCIsImlubmVySGVpZ2h0IiwiY3JlYXRlRWxlbWVudCIsInJlZiIsIldpbmRvdyIsImNoaWxkcmVuIiwib3BlbiIsIm1pbmltaXphYmxlIiwiZGlzcGxheVN0YXRlIiwic2V0RGlzcGxheVN0YXRlIiwid2luZG93VHJhbnNmb3JtVmFsdWUiLCJzZXRXaW5kb3dUcmFuc2Zvcm1WYWx1ZSIsImlzTW9iaWxlIiwic2V0SXNNb2JpbGUiLCJ1c2VFZmZlY3QiLCJvblJlc2l6ZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY29sbGFwc2VkIiwibGVmdE9mZnNldFJlZiIsImxlZnRPZmZzZXQiLCJjdXJyZW50IiwiZGlzcGxheVN0YXRlUmVmIiwiYXBwbGljYXRpb25NYW5hZ2VyIiwidXBkYXRlQ29udGV4dCIsIndpbmRvd0Rpc3BsYXlTdGF0ZSIsImFkZEFwcGxpY2F0aW9uQ29udGV4dFN1YnNjcmlwdGlvbiIsImhhbmRsZXIiLCJpZCIsIm9uQ29udGV4dENoYW5nZSIsImNvbnRleHQiLCJuZXdWYWx1ZXMiLCJrZXlzIiwiZmluZCIsImtleSIsIm1heGltaXplVmlldyIsIm1pbmltaXplVmlldyIsInBpblZpZXciLCJ0aGVuIiwiaW5pdGlhbENvbnRleHQiLCJyYWYiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJkaXNwYXRjaEV2ZW50IiwiRXZlbnQiLCJjYW5jZWxBbmltYXRpb25GcmFtZSIsImdldE1pbmltaXplZFN0eWxlIiwidHJhbnNmb3JtIiwiYmFja2dyb3VuZENvbG9yIiwid2lkdGgiLCJtYXhXaWR0aCIsImhlaWdodCIsIm1hcmdpbiIsImdldE1heGltaXplZFN0eWxlIiwicG9zaXRpb24iLCJnZXRDb2xsYXBzZWRTdHlsZSIsIm1pbldpZHRoIiwiYm9yZGVyUmFkaXVzIiwib3ZlcmZsb3ciLCJib3hTaGFkb3ciLCJnZXRQaW5uZWRTdHlsZSIsInVuZGVmaW5lZCIsInBpbm5hYmxlIiwicGFwZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwic3R5bGUiLCJoZWFkZXIiLCJnZXRFbGVtZW50c0J5Q2xhc3NOYW1lIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJjb2xvciIsIm9uUGlubmVkIiwicmVtb3ZlUHJvcGVydHkiLCJib3JkZXIiLCJjdXJzb3IiLCJGcmFnbWVudCIsIm1heEhlaWdodCIsIm92ZXJmbG93WCIsIm92ZXJmbG93WSIsImRpc3BsYXkiLCJkaXNhYmxlRW5mb3JjZUZvY3VzIiwib25DbG9zZSIsImtlZXBNb3VudGVkIiwiaGlkZUJhY2tkcm9wIiwiY2xhc3NOYW1lIiwiY29udGFpbmVyQ2xhc3NOYW1lIiwiUGFwZXJQcm9wcyIsImRpc2FibGVkIiwiY29uY2F0Iiwib25DbGljayIsIm9uUGluIiwibWFyZ2luVG9wIiwibWFyZ2luUmlnaHQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L1dpbmRvdy5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgJy4vV2luZG93LmNzcyc7XG5pbXBvcnQgRHJhZ2dhYmxlIGZyb20gJ3JlYWN0LWRyYWdnYWJsZSc7XG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XG5pbXBvcnQgSWNvbiBmcm9tICcuLi9JY29uJztcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvSWNvbkJ1dHRvbic7XG5pbXBvcnQgYXBwbGljYXRpb25NYW5hZ2VyIGZyb20gJy4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlcic7XG5pbXBvcnQgV2luZG93RGlhbG9nIGZyb20gXCIuL1dpbmRvd0RpYWxvZ1wiO1xuXG5jb25zdCBtaW5pbWl6ZVdpZHRoID0gJzg0OCc7XG4vLyBCZWxvdyB0aGlzIHZpZXdwb3J0IHdpZHRoIGEgMzIwcHggcGlubmVkIHdpbmRvdyBzd2FsbG93cyB0aGUgd2hvbGUgcGhvbmVcbi8vIHNjcmVlbiwgc28gcGlubmluZyBjb2xsYXBzZXMgdG8gYSBzbWFsbCBmbG9hdGluZyBwaWxsICh1bnBpbiBpY29uIG9ubHkpLlxuY29uc3QgTU9CSUxFX0JSRUFLUE9JTlQgPSA2MDA7XG5jb25zdCBpc01vYmlsZVdpZHRoID0gKCkgPT4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmlubmVyV2lkdGggPCBNT0JJTEVfQlJFQUtQT0lOVDtcbmNvbnN0IFBhcGVyQ29tcG9uZW50ID0gKHByb3BzKSA9PiB7XG5cbiAgICBjb25zdCBub2RlUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IFtib3VuZHMsIHNldEJvdW5kc10gPSB1c2VTdGF0ZSh7XG4gICAgICAgIGxlZnQ6IDAsXG4gICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICB0b3A6IDAsXG4gICAgICAgIGJvdHRvbTogMFxuICAgIH0pO1xuXG4gICAgY29uc3QgaGFuZGxlU3RhcnQgPSAoZSwgZGF0YSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkRSQUcgU1RBUlRcIik7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy9jb25zdCB4ID0gZGF0YS5ub2RlLm9mZnNldExlZnQgLSBkYXRhLm5vZGUub2Zmc2V0V2lkdGg7XG4gICAgICAgIGNvbnN0IHRvcCA9IC1kYXRhLm5vZGUub2Zmc2V0VG9wICsgNjQ7XG4gICAgICAgIGNvbnN0IGJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIChkYXRhLm5vZGUub2Zmc2V0VG9wICsgNjQpO1xuXG4gICAgICAgIHNldEJvdW5kcyh7XG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICB0b3A6IHRvcCxcbiAgICAgICAgICAgIGJvdHRvbTogYm90dG9tXG4gICAgICAgIH0pO1xuXG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxQYXBlciB7Li4ucHJvcHN9IHJlZj17bm9kZVJlZn0vPlxuICAgICAgICAvKjxEcmFnZ2FibGVcbiAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5kaXNhYmxlZH1cbiAgICAgICAgICAgIGJvdW5kcz17Ym91bmRzfVxuICAgICAgICAgICAgb25TdGFydD17aGFuZGxlU3RhcnR9XG4gICAgICAgICAgICBoYW5kbGU9XCIjbWVldGluZy13aW5kb3ctaGVhZGVyXCJcbiAgICAgICAgICAgIGNhbmNlbD17J1tjbGFzcyo9XCJNdWlEaWFsb2dDb250ZW50LXJvb3RcIl0nfVxuICAgICAgICAgICAgbm9kZVJlZj17bm9kZVJlZn1cbiAgICAgICAgPlxuICAgICAgICAgICAgPFBhcGVyIHsuLi5wcm9wc30gcmVmPXtub2RlUmVmfSBzdHlsZT17e21pbldpZHRoOiAnMzIwcHgnfX0vPlxuICAgICAgICA8L0RyYWdnYWJsZT4qL1xuICAgICk7XG59O1xuXG5jb25zdCBXaW5kb3cgPSAocHJvcHMpID0+IHtcblxuICAgIGNvbnN0IHtcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIG9wZW4sXG4gICAgICAgIG1pbmltaXphYmxlXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IFtkaXNwbGF5U3RhdGUsIHNldERpc3BsYXlTdGF0ZV0gPSB1c2VTdGF0ZShwcm9wcy5kaXNwbGF5U3RhdGUpO1xuICAgIGNvbnN0IFt3aW5kb3dUcmFuc2Zvcm1WYWx1ZSwgc2V0V2luZG93VHJhbnNmb3JtVmFsdWVdID0gdXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW2lzTW9iaWxlLCBzZXRJc01vYmlsZV0gPSB1c2VTdGF0ZShpc01vYmlsZVdpZHRoKCkpO1xuXG4gICAgLy8gVHJhY2sgdmlld3BvcnQgd2lkdGggc28gYSBwaW5uZWQgd2luZG93IGNvbGxhcHNlcy9leHBhbmRzIG9uIHJvdGF0ZS9yZXNpemUuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3Qgb25SZXNpemUgPSAoKSA9PiBzZXRJc01vYmlsZShpc01vYmlsZVdpZHRoKCkpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25SZXNpemUpO1xuICAgICAgICByZXR1cm4gKCkgPT4gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uUmVzaXplKTtcbiAgICB9LCBbXSk7XG5cbiAgICAvLyBDb2xsYXBzZWQgPSBwaW5uZWQgb24gYSBwaG9uZTogc2hyaW5rIHRvIGEgcGlsbCwga2VlcCBldmVyeXRoaW5nIG1vdW50ZWQuXG4gICAgY29uc3QgY29sbGFwc2VkID0gaXNNb2JpbGUgJiYgZGlzcGxheVN0YXRlID09PSAnUElOTkVEJztcblxuICAgIC8vIFRoZSBjb250ZXh0IHN1YnNjcmlwdGlvbiBiZWxvdyBpcyByZWdpc3RlcmVkIE9OQ0Ugb24gbW91bnQsIHNvIHRoZVxuICAgIC8vIG1heGltaXplL21pbmltaXplL3BpbiBjbG9zdXJlcyBpdCBjYWxscyB3b3VsZCBvdGhlcndpc2UgY2FwdHVyZSBtb3VudC10aW1lXG4gICAgLy8gcHJvcHMvc3RhdGUuIE1pcnJvciB0aGUgbGl2ZSB2YWx1ZXMgaW50byByZWZzIHNvIHRob3NlIGltcGVyYXRpdmUgaGFuZGxlcnNcbiAgICAvLyBhbHdheXMgcmVhZCB0aGUgQ1VSUkVOVCBkcmF3ZXIgb2Zmc2V0ICsgZGlzcGxheSBzdGF0ZS4gKFdpdGhvdXQgdGhpcyxcbiAgICAvLyBwaW4gLT4gY2xvc2UgZHJhd2VyIC0+IHVucGluIHJlc3RvcmVzIHRoZSB3aW5kb3cgdG8gdGhlIHN0YWxlIG9wZW4tZHJhd2VyXG4gICAgLy8gbGVmdCBvZmZzZXQgaW5zdGVhZCBvZiB0aGUgY29sbGFwc2VkIG1pbmktZHJhd2VyIHBvc2l0aW9uLilcbiAgICBjb25zdCBsZWZ0T2Zmc2V0UmVmID0gdXNlUmVmKHByb3BzLmxlZnRPZmZzZXQpO1xuICAgIGxlZnRPZmZzZXRSZWYuY3VycmVudCA9IHByb3BzLmxlZnRPZmZzZXQ7XG4gICAgY29uc3QgZGlzcGxheVN0YXRlUmVmID0gdXNlUmVmKGRpc3BsYXlTdGF0ZSk7XG4gICAgZGlzcGxheVN0YXRlUmVmLmN1cnJlbnQgPSBkaXNwbGF5U3RhdGU7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAocHJvcHMuZGlzcGxheVN0YXRlKSB7XG4gICAgICAgICAgICBzZXREaXNwbGF5U3RhdGUocHJvcHMuZGlzcGxheVN0YXRlKTtcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci51cGRhdGVDb250ZXh0KHt3aW5kb3dEaXNwbGF5U3RhdGU6IHByb3BzLmRpc3BsYXlTdGF0ZX0pO1xuICAgICAgICB9XG4gICAgfSwgW3Byb3BzLmRpc3BsYXlTdGF0ZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLmFkZEFwcGxpY2F0aW9uQ29udGV4dFN1YnNjcmlwdGlvbih7XG4gICAgICAgICAgICBoYW5kbGVyOiB7XG4gICAgICAgICAgICAgICAgZ2V0IGlkKCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3dpbmRvdyc7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvbkNvbnRleHRDaGFuZ2U6IChjb250ZXh0LCBuZXdWYWx1ZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlcylcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maW5kKChrZXkpID0+IGtleSA9PT0gJ3dpbmRvd0Rpc3BsYXlTdGF0ZScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnTUlOIDogJyArIG5ld1ZhbHVlcy53aW5kb3dEaXNwbGF5U3RhdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1ZhbHVlcy53aW5kb3dEaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW1pemVWaWV3KG51bGwsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobmV3VmFsdWVzLndpbmRvd0Rpc3BsYXlTdGF0ZSA9PT0gJ01JTklNSVpFRCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbWl6ZVZpZXcobnVsbCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuZXdWYWx1ZXMud2luZG93RGlzcGxheVN0YXRlID09PSAnUElOTkVEJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpblZpZXcobnVsbCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KS50aGVuKChpbml0aWFsQ29udGV4dCkgPT4ge1xuICAgICAgICAgICAgc2V0RGlzcGxheVN0YXRlKGluaXRpYWxDb250ZXh0ID8gaW5pdGlhbENvbnRleHQud2luZG93RGlzcGxheVN0YXRlIDogJ01BWElNSVpFRCcpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChkaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnKSB7XG4gICAgICAgICAgICBtYXhpbWl6ZVZpZXcobnVsbCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZGlzcGxheVN0YXRlID09PSAnTUlOSU1JWkVEJykge1xuICAgICAgICAgICAgbWluaW1pemVWaWV3KG51bGwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGluVmlldyhudWxsKVxuICAgICAgICB9XG4gICAgICAgIC8vIEFmdGVyIHRoZSBQYXBlciByZXNpemVzLCBudWRnZSB0aGUgY29udGVudCB0byByZS1tZWFzdXJlLiBUaGUgQ0RVSVxuICAgICAgICAvLyB2aWV3IGxheXMgb3V0IGFnYWluc3QgdGhlIGF2YWlsYWJsZSB3aWR0aCBvbmNlIGFuZCBvbmx5IHJlY29tcHV0ZXMgb25cbiAgICAgICAgLy8gYSB3aW5kb3cgcmVzaXplIOKAlCBzbyBNSU7ihpJNQVggKG9yIGEgZHJhd2VyIGZvbGQpIG90aGVyd2lzZSBsZWF2ZXMgaXRcbiAgICAgICAgLy8gc2l6ZWQgdG8gdGhlIHByZXZpb3VzIGRpbWVuc2lvbnMuIHJBRiBsZXRzIHRoZSBuZXcgc2l6ZSBzZXR0bGUgZmlyc3QuXG4gICAgICAgIGNvbnN0IHJhZiA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScpKSk7XG4gICAgICAgIHJldHVybiAoKSA9PiBjYW5jZWxBbmltYXRpb25GcmFtZShyYWYpO1xuICAgICAgICAvLyBSZS1ydW4gb24gbGVmdE9mZnNldCB0b28gc28gYSBtYXhpbWl6ZWQgd2luZG93IHJlLWFsaWducyB3aGVuIHRoZVxuICAgICAgICAvLyBtZW51IGRyYXdlciBmb2xkcy9leHBhbmRzIChkcmF3ZXIgd2lkdGggY2hhbmdlcyDihpIgcmVwb3NpdGlvbikuXG4gICAgfSwgW2Rpc3BsYXlTdGF0ZSwgcHJvcHMubGVmdE9mZnNldF0pO1xuXG4gICAgY29uc3QgZ2V0TWluaW1pemVkU3R5bGUgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgMCknLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXG4gICAgICAgICAgICB3aWR0aDogbWluaW1pemVXaWR0aCArICdweCcsXG4gICAgICAgICAgICBtYXhXaWR0aDogJ3Vuc2V0JyxcbiAgICAgICAgICAgIGhlaWdodDogJzUwMHB4JyxcbiAgICAgICAgICAgIG1hcmdpbjogJzAgMTZweCAxNnB4IDE2cHgnXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGdldE1heGltaXplZFN0eWxlID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlKDAsIDApJyxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNGRkZGRkYnLFxuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAvLyBTaXQganVzdCBiZWxvdyB0aGUgZml4ZWQgZGFzaGJvYXJkIGhlYWRlciAoNjRweCkgc28gdGhlIHdpbmRvd1xuICAgICAgICAgICAgLy8gZG9lc24ndCBlbmNyb2FjaCBvbiBpdC4gRGVjbGFyZWQgaGVyZSBiZWNhdXNlIGdldE1heGltaXplZFN0eWxlIGlzXG4gICAgICAgICAgICAvLyB0aGUgYXV0aG9yaXRhdGl2ZSBpbmxpbmUgc3R5bGUg4oCUIGEgcmVuZGVyIHdpdGggbm8gYHRvcGAgd291bGQgY2xlYXJcbiAgICAgICAgICAgIC8vIGFueSBpbXBlcmF0aXZlbHktc2V0IHZhbHVlIGFuZCBmYWxsIGJhY2sgdG8gdGhlIDQwcHggY2xhc3MuXG4gICAgICAgICAgICB0b3A6ICc2NHB4JyxcbiAgICAgICAgICAgIGxlZnQ6IHByb3BzLmxlZnRPZmZzZXQsXG4gICAgICAgICAgICByaWdodDogJ3Vuc2V0JyxcbiAgICAgICAgICAgIC8vIE1pcnJvciB0aGUgbWFpbiBWaWV3UG9ydDogc3RhcnQgYXQgdGhlIGRyYXdlciB3aWR0aCwgbGVhdmUgYSAxMnB4XG4gICAgICAgICAgICAvLyByaWdodCBnYXAuIEV4cGxpY2l0IHdpZHRoIChub3QgJ3Vuc2V0Jykgc28gdGhlIGNvbnRlbnQgYWx3YXlzXG4gICAgICAgICAgICAvLyByZWZsb3dzIHRvIGZ1bGwgc2l6ZSDigJQgZml4ZXMgdGhlIE1JTuKGkk1BWCBcInN0dWNrIHNocnVua1wiIGJ1Zy5cbiAgICAgICAgICAgIHdpZHRoOiAnY2FsYygxMDAlIC0gJyArIHByb3BzLmxlZnRPZmZzZXQgKyAnIC0gMTJweCknLFxuICAgICAgICAgICAgbWF4V2lkdGg6ICd1bnNldCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICdjYWxjKDEwMCUgLSA4OHB4KScsXG4gICAgICAgICAgICBtYXJnaW46ICcwJ1xuICAgICAgICB9O1xuICAgIH07XG5cbiAgICAvLyBBIHNtYWxsIGZsb2F0aW5nIHBpbGwgaW4gdGhlIGJvdHRvbS1yaWdodCB0aGF0IHNob3dzIG9ubHkgdGhlIHVucGluIGljb24uXG4gICAgLy8gTm90aGluZyBpcyB1bm1vdW50ZWQg4oCUIHRoZSBtZWV0aW5nIGNvbnRlbnQgKGFuZCBpdHMgbWVkaWEgc3RyZWFtcyArIGV2ZW50XG4gICAgLy8gc3Vic2NyaXB0aW9ucykgc3RheXMgaW4gdGhlIERPTSBiZWhpbmQgaXQsIGp1c3QgaGlkZGVuIHZpYSBkaXNwbGF5Om5vbmUuXG4gICAgY29uc3QgZ2V0Q29sbGFwc2VkU3R5bGUgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgMCknLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIHRvcDogJ3Vuc2V0JyxcbiAgICAgICAgICAgIGxlZnQ6ICd1bnNldCcsXG4gICAgICAgICAgICByaWdodDogJzEycHgnLFxuICAgICAgICAgICAgYm90dG9tOiAnMTJweCcsXG4gICAgICAgICAgICB3aWR0aDogJzU2cHgnLFxuICAgICAgICAgICAgbWluV2lkdGg6ICc1NnB4JyxcbiAgICAgICAgICAgIG1heFdpZHRoOiAnNTZweCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICc1NnB4JyxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzI4cHgnLFxuICAgICAgICAgICAgbWFyZ2luOiAnMCcsXG4gICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICBib3hTaGFkb3c6ICcwIDRweCAxNnB4IHJnYmEoMCwwLDAsMC4zMiknXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGdldFBpbm5lZFN0eWxlID0gKCkgPT4ge1xuICAgICAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb2xsYXBzZWRTdHlsZSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgMCknLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXG4gICAgICAgICAgICB3aWR0aDogJzMyMHB4JyxcbiAgICAgICAgICAgIGhlaWdodDogJ2NhbGMoMTAwJSAtIDg4cHgpJyxcbiAgICAgICAgICAgIG1hcmdpbjogJzAgOHB4J1xuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBjb25zdCBwaW5WaWV3ID0gKGUsIHVwZGF0ZUNvbnRleHQgPSB0cnVlKSA9PiB7XG4gICAgICAgIGlmIChwcm9wcy5waW5uYWJsZSkge1xuICAgICAgICAgICAgbGV0IHBhcGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lZXRpbmdEaWFsb2dQYXBlcicpO1xuICAgICAgICAgICAgaWYgKHBhcGVyKSB7XG4gICAgICAgICAgICAgICAgaWYgKHdpbmRvd1RyYW5zZm9ybVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLnRyYW5zZm9ybSA9IHdpbmRvd1RyYW5zZm9ybVZhbHVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpc01vYmlsZVdpZHRoKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29sbGFwc2UgdG8gYSBib3R0b20tcmlnaHQgcGlsbC4gQ29udGVudCBzdGF5cyBtb3VudGVkIChoaWRkZW5cbiAgICAgICAgICAgICAgICAgICAgLy8gdmlhIGRpc3BsYXk6bm9uZSBpbiByZW5kZXIpLCBzbyBzdHJlYW1zL2xpc3RlbmVycyBhcmUgdW50b3VjaGVkLlxuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9ICc1NnB4JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUubWluV2lkdGggPSAnNTZweCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLm1heFdpZHRoID0gJzU2cHgnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5oZWlnaHQgPSAnNTZweCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmJvcmRlclJhZGl1cyA9ICcyOHB4JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUuYm94U2hhZG93ID0gJzAgNHB4IDE2cHggcmdiYSgwLDAsMCwwLjMyKSc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmxlZnQgPSAndW5zZXQnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5yaWdodCA9ICcxMnB4JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUudG9wID0gJ3Vuc2V0JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUuYm90dG9tID0gJzEycHgnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLm1hcmdpbiA9ICcwJztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9ICczMjJweCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmhlaWdodCA9ICdjYWxjKDEwMCUgLSA2OHB4KSc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmJveFNoYWRvdyA9ICd1bnNldCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmJvcmRlclJhZGl1cyA9ICc0cHgnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5sZWZ0ID0gJ3Vuc2V0JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucmlnaHQgPSAnNHB4JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS50b3AgPSAnMzJweCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmJvdHRvbSA9ICd1bnNldCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLm1hcmdpbiA9ICczMnB4IDAnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5tYXhXaWR0aCA9ICd1bnNldCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IGhlYWRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2RpYWxvZ0hlYWRlcicpWzBdO1xuICAgICAgICAgICAgICAgIGhlYWRlci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYnV0dG9uJylbMF0uc3R5bGUuY29sb3IgPSAnIzAwMDAwMCc7XG5cbiAgICAgICAgICAgICAgICBpZiAoZGlzcGxheVN0YXRlUmVmLmN1cnJlbnQgIT09ICdQSU5ORUQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldERpc3BsYXlTdGF0ZSgnUElOTkVEJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHVwZGF0ZUNvbnRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnVwZGF0ZUNvbnRleHQoe3dpbmRvd0Rpc3BsYXlTdGF0ZTogJ1BJTk5FRCd9LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcHJvcHMub25QaW5uZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBtaW5pbWl6ZVZpZXcgPSAoZSwgdXBkYXRlQ29udGV4dCA9IHRydWUpID0+IHtcbiAgICAgICAgaWYgKG1pbmltaXphYmxlKSB7XG4gICAgICAgICAgICBsZXQgcGFwZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVldGluZ0RpYWxvZ1BhcGVyJyk7XG4gICAgICAgICAgICBpZiAocGFwZXIpIHtcbiAgICAgICAgICAgICAgICBpZiAod2luZG93VHJhbnNmb3JtVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUudHJhbnNmb3JtID0gd2luZG93VHJhbnNmb3JtVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tUGFwZXItc2hhZG93Jyk7XG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUuYm94U2hhZG93ID0gJ3Vuc2V0JztcbiAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9IG1pbmltaXplV2lkdGggKyAncHgnO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmhlaWdodCA9ICc1MDBweCc7XG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUubWFyZ2luID0gJzAgMTZweCAxNnB4IDE2cHgnO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5ib3JkZXIgPSAndW5zZXQnO1xuICAgICAgICAgICAgICAgIC8vIENsZWFyIGxlZnRvdmVyIG1vYmlsZSBjb2xsYXBzZWQtcGlsbCBzdHlsZXMuXG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ21pbi13aWR0aCcpO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLnJlbW92ZVByb3BlcnR5KCdib3JkZXItcmFkaXVzJyk7XG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2JvdHRvbScpO1xuXG4gICAgICAgICAgICAgICAgbGV0IGhlYWRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2RpYWxvZ0hlYWRlcicpWzBdO1xuICAgICAgICAgICAgICAgIGhlYWRlci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYnV0dG9uJylbMF0uc3R5bGUuY29sb3IgPSAnIzAwMDAwMCc7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lZXRpbmctd2luZG93LWhlYWRlcicpLnN0eWxlLmN1cnNvciA9ICdtb3ZlJztcblxuICAgICAgICAgICAgICAgIGlmIChkaXNwbGF5U3RhdGVSZWYuY3VycmVudCAhPT0gJ01JTklNSVpFRCcpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0RGlzcGxheVN0YXRlKCdNSU5JTUlaRUQnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodXBkYXRlQ29udGV4dCkge1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIudXBkYXRlQ29udGV4dCh7d2luZG93RGlzcGxheVN0YXRlOiAnTUlOSU1JWkVEJ30sIGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgbWF4aW1pemVWaWV3ID0gKGUsIHVwZGF0ZUNvbnRleHQgPSB0cnVlKSA9PiB7XG4gICAgICAgIGxldCBwYXBlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZWV0aW5nRGlhbG9nUGFwZXInKTtcbiAgICAgICAgaWYgKHBhcGVyKSB7XG4gICAgICAgICAgICBzZXRXaW5kb3dUcmFuc2Zvcm1WYWx1ZShwYXBlci5zdHlsZS50cmFuc2Zvcm0pO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tUGFwZXItc2hhZG93Jyk7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5ib3hTaGFkb3cgPSAndW5zZXQnO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZSgwLCAwKSc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAnI0ZGRkZGRic7XG4gICAgICAgICAgICAvLyBFeHBsaWNpdCB3aWR0aCB0aWVkIHRvIHRoZSBkcmF3ZXIgb2Zmc2V0IChtaXJyb3JzIHRoZSBtYWluXG4gICAgICAgICAgICAvLyBWaWV3UG9ydCkuIE5PVCAndW5zZXQnIOKAlCBhIGNvbnRlbnQtc2l6ZWQgYXV0byB3aWR0aCBpcyB3aGF0IGtlZXBzXG4gICAgICAgICAgICAvLyB0aGUgd2luZG93IHNocnVuayBhZnRlciBNSU7ihpJNQVguXG4gICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9ICdjYWxjKDEwMCUgLSAnICsgbGVmdE9mZnNldFJlZi5jdXJyZW50ICsgJyAtIDEycHgpJztcbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLm1heFdpZHRoID0gJ3Vuc2V0JztcbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLmhlaWdodCA9ICdjYWxjKDEwMCUgLSA4OHB4KSc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5tYXJnaW4gPSAnMCc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5yaWdodCA9ICd1bnNldCc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS50b3AgPSAnNjRweCc7XG4gICAgICAgICAgICAvLyBMZWZ0IGVkZ2UgPSB0aGUgbWVudSBkcmF3ZXIgd2lkdGggKGZvbGRzIGluIHJlYWwgdGltZSwgcmVhZCBmcm9tIGFcbiAgICAgICAgICAgIC8vIHJlZiBzbyB0aGUgb25jZS1yZWdpc3RlcmVkIGNvbnRleHQgc3Vic2NyaXB0aW9uIGlzbid0IHN0YWxlKSwgbm90XG4gICAgICAgICAgICAvLyB0aGUgc3RhdGljIC5zaWRlYmFyIGxvb2t1cC5cbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLmxlZnQgPSBsZWZ0T2Zmc2V0UmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICAvLyBDbGVhciBhbnkgbGVmdG92ZXIgc3R5bGVzIGZyb20gdGhlIG1vYmlsZSBjb2xsYXBzZWQgcGlsbCBzbyB0aGVcbiAgICAgICAgICAgIC8vIHJlc3RvcmVkIHdpbmRvdyBpc24ndCBzdHVjayByb3VuZGVkL3RpbnkuXG4gICAgICAgICAgICBwYXBlci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnbWluLXdpZHRoJyk7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnYm9yZGVyLXJhZGl1cycpO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2JvdHRvbScpO1xuXG4gICAgICAgICAgICBsZXQgaGVhZGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZGlhbG9nSGVhZGVyJylbMF07XG4gICAgICAgICAgICBoZWFkZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpWzBdLnN0eWxlLmNvbG9yID0gJ3JnYmEoMCwgMCwgMCwgMC41NCknO1xuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lZXRpbmctd2luZG93LWhlYWRlcicpLnN0eWxlLmN1cnNvciA9ICdkZWZhdWx0JztcblxuICAgICAgICAgICAgaWYgKGRpc3BsYXlTdGF0ZVJlZi5jdXJyZW50ICE9PSAnTUFYSU1JWkVEJykge1xuICAgICAgICAgICAgICAgIHNldERpc3BsYXlTdGF0ZSgnTUFYSU1JWkVEJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh1cGRhdGVDb250ZXh0KSB7XG4gICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnVwZGF0ZUNvbnRleHQoe3dpbmRvd0Rpc3BsYXlTdGF0ZTogJ01BWElNSVpFRCd9LCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIG1heEhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ25vbmUnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnIzAwMDAwMCdcbiAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgIDxXaW5kb3dEaWFsb2dcbiAgICAgICAgICAgICAgICAgICAgbGVmdE9mZnNldD17cHJvcHMubGVmdE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUVuZm9yY2VGb2N1c1xuICAgICAgICAgICAgICAgICAgICBvcGVuPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICBvbkNsb3NlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMub25DbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBrZWVwTW91bnRlZFxuICAgICAgICAgICAgICAgICAgICBoaWRlQmFja2Ryb3A9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT1cIm1lZXRpbmctd2luZG93LXRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT1cIm1lZXRpbmctd2luZG93LWRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtwcm9wcy5jb250YWluZXJDbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgICAgIFBhcGVyQ29tcG9uZW50PXtQYXBlckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgUGFwZXJQcm9wcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdtZWV0aW5nRGlhbG9nUGFwZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBkaXNwbGF5U3RhdGUgPT09ICdNSU5JTUlaRUQnID8gJ3dpbmRvdy1wYXBlci1taW4nIDogZGlzcGxheVN0YXRlID09PSAnTUFYSU1JWkVEJyA/ICd3aW5kb3ctcGFwZXItbWF4JyA6ICd3aW5kb3ctcGFwZXItcGlubmVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBkaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IGRpc3BsYXlTdGF0ZSA9PT0gJ01JTklNSVpFRCcgPyBnZXRNaW5pbWl6ZWRTdHlsZSgpIDogZGlzcGxheVN0YXRlID09PSAnTUFYSU1JWkVEJyA/IGdldE1heGltaXplZFN0eWxlKCkgOiBnZXRQaW5uZWRTdHlsZSgpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPXsnd2luZG93LWNvbnRlbnQnfSBzdHlsZT17e292ZXJmbG93OiAnaGlkZGVuJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHsoZGlzcGxheVN0YXRlID09PSAnUElOTkVEJyA/ICd3aW5kb3ctcGlubmVkICcgOiAnJykgKyAndy0xMDAgaC0xMDAnfWB9PlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbGxhcHNlZCBwaWxsOiB0aGUgT05MWSB2aXNpYmxlIGNvbnRyb2wgaXMgdW5waW4gKHJlc3RvcmVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHdpbmRvdykuIEV2ZXJ5dGhpbmcgZWxzZSBzdGF5cyBtb3VudGVkIGJlbG93LCBoaWRkZW4uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbGFwc2VkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHByb3BzLm9uUGluKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJVbnBpbiBtZWV0aW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3t3aWR0aDogJzU2cHgnLCBoZWlnaHQ6ICc1NnB4JywgY29sb3I6ICcjMDAwMDAwJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBpZD17J01BWElNSVpFJ30vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3t3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICcxMDAlJywgZGlzcGxheTogY29sbGFwc2VkID8gJ25vbmUnIDogJ2Jsb2NrJ319PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydtZWV0aW5nLXdpbmRvdy1oZWFkZXInfSBpZD1cIm1lZXRpbmctd2luZG93LWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlTdGF0ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNDhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnNDhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAnLTJweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZGlhbG9nSGVhZGVyIHJvdyd9IHN0eWxlPXt7bWFyZ2luVG9wOiAnMjRweCd9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW1pemFibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW1pemVWaWV3KGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICc0cHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBpZD17J01JTklNSVpFJ30vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbWl6ZVZpZXcoZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogJzRweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIGlkPXsnTUFYSU1JWkUnfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMucGlubmFibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLm9uUGluKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogJzRweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIGlkPXsnTUFYSU1JWkUnfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvV2luZG93RGlhbG9nPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBXaW5kb3c7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0sbUJBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLGFBQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUEwQyxTQUFBRSx1QkFBQU0sQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUFBLFNBQUFULHdCQUFBUyxDQUFBLEVBQUFHLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBYix1QkFBQSxZQUFBQSxDQUFBUyxDQUFBLEVBQUFHLENBQUEsU0FBQUEsQ0FBQSxJQUFBSCxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxTQUFBRCxDQUFBLE1BQUFPLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsUUFBQVIsT0FBQSxFQUFBRixDQUFBLGlCQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFNBQUFTLENBQUEsTUFBQUYsQ0FBQSxHQUFBSixDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRSxDQUFBLENBQUFJLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTyxDQUFBLENBQUFLLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTyxDQUFBLENBQUFNLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUyxDQUFBLGdCQUFBTixDQUFBLElBQUFILENBQUEsZ0JBQUFHLENBQUEsT0FBQVcsY0FBQSxDQUFBQyxJQUFBLENBQUFmLENBQUEsRUFBQUcsQ0FBQSxPQUFBSyxDQUFBLElBQUFELENBQUEsR0FBQVMsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWxCLENBQUEsRUFBQUcsQ0FBQSxPQUFBSyxDQUFBLENBQUFJLEdBQUEsSUFBQUosQ0FBQSxDQUFBSyxHQUFBLElBQUFOLENBQUEsQ0FBQUUsQ0FBQSxFQUFBTixDQUFBLEVBQUFLLENBQUEsSUFBQUMsQ0FBQSxDQUFBTixDQUFBLElBQUFILENBQUEsQ0FBQUcsQ0FBQSxXQUFBTSxDQUFBLEtBQUFULENBQUEsRUFBQUcsQ0FBQTtBQUFBLFNBQUFnQixTQUFBLFdBQUFBLFFBQUEsR0FBQUgsTUFBQSxDQUFBSSxNQUFBLEdBQUFKLE1BQUEsQ0FBQUksTUFBQSxDQUFBQyxJQUFBLGVBQUFmLENBQUEsYUFBQU4sQ0FBQSxNQUFBQSxDQUFBLEdBQUFzQixTQUFBLENBQUFDLE1BQUEsRUFBQXZCLENBQUEsVUFBQUcsQ0FBQSxHQUFBbUIsU0FBQSxDQUFBdEIsQ0FBQSxZQUFBSyxDQUFBLElBQUFGLENBQUEsT0FBQVcsY0FBQSxDQUFBQyxJQUFBLENBQUFaLENBQUEsRUFBQUUsQ0FBQSxNQUFBQyxDQUFBLENBQUFELENBQUEsSUFBQUYsQ0FBQSxDQUFBRSxDQUFBLGFBQUFDLENBQUEsS0FBQWEsUUFBQSxDQUFBSyxLQUFBLE9BQUFGLFNBQUE7QUFFMUMsTUFBTUcsYUFBYSxHQUFHLEtBQUs7QUFDM0I7QUFDQTtBQUNBLE1BQU1DLGlCQUFpQixHQUFHLEdBQUc7QUFDN0IsTUFBTUMsYUFBYSxHQUFHQSxDQUFBLEtBQU0sT0FBT0MsTUFBTSxLQUFLLFdBQVcsSUFBSUEsTUFBTSxDQUFDQyxVQUFVLEdBQUdILGlCQUFpQjtBQUNsRyxNQUFNSSxjQUFjLEdBQUlDLEtBQUssSUFBSztFQUU5QixNQUFNQyxPQUFPLEdBQUcsSUFBQUMsYUFBTSxFQUFDLElBQUksQ0FBQztFQUM1QixNQUFNLENBQUNDLE1BQU0sRUFBRUMsU0FBUyxDQUFDLEdBQUcsSUFBQUMsZUFBUSxFQUFDO0lBQ2pDQyxJQUFJLEVBQUUsQ0FBQztJQUNQQyxLQUFLLEVBQUUsQ0FBQztJQUNSQyxHQUFHLEVBQUUsQ0FBQztJQUNOQyxNQUFNLEVBQUU7RUFDWixDQUFDLENBQUM7RUFFRixNQUFNQyxXQUFXLEdBQUdBLENBQUN6QyxDQUFDLEVBQUUwQyxJQUFJLEtBQUs7SUFDN0JDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLFlBQVksQ0FBQztJQUN6QixJQUFJLENBQUNGLElBQUksRUFBRTtNQUNQO0lBQ0o7O0lBRUE7SUFDQSxNQUFNSCxHQUFHLEdBQUcsQ0FBQ0csSUFBSSxDQUFDRyxJQUFJLENBQUNDLFNBQVMsR0FBRyxFQUFFO0lBQ3JDLE1BQU1OLE1BQU0sR0FBR1osTUFBTSxDQUFDbUIsV0FBVyxJQUFJTCxJQUFJLENBQUNHLElBQUksQ0FBQ0MsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUU5RFgsU0FBUyxDQUFDO01BQ05FLElBQUksRUFBRSxDQUFDO01BQ1BDLEtBQUssRUFBRSxDQUFDO01BQ1JDLEdBQUcsRUFBRUEsR0FBRztNQUNSQyxNQUFNLEVBQUVBO0lBQ1osQ0FBQyxDQUFDO0VBRU4sQ0FBQztFQUVELG9CQUNJbEQsTUFBQSxDQUFBWSxPQUFBLENBQUE4QyxhQUFBLENBQUNyRCxNQUFBLENBQUFPLE9BQUssRUFBQWlCLFFBQUEsS0FBS1ksS0FBSztJQUFFa0IsR0FBRyxFQUFFakI7RUFBUSxFQUFDO0VBQ2hDO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQVRRO0FBV1IsQ0FBQztBQUVELE1BQU1rQixNQUFNLEdBQUluQixLQUFLLElBQUs7RUFFdEIsTUFBTTtJQUNGb0IsUUFBUTtJQUNSQyxJQUFJO0lBQ0pDO0VBQ0osQ0FBQyxHQUFHdEIsS0FBSztFQUNULE1BQU0sQ0FBQ3VCLFlBQVksRUFBRUMsZUFBZSxDQUFDLEdBQUcsSUFBQW5CLGVBQVEsRUFBQ0wsS0FBSyxDQUFDdUIsWUFBWSxDQUFDO0VBQ3BFLE1BQU0sQ0FBQ0Usb0JBQW9CLEVBQUVDLHVCQUF1QixDQUFDLEdBQUcsSUFBQXJCLGVBQVEsRUFBQyxJQUFJLENBQUM7RUFDdEUsTUFBTSxDQUFDc0IsUUFBUSxFQUFFQyxXQUFXLENBQUMsR0FBRyxJQUFBdkIsZUFBUSxFQUFDVCxhQUFhLENBQUMsQ0FBQyxDQUFDOztFQUV6RDtFQUNBLElBQUFpQyxnQkFBUyxFQUFDLE1BQU07SUFDWixNQUFNQyxRQUFRLEdBQUdBLENBQUEsS0FBTUYsV0FBVyxDQUFDaEMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNuREMsTUFBTSxDQUFDa0MsZ0JBQWdCLENBQUMsUUFBUSxFQUFFRCxRQUFRLENBQUM7SUFDM0MsT0FBTyxNQUFNakMsTUFBTSxDQUFDbUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFRixRQUFRLENBQUM7RUFDL0QsQ0FBQyxFQUFFLEVBQUUsQ0FBQzs7RUFFTjtFQUNBLE1BQU1HLFNBQVMsR0FBR04sUUFBUSxJQUFJSixZQUFZLEtBQUssUUFBUTs7RUFFdkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsTUFBTVcsYUFBYSxHQUFHLElBQUFoQyxhQUFNLEVBQUNGLEtBQUssQ0FBQ21DLFVBQVUsQ0FBQztFQUM5Q0QsYUFBYSxDQUFDRSxPQUFPLEdBQUdwQyxLQUFLLENBQUNtQyxVQUFVO0VBQ3hDLE1BQU1FLGVBQWUsR0FBRyxJQUFBbkMsYUFBTSxFQUFDcUIsWUFBWSxDQUFDO0VBQzVDYyxlQUFlLENBQUNELE9BQU8sR0FBR2IsWUFBWTtFQUV0QyxJQUFBTSxnQkFBUyxFQUFDLE1BQU07SUFDWixJQUFJN0IsS0FBSyxDQUFDdUIsWUFBWSxFQUFFO01BQ3BCQyxlQUFlLENBQUN4QixLQUFLLENBQUN1QixZQUFZLENBQUM7TUFDbkNlLDJCQUFrQixDQUFDQyxhQUFhLENBQUM7UUFBQ0Msa0JBQWtCLEVBQUV4QyxLQUFLLENBQUN1QjtNQUFZLENBQUMsQ0FBQztJQUM5RTtFQUNKLENBQUMsRUFBRSxDQUFDdkIsS0FBSyxDQUFDdUIsWUFBWSxDQUFDLENBQUM7RUFFeEIsSUFBQU0sZ0JBQVMsRUFBQyxNQUFNO0lBQ1pTLDJCQUFrQixDQUFDRyxpQ0FBaUMsQ0FBQztNQUNqREMsT0FBTyxFQUFFO1FBQ0wsSUFBSUMsRUFBRUEsQ0FBQSxFQUFHO1VBQ0wsT0FBTyxRQUFRO1FBQ25CLENBQUM7UUFDREMsZUFBZSxFQUFFQSxDQUFDQyxPQUFPLEVBQUVDLFNBQVMsS0FBSztVQUNyQyxJQUFJN0QsTUFBTSxDQUFDOEQsSUFBSSxDQUFDRCxTQUFTLENBQUMsQ0FDckJFLElBQUksQ0FBRUMsR0FBRyxJQUFLQSxHQUFHLEtBQUssb0JBQW9CLENBQUMsRUFBRTtZQUM5Q3JDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLFFBQVEsR0FBR2lDLFNBQVMsQ0FBQ04sa0JBQWtCLENBQUM7WUFDcEQsSUFBSU0sU0FBUyxDQUFDTixrQkFBa0IsS0FBSyxXQUFXLEVBQUU7Y0FDOUNVLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO1lBQzdCLENBQUMsTUFBTSxJQUFJSixTQUFTLENBQUNOLGtCQUFrQixLQUFLLFdBQVcsRUFBRTtjQUNyRFcsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7WUFDN0IsQ0FBQyxNQUFNLElBQUlMLFNBQVMsQ0FBQ04sa0JBQWtCLEtBQUssUUFBUSxFQUFFO2NBQ2xEWSxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQztZQUN4QjtVQUNKO1FBQ0o7TUFDSjtJQUNKLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUVDLGNBQWMsSUFBSztNQUN4QjlCLGVBQWUsQ0FBQzhCLGNBQWMsR0FBR0EsY0FBYyxDQUFDZCxrQkFBa0IsR0FBRyxXQUFXLENBQUM7SUFDckYsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQ2IsQ0FBQztFQUNMLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFBWCxnQkFBUyxFQUFDLE1BQU07SUFDWixJQUFJTixZQUFZLEtBQUssV0FBVyxFQUFFO01BQzlCMkIsWUFBWSxDQUFDLElBQUksQ0FBQztJQUN0QixDQUFDLE1BQU0sSUFBSTNCLFlBQVksS0FBSyxXQUFXLEVBQUU7TUFDckM0QixZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ3RCLENBQUMsTUFBTTtNQUNIQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQ2pCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxNQUFNRyxHQUFHLEdBQUdDLHFCQUFxQixDQUFDLE1BQU0zRCxNQUFNLENBQUM0RCxhQUFhLENBQUMsSUFBSUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbEYsT0FBTyxNQUFNQyxvQkFBb0IsQ0FBQ0osR0FBRyxDQUFDO0lBQ3RDO0lBQ0E7RUFDSixDQUFDLEVBQUUsQ0FBQ2hDLFlBQVksRUFBRXZCLEtBQUssQ0FBQ21DLFVBQVUsQ0FBQyxDQUFDO0VBRXBDLE1BQU15QixpQkFBaUIsR0FBR0EsQ0FBQSxLQUFNO0lBQzVCLE9BQU87TUFDSEMsU0FBUyxFQUFFLGlCQUFpQjtNQUM1QkMsZUFBZSxFQUFFLFNBQVM7TUFDMUJDLEtBQUssRUFBRXJFLGFBQWEsR0FBRyxJQUFJO01BQzNCc0UsUUFBUSxFQUFFLE9BQU87TUFDakJDLE1BQU0sRUFBRSxPQUFPO01BQ2ZDLE1BQU0sRUFBRTtJQUNaLENBQUM7RUFDTCxDQUFDO0VBRUQsTUFBTUMsaUJBQWlCLEdBQUdBLENBQUEsS0FBTTtJQUM1QixPQUFPO01BQ0hOLFNBQVMsRUFBRSxpQkFBaUI7TUFDNUJDLGVBQWUsRUFBRSxTQUFTO01BQzFCTSxRQUFRLEVBQUUsVUFBVTtNQUNwQjtNQUNBO01BQ0E7TUFDQTtNQUNBNUQsR0FBRyxFQUFFLE1BQU07TUFDWEYsSUFBSSxFQUFFTixLQUFLLENBQUNtQyxVQUFVO01BQ3RCNUIsS0FBSyxFQUFFLE9BQU87TUFDZDtNQUNBO01BQ0E7TUFDQXdELEtBQUssRUFBRSxjQUFjLEdBQUcvRCxLQUFLLENBQUNtQyxVQUFVLEdBQUcsVUFBVTtNQUNyRDZCLFFBQVEsRUFBRSxPQUFPO01BQ2pCQyxNQUFNLEVBQUUsbUJBQW1CO01BQzNCQyxNQUFNLEVBQUU7SUFDWixDQUFDO0VBQ0wsQ0FBQzs7RUFFRDtFQUNBO0VBQ0E7RUFDQSxNQUFNRyxpQkFBaUIsR0FBR0EsQ0FBQSxLQUFNO0lBQzVCLE9BQU87TUFDSFIsU0FBUyxFQUFFLGlCQUFpQjtNQUM1QkMsZUFBZSxFQUFFLFNBQVM7TUFDMUJNLFFBQVEsRUFBRSxVQUFVO01BQ3BCNUQsR0FBRyxFQUFFLE9BQU87TUFDWkYsSUFBSSxFQUFFLE9BQU87TUFDYkMsS0FBSyxFQUFFLE1BQU07TUFDYkUsTUFBTSxFQUFFLE1BQU07TUFDZHNELEtBQUssRUFBRSxNQUFNO01BQ2JPLFFBQVEsRUFBRSxNQUFNO01BQ2hCTixRQUFRLEVBQUUsTUFBTTtNQUNoQkMsTUFBTSxFQUFFLE1BQU07TUFDZE0sWUFBWSxFQUFFLE1BQU07TUFDcEJMLE1BQU0sRUFBRSxHQUFHO01BQ1hNLFFBQVEsRUFBRSxRQUFRO01BQ2xCQyxTQUFTLEVBQUU7SUFDZixDQUFDO0VBQ0wsQ0FBQztFQUVELE1BQU1DLGNBQWMsR0FBR0EsQ0FBQSxLQUFNO0lBQ3pCLElBQUkvQyxRQUFRLEVBQUU7TUFDVixPQUFPMEMsaUJBQWlCLENBQUMsQ0FBQztJQUM5QjtJQUNBLE9BQU87TUFDSFIsU0FBUyxFQUFFLGlCQUFpQjtNQUM1QkMsZUFBZSxFQUFFLFNBQVM7TUFDMUJDLEtBQUssRUFBRSxPQUFPO01BQ2RFLE1BQU0sRUFBRSxtQkFBbUI7TUFDM0JDLE1BQU0sRUFBRTtJQUNaLENBQUM7RUFDTCxDQUFDO0VBRUQsTUFBTWQsT0FBTyxHQUFHLFNBQUFBLENBQUNuRixDQUFDLEVBQTJCO0lBQUEsSUFBekJzRSxhQUFhLEdBQUFoRCxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBb0YsU0FBQSxHQUFBcEYsU0FBQSxNQUFHLElBQUk7SUFDcEMsSUFBSVMsS0FBSyxDQUFDNEUsUUFBUSxFQUFFO01BQ2hCLElBQUlDLEtBQUssR0FBR0MsUUFBUSxDQUFDQyxjQUFjLENBQUMsb0JBQW9CLENBQUM7TUFDekQsSUFBSUYsS0FBSyxFQUFFO1FBQ1AsSUFBSXBELG9CQUFvQixFQUFFO1VBQ3RCb0QsS0FBSyxDQUFDRyxLQUFLLENBQUNuQixTQUFTLEdBQUdwQyxvQkFBb0I7UUFDaEQ7UUFFQSxJQUFJN0IsYUFBYSxDQUFDLENBQUMsRUFBRTtVQUNqQjtVQUNBO1VBQ0FpRixLQUFLLENBQUNHLEtBQUssQ0FBQ2pCLEtBQUssR0FBRyxNQUFNO1VBQzFCYyxLQUFLLENBQUNHLEtBQUssQ0FBQ1YsUUFBUSxHQUFHLE1BQU07VUFDN0JPLEtBQUssQ0FBQ0csS0FBSyxDQUFDaEIsUUFBUSxHQUFHLE1BQU07VUFDN0JhLEtBQUssQ0FBQ0csS0FBSyxDQUFDZixNQUFNLEdBQUcsTUFBTTtVQUMzQlksS0FBSyxDQUFDRyxLQUFLLENBQUNULFlBQVksR0FBRyxNQUFNO1VBQ2pDTSxLQUFLLENBQUNHLEtBQUssQ0FBQ1AsU0FBUyxHQUFHLDZCQUE2QjtVQUNyREksS0FBSyxDQUFDRyxLQUFLLENBQUMxRSxJQUFJLEdBQUcsT0FBTztVQUMxQnVFLEtBQUssQ0FBQ0csS0FBSyxDQUFDekUsS0FBSyxHQUFHLE1BQU07VUFDMUJzRSxLQUFLLENBQUNHLEtBQUssQ0FBQ3hFLEdBQUcsR0FBRyxPQUFPO1VBQ3pCcUUsS0FBSyxDQUFDRyxLQUFLLENBQUN2RSxNQUFNLEdBQUcsTUFBTTtVQUMzQm9FLEtBQUssQ0FBQ0csS0FBSyxDQUFDWixRQUFRLEdBQUcsVUFBVTtVQUNqQ1MsS0FBSyxDQUFDRyxLQUFLLENBQUNkLE1BQU0sR0FBRyxHQUFHO1VBQ3hCVyxLQUFLLENBQUNHLEtBQUssQ0FBQ1IsUUFBUSxHQUFHLFFBQVE7UUFDbkMsQ0FBQyxNQUFNO1VBQ0hLLEtBQUssQ0FBQ0csS0FBSyxDQUFDakIsS0FBSyxHQUFHLE9BQU87VUFDM0JjLEtBQUssQ0FBQ0csS0FBSyxDQUFDZixNQUFNLEdBQUcsbUJBQW1CO1VBQ3hDWSxLQUFLLENBQUNHLEtBQUssQ0FBQ1AsU0FBUyxHQUFHLE9BQU87VUFDL0JJLEtBQUssQ0FBQ0csS0FBSyxDQUFDVCxZQUFZLEdBQUcsS0FBSztVQUNoQ00sS0FBSyxDQUFDRyxLQUFLLENBQUMxRSxJQUFJLEdBQUcsT0FBTztVQUMxQnVFLEtBQUssQ0FBQ0csS0FBSyxDQUFDekUsS0FBSyxHQUFHLEtBQUs7VUFDekJzRSxLQUFLLENBQUNHLEtBQUssQ0FBQ1osUUFBUSxHQUFHLFVBQVU7VUFDakNTLEtBQUssQ0FBQ0csS0FBSyxDQUFDeEUsR0FBRyxHQUFHLE1BQU07VUFDeEJxRSxLQUFLLENBQUNHLEtBQUssQ0FBQ3ZFLE1BQU0sR0FBRyxPQUFPO1VBQzVCb0UsS0FBSyxDQUFDRyxLQUFLLENBQUNkLE1BQU0sR0FBRyxRQUFRO1VBQzdCVyxLQUFLLENBQUNHLEtBQUssQ0FBQ2hCLFFBQVEsR0FBRyxPQUFPO1FBQ2xDO1FBRUEsSUFBSWlCLE1BQU0sR0FBR0gsUUFBUSxDQUFDSSxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0RELE1BQU0sQ0FBQ0Usb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNILEtBQUssQ0FBQ0ksS0FBSyxHQUFHLFNBQVM7UUFFaEUsSUFBSS9DLGVBQWUsQ0FBQ0QsT0FBTyxLQUFLLFFBQVEsRUFBRTtVQUN0Q1osZUFBZSxDQUFDLFFBQVEsQ0FBQztRQUM3QjtRQUVBLElBQUllLGFBQWEsRUFBRTtVQUNmRCwyQkFBa0IsQ0FBQ0MsYUFBYSxDQUFDO1lBQUNDLGtCQUFrQixFQUFFO1VBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUMzRTtRQUVBeEMsS0FBSyxDQUFDcUYsUUFBUSxDQUFDLENBQUM7TUFDcEI7SUFDSjtFQUNKLENBQUM7RUFFRCxNQUFNbEMsWUFBWSxHQUFHLFNBQUFBLENBQUNsRixDQUFDLEVBQTJCO0lBQUEsSUFBekJzRSxhQUFhLEdBQUFoRCxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBb0YsU0FBQSxHQUFBcEYsU0FBQSxNQUFHLElBQUk7SUFDekMsSUFBSStCLFdBQVcsRUFBRTtNQUNiLElBQUl1RCxLQUFLLEdBQUdDLFFBQVEsQ0FBQ0MsY0FBYyxDQUFDLG9CQUFvQixDQUFDO01BQ3pELElBQUlGLEtBQUssRUFBRTtRQUNQLElBQUlwRCxvQkFBb0IsRUFBRTtVQUN0Qm9ELEtBQUssQ0FBQ0csS0FBSyxDQUFDbkIsU0FBUyxHQUFHcEMsb0JBQW9CO1FBQ2hEO1FBRUFvRCxLQUFLLENBQUNHLEtBQUssQ0FBQ00sY0FBYyxDQUFDLGdCQUFnQixDQUFDO1FBQzVDVCxLQUFLLENBQUNHLEtBQUssQ0FBQ1AsU0FBUyxHQUFHLE9BQU87UUFDL0JJLEtBQUssQ0FBQ0csS0FBSyxDQUFDakIsS0FBSyxHQUFHckUsYUFBYSxHQUFHLElBQUk7UUFDeENtRixLQUFLLENBQUNHLEtBQUssQ0FBQ2YsTUFBTSxHQUFHLE9BQU87UUFDNUJZLEtBQUssQ0FBQ0csS0FBSyxDQUFDZCxNQUFNLEdBQUcsa0JBQWtCO1FBQ3ZDVyxLQUFLLENBQUNHLEtBQUssQ0FBQ1osUUFBUSxHQUFHLFVBQVU7UUFDakNTLEtBQUssQ0FBQ0csS0FBSyxDQUFDTyxNQUFNLEdBQUcsT0FBTztRQUM1QjtRQUNBVixLQUFLLENBQUNHLEtBQUssQ0FBQ00sY0FBYyxDQUFDLFdBQVcsQ0FBQztRQUN2Q1QsS0FBSyxDQUFDRyxLQUFLLENBQUNNLGNBQWMsQ0FBQyxlQUFlLENBQUM7UUFDM0NULEtBQUssQ0FBQ0csS0FBSyxDQUFDTSxjQUFjLENBQUMsUUFBUSxDQUFDO1FBRXBDLElBQUlMLE1BQU0sR0FBR0gsUUFBUSxDQUFDSSxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0RELE1BQU0sQ0FBQ0Usb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNILEtBQUssQ0FBQ0ksS0FBSyxHQUFHLFNBQVM7UUFDaEVOLFFBQVEsQ0FBQ0MsY0FBYyxDQUFDLHVCQUF1QixDQUFDLENBQUNDLEtBQUssQ0FBQ1EsTUFBTSxHQUFHLE1BQU07UUFFdEUsSUFBSW5ELGVBQWUsQ0FBQ0QsT0FBTyxLQUFLLFdBQVcsRUFBRTtVQUN6Q1osZUFBZSxDQUFDLFdBQVcsQ0FBQztRQUNoQztRQUVBLElBQUllLGFBQWEsRUFBRTtVQUNmRCwyQkFBa0IsQ0FBQ0MsYUFBYSxDQUFDO1lBQUNDLGtCQUFrQixFQUFFO1VBQVcsQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUM5RTtNQUNKO0lBQ0o7RUFDSixDQUFDO0VBRUQsTUFBTVUsWUFBWSxHQUFHLFNBQUFBLENBQUNqRixDQUFDLEVBQTJCO0lBQUEsSUFBekJzRSxhQUFhLEdBQUFoRCxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBb0YsU0FBQSxHQUFBcEYsU0FBQSxNQUFHLElBQUk7SUFDekMsSUFBSXNGLEtBQUssR0FBR0MsUUFBUSxDQUFDQyxjQUFjLENBQUMsb0JBQW9CLENBQUM7SUFDekQsSUFBSUYsS0FBSyxFQUFFO01BQ1BuRCx1QkFBdUIsQ0FBQ21ELEtBQUssQ0FBQ0csS0FBSyxDQUFDbkIsU0FBUyxDQUFDO01BQzlDZ0IsS0FBSyxDQUFDRyxLQUFLLENBQUNNLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztNQUM1Q1QsS0FBSyxDQUFDRyxLQUFLLENBQUNQLFNBQVMsR0FBRyxPQUFPO01BQy9CSSxLQUFLLENBQUNHLEtBQUssQ0FBQ25CLFNBQVMsR0FBRyxpQkFBaUI7TUFDekNnQixLQUFLLENBQUNHLEtBQUssQ0FBQ2xCLGVBQWUsR0FBRyxTQUFTO01BQ3ZDO01BQ0E7TUFDQTtNQUNBZSxLQUFLLENBQUNHLEtBQUssQ0FBQ2pCLEtBQUssR0FBRyxjQUFjLEdBQUc3QixhQUFhLENBQUNFLE9BQU8sR0FBRyxVQUFVO01BQ3ZFeUMsS0FBSyxDQUFDRyxLQUFLLENBQUNoQixRQUFRLEdBQUcsT0FBTztNQUM5QmEsS0FBSyxDQUFDRyxLQUFLLENBQUNmLE1BQU0sR0FBRyxtQkFBbUI7TUFDeENZLEtBQUssQ0FBQ0csS0FBSyxDQUFDZCxNQUFNLEdBQUcsR0FBRztNQUN4QlcsS0FBSyxDQUFDRyxLQUFLLENBQUN6RSxLQUFLLEdBQUcsT0FBTztNQUMzQnNFLEtBQUssQ0FBQ0csS0FBSyxDQUFDWixRQUFRLEdBQUcsVUFBVTtNQUNqQ1MsS0FBSyxDQUFDRyxLQUFLLENBQUN4RSxHQUFHLEdBQUcsTUFBTTtNQUN4QjtNQUNBO01BQ0E7TUFDQXFFLEtBQUssQ0FBQ0csS0FBSyxDQUFDMUUsSUFBSSxHQUFHNEIsYUFBYSxDQUFDRSxPQUFPO01BQ3hDO01BQ0E7TUFDQXlDLEtBQUssQ0FBQ0csS0FBSyxDQUFDTSxjQUFjLENBQUMsV0FBVyxDQUFDO01BQ3ZDVCxLQUFLLENBQUNHLEtBQUssQ0FBQ00sY0FBYyxDQUFDLGVBQWUsQ0FBQztNQUMzQ1QsS0FBSyxDQUFDRyxLQUFLLENBQUNNLGNBQWMsQ0FBQyxRQUFRLENBQUM7TUFFcEMsSUFBSUwsTUFBTSxHQUFHSCxRQUFRLENBQUNJLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztNQUMvREQsTUFBTSxDQUFDRSxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0gsS0FBSyxDQUFDSSxLQUFLLEdBQUcscUJBQXFCO01BQzVFTixRQUFRLENBQUNDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDQyxLQUFLLENBQUNRLE1BQU0sR0FBRyxTQUFTO01BRXpFLElBQUluRCxlQUFlLENBQUNELE9BQU8sS0FBSyxXQUFXLEVBQUU7UUFDekNaLGVBQWUsQ0FBQyxXQUFXLENBQUM7TUFDaEM7TUFFQSxJQUFJZSxhQUFhLEVBQUU7UUFDZkQsMkJBQWtCLENBQUNDLGFBQWEsQ0FBQztVQUFDQyxrQkFBa0IsRUFBRTtRQUFXLENBQUMsRUFBRSxLQUFLLENBQUM7TUFDOUU7SUFDSjtFQUNKLENBQUM7RUFFRCxvQkFDSWpGLE1BQUEsQ0FBQVksT0FBQSxDQUFBOEMsYUFBQSxDQUFBMUQsTUFBQSxDQUFBWSxPQUFBLENBQUFzSCxRQUFBLHFCQUNJbEksTUFBQSxDQUFBWSxPQUFBLENBQUE4QyxhQUFBO0lBQUsrRCxLQUFLLEVBQUU7TUFDUmpCLEtBQUssRUFBRSxNQUFNO01BQ2JFLE1BQU0sRUFBRSxNQUFNO01BQ2R5QixTQUFTLEVBQUUsTUFBTTtNQUNqQkMsU0FBUyxFQUFFLFFBQVE7TUFDbkJDLFNBQVMsRUFBRSxNQUFNO01BQ2pCQyxPQUFPLEVBQUUsTUFBTTtNQUNmVCxLQUFLLEVBQUU7SUFDWDtFQUFFLGdCQUNFN0gsTUFBQSxDQUFBWSxPQUFBLENBQUE4QyxhQUFBLENBQUNqRCxhQUFBLENBQUFHLE9BQVk7SUFDVGdFLFVBQVUsRUFBRW5DLEtBQUssQ0FBQ21DLFVBQVc7SUFDN0IyRCxtQkFBbUI7SUFDbkJ6RSxJQUFJLEVBQUUsSUFBSztJQUNYMEUsT0FBTyxFQUFHOUgsQ0FBQyxJQUFLO01BQ1orQixLQUFLLENBQUMrRixPQUFPLENBQUMsQ0FBQztJQUNuQixDQUFFO0lBQ0ZDLFdBQVc7SUFDWEMsWUFBWSxFQUFFLElBQUs7SUFDbkIsbUJBQWdCLHNCQUFzQjtJQUN0QyxvQkFBaUIsNEJBQTRCO0lBQzdDQyxTQUFTLEVBQUVsRyxLQUFLLENBQUNtRyxrQkFBbUI7SUFDcENwRyxjQUFjLEVBQUVBLGNBQWU7SUFDL0JxRyxVQUFVLEVBQUU7TUFDUnpELEVBQUUsRUFBRSxvQkFBb0I7TUFDeEJ1RCxTQUFTLEVBQUUzRSxZQUFZLEtBQUssV0FBVyxHQUFHLGtCQUFrQixHQUFHQSxZQUFZLEtBQUssV0FBVyxHQUFHLGtCQUFrQixHQUFHLHFCQUFxQjtNQUN4SThFLFFBQVEsRUFBRTlFLFlBQVksS0FBSyxXQUFXO01BQ3RDeUQsS0FBSyxFQUFFekQsWUFBWSxLQUFLLFdBQVcsR0FBR3FDLGlCQUFpQixDQUFDLENBQUMsR0FBR3JDLFlBQVksS0FBSyxXQUFXLEdBQUc0QyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUdPLGNBQWMsQ0FBQztJQUNwSTtFQUFFLGdCQUVGbkgsTUFBQSxDQUFBWSxPQUFBLENBQUE4QyxhQUFBO0lBQUswQixFQUFFLEVBQUUsZ0JBQWlCO0lBQUNxQyxLQUFLLEVBQUU7TUFBQ1IsUUFBUSxFQUFFO0lBQVEsQ0FBRTtJQUNsRDBCLFNBQVMsS0FBQUksTUFBQSxDQUFLLENBQUMvRSxZQUFZLEtBQUssUUFBUSxHQUFHLGdCQUFnQixHQUFHLEVBQUUsSUFBSSxhQUFhO0VBQUc7RUFFakY7RUFDQTtFQUNBVSxTQUFTLGlCQUNUMUUsTUFBQSxDQUFBWSxPQUFBLENBQUE4QyxhQUFBLENBQUNuRCxXQUFBLENBQUFLLE9BQVU7SUFDUG9JLE9BQU8sRUFBR3RJLENBQUMsSUFBSytCLEtBQUssQ0FBQ3dHLEtBQUssQ0FBQyxDQUFFO0lBQzlCLGNBQVcsZUFBZTtJQUMxQnhCLEtBQUssRUFBRTtNQUFDakIsS0FBSyxFQUFFLE1BQU07TUFBRUUsTUFBTSxFQUFFLE1BQU07TUFBRW1CLEtBQUssRUFBRTtJQUFTO0VBQUUsZ0JBRXpEN0gsTUFBQSxDQUFBWSxPQUFBLENBQUE4QyxhQUFBLENBQUNwRCxLQUFBLENBQUFNLE9BQUk7SUFBQ3dFLEVBQUUsRUFBRTtFQUFXLENBQUMsQ0FDZCxDQUFDLGVBRWpCcEYsTUFBQSxDQUFBWSxPQUFBLENBQUE4QyxhQUFBO0lBQUsrRCxLQUFLLEVBQUU7TUFBQ2pCLEtBQUssRUFBRSxNQUFNO01BQUVFLE1BQU0sRUFBRSxNQUFNO01BQUU0QixPQUFPLEVBQUU1RCxTQUFTLEdBQUcsTUFBTSxHQUFHO0lBQU87RUFBRSxnQkFDbkYxRSxNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUE7SUFBS2lGLFNBQVMsRUFBRSx1QkFBd0I7SUFBQ3ZELEVBQUUsRUFBQztFQUF1QixnQkFDL0RwRixNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUEsY0FFUU0sWUFBWSxpQkFDWmhFLE1BQUEsQ0FBQVksT0FBQSxDQUFBOEMsYUFBQTtJQUFLK0QsS0FBSyxFQUFFO01BQ1JqQixLQUFLLEVBQUUsTUFBTTtNQUNiRSxNQUFNLEVBQUUsTUFBTTtNQUNkRyxRQUFRLEVBQUUsVUFBVTtNQUNwQjdELEtBQUssRUFBRSxDQUFDO01BQ1JDLEdBQUcsRUFBRTtJQUNUO0VBQUUsZ0JBQ0VqRCxNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUE7SUFBS2lGLFNBQVMsRUFBRSxrQkFBbUI7SUFBQ2xCLEtBQUssRUFBRTtNQUFDeUIsU0FBUyxFQUFFO0lBQU07RUFBRSxHQUV2RG5GLFdBQVcsaUJBQ1gvRCxNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUEsY0FFUU0sWUFBWSxLQUFLLFdBQVcsZ0JBQ3hCaEUsTUFBQSxDQUFBWSxPQUFBLENBQUE4QyxhQUFBLENBQUNuRCxXQUFBLENBQUFLLE9BQVU7SUFDUG9JLE9BQU8sRUFBR3RJLENBQUMsSUFBSztNQUNaa0YsWUFBWSxDQUFDbEYsQ0FBQyxDQUFDO0lBQ25CLENBQUU7SUFDRitHLEtBQUssRUFBRTtNQUNIMEIsV0FBVyxFQUFFO0lBQ2pCO0VBQUUsZ0JBRUZuSixNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUEsQ0FBQ3BELEtBQUEsQ0FBQU0sT0FBSTtJQUFDd0UsRUFBRSxFQUFFO0VBQVcsQ0FBQyxDQUNkLENBQUMsZ0JBRWJwRixNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUEsQ0FBQ25ELFdBQUEsQ0FBQUssT0FBVTtJQUNQb0ksT0FBTyxFQUFHdEksQ0FBQyxJQUFLO01BQ1ppRixZQUFZLENBQUNqRixDQUFDLENBQUM7SUFDbkIsQ0FBRTtJQUNGK0csS0FBSyxFQUFFO01BQ0gwQixXQUFXLEVBQUU7SUFDakI7RUFBRSxnQkFFRm5KLE1BQUEsQ0FBQVksT0FBQSxDQUFBOEMsYUFBQSxDQUFDcEQsS0FBQSxDQUFBTSxPQUFJO0lBQUN3RSxFQUFFLEVBQUU7RUFBVyxDQUFDLENBQ2QsQ0FFbkIsQ0FBQyxFQUdOM0MsS0FBSyxDQUFDNEUsUUFBUSxpQkFDZHJILE1BQUEsQ0FBQVksT0FBQSxDQUFBOEMsYUFBQSwyQkFDSTFELE1BQUEsQ0FBQVksT0FBQSxDQUFBOEMsYUFBQSxDQUFDbkQsV0FBQSxDQUFBSyxPQUFVO0lBQ1BvSSxPQUFPLEVBQUd0SSxDQUFDLElBQUs7TUFDWitCLEtBQUssQ0FBQ3dHLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUU7SUFDRnhCLEtBQUssRUFBRTtNQUNIMEIsV0FBVyxFQUFFO0lBQ2pCO0VBQUUsZ0JBRUZuSixNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUEsQ0FBQ3BELEtBQUEsQ0FBQU0sT0FBSTtJQUFDd0UsRUFBRSxFQUFFO0VBQVcsQ0FBQyxDQUNkLENBQ1gsQ0FFUixDQUNKLENBRVIsQ0FDSixDQUFDLEVBRUZ2QixRQUVDLENBQ0osQ0FDSyxDQUNiLENBQ1AsQ0FBQztBQUVYLENBQUM7QUFBQyxJQUFBdUYsUUFBQSxHQUFBQyxPQUFBLENBQUF6SSxPQUFBLEdBRWFnRCxNQUFNIiwiaWdub3JlTGlzdCI6W119
|
package/dist/view/Dashboard.js
CHANGED
|
@@ -530,7 +530,7 @@ const Dashboard = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.f
|
|
|
530
530
|
overflowY: 'hidden',
|
|
531
531
|
overflowX: 'hidden',
|
|
532
532
|
height: '100%',
|
|
533
|
-
padding: '0
|
|
533
|
+
padding: '0'
|
|
534
534
|
}
|
|
535
535
|
}, /*#__PURE__*/_react.default.createElement(_AlertBar.default, {
|
|
536
536
|
config: {
|
|
@@ -603,4 +603,4 @@ const Dashboard = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.f
|
|
|
603
603
|
})))))))))));
|
|
604
604
|
}));
|
|
605
605
|
var _default = exports.default = Dashboard;
|
|
606
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVXRpbHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0c3RyYXAiLCJfSWNvbiIsIl9JY29uQnV0dG9uIiwiX1BhcGVyIiwiX0J1dHRvbiIsIl9SZXN0VXRpbHMiLCJfUm91dGVBY3Rpb25IYW5kbGVyIiwiX0FwcGxpY2F0aW9uTWFuYWdlciIsIl9FdmVudCIsIl9PYnNlcnZhYmxlIiwiX0V2ZW50VHlwZSIsIl9BbGVydEJhciIsIl9yZWFjdFByb21pc2VUcmFja2VyIiwiX1ZpZXciLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJsb2NhdGlvbiIsIndpbmRvdyIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJ0ZXh0IiwicmVzcG9uc2UiLCJrZXlDb3VudGVyIiwiYWxlcnRCYXJIYW5kbGUiLCJEYXNoYm9hcmRDYXJkIiwicHJvcHMiLCJwYXRoIiwic2V0UGF0aCIsIlJlYWN0IiwidXNlU3RhdGUiLCJuYW1lIiwic2V0TmFtZSIsImRpc3BsYXlUeXBlIiwic2V0RGlzcGxheVR5cGUiLCJ2aWV3Iiwic2V0dmlldyIsInNldHRpbmdzIiwiaWQiLCJzZXRJZCIsImNvbnRlbnQiLCJzZXRDb250ZW50IiwicmVmIiwiY3JlYXRlUmVmIiwidXNlRWZmZWN0IiwiYWNjZXNzVG9rZW4iLCJzZXNzaW9uU3RvcmFnZSIsImdldEl0ZW0iLCJpZFRva2VuIiwiaGFuZGxlIiwiYXBpIiwibG9hZGVkIiwic2VuZFJlcXVlc3QiLCJkYXRhIiwiZGFzaGJvYXJkVmlldyIsImNvbmZpZyIsInBhcmVudCIsInBvcFVwIiwiYXBwbGljYXRpb25NYW5hZ2VyIiwiYWRkRGFzaGJvYXJkVmlldyIsImVsZW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiVmlldyIsImtleSIsInBhcmFtZXRlcnMiLCJmZXRjaENvbmZpZyIsIm1ldGhvZCIsImhlYWRlcnMiLCJ0cmFja1Byb21pc2UiLCJmZXRjaCIsImVuY29kZVVSSSIsInRoZW4iLCJjb25zb2xlIiwibG9nIiwiY2F0Y2giLCJhbGVydCIsIm1lc3NhZ2UiLCJlcnJvciIsImxvYWQiLCJ1cmwiLCJnZXRDb250ZXh0Um9vdCIsImdldFVJQ29uZmlnUGF0aCIsImRlZmF1bHREaXNwbGF5VHlwZSIsIlV0aWxzIiwiaXNOdWxsIiwiZGVmYXVsdE5hbWUiLCJkYXNoYm9hcmROYW1lIiwiZGVmYXVsdERhc2hib2FyZE5hbWUiLCJjb250ZW50UGF0aCIsImNvbmNhdCIsInRvTG93ZXJDYXNlIiwic2F2ZURhc2hib2FyZCIsInBvc3REYXRhIiwiZGlzcGxheUFsZXJ0IiwiU1lTVEVNX0VSUk9SX01FU1NBR0UiLCJtZXNzYWdlVHlwZSIsIm1lc3NhZ2VUZXh0IiwiZXZlbnQiLCJFdmVudCIsImV2ZW50TWFuYWdlciIsImZpcmVFdmVudCIsIkV2ZW50VHlwZSIsIk1FU1NBR0VfQVJSSVZFRCIsImRlbGV0ZURhc2hib2FyZCIsIm9wZW5Db25maXJtRGlhbG9nIiwicmVzdWx0Iiwib25EZWxldGUiLCJzdHlsZSIsIm1pbldpZHRoIiwib3ZlcmZsb3ciLCJjbGFzc05hbWUiLCJoZWlnaHQiLCJVbmNvbnRyb2xsZWREcm9wZG93biIsIkRyb3Bkb3duVG9nZ2xlIiwiY29sb3IiLCJ3aWR0aCIsIm1hcmdpbiIsIm5hdiIsInBhZGRpbmciLCJEcm9wZG93bk1lbnUiLCJ0YWciLCJOYXZMaW5rIiwiRHJvcGRvd25JdGVtIiwib25DbGljayIsImRpc2FibGVkIiwiZm9udFNpemUiLCJ0eXBlIiwiV29ya0Zsb3dDYXJkIiwic3AiLCJzZXRTcCIsIm1pblciLCJzZXRNaW5XIiwicm91dGVBY3Rpb24iLCJpbm5lcldpZHRoIiwidGl0bGUiLCJpdGVtQ291bnQiLCJtYXJnaW5Ub3AiLCJ2YXJpYW50Iiwic2l6ZSIsInBhcnNlRmxvYXQiLCJSb3V0ZUFjdGlvbkhhbmRsZXIiLCJleGVjdXRlIiwidmlld1JlZiIsIkRhc2hib2FyZCIsIm1lbW8iLCJmb3J3YXJkUmVmIiwidXNlckRhc2hib2FyZHMiLCJnZXREYXNoYm9hcmRTZXR0aW5ncyIsInRhc2tTdW1tYXJ5Iiwic2V0VGFza1N1bW1hcnkiLCJtZW51SXRlbXMiLCJzZXRNZW51SXRlbXMiLCJjYXJkQ29scyIsInNldENhcmRDb2xzIiwiY29sdW1uSGVpZ2h0cyIsInNldENvbHVtbkhlaWdodHMiLCJudW1Db2xzIiwiZ2V0Q2hpbGRyZW4iLCJnZXRDaGlsZCIsImdldERhc2hib2FyZE1lbnUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNlcnZpY2UiLCJ2YWx1ZSIsImh0dHBQYXJhbWV0ZXJUeXBlIiwiY29udGVudFR5cGUiLCJpbnZva2VSZXN0IiwibWVudXMiLCJsb2FkTWVudXMiLCJzeXN0ZW1Qcm9maWxlRHRvIiwibW9kdWxlcyIsImRhc2hib2FyZE1lbnVpdGVtcyIsImxlbmd0aCIsIm1vZHVsZSIsImRhc2hib2FyZE1lbnUiLCJqIiwibWVudSIsIml0ZW1zIiwiaXRlbSIsInB1c2giLCJzZXR1cENhcmRDb2xzIiwidG90YWxJdGVtcyIsImNvbHMiLCJBcnJheSIsImZyb20iLCJfIiwiZm9yRWFjaCIsImluZGV4IiwibWF4SXRlbXMiLCJNYXRoIiwibWF4IiwibWFwIiwiY29sIiwiYmFzZUhlaWdodFBlckNhcmQiLCJ0b3RhbFRhcmdldEhlaWdodCIsImhlaWdodHMiLCJ0b0ZpeGVkIiwiZGFzaGJvYXJkcyIsImRhc2hib2FyZCIsInNldERhc2hib2FyZFZpZXciLCJjbGVhckRhc2hib2FyZFZpZXdzIiwiYWRkRGFzaGJvYXJkQ2FyZCIsImV2ZW50SGFuZGxpbmdDb25maWciLCJzdWJzY3JpcHRpb25zIiwiYWN0aW9ucyIsIkZyYWdtZW50IiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsImdhcCIsImVuZCIsImF0dHJpYnV0ZXMiLCJsYWJlbCIsIm1heEhlaWdodCIsIm92ZXJmbG93WSIsIm92ZXJmbG93WCIsInZpZXdJZCIsInBhZGRpbmdSaWdodCIsIm1pbkhlaWdodCIsInBlcnNvbmFsV29ya0l0ZW1Db3VudCIsImdyb3VwV29ya0l0ZW1Db3VudCIsImR1ZVRvZGF5SXRlbUNvdW50IiwiY29sSW5kZXgiLCJmbGV4IiwiYm94U2l6aW5nIiwiZmxleERpcmVjdGlvbiIsIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsImJvcmRlclJhZGl1cyIsInNwbGljZSIsImluZGV4T2YiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3ZpZXcvRGFzaGJvYXJkLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyLvu79pbXBvcnQgUmVhY3QsIHt1c2VSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBVdGlscyBmcm9tICcuLi9VdGlscyc7XG5pbXBvcnQge0Ryb3Bkb3duSXRlbSwgRHJvcGRvd25NZW51LCBEcm9wZG93blRvZ2dsZSwgTmF2TGluaywgVW5jb250cm9sbGVkRHJvcGRvd259IGZyb20gJ3JlYWN0c3RyYXAnO1xuaW1wb3J0IEljb24gZnJvbSAnLi4vY29tcG9uZW50cy9JY29uJztcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvSWNvbkJ1dHRvbic7XG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQnV0dG9uJztcbmltcG9ydCB7aW52b2tlUmVzdCwgcG9zdERhdGEsIHNlbmRSZXF1ZXN0fSBmcm9tICcuLi9SZXN0VXRpbHMnO1xuaW1wb3J0IFJvdXRlQWN0aW9uSGFuZGxlciBmcm9tICcuLi9ldmVudC9Sb3V0ZUFjdGlvbkhhbmRsZXInO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tICcuLi9BcHBsaWNhdGlvbk1hbmFnZXInO1xuaW1wb3J0IEV2ZW50IGZyb20gJy4uL2V2ZW50L0V2ZW50JztcbmltcG9ydCBldmVudE1hbmFnZXIgZnJvbSAnLi4vZXZlbnQvT2JzZXJ2YWJsZSc7XG5pbXBvcnQgRXZlbnRUeXBlIGZyb20gJy4uL2V2ZW50L0V2ZW50VHlwZSc7XG5pbXBvcnQgQWxlcnRCYXIgZnJvbSAnLi4vY29tcG9uZW50cy9BbGVydEJhcic7XG5pbXBvcnQge3RyYWNrUHJvbWlzZX0gZnJvbSBcInJlYWN0LXByb21pc2UtdHJhY2tlclwiO1xuaW1wb3J0IHtWaWV3fSBmcm9tIFwiLi4vY29tcG9uZW50cy9sYXlvdXQvVmlld1wiO1xuXG5jb25zdCBsb2NhdGlvbiA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArICcvLycgKyB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7XG5jb25zdCB0ZXh0ID0gKHJlc3BvbnNlKSA9PiB7XG4gICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKTtcbn07XG5cbmxldCBrZXlDb3VudGVyID0gMDtcblxuY29uc3QgYWxlcnRCYXJIYW5kbGUgPSB7fTtcbmNvbnN0IERhc2hib2FyZENhcmQgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBbcGF0aCwgc2V0UGF0aF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbbmFtZSwgc2V0TmFtZV0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbZGlzcGxheVR5cGUsIHNldERpc3BsYXlUeXBlXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFt2aWV3LCBzZXR2aWV3XSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IHtzZXR0aW5nc30gPSBwcm9wcztcbiAgICBjb25zdCBbaWQsIHNldElkXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLnNldHRpbmdzLmlkKTtcbiAgICBjb25zdCBbY29udGVudCwgc2V0Q29udGVudF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbcmVmXSA9IFJlYWN0LnVzZVN0YXRlKFJlYWN0LmNyZWF0ZVJlZigpKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdhY2Nlc3NUb2tlbicpO1xuICAgICAgICAgICAgY29uc3QgaWRUb2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2lkVG9rZW4nKTtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZSA9IHtcbiAgICAgICAgICAgICAgICBhcGk6IHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0IGlkKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdkYXNoYm9hcmQtbWVudXMnO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBsb2FkZWQoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmIChwYXRoICYmIGRpc3BsYXlUeXBlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRpc3BsYXlUeXBlID09PSAnVklFVycpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VuZFJlcXVlc3QocGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2VuZFJlcXVlc3QgYXV0by1kZWNvZGVzIHRoZSB7X2NkdWlfen0gd2lyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdyYXAgZm9yIC91aS9hcGkvdiovIFVSTHMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5pZCA9IGRhdGEuaWQgKyBcIl9cIiArIGtleUNvdW50ZXIrKztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGFzaGJvYXJkVmlldyA9IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhc2hib2FyZFZpZXcuY29uZmlnID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXNoYm9hcmRWaWV3LnBhcmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhc2hib2FyZFZpZXcucG9wVXAgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXNoYm9hcmRWaWV3LndpbmRvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhc2hib2FyZFZpZXcuY29uZmlnLndpbmRvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhc2hib2FyZFZpZXcuaGFuZGxlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcGk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuYWRkRGFzaGJvYXJkVmlldyhkYXNoYm9hcmRWaWV3LCBwYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZWxlbWVudCA9IDxWaWV3IGtleT17ZGF0YS5pZCArIFwiX1wiICsga2V5Q291bnRlcn0gY29uZmlnPXtkYXRhfSBwYXJhbWV0ZXJzPXtbXX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2Rhc2hib2FyZFZpZXcuaGFuZGxlfS8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldHZpZXcoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZmV0Y2hDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAndGV4dC9odG1sJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjZXB0JzogJ3RleHQvaHRtbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiAnQmVhcmVyICcgKyBhY2Nlc3NUb2tlbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWRUb2tlbic6IGlkVG9rZW5cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYWNrUHJvbWlzZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoKGVuY29kZVVSSShwYXRoKSwgZmV0Y2hDb25maWcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4odGV4dClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkNPTlRFTlQgOiBcIiwgZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldENvbnRlbnQoZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxlcnQoZS5tZXNzYWdlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LCBbcGF0aCwgZGlzcGxheVR5cGVdKTtcblxuICAgIGZ1bmN0aW9uIGxvYWQoKSB7XG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgLy8gVE9ETzogTWFrZSB0aGUgYmFzZSBVUkwgZHluYW1pY1xuICAgICAgICAgICAgbGV0IHVybCA9IGxvY2F0aW9uICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KClcbiAgICAgICAgICAgICAgICArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRVSUNvbmZpZ1BhdGgoKSArICcvZGFzaGJvYXJkL2dldD92ZXJzaW9uPTEuMCZpZD0nICsgc2V0dGluZ3MucGF0aDtcbiAgICAgICAgICAgIHNlbmRSZXF1ZXN0KHVybCxcbiAgICAgICAgICAgICAgICAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBzZW5kUmVxdWVzdCBhdXRvLWRlY29kZXMgdGhlIHtfY2R1aV96fSB3aXJlIHdyYXAuXG4gICAgICAgICAgICAgICAgICAgIGxldCBkZWZhdWx0RGlzcGxheVR5cGUgPSAhVXRpbHMuaXNOdWxsKHNldHRpbmdzLnBhcmFtZXRlcnMuZGlzcGxheVR5cGUpID8gc2V0dGluZ3MucGFyYW1ldGVycy5kaXNwbGF5VHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBkYXRhLmRlZmF1bHREaXNwbGF5VHlwZTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoVXRpbHMuaXNOdWxsKGRlZmF1bHREaXNwbGF5VHlwZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0NvdWxkIG5vdCBkZXRlcm1pbmUgZGlzcGxheSB0eXBlIGZvciBkYXNoYm9hcmQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHNldERpc3BsYXlUeXBlKGRlZmF1bHREaXNwbGF5VHlwZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IGRlZmF1bHROYW1lID0gIVV0aWxzLmlzTnVsbChzZXR0aW5ncy5wYXJhbWV0ZXJzLmRhc2hib2FyZE5hbWUpID8gc2V0dGluZ3MucGFyYW1ldGVycy5kYXNoYm9hcmROYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGRhdGEuZGVmYXVsdERhc2hib2FyZE5hbWU7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKFV0aWxzLmlzTnVsbChkZWZhdWx0RGlzcGxheVR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgZGV0ZXJtaW5lIGEgZGVmYXVsdCBuYW1lIGZvciBkYXNoYm9hcmQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHNldE5hbWUoZGVmYXVsdE5hbWUpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnYWNjZXNzVG9rZW4nKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaWRUb2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2lkVG9rZW4nKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVmYXVsdERpc3BsYXlUeXBlID09PSAnVklFVycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1cmwgPSBsb2NhdGlvbiArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldFVJQ29uZmlnUGF0aCgpICsgJy92aWV3L2dldD92ZXJzaW9uPTEuMCZpZD0nICsgZGF0YS5jb250ZW50UGF0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFBhdGgodXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldERpc3BsYXlUeXBlKGRlZmF1bHREaXNwbGF5VHlwZSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRQYXRoKGxvY2F0aW9uICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRVSUNvbmZpZ1BhdGgoKSArICcvaHRtbC9nZXQ/dmVyc2lvbj0xLjAmaWQ9J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgZGF0YS5jb250ZW50UGF0aCArIGAtJHtkZWZhdWx0RGlzcGxheVR5cGUudG9Mb3dlckNhc2UoKX0uaHRtbCZhY2Nlc3NfdG9rZW49JHthY2Nlc3NUb2tlbn0maWRUb2tlbj0ke2lkVG9rZW59YCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgUmVhY3QudXNlRWZmZWN0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICBsb2FkKCk7XG4gICAgICAgIH0sIFtdXG4gICAgKTtcblxuICAgIGNvbnN0IHNhdmVEYXNoYm9hcmQgPSAoKSA9PiB7XG4gICAgICAgIHNldHRpbmdzLnBhcmFtZXRlcnMuZGlzcGxheVR5cGUgPSBkaXNwbGF5VHlwZTtcbiAgICAgICAgc2V0dGluZ3MucGFyYW1ldGVycy5kYXNoYm9hcmROYW1lID0gbmFtZTtcblxuICAgICAgICBsZXQgZGF0YSA9IHtcbiAgICAgICAgICAgIGlkOiBzZXR0aW5ncy5pZCxcbiAgICAgICAgICAgIHBhdGg6IHNldHRpbmdzLnBhdGgsXG4gICAgICAgICAgICBwYXJhbWV0ZXJzOiBzZXR0aW5ncy5wYXJhbWV0ZXJzXG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IHVybCA9IGAke2xvY2F0aW9uICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KCl9L3N5c3RlbS9hcGkvdjEvdXNlci9kYXNoYm9hcmQvc2F2ZWA7XG4gICAgICAgIHBvc3REYXRhKHVybCwgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBzZXR0aW5ncy5pZCA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgc2V0SWQocmVzcG9uc2UpO1xuICAgICAgICAgICAgZGlzcGxheUFsZXJ0KCdTVUNDRVNTJywgJ0Rhc2hib2FyZCBzYXZlZCBzdWNjZXNzZnVsbHknKTtcbiAgICAgICAgfSwgKGUpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICAgICAgZGlzcGxheUFsZXJ0KCdFUlJPUicsIFV0aWxzLlNZU1RFTV9FUlJPUl9NRVNTQUdFKVxuICAgICAgICB9LCB0cnVlLCBkYXRhKTtcbiAgICB9O1xuXG4gICAgY29uc3QgZGlzcGxheUFsZXJ0ID0gKG1lc3NhZ2VUeXBlLCBtZXNzYWdlVGV4dCkgPT4ge1xuICAgICAgICBsZXQgbWVzc2FnZSA9IHtcbiAgICAgICAgICAgIG1lc3NhZ2VUeXBlOiBtZXNzYWdlVHlwZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2VUZXh0XG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IGV2ZW50ID0gbmV3IEV2ZW50KGFwcGxpY2F0aW9uTWFuYWdlciwgJ19zeXNfZGFzaGJvYXJkJywgbWVzc2FnZSk7XG4gICAgICAgIGV2ZW50TWFuYWdlci5maXJlRXZlbnQoRXZlbnRUeXBlLk1FU1NBR0VfQVJSSVZFRCwgZXZlbnQpO1xuICAgIH1cblxuICAgIGNvbnN0IGRlbGV0ZURhc2hib2FyZCA9ICgpID0+IHtcbiAgICAgICAgaWYgKCFVdGlscy5pc051bGwoc2V0dGluZ3MpICYmICFVdGlscy5pc051bGwoc2V0dGluZ3MuaWQpKSB7XG4gICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIub3BlbkNvbmZpcm1EaWFsb2coJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBkYXNoYm9hcmQ/JywgKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHVybCA9IGAke2xvY2F0aW9uICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KCl9L3N5c3RlbS9hcGkvdjEvdXNlci9kYXNoYm9hcmQvZGVsZXRlLyR7c2V0dGluZ3MuaWR9YDtcbiAgICAgICAgICAgICAgICAgICAgc2VuZFJlcXVlc3QodXJsLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkRlbGV0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9LCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxQYXBlciBzdHlsZT17e1xuICAgICAgICAgICAgbWluV2lkdGg6ICcyMDBweCcsXG4gICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbidcbiAgICAgICAgfX1cbiAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J2NvbCd9IHJlZj17cmVmfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsncm93J30+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydjb2wtKi0qJ30gc3R5bGU9e3toZWlnaHQ6ICc2NHB4J319PlxuICAgICAgICAgICAgICAgICAgICA8VW5jb250cm9sbGVkRHJvcGRvd24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25Ub2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMzJweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzMycHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICc4cHggOHB4IDAgMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hdlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJtZW51LWxpc3QtZ3Jvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3t3aWR0aDogJzMycHgnLCBoZWlnaHQ6ICczMnB4J319XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJmYSBmYS1lbGxpcHNpcy12IGZhLXhzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgc3R5bGU9e3twYWRkaW5nOiAnM3B4J319Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duVG9nZ2xlPnsnICd9XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudSBjbGFzc05hbWU9XCJkcm9wZG93bi1uYXZiYXJcIiB0YWc9XCJ1bFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKkRpc2FibGUgdGhpcyBidXR0b24gaWYgaWQgaXMgYWxyZWFkeSBzYXZlZC4gQWZ0ZXIgY3JlYXRpbmcgZGFzaGJvYXJkIHByb3BlcnRpZXMgc3VjaCBhcyBmaWx0ZXJzLCB0aGlzIGJ1dHRvbiBtdXN0IHJlbWFpbiBlbmFibGVkIGF0IGFsbCB0aW1lcyovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TmF2TGluayB0YWc9XCJsaVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW0gY2xhc3NOYW1lPVwibmF2LWl0ZW1cIiBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmVEYXNoYm9hcmQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fSBkaXNhYmxlZD17IVV0aWxzLmlzTnVsbChpZCl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7J1NBVkUnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd25JdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZMaW5rIHRhZz1cImxpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbSBjbGFzc05hbWU9XCJuYXYtaXRlbVwiIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlRGFzaGJvYXJkKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX0gZGlzYWJsZWQ9e1V0aWxzLmlzTnVsbChpZCl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7J0RFTEVURSd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bkl0ZW0+eycgJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTmF2TGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd25NZW51PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L1VuY29udHJvbGxlZERyb3Bkb3duPnsnICd9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydjb2wtKi0qJ30gc3R5bGU9e3twYWRkaW5nOiAnMTRweCAwIDAgMTJweCd9fT5cbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3tmb250U2l6ZTogJzI0cHgnfX0+e25hbWV9PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3Jvdyd9IHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICdjYWxjKDEwMCUgLSA2NHB4KScsXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJzhweCAwIDMycHggMzJweCdcbiAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgIVV0aWxzLmlzTnVsbChwYXRoKSAmJiAhVXRpbHMuaXNOdWxsKGRpc3BsYXlUeXBlKSAmJiBkaXNwbGF5VHlwZSAhPT0gJ1ZJRVcnICYmXG4gICAgICAgICAgICAgICAgICAgIDxvYmplY3QgZGF0YT17cGF0aH0gdHlwZT1cInRleHQvaHRtbFwiIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJSdcbiAgICAgICAgICAgICAgICAgICAgfX0vPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICFVdGlscy5pc051bGwocGF0aCkgJiYgZGlzcGxheVR5cGUgIT09ICdWSUVXJyAmJlxuICAgICAgICAgICAgICAgICAgICA8cD5Mb2FkaW5nLi4uPC9wPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlUeXBlID09PSAnVklFVycgJiYgIVV0aWxzLmlzTnVsbCh2aWV3KSAmJlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7d2lkdGg6ICcxMDAlJywgaGVpZ2h0OiBcIjEwMCVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvUGFwZXI+XG4gICAgKTtcbn07XG5cbmNvbnN0IFdvcmtGbG93Q2FyZCA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IFtzcCwgc2V0U3BdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW21pblcsIHNldE1pblddID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3Qgcm91dGVBY3Rpb24gPSB7XG4gICAgICAgICdhY3Rpb25UeXBlJzogJ3JvdXRlJyxcbiAgICAgICAgJ3BhcmVudCc6IHRydWVcbiAgICB9O1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCA0MDApIHtcbiAgICAgICAgICAgICAgICBzZXRTcCgxNik7XG4gICAgICAgICAgICAgICAgc2V0TWluVygyODApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXRTcCg0OCk7XG4gICAgICAgICAgICAgICAgc2V0TWluVygzMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICBVdGlscy5pc051bGwoc3ApIHx8IFV0aWxzLmlzTnVsbChtaW5XKSA/XG4gICAgICAgICAgICBudWxsIDpcbiAgICAgICAgICAgIDxQYXBlciBzdHlsZT17e1xuICAgICAgICAgICAgICAgIG1pbldpZHRoOiBgJHttaW5XfXB4YCxcbiAgICAgICAgICAgICAgICBtYXJnaW46IHByb3BzLm1hcmdpbixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxNTJweCdcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnY29sJ30+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydyb3cnfT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydjb2wtKi0qJ30gc3R5bGU9e3t3aWR0aDogJzcwJSd9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBgMTZweCAke3NwfXB4IDE2cHggJHtzcH1weGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgwLCAwLCAwLCAwLjU0KSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXb3JrIEl0ZW1zXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBgMTZweCAke3NwfXB4IDQ4cHggJHtzcH1weGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcyMHB4J1xuICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLnRpdGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogYDAgJHtzcH1weCAxNnB4ICR7c3B9cHhgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwcm9wcy5pdGVtQ291bnR9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnY29sLSotKid9IHN0eWxlPXt7bWFyZ2luVG9wOiAnNTBweCd9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXsnY29udGFpbmVkJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17J3ByaW1hcnknfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3BhcnNlRmxvYXQocHJvcHMuaXRlbUNvdW50KSA9PT0gMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlQWN0aW9uLnBhdGggPSBwcm9wcy5wYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb3V0ZUFjdGlvbkhhbmRsZXIuZXhlY3V0ZShyb3V0ZUFjdGlvbiwgbnVsbCwgcHJvcHMudmlld1JlZiwgJ19zeXNfZGFzaGJvYXJkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWV3XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L1BhcGVyPlxuICAgICk7XG59O1xuXG5jb25zdCBEYXNoYm9hcmQgPSBSZWFjdC5tZW1vKFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAgICBjb25zdCBbdXNlckRhc2hib2FyZHNdID0gUmVhY3QudXNlU3RhdGUoXG4gICAgICAgICFVdGlscy5pc051bGwoYXBwbGljYXRpb25NYW5hZ2VyLmdldERhc2hib2FyZFNldHRpbmdzKCkudXNlckRhc2hib2FyZHMpID8gYXBwbGljYXRpb25NYW5hZ2VyLmdldERhc2hib2FyZFNldHRpbmdzKCkudXNlckRhc2hib2FyZHMgOiBbXSk7XG4gICAgY29uc3QgW3NldHRpbmdzXSA9IFJlYWN0LnVzZVN0YXRlKGFwcGxpY2F0aW9uTWFuYWdlci5nZXREYXNoYm9hcmRTZXR0aW5ncygpKTtcbiAgICBjb25zdCBbdGFza1N1bW1hcnksIHNldFRhc2tTdW1tYXJ5XSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFttZW51SXRlbXMsIHNldE1lbnVJdGVtc10gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbY2FyZENvbHMsIHNldENhcmRDb2xzXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFtjb2x1bW5IZWlnaHRzLCBzZXRDb2x1bW5IZWlnaHRzXSA9IFJlYWN0LnVzZVN0YXRlKFtdKTtcbiAgICBsZXQgbnVtQ29scyA9IDI7XG5cbiAgICBjb25zdCBhcGkgPSB7XG4gICAgICAgIGdldCBpZCgpIHtcbiAgICAgICAgICAgIHJldHVybiAnX3N5c19kYXNoYm9hcmQnO1xuICAgICAgICB9LFxuICAgICAgICBnZXRDaGlsZHJlbjogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFthbGVydEJhckhhbmRsZV07XG4gICAgICAgIH0sXG4gICAgICAgIGdldENoaWxkOiAoaWQpID0+IHtcbiAgICAgICAgICAgIGlmIChpZCA9PT0gJ2Rhc2hib2FyZEFsZXJ0Jykge1xuICAgICAgICAgICAgICAgIHJldHVybiBhbGVydEJhckhhbmRsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlID0ge1xuICAgICAgICAnYXBpJzogYXBpXG4gICAgfTtcblxuICAgIGNvbnN0IGdldERhc2hib2FyZE1lbnUgPSAocGF0aCkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIGxldCBzZXJ2aWNlID0ge1xuICAgICAgICAgICAgICAgIHVybDogJy91aS9hcGkvdjEvbWVudS9nZXQnLFxuICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2lkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtZXRlclR5cGU6ICdRVUVSWV9QQVJBTUVURVInXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICd2ZXJzaW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxLjAsXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwUGFyYW1ldGVyVHlwZTogJ1FVRVJZX1BBUkFNRVRFUidcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgY29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaW52b2tlUmVzdChzZXJ2aWNlLCB7XG4gICAgICAgICAgICAgICAgICAgIGFwaToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0IGlkKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnZGFzaGJvYXJkLW1lbnVzJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sICdkYXNoYm9hcmQtbWVudXMnLCAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzdWx0Lm1lbnVzKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICAgICAgICAgICAgfSwgbnVsbCk7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBhc3luYyBmdW5jdGlvbiBsb2FkTWVudXMoKSB7XG4gICAgICAgIGlmIChVdGlscy5pc051bGwobWVudUl0ZW1zKSAmJiAhVXRpbHMuaXNOdWxsKHNldHRpbmdzLnN5c3RlbVByb2ZpbGVEdG8ubW9kdWxlcykpIHtcbiAgICAgICAgICAgIGxldCBkYXNoYm9hcmRNZW51aXRlbXMgPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2V0dGluZ3Muc3lzdGVtUHJvZmlsZUR0by5tb2R1bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZHVsZSA9IHNldHRpbmdzLnN5c3RlbVByb2ZpbGVEdG8ubW9kdWxlc1tpXTtcbiAgICAgICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChtb2R1bGUuZGFzaGJvYXJkTWVudSkpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1lbnVzID0gYXdhaXQgZ2V0RGFzaGJvYXJkTWVudShtb2R1bGUuZGFzaGJvYXJkTWVudSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtZW51cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBtZW51cy5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtZW51ID0gbWVudXNbal07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lbnUuaXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIG1lbnUuaXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhc2hib2FyZE1lbnVpdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRNZW51SXRlbXMoZGFzaGJvYXJkTWVudWl0ZW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNldHVwQ2FyZENvbHMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRvdGFsSXRlbXMgPSB1c2VyRGFzaGJvYXJkcy5sZW5ndGg7XG5cbiAgICAgICAgLy8gU3BlY2lhbCBjYXNlOiAxIG9yIDIgY2FyZHMg4oCUIGZ1bGwgaGVpZ2h0XG4gICAgICAgIGlmICh0b3RhbEl0ZW1zIDw9IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbHMgPSBBcnJheS5mcm9tKHtsZW5ndGg6IHRvdGFsSXRlbXN9LCAoXywgaSkgPT4gW3VzZXJEYXNoYm9hcmRzW2ldXSk7XG4gICAgICAgICAgICBzZXRDYXJkQ29scyhjb2xzKTtcbiAgICAgICAgICAgIHNldENvbHVtbkhlaWdodHMoQXJyYXkuZnJvbSh7bGVuZ3RoOiB0b3RhbEl0ZW1zfSwgKCkgPT4gJzEwMCUnKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXN0cmlidXRlIHJvdW5kLXJvYmluIGludG8gY29sdW1uc1xuICAgICAgICBjb25zdCBjb2xzID0gQXJyYXkuZnJvbSh7bGVuZ3RoOiBudW1Db2xzfSwgKCkgPT4gW10pO1xuICAgICAgICB1c2VyRGFzaGJvYXJkcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29sc1tpbmRleCAlIG51bUNvbHNdLnB1c2goaXRlbSk7XG4gICAgICAgIH0pO1xuICAgICAgICBzZXRDYXJkQ29scyhjb2xzKTtcblxuICAgICAgICAvLyBEZXRlcm1pbmUgbWF4IGNhcmQgY291bnQgYWNyb3NzIGFsbCBjb2x1bW5zXG4gICAgICAgIGNvbnN0IG1heEl0ZW1zID0gTWF0aC5tYXgoLi4uY29scy5tYXAoY29sID0+IGNvbC5sZW5ndGgpKTtcbiAgICAgICAgY29uc3QgYmFzZUhlaWdodFBlckNhcmQgPSA0MDsgLy8gaW4gdmhcbiAgICAgICAgY29uc3QgdG90YWxUYXJnZXRIZWlnaHQgPSBtYXhJdGVtcyAqIGJhc2VIZWlnaHRQZXJDYXJkOyAvLyB0b3RhbCBoZWlnaHQgcGVyIGNvbHVtbiBpbiB2aFxuXG4gICAgICAgIC8vIENhbGN1bGF0ZSB0YXJnZXQgaGVpZ2h0IHBlciBjYXJkIGluIGVhY2ggY29sdW1uXG4gICAgICAgIGNvbnN0IGhlaWdodHMgPSBjb2xzLm1hcChjb2wgPT5cbiAgICAgICAgICAgIGNvbC5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgPyBgJHsodG90YWxUYXJnZXRIZWlnaHQgLyBjb2wubGVuZ3RoKS50b0ZpeGVkKDIpfXZoYFxuICAgICAgICAgICAgICAgIDogJzB2aCdcbiAgICAgICAgKTtcblxuICAgICAgICBzZXRDb2x1bW5IZWlnaHRzKGhlaWdodHMpO1xuICAgIH1cblxuICAgIFJlYWN0LnVzZUVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKFV0aWxzLmlzTnVsbCh0YXNrU3VtbWFyeSkpIHtcbiAgICAgICAgICAgICAgICBzZW5kUmVxdWVzdChgJHtsb2NhdGlvbiArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpfS9icG0vYXBpL3YxL3N1bW1hcnlgLCAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChyZXN1bHQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGFza1N1bW1hcnkocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPIDogU2hvdyBlcnJvciBtZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgIH0sIHRydWUsIHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZW5kUmVxdWVzdChgJHtsb2NhdGlvbiArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpfS9zeXN0ZW0vYXBpL3YxL3VzZXIvZGFzaGJvYXJkL2xpc3RgLCAoZGFzaGJvYXJkcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChkYXNoYm9hcmRzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBkYXNoYm9hcmQgb2YgZGFzaGJvYXJkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJEYXNoYm9hcmRzLnB1c2goZGFzaGJvYXJkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0dXBDYXJkQ29scygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPIDogU2hvdyBlcnJvciBtZXNzYWdlXG4gICAgICAgICAgICAgICAgfSwgdHJ1ZSwgdHJ1ZSk7XG5cbiAgICAgICAgICAgIGxvYWRNZW51cygpO1xuICAgICAgICAgICAgaWYgKCFVdGlscy5pc051bGwoc2V0dGluZ3MpICYmICFVdGlscy5pc051bGwodXNlckRhc2hib2FyZHMpICYmIFV0aWxzLmlzTnVsbChjYXJkQ29scykpIHtcbiAgICAgICAgICAgICAgICBzZXR1cENhcmRDb2xzKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5zZXREYXNoYm9hcmRWaWV3KHtoYW5kbGU6IGhhbmRsZX0pO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICBrZXlDb3VudGVyID0gMDtcbiAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuY2xlYXJEYXNoYm9hcmRWaWV3cygpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSwgW10pO1xuXG4gICAgY29uc3QgYWRkRGFzaGJvYXJkQ2FyZCA9IChpdGVtKSA9PiB7XG4gICAgICAgIGxldCBwYXRoID0gaXRlbS5ldmVudEhhbmRsaW5nQ29uZmlnLnN1YnNjcmlwdGlvbnNbMF0uYWN0aW9uc1swXS5wYXRoO1xuICAgICAgICBsZXQgc2V0dGluZ3MgPSB7fTtcbiAgICAgICAgc2V0dGluZ3MucGF0aCA9IHBhdGg7XG4gICAgICAgIHNldHRpbmdzLnBhcmFtZXRlcnMgPSB7fTtcblxuICAgICAgICB1c2VyRGFzaGJvYXJkcy5wdXNoKHNldHRpbmdzKTtcbiAgICAgICAgc2V0dXBDYXJkQ29scygpO1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IHJlZj17cmVmfSBzdHlsZT17e2hlaWdodDogJzMwMHB4J319PlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICFVdGlscy5pc051bGwoc2V0dGluZ3MpICYmXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogJzRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJzI0cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fT5EYXNoYm9hcmQ8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVuY29udHJvbGxlZERyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duVG9nZ2xlIGNvbG9yPVwiZGVmYXVsdFwiIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIiBuYXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b24gYXJpYS1jb250cm9scz1cIm1lbnUtbGlzdC1ncm93XCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gaWQ9eydBREQnfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT57JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFVdGlscy5pc051bGwobWVudUl0ZW1zKSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudSBjbGFzc05hbWU9XCJkcm9wZG93bi1uYXZiYXJcIiBlbmQgdGFnPVwidWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHttZW51SXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZMaW5rIHRhZz1cImxpXCIga2V5PXtpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm5hdi1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGREYXNoYm9hcmRDYXJkKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0uYXR0cmlidXRlcy5sYWJlbH17JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duSXRlbT57JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTmF2TGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VuY29udHJvbGxlZERyb3Bkb3duPnsnICd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3ttYXhIZWlnaHQ6ICdjYWxjKDEwMGR2aCAtIDMycHggLSB2YXIoLS1oZWFkZXItaCkpJywgb3ZlcmZsb3dZOiAnYXV0byd9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvd1k6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJzAgNHB4IDAgMCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBbGVydEJhciBjb25maWc9e3tpZDogJ2Rhc2hib2FyZEFsZXJ0J319IGhhbmRsZT17YWxlcnRCYXJIYW5kbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17J19zeXNfZGFzaGJvYXJkJ30vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIVV0aWxzLmlzTnVsbCh0YXNrU3VtbWFyeSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydyb3cnfSBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiAnMTZweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6ICcxNjBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V29ya0Zsb3dDYXJkIG1hcmdpbj17JzAgMCA4cHggOHB4J31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9eydBc3NpZ25lZCB0byBNZSd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Db3VudD17dGFza1N1bW1hcnkucGVyc29uYWxXb3JrSXRlbUNvdW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPXsnL3dvcmtmbG93L3ZpZXdzL3BlcnNvbmFsLXdvcmstaXRlbXMuanNvbid9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdvcmtGbG93Q2FyZCBtYXJnaW49eycwIDAgOHB4IDhweCd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPXsnQXZhaWxhYmxlJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbUNvdW50PXt0YXNrU3VtbWFyeS5ncm91cFdvcmtJdGVtQ291bnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg9eycvd29ya2Zsb3cvdmlld3MvZ3JvdXAtd29yay1pdGVtcy5qc29uJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V29ya0Zsb3dDYXJkIG1hcmdpbj17JzAgMCA4cHggOHB4J31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9eydEdWUgVG9kYXknfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtQ291bnQ9e3Rhc2tTdW1tYXJ5LmR1ZVRvZGF5SXRlbUNvdW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPXsnL3dvcmtmbG93L3ZpZXdzL2R1ZS10b2RheS13b3JrLWl0ZW1zLmpzb24nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvd1g6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnY2FsYygxMDBkdmggLSAxNThweCAtIDY0cHggLSB2YXIoLS1oZWFkZXItaCkpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbkhlaWdodDogJ2NhbGMoMTAwZHZoIC0gMTU4cHggLSA2NHB4IC0gdmFyKC0taGVhZGVyLWgpKSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FyZENvbHMgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB1c2VyRGFzaGJvYXJkcy5sZW5ndGggPD0gMiA/ICcxMDAlJyA6ICdhdXRvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjYXJkQ29scy5tYXAoKGNvbCwgY29sSW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2NvbEluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXA6ICcxMnB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiBjb2xJbmRleCAlIG51bUNvbHMgPyAnNHB4JyA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAoY2FyZENvbHMubGVuZ3RoID4gMSAmJiAhKGNvbEluZGV4ICUgbnVtQ29scykpID8gJzRweCcgOiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y29sLm1hcCgoZGFzaGJvYXJkLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNvbHVtbkhlaWdodHNbY29sSW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzZweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGFzaGJvYXJkQ2FyZCBzZXR0aW5ncz17ZGFzaGJvYXJkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2NvbEluZGV4ICsgaW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25EZWxldGU9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyRGFzaGJvYXJkcy5zcGxpY2UodXNlckRhc2hib2FyZHMuaW5kZXhPZihkYXNoYm9hcmQpLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR1cENhcmRDb2xzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn0pKTtcblxuZXhwb3J0IGRlZmF1bHQgRGFzaGJvYXJkO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQyxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDRCxJQUFBQyxNQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxVQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxtQkFBQSxHQUFBUCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFB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
|
|
606
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVXRpbHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0c3RyYXAiLCJfSWNvbiIsIl9JY29uQnV0dG9uIiwiX1BhcGVyIiwiX0J1dHRvbiIsIl9SZXN0VXRpbHMiLCJfUm91dGVBY3Rpb25IYW5kbGVyIiwiX0FwcGxpY2F0aW9uTWFuYWdlciIsIl9FdmVudCIsIl9PYnNlcnZhYmxlIiwiX0V2ZW50VHlwZSIsIl9BbGVydEJhciIsIl9yZWFjdFByb21pc2VUcmFja2VyIiwiX1ZpZXciLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJsb2NhdGlvbiIsIndpbmRvdyIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJ0ZXh0IiwicmVzcG9uc2UiLCJrZXlDb3VudGVyIiwiYWxlcnRCYXJIYW5kbGUiLCJEYXNoYm9hcmRDYXJkIiwicHJvcHMiLCJwYXRoIiwic2V0UGF0aCIsIlJlYWN0IiwidXNlU3RhdGUiLCJuYW1lIiwic2V0TmFtZSIsImRpc3BsYXlUeXBlIiwic2V0RGlzcGxheVR5cGUiLCJ2aWV3Iiwic2V0dmlldyIsInNldHRpbmdzIiwiaWQiLCJzZXRJZCIsImNvbnRlbnQiLCJzZXRDb250ZW50IiwicmVmIiwiY3JlYXRlUmVmIiwidXNlRWZmZWN0IiwiYWNjZXNzVG9rZW4iLCJzZXNzaW9uU3RvcmFnZSIsImdldEl0ZW0iLCJpZFRva2VuIiwiaGFuZGxlIiwiYXBpIiwibG9hZGVkIiwic2VuZFJlcXVlc3QiLCJkYXRhIiwiZGFzaGJvYXJkVmlldyIsImNvbmZpZyIsInBhcmVudCIsInBvcFVwIiwiYXBwbGljYXRpb25NYW5hZ2VyIiwiYWRkRGFzaGJvYXJkVmlldyIsImVsZW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiVmlldyIsImtleSIsInBhcmFtZXRlcnMiLCJmZXRjaENvbmZpZyIsIm1ldGhvZCIsImhlYWRlcnMiLCJ0cmFja1Byb21pc2UiLCJmZXRjaCIsImVuY29kZVVSSSIsInRoZW4iLCJjb25zb2xlIiwibG9nIiwiY2F0Y2giLCJhbGVydCIsIm1lc3NhZ2UiLCJlcnJvciIsImxvYWQiLCJ1cmwiLCJnZXRDb250ZXh0Um9vdCIsImdldFVJQ29uZmlnUGF0aCIsImRlZmF1bHREaXNwbGF5VHlwZSIsIlV0aWxzIiwiaXNOdWxsIiwiZGVmYXVsdE5hbWUiLCJkYXNoYm9hcmROYW1lIiwiZGVmYXVsdERhc2hib2FyZE5hbWUiLCJjb250ZW50UGF0aCIsImNvbmNhdCIsInRvTG93ZXJDYXNlIiwic2F2ZURhc2hib2FyZCIsInBvc3REYXRhIiwiZGlzcGxheUFsZXJ0IiwiU1lTVEVNX0VSUk9SX01FU1NBR0UiLCJtZXNzYWdlVHlwZSIsIm1lc3NhZ2VUZXh0IiwiZXZlbnQiLCJFdmVudCIsImV2ZW50TWFuYWdlciIsImZpcmVFdmVudCIsIkV2ZW50VHlwZSIsIk1FU1NBR0VfQVJSSVZFRCIsImRlbGV0ZURhc2hib2FyZCIsIm9wZW5Db25maXJtRGlhbG9nIiwicmVzdWx0Iiwib25EZWxldGUiLCJzdHlsZSIsIm1pbldpZHRoIiwib3ZlcmZsb3ciLCJjbGFzc05hbWUiLCJoZWlnaHQiLCJVbmNvbnRyb2xsZWREcm9wZG93biIsIkRyb3Bkb3duVG9nZ2xlIiwiY29sb3IiLCJ3aWR0aCIsIm1hcmdpbiIsIm5hdiIsInBhZGRpbmciLCJEcm9wZG93bk1lbnUiLCJ0YWciLCJOYXZMaW5rIiwiRHJvcGRvd25JdGVtIiwib25DbGljayIsImRpc2FibGVkIiwiZm9udFNpemUiLCJ0eXBlIiwiV29ya0Zsb3dDYXJkIiwic3AiLCJzZXRTcCIsIm1pblciLCJzZXRNaW5XIiwicm91dGVBY3Rpb24iLCJpbm5lcldpZHRoIiwidGl0bGUiLCJpdGVtQ291bnQiLCJtYXJnaW5Ub3AiLCJ2YXJpYW50Iiwic2l6ZSIsInBhcnNlRmxvYXQiLCJSb3V0ZUFjdGlvbkhhbmRsZXIiLCJleGVjdXRlIiwidmlld1JlZiIsIkRhc2hib2FyZCIsIm1lbW8iLCJmb3J3YXJkUmVmIiwidXNlckRhc2hib2FyZHMiLCJnZXREYXNoYm9hcmRTZXR0aW5ncyIsInRhc2tTdW1tYXJ5Iiwic2V0VGFza1N1bW1hcnkiLCJtZW51SXRlbXMiLCJzZXRNZW51SXRlbXMiLCJjYXJkQ29scyIsInNldENhcmRDb2xzIiwiY29sdW1uSGVpZ2h0cyIsInNldENvbHVtbkhlaWdodHMiLCJudW1Db2xzIiwiZ2V0Q2hpbGRyZW4iLCJnZXRDaGlsZCIsImdldERhc2hib2FyZE1lbnUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNlcnZpY2UiLCJ2YWx1ZSIsImh0dHBQYXJhbWV0ZXJUeXBlIiwiY29udGVudFR5cGUiLCJpbnZva2VSZXN0IiwibWVudXMiLCJsb2FkTWVudXMiLCJzeXN0ZW1Qcm9maWxlRHRvIiwibW9kdWxlcyIsImRhc2hib2FyZE1lbnVpdGVtcyIsImxlbmd0aCIsIm1vZHVsZSIsImRhc2hib2FyZE1lbnUiLCJqIiwibWVudSIsIml0ZW1zIiwiaXRlbSIsInB1c2giLCJzZXR1cENhcmRDb2xzIiwidG90YWxJdGVtcyIsImNvbHMiLCJBcnJheSIsImZyb20iLCJfIiwiZm9yRWFjaCIsImluZGV4IiwibWF4SXRlbXMiLCJNYXRoIiwibWF4IiwibWFwIiwiY29sIiwiYmFzZUhlaWdodFBlckNhcmQiLCJ0b3RhbFRhcmdldEhlaWdodCIsImhlaWdodHMiLCJ0b0ZpeGVkIiwiZGFzaGJvYXJkcyIsImRhc2hib2FyZCIsInNldERhc2hib2FyZFZpZXciLCJjbGVhckRhc2hib2FyZFZpZXdzIiwiYWRkRGFzaGJvYXJkQ2FyZCIsImV2ZW50SGFuZGxpbmdDb25maWciLCJzdWJzY3JpcHRpb25zIiwiYWN0aW9ucyIsIkZyYWdtZW50IiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsImdhcCIsImVuZCIsImF0dHJpYnV0ZXMiLCJsYWJlbCIsIm1heEhlaWdodCIsIm92ZXJmbG93WSIsIm92ZXJmbG93WCIsInZpZXdJZCIsInBhZGRpbmdSaWdodCIsIm1pbkhlaWdodCIsInBlcnNvbmFsV29ya0l0ZW1Db3VudCIsImdyb3VwV29ya0l0ZW1Db3VudCIsImR1ZVRvZGF5SXRlbUNvdW50IiwiY29sSW5kZXgiLCJmbGV4IiwiYm94U2l6aW5nIiwiZmxleERpcmVjdGlvbiIsIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsImJvcmRlclJhZGl1cyIsInNwbGljZSIsImluZGV4T2YiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3ZpZXcvRGFzaGJvYXJkLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyLvu79pbXBvcnQgUmVhY3QsIHt1c2VSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBVdGlscyBmcm9tICcuLi9VdGlscyc7XG5pbXBvcnQge0Ryb3Bkb3duSXRlbSwgRHJvcGRvd25NZW51LCBEcm9wZG93blRvZ2dsZSwgTmF2TGluaywgVW5jb250cm9sbGVkRHJvcGRvd259IGZyb20gJ3JlYWN0c3RyYXAnO1xuaW1wb3J0IEljb24gZnJvbSAnLi4vY29tcG9uZW50cy9JY29uJztcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvSWNvbkJ1dHRvbic7XG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQnV0dG9uJztcbmltcG9ydCB7aW52b2tlUmVzdCwgcG9zdERhdGEsIHNlbmRSZXF1ZXN0fSBmcm9tICcuLi9SZXN0VXRpbHMnO1xuaW1wb3J0IFJvdXRlQWN0aW9uSGFuZGxlciBmcm9tICcuLi9ldmVudC9Sb3V0ZUFjdGlvbkhhbmRsZXInO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tICcuLi9BcHBsaWNhdGlvbk1hbmFnZXInO1xuaW1wb3J0IEV2ZW50IGZyb20gJy4uL2V2ZW50L0V2ZW50JztcbmltcG9ydCBldmVudE1hbmFnZXIgZnJvbSAnLi4vZXZlbnQvT2JzZXJ2YWJsZSc7XG5pbXBvcnQgRXZlbnRUeXBlIGZyb20gJy4uL2V2ZW50L0V2ZW50VHlwZSc7XG5pbXBvcnQgQWxlcnRCYXIgZnJvbSAnLi4vY29tcG9uZW50cy9BbGVydEJhcic7XG5pbXBvcnQge3RyYWNrUHJvbWlzZX0gZnJvbSBcInJlYWN0LXByb21pc2UtdHJhY2tlclwiO1xuaW1wb3J0IHtWaWV3fSBmcm9tIFwiLi4vY29tcG9uZW50cy9sYXlvdXQvVmlld1wiO1xuXG5jb25zdCBsb2NhdGlvbiA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArICcvLycgKyB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7XG5jb25zdCB0ZXh0ID0gKHJlc3BvbnNlKSA9PiB7XG4gICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKTtcbn07XG5cbmxldCBrZXlDb3VudGVyID0gMDtcblxuY29uc3QgYWxlcnRCYXJIYW5kbGUgPSB7fTtcbmNvbnN0IERhc2hib2FyZENhcmQgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBbcGF0aCwgc2V0UGF0aF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbbmFtZSwgc2V0TmFtZV0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbZGlzcGxheVR5cGUsIHNldERpc3BsYXlUeXBlXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFt2aWV3LCBzZXR2aWV3XSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IHtzZXR0aW5nc30gPSBwcm9wcztcbiAgICBjb25zdCBbaWQsIHNldElkXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLnNldHRpbmdzLmlkKTtcbiAgICBjb25zdCBbY29udGVudCwgc2V0Q29udGVudF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbcmVmXSA9IFJlYWN0LnVzZVN0YXRlKFJlYWN0LmNyZWF0ZVJlZigpKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdhY2Nlc3NUb2tlbicpO1xuICAgICAgICAgICAgY29uc3QgaWRUb2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2lkVG9rZW4nKTtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZSA9IHtcbiAgICAgICAgICAgICAgICBhcGk6IHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0IGlkKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdkYXNoYm9hcmQtbWVudXMnO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBsb2FkZWQoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmIChwYXRoICYmIGRpc3BsYXlUeXBlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRpc3BsYXlUeXBlID09PSAnVklFVycpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VuZFJlcXVlc3QocGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2VuZFJlcXVlc3QgYXV0by1kZWNvZGVzIHRoZSB7X2NkdWlfen0gd2lyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdyYXAgZm9yIC91aS9hcGkvdiovIFVSTHMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5pZCA9IGRhdGEuaWQgKyBcIl9cIiArIGtleUNvdW50ZXIrKztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGFzaGJvYXJkVmlldyA9IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhc2hib2FyZFZpZXcuY29uZmlnID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXNoYm9hcmRWaWV3LnBhcmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhc2hib2FyZFZpZXcucG9wVXAgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXNoYm9hcmRWaWV3LndpbmRvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhc2hib2FyZFZpZXcuY29uZmlnLndpbmRvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhc2hib2FyZFZpZXcuaGFuZGxlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcGk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuYWRkRGFzaGJvYXJkVmlldyhkYXNoYm9hcmRWaWV3LCBwYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZWxlbWVudCA9IDxWaWV3IGtleT17ZGF0YS5pZCArIFwiX1wiICsga2V5Q291bnRlcn0gY29uZmlnPXtkYXRhfSBwYXJhbWV0ZXJzPXtbXX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2Rhc2hib2FyZFZpZXcuaGFuZGxlfS8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldHZpZXcoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZmV0Y2hDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAndGV4dC9odG1sJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjZXB0JzogJ3RleHQvaHRtbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiAnQmVhcmVyICcgKyBhY2Nlc3NUb2tlbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWRUb2tlbic6IGlkVG9rZW5cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYWNrUHJvbWlzZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoKGVuY29kZVVSSShwYXRoKSwgZmV0Y2hDb25maWcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4odGV4dClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkNPTlRFTlQgOiBcIiwgZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldENvbnRlbnQoZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxlcnQoZS5tZXNzYWdlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LCBbcGF0aCwgZGlzcGxheVR5cGVdKTtcblxuICAgIGZ1bmN0aW9uIGxvYWQoKSB7XG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgLy8gVE9ETzogTWFrZSB0aGUgYmFzZSBVUkwgZHluYW1pY1xuICAgICAgICAgICAgbGV0IHVybCA9IGxvY2F0aW9uICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KClcbiAgICAgICAgICAgICAgICArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRVSUNvbmZpZ1BhdGgoKSArICcvZGFzaGJvYXJkL2dldD92ZXJzaW9uPTEuMCZpZD0nICsgc2V0dGluZ3MucGF0aDtcbiAgICAgICAgICAgIHNlbmRSZXF1ZXN0KHVybCxcbiAgICAgICAgICAgICAgICAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBzZW5kUmVxdWVzdCBhdXRvLWRlY29kZXMgdGhlIHtfY2R1aV96fSB3aXJlIHdyYXAuXG4gICAgICAgICAgICAgICAgICAgIGxldCBkZWZhdWx0RGlzcGxheVR5cGUgPSAhVXRpbHMuaXNOdWxsKHNldHRpbmdzLnBhcmFtZXRlcnMuZGlzcGxheVR5cGUpID8gc2V0dGluZ3MucGFyYW1ldGVycy5kaXNwbGF5VHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBkYXRhLmRlZmF1bHREaXNwbGF5VHlwZTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoVXRpbHMuaXNOdWxsKGRlZmF1bHREaXNwbGF5VHlwZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0NvdWxkIG5vdCBkZXRlcm1pbmUgZGlzcGxheSB0eXBlIGZvciBkYXNoYm9hcmQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHNldERpc3BsYXlUeXBlKGRlZmF1bHREaXNwbGF5VHlwZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IGRlZmF1bHROYW1lID0gIVV0aWxzLmlzTnVsbChzZXR0aW5ncy5wYXJhbWV0ZXJzLmRhc2hib2FyZE5hbWUpID8gc2V0dGluZ3MucGFyYW1ldGVycy5kYXNoYm9hcmROYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGRhdGEuZGVmYXVsdERhc2hib2FyZE5hbWU7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKFV0aWxzLmlzTnVsbChkZWZhdWx0RGlzcGxheVR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgZGV0ZXJtaW5lIGEgZGVmYXVsdCBuYW1lIGZvciBkYXNoYm9hcmQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHNldE5hbWUoZGVmYXVsdE5hbWUpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnYWNjZXNzVG9rZW4nKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaWRUb2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2lkVG9rZW4nKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVmYXVsdERpc3BsYXlUeXBlID09PSAnVklFVycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1cmwgPSBsb2NhdGlvbiArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldFVJQ29uZmlnUGF0aCgpICsgJy92aWV3L2dldD92ZXJzaW9uPTEuMCZpZD0nICsgZGF0YS5jb250ZW50UGF0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFBhdGgodXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldERpc3BsYXlUeXBlKGRlZmF1bHREaXNwbGF5VHlwZSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRQYXRoKGxvY2F0aW9uICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRVSUNvbmZpZ1BhdGgoKSArICcvaHRtbC9nZXQ/dmVyc2lvbj0xLjAmaWQ9J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgZGF0YS5jb250ZW50UGF0aCArIGAtJHtkZWZhdWx0RGlzcGxheVR5cGUudG9Mb3dlckNhc2UoKX0uaHRtbCZhY2Nlc3NfdG9rZW49JHthY2Nlc3NUb2tlbn0maWRUb2tlbj0ke2lkVG9rZW59YCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgUmVhY3QudXNlRWZmZWN0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICBsb2FkKCk7XG4gICAgICAgIH0sIFtdXG4gICAgKTtcblxuICAgIGNvbnN0IHNhdmVEYXNoYm9hcmQgPSAoKSA9PiB7XG4gICAgICAgIHNldHRpbmdzLnBhcmFtZXRlcnMuZGlzcGxheVR5cGUgPSBkaXNwbGF5VHlwZTtcbiAgICAgICAgc2V0dGluZ3MucGFyYW1ldGVycy5kYXNoYm9hcmROYW1lID0gbmFtZTtcblxuICAgICAgICBsZXQgZGF0YSA9IHtcbiAgICAgICAgICAgIGlkOiBzZXR0aW5ncy5pZCxcbiAgICAgICAgICAgIHBhdGg6IHNldHRpbmdzLnBhdGgsXG4gICAgICAgICAgICBwYXJhbWV0ZXJzOiBzZXR0aW5ncy5wYXJhbWV0ZXJzXG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IHVybCA9IGAke2xvY2F0aW9uICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KCl9L3N5c3RlbS9hcGkvdjEvdXNlci9kYXNoYm9hcmQvc2F2ZWA7XG4gICAgICAgIHBvc3REYXRhKHVybCwgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBzZXR0aW5ncy5pZCA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgc2V0SWQocmVzcG9uc2UpO1xuICAgICAgICAgICAgZGlzcGxheUFsZXJ0KCdTVUNDRVNTJywgJ0Rhc2hib2FyZCBzYXZlZCBzdWNjZXNzZnVsbHknKTtcbiAgICAgICAgfSwgKGUpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICAgICAgZGlzcGxheUFsZXJ0KCdFUlJPUicsIFV0aWxzLlNZU1RFTV9FUlJPUl9NRVNTQUdFKVxuICAgICAgICB9LCB0cnVlLCBkYXRhKTtcbiAgICB9O1xuXG4gICAgY29uc3QgZGlzcGxheUFsZXJ0ID0gKG1lc3NhZ2VUeXBlLCBtZXNzYWdlVGV4dCkgPT4ge1xuICAgICAgICBsZXQgbWVzc2FnZSA9IHtcbiAgICAgICAgICAgIG1lc3NhZ2VUeXBlOiBtZXNzYWdlVHlwZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2VUZXh0XG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IGV2ZW50ID0gbmV3IEV2ZW50KGFwcGxpY2F0aW9uTWFuYWdlciwgJ19zeXNfZGFzaGJvYXJkJywgbWVzc2FnZSk7XG4gICAgICAgIGV2ZW50TWFuYWdlci5maXJlRXZlbnQoRXZlbnRUeXBlLk1FU1NBR0VfQVJSSVZFRCwgZXZlbnQpO1xuICAgIH1cblxuICAgIGNvbnN0IGRlbGV0ZURhc2hib2FyZCA9ICgpID0+IHtcbiAgICAgICAgaWYgKCFVdGlscy5pc051bGwoc2V0dGluZ3MpICYmICFVdGlscy5pc051bGwoc2V0dGluZ3MuaWQpKSB7XG4gICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIub3BlbkNvbmZpcm1EaWFsb2coJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBkYXNoYm9hcmQ/JywgKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHVybCA9IGAke2xvY2F0aW9uICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KCl9L3N5c3RlbS9hcGkvdjEvdXNlci9kYXNoYm9hcmQvZGVsZXRlLyR7c2V0dGluZ3MuaWR9YDtcbiAgICAgICAgICAgICAgICAgICAgc2VuZFJlcXVlc3QodXJsLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkRlbGV0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9LCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxQYXBlciBzdHlsZT17e1xuICAgICAgICAgICAgbWluV2lkdGg6ICcyMDBweCcsXG4gICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbidcbiAgICAgICAgfX1cbiAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J2NvbCd9IHJlZj17cmVmfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsncm93J30+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydjb2wtKi0qJ30gc3R5bGU9e3toZWlnaHQ6ICc2NHB4J319PlxuICAgICAgICAgICAgICAgICAgICA8VW5jb250cm9sbGVkRHJvcGRvd24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25Ub2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMzJweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzMycHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICc4cHggOHB4IDAgMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hdlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJtZW51LWxpc3QtZ3Jvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3t3aWR0aDogJzMycHgnLCBoZWlnaHQ6ICczMnB4J319XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJmYSBmYS1lbGxpcHNpcy12IGZhLXhzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgc3R5bGU9e3twYWRkaW5nOiAnM3B4J319Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duVG9nZ2xlPnsnICd9XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudSBjbGFzc05hbWU9XCJkcm9wZG93bi1uYXZiYXJcIiB0YWc9XCJ1bFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKkRpc2FibGUgdGhpcyBidXR0b24gaWYgaWQgaXMgYWxyZWFkeSBzYXZlZC4gQWZ0ZXIgY3JlYXRpbmcgZGFzaGJvYXJkIHByb3BlcnRpZXMgc3VjaCBhcyBmaWx0ZXJzLCB0aGlzIGJ1dHRvbiBtdXN0IHJlbWFpbiBlbmFibGVkIGF0IGFsbCB0aW1lcyovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TmF2TGluayB0YWc9XCJsaVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW0gY2xhc3NOYW1lPVwibmF2LWl0ZW1cIiBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmVEYXNoYm9hcmQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fSBkaXNhYmxlZD17IVV0aWxzLmlzTnVsbChpZCl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7J1NBVkUnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd25JdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZMaW5rIHRhZz1cImxpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbSBjbGFzc05hbWU9XCJuYXYtaXRlbVwiIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlRGFzaGJvYXJkKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX0gZGlzYWJsZWQ9e1V0aWxzLmlzTnVsbChpZCl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7J0RFTEVURSd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bkl0ZW0+eycgJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTmF2TGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd25NZW51PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L1VuY29udHJvbGxlZERyb3Bkb3duPnsnICd9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydjb2wtKi0qJ30gc3R5bGU9e3twYWRkaW5nOiAnMTRweCAwIDAgMTJweCd9fT5cbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3tmb250U2l6ZTogJzI0cHgnfX0+e25hbWV9PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3Jvdyd9IHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICdjYWxjKDEwMCUgLSA2NHB4KScsXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJzhweCAwIDMycHggMzJweCdcbiAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgIVV0aWxzLmlzTnVsbChwYXRoKSAmJiAhVXRpbHMuaXNOdWxsKGRpc3BsYXlUeXBlKSAmJiBkaXNwbGF5VHlwZSAhPT0gJ1ZJRVcnICYmXG4gICAgICAgICAgICAgICAgICAgIDxvYmplY3QgZGF0YT17cGF0aH0gdHlwZT1cInRleHQvaHRtbFwiIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJSdcbiAgICAgICAgICAgICAgICAgICAgfX0vPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICFVdGlscy5pc051bGwocGF0aCkgJiYgZGlzcGxheVR5cGUgIT09ICdWSUVXJyAmJlxuICAgICAgICAgICAgICAgICAgICA8cD5Mb2FkaW5nLi4uPC9wPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlUeXBlID09PSAnVklFVycgJiYgIVV0aWxzLmlzTnVsbCh2aWV3KSAmJlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7d2lkdGg6ICcxMDAlJywgaGVpZ2h0OiBcIjEwMCVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvUGFwZXI+XG4gICAgKTtcbn07XG5cbmNvbnN0IFdvcmtGbG93Q2FyZCA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IFtzcCwgc2V0U3BdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW21pblcsIHNldE1pblddID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3Qgcm91dGVBY3Rpb24gPSB7XG4gICAgICAgICdhY3Rpb25UeXBlJzogJ3JvdXRlJyxcbiAgICAgICAgJ3BhcmVudCc6IHRydWVcbiAgICB9O1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCA0MDApIHtcbiAgICAgICAgICAgICAgICBzZXRTcCgxNik7XG4gICAgICAgICAgICAgICAgc2V0TWluVygyODApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXRTcCg0OCk7XG4gICAgICAgICAgICAgICAgc2V0TWluVygzMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICBVdGlscy5pc051bGwoc3ApIHx8IFV0aWxzLmlzTnVsbChtaW5XKSA/XG4gICAgICAgICAgICBudWxsIDpcbiAgICAgICAgICAgIDxQYXBlciBzdHlsZT17e1xuICAgICAgICAgICAgICAgIG1pbldpZHRoOiBgJHttaW5XfXB4YCxcbiAgICAgICAgICAgICAgICBtYXJnaW46IHByb3BzLm1hcmdpbixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxNTJweCdcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnY29sJ30+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydyb3cnfT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydjb2wtKi0qJ30gc3R5bGU9e3t3aWR0aDogJzcwJSd9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBgMTZweCAke3NwfXB4IDE2cHggJHtzcH1weGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgwLCAwLCAwLCAwLjU0KSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXb3JrIEl0ZW1zXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBgMTZweCAke3NwfXB4IDQ4cHggJHtzcH1weGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcyMHB4J1xuICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLnRpdGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogYDAgJHtzcH1weCAxNnB4ICR7c3B9cHhgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwcm9wcy5pdGVtQ291bnR9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnY29sLSotKid9IHN0eWxlPXt7bWFyZ2luVG9wOiAnNTBweCd9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXsnY29udGFpbmVkJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17J3ByaW1hcnknfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3BhcnNlRmxvYXQocHJvcHMuaXRlbUNvdW50KSA9PT0gMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlQWN0aW9uLnBhdGggPSBwcm9wcy5wYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb3V0ZUFjdGlvbkhhbmRsZXIuZXhlY3V0ZShyb3V0ZUFjdGlvbiwgbnVsbCwgcHJvcHMudmlld1JlZiwgJ19zeXNfZGFzaGJvYXJkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWV3XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L1BhcGVyPlxuICAgICk7XG59O1xuXG5jb25zdCBEYXNoYm9hcmQgPSBSZWFjdC5tZW1vKFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAgICBjb25zdCBbdXNlckRhc2hib2FyZHNdID0gUmVhY3QudXNlU3RhdGUoXG4gICAgICAgICFVdGlscy5pc051bGwoYXBwbGljYXRpb25NYW5hZ2VyLmdldERhc2hib2FyZFNldHRpbmdzKCkudXNlckRhc2hib2FyZHMpID8gYXBwbGljYXRpb25NYW5hZ2VyLmdldERhc2hib2FyZFNldHRpbmdzKCkudXNlckRhc2hib2FyZHMgOiBbXSk7XG4gICAgY29uc3QgW3NldHRpbmdzXSA9IFJlYWN0LnVzZVN0YXRlKGFwcGxpY2F0aW9uTWFuYWdlci5nZXREYXNoYm9hcmRTZXR0aW5ncygpKTtcbiAgICBjb25zdCBbdGFza1N1bW1hcnksIHNldFRhc2tTdW1tYXJ5XSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFttZW51SXRlbXMsIHNldE1lbnVJdGVtc10gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbY2FyZENvbHMsIHNldENhcmRDb2xzXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFtjb2x1bW5IZWlnaHRzLCBzZXRDb2x1bW5IZWlnaHRzXSA9IFJlYWN0LnVzZVN0YXRlKFtdKTtcbiAgICBsZXQgbnVtQ29scyA9IDI7XG5cbiAgICBjb25zdCBhcGkgPSB7XG4gICAgICAgIGdldCBpZCgpIHtcbiAgICAgICAgICAgIHJldHVybiAnX3N5c19kYXNoYm9hcmQnO1xuICAgICAgICB9LFxuICAgICAgICBnZXRDaGlsZHJlbjogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFthbGVydEJhckhhbmRsZV07XG4gICAgICAgIH0sXG4gICAgICAgIGdldENoaWxkOiAoaWQpID0+IHtcbiAgICAgICAgICAgIGlmIChpZCA9PT0gJ2Rhc2hib2FyZEFsZXJ0Jykge1xuICAgICAgICAgICAgICAgIHJldHVybiBhbGVydEJhckhhbmRsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlID0ge1xuICAgICAgICAnYXBpJzogYXBpXG4gICAgfTtcblxuICAgIGNvbnN0IGdldERhc2hib2FyZE1lbnUgPSAocGF0aCkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIGxldCBzZXJ2aWNlID0ge1xuICAgICAgICAgICAgICAgIHVybDogJy91aS9hcGkvdjEvbWVudS9nZXQnLFxuICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2lkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtZXRlclR5cGU6ICdRVUVSWV9QQVJBTUVURVInXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICd2ZXJzaW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxLjAsXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwUGFyYW1ldGVyVHlwZTogJ1FVRVJZX1BBUkFNRVRFUidcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgY29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaW52b2tlUmVzdChzZXJ2aWNlLCB7XG4gICAgICAgICAgICAgICAgICAgIGFwaToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0IGlkKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnZGFzaGJvYXJkLW1lbnVzJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sICdkYXNoYm9hcmQtbWVudXMnLCAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzdWx0Lm1lbnVzKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICAgICAgICAgICAgfSwgbnVsbCk7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBhc3luYyBmdW5jdGlvbiBsb2FkTWVudXMoKSB7XG4gICAgICAgIGlmIChVdGlscy5pc051bGwobWVudUl0ZW1zKSAmJiAhVXRpbHMuaXNOdWxsKHNldHRpbmdzLnN5c3RlbVByb2ZpbGVEdG8ubW9kdWxlcykpIHtcbiAgICAgICAgICAgIGxldCBkYXNoYm9hcmRNZW51aXRlbXMgPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2V0dGluZ3Muc3lzdGVtUHJvZmlsZUR0by5tb2R1bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZHVsZSA9IHNldHRpbmdzLnN5c3RlbVByb2ZpbGVEdG8ubW9kdWxlc1tpXTtcbiAgICAgICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChtb2R1bGUuZGFzaGJvYXJkTWVudSkpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1lbnVzID0gYXdhaXQgZ2V0RGFzaGJvYXJkTWVudShtb2R1bGUuZGFzaGJvYXJkTWVudSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtZW51cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBtZW51cy5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtZW51ID0gbWVudXNbal07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lbnUuaXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIG1lbnUuaXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhc2hib2FyZE1lbnVpdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRNZW51SXRlbXMoZGFzaGJvYXJkTWVudWl0ZW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNldHVwQ2FyZENvbHMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRvdGFsSXRlbXMgPSB1c2VyRGFzaGJvYXJkcy5sZW5ndGg7XG5cbiAgICAgICAgLy8gU3BlY2lhbCBjYXNlOiAxIG9yIDIgY2FyZHMg4oCUIGZ1bGwgaGVpZ2h0XG4gICAgICAgIGlmICh0b3RhbEl0ZW1zIDw9IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbHMgPSBBcnJheS5mcm9tKHtsZW5ndGg6IHRvdGFsSXRlbXN9LCAoXywgaSkgPT4gW3VzZXJEYXNoYm9hcmRzW2ldXSk7XG4gICAgICAgICAgICBzZXRDYXJkQ29scyhjb2xzKTtcbiAgICAgICAgICAgIHNldENvbHVtbkhlaWdodHMoQXJyYXkuZnJvbSh7bGVuZ3RoOiB0b3RhbEl0ZW1zfSwgKCkgPT4gJzEwMCUnKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXN0cmlidXRlIHJvdW5kLXJvYmluIGludG8gY29sdW1uc1xuICAgICAgICBjb25zdCBjb2xzID0gQXJyYXkuZnJvbSh7bGVuZ3RoOiBudW1Db2xzfSwgKCkgPT4gW10pO1xuICAgICAgICB1c2VyRGFzaGJvYXJkcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29sc1tpbmRleCAlIG51bUNvbHNdLnB1c2goaXRlbSk7XG4gICAgICAgIH0pO1xuICAgICAgICBzZXRDYXJkQ29scyhjb2xzKTtcblxuICAgICAgICAvLyBEZXRlcm1pbmUgbWF4IGNhcmQgY291bnQgYWNyb3NzIGFsbCBjb2x1bW5zXG4gICAgICAgIGNvbnN0IG1heEl0ZW1zID0gTWF0aC5tYXgoLi4uY29scy5tYXAoY29sID0+IGNvbC5sZW5ndGgpKTtcbiAgICAgICAgY29uc3QgYmFzZUhlaWdodFBlckNhcmQgPSA0MDsgLy8gaW4gdmhcbiAgICAgICAgY29uc3QgdG90YWxUYXJnZXRIZWlnaHQgPSBtYXhJdGVtcyAqIGJhc2VIZWlnaHRQZXJDYXJkOyAvLyB0b3RhbCBoZWlnaHQgcGVyIGNvbHVtbiBpbiB2aFxuXG4gICAgICAgIC8vIENhbGN1bGF0ZSB0YXJnZXQgaGVpZ2h0IHBlciBjYXJkIGluIGVhY2ggY29sdW1uXG4gICAgICAgIGNvbnN0IGhlaWdodHMgPSBjb2xzLm1hcChjb2wgPT5cbiAgICAgICAgICAgIGNvbC5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgPyBgJHsodG90YWxUYXJnZXRIZWlnaHQgLyBjb2wubGVuZ3RoKS50b0ZpeGVkKDIpfXZoYFxuICAgICAgICAgICAgICAgIDogJzB2aCdcbiAgICAgICAgKTtcblxuICAgICAgICBzZXRDb2x1bW5IZWlnaHRzKGhlaWdodHMpO1xuICAgIH1cblxuICAgIFJlYWN0LnVzZUVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKFV0aWxzLmlzTnVsbCh0YXNrU3VtbWFyeSkpIHtcbiAgICAgICAgICAgICAgICBzZW5kUmVxdWVzdChgJHtsb2NhdGlvbiArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpfS9icG0vYXBpL3YxL3N1bW1hcnlgLCAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChyZXN1bHQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGFza1N1bW1hcnkocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPIDogU2hvdyBlcnJvciBtZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgIH0sIHRydWUsIHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZW5kUmVxdWVzdChgJHtsb2NhdGlvbiArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpfS9zeXN0ZW0vYXBpL3YxL3VzZXIvZGFzaGJvYXJkL2xpc3RgLCAoZGFzaGJvYXJkcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChkYXNoYm9hcmRzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBkYXNoYm9hcmQgb2YgZGFzaGJvYXJkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJEYXNoYm9hcmRzLnB1c2goZGFzaGJvYXJkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0dXBDYXJkQ29scygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPIDogU2hvdyBlcnJvciBtZXNzYWdlXG4gICAgICAgICAgICAgICAgfSwgdHJ1ZSwgdHJ1ZSk7XG5cbiAgICAgICAgICAgIGxvYWRNZW51cygpO1xuICAgICAgICAgICAgaWYgKCFVdGlscy5pc051bGwoc2V0dGluZ3MpICYmICFVdGlscy5pc051bGwodXNlckRhc2hib2FyZHMpICYmIFV0aWxzLmlzTnVsbChjYXJkQ29scykpIHtcbiAgICAgICAgICAgICAgICBzZXR1cENhcmRDb2xzKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5zZXREYXNoYm9hcmRWaWV3KHtoYW5kbGU6IGhhbmRsZX0pO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICBrZXlDb3VudGVyID0gMDtcbiAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuY2xlYXJEYXNoYm9hcmRWaWV3cygpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSwgW10pO1xuXG4gICAgY29uc3QgYWRkRGFzaGJvYXJkQ2FyZCA9IChpdGVtKSA9PiB7XG4gICAgICAgIGxldCBwYXRoID0gaXRlbS5ldmVudEhhbmRsaW5nQ29uZmlnLnN1YnNjcmlwdGlvbnNbMF0uYWN0aW9uc1swXS5wYXRoO1xuICAgICAgICBsZXQgc2V0dGluZ3MgPSB7fTtcbiAgICAgICAgc2V0dGluZ3MucGF0aCA9IHBhdGg7XG4gICAgICAgIHNldHRpbmdzLnBhcmFtZXRlcnMgPSB7fTtcblxuICAgICAgICB1c2VyRGFzaGJvYXJkcy5wdXNoKHNldHRpbmdzKTtcbiAgICAgICAgc2V0dXBDYXJkQ29scygpO1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IHJlZj17cmVmfSBzdHlsZT17e2hlaWdodDogJzMwMHB4J319PlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICFVdGlscy5pc051bGwoc2V0dGluZ3MpICYmXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogJzRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJzI0cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fT5EYXNoYm9hcmQ8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVuY29udHJvbGxlZERyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duVG9nZ2xlIGNvbG9yPVwiZGVmYXVsdFwiIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIiBuYXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b24gYXJpYS1jb250cm9scz1cIm1lbnUtbGlzdC1ncm93XCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gaWQ9eydBREQnfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT57JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFVdGlscy5pc051bGwobWVudUl0ZW1zKSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudSBjbGFzc05hbWU9XCJkcm9wZG93bi1uYXZiYXJcIiBlbmQgdGFnPVwidWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHttZW51SXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZMaW5rIHRhZz1cImxpXCIga2V5PXtpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm5hdi1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGREYXNoYm9hcmRDYXJkKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0uYXR0cmlidXRlcy5sYWJlbH17JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duSXRlbT57JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTmF2TGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VuY29udHJvbGxlZERyb3Bkb3duPnsnICd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3ttYXhIZWlnaHQ6ICdjYWxjKDEwMGR2aCAtIDMycHggLSB2YXIoLS1oZWFkZXItaCkpJywgb3ZlcmZsb3dZOiAnYXV0byd9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvd1k6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJzAnXG4gICAgICAgICAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QWxlcnRCYXIgY29uZmlnPXt7aWQ6ICdkYXNoYm9hcmRBbGVydCd9fSBoYW5kbGU9e2FsZXJ0QmFySGFuZGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9eydfc3lzX2Rhc2hib2FyZCd9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFVdGlscy5pc051bGwodGFza1N1bW1hcnkpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsncm93J30gc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmdSaWdodDogJzE2cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnMTYwcHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdvcmtGbG93Q2FyZCBtYXJnaW49eycwIDAgOHB4IDhweCd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPXsnQXNzaWduZWQgdG8gTWUnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtQ291bnQ9e3Rhc2tTdW1tYXJ5LnBlcnNvbmFsV29ya0l0ZW1Db3VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD17Jy93b3JrZmxvdy92aWV3cy9wZXJzb25hbC13b3JrLWl0ZW1zLmpzb24nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXb3JrRmxvd0NhcmQgbWFyZ2luPXsnMCAwIDhweCA4cHgnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT17J0F2YWlsYWJsZSd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Db3VudD17dGFza1N1bW1hcnkuZ3JvdXBXb3JrSXRlbUNvdW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPXsnL3dvcmtmbG93L3ZpZXdzL2dyb3VwLXdvcmstaXRlbXMuanNvbid9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdvcmtGbG93Q2FyZCBtYXJnaW49eycwIDAgOHB4IDhweCd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPXsnRHVlIFRvZGF5J31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbUNvdW50PXt0YXNrU3VtbWFyeS5kdWVUb2RheUl0ZW1Db3VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD17Jy93b3JrZmxvdy92aWV3cy9kdWUtdG9kYXktd29yay1pdGVtcy5qc29uJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dYOiAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJ2NhbGMoMTAwZHZoIC0gMTU4cHggLSA2NHB4IC0gdmFyKC0taGVhZGVyLWgpKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6ICdjYWxjKDEwMGR2aCAtIDE1OHB4IC0gNjRweCAtIHZhcigtLWhlYWRlci1oKSknXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcmRDb2xzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogdXNlckRhc2hib2FyZHMubGVuZ3RoIDw9IDIgPyAnMTAwJScgOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2FyZENvbHMubWFwKChjb2wsIGNvbEluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtjb2xJbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAnMTJweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNTAlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogY29sSW5kZXggJSBudW1Db2xzID8gJzRweCcgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogKGNhcmRDb2xzLmxlbmd0aCA+IDEgJiYgIShjb2xJbmRleCAlIG51bUNvbHMpKSA/ICc0cHgnIDogbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbC5tYXAoKGRhc2hib2FyZCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjb2x1bW5IZWlnaHRzW2NvbEluZGV4XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc2cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERhc2hib2FyZENhcmQgc2V0dGluZ3M9e2Rhc2hib2FyZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtjb2xJbmRleCArIGluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRGVsZXRlPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlckRhc2hib2FyZHMuc3BsaWNlKHVzZXJEYXNoYm9hcmRzLmluZGV4T2YoZGFzaGJvYXJkKSwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0dXBDYXJkQ29scygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59KSk7XG5cbmV4cG9ydCBkZWZhdWx0IERhc2hib2FyZDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUMsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0QsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVEsVUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsbUJBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLG1CQUFB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
|
package/package.json
CHANGED