@salutejs/plasma-new-hope 0.339.0-canary.2289.18748307243.0 → 0.339.0-canary.2289.18773957295.0
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/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js +1 -1
- package/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js.map +1 -1
- package/cjs/components/DatePicker/SingleDate/SingleDate.js +0 -6
- package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/cjs/components/TextArea/TextArea.js +3 -2
- package/cjs/components/TextArea/TextArea.js.map +1 -1
- package/cjs/components/TextField/TextField.js +3 -2
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/emotion/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js +1 -1
- package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +0 -4
- package/emotion/cjs/components/TextArea/TextArea.js +3 -3
- package/emotion/cjs/components/TextField/TextField.js +3 -3
- package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
- package/emotion/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js +1 -1
- package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +0 -4
- package/emotion/es/components/TextArea/TextArea.js +3 -3
- package/emotion/es/components/TextField/TextField.js +3 -3
- package/emotion/es/examples/components/Combobox/Combobox.js +0 -7
- package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js +1 -1
- package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js.map +1 -1
- package/es/components/DatePicker/SingleDate/SingleDate.js +0 -6
- package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/es/components/TextArea/TextArea.js +3 -2
- package/es/components/TextArea/TextArea.js.map +1 -1
- package/es/components/TextField/TextField.js +3 -2
- package/es/components/TextField/TextField.js.map +1 -1
- package/package.json +4 -4
- package/styled-components/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js +1 -1
- package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +0 -4
- package/styled-components/cjs/components/TextArea/TextArea.js +2 -2
- package/styled-components/cjs/components/TextField/TextField.js +2 -2
- package/styled-components/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js +1 -1
- package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +0 -4
- package/styled-components/es/components/TextArea/TextArea.js +2 -2
- package/styled-components/es/components/TextField/TextField.js +2 -2
- package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
- package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
- package/types/components/Range/Range.styles.d.ts.map +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.styles.d.ts.map +1 -1
- package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
- package/types/components/TextArea/TextArea.d.ts.map +1 -1
- package/types/components/TextArea/TextArea.types.d.ts +4 -0
- package/types/components/TextArea/TextArea.types.d.ts.map +1 -1
- package/types/components/TextField/TextField.d.ts.map +1 -1
- package/types/components/TextField/TextField.types.d.ts +4 -0
- package/types/components/TextField/TextField.types.d.ts.map +1 -1
- package/types/components/TimePicker/TimePicker.styles.d.ts.map +1 -1
- package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/examples/components/Mask/Mask.d.ts.map +1 -1
- package/types/examples/components/NumberFormat/NumberFormat.d.ts.map +1 -1
- package/types/examples/components/TextArea/TextArea.d.ts +8 -0
- package/types/examples/components/TextArea/TextArea.d.ts.map +1 -1
- package/types/examples/components/TextField/TextField.d.ts.map +1 -1
|
@@ -119,8 +119,7 @@ import { TextFieldChip, TextFieldChipNew } from "./ui";
|
|
|
119
119
|
import { useKeyNavigation } from "./hooks";
|
|
120
120
|
import { HintComponent } from "./ui/Hint/Hint";
|
|
121
121
|
import { getInputWidth } from "./getInputWidth";
|
|
122
|
-
var optionalText = 'optional';
|
|
123
|
-
export var base = /*#__PURE__*/ css("display:block;", "base", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCIsInNvdXJjZXMiOlsic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge1xuICAgIEZvcm1FdmVudEhhbmRsZXIsXG4gICAgQ2hhbmdlRXZlbnRIYW5kbGVyLFxuICAgIEtleWJvYXJkRXZlbnQsXG4gICAgQ2hhbmdlRXZlbnQsXG4gICAgTW91c2VFdmVudEhhbmRsZXIsXG4gICAgQ2xpcGJvYXJkRXZlbnRIYW5kbGVyLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VGb3JrUmVmIH0gZnJvbSAnQHNhbHV0ZWpzL3BsYXNtYS1jb3JlJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGN4LCBzYWZlVXNlSWQgfSBmcm9tICdzcmMvdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBSb290UHJvcHMgfSBmcm9tICdzcmMvZW5naW5lcyc7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tICdzcmMvaG9va3MnO1xuXG5pbXBvcnQgdHlwZSB7IENoaXBWYWx1ZXMsIFRleHRGaWVsZFByaW1pdGl2ZVZhbHVlLCBUZXh0RmllbGRQcm9wcywgVGV4dEZpZWxkUm9vdFByb3BzIH0gZnJvbSAnLi9UZXh0RmllbGQudHlwZXMnO1xuaW1wb3J0IHsgYmFzZSBhcyBzaXplQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19zaXplL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyB2aWV3Q1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL192aWV3L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBjbGVhckNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fY2xlYXIvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGRpc2FibGVkQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19kaXNhYmxlZC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgcmVhZE9ubHlDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3JlYWQtb25seS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgbGFiZWxQbGFjZW1lbnRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2xhYmVsLXBsYWNlbWVudC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgaGludFZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2hpbnQtdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgaGludFNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2hpbnQtc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2hpcFZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NoaXAtdmlldy9iYXNlJztcbmltcG9ydCB7XG4gICAgSW5wdXQsXG4gICAgSW5wdXRDb250YWluZXIsXG4gICAgTGVmdEhlbHBlcixcbiAgICBMYWJlbCxcbiAgICBJbnB1dFdyYXBwZXIsXG4gICAgSW5wdXRMYWJlbFdyYXBwZXIsXG4gICAgU3R5bGVkQ29udGVudExlZnQsXG4gICAgU3R5bGVkQ29udGVudFJpZ2h0LFxuICAgIFN0eWxlZENoaXBzLFxuICAgIFN0eWxlZFRleHRCZWZvcmUsXG4gICAgU3R5bGVkVGV4dEFmdGVyLFxuICAgIFN0eWxlZEluZGljYXRvcixcbiAgICBTdHlsZWRPcHRpb25hbFRleHQsXG4gICAgSW5wdXRQbGFjZWhvbGRlcixcbiAgICBPdXRlckxhYmVsV3JhcHBlcixcbiAgICBUaXRsZUNhcHRpb24sXG4gICAgU3R5bGVkSGludFdyYXBwZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yV3JhcHBlcixcbiAgICBTdHlsZWRDb250ZW50UmlnaHRXcmFwcGVyLFxufSBmcm9tICcuL1RleHRGaWVsZC5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEZpZWxkLnRva2Vucyc7XG5pbXBvcnQgeyBUZXh0RmllbGRDaGlwLCBUZXh0RmllbGRDaGlwTmV3IH0gZnJvbSAnLi91aSc7XG5pbXBvcnQgeyB1c2VLZXlOYXZpZ2F0aW9uIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQgeyBIaW50Q29tcG9uZW50IH0gZnJvbSAnLi91aS9IaW50L0hpbnQnO1xuaW1wb3J0IHsgZ2V0SW5wdXRXaWR0aCB9IGZyb20gJy4vZ2V0SW5wdXRXaWR0aCc7XG5cbmNvbnN0IG9wdGlvbmFsVGV4dCA9ICdvcHRpb25hbCc7XG5cbmV4cG9ydCBjb25zdCBiYXNlID0gY3NzYFxuICAgIC8qIE5PVEU6IFdlYmtpdCDQvdC1INC/0YDQuNC80LXQvdGP0LXRgiBvcGFjaXR5INC6IGlubGluZSDRgtC10LPQsNC8ICovXG4gICAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5jb25zdCBISU5UX0RFRkFVTFRfT0ZGU0VUOiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIDBdO1xuXG5leHBvcnQgY29uc3QgdGV4dEZpZWxkUm9vdCA9IChSb290OiBSb290UHJvcHM8SFRNTERpdkVsZW1lbnQsIFRleHRGaWVsZFJvb3RQcm9wcz4pID0+XG4gICAgZm9yd2FyZFJlZjxIVE1MSW5wdXRFbGVtZW50LCBUZXh0RmllbGRQcm9wcz4oXG4gICAgICAgIChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgc3R5bGUsXG5cbiAgICAgICAgICAgICAgICAvLyBsYXlvdXRcbiAgICAgICAgICAgICAgICBjb250ZW50TGVmdCxcbiAgICAgICAgICAgICAgICBjb250ZW50UmlnaHQsXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAga2VlcFBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIHRleHRCZWZvcmUsXG4gICAgICAgICAgICAgICAgdGV4dEFmdGVyLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIGxlZnRIZWxwZXIsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlID0gJ3BsYWluJyxcbiAgICAgICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudCA9ICdyaWdodCcsXG4gICAgICAgICAgICAgICAgaGFzUmVxdWlyZWRJbmRpY2F0b3IgPSB0cnVlLFxuICAgICAgICAgICAgICAgIHRpdGxlQ2FwdGlvbixcbiAgICAgICAgICAgICAgICBjaGlwVmlldyA9ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBjaGlwVmFsaWRhdG9yLFxuXG4gICAgICAgICAgICAgICAgLy8gaGludFxuICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyID0gJ2hvdmVyJyxcbiAgICAgICAgICAgICAgICBoaW50VGV4dCxcbiAgICAgICAgICAgICAgICBoaW50VmlldyA9ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBoaW50U2l6ZSA9ICdtJyxcbiAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbixcbiAgICAgICAgICAgICAgICBoaW50VGFyZ2V0UGxhY2VtZW50ID0gJ291dGVyJyxcbiAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50ID0gJ2F1dG8nLFxuICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdyxcbiAgICAgICAgICAgICAgICBoaW50T2Zmc2V0ID0gSElOVF9ERUZBVUxUX09GRlNFVCxcbiAgICAgICAgICAgICAgICBoaW50V2lkdGgsXG4gICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0LFxuXG4gICAgICAgICAgICAgICAgLy8gdmFyaWF0aW9uc1xuICAgICAgICAgICAgICAgIHZpZXcsXG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICByZWFkT25seSA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBjbGVhciA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIG9wdGlvbmFsLFxuICAgICAgICAgICAgICAgIGhhc0RpdmlkZXIsXG5cbiAgICAgICAgICAgICAgICAvLyBjb250cm9sbGVkXG4gICAgICAgICAgICAgICAgdmFsdWU6IG91dGVyVmFsdWUsXG4gICAgICAgICAgICAgICAgY2hpcHM6IHZhbHVlcyxcbiAgICAgICAgICAgICAgICBjaGlwVHlwZSA9ICdkZWZhdWx0JyxcblxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBfY2hpcHMsXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9jaGlwQ2xpY2tBcmVhLFxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBfb25DaGlwQ2xvc2VDbGljayxcblxuICAgICAgICAgICAgICAgIC8vIGV2ZW50c1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHMsXG4gICAgICAgICAgICAgICAgb25TZWFyY2gsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duLFxuICAgICAgICAgICAgICAgIG9uRm9jdXMsXG4gICAgICAgICAgICAgICAgb25CbHVyLFxuICAgICAgICAgICAgICAgIG9uUGFzdGUsXG5cbiAgICAgICAgICAgICAgICAvLyDQn9GA0L7Qv9GB0Ysg0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8sINC90LUg0L7RgtC00LDQtdGC0YHRjyDQvdCw0YDRg9C20YMuXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9vbkVudGVyRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHksXG5cbiAgICAgICAgICAgICAgICAuLi5yZXN0XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVmLFxuICAgICAgICApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRDb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dEZvcmtSZWYgPSB1c2VGb3JrUmVmKGlucHV0UmVmLCByZWYpO1xuICAgICAgICAgICAgY29uc3QgY2hpcHNSZWZzID0gdXNlUmVmPEFycmF5PEhUTUxCdXR0b25FbGVtZW50Pj4oW10pO1xuICAgICAgICAgICAgY29uc3QgaGludFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xsZWRSZWZzID0geyBjb250ZW50UmVmLCBpbnB1dFJlZiwgY2hpcHNSZWZzIH07XG5cbiAgICAgICAgICAgIGNvbnN0IFtoYXNWYWx1ZSwgc2V0SGFzVmFsdWVdID0gdXNlU3RhdGUoXG4gICAgICAgICAgICAgICAgQm9vbGVhbihvdXRlclZhbHVlKSB8fCBCb29sZWFuKGlucHV0UmVmPy5jdXJyZW50Py52YWx1ZSkgfHwgQm9vbGVhbihyZXN0Py5kZWZhdWx0VmFsdWUpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IFtoYXNGb2N1cywgc2V0SGFzRm9jdXNdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgICAgICAgICBjb25zdCBbY2hpcHMsIHNldENoaXBzXSA9IHVzZVN0YXRlPEFycmF5PENoaXBWYWx1ZXM+PihbXSk7XG4gICAgICAgICAgICBjb25zdCBbaXNIaW50VmlzaWJsZSwgc2V0SXNIaW50VmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHVuaXFJZCA9IHNhZmVVc2VJZCgpO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJJZCA9IGlkIHx8IHVuaXFJZDtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSWQgPSBzYWZlVXNlSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IGhlbHBlclRleHRJZCA9IHNhZmVVc2VJZCgpO1xuXG4gICAgICAgICAgICBjb25zdCBpc0RlZmF1bHRWaWV3ID0gdmlldyA9PT0gJ2RlZmF1bHQnIHx8IHJlYWRPbmx5IHx8IGRpc2FibGVkO1xuXG4gICAgICAgICAgICBjb25zdCBpc0NoaXBFbnVtZXJhdGlvbiA9IGVudW1lcmF0aW9uVHlwZSA9PT0gJ2NoaXAnO1xuICAgICAgICAgICAgY29uc3QgaXNDaGlwc1Zpc2libGUgPSBpc0NoaXBFbnVtZXJhdGlvbiAmJiBCb29sZWFuKGNoaXBzPy5sZW5ndGggfHwgX2NoaXBzPy5sZW5ndGgpO1xuICAgICAgICAgICAgY29uc3Qgd2l0aEhhc0NoaXBzID0gaXNDaGlwc1Zpc2libGUgPyBjbGFzc2VzLmhhc0NoaXBzIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCBoYXNMYWJlbFZhbHVlID0gQm9vbGVhbihsYWJlbCk7XG4gICAgICAgICAgICBjb25zdCBoYXNJbm5lckxhYmVsID0gc2l6ZSAhPT0gJ3hzJyAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAhaXNDaGlwc1Zpc2libGUgJiYgaGFzTGFiZWxWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGhhc091dGVyTGFiZWwgPSBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyAmJiBoYXNMYWJlbFZhbHVlO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJLZWVwUGxhY2Vob2xkZXIgPSBrZWVwUGxhY2Vob2xkZXIgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcic7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlciA9IEJvb2xlYW4ocGxhY2Vob2xkZXIpICYmIChpbm5lcktlZXBQbGFjZWhvbGRlciB8fCAhaGFzSW5uZXJMYWJlbCk7XG4gICAgICAgICAgICBsZXQgaGFzVGV4dEFmdGVyID0gQm9vbGVhbih0ZXh0QWZ0ZXIpO1xuICAgICAgICAgICAgbGV0IGhhc1RleHRCZWZvcmUgPSB0ZXh0QmVmb3JlICYmICFpc0NoaXBFbnVtZXJhdGlvbjtcbiAgICAgICAgICAgIGlmIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJykge1xuICAgICAgICAgICAgICAgIGlmICghaGFzVmFsdWUgJiYgIWhhc1BsYWNlaG9sZGVyICYmICFoYXNGb2N1cykge1xuICAgICAgICAgICAgICAgICAgICBoYXNUZXh0QWZ0ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaGFzVGV4dEJlZm9yZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgaGFzUGxhY2Vob2xkZXJQYWRkaW5nID0gaGFzSW5uZXJMYWJlbCAmJiBrZWVwUGxhY2Vob2xkZXIgJiYgc2l6ZSAhPT0gJ3hzJztcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFZhbHVlID0gaGFzSW5uZXJMYWJlbCB8fCBoYXNPdXRlckxhYmVsID8gbGFiZWwgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBpbm5lckxhYmVsUGxhY2VtZW50VmFsdWUgPSBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAhaGFzSW5uZXJMYWJlbCA/IHVuZGVmaW5lZCA6IGxhYmVsUGxhY2VtZW50O1xuXG4gICAgICAgICAgICBjb25zdCBpbm5lclBsYWNlaG9sZGVyVmFsdWUgPSBoYXNQbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJTaG93biA9IEJvb2xlYW4oaW5uZXJQbGFjZWhvbGRlclZhbHVlKSAmJiAhaGFzVmFsdWU7XG5cbiAgICAgICAgICAgIGNvbnN0IGNsZWFyQ2xhc3MgPSBjbGVhciA/IGNsYXNzZXMuY2xlYXIgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNEaXZpZGVyQ2xhc3MgPSBoYXNEaXZpZGVyID8gY2xhc3Nlcy5oYXNEaXZpZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzSW5uZXJIaW50Q2xhc3MgPSBoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnb3V0ZXInID8gY2xhc3Nlcy5oYXNIaW50IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzSGludENsYXNzID0gaGludFRleHQgPyBjbGFzc2VzLmhhc0hpbnQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyBjbGFzc2VzLnJlcXVpcmVkQWxpZ25SaWdodCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsUGxhY2VtZW50Q2xhc3MgPSBpbm5lckxhYmVsUGxhY2VtZW50VmFsdWVcbiAgICAgICAgICAgICAgICA/IGNsYXNzZXNbYCR7aW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlfUxhYmVsUGxhY2VtZW50YCBhcyBrZXlvZiB0eXBlb2YgY2xhc3Nlc11cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc1ZhbHVlQ2xhc3MgPSBoYXNWYWx1ZSA/IGNsYXNzZXMuaGFzVmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBrZWVwUGxhY2Vob2xkZXJDbGFzcyA9IGhhc1BsYWNlaG9sZGVyICYmIHBsYWNlaG9sZGVyU2hvd24gJiYgY2xhc3Nlcy5rZWVwUGxhY2Vob2xkZXI7XG5cbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQgPVxuICAgICAgICAgICAgICAgICFjb250ZW50TGVmdCAmJiBpc0NoaXBzVmlzaWJsZSAmJiBjaGlwVHlwZSA9PT0gJ2RlZmF1bHQnID8gY2xhc3Nlcy5oYXNFbXB0eUNvbnRlbnRMZWZ0IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3Qgd3JhcHBlcldpdGhvdXRSaWdodENvbnRlbnQgPVxuICAgICAgICAgICAgICAgICFjb250ZW50UmlnaHQgJiYgaXNDaGlwc1Zpc2libGUgJiYgY2hpcFR5cGUgPT09ICdkZWZhdWx0JyA/IGNsYXNzZXMuaGFzRW1wdHlDb250ZW50UmlnaHQgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSaWdodENvbXBlbnNhdGlvbk1hcmdpbiA9XG4gICAgICAgICAgICAgICAgIWhhc091dGVyTGFiZWwgJiYgaGludFRleHQgJiYgaGludFRhcmdldFBsYWNlbWVudCA9PT0gJ2lubmVyJ1xuICAgICAgICAgICAgICAgICAgICA/IGNsYXNzZXMuY29udGVudFJpZ2h0Q29tcGVuc2F0aW9uTWFyZ2luXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICB1c2VPdXRzaWRlQ2xpY2soKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldElzSGludFZpc2libGUoZmFsc2UpO1xuICAgICAgICAgICAgfSwgW2hpbnRSZWZdKTtcblxuICAgICAgICAgICAgY29uc3QgaGludElubmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IGhpbnRGb3JrUmVmID0gdXNlRm9ya1JlZihoaW50UmVmLCBoaW50SW5uZXJSZWYpO1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVJbnB1dDogRm9ybUV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgICAgICAgICAgICAgc2V0SGFzVmFsdWUoQm9vbGVhbih2YWx1ZSkpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlRm9jdXMgPSAoZXZlbnQ6IFJlYWN0LkZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNGb2N1cyh0cnVlKTtcbiAgICAgICAgICAgICAgICBvbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlQmx1ciA9IChldmVudDogUmVhY3QuRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc0ZvY3VzKGZhbHNlKTtcbiAgICAgICAgICAgICAgICBvbkJsdXI/LihldmVudCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVIaW50U2hvdyA9ICgpID0+IHNldElzSGludFZpc2libGUodHJ1ZSk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVIaW50SGlkZSA9ICgpID0+IHNldElzSGludFZpc2libGUoZmFsc2UpO1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlSGludENsaWNrOiBNb3VzZUV2ZW50SGFuZGxlciA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaGludFRleHQgfHwgaGludFRyaWdnZXIgIT09ICdjbGljaycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldElzUG9wb3ZlciA9IGV2ZW50LnRhcmdldCA9PT0gaGludElubmVyUmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm9vdEhhc1RhcmdldCA9IGhpbnRJbm5lclJlZi5jdXJyZW50Py5jb250YWlucyhldmVudC50YXJnZXQgYXMgRWxlbWVudCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRhcmdldElzUG9wb3ZlciAmJiAhcm9vdEhhc1RhcmdldCkge1xuICAgICAgICAgICAgICAgICAgICBzZXRJc0hpbnRWaXNpYmxlKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRpc2FibGVkIHx8IHJlYWRPbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCB7IG1heExlbmd0aCwgdmFsdWUgfSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgICAgIGlmIChtYXhMZW5ndGggIT09IC0xICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG9uQ2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaGFzVGV4dEFmdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRXaWR0aCA9IGdldElucHV0V2lkdGgoZXZlbnQuY3VycmVudFRhcmdldCwgaW5wdXRDb250YWluZXJSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuc3R5bGUud2lkdGggPSBgJHt0ZXh0V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZVBhc3RlOiBDbGlwYm9hcmRFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQgfHwgcmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvblBhc3RlKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uUGFzdGUoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChoYXNUZXh0QWZ0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlucHV0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRXaWR0aCA9IGdldElucHV0V2lkdGgoaW5wdXRSZWYuY3VycmVudCwgaW5wdXRDb250YWluZXJSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnN0eWxlLndpZHRoID0gYCR7dGV4dFdpZHRofXB4YDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ2hpcHMgPSAobmV3Q2hpcHM6IEFycmF5PENoaXBWYWx1ZXM+LCBuZXdWYWx1ZXM6IEFycmF5PFRleHRGaWVsZFByaW1pdGl2ZVZhbHVlPikgPT4ge1xuICAgICAgICAgICAgICAgIHNldENoaXBzKG5ld0NoaXBzKTtcbiAgICAgICAgICAgICAgICBvbkNoYW5nZUNoaXBzPy4obmV3VmFsdWVzKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHsgaGFuZGxlSW5wdXRLZXlkb3duLCBoYW5kbGVDaGlwS2V5RG93biwgb25DaGlwQ2xlYXIsIGhhbmRsZUNvbnRlbnRLZXlEb3duIH0gPSB1c2VLZXlOYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVkUmVmcyxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICByZWFkT25seSxcbiAgICAgICAgICAgICAgICBjaGlwcyxcbiAgICAgICAgICAgICAgICBuZXdDdXN0b21DaGlwczogX2NoaXBzLFxuICAgICAgICAgICAgICAgIGVudW1lcmF0aW9uVHlwZSxcbiAgICAgICAgICAgICAgICB1cGRhdGVDaGlwcyxcbiAgICAgICAgICAgICAgICBvblNlYXJjaCxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgICAgICBvbkVudGVyRGlzYWJsZWQ6IF9vbkVudGVyRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgb25DaGlwQ2xvc2VDbGljazogX29uQ2hpcENsb3NlQ2xpY2ssXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3Qgb25DaGlwQ2xpY2sgPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KSA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSW5wdXRGb2N1cyA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVhZE9ubHkgfHwgZGlzYWJsZWQgfHwgIWlucHV0UmVmPy5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpbnB1dFJlZi5jdXJyZW50Lm9mZnNldExlZnQsXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGdldFJlZiA9IChlbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudCB8IG51bGwsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBjaGlwc1JlZnM/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpcHNSZWZzLmN1cnJlbnRbaW5kZXhdID0gZWxlbWVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVPbktleURvd24gPSAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+ICYgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZUlucHV0S2V5ZG93bihldmVudCk7XG5cbiAgICAgICAgICAgICAgICBpZiAob25LZXlEb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaGFzVGV4dEFmdGVyICYmIGlucHV0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gZ2V0SW5wdXRXaWR0aChpbnB1dFJlZi5jdXJyZW50LCBpbnB1dENvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5zdHlsZS53aWR0aCA9IGAke3RleHRXaWR0aH1weGA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudD8uc3R5bGUucmVtb3ZlUHJvcGVydHkoJ3dpZHRoJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgW2hhc1RleHRBZnRlciwgb3V0ZXJWYWx1ZV0pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNDaGlwRW51bWVyYXRpb24gJiYgIXZhbHVlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdDaGlwcyA9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz8ubWFwKCh2YWx1ZSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogYCR7aW5kZXh9XyR7dmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KSkgfHwgW107XG5cbiAgICAgICAgICAgICAgICBzZXRDaGlwcyhuZXdDaGlwcyk7XG4gICAgICAgICAgICB9LCBbaXNDaGlwRW51bWVyYXRpb24sIHZhbHVlc10pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc1ZhbHVlKEJvb2xlYW4ocmVzdD8uZGVmYXVsdFZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbcmVzdC5kZWZhdWx0VmFsdWVdKTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbb3V0ZXJWYWx1ZSwgaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyT3B0aW9uYWwgPSBCb29sZWFuKHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbCk7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaW5uZXJMYWJlbFZhbHVlICYmICFoYXNPdXRlckxhYmVsO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uYWxUZXh0Tm9kZSA9IGlubmVyT3B0aW9uYWwgPyAoXG4gICAgICAgICAgICAgICAgPFN0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4oaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA/IGlubmVyUGxhY2Vob2xkZXJWYWx1ZSA6IGlubmVyTGFiZWxWYWx1ZSkgJiYgJ1xceGEwJ31cbiAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICkgOiBudWxsO1xuXG4gICAgICAgICAgICBjb25zdCBjbGFzc1RleHRFbGxpcHNpcyA9XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICAgICAgICAgICAgICAhKHJlc3QgYXMgYW55KS5fdGV4dEVsbGlwc2lzRGlzYWJsZSAmJiAhdGV4dEFmdGVyID8gY2xhc3Nlcy5pbnB1dFRleHRFbGxpcHNpcyA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8Um9vdFxuICAgICAgICAgICAgICAgICAgICB2aWV3PXt2aWV3fVxuICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshZGlzYWJsZWQgJiYgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50PXtpbm5lckxhYmVsUGxhY2VtZW50VmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUlucHV0Rm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIGRhdGEtcm9vdFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNEaXZpZGVyQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNJbm5lckhpbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMudGV4dEZpZWxkR3JvdXBJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICAgICAgICAgIHsuLi4oaGludFRleHQgJiYgeyBoaW50VmlldywgaGludFNpemUgfSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7KGhhc091dGVyTGFiZWwgfHwgdGl0bGVDYXB0aW9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8T3V0ZXJMYWJlbFdyYXBwZXIgaXNJbm5lckxhYmVsPXtsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lckxhYmVsVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xhYmVsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGludFRleHQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aGludEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0hpbnRWaXNpYmxlPXtpc0hpbnRWaXNpYmxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdz17aGludEhhc0Fycm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0PXtoaW50Q29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50Q2xpY2s9e2hhbmRsZUhpbnRDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiBoYXNSZXF1aXJlZEluZGljYXRvciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hpbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEluZGljYXRvcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGl0bGVDYXB0aW9uICYmIDxUaXRsZUNhcHRpb24gZGF0YS1yb290Pnt0aXRsZUNhcHRpb259PC9UaXRsZUNhcHRpb24+fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9PdXRlckxhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWYg0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8uINCd0LUg0L7RgtC00LDQtdGC0YHRjyDQvdCw0YDRg9C20YMuXG4gICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhyZXN0IGFzIGFueSkuaW5wdXRXcmFwcGVyUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogIzE1NDQsINC4INC/0L7RgdC70LUg0YPQsdGA0LDRgtGMIGNsYXNzZXMuaW5wdXRXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhIYXNDaGlwcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVyV2l0aG91dExlZnRDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMuaW5wdXRXcmFwcGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyFoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgaGFzUmVxdWlyZWRJbmRpY2F0b3IgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnb3V0ZXInICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIaW50V3JhcHBlciBjbGFzc05hbWU9e2NsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtoaW50Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRleHQ9e2hpbnRUZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSGludFZpc2libGU9e2lzSGludFZpc2libGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUYXJnZXRJY29uPXtoaW50VGFyZ2V0SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludEhhc0Fycm93PXtoaW50SGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRPZmZzZXQ9e2hpbnRPZmZzZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50Q29udGVudExlZnQ9e2hpbnRDb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludFNob3c9e2hhbmRsZUhpbnRTaG93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0lubmVyTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudExlZnQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDb250ZW50TGVmdCBkYXRhLXJvb3QgaXNDbGVhcj17Y2xlYXJ9IGlzRGVmYXVsdFZpZXc9e2lzRGVmYXVsdFZpZXd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRDb250ZW50TGVmdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRMYWJlbFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtjb250ZW50UmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlQ29udGVudEtleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeCh3aXRoSGFzQ2hpcHMsIGNsYXNzZXMuaW5wdXRTY3JvbGxhYmxlV3JhcHBlcil9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4odGV4dEJlZm9yZSAmJiBpc0NoaXBFbnVtZXJhdGlvbikgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEJlZm9yZT57dGV4dEJlZm9yZX08L1N0eWxlZFRleHRCZWZvcmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtCb29sZWFuKF9jaGlwcz8ubGVuZ3RoKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRDaGlwTmV3XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlwcz17X2NoaXBzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UmVmPXtnZXRSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGlwS2V5RG93bj17aGFuZGxlQ2hpcEtleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoaXBDbGVhcj17b25DaGlwQ2xlYXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoaXBDbG9zZUNsaWNrPXtfb25DaGlwQ2xvc2VDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaXBDbGlja0FyZWE9e19jaGlwQ2xpY2tBcmVhfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlldz17Y2hpcFZpZXcgfHwgdmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaXBUeXBlPXtjaGlwVHlwZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86ICMxNTQ3XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfZm9yY2VDaGlwTWFuaXB1bGF0aW9uV2l0aFJlYWRvbmx5PXtfZm9yY2VDaGlwTWFuaXB1bGF0aW9uV2l0aFJlYWRvbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNDaGlwRW51bWVyYXRpb24gJiYgQm9vbGVhbihjaGlwcz8ubGVuZ3RoKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDaGlwcyBjbGFzc05hbWU9e2NsYXNzZXMuY2hpcHNXcmFwcGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjaGlwcz8ubWFwKCh7IGlkOiBjaGlwSWQsIHRleHQgfSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uVmlldyA9IGNoaXBWYWxpZGF0b3I/LihTdHJpbmcodGV4dCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc1ZpZXcgPSB2YWxpZGF0aW9uVmlldz8udmlldyB8fCBjaGlwVmlldztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRDaGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17Y2hpcElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXsoZWxlbWVudCkgPT4gZ2V0UmVmKGVsZW1lbnQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YCR7Y2hpcElkfV8ke2luZGV4fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ9e3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4gaGFuZGxlQ2hpcEtleURvd24oZXZlbnQsIGNoaXBJZCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGVhcj17KCkgPT4gb25DaGlwQ2xlYXIoY2hpcElkLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNoaXBDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaXBUeXBlPXtjaGlwVHlwZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXc9e3Jlc1ZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb290V3JhcHBlcj17Um9vdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86ICMxNTQ3XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfZm9yY2VDaGlwTWFuaXB1bGF0aW9uV2l0aFJlYWRvbmx5PXtfZm9yY2VDaGlwTWFuaXB1bGF0aW9uV2l0aFJlYWRvbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRDaGlwcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dENvbnRhaW5lciByZWY9e2lucHV0Q29udGFpbmVyUmVmfSBoYXNEeW5hbWljV2lkdGg9e2hhc1RleHRBZnRlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNUZXh0QmVmb3JlICYmIDxTdHlsZWRUZXh0QmVmb3JlPnt0ZXh0QmVmb3JlfTwvU3R5bGVkVGV4dEJlZm9yZT59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtpbnB1dEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17aW5uZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtvdXRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ9e2VudW1lcmF0aW9uVHlwZSA9PT0gJ2NoaXAnID8gY2hpcHMubGVuZ3RoID09PSAwICYmIHJlcXVpcmVkIDogcmVxdWlyZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtoZWxwZXJUZXh0SWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aW5uZXJQbGFjZWhvbGRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNWYWx1ZUNsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtlZXBQbGFjZWhvbGRlckNsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzVGV4dEVsbGlwc2lzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5ICYmIGNsYXNzZXMucmVhZE9ubHlJbnB1dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17IWRpc2FibGVkICYmIHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25JbnB1dD17aGFuZGxlSW5wdXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVPbktleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uUGFzdGU9e2hhbmRsZVBhc3RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10b3VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc0lubmVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGRhdGEtcm9vdCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aW5uZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyTGFiZWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlclNob3duICYmICFoYXNWYWx1ZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRQbGFjZWhvbGRlciBoYXNQYWRkaW5nPXtoYXNQbGFjZWhvbGRlclBhZGRpbmd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNUZXh0QmVmb3JlICYmIDxTdHlsZWRUZXh0QmVmb3JlIGlzSGlkZGVuPnt0ZXh0QmVmb3JlfTwvU3R5bGVkVGV4dEJlZm9yZT59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyUGxhY2Vob2xkZXJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzUGxhY2Vob2xkZXJPcHRpb25hbCAmJiBvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dFBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzVGV4dEFmdGVyICYmIDxTdHlsZWRUZXh0QWZ0ZXI+e3RleHRBZnRlcn08L1N0eWxlZFRleHRBZnRlcj59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkQ29udGVudFJpZ2h0V3JhcHBlciBjbGFzc05hbWU9e2N4KGNvbnRlbnRSaWdodENvbXBlbnNhdGlvbk1hcmdpbil9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50UmlnaHQgJiYgPFN0eWxlZENvbnRlbnRSaWdodCBkYXRhLXJvb3Q+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnRSaWdodD59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgaGludFRleHQgJiYgaGludFRhcmdldFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIaW50Q29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2hpbnRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRleHQ9e2hpbnRUZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRyaWdnZXI9e2hpbnRUcmlnZ2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNIaW50VmlzaWJsZT17aXNIaW50VmlzaWJsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUYXJnZXRJY29uPXtoaW50VGFyZ2V0SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRQbGFjZW1lbnQ9e2hpbnRQbGFjZW1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3c9e2hpbnRIYXNBcnJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRPZmZzZXQ9e2hpbnRPZmZzZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50V2lkdGg9e2hpbnRXaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdD17aGludENvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRTaG93PXtoYW5kbGVIaW50U2hvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNJbm5lckxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudFJpZ2h0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9JbnB1dFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHtsZWZ0SGVscGVyICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMZWZ0SGVscGVyIGRhdGEtcm9vdCBpZD17aGVscGVyVGV4dElkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bGVmdEhlbHBlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvTGVmdEhlbHBlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICk7XG5cbmV4cG9ydCBjb25zdCB0ZXh0RmllbGRDb25maWcgPSB7XG4gICAgbmFtZTogJ1RleHRGaWVsZCcsXG4gICAgdGFnOiAnZGl2JyxcbiAgICBsYXlvdXQ6IHRleHRGaWVsZFJvb3QsXG4gICAgYmFzZSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICAgIGNzczogdmlld0NTUyxcbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgY3NzOiBzaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICBjbGVhcjoge1xuICAgICAgICAgICAgY3NzOiBjbGVhckNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgY3NzOiBkaXNhYmxlZENTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWFkT25seToge1xuICAgICAgICAgICAgY3NzOiByZWFkT25seUNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbFBsYWNlbWVudDoge1xuICAgICAgICAgICAgY3NzOiBsYWJlbFBsYWNlbWVudENTUyxcbiAgICAgICAgfSxcbiAgICAgICAgaGludFZpZXc6IHtcbiAgICAgICAgICAgIGNzczogaGludFZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGhpbnRTaXplOiB7XG4gICAgICAgICAgICBjc3M6IGhpbnRTaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICBjaGlwVmlldzoge1xuICAgICAgICAgICAgY3NzOiBjaGlwVmlld0NTUyxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHNpemU6ICdtJyxcbiAgICAgICAgdmlldzogJ2RlZmF1bHQnLFxuICAgIH0sXG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNEb0IifQ== */");
|
|
122
|
+
export var base = /*#__PURE__*/ css("display:block;", "base", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCIsInNvdXJjZXMiOlsic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge1xuICAgIEZvcm1FdmVudEhhbmRsZXIsXG4gICAgQ2hhbmdlRXZlbnRIYW5kbGVyLFxuICAgIEtleWJvYXJkRXZlbnQsXG4gICAgQ2hhbmdlRXZlbnQsXG4gICAgTW91c2VFdmVudEhhbmRsZXIsXG4gICAgQ2xpcGJvYXJkRXZlbnRIYW5kbGVyLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VGb3JrUmVmIH0gZnJvbSAnQHNhbHV0ZWpzL3BsYXNtYS1jb3JlJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGN4LCBzYWZlVXNlSWQgfSBmcm9tICdzcmMvdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBSb290UHJvcHMgfSBmcm9tICdzcmMvZW5naW5lcyc7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tICdzcmMvaG9va3MnO1xuXG5pbXBvcnQgdHlwZSB7IENoaXBWYWx1ZXMsIFRleHRGaWVsZFByaW1pdGl2ZVZhbHVlLCBUZXh0RmllbGRQcm9wcywgVGV4dEZpZWxkUm9vdFByb3BzIH0gZnJvbSAnLi9UZXh0RmllbGQudHlwZXMnO1xuaW1wb3J0IHsgYmFzZSBhcyBzaXplQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19zaXplL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyB2aWV3Q1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL192aWV3L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBjbGVhckNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fY2xlYXIvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGRpc2FibGVkQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19kaXNhYmxlZC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgcmVhZE9ubHlDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3JlYWQtb25seS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgbGFiZWxQbGFjZW1lbnRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2xhYmVsLXBsYWNlbWVudC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgaGludFZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2hpbnQtdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgaGludFNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2hpbnQtc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2hpcFZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NoaXAtdmlldy9iYXNlJztcbmltcG9ydCB7XG4gICAgSW5wdXQsXG4gICAgSW5wdXRDb250YWluZXIsXG4gICAgTGVmdEhlbHBlcixcbiAgICBMYWJlbCxcbiAgICBJbnB1dFdyYXBwZXIsXG4gICAgSW5wdXRMYWJlbFdyYXBwZXIsXG4gICAgU3R5bGVkQ29udGVudExlZnQsXG4gICAgU3R5bGVkQ29udGVudFJpZ2h0LFxuICAgIFN0eWxlZENoaXBzLFxuICAgIFN0eWxlZFRleHRCZWZvcmUsXG4gICAgU3R5bGVkVGV4dEFmdGVyLFxuICAgIFN0eWxlZEluZGljYXRvcixcbiAgICBTdHlsZWRPcHRpb25hbFRleHQsXG4gICAgSW5wdXRQbGFjZWhvbGRlcixcbiAgICBPdXRlckxhYmVsV3JhcHBlcixcbiAgICBUaXRsZUNhcHRpb24sXG4gICAgU3R5bGVkSGludFdyYXBwZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yV3JhcHBlcixcbiAgICBTdHlsZWRDb250ZW50UmlnaHRXcmFwcGVyLFxufSBmcm9tICcuL1RleHRGaWVsZC5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEZpZWxkLnRva2Vucyc7XG5pbXBvcnQgeyBUZXh0RmllbGRDaGlwLCBUZXh0RmllbGRDaGlwTmV3IH0gZnJvbSAnLi91aSc7XG5pbXBvcnQgeyB1c2VLZXlOYXZpZ2F0aW9uIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQgeyBIaW50Q29tcG9uZW50IH0gZnJvbSAnLi91aS9IaW50L0hpbnQnO1xuaW1wb3J0IHsgZ2V0SW5wdXRXaWR0aCB9IGZyb20gJy4vZ2V0SW5wdXRXaWR0aCc7XG5cbmV4cG9ydCBjb25zdCBiYXNlID0gY3NzYFxuICAgIC8qIE5PVEU6IFdlYmtpdCDQvdC1INC/0YDQuNC80LXQvdGP0LXRgiBvcGFjaXR5INC6IGlubGluZSDRgtC10LPQsNC8ICovXG4gICAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5jb25zdCBISU5UX0RFRkFVTFRfT0ZGU0VUOiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIDBdO1xuXG5leHBvcnQgY29uc3QgdGV4dEZpZWxkUm9vdCA9IChSb290OiBSb290UHJvcHM8SFRNTERpdkVsZW1lbnQsIFRleHRGaWVsZFJvb3RQcm9wcz4pID0+XG4gICAgZm9yd2FyZFJlZjxIVE1MSW5wdXRFbGVtZW50LCBUZXh0RmllbGRQcm9wcz4oXG4gICAgICAgIChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgc3R5bGUsXG5cbiAgICAgICAgICAgICAgICAvLyBsYXlvdXRcbiAgICAgICAgICAgICAgICBjb250ZW50TGVmdCxcbiAgICAgICAgICAgICAgICBjb250ZW50UmlnaHQsXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAga2VlcFBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIHRleHRCZWZvcmUsXG4gICAgICAgICAgICAgICAgdGV4dEFmdGVyLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIGxlZnRIZWxwZXIsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlID0gJ3BsYWluJyxcbiAgICAgICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudCA9ICdyaWdodCcsXG4gICAgICAgICAgICAgICAgaGFzUmVxdWlyZWRJbmRpY2F0b3IgPSB0cnVlLFxuICAgICAgICAgICAgICAgIHRpdGxlQ2FwdGlvbixcbiAgICAgICAgICAgICAgICBjaGlwVmlldyA9ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBjaGlwVmFsaWRhdG9yLFxuXG4gICAgICAgICAgICAgICAgLy8gaGludFxuICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyID0gJ2hvdmVyJyxcbiAgICAgICAgICAgICAgICBoaW50VGV4dCxcbiAgICAgICAgICAgICAgICBoaW50VmlldyA9ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBoaW50U2l6ZSA9ICdtJyxcbiAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbixcbiAgICAgICAgICAgICAgICBoaW50VGFyZ2V0UGxhY2VtZW50ID0gJ291dGVyJyxcbiAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50ID0gJ2F1dG8nLFxuICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdyxcbiAgICAgICAgICAgICAgICBoaW50T2Zmc2V0ID0gSElOVF9ERUZBVUxUX09GRlNFVCxcbiAgICAgICAgICAgICAgICBoaW50V2lkdGgsXG4gICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0LFxuXG4gICAgICAgICAgICAgICAgLy8gdmFyaWF0aW9uc1xuICAgICAgICAgICAgICAgIHZpZXcsXG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICByZWFkT25seSA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBjbGVhciA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIG9wdGlvbmFsLFxuICAgICAgICAgICAgICAgIG9wdGlvbmFsVGV4dCA9ICdvcHRpb25hbCcsXG4gICAgICAgICAgICAgICAgaGFzRGl2aWRlcixcblxuICAgICAgICAgICAgICAgIC8vIGNvbnRyb2xsZWRcbiAgICAgICAgICAgICAgICB2YWx1ZTogb3V0ZXJWYWx1ZSxcbiAgICAgICAgICAgICAgICBjaGlwczogdmFsdWVzLFxuICAgICAgICAgICAgICAgIGNoaXBUeXBlID0gJ2RlZmF1bHQnLFxuXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9jaGlwcyxcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgX2NoaXBDbGlja0FyZWEsXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9vbkNoaXBDbG9zZUNsaWNrLFxuXG4gICAgICAgICAgICAgICAgLy8gZXZlbnRzXG4gICAgICAgICAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgICAgICAgICAgb25DaGFuZ2VDaGlwcyxcbiAgICAgICAgICAgICAgICBvblNlYXJjaCxcbiAgICAgICAgICAgICAgICBvbktleURvd24sXG4gICAgICAgICAgICAgICAgb25Gb2N1cyxcbiAgICAgICAgICAgICAgICBvbkJsdXIsXG4gICAgICAgICAgICAgICAgb25QYXN0ZSxcblxuICAgICAgICAgICAgICAgIC8vINCf0YDQvtC/0YHRiyDQtNC70Y8g0LLQvdGD0YLRgNC10L3QvdC10LPQviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjywg0L3QtSDQvtGC0LTQsNC10YLRgdGPINC90LDRgNGD0LbRgy5cbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgX29uRW50ZXJEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgX2ZvcmNlQ2hpcE1hbmlwdWxhdGlvbldpdGhSZWFkb25seSxcblxuICAgICAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWYsXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dENvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0Rm9ya1JlZiA9IHVzZUZvcmtSZWYoaW5wdXRSZWYsIHJlZik7XG4gICAgICAgICAgICBjb25zdCBjaGlwc1JlZnMgPSB1c2VSZWY8QXJyYXk8SFRNTEJ1dHRvbkVsZW1lbnQ+PihbXSk7XG4gICAgICAgICAgICBjb25zdCBoaW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICAgICAgICAgICAgY29uc3QgY29udHJvbGxlZFJlZnMgPSB7IGNvbnRlbnRSZWYsIGlucHV0UmVmLCBjaGlwc1JlZnMgfTtcblxuICAgICAgICAgICAgY29uc3QgW2hhc1ZhbHVlLCBzZXRIYXNWYWx1ZV0gPSB1c2VTdGF0ZShcbiAgICAgICAgICAgICAgICBCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSB8fCBCb29sZWFuKHJlc3Q/LmRlZmF1bHRWYWx1ZSksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgW2hhc0ZvY3VzLCBzZXRIYXNGb2N1c10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IFtjaGlwcywgc2V0Q2hpcHNdID0gdXNlU3RhdGU8QXJyYXk8Q2hpcFZhbHVlcz4+KFtdKTtcbiAgICAgICAgICAgIGNvbnN0IFtpc0hpbnRWaXNpYmxlLCBzZXRJc0hpbnRWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgICAgICAgICAgY29uc3QgdW5pcUlkID0gc2FmZVVzZUlkKCk7XG4gICAgICAgICAgICBjb25zdCBpbm5lcklkID0gaWQgfHwgdW5pcUlkO1xuICAgICAgICAgICAgY29uc3QgbGFiZWxJZCA9IHNhZmVVc2VJZCgpO1xuICAgICAgICAgICAgY29uc3QgaGVscGVyVGV4dElkID0gc2FmZVVzZUlkKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGlzRGVmYXVsdFZpZXcgPSB2aWV3ID09PSAnZGVmYXVsdCcgfHwgcmVhZE9ubHkgfHwgZGlzYWJsZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGlzQ2hpcEVudW1lcmF0aW9uID0gZW51bWVyYXRpb25UeXBlID09PSAnY2hpcCc7XG4gICAgICAgICAgICBjb25zdCBpc0NoaXBzVmlzaWJsZSA9IGlzQ2hpcEVudW1lcmF0aW9uICYmIEJvb2xlYW4oY2hpcHM/Lmxlbmd0aCB8fCBfY2hpcHM/Lmxlbmd0aCk7XG4gICAgICAgICAgICBjb25zdCB3aXRoSGFzQ2hpcHMgPSBpc0NoaXBzVmlzaWJsZSA/IGNsYXNzZXMuaGFzQ2hpcHMgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhc0xhYmVsVmFsdWUgPSBCb29sZWFuKGxhYmVsKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc0lubmVyTGFiZWwgPSBzaXplICE9PSAneHMnICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmICFpc0NoaXBzVmlzaWJsZSAmJiBoYXNMYWJlbFZhbHVlO1xuICAgICAgICAgICAgY29uc3QgaGFzT3V0ZXJMYWJlbCA9IGxhYmVsUGxhY2VtZW50ID09PSAnb3V0ZXInICYmIGhhc0xhYmVsVmFsdWU7XG4gICAgICAgICAgICBjb25zdCBpbm5lcktlZXBQbGFjZWhvbGRlciA9IGtlZXBQbGFjZWhvbGRlciAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJztcbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyID0gQm9vbGVhbihwbGFjZWhvbGRlcikgJiYgKGlubmVyS2VlcFBsYWNlaG9sZGVyIHx8ICFoYXNJbm5lckxhYmVsKTtcbiAgICAgICAgICAgIGxldCBoYXNUZXh0QWZ0ZXIgPSBCb29sZWFuKHRleHRBZnRlcik7XG4gICAgICAgICAgICBsZXQgaGFzVGV4dEJlZm9yZSA9IHRleHRCZWZvcmUgJiYgIWlzQ2hpcEVudW1lcmF0aW9uO1xuICAgICAgICAgICAgaWYgKGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFoYXNWYWx1ZSAmJiAhaGFzUGxhY2Vob2xkZXIgJiYgIWhhc0ZvY3VzKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc1RleHRBZnRlciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBoYXNUZXh0QmVmb3JlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlclBhZGRpbmcgPSBoYXNJbm5lckxhYmVsICYmIGtlZXBQbGFjZWhvbGRlciAmJiBzaXplICE9PSAneHMnO1xuXG4gICAgICAgICAgICBjb25zdCBpbm5lckxhYmVsVmFsdWUgPSBoYXNJbm5lckxhYmVsIHx8IGhhc091dGVyTGFiZWwgPyBsYWJlbCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGlubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZSA9IGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmICFoYXNJbm5lckxhYmVsID8gdW5kZWZpbmVkIDogbGFiZWxQbGFjZW1lbnQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyUGxhY2Vob2xkZXJWYWx1ZSA9IGhhc1BsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBwbGFjZWhvbGRlclNob3duID0gQm9vbGVhbihpbm5lclBsYWNlaG9sZGVyVmFsdWUpICYmICFoYXNWYWx1ZTtcblxuICAgICAgICAgICAgY29uc3QgY2xlYXJDbGFzcyA9IGNsZWFyID8gY2xhc3Nlcy5jbGVhciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc0RpdmlkZXJDbGFzcyA9IGhhc0RpdmlkZXIgPyBjbGFzc2VzLmhhc0RpdmlkZXIgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNJbm5lckhpbnRDbGFzcyA9IGhpbnRUZXh0ICYmIGhpbnRUYXJnZXRQbGFjZW1lbnQgPT09ICdvdXRlcicgPyBjbGFzc2VzLmhhc0hpbnQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNIaW50Q2xhc3MgPSBoaW50VGV4dCA/IGNsYXNzZXMuaGFzSGludCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MgPSByZXF1aXJlZFBsYWNlbWVudCA9PT0gJ3JpZ2h0JyA/IGNsYXNzZXMucmVxdWlyZWRBbGlnblJpZ2h0IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgbGFiZWxQbGFjZW1lbnRDbGFzcyA9IGlubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZVxuICAgICAgICAgICAgICAgID8gY2xhc3Nlc1tgJHtpbm5lckxhYmVsUGxhY2VtZW50VmFsdWV9TGFiZWxQbGFjZW1lbnRgIGFzIGtleW9mIHR5cGVvZiBjbGFzc2VzXVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzVmFsdWVDbGFzcyA9IGhhc1ZhbHVlID8gY2xhc3Nlcy5oYXNWYWx1ZSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGtlZXBQbGFjZWhvbGRlckNsYXNzID0gaGFzUGxhY2Vob2xkZXIgJiYgcGxhY2Vob2xkZXJTaG93biAmJiBjbGFzc2VzLmtlZXBQbGFjZWhvbGRlcjtcblxuICAgICAgICAgICAgY29uc3Qgd3JhcHBlcldpdGhvdXRMZWZ0Q29udGVudCA9XG4gICAgICAgICAgICAgICAgIWNvbnRlbnRMZWZ0ICYmIGlzQ2hpcHNWaXNpYmxlICYmIGNoaXBUeXBlID09PSAnZGVmYXVsdCcgPyBjbGFzc2VzLmhhc0VtcHR5Q29udGVudExlZnQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCB3cmFwcGVyV2l0aG91dFJpZ2h0Q29udGVudCA9XG4gICAgICAgICAgICAgICAgIWNvbnRlbnRSaWdodCAmJiBpc0NoaXBzVmlzaWJsZSAmJiBjaGlwVHlwZSA9PT0gJ2RlZmF1bHQnID8gY2xhc3Nlcy5oYXNFbXB0eUNvbnRlbnRSaWdodCA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgY29udGVudFJpZ2h0Q29tcGVuc2F0aW9uTWFyZ2luID1cbiAgICAgICAgICAgICAgICAhaGFzT3V0ZXJMYWJlbCAmJiBoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnaW5uZXInXG4gICAgICAgICAgICAgICAgICAgID8gY2xhc3Nlcy5jb250ZW50UmlnaHRDb21wZW5zYXRpb25NYXJnaW5cbiAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIHVzZU91dHNpZGVDbGljaygoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNIaW50VmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgICB9LCBbaGludFJlZl0pO1xuXG4gICAgICAgICAgICBjb25zdCBoaW50SW5uZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaGludEZvcmtSZWYgPSB1c2VGb3JrUmVmKGhpbnRSZWYsIGhpbnRJbm5lclJlZik7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUlucHV0OiBGb3JtRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKHZhbHVlKSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVGb2N1cyA9IChldmVudDogUmVhY3QuRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc0ZvY3VzKHRydWUpO1xuICAgICAgICAgICAgICAgIG9uRm9jdXM/LihldmVudCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVCbHVyID0gKGV2ZW50OiBSZWFjdC5Gb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzRm9jdXMoZmFsc2UpO1xuICAgICAgICAgICAgICAgIG9uQmx1cj8uKGV2ZW50KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUhpbnRTaG93ID0gKCkgPT4gc2V0SXNIaW50VmlzaWJsZSh0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUhpbnRIaWRlID0gKCkgPT4gc2V0SXNIaW50VmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVIaW50Q2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFoaW50VGV4dCB8fCBoaW50VHJpZ2dlciAhPT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0SXNQb3BvdmVyID0gZXZlbnQudGFyZ2V0ID09PSBoaW50SW5uZXJSZWYuY3VycmVudDtcbiAgICAgICAgICAgICAgICBjb25zdCByb290SGFzVGFyZ2V0ID0gaGludElubmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIGlmICghdGFyZ2V0SXNQb3BvdmVyICYmICFyb290SGFzVGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHNldElzSGludFZpc2libGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQgfHwgcmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHsgbWF4TGVuZ3RoLCB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgICAgICAgICAgaWYgKG1heExlbmd0aCAhPT0gLTEgJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2UoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChoYXNUZXh0QWZ0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gZ2V0SW5wdXRXaWR0aChldmVudC5jdXJyZW50VGFyZ2V0LCBpbnB1dENvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS53aWR0aCA9IGAke3RleHRXaWR0aH1weGA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlUGFzdGU6IENsaXBib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZCB8fCByZWFkT25seSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG9uUGFzdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgb25QYXN0ZShldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGhhc1RleHRBZnRlcikge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gZ2V0SW5wdXRXaWR0aChpbnB1dFJlZi5jdXJyZW50LCBpbnB1dENvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuc3R5bGUud2lkdGggPSBgJHt0ZXh0V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVDaGlwcyA9IChuZXdDaGlwczogQXJyYXk8Q2hpcFZhbHVlcz4sIG5ld1ZhbHVlczogQXJyYXk8VGV4dEZpZWxkUHJpbWl0aXZlVmFsdWU+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0Q2hpcHMobmV3Q2hpcHMpO1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHM/LihuZXdWYWx1ZXMpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgeyBoYW5kbGVJbnB1dEtleWRvd24sIGhhbmRsZUNoaXBLZXlEb3duLCBvbkNoaXBDbGVhciwgaGFuZGxlQ29udGVudEtleURvd24gfSA9IHVzZUtleU5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgIGNvbnRyb2xsZWRSZWZzLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgICAgIGNoaXBzLFxuICAgICAgICAgICAgICAgIG5ld0N1c3RvbUNoaXBzOiBfY2hpcHMsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlLFxuICAgICAgICAgICAgICAgIHVwZGF0ZUNoaXBzLFxuICAgICAgICAgICAgICAgIG9uU2VhcmNoLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgICAgIG9uRW50ZXJEaXNhYmxlZDogX29uRW50ZXJEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICBvbkNoaXBDbG9zZUNsaWNrOiBfb25DaGlwQ2xvc2VDbGljayxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBvbkNoaXBDbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVJbnB1dEZvY3VzID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZWFkT25seSB8fCBkaXNhYmxlZCB8fCAhaW5wdXRSZWY/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGlucHV0UmVmLmN1cnJlbnQub2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgZ2V0UmVmID0gKGVsZW1lbnQ6IEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50ICYmIGNoaXBzUmVmcz8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjaGlwc1JlZnMuY3VycmVudFtpbmRleF0gPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZU9uS2V5RG93biA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gJiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlSW5wdXRLZXlkb3duKGV2ZW50KTtcblxuICAgICAgICAgICAgICAgIGlmIChvbktleURvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChoYXNUZXh0QWZ0ZXIgJiYgaW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0V2lkdGggPSBnZXRJbnB1dFdpZHRoKGlucHV0UmVmLmN1cnJlbnQsIGlucHV0Q29udGFpbmVyUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnN0eWxlLndpZHRoID0gYCR7dGV4dFdpZHRofXB4YDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50Py5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnd2lkdGgnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBbaGFzVGV4dEFmdGVyLCBvdXRlclZhbHVlXSk7XG5cbiAgICAgICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc0NoaXBFbnVtZXJhdGlvbiAmJiAhdmFsdWVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NoaXBzID1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzPy5tYXAoKHZhbHVlLCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBgJHtpbmRleH1fJHt2YWx1ZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIH0pKSB8fCBbXTtcblxuICAgICAgICAgICAgICAgIHNldENoaXBzKG5ld0NoaXBzKTtcbiAgICAgICAgICAgIH0sIFtpc0NoaXBFbnVtZXJhdGlvbiwgdmFsdWVzXSk7XG5cbiAgICAgICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzVmFsdWUoQm9vbGVhbihyZXN0Py5kZWZhdWx0VmFsdWUpKTtcbiAgICAgICAgICAgIH0sIFtyZXN0LmRlZmF1bHRWYWx1ZV0pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc1ZhbHVlKEJvb2xlYW4ob3V0ZXJWYWx1ZSkgfHwgQm9vbGVhbihpbnB1dFJlZj8uY3VycmVudD8udmFsdWUpKTtcbiAgICAgICAgICAgIH0sIFtvdXRlclZhbHVlLCBpbnB1dFJlZj8uY3VycmVudD8udmFsdWVdKTtcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IEJvb2xlYW4ocmVxdWlyZWQgPyBmYWxzZSA6IG9wdGlvbmFsKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPSBpbm5lck9wdGlvbmFsICYmICFpbm5lckxhYmVsVmFsdWUgJiYgIWhhc091dGVyTGFiZWw7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25hbFRleHROb2RlID0gaW5uZXJPcHRpb25hbCA/IChcbiAgICAgICAgICAgICAgICA8U3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgICAgICAgICB7Qm9vbGVhbihoYXNQbGFjZWhvbGRlck9wdGlvbmFsID8gaW5uZXJQbGFjZWhvbGRlclZhbHVlIDogaW5uZXJMYWJlbFZhbHVlKSAmJiAnXFx4YTAnfVxuICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0fVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgKSA6IG51bGw7XG5cbiAgICAgICAgICAgIGNvbnN0IGNsYXNzVGV4dEVsbGlwc2lzID1cbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgICAgICAgICAgICAgICEocmVzdCBhcyBhbnkpLl90ZXh0RWxsaXBzaXNEaXNhYmxlICYmICF0ZXh0QWZ0ZXIgPyBjbGFzc2VzLmlucHV0VGV4dEVsbGlwc2lzIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxSb290XG4gICAgICAgICAgICAgICAgICAgIHZpZXc9e3ZpZXd9XG4gICAgICAgICAgICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9eyFkaXNhYmxlZCAmJiByZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQ9e2lubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlSW5wdXRGb2N1c31cbiAgICAgICAgICAgICAgICAgICAgZGF0YS1yb290XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0RpdmlkZXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0lubmVySGludENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy50ZXh0RmllbGRHcm91cEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICAgICAgICAgICAgey4uLihoaW50VGV4dCAmJiB7IGhpbnRWaWV3LCBoaW50U2l6ZSB9KX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsoaGFzT3V0ZXJMYWJlbCB8fCB0aXRsZUNhcHRpb24pICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxPdXRlckxhYmVsV3JhcHBlciBpc0lubmVyTGFiZWw9e2xhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzT3V0ZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbmRpY2F0b3JXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBodG1sRm9yPXtpZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyTGFiZWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoaW50VGV4dCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGludENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtoaW50Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUZXh0PXtoaW50VGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyPXtoaW50VHJpZ2dlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSGludFZpc2libGU9e2lzSGludFZpc2libGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbj17aGludFRhcmdldEljb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50PXtoaW50UGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludEhhc0Fycm93PXtoaW50SGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50T2Zmc2V0PXtoaW50T2Zmc2V0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFdpZHRoPXtoaW50V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50Q29udGVudExlZnQ9e2hpbnRDb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRTaG93PXtoYW5kbGVIaW50U2hvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSGludFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIGhhc1JlcXVpcmVkSW5kaWNhdG9yICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLm91dGVyTGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzSGludENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSW5kaWNhdG9yV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0aXRsZUNhcHRpb24gJiYgPFRpdGxlQ2FwdGlvbiBkYXRhLXJvb3Q+e3RpdGxlQ2FwdGlvbn08L1RpdGxlQ2FwdGlvbj59XG4gICAgICAgICAgICAgICAgICAgICAgICA8L091dGVyTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgICAgICAgIDxJbnB1dFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlZiDQtNC70Y8g0LLQvdGD0YLRgNC10L3QvdC10LPQviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjy4g0J3QtSDQvtGC0LTQsNC10YLRgdGPINC90LDRgNGD0LbRgy5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17KHJlc3QgYXMgYW55KS5pbnB1dFdyYXBwZXJSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiAjMTU0NCwg0Lgg0L/QvtGB0LvQtSDRg9Cx0YDQsNGC0YwgY2xhc3Nlcy5pbnB1dFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEhhc0NoaXBzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JhcHBlcldpdGhvdXRSaWdodENvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5pbnB1dFdyYXBwZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiBoYXNSZXF1aXJlZEluZGljYXRvciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChjbGFzc2VzLmlubmVyTGFiZWxQbGFjZW1lbnQsIHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hpbnRUZXh0ICYmIGhpbnRUYXJnZXRQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhpbnRXcmFwcGVyIGNsYXNzTmFtZT17Y2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGludENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2hpbnRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyPXtoaW50VHJpZ2dlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNIaW50VmlzaWJsZT17aXNIaW50VmlzaWJsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50PXtoaW50UGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3c9e2hpbnRIYXNBcnJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFdpZHRoPXtoaW50V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdD17aGludENvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludENsaWNrPXtoYW5kbGVIaW50Q2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSW5uZXJMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50TGVmdCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRMZWZ0IGRhdGEtcm9vdCBpc0NsZWFyPXtjbGVhcn0gaXNEZWZhdWx0Vmlldz17aXNEZWZhdWx0Vmlld30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZENvbnRlbnRMZWZ0PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dExhYmVsV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2NvbnRlbnRSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVDb250ZW50S2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KHdpdGhIYXNDaGlwcywgY2xhc3Nlcy5pbnB1dFNjcm9sbGFibGVXcmFwcGVyKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Qm9vbGVhbih0ZXh0QmVmb3JlICYmIGlzQ2hpcEVudW1lcmF0aW9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QmVmb3JlPnt0ZXh0QmVmb3JlfTwvU3R5bGVkVGV4dEJlZm9yZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4oX2NoaXBzPy5sZW5ndGgpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRleHRGaWVsZENoaXBOZXdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaXBzPXtfY2hpcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRSZWY9e2dldFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoaXBLZXlEb3duPXtoYW5kbGVDaGlwS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hpcENsZWFyPXtvbkNoaXBDbGVhcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hpcENsb3NlQ2xpY2s9e19vbkNoaXBDbG9zZUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpcENsaWNrQXJlYT17X2NoaXBDbGlja0FyZWF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3PXtjaGlwVmlldyB8fCB2aWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpcFR5cGU9e2NoaXBUeXBlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogIzE1NDdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHk9e19mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0NoaXBFbnVtZXJhdGlvbiAmJiBCb29sZWFuKGNoaXBzPy5sZW5ndGgpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENoaXBzIGNsYXNzTmFtZT17Y2xhc3Nlcy5jaGlwc1dyYXBwZXJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NoaXBzPy5tYXAoKHsgaWQ6IGNoaXBJZCwgdGV4dCB9LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25WaWV3ID0gY2hpcFZhbGlkYXRvcj8uKFN0cmluZyh0ZXh0KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzVmlldyA9IHZhbGlkYXRpb25WaWV3Py52aWV3IHx8IGNoaXBWaWV3O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRleHRGaWVsZENoaXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtjaGlwSWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhlbGVtZW50KSA9PiBnZXRSZWYoZWxlbWVudCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgJHtjaGlwSWR9XyR7aW5kZXh9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0ZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dD17dGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiBoYW5kbGVDaGlwS2V5RG93bihldmVudCwgY2hpcElkLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsZWFyPXsoKSA9PiBvbkNoaXBDbGVhcihjaGlwSWQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2hpcENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpcFR5cGU9e2NoaXBUeXBlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlldz17cmVzVmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3RXcmFwcGVyPXtSb290fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogIzE1NDdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHk9e19mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZENoaXBzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0Q29udGFpbmVyIHJlZj17aW5wdXRDb250YWluZXJSZWZ9IGhhc0R5bmFtaWNXaWR0aD17aGFzVGV4dEFmdGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1RleHRCZWZvcmUgJiYgPFN0eWxlZFRleHRCZWZvcmU+e3RleHRCZWZvcmV9PC9TdHlsZWRUZXh0QmVmb3JlPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2lucHV0Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtpbm5lcklkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e291dGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZD17ZW51bWVyYXRpb25UeXBlID09PSAnY2hpcCcgPyBjaGlwcy5sZW5ndGggPT09IDAgJiYgcmVxdWlyZWQgOiByZXF1aXJlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17bGFiZWxJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e2hlbHBlclRleHRJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpbm5lclBsYWNlaG9sZGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc1ZhbHVlQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2VlcFBsYWNlaG9sZGVyQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NUZXh0RWxsaXBzaXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHkgJiYgY2xhc3Nlcy5yZWFkT25seUlucHV0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshZGlzYWJsZWQgJiYgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbklucHV0PXtoYW5kbGVJbnB1dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZU9uS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVCbHVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25QYXN0ZT17aGFuZGxlUGFzdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRvdXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzSW5uZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgZGF0YS1yb290IGlkPXtsYWJlbElkfSBodG1sRm9yPXtpbm5lcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5uZXJMYWJlbFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyU2hvd24gJiYgIWhhc1ZhbHVlICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFBsYWNlaG9sZGVyIGhhc1BhZGRpbmc9e2hhc1BsYWNlaG9sZGVyUGFkZGluZ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1RleHRCZWZvcmUgJiYgPFN0eWxlZFRleHRCZWZvcmUgaXNIaWRkZW4+e3RleHRCZWZvcmV9PC9TdHlsZWRUZXh0QmVmb3JlPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5uZXJQbGFjZWhvbGRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNQbGFjZWhvbGRlck9wdGlvbmFsICYmIG9wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0UGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNUZXh0QWZ0ZXIgJiYgPFN0eWxlZFRleHRBZnRlcj57dGV4dEFmdGVyfTwvU3R5bGVkVGV4dEFmdGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDb250ZW50UmlnaHRXcmFwcGVyIGNsYXNzTmFtZT17Y3goY29udGVudFJpZ2h0Q29tcGVuc2F0aW9uTWFyZ2luKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbnRlbnRSaWdodCAmJiA8U3R5bGVkQ29udGVudFJpZ2h0IGRhdGEtcm9vdD57Y29udGVudFJpZ2h0fTwvU3R5bGVkQ29udGVudFJpZ2h0Pn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHshaGFzT3V0ZXJMYWJlbCAmJiBoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnaW5uZXInICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aGludEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0hpbnRWaXNpYmxlPXtpc0hpbnRWaXNpYmxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdz17aGludEhhc0Fycm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0PXtoaW50Q29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludFNob3c9e2hhbmRsZUhpbnRTaG93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludEhpZGU9e2hhbmRsZUhpbnRIaWRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludENsaWNrPXtoYW5kbGVIaW50Q2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0lubmVyTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRDb250ZW50UmlnaHRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICA8L0lucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge2xlZnRIZWxwZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPExlZnRIZWxwZXIgZGF0YS1yb290IGlkPXtoZWxwZXJUZXh0SWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtsZWZ0SGVscGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9MZWZ0SGVscGVyPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvUm9vdD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgKTtcblxuZXhwb3J0IGNvbnN0IHRleHRGaWVsZENvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEZpZWxkJyxcbiAgICB0YWc6ICdkaXYnLFxuICAgIGxheW91dDogdGV4dEZpZWxkUm9vdCxcbiAgICBiYXNlLFxuICAgIHZhcmlhdGlvbnM6IHtcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICBjc3M6IHNpemVDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGNsZWFyOiB7XG4gICAgICAgICAgICBjc3M6IGNsZWFyQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICBjc3M6IGRpc2FibGVkQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlYWRPbmx5OiB7XG4gICAgICAgICAgICBjc3M6IHJlYWRPbmx5Q1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsUGxhY2VtZW50OiB7XG4gICAgICAgICAgICBjc3M6IGxhYmVsUGxhY2VtZW50Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBoaW50Vmlldzoge1xuICAgICAgICAgICAgY3NzOiBoaW50Vmlld0NTUyxcbiAgICAgICAgfSxcbiAgICAgICAgaGludFNpemU6IHtcbiAgICAgICAgICAgIGNzczogaGludFNpemVDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGNoaXBWaWV3OiB7XG4gICAgICAgICAgICBjc3M6IGNoaXBWaWV3Q1NTLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgZGVmYXVsdHM6IHtcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgICAgICB2aWV3OiAnZGVmYXVsdCcsXG4gICAgfSxcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0RvQiJ9 */");
|
|
124
123
|
var HINT_DEFAULT_OFFSET = [
|
|
125
124
|
0,
|
|
126
125
|
0
|
|
@@ -130,7 +129,7 @@ export var textFieldRoot = function(Root) {
|
|
|
130
129
|
var id = _param.id, className = _param.className, style = _param.style, // layout
|
|
131
130
|
contentLeft = _param.contentLeft, contentRight = _param.contentRight, label = _param.label, labelPlacement = _param.labelPlacement, keepPlaceholder = _param.keepPlaceholder, textBefore = _param.textBefore, textAfter = _param.textAfter, placeholder = _param.placeholder, leftHelper = _param.leftHelper, _param_enumerationType = _param.enumerationType, enumerationType = _param_enumerationType === void 0 ? 'plain' : _param_enumerationType, _param_requiredPlacement = _param.requiredPlacement, requiredPlacement = _param_requiredPlacement === void 0 ? 'right' : _param_requiredPlacement, _param_hasRequiredIndicator = _param.hasRequiredIndicator, hasRequiredIndicator = _param_hasRequiredIndicator === void 0 ? true : _param_hasRequiredIndicator, titleCaption = _param.titleCaption, _param_chipView = _param.chipView, chipView = _param_chipView === void 0 ? 'default' : _param_chipView, chipValidator = _param.chipValidator, _param_hintTrigger = _param.// hint
|
|
132
131
|
hintTrigger, hintTrigger = _param_hintTrigger === void 0 ? 'hover' : _param_hintTrigger, hintText = _param.hintText, _param_hintView = _param.hintView, hintView = _param_hintView === void 0 ? 'default' : _param_hintView, _param_hintSize = _param.hintSize, hintSize = _param_hintSize === void 0 ? 'm' : _param_hintSize, hintTargetIcon = _param.hintTargetIcon, _param_hintTargetPlacement = _param.hintTargetPlacement, hintTargetPlacement = _param_hintTargetPlacement === void 0 ? 'outer' : _param_hintTargetPlacement, _param_hintPlacement = _param.hintPlacement, hintPlacement = _param_hintPlacement === void 0 ? 'auto' : _param_hintPlacement, hintHasArrow = _param.hintHasArrow, _param_hintOffset = _param.hintOffset, hintOffset = _param_hintOffset === void 0 ? HINT_DEFAULT_OFFSET : _param_hintOffset, hintWidth = _param.hintWidth, hintContentLeft = _param.hintContentLeft, // variations
|
|
133
|
-
view = _param.view, size = _param.size, _param_readOnly = _param.readOnly, readOnly = _param_readOnly === void 0 ? false : _param_readOnly, _param_disabled = _param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, _param_required = _param.required, required = _param_required === void 0 ? false : _param_required, _param_clear = _param.clear, clear = _param_clear === void 0 ? false : _param_clear, optional = _param.optional, hasDivider = _param.hasDivider, // controlled
|
|
132
|
+
view = _param.view, size = _param.size, _param_readOnly = _param.readOnly, readOnly = _param_readOnly === void 0 ? false : _param_readOnly, _param_disabled = _param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, _param_required = _param.required, required = _param_required === void 0 ? false : _param_required, _param_clear = _param.clear, clear = _param_clear === void 0 ? false : _param_clear, optional = _param.optional, _param_optionalText = _param.optionalText, optionalText = _param_optionalText === void 0 ? 'optional' : _param_optionalText, hasDivider = _param.hasDivider, // controlled
|
|
134
133
|
outerValue = _param.value, values = _param.chips, _param_chipType = _param.chipType, chipType = _param_chipType === void 0 ? 'default' : _param_chipType, // @ts-ignore
|
|
135
134
|
_chips = _param._chips, // @ts-ignore
|
|
136
135
|
_chipClickArea = _param._chipClickArea, // @ts-ignore
|
|
@@ -175,6 +174,7 @@ export var textFieldRoot = function(Root) {
|
|
|
175
174
|
"required",
|
|
176
175
|
"clear",
|
|
177
176
|
"optional",
|
|
177
|
+
"optionalText",
|
|
178
178
|
"hasDivider",
|
|
179
179
|
"value",
|
|
180
180
|
"chips",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { component, mergeConfig } from "../../../engines";
|
|
2
|
-
import { comboboxNewConfig } from "../../..";
|
|
3
|
-
import { config } from "./Combobox.config";
|
|
4
|
-
var mergedConfig = mergeConfig(comboboxNewConfig, config);
|
|
5
|
-
var ComboboxComponent = component(mergedConfig);
|
|
6
|
-
var Combobox = ComboboxComponent;
|
|
7
|
-
export { Combobox };
|
|
@@ -57,7 +57,7 @@ var DateStructureItem = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function (_ref
|
|
|
57
57
|
var eventNodes = (eventList === null || eventList === void 0 ? void 0 : eventList.map(function (_ref2) {
|
|
58
58
|
var eventInfo = _ref2.eventInfo;
|
|
59
59
|
return eventInfo;
|
|
60
|
-
})) || [];
|
|
60
|
+
}).filter(Boolean)) || [];
|
|
61
61
|
onTriggerEventTooltip(structureRef, eventNodes);
|
|
62
62
|
}
|
|
63
63
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateStructureItem.js","sources":["../../../../../src/components/Calendar/ui/DateStructureItem/DateStructureItem.tsx"],"sourcesContent":["import React, { forwardRef, memo, useRef } from 'react';\nimport type { MouseEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { cx } from '../../../../utils';\nimport { classes } from '../../Calendar.tokens';\n\nimport type { DateStructureItemProps } from './DateStructureItem.types';\nimport { StyledItem, StyledItemRoot, StyledEvent, StyledEvents } from './DateStructureItem.styles';\n\n/**\n * Компонент элемента даты в сетке календаря.\n */\nexport const DateStructureItem = memo(\n forwardRef<HTMLDivElement, DateStructureItemProps>(\n (\n {\n children,\n isFocused,\n dayOfWeek,\n disabled,\n isCurrent,\n isSelected,\n isDayInCurrentMonth,\n isDouble,\n inRange,\n isHovered,\n sideInRange,\n eventList = [],\n day,\n monthIndex,\n year,\n onClick,\n onMouseOver,\n onTriggerEventTooltip,\n onFocus,\n disabledArrowKey,\n disabledMonths,\n ...rest\n },\n outerRef,\n ) => {\n const structureRef = useRef<HTMLDivElement | null>(null);\n const innerRef = useForkRef(outerRef, structureRef);\n\n const selectableClass = !dayOfWeek && !disabled ? classes.selectableItem : undefined;\n const selectedClass = isDayInCurrentMonth && isSelected ? classes.selectedItem : undefined;\n const currentClass = isDayInCurrentMonth && isCurrent ? classes.currentItem : undefined;\n const hoveredClass = isDayInCurrentMonth && isHovered ? classes.hoveredItem : undefined;\n const dayOfWeekClass = dayOfWeek ? classes.dayOfWeek : undefined;\n const dayInCurrentMonthClass = isDayInCurrentMonth ? classes.dayInCurrentMonth : undefined;\n const disabledClass = disabled && !isCurrent ? classes.disabled : undefined;\n const disabledCurrentClass = disabled && isCurrent ? classes.disabledCurrent : undefined;\n const sideInRangeLeft = isDayInCurrentMonth && sideInRange === 'left' ? classes.sideLeft : undefined;\n const sideInRangeRight = isDayInCurrentMonth && sideInRange === 'right' ? classes.sideRight : undefined;\n const sideInRangeClass = isDayInCurrentMonth && sideInRange ? classes.sideInRange : undefined;\n const inRangeStyle = isDayInCurrentMonth && inRange ? classes.inRange : undefined;\n const sideOffset = !isSelected && isCurrent ? -1 : 0;\n\n const handleMouseOver = (event: MouseEvent<HTMLDivElement>) => {\n if (onMouseOver) {\n onMouseOver(event);\n }\n\n if (onTriggerEventTooltip) {\n const eventNodes = eventList?.map(({ eventInfo }) => eventInfo) || [];\n\n onTriggerEventTooltip(structureRef, eventNodes);\n }\n };\n\n return (\n <StyledItemRoot\n ref={innerRef}\n className={cx(\n disabledClass,\n disabledCurrentClass,\n dayOfWeekClass,\n selectableClass,\n selectedClass,\n currentClass,\n hoveredClass,\n dayInCurrentMonthClass,\n )}\n tabIndex={isFocused ? 0 : -1}\n dayOfWeek={dayOfWeek}\n isCurrent={isCurrent}\n isSelected={isSelected}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isHovered}\n sideInRange={sideInRange}\n onClick={disabled ? undefined : onClick}\n onMouseOver={handleMouseOver}\n onFocus={onFocus}\n data-day={day}\n data-month-index={monthIndex}\n data-year={year}\n data-disabled-arrow-key={disabledArrowKey || undefined}\n data-disabled-months={disabledMonths || undefined}\n aria-selected={isSelected}\n aria-disabled={disabled}\n aria-describedby={disabled ? 'withShift' : undefined}\n {...rest}\n >\n <StyledItem\n className={cx(sideInRangeClass, sideInRangeLeft, sideInRangeRight, inRangeStyle)}\n offset={sideOffset}\n >\n {children}\n </StyledItem>\n <StyledEvents aria-hidden>\n {[eventList[0], eventList[1], eventList[2]].map(\n (event, i) => event && <StyledEvent key={`${event.date}-${i}`} color={event.color} />,\n )}\n </StyledEvents>\n </StyledItemRoot>\n );\n },\n ),\n);\n"],"names":["DateStructureItem","memo","forwardRef","_ref","outerRef","children","isFocused","dayOfWeek","disabled","isCurrent","isSelected","isDayInCurrentMonth","isDouble","inRange","isHovered","sideInRange","_ref$eventList","eventList","day","monthIndex","year","onClick","onMouseOver","onTriggerEventTooltip","onFocus","disabledArrowKey","disabledMonths","rest","_objectWithoutProperties","_excluded","structureRef","useRef","innerRef","useForkRef","selectableClass","classes","selectableItem","undefined","selectedClass","selectedItem","currentClass","currentItem","hoveredClass","hoveredItem","dayOfWeekClass","dayInCurrentMonthClass","dayInCurrentMonth","disabledClass","disabledCurrentClass","disabledCurrent","sideInRangeLeft","sideLeft","sideInRangeRight","sideRight","sideInRangeClass","inRangeStyle","sideOffset","handleMouseOver","event","eventNodes","map","_ref2","eventInfo","React","createElement","StyledItemRoot","_extends","ref","className","cx","tabIndex","StyledItem","offset","StyledEvents","i","StyledEvent","key","concat","date","color"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateStructureItem.js","sources":["../../../../../src/components/Calendar/ui/DateStructureItem/DateStructureItem.tsx"],"sourcesContent":["import React, { forwardRef, memo, useRef } from 'react';\nimport type { MouseEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { cx } from '../../../../utils';\nimport { classes } from '../../Calendar.tokens';\n\nimport type { DateStructureItemProps } from './DateStructureItem.types';\nimport { StyledItem, StyledItemRoot, StyledEvent, StyledEvents } from './DateStructureItem.styles';\n\n/**\n * Компонент элемента даты в сетке календаря.\n */\nexport const DateStructureItem = memo(\n forwardRef<HTMLDivElement, DateStructureItemProps>(\n (\n {\n children,\n isFocused,\n dayOfWeek,\n disabled,\n isCurrent,\n isSelected,\n isDayInCurrentMonth,\n isDouble,\n inRange,\n isHovered,\n sideInRange,\n eventList = [],\n day,\n monthIndex,\n year,\n onClick,\n onMouseOver,\n onTriggerEventTooltip,\n onFocus,\n disabledArrowKey,\n disabledMonths,\n ...rest\n },\n outerRef,\n ) => {\n const structureRef = useRef<HTMLDivElement | null>(null);\n const innerRef = useForkRef(outerRef, structureRef);\n\n const selectableClass = !dayOfWeek && !disabled ? classes.selectableItem : undefined;\n const selectedClass = isDayInCurrentMonth && isSelected ? classes.selectedItem : undefined;\n const currentClass = isDayInCurrentMonth && isCurrent ? classes.currentItem : undefined;\n const hoveredClass = isDayInCurrentMonth && isHovered ? classes.hoveredItem : undefined;\n const dayOfWeekClass = dayOfWeek ? classes.dayOfWeek : undefined;\n const dayInCurrentMonthClass = isDayInCurrentMonth ? classes.dayInCurrentMonth : undefined;\n const disabledClass = disabled && !isCurrent ? classes.disabled : undefined;\n const disabledCurrentClass = disabled && isCurrent ? classes.disabledCurrent : undefined;\n const sideInRangeLeft = isDayInCurrentMonth && sideInRange === 'left' ? classes.sideLeft : undefined;\n const sideInRangeRight = isDayInCurrentMonth && sideInRange === 'right' ? classes.sideRight : undefined;\n const sideInRangeClass = isDayInCurrentMonth && sideInRange ? classes.sideInRange : undefined;\n const inRangeStyle = isDayInCurrentMonth && inRange ? classes.inRange : undefined;\n const sideOffset = !isSelected && isCurrent ? -1 : 0;\n\n const handleMouseOver = (event: MouseEvent<HTMLDivElement>) => {\n if (onMouseOver) {\n onMouseOver(event);\n }\n\n if (onTriggerEventTooltip) {\n const eventNodes = eventList?.map(({ eventInfo }) => eventInfo).filter(Boolean) || [];\n\n onTriggerEventTooltip(structureRef, eventNodes);\n }\n };\n\n return (\n <StyledItemRoot\n ref={innerRef}\n className={cx(\n disabledClass,\n disabledCurrentClass,\n dayOfWeekClass,\n selectableClass,\n selectedClass,\n currentClass,\n hoveredClass,\n dayInCurrentMonthClass,\n )}\n tabIndex={isFocused ? 0 : -1}\n dayOfWeek={dayOfWeek}\n isCurrent={isCurrent}\n isSelected={isSelected}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isHovered}\n sideInRange={sideInRange}\n onClick={disabled ? undefined : onClick}\n onMouseOver={handleMouseOver}\n onFocus={onFocus}\n data-day={day}\n data-month-index={monthIndex}\n data-year={year}\n data-disabled-arrow-key={disabledArrowKey || undefined}\n data-disabled-months={disabledMonths || undefined}\n aria-selected={isSelected}\n aria-disabled={disabled}\n aria-describedby={disabled ? 'withShift' : undefined}\n {...rest}\n >\n <StyledItem\n className={cx(sideInRangeClass, sideInRangeLeft, sideInRangeRight, inRangeStyle)}\n offset={sideOffset}\n >\n {children}\n </StyledItem>\n <StyledEvents aria-hidden>\n {[eventList[0], eventList[1], eventList[2]].map(\n (event, i) => event && <StyledEvent key={`${event.date}-${i}`} color={event.color} />,\n )}\n </StyledEvents>\n </StyledItemRoot>\n );\n },\n ),\n);\n"],"names":["DateStructureItem","memo","forwardRef","_ref","outerRef","children","isFocused","dayOfWeek","disabled","isCurrent","isSelected","isDayInCurrentMonth","isDouble","inRange","isHovered","sideInRange","_ref$eventList","eventList","day","monthIndex","year","onClick","onMouseOver","onTriggerEventTooltip","onFocus","disabledArrowKey","disabledMonths","rest","_objectWithoutProperties","_excluded","structureRef","useRef","innerRef","useForkRef","selectableClass","classes","selectableItem","undefined","selectedClass","selectedItem","currentClass","currentItem","hoveredClass","hoveredItem","dayOfWeekClass","dayInCurrentMonthClass","dayInCurrentMonth","disabledClass","disabledCurrentClass","disabledCurrent","sideInRangeLeft","sideLeft","sideInRangeRight","sideRight","sideInRangeClass","inRangeStyle","sideOffset","handleMouseOver","event","eventNodes","map","_ref2","eventInfo","filter","Boolean","React","createElement","StyledItemRoot","_extends","ref","className","cx","tabIndex","StyledItem","offset","StyledEvents","i","StyledEvent","key","concat","date","color"],"mappings":"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"}
|
|
@@ -164,12 +164,6 @@ var datePickerRoot = function datePickerRoot(Root) {
|
|
|
164
164
|
return;
|
|
165
165
|
}
|
|
166
166
|
var isCalendarOpen = (event === null || event === void 0 ? void 0 : event.target) === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== keys.Escape ? true : innerOpened;
|
|
167
|
-
|
|
168
|
-
// console.log('innerDate', innerDate);
|
|
169
|
-
// if (!innerOpened && !calendarValue) {
|
|
170
|
-
// setInnerDate((prevValue) => (prevValue === undefined ? null : undefined));
|
|
171
|
-
// }
|
|
172
|
-
|
|
173
167
|
if (onToggle) {
|
|
174
168
|
onToggle(isCalendarOpen, event);
|
|
175
169
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleDate.js","sources":["../../../../src/components/DatePicker/SingleDate/SingleDate.tsx"],"sourcesContent":["import React, { forwardRef, SyntheticEvent, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport cls from 'classnames';\nimport type { KeyboardEvent, FocusEvent, MouseEvent } from 'react';\nimport type { DateInfo, DateType } from 'src/components/Calendar/Calendar.types';\nimport type { RootProps } from 'src/engines';\nimport { getPlacements, getSizeValueFromProp, noop } from 'src/utils';\n\nimport { getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport { classes } from '../DatePicker.tokens';\nimport { InputHidden, StyledCalendar } from '../DatePickerBase.styles';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { getFormattedDates } from '../utils';\n\nimport type { DatePickerProps, RootDatePickerProps } from './SingleDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as eventTooltipSizeCSS } from './variations/_tooltip-size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledInput, StyledPopover, base } from './SingleDate.styles';\n\nexport const datePickerRoot = (Root: RootProps<HTMLDivElement, RootDatePickerProps>) =>\n forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n className,\n opened = false,\n\n value: outerValue,\n defaultDate = '',\n preserveInvalidOnBlur,\n\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n required = false,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n placeholder,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n valueError,\n valueSuccess,\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventTooltipOptions,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n zIndex,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n closeAfterDateSelect = true,\n offset,\n\n calendarContainerWidth,\n calendarContainerHeight,\n stretched,\n\n onChangeValue,\n onCommitDate,\n onToggle,\n onFocus,\n onBlur,\n onChange,\n\n autoComplete,\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const innerRef = useRef<HTMLInputElement | null>(null);\n const calendarRootRef = useRef<HTMLDivElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const dateFormatDelimiter = getDateFormatDelimiter(format);\n\n const [innerDate, setInnerDate] = useState<string | DateType>(defaultDate || '');\n const dateValue = outerValue ?? innerDate;\n\n const initialValues = getFormattedDates({\n value: dateValue,\n delimiter: dateFormatDelimiter,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [correctDates, setCorrectDates] = useState({\n calendar: initialValues.originalDate,\n input: initialValues.formattedDate,\n });\n\n const calendarValue: DateType = initialValues.originalDate;\n const inputValue = initialValues.formattedDate;\n\n const calendarContainerWidthValue = calendarContainerWidth\n ? getSizeValueFromProp(calendarContainerWidth, 'rem')\n : undefined;\n const calendarContainerHeightValue = calendarContainerHeight\n ? getSizeValueFromProp(calendarContainerHeight, 'rem')\n : undefined;\n\n const {\n datePickerErrorClass,\n datePickerSuccessClass,\n handleChangeValue,\n handleCalendarPick: onCalendarPick,\n handleSearch,\n getQuarterInfo,\n updateExternalDate,\n } = useDatePicker({\n currentValue: inputValue,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n setCorrectDates,\n setInnerDate,\n dateFormatDelimiter,\n onChangeValue,\n onCommitDate,\n onChange,\n });\n\n const handleToggle = (innerOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n event?.target === inputRef?.current &&\n (event as KeyboardEvent<HTMLInputElement>).code !== keys.Escape\n ? true\n : innerOpened;\n\n // console.log('innerDate', innerDate);\n // if (!innerOpened && !calendarValue) {\n // setInnerDate((prevValue) => (prevValue === undefined ? null : undefined));\n // }\n\n if (onToggle) {\n onToggle(isCalendarOpen, event);\n\n return;\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleCalendarRootClick = (event: MouseEvent<HTMLDivElement>) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isInnerOpen && stretched && event.target === calendarRootRef?.current) {\n setIsInnerOpen(false);\n\n if (onToggle) {\n onToggle(false, event);\n }\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat,\n delimiter: dateFormatDelimiter,\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!preserveInvalidOnBlur && !calendarValue && correctDates.calendar) {\n setInnerDate(new Date(correctDates.calendar));\n if (onChangeValue) {\n onChangeValue(\n event,\n correctDates.input,\n correctDates.calendar,\n correctDates.calendar.toISOString(),\n );\n }\n\n if (onCommitDate) {\n const dateInfo = getQuarterInfo(correctDates.calendar);\n\n onCommitDate(\n correctDates.input,\n false,\n true,\n dateInfo,\n correctDates.calendar,\n correctDates.calendar.toISOString(),\n );\n }\n\n if (onChange) {\n onChange({\n target: {\n value: correctDates.input,\n originalDate: correctDates.calendar,\n isoDate: correctDates.calendar.toISOString(),\n name,\n },\n });\n }\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleCalendarPick = (date?: Date | null, dateInfo?: DateInfo) => {\n onCalendarPick(date, dateInfo);\n\n if (closeAfterDateSelect) {\n setIsInnerOpen(false);\n handleToggle(false);\n }\n };\n\n const DatePickerInput = (\n <StyledInput\n ref={inputRef}\n className={cls(datePickerErrorClass, datePickerSuccessClass)}\n value={inputValue}\n size={size}\n readOnly={readOnly}\n disabled={disabled}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onChange={handleChangeValue}\n onSearch={handleSearch}\n onFocus={onFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n autoComplete={autoComplete}\n />\n );\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useLayoutEffect(() => {\n if (!dateValue) {\n updateExternalDate(defaultDate);\n }\n }, [defaultDate, format, lang]);\n\n return (\n <Root\n view={view}\n size={size}\n className={cls(classes.datePickerRoot, className, { [classes.datePickerstretched]: stretched })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n ref={ref}\n eventTooltipSize={eventTooltipOptions?.size}\n {...rest}\n >\n <StyledPopover\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(placement, false)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={DatePickerInput}\n preventOverflow={false}\n zIndex={zIndex}\n >\n <Root\n ref={calendarRootRef}\n view={view}\n size={size}\n className={cls(classes.datePickerRoot, className, {\n [classes.datePickerstretched]: stretched,\n })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onClick={handleCalendarRootClick}\n >\n <StyledCalendar\n className={cls({ [classes.datePickerCalendarstretched]: stretched })}\n innerWidth={calendarContainerWidthValue}\n innerHeight={calendarContainerHeightValue}\n size={size}\n value={calendarValue}\n type={type}\n eventTooltipOptions={eventTooltipOptions}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n includeEdgeDates={includeEdgeDates}\n isRange={false}\n locale={lang}\n onChangeValue={handleCalendarPick}\n />\n </Root>\n </StyledPopover>\n {leftHelper && (\n <LeftHelper className={cls(datePickerErrorClass, datePickerSuccessClass)}>\n {leftHelper}\n </LeftHelper>\n )}\n <InputHidden\n type=\"hidden\"\n datatype=\"datepicker-single\"\n name={name}\n value={inputValue}\n ref={innerRef}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerConfig = {\n name: 'DatePicker',\n tag: 'div',\n layout: datePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n eventTooltipSize: {\n css: eventTooltipSizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n eventTooltipSizeCSS: 'm',\n },\n};\n"],"names":["datePickerRoot","Root","forwardRef","_ref","ref","className","_ref$opened","opened","outerValue","value","_ref$defaultDate","defaultDate","preserveInvalidOnBlur","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$required","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","placeholder","leftHelper","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","valueError","valueSuccess","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventTooltipOptions","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","zIndex","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$closeAfterDateSe","closeAfterDateSelect","offset","calendarContainerWidth","calendarContainerHeight","stretched","onChangeValue","onCommitDate","onToggle","onFocus","onBlur","onChange","autoComplete","rest","_objectWithoutProperties","_excluded","inputRef","useRef","innerRef","calendarRootRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","getDateFormatDelimiter","_useState3","_useState4","innerDate","setInnerDate","dateValue","initialValues","getFormattedDates","delimiter","_useState5","calendar","originalDate","input","formattedDate","_useState6","correctDates","setCorrectDates","calendarValue","inputValue","calendarContainerWidthValue","getSizeValueFromProp","undefined","calendarContainerHeightValue","_useDatePicker","useDatePicker","currentValue","datePickerErrorClass","datePickerSuccessClass","handleChangeValue","onCalendarPick","handleCalendarPick","handleSearch","getQuarterInfo","updateExternalDate","handleToggle","innerOpened","event","isCalendarOpen","target","current","code","keys","Escape","handleCalendarRootClick","_useKeyNavigation","useKeyNavigation","onKeyDown","handleBlur","Date","toISOString","dateInfo","isoDate","date","DatePickerInput","React","createElement","StyledInput","cls","onSearch","useEffect","prevOpen","useLayoutEffect","_extends","classes","_defineProperty","datePickerstretched","eventTooltipSize","StyledPopover","getPlacements","trigger","isFocusTrapped","preventOverflow","onClick","StyledCalendar","datePickerCalendarstretched","innerWidth","innerHeight","isRange","locale","LeftHelper","InputHidden","datatype","noop","datePickerConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","eventTooltipSizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;IAsBaA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,IAAoD,EAAA;AAAA,EAAA,oBAC/EC,UAAU,CACN,UAAAC,IAAA,EAsEIC,GAAG,EACF;AAAA,IAAA,IArEGC,SAAS,GAAAF,IAAA,CAATE,SAAS;MAAAC,WAAA,GAAAH,IAAA,CACTI,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;MAEPE,UAAU,GAAAL,IAAA,CAAjBM,KAAK;MAAAC,gBAAA,GAAAP,IAAA,CACLQ,WAAW;AAAXA,MAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;MAChBE,qBAAqB,GAAAT,IAAA,CAArBS,qBAAqB;MAErBC,KAAK,GAAAV,IAAA,CAALU,KAAK;MAAAC,mBAAA,GAAAX,IAAA,CACLY,cAAc;AAAdA,MAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,mBAAA;MACxBE,eAAe,GAAAb,IAAA,CAAfa,eAAe;MAAAC,aAAA,GAAAd,IAAA,CACfe,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,qBAAA,GAAAhB,IAAA,CAChBiB,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MAAAE,qBAAA,GAAAlB,IAAA,CAC3BmB,oBAAoB;AAApBA,MAAAA,oBAAoB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAC3BE,WAAW,GAAApB,IAAA,CAAXoB,WAAW;MACXC,UAAU,GAAArB,IAAA,CAAVqB,UAAU;MACVC,WAAW,GAAAtB,IAAA,CAAXsB,WAAW;MACXC,YAAY,GAAAvB,IAAA,CAAZuB,YAAY;MACZC,UAAU,GAAAxB,IAAA,CAAVwB,UAAU;MACVC,SAAS,GAAAzB,IAAA,CAATyB,SAAS;MACTC,IAAI,GAAA1B,IAAA,CAAJ0B,IAAI;MACJC,IAAI,GAAA3B,IAAA,CAAJ2B,IAAI;MAAAC,aAAA,GAAA5B,IAAA,CACJ6B,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,aAAA,GAAA9B,IAAA,CAChB+B,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAChBE,IAAI,GAAAhC,IAAA,CAAJgC,IAAI;MAEJC,UAAU,GAAAjC,IAAA,CAAViC,UAAU;MACVC,YAAY,GAAAlC,IAAA,CAAZkC,YAAY;MAAAC,WAAA,GAAAnC,IAAA,CACZoC,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,YAAY,GAAAA,WAAA;MAAAE,SAAA,GAAArC,IAAA,CACrBsC,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,SAAA;MACXE,cAAc,GAAAvC,IAAA,CAAduC,cAAc;MACdC,GAAG,GAAAxC,IAAA,CAAHwC,GAAG;MACHC,GAAG,GAAAzC,IAAA,CAAHyC,GAAG;MACHC,cAAc,GAAA1C,IAAA,CAAd0C,cAAc;MAAAC,qBAAA,GAAA3C,IAAA,CACd4C,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MACxBE,mBAAmB,GAAA7C,IAAA,CAAnB6C,mBAAmB;MACnBC,SAAS,GAAA9C,IAAA,CAAT8C,SAAS;MACTC,YAAY,GAAA/C,IAAA,CAAZ+C,YAAY;MACZC,cAAc,GAAAhD,IAAA,CAAdgD,cAAc;MACdC,iBAAiB,GAAAjD,IAAA,CAAjBiD,iBAAiB;MACjBC,gBAAgB,GAAAlD,IAAA,CAAhBkD,gBAAgB;MAChBC,mBAAmB,GAAAnD,IAAA,CAAnBmD,mBAAmB;MACnBC,aAAa,GAAApD,IAAA,CAAboD,aAAa;MACbC,gBAAgB,GAAArD,IAAA,CAAhBqD,gBAAgB;MAAAC,SAAA,GAAAtD,IAAA,CAChBuD,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;MAAAE,UAAA,GAAAxD,IAAA,CAEbyD,KAAK;AAALA,MAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,UAAA;MAAAE,cAAA,GAAA1D,IAAA,CAClB2D,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;MACjBE,MAAM,GAAA5D,IAAA,CAAN4D,MAAM;MAAAC,cAAA,GAAA7D,IAAA,CACN8D,SAAS;MAATA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAAA,cAAA;MAAAE,qBAAA,GAAA/D,IAAA,CAC7BgE,mBAAmB;AAAnBA,MAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAAAE,eAAA,GAAAjE,IAAA,CAC1BkE,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;MAAAE,qBAAA,GAAAnE,IAAA,CACjBoE,oBAAoB;AAApBA,MAAAA,oBAAoB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAC3BE,MAAM,GAAArE,IAAA,CAANqE,MAAM;MAENC,sBAAsB,GAAAtE,IAAA,CAAtBsE,sBAAsB;MACtBC,uBAAuB,GAAAvE,IAAA,CAAvBuE,uBAAuB;MACvBC,SAAS,GAAAxE,IAAA,CAATwE,SAAS;MAETC,aAAa,GAAAzE,IAAA,CAAbyE,aAAa;MACbC,YAAY,GAAA1E,IAAA,CAAZ0E,YAAY;MACZC,QAAQ,GAAA3E,IAAA,CAAR2E,QAAQ;MACRC,OAAO,GAAA5E,IAAA,CAAP4E,OAAO;MACPC,MAAM,GAAA7E,IAAA,CAAN6E,MAAM;MACNC,QAAQ,GAAA9E,IAAA,CAAR8E,QAAQ;MAERC,YAAY,GAAA/E,IAAA,CAAZ+E,YAAY;AACTC,MAAAA,IAAI,GAAAC,wBAAA,CAAAjF,IAAA,EAAAkF,SAAA,CAAA,CAAA;AAIX,IAAA,IAAMC,QAAQ,GAAGC,MAAM,CAA0B,IAAI,CAAC,CAAA;AACtD,IAAA,IAAMC,QAAQ,GAAGD,MAAM,CAA0B,IAAI,CAAC,CAAA;AACtD,IAAA,IAAME,eAAe,GAAGF,MAAM,CAAwB,IAAI,CAAC,CAAA;AAC3D,IAAA,IAAAG,SAAA,GAAsCC,QAAQ,CAACpF,MAAM,CAAC;MAAAqF,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/CI,MAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,cAAc,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAElC,IAAA,IAAMI,mBAAmB,GAAGC,sBAAsB,CAAC1D,MAAM,CAAC,CAAA;AAE1D,IAAA,IAAA2D,UAAA,GAAkCP,QAAQ,CAAoBhF,WAAW,IAAI,EAAE,CAAC;MAAAwF,UAAA,GAAAN,cAAA,CAAAK,UAAA,EAAA,CAAA,CAAA;AAAzEE,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAC9B,IAAMG,SAAS,GAAG9F,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAI4F,SAAS,CAAA;IAEzC,IAAMG,aAAa,GAAGC,iBAAiB,CAAC;AACpC/F,MAAAA,KAAK,EAAE6F,SAAS;AAChBG,MAAAA,SAAS,EAAET,mBAAmB;AAC9BvD,MAAAA,IAAI,EAAJA,IAAI;AACJF,MAAAA,MAAM,EAANA,MAAM;AACNQ,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBJ,MAAAA,GAAG,EAAHA,GAAG;AACHC,MAAAA,GAAG,EAAHA,GAAAA;AACJ,KAAC,CAAC,CAAA;IAEF,IAAA8D,UAAA,GAAwCf,QAAQ,CAAC;QAC7CgB,QAAQ,EAAEJ,aAAa,CAACK,YAAY;QACpCC,KAAK,EAAEN,aAAa,CAACO,aAAAA;AACzB,OAAC,CAAC;MAAAC,UAAA,GAAAlB,cAAA,CAAAa,UAAA,EAAA,CAAA,CAAA;AAHKM,MAAAA,YAAY,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,eAAe,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAKpC,IAAA,IAAMG,aAAuB,GAAGX,aAAa,CAACK,YAAY,CAAA;AAC1D,IAAA,IAAMO,UAAU,GAAGZ,aAAa,CAACO,aAAa,CAAA;IAE9C,IAAMM,2BAA2B,GAAG3C,sBAAsB,GACpD4C,oBAAoB,CAAC5C,sBAAsB,EAAE,KAAK,CAAC,GACnD6C,SAAS,CAAA;IACf,IAAMC,4BAA4B,GAAG7C,uBAAuB,GACtD2C,oBAAoB,CAAC3C,uBAAuB,EAAE,KAAK,CAAC,GACpD4C,SAAS,CAAA;IAEf,IAAAE,cAAA,GAQIC,aAAa,CAAC;AACdC,QAAAA,YAAY,EAAEP,UAAU;AACxB5E,QAAAA,MAAM,EAANA,MAAM;AACNE,QAAAA,IAAI,EAAJA,IAAI;AACJP,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAQ,EAARA,QAAQ;AACRU,QAAAA,cAAc,EAAdA,cAAc;AACdN,QAAAA,UAAU,EAAVA,UAAU;AACVC,QAAAA,YAAY,EAAZA,YAAY;AACZF,QAAAA,IAAI,EAAJA,IAAI;AACJuB,QAAAA,IAAI,EAAJA,IAAI;AACJf,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,GAAG,EAAHA,GAAG;AACHG,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBkE,QAAAA,eAAe,EAAfA,eAAe;AACfZ,QAAAA,YAAY,EAAZA,YAAY;AACZL,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBpB,QAAAA,aAAa,EAAbA,aAAa;AACbC,QAAAA,YAAY,EAAZA,YAAY;AACZI,QAAAA,QAAQ,EAARA,QAAAA;AACJ,OAAC,CAAC;MA3BE0C,oBAAoB,GAAAH,cAAA,CAApBG,oBAAoB;MACpBC,sBAAsB,GAAAJ,cAAA,CAAtBI,sBAAsB;MACtBC,iBAAiB,GAAAL,cAAA,CAAjBK,iBAAiB;MACGC,cAAc,GAAAN,cAAA,CAAlCO,kBAAkB;MAClBC,YAAY,GAAAR,cAAA,CAAZQ,YAAY;MACZC,cAAc,GAAAT,cAAA,CAAdS,cAAc;MACdC,kBAAkB,GAAAV,cAAA,CAAlBU,kBAAkB,CAAA;IAuBtB,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,WAAoB,EAAEC,KAA8B,EAAK;MAC3E,IAAInG,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMsG,cAAc,GAChB,CAAAD,KAAK,KAALA,IAAAA,IAAAA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEE,MAAM,OAAKjD,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAEkD,OAAO,CAClCH,IAAAA,KAAK,CAAqCI,IAAI,KAAKC,IAAI,CAACC,MAAM,GACzD,IAAI,GACJP,WAAW,CAAA;;AAErB;AACA;AACA;AACA;;AAEA,MAAA,IAAItD,QAAQ,EAAE;AACVA,QAAAA,QAAQ,CAACwD,cAAc,EAAED,KAAK,CAAC,CAAA;AAE/B,QAAA,OAAA;AACJ,OAAA;MAEAtC,cAAc,CAACuC,cAAc,CAAC,CAAA;KACjC,CAAA;AAED,IAAA,IAAMM,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIP,KAAiC,EAAK;MACnE,IAAInG,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAI8D,WAAW,IAAInB,SAAS,IAAI0D,KAAK,CAACE,MAAM,MAAK9C,eAAe,aAAfA,eAAe,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,eAAe,CAAE+C,OAAO,CAAE,EAAA;QACvEzC,cAAc,CAAC,KAAK,CAAC,CAAA;AAErB,QAAA,IAAIjB,QAAQ,EAAE;AACVA,UAAAA,QAAQ,CAAC,KAAK,EAAEuD,KAAK,CAAC,CAAA;AAC1B,SAAA;AACJ,OAAA;KACH,CAAA;IAED,IAAAQ,iBAAA,GAAsBC,gBAAgB,CAAC;AACnCR,QAAAA,cAAc,EAAExC,WAAW;AAC3BvD,QAAAA,MAAM,EAANA,MAAM;AACNG,QAAAA,cAAc,EAAdA,cAAc;AACd+D,QAAAA,SAAS,EAAET,mBAAmB;AAC9B3B,QAAAA,UAAU,EAAVA,UAAU;AACVS,QAAAA,QAAQ,EAAEqD,YAAAA;AACd,OAAC,CAAC;MAPMY,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;AASjB,IAAA,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAIX,KAAmC,EAAK;MACxD,IAAI,CAACzH,qBAAqB,IAAI,CAACsG,aAAa,IAAIF,YAAY,CAACL,QAAQ,EAAE;QACnEN,YAAY,CAAC,IAAI4C,IAAI,CAACjC,YAAY,CAACL,QAAQ,CAAC,CAAC,CAAA;AAC7C,QAAA,IAAI/B,aAAa,EAAE;AACfA,UAAAA,aAAa,CACTyD,KAAK,EACLrB,YAAY,CAACH,KAAK,EAClBG,YAAY,CAACL,QAAQ,EACrBK,YAAY,CAACL,QAAQ,CAACuC,WAAW,EACrC,CAAC,CAAA;AACL,SAAA;AAEA,QAAA,IAAIrE,YAAY,EAAE;AACd,UAAA,IAAMsE,QAAQ,GAAGlB,cAAc,CAACjB,YAAY,CAACL,QAAQ,CAAC,CAAA;UAEtD9B,YAAY,CACRmC,YAAY,CAACH,KAAK,EAClB,KAAK,EACL,IAAI,EACJsC,QAAQ,EACRnC,YAAY,CAACL,QAAQ,EACrBK,YAAY,CAACL,QAAQ,CAACuC,WAAW,EACrC,CAAC,CAAA;AACL,SAAA;AAEA,QAAA,IAAIjE,QAAQ,EAAE;AACVA,UAAAA,QAAQ,CAAC;AACLsD,YAAAA,MAAM,EAAE;cACJ9H,KAAK,EAAEuG,YAAY,CAACH,KAAK;cACzBD,YAAY,EAAEI,YAAY,CAACL,QAAQ;AACnCyC,cAAAA,OAAO,EAAEpC,YAAY,CAACL,QAAQ,CAACuC,WAAW,EAAE;AAC5C/G,cAAAA,IAAI,EAAJA,IAAAA;AACJ,aAAA;AACJ,WAAC,CAAC,CAAA;AACN,SAAA;AACJ,OAAA;AAEA,MAAA,IAAI6C,MAAM,EAAE;QACRA,MAAM,CAACqD,KAAK,CAAC,CAAA;AACjB,OAAA;KACH,CAAA;IAED,IAAMN,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIsB,IAAkB,EAAEF,QAAmB,EAAK;AACpErB,MAAAA,cAAc,CAACuB,IAAI,EAAEF,QAAQ,CAAC,CAAA;AAE9B,MAAA,IAAI5E,oBAAoB,EAAE;QACtBwB,cAAc,CAAC,KAAK,CAAC,CAAA;QACrBoC,YAAY,CAAC,KAAK,CAAC,CAAA;AACvB,OAAA;KACH,CAAA;AAED,IAAA,IAAMmB,eAAe,gBACjBC,KAAA,CAAAC,aAAA,CAACC,WAAW,EAAA;AACRrJ,MAAAA,GAAG,EAAEkF,QAAS;AACdjF,MAAAA,SAAS,EAAEqJ,GAAG,CAAC/B,oBAAoB,EAAEC,sBAAsB,CAAE;AAC7DnH,MAAAA,KAAK,EAAE0G,UAAW;AAClBrF,MAAAA,IAAI,EAAEA,IAAK;AACXE,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,QAAQ,EAAEA,QAAS;AACnBX,MAAAA,WAAW,EAAEA,WAAY;AACzBE,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,UAAU,EAAEA,UAAW;AACvBC,MAAAA,SAAS,EAAEA,SAAU;AACrBqD,MAAAA,QAAQ,EAAE4C,iBAAkB;AAC5B8B,MAAAA,QAAQ,EAAE3B,YAAa;AACvBjD,MAAAA,OAAO,EAAEA,OAAQ;AACjBC,MAAAA,MAAM,EAAEgE,UAAW;AACnBD,MAAAA,SAAS,EAAEA,SAAU;AACrB7H,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCE,MAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CT,MAAAA,KAAK,EAAEA,KAAM;AACbE,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,eAAe,EAAEA,eAAgB;AACjCkE,MAAAA,YAAY,EAAEA,YAAAA;AAAa,KAC9B,CACJ,CAAA;AAED0E,IAAAA,SAAS,CAAC,YAAM;MACZ7D,cAAc,CAAC,UAAC8D,QAAQ,EAAA;AAAA,QAAA,OAAKA,QAAQ,KAAKtJ,MAAM,IAAIA,MAAM,CAAA;OAAC,CAAA,CAAA;AAC/D,KAAC,EAAE,CAACA,MAAM,CAAC,CAAC,CAAA;AAEZuJ,IAAAA,eAAe,CAAC,YAAM;MAClB,IAAI,CAACxD,SAAS,EAAE;QACZ4B,kBAAkB,CAACvH,WAAW,CAAC,CAAA;AACnC,OAAA;KACH,EAAE,CAACA,WAAW,EAAE4B,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;AAE/B,IAAA,oBACI8G,KAAA,CAAAC,aAAA,CAACvJ,IAAI,EAAA8J,QAAA,CAAA;AACDlI,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXzB,MAAAA,SAAS,EAAEqJ,GAAG,CAACM,OAAO,CAAChK,cAAc,EAAEK,SAAS,EAAA4J,eAAA,KAAKD,OAAO,CAACE,mBAAmB,EAAGvF,SAAS,CAAE,CAAE;AAChGzC,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChC5B,MAAAA,GAAG,EAAEA,GAAI;AACT+J,MAAAA,gBAAgB,EAAEnH,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAmB,CAAElB,IAAAA;AAAK,KAAA,EACxCqD,IAAI,CAERoE,eAAAA,KAAA,CAAAC,aAAA,CAACY,aAAa,EAAA;AACV7J,MAAAA,MAAM,EAAEuF,WAAY;AACpBhC,MAAAA,SAAS,EAAEA,SAAU;AACrBF,MAAAA,KAAK,EAAEA,KAAM;AACbkB,MAAAA,QAAQ,EAAEqD,YAAa;AACvB3D,MAAAA,MAAM,EAAEA,MAAO;AACfP,MAAAA,SAAS,EAAEoG,aAAa,CAACpG,SAAS,EAAE,KAAK,CAAE;AAC3CqG,MAAAA,OAAO,EAAC,OAAO;AACfnG,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCoG,MAAAA,cAAc,EAAE,KAAM;AACtBhC,MAAAA,MAAM,EAAEe,eAAgB;AACxBkB,MAAAA,eAAe,EAAE,KAAM;AACvBzG,MAAAA,MAAM,EAAEA,MAAAA;AAAO,KAAA,eAEfwF,KAAA,CAAAC,aAAA,CAACvJ,IAAI,EAAA;AACDG,MAAAA,GAAG,EAAEqF,eAAgB;AACrB5D,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXzB,MAAAA,SAAS,EAAEqJ,GAAG,CAACM,OAAO,CAAChK,cAAc,EAAEK,SAAS,EAAA4J,eAAA,KAC3CD,OAAO,CAACE,mBAAmB,EAAGvF,SAAS,CAC3C,CAAE;AACHzC,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChCyI,MAAAA,OAAO,EAAE7B,uBAAAA;AAAwB,KAAA,eAEjCW,KAAA,CAAAC,aAAA,CAACkB,cAAc,EAAA;MACXrK,SAAS,EAAEqJ,GAAG,CAAAO,eAAA,CAAA,EAAA,EAAID,OAAO,CAACW,2BAA2B,EAAGhG,SAAS,CAAE,CAAE;AACrEiG,MAAAA,UAAU,EAAExD,2BAA4B;AACxCyD,MAAAA,WAAW,EAAEtD,4BAA6B;AAC1CzF,MAAAA,IAAI,EAAEA,IAAK;AACXrB,MAAAA,KAAK,EAAEyG,aAAc;AACrBxD,MAAAA,IAAI,EAAEA,IAAK;AACXV,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,MAAAA,aAAa,EAAEA,aAAc;AAC7BC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCb,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,cAAc,EAAEA,cAAe;AAC/BE,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnC+H,MAAAA,OAAO,EAAE,KAAM;AACfC,MAAAA,MAAM,EAAEtI,IAAK;AACbmC,MAAAA,aAAa,EAAEmD,kBAAAA;KAClB,CACC,CACK,CAAC,EACfvG,UAAU,iBACP+H,KAAA,CAAAC,aAAA,CAACwB,UAAU,EAAA;AAAC3K,MAAAA,SAAS,EAAEqJ,GAAG,CAAC/B,oBAAoB,EAAEC,sBAAsB,CAAA;KAClEpG,EAAAA,UACO,CACf,eACD+H,KAAA,CAAAC,aAAA,CAACyB,WAAW,EAAAlB,QAAA,CAAA;AACRrG,MAAAA,IAAI,EAAC,QAAQ;AACbwH,MAAAA,QAAQ,EAAC,mBAAmB;AAC5B/I,MAAAA,IAAI,EAAEA,IAAK;AACX1B,MAAAA,KAAK,EAAE0G,UAAW;AAClB/G,MAAAA,GAAG,EAAEoF,QAAAA;KACD2F,EAAAA,IAAI,CACX,CACC,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMC,gBAAgB,GAAG;AAC5BjJ,EAAAA,IAAI,EAAE,YAAY;AAClBkJ,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEtL,cAAc;AACtBuL,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,UAAU,EAAE;AACR3J,IAAAA,IAAI,EAAE;AACF4J,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACD5J,IAAAA,IAAI,EAAE;AACF2J,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACDxB,IAAAA,gBAAgB,EAAE;AACdsB,MAAAA,GAAG,EAAEG,MAAAA;KACR;AACD1J,IAAAA,QAAQ,EAAE;AACNuJ,MAAAA,GAAG,EAAEI,MAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACD9J,IAAAA,QAAQ,EAAE;AACNyJ,MAAAA,GAAG,EAAEM,MAAW;AAChBD,MAAAA,KAAK,EAAE,IAAA;AACX,KAAA;GACH;AACDE,EAAAA,QAAQ,EAAE;AACNlK,IAAAA,IAAI,EAAE,GAAG;AACTD,IAAAA,IAAI,EAAE,SAAS;AACf+J,IAAAA,mBAAmB,EAAE,GAAA;AACzB,GAAA;AACJ;;;;"}
|
|
1
|
+
{"version":3,"file":"SingleDate.js","sources":["../../../../src/components/DatePicker/SingleDate/SingleDate.tsx"],"sourcesContent":["import React, { forwardRef, SyntheticEvent, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport cls from 'classnames';\nimport type { KeyboardEvent, FocusEvent, MouseEvent } from 'react';\nimport type { DateInfo, DateType } from 'src/components/Calendar/Calendar.types';\nimport type { RootProps } from 'src/engines';\nimport { getPlacements, getSizeValueFromProp, noop } from 'src/utils';\n\nimport { getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport { classes } from '../DatePicker.tokens';\nimport { InputHidden, StyledCalendar } from '../DatePickerBase.styles';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { getFormattedDates } from '../utils';\n\nimport type { DatePickerProps, RootDatePickerProps } from './SingleDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as eventTooltipSizeCSS } from './variations/_tooltip-size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledInput, StyledPopover, base } from './SingleDate.styles';\n\nexport const datePickerRoot = (Root: RootProps<HTMLDivElement, RootDatePickerProps>) =>\n forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n className,\n opened = false,\n\n value: outerValue,\n defaultDate = '',\n preserveInvalidOnBlur,\n\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n required = false,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n placeholder,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n valueError,\n valueSuccess,\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventTooltipOptions,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n zIndex,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n closeAfterDateSelect = true,\n offset,\n\n calendarContainerWidth,\n calendarContainerHeight,\n stretched,\n\n onChangeValue,\n onCommitDate,\n onToggle,\n onFocus,\n onBlur,\n onChange,\n\n autoComplete,\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const innerRef = useRef<HTMLInputElement | null>(null);\n const calendarRootRef = useRef<HTMLDivElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const dateFormatDelimiter = getDateFormatDelimiter(format);\n\n const [innerDate, setInnerDate] = useState<string | DateType>(defaultDate || '');\n const dateValue = outerValue ?? innerDate;\n\n const initialValues = getFormattedDates({\n value: dateValue,\n delimiter: dateFormatDelimiter,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [correctDates, setCorrectDates] = useState({\n calendar: initialValues.originalDate,\n input: initialValues.formattedDate,\n });\n\n const calendarValue: DateType = initialValues.originalDate;\n const inputValue = initialValues.formattedDate;\n\n const calendarContainerWidthValue = calendarContainerWidth\n ? getSizeValueFromProp(calendarContainerWidth, 'rem')\n : undefined;\n const calendarContainerHeightValue = calendarContainerHeight\n ? getSizeValueFromProp(calendarContainerHeight, 'rem')\n : undefined;\n\n const {\n datePickerErrorClass,\n datePickerSuccessClass,\n handleChangeValue,\n handleCalendarPick: onCalendarPick,\n handleSearch,\n getQuarterInfo,\n updateExternalDate,\n } = useDatePicker({\n currentValue: inputValue,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n setCorrectDates,\n setInnerDate,\n dateFormatDelimiter,\n onChangeValue,\n onCommitDate,\n onChange,\n });\n\n const handleToggle = (innerOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n event?.target === inputRef?.current &&\n (event as KeyboardEvent<HTMLInputElement>).code !== keys.Escape\n ? true\n : innerOpened;\n\n if (onToggle) {\n onToggle(isCalendarOpen, event);\n\n return;\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleCalendarRootClick = (event: MouseEvent<HTMLDivElement>) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isInnerOpen && stretched && event.target === calendarRootRef?.current) {\n setIsInnerOpen(false);\n\n if (onToggle) {\n onToggle(false, event);\n }\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat,\n delimiter: dateFormatDelimiter,\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!preserveInvalidOnBlur && !calendarValue && correctDates.calendar) {\n setInnerDate(new Date(correctDates.calendar));\n if (onChangeValue) {\n onChangeValue(\n event,\n correctDates.input,\n correctDates.calendar,\n correctDates.calendar.toISOString(),\n );\n }\n\n if (onCommitDate) {\n const dateInfo = getQuarterInfo(correctDates.calendar);\n\n onCommitDate(\n correctDates.input,\n false,\n true,\n dateInfo,\n correctDates.calendar,\n correctDates.calendar.toISOString(),\n );\n }\n\n if (onChange) {\n onChange({\n target: {\n value: correctDates.input,\n originalDate: correctDates.calendar,\n isoDate: correctDates.calendar.toISOString(),\n name,\n },\n });\n }\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleCalendarPick = (date?: Date | null, dateInfo?: DateInfo) => {\n onCalendarPick(date, dateInfo);\n\n if (closeAfterDateSelect) {\n setIsInnerOpen(false);\n handleToggle(false);\n }\n };\n\n const DatePickerInput = (\n <StyledInput\n ref={inputRef}\n className={cls(datePickerErrorClass, datePickerSuccessClass)}\n value={inputValue}\n size={size}\n readOnly={readOnly}\n disabled={disabled}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onChange={handleChangeValue}\n onSearch={handleSearch}\n onFocus={onFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n autoComplete={autoComplete}\n />\n );\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useLayoutEffect(() => {\n if (!dateValue) {\n updateExternalDate(defaultDate);\n }\n }, [defaultDate, format, lang]);\n\n return (\n <Root\n view={view}\n size={size}\n className={cls(classes.datePickerRoot, className, { [classes.datePickerstretched]: stretched })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n ref={ref}\n eventTooltipSize={eventTooltipOptions?.size}\n {...rest}\n >\n <StyledPopover\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(placement, false)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={DatePickerInput}\n preventOverflow={false}\n zIndex={zIndex}\n >\n <Root\n ref={calendarRootRef}\n view={view}\n size={size}\n className={cls(classes.datePickerRoot, className, {\n [classes.datePickerstretched]: stretched,\n })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onClick={handleCalendarRootClick}\n >\n <StyledCalendar\n className={cls({ [classes.datePickerCalendarstretched]: stretched })}\n innerWidth={calendarContainerWidthValue}\n innerHeight={calendarContainerHeightValue}\n size={size}\n value={calendarValue}\n type={type}\n eventTooltipOptions={eventTooltipOptions}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n includeEdgeDates={includeEdgeDates}\n isRange={false}\n locale={lang}\n onChangeValue={handleCalendarPick}\n />\n </Root>\n </StyledPopover>\n {leftHelper && (\n <LeftHelper className={cls(datePickerErrorClass, datePickerSuccessClass)}>\n {leftHelper}\n </LeftHelper>\n )}\n <InputHidden\n type=\"hidden\"\n datatype=\"datepicker-single\"\n name={name}\n value={inputValue}\n ref={innerRef}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerConfig = {\n name: 'DatePicker',\n tag: 'div',\n layout: datePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n eventTooltipSize: {\n css: eventTooltipSizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n eventTooltipSizeCSS: 'm',\n },\n};\n"],"names":["datePickerRoot","Root","forwardRef","_ref","ref","className","_ref$opened","opened","outerValue","value","_ref$defaultDate","defaultDate","preserveInvalidOnBlur","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$required","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","placeholder","leftHelper","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","valueError","valueSuccess","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventTooltipOptions","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","zIndex","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$closeAfterDateSe","closeAfterDateSelect","offset","calendarContainerWidth","calendarContainerHeight","stretched","onChangeValue","onCommitDate","onToggle","onFocus","onBlur","onChange","autoComplete","rest","_objectWithoutProperties","_excluded","inputRef","useRef","innerRef","calendarRootRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","getDateFormatDelimiter","_useState3","_useState4","innerDate","setInnerDate","dateValue","initialValues","getFormattedDates","delimiter","_useState5","calendar","originalDate","input","formattedDate","_useState6","correctDates","setCorrectDates","calendarValue","inputValue","calendarContainerWidthValue","getSizeValueFromProp","undefined","calendarContainerHeightValue","_useDatePicker","useDatePicker","currentValue","datePickerErrorClass","datePickerSuccessClass","handleChangeValue","onCalendarPick","handleCalendarPick","handleSearch","getQuarterInfo","updateExternalDate","handleToggle","innerOpened","event","isCalendarOpen","target","current","code","keys","Escape","handleCalendarRootClick","_useKeyNavigation","useKeyNavigation","onKeyDown","handleBlur","Date","toISOString","dateInfo","isoDate","date","DatePickerInput","React","createElement","StyledInput","cls","onSearch","useEffect","prevOpen","useLayoutEffect","_extends","classes","_defineProperty","datePickerstretched","eventTooltipSize","StyledPopover","getPlacements","trigger","isFocusTrapped","preventOverflow","onClick","StyledCalendar","datePickerCalendarstretched","innerWidth","innerHeight","isRange","locale","LeftHelper","InputHidden","datatype","noop","datePickerConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","eventTooltipSizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ import { useOutsideClick } from '../../hooks/useOutsideClick.js';
|
|
|
17
17
|
import { ROOT_FONT_SIZE, useAutoResize } from './hooks/useAutoResize.js';
|
|
18
18
|
import { mergeRefs } from '../../utils/setRefList.js';
|
|
19
19
|
|
|
20
|
-
var _excluded = ["helperText", "status", "resize", "headerSlot", "rightHelper", "leftHelper", "leftHelperPlacement", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "titleCaption", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "hasRequiredIndicator", "optional", "clear", "hasDivider", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "hintTrigger", "hintText", "hintView", "hintSize", "hintTargetIcon", "hintPlacement", "hintHasArrow", "hintOffset", "hintWidth", "hintContentLeft", "labelAriaHidden", "onChange"];
|
|
20
|
+
var _excluded = ["helperText", "status", "resize", "headerSlot", "rightHelper", "leftHelper", "leftHelperPlacement", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "titleCaption", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "hasRequiredIndicator", "optional", "optionalText", "clear", "hasDivider", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "hintTrigger", "hintText", "hintView", "hintSize", "hintTargetIcon", "hintPlacement", "hintHasArrow", "hintOffset", "hintWidth", "hintContentLeft", "labelAriaHidden", "onChange"];
|
|
21
21
|
var innerPlaceholderUp = classes.innerPlaceholderUp,
|
|
22
22
|
focusedOuterPlaceholderColor = classes.focusedOuterPlaceholderColor,
|
|
23
23
|
hidePlaceHolder = classes.hidePlaceHolder,
|
|
@@ -28,7 +28,6 @@ var innerPlaceholderUp = classes.innerPlaceholderUp,
|
|
|
28
28
|
styledHelpers = classes.styledHelpers,
|
|
29
29
|
hasHeaderSlot = classes.hasHeaderSlot,
|
|
30
30
|
styledContentWrapper = classes.styledContentWrapper;
|
|
31
|
-
var optionalText = 'optional';
|
|
32
31
|
var base = "b6rykm0";
|
|
33
32
|
|
|
34
33
|
// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c
|
|
@@ -93,6 +92,8 @@ var textAreaRoot = function textAreaRoot(Root) {
|
|
|
93
92
|
hasRequiredIndicator = _props$hasRequiredInd === void 0 ? true : _props$hasRequiredInd,
|
|
94
93
|
_props$optional = props.optional,
|
|
95
94
|
optional = _props$optional === void 0 ? false : _props$optional,
|
|
95
|
+
_props$optionalText = props.optionalText,
|
|
96
|
+
optionalText = _props$optionalText === void 0 ? 'optional' : _props$optionalText,
|
|
96
97
|
clear = props.clear,
|
|
97
98
|
hasDivider = props.hasDivider,
|
|
98
99
|
size = props.size,
|