@salutejs/plasma-new-hope 0.336.0-canary.2219.17638454714.0 → 0.336.0-canary.2220.17648264852.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/Autocomplete/Autocomplete.css +2 -0
- package/cjs/components/Combobox/ComboboxNew/Combobox.css +2 -0
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +60 -56
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +1 -4
- package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
- package/cjs/components/DatePicker/RangeDate/RangeDate.css +2 -0
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -0
- package/cjs/components/DatePicker/SingleDate/SingleDate.css +2 -0
- package/cjs/components/Pagination/Pagination.css +2 -0
- package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -0
- package/cjs/components/Range/Range.css +2 -0
- package/cjs/components/Select/Select.css +2 -0
- package/cjs/components/Select/ui/Target/Target.css +2 -0
- package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.css +2 -0
- package/cjs/components/Slider/Slider.css +2 -0
- package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +2 -0
- package/cjs/components/Table/Table.css +2 -0
- package/cjs/components/Table/ui/Cell/Cell.css +2 -0
- package/cjs/components/Table/ui/EditableCell/EditableCell.css +2 -0
- package/cjs/components/Table/ui/HeadCell/HeadCell.css +2 -0
- package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -0
- package/cjs/components/TextField/TextField.js +14 -3
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +54 -0
- package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +74 -0
- package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js.map +1 -0
- package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +25 -0
- package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js.map +1 -0
- package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles_119gtz1.css +1 -0
- package/cjs/index.css +2 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +59 -64
- package/emotion/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -5
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/index.js +0 -4
- package/emotion/cjs/components/TextField/TextField.js +16 -4
- package/emotion/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +69 -0
- package/emotion/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +32 -0
- package/emotion/cjs/components/TextField/ui/index.js +12 -3
- package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +60 -65
- package/emotion/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -5
- package/emotion/es/components/Combobox/ComboboxNew/utils/index.js +0 -1
- package/emotion/es/components/TextField/TextField.js +17 -5
- package/emotion/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +54 -0
- package/emotion/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +18 -0
- package/emotion/es/components/TextField/ui/index.js +1 -0
- package/es/components/Autocomplete/Autocomplete.css +2 -0
- package/es/components/Combobox/ComboboxNew/Combobox.css +2 -0
- package/es/components/Combobox/ComboboxNew/Combobox.js +61 -57
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +1 -4
- package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
- package/es/components/DatePicker/RangeDate/RangeDate.css +2 -0
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -0
- package/es/components/DatePicker/SingleDate/SingleDate.css +2 -0
- package/es/components/Pagination/Pagination.css +2 -0
- package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -0
- package/es/components/Range/Range.css +2 -0
- package/es/components/Select/Select.css +2 -0
- package/es/components/Select/ui/Target/Target.css +2 -0
- package/es/components/Select/ui/Target/ui/Textfield/Textfield.css +2 -0
- package/es/components/Slider/Slider.css +2 -0
- package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +2 -0
- package/es/components/Table/Table.css +2 -0
- package/es/components/Table/ui/Cell/Cell.css +2 -0
- package/es/components/Table/ui/EditableCell/EditableCell.css +2 -0
- package/es/components/Table/ui/HeadCell/HeadCell.css +2 -0
- package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -0
- package/es/components/TextField/TextField.js +14 -3
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +54 -0
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +66 -0
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js.map +1 -0
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +21 -0
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js.map +1 -0
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles_119gtz1.css +1 -0
- package/es/index.css +2 -0
- package/package.json +2 -2
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +59 -64
- package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -5
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/index.js +0 -4
- package/styled-components/cjs/components/TextField/TextField.js +15 -3
- package/styled-components/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +69 -0
- package/styled-components/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +87 -0
- package/styled-components/cjs/components/TextField/ui/index.js +12 -3
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +60 -65
- package/styled-components/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -5
- package/styled-components/es/components/Combobox/ComboboxNew/utils/index.js +0 -1
- package/styled-components/es/components/TextField/TextField.js +16 -4
- package/styled-components/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +54 -0
- package/styled-components/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +73 -0
- package/styled-components/es/components/TextField/ui/index.js +1 -0
- package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/hooks/getPathMaps.d.ts +1 -2
- package/types/components/Combobox/ComboboxNew/hooks/getPathMaps.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/utils/index.d.ts +0 -1
- package/types/components/Combobox/ComboboxNew/utils/index.d.ts.map +1 -1
- package/types/components/TextField/TextField.d.ts.map +1 -1
- package/types/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.d.ts +19 -0
- package/types/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.d.ts.map +1 -0
- package/types/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.d.ts +2 -0
- package/types/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.d.ts.map +1 -0
- package/types/components/TextField/ui/index.d.ts +1 -0
- package/types/components/TextField/ui/index.d.ts.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/utils/getRemovedElement.js +0 -17
- package/cjs/components/Combobox/ComboboxNew/utils/getRemovedElement.js.map +0 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/getRemovedElement.js +0 -20
- package/emotion/es/components/Combobox/ComboboxNew/utils/getRemovedElement.js +0 -10
- package/es/components/Combobox/ComboboxNew/utils/getRemovedElement.js +0 -13
- package/es/components/Combobox/ComboboxNew/utils/getRemovedElement.js.map +0 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/getRemovedElement.js +0 -20
- package/styled-components/es/components/Combobox/ComboboxNew/utils/getRemovedElement.js +0 -10
- package/types/components/Combobox/ComboboxNew/utils/getRemovedElement.d.ts +0 -2
- package/types/components/Combobox/ComboboxNew/utils/getRemovedElement.d.ts.map +0 -1
@@ -115,12 +115,12 @@ import { base as hintSizeCSS } from "./variations/_hint-size/base";
|
|
115
115
|
import { base as chipViewCSS } from "./variations/_chip-view/base";
|
116
116
|
import { Input, InputContainer, LeftHelper, Label, InputWrapper, InputLabelWrapper, StyledContentLeft, StyledContentRight, StyledChips, StyledTextBefore, StyledTextAfter, StyledIndicator, StyledOptionalText, InputPlaceholder, OuterLabelWrapper, TitleCaption, StyledHintWrapper, StyledIndicatorWrapper, StyledContentRightWrapper } from "./TextField.styles";
|
117
117
|
import { classes } from "./TextField.tokens";
|
118
|
-
import { TextFieldChip } from "./ui";
|
118
|
+
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
122
|
var optionalText = 'optional';
|
123
|
-
export var base = /*#__PURE__*/ css("display:block;", "base", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCIsInNvdXJjZXMiOlsic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge1xuICAgIEZvcm1FdmVudEhhbmRsZXIsXG4gICAgQ2hhbmdlRXZlbnRIYW5kbGVyLFxuICAgIEtleWJvYXJkRXZlbnQsXG4gICAgQ2hhbmdlRXZlbnQsXG4gICAgTW91c2VFdmVudEhhbmRsZXIsXG4gICAgQ2xpcGJvYXJkRXZlbnRIYW5kbGVyLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VGb3JrUmVmIH0gZnJvbSAnQHNhbHV0ZWpzL3BsYXNtYS1jb3JlJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGN4LCBzYWZlVXNlSWQgfSBmcm9tICdzcmMvdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBSb290UHJvcHMgfSBmcm9tICdzcmMvZW5naW5lcyc7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tICdzcmMvaG9va3MnO1xuXG5pbXBvcnQgdHlwZSB7IENoaXBWYWx1ZXMsIFRleHRGaWVsZFByaW1pdGl2ZVZhbHVlLCBUZXh0RmllbGRQcm9wcywgVGV4dEZpZWxkUm9vdFByb3BzIH0gZnJvbSAnLi9UZXh0RmllbGQudHlwZXMnO1xuaW1wb3J0IHsgYmFzZSBhcyBzaXplQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19zaXplL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyB2aWV3Q1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL192aWV3L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBjbGVhckNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fY2xlYXIvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGRpc2FibGVkQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19kaXNhYmxlZC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgcmVhZE9ubHlDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3JlYWQtb25seS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgbGFiZWxQbGFjZW1lbnRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2xhYmVsLXBsYWNlbWVudC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgaGludFZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2hpbnQtdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgaGludFNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2hpbnQtc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2hpcFZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NoaXAtdmlldy9iYXNlJztcbmltcG9ydCB7XG4gICAgSW5wdXQsXG4gICAgSW5wdXRDb250YWluZXIsXG4gICAgTGVmdEhlbHBlcixcbiAgICBMYWJlbCxcbiAgICBJbnB1dFdyYXBwZXIsXG4gICAgSW5wdXRMYWJlbFdyYXBwZXIsXG4gICAgU3R5bGVkQ29udGVudExlZnQsXG4gICAgU3R5bGVkQ29udGVudFJpZ2h0LFxuICAgIFN0eWxlZENoaXBzLFxuICAgIFN0eWxlZFRleHRCZWZvcmUsXG4gICAgU3R5bGVkVGV4dEFmdGVyLFxuICAgIFN0eWxlZEluZGljYXRvcixcbiAgICBTdHlsZWRPcHRpb25hbFRleHQsXG4gICAgSW5wdXRQbGFjZWhvbGRlcixcbiAgICBPdXRlckxhYmVsV3JhcHBlcixcbiAgICBUaXRsZUNhcHRpb24sXG4gICAgU3R5bGVkSGludFdyYXBwZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yV3JhcHBlcixcbiAgICBTdHlsZWRDb250ZW50UmlnaHRXcmFwcGVyLFxufSBmcm9tICcuL1RleHRGaWVsZC5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEZpZWxkLnRva2Vucyc7XG5pbXBvcnQgeyBUZXh0RmllbGRDaGlwIH0gZnJvbSAnLi91aSc7XG5pbXBvcnQgeyB1c2VLZXlOYXZpZ2F0aW9uIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQgeyBIaW50Q29tcG9uZW50IH0gZnJvbSAnLi91aS9IaW50L0hpbnQnO1xuaW1wb3J0IHsgZ2V0SW5wdXRXaWR0aCB9IGZyb20gJy4vZ2V0SW5wdXRXaWR0aCc7XG5cbmNvbnN0IG9wdGlvbmFsVGV4dCA9ICdvcHRpb25hbCc7XG5cbmV4cG9ydCBjb25zdCBiYXNlID0gY3NzYFxuICAgIC8qIE5PVEU6IFdlYmtpdCDQvdC1INC/0YDQuNC80LXQvdGP0LXRgiBvcGFjaXR5INC6IGlubGluZSDRgtC10LPQsNC8ICovXG4gICAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5jb25zdCBISU5UX0RFRkFVTFRfT0ZGU0VUOiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIDBdO1xuXG5leHBvcnQgY29uc3QgdGV4dEZpZWxkUm9vdCA9IChSb290OiBSb290UHJvcHM8SFRNTERpdkVsZW1lbnQsIFRleHRGaWVsZFJvb3RQcm9wcz4pID0+XG4gICAgZm9yd2FyZFJlZjxIVE1MSW5wdXRFbGVtZW50LCBUZXh0RmllbGRQcm9wcz4oXG4gICAgICAgIChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgc3R5bGUsXG5cbiAgICAgICAgICAgICAgICAvLyBsYXlvdXRcbiAgICAgICAgICAgICAgICBjb250ZW50TGVmdCxcbiAgICAgICAgICAgICAgICBjb250ZW50UmlnaHQsXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAga2VlcFBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIHRleHRCZWZvcmUsXG4gICAgICAgICAgICAgICAgdGV4dEFmdGVyLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIGxlZnRIZWxwZXIsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlID0gJ3BsYWluJyxcbiAgICAgICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudCA9ICdyaWdodCcsXG4gICAgICAgICAgICAgICAgaGFzUmVxdWlyZWRJbmRpY2F0b3IgPSB0cnVlLFxuICAgICAgICAgICAgICAgIHRpdGxlQ2FwdGlvbixcbiAgICAgICAgICAgICAgICBjaGlwVmlldyA9ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBjaGlwVmFsaWRhdG9yLFxuXG4gICAgICAgICAgICAgICAgLy8gaGludFxuICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyID0gJ2hvdmVyJyxcbiAgICAgICAgICAgICAgICBoaW50VGV4dCxcbiAgICAgICAgICAgICAgICBoaW50VmlldyA9ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBoaW50U2l6ZSA9ICdtJyxcbiAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbixcbiAgICAgICAgICAgICAgICBoaW50VGFyZ2V0UGxhY2VtZW50ID0gJ291dGVyJyxcbiAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50ID0gJ2F1dG8nLFxuICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdyxcbiAgICAgICAgICAgICAgICBoaW50T2Zmc2V0ID0gSElOVF9ERUZBVUxUX09GRlNFVCxcbiAgICAgICAgICAgICAgICBoaW50V2lkdGgsXG4gICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0LFxuXG4gICAgICAgICAgICAgICAgLy8gdmFyaWF0aW9uc1xuICAgICAgICAgICAgICAgIHZpZXcsXG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICByZWFkT25seSA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBjbGVhciA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIG9wdGlvbmFsLFxuICAgICAgICAgICAgICAgIGhhc0RpdmlkZXIsXG5cbiAgICAgICAgICAgICAgICAvLyBjb250cm9sbGVkXG4gICAgICAgICAgICAgICAgdmFsdWU6IG91dGVyVmFsdWUsXG4gICAgICAgICAgICAgICAgY2hpcHM6IHZhbHVlcyxcbiAgICAgICAgICAgICAgICBjaGlwVHlwZSA9ICdkZWZhdWx0JyxcblxuICAgICAgICAgICAgICAgIC8vIGV2ZW50c1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHMsXG4gICAgICAgICAgICAgICAgb25TZWFyY2gsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duLFxuICAgICAgICAgICAgICAgIG9uRm9jdXMsXG4gICAgICAgICAgICAgICAgb25CbHVyLFxuICAgICAgICAgICAgICAgIG9uUGFzdGUsXG5cbiAgICAgICAgICAgICAgICAvLyDQn9GA0L7Qv9GB0Ysg0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8sINC90LUg0L7RgtC00LDQtdGC0YHRjyDQvdCw0YDRg9C20YMuXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9vbkVudGVyRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHksXG5cbiAgICAgICAgICAgICAgICAuLi5yZXN0XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVmLFxuICAgICAgICApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRDb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dEZvcmtSZWYgPSB1c2VGb3JrUmVmKGlucHV0UmVmLCByZWYpO1xuICAgICAgICAgICAgY29uc3QgY2hpcHNSZWZzID0gdXNlUmVmPEFycmF5PEhUTUxCdXR0b25FbGVtZW50Pj4oW10pO1xuXG4gICAgICAgICAgICBjb25zdCBjb250cm9sbGVkUmVmcyA9IHsgY29udGVudFJlZiwgaW5wdXRSZWYsIGNoaXBzUmVmcyB9O1xuXG4gICAgICAgICAgICBjb25zdCBbaGFzVmFsdWUsIHNldEhhc1ZhbHVlXSA9IHVzZVN0YXRlKFxuICAgICAgICAgICAgICAgIEJvb2xlYW4ob3V0ZXJWYWx1ZSkgfHwgQm9vbGVhbihpbnB1dFJlZj8uY3VycmVudD8udmFsdWUpIHx8IEJvb2xlYW4ocmVzdD8uZGVmYXVsdFZhbHVlKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBbaGFzRm9jdXMsIHNldEhhc0ZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgICAgICAgICAgY29uc3QgW2NoaXBzLCBzZXRDaGlwc10gPSB1c2VTdGF0ZTxBcnJheTxDaGlwVmFsdWVzPj4oW10pO1xuICAgICAgICAgICAgY29uc3QgW2lzSGludFZpc2libGUsIHNldElzSGludFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgICAgICAgICBjb25zdCB1bmlxSWQgPSBzYWZlVXNlSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IGlubmVySWQgPSBpZCB8fCB1bmlxSWQ7XG4gICAgICAgICAgICBjb25zdCBsYWJlbElkID0gc2FmZVVzZUlkKCk7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXJUZXh0SWQgPSBzYWZlVXNlSWQoKTtcblxuICAgICAgICAgICAgY29uc3QgaXNEZWZhdWx0VmlldyA9IHZpZXcgPT09ICdkZWZhdWx0JyB8fCByZWFkT25seSB8fCBkaXNhYmxlZDtcblxuICAgICAgICAgICAgY29uc3QgaXNDaGlwRW51bWVyYXRpb24gPSBlbnVtZXJhdGlvblR5cGUgPT09ICdjaGlwJztcbiAgICAgICAgICAgIGNvbnN0IGlzQ2hpcHNWaXNpYmxlID0gaXNDaGlwRW51bWVyYXRpb24gJiYgQm9vbGVhbihjaGlwcz8ubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IHdpdGhIYXNDaGlwcyA9IGlzQ2hpcHNWaXNpYmxlID8gY2xhc3Nlcy5oYXNDaGlwcyA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgaGFzTGFiZWxWYWx1ZSA9IEJvb2xlYW4obGFiZWwpO1xuICAgICAgICAgICAgY29uc3QgaGFzSW5uZXJMYWJlbCA9IHNpemUgIT09ICd4cycgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWlzQ2hpcHNWaXNpYmxlICYmIGhhc0xhYmVsVmFsdWU7XG4gICAgICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gbGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgaGFzTGFiZWxWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGlubmVyS2VlcFBsYWNlaG9sZGVyID0ga2VlcFBsYWNlaG9sZGVyICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInO1xuICAgICAgICAgICAgY29uc3QgaGFzUGxhY2Vob2xkZXIgPSBCb29sZWFuKHBsYWNlaG9sZGVyKSAmJiAoaW5uZXJLZWVwUGxhY2Vob2xkZXIgfHwgIWhhc0lubmVyTGFiZWwpO1xuICAgICAgICAgICAgbGV0IGhhc1RleHRBZnRlciA9IEJvb2xlYW4odGV4dEFmdGVyKTtcbiAgICAgICAgICAgIGxldCBoYXNUZXh0QmVmb3JlID0gdGV4dEJlZm9yZSAmJiAhaXNDaGlwRW51bWVyYXRpb247XG4gICAgICAgICAgICBpZiAobGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWhhc1ZhbHVlICYmICFoYXNQbGFjZWhvbGRlciAmJiAhaGFzRm9jdXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFzVGV4dEFmdGVyID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGhhc1RleHRCZWZvcmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyUGFkZGluZyA9IGhhc0lubmVyTGFiZWwgJiYga2VlcFBsYWNlaG9sZGVyICYmIHNpemUgIT09ICd4cyc7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyTGFiZWxWYWx1ZSA9IGhhc0lubmVyTGFiZWwgfHwgaGFzT3V0ZXJMYWJlbCA/IGxhYmVsIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlID0gbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWhhc0lubmVyTGFiZWwgPyB1bmRlZmluZWQgOiBsYWJlbFBsYWNlbWVudDtcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJQbGFjZWhvbGRlclZhbHVlID0gaGFzUGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyU2hvd24gPSBCb29sZWFuKGlubmVyUGxhY2Vob2xkZXJWYWx1ZSkgJiYgIWhhc1ZhbHVlO1xuXG4gICAgICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzRGl2aWRlckNsYXNzID0gaGFzRGl2aWRlciA/IGNsYXNzZXMuaGFzRGl2aWRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc0lubmVySGludENsYXNzID0gaGludFRleHQgJiYgaGludFRhcmdldFBsYWNlbWVudCA9PT0gJ291dGVyJyA/IGNsYXNzZXMuaGFzSGludCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc0hpbnRDbGFzcyA9IGhpbnRUZXh0ID8gY2xhc3Nlcy5oYXNIaW50IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyA9IHJlcXVpcmVkUGxhY2VtZW50ID09PSAncmlnaHQnID8gY2xhc3Nlcy5yZXF1aXJlZEFsaWduUmlnaHQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBsYWJlbFBsYWNlbWVudENsYXNzID0gaW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlXG4gICAgICAgICAgICAgICAgPyBjbGFzc2VzW2Ake2lubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZX1MYWJlbFBsYWNlbWVudGAgYXMga2V5b2YgdHlwZW9mIGNsYXNzZXNdXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNWYWx1ZUNsYXNzID0gaGFzVmFsdWUgPyBjbGFzc2VzLmhhc1ZhbHVlIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3Qga2VlcFBsYWNlaG9sZGVyQ2xhc3MgPSBoYXNQbGFjZWhvbGRlciAmJiBwbGFjZWhvbGRlclNob3duICYmIGNsYXNzZXMua2VlcFBsYWNlaG9sZGVyO1xuXG4gICAgICAgICAgICBjb25zdCB3cmFwcGVyV2l0aG91dExlZnRDb250ZW50ID1cbiAgICAgICAgICAgICAgICAhY29udGVudExlZnQgJiYgaXNDaGlwc1Zpc2libGUgJiYgY2hpcFR5cGUgPT09ICdkZWZhdWx0JyA/IGNsYXNzZXMuaGFzRW1wdHlDb250ZW50TGVmdCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50ID1cbiAgICAgICAgICAgICAgICAhY29udGVudFJpZ2h0ICYmIGlzQ2hpcHNWaXNpYmxlICYmIGNoaXBUeXBlID09PSAnZGVmYXVsdCcgPyBjbGFzc2VzLmhhc0VtcHR5Q29udGVudFJpZ2h0IDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCBjb250ZW50UmlnaHRDb21wZW5zYXRpb25NYXJnaW4gPVxuICAgICAgICAgICAgICAgICFoYXNPdXRlckxhYmVsICYmIGhpbnRUZXh0ICYmIGhpbnRUYXJnZXRQbGFjZW1lbnQgPT09ICdpbm5lcidcbiAgICAgICAgICAgICAgICAgICAgPyBjbGFzc2VzLmNvbnRlbnRSaWdodENvbXBlbnNhdGlvbk1hcmdpblxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgaGludFJlZiA9IHVzZU91dHNpZGVDbGljazxIVE1MRGl2RWxlbWVudD4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldElzSGludFZpc2libGUoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBoaW50SW5uZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaGludEZvcmtSZWYgPSB1c2VGb3JrUmVmKGhpbnRSZWYsIGhpbnRJbm5lclJlZik7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUlucHV0OiBGb3JtRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKHZhbHVlKSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVGb2N1cyA9IChldmVudDogUmVhY3QuRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc0ZvY3VzKHRydWUpO1xuICAgICAgICAgICAgICAgIG9uRm9jdXM/LihldmVudCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVCbHVyID0gKGV2ZW50OiBSZWFjdC5Gb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzRm9jdXMoZmFsc2UpO1xuICAgICAgICAgICAgICAgIG9uQmx1cj8uKGV2ZW50KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUhpbnRTaG93ID0gKCkgPT4gc2V0SXNIaW50VmlzaWJsZSh0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUhpbnRIaWRlID0gKCkgPT4gc2V0SXNIaW50VmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVIaW50Q2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFoaW50VGV4dCB8fCBoaW50VHJpZ2dlciAhPT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0SXNQb3BvdmVyID0gZXZlbnQudGFyZ2V0ID09PSBoaW50SW5uZXJSZWYuY3VycmVudDtcbiAgICAgICAgICAgICAgICBjb25zdCByb290SGFzVGFyZ2V0ID0gaGludElubmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIGlmICghdGFyZ2V0SXNQb3BvdmVyICYmICFyb290SGFzVGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHNldElzSGludFZpc2libGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQgfHwgcmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHsgbWF4TGVuZ3RoLCB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgICAgICAgICAgaWYgKG1heExlbmd0aCAhPT0gLTEgJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2UoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChoYXNUZXh0QWZ0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gZ2V0SW5wdXRXaWR0aChldmVudC5jdXJyZW50VGFyZ2V0LCBpbnB1dENvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS53aWR0aCA9IGAke3RleHRXaWR0aH1weGA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlUGFzdGU6IENsaXBib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZCB8fCByZWFkT25seSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG9uUGFzdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgb25QYXN0ZShldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGhhc1RleHRBZnRlcikge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gZ2V0SW5wdXRXaWR0aChpbnB1dFJlZi5jdXJyZW50LCBpbnB1dENvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuc3R5bGUud2lkdGggPSBgJHt0ZXh0V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVDaGlwcyA9IChuZXdDaGlwczogQXJyYXk8Q2hpcFZhbHVlcz4sIG5ld1ZhbHVlczogQXJyYXk8VGV4dEZpZWxkUHJpbWl0aXZlVmFsdWU+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0Q2hpcHMobmV3Q2hpcHMpO1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHM/LihuZXdWYWx1ZXMpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgeyBoYW5kbGVJbnB1dEtleWRvd24sIGhhbmRsZUNoaXBLZXlEb3duLCBvbkNoaXBDbGVhciwgaGFuZGxlQ29udGVudEtleURvd24gfSA9IHVzZUtleU5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgIGNvbnRyb2xsZWRSZWZzLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgICAgIGNoaXBzLFxuICAgICAgICAgICAgICAgIGVudW1lcmF0aW9uVHlwZSxcbiAgICAgICAgICAgICAgICB1cGRhdGVDaGlwcyxcbiAgICAgICAgICAgICAgICBvblNlYXJjaCxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgICAgICBvbkVudGVyRGlzYWJsZWQ6IF9vbkVudGVyRGlzYWJsZWQsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3Qgb25DaGlwQ2xpY2sgPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KSA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSW5wdXRGb2N1cyA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVhZE9ubHkgfHwgZGlzYWJsZWQgfHwgIWlucHV0UmVmPy5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpbnB1dFJlZi5jdXJyZW50Lm9mZnNldExlZnQsXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGdldFJlZiA9IChlbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudCB8IG51bGwsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBjaGlwc1JlZnM/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpcHNSZWZzLmN1cnJlbnRbaW5kZXhdID0gZWxlbWVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVPbktleURvd24gPSAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+ICYgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZUlucHV0S2V5ZG93bihldmVudCk7XG5cbiAgICAgICAgICAgICAgICBpZiAob25LZXlEb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaGFzVGV4dEFmdGVyICYmIGlucHV0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gZ2V0SW5wdXRXaWR0aChpbnB1dFJlZi5jdXJyZW50LCBpbnB1dENvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5zdHlsZS53aWR0aCA9IGAke3RleHRXaWR0aH1weGA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudD8uc3R5bGUucmVtb3ZlUHJvcGVydHkoJ3dpZHRoJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgW2hhc1RleHRBZnRlciwgb3V0ZXJWYWx1ZV0pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNDaGlwRW51bWVyYXRpb24gJiYgIXZhbHVlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdDaGlwcyA9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz8ubWFwKCh2YWx1ZSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogYCR7aW5kZXh9XyR7dmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KSkgfHwgW107XG5cbiAgICAgICAgICAgICAgICBzZXRDaGlwcyhuZXdDaGlwcyk7XG4gICAgICAgICAgICB9LCBbaXNDaGlwRW51bWVyYXRpb24sIHZhbHVlc10pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc1ZhbHVlKEJvb2xlYW4ocmVzdD8uZGVmYXVsdFZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbcmVzdC5kZWZhdWx0VmFsdWVdKTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbb3V0ZXJWYWx1ZSwgaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyT3B0aW9uYWwgPSBCb29sZWFuKHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbCk7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaW5uZXJMYWJlbFZhbHVlICYmICFoYXNPdXRlckxhYmVsO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uYWxUZXh0Tm9kZSA9IGlubmVyT3B0aW9uYWwgPyAoXG4gICAgICAgICAgICAgICAgPFN0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4oaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA/IGlubmVyUGxhY2Vob2xkZXJWYWx1ZSA6IGlubmVyTGFiZWxWYWx1ZSkgJiYgJ1xceGEwJ31cbiAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICkgOiBudWxsO1xuXG4gICAgICAgICAgICBjb25zdCBjbGFzc1RleHRFbGxpcHNpcyA9XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICAgICAgICAgICAgICAhKHJlc3QgYXMgYW55KS5fdGV4dEVsbGlwc2lzRGlzYWJsZSAmJiAhdGV4dEFmdGVyID8gY2xhc3Nlcy5pbnB1dFRleHRFbGxpcHNpcyA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8Um9vdFxuICAgICAgICAgICAgICAgICAgICB2aWV3PXt2aWV3fVxuICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshZGlzYWJsZWQgJiYgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50PXtpbm5lckxhYmVsUGxhY2VtZW50VmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUlucHV0Rm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIGRhdGEtcm9vdFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNEaXZpZGVyQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNJbm5lckhpbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMudGV4dEZpZWxkR3JvdXBJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICAgICAgICAgIHsuLi4oaGludFRleHQgJiYgeyBoaW50VmlldywgaGludFNpemUgfSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7KGhhc091dGVyTGFiZWwgfHwgdGl0bGVDYXB0aW9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8T3V0ZXJMYWJlbFdyYXBwZXIgaXNJbm5lckxhYmVsPXtsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lckxhYmVsVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xhYmVsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGludFRleHQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aGludEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0hpbnRWaXNpYmxlPXtpc0hpbnRWaXNpYmxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdz17aGludEhhc0Fycm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0PXtoaW50Q29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50Q2xpY2s9e2hhbmRsZUhpbnRDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiBoYXNSZXF1aXJlZEluZGljYXRvciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hpbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEluZGljYXRvcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGl0bGVDYXB0aW9uICYmIDxUaXRsZUNhcHRpb24gZGF0YS1yb290Pnt0aXRsZUNhcHRpb259PC9UaXRsZUNhcHRpb24+fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9PdXRlckxhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWYg0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8uINCd0LUg0L7RgtC00LDQtdGC0YHRjyDQvdCw0YDRg9C20YMuXG4gICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhyZXN0IGFzIGFueSkuaW5wdXRXcmFwcGVyUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogIzE1NDQsINC4INC/0L7RgdC70LUg0YPQsdGA0LDRgtGMIGNsYXNzZXMuaW5wdXRXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhIYXNDaGlwcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVyV2l0aG91dExlZnRDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMuaW5wdXRXcmFwcGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyFoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgaGFzUmVxdWlyZWRJbmRpY2F0b3IgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnb3V0ZXInICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIaW50V3JhcHBlciBjbGFzc05hbWU9e2NsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtoaW50Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRleHQ9e2hpbnRUZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSGludFZpc2libGU9e2lzSGludFZpc2libGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUYXJnZXRJY29uPXtoaW50VGFyZ2V0SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludEhhc0Fycm93PXtoaW50SGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRPZmZzZXQ9e2hpbnRPZmZzZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50Q29udGVudExlZnQ9e2hpbnRDb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludFNob3c9e2hhbmRsZUhpbnRTaG93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0lubmVyTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudExlZnQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDb250ZW50TGVmdCBkYXRhLXJvb3QgaXNDbGVhcj17Y2xlYXJ9IGlzRGVmYXVsdFZpZXc9e2lzRGVmYXVsdFZpZXd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRDb250ZW50TGVmdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRMYWJlbFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtjb250ZW50UmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlQ29udGVudEtleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXt3aXRoSGFzQ2hpcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4odGV4dEJlZm9yZSAmJiBpc0NoaXBFbnVtZXJhdGlvbikgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEJlZm9yZT57dGV4dEJlZm9yZX08L1N0eWxlZFRleHRCZWZvcmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNDaGlwRW51bWVyYXRpb24gJiYgQm9vbGVhbihjaGlwcz8ubGVuZ3RoKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDaGlwcyBjbGFzc05hbWU9e2NsYXNzZXMuY2hpcHNXcmFwcGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjaGlwcz8ubWFwKCh7IGlkOiBjaGlwSWQsIHRleHQgfSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uVmlldyA9IGNoaXBWYWxpZGF0b3I/LihTdHJpbmcodGV4dCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc1ZpZXcgPSB2YWxpZGF0aW9uVmlldz8udmlldyB8fCBjaGlwVmlldztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRDaGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17Y2hpcElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXsoZWxlbWVudCkgPT4gZ2V0UmVmKGVsZW1lbnQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YCR7Y2hpcElkfV8ke2luZGV4fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ9e3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4gaGFuZGxlQ2hpcEtleURvd24oZXZlbnQsIGNoaXBJZCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGVhcj17KCkgPT4gb25DaGlwQ2xlYXIoY2hpcElkLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNoaXBDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaXBUeXBlPXtjaGlwVHlwZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXc9e3Jlc1ZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb290V3JhcHBlcj17Um9vdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86ICMxNTQ3XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfZm9yY2VDaGlwTWFuaXB1bGF0aW9uV2l0aFJlYWRvbmx5PXtfZm9yY2VDaGlwTWFuaXB1bGF0aW9uV2l0aFJlYWRvbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRDaGlwcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dENvbnRhaW5lciByZWY9e2lucHV0Q29udGFpbmVyUmVmfSBoYXNEeW5hbWljV2lkdGg9e2hhc1RleHRBZnRlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNUZXh0QmVmb3JlICYmIDxTdHlsZWRUZXh0QmVmb3JlPnt0ZXh0QmVmb3JlfTwvU3R5bGVkVGV4dEJlZm9yZT59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtpbnB1dEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17aW5uZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtvdXRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ9e2VudW1lcmF0aW9uVHlwZSA9PT0gJ2NoaXAnID8gY2hpcHMubGVuZ3RoID09PSAwICYmIHJlcXVpcmVkIDogcmVxdWlyZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtoZWxwZXJUZXh0SWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aW5uZXJQbGFjZWhvbGRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNWYWx1ZUNsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtlZXBQbGFjZWhvbGRlckNsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzVGV4dEVsbGlwc2lzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5ICYmIGNsYXNzZXMucmVhZE9ubHlJbnB1dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17IWRpc2FibGVkICYmIHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25JbnB1dD17aGFuZGxlSW5wdXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVPbktleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uUGFzdGU9e2hhbmRsZVBhc3RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10b3VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc0lubmVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGRhdGEtcm9vdCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aW5uZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyTGFiZWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlclNob3duICYmICFoYXNWYWx1ZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRQbGFjZWhvbGRlciBoYXNQYWRkaW5nPXtoYXNQbGFjZWhvbGRlclBhZGRpbmd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNUZXh0QmVmb3JlICYmIDxTdHlsZWRUZXh0QmVmb3JlIGlzSGlkZGVuPnt0ZXh0QmVmb3JlfTwvU3R5bGVkVGV4dEJlZm9yZT59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyUGxhY2Vob2xkZXJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzUGxhY2Vob2xkZXJPcHRpb25hbCAmJiBvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dFBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzVGV4dEFmdGVyICYmIDxTdHlsZWRUZXh0QWZ0ZXI+e3RleHRBZnRlcn08L1N0eWxlZFRleHRBZnRlcj59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkQ29udGVudFJpZ2h0V3JhcHBlciBjbGFzc05hbWU9e2N4KGNvbnRlbnRSaWdodENvbXBlbnNhdGlvbk1hcmdpbil9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50UmlnaHQgJiYgPFN0eWxlZENvbnRlbnRSaWdodCBkYXRhLXJvb3Q+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnRSaWdodD59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgaGludFRleHQgJiYgaGludFRhcmdldFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIaW50Q29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2hpbnRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRleHQ9e2hpbnRUZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRyaWdnZXI9e2hpbnRUcmlnZ2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNIaW50VmlzaWJsZT17aXNIaW50VmlzaWJsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUYXJnZXRJY29uPXtoaW50VGFyZ2V0SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRQbGFjZW1lbnQ9e2hpbnRQbGFjZW1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3c9e2hpbnRIYXNBcnJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRPZmZzZXQ9e2hpbnRPZmZzZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50V2lkdGg9e2hpbnRXaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdD17aGludENvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRTaG93PXtoYW5kbGVIaW50U2hvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNJbm5lckxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudFJpZ2h0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9JbnB1dFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHtsZWZ0SGVscGVyICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMZWZ0SGVscGVyIGRhdGEtcm9vdCBpZD17aGVscGVyVGV4dElkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bGVmdEhlbHBlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvTGVmdEhlbHBlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICk7XG5cbmV4cG9ydCBjb25zdCB0ZXh0RmllbGRDb25maWcgPSB7XG4gICAgbmFtZTogJ1RleHRGaWVsZCcsXG4gICAgdGFnOiAnZGl2JyxcbiAgICBsYXlvdXQ6IHRleHRGaWVsZFJvb3QsXG4gICAgYmFzZSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICAgIGNzczogdmlld0NTUyxcbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgY3NzOiBzaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICBjbGVhcjoge1xuICAgICAgICAgICAgY3NzOiBjbGVhckNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgY3NzOiBkaXNhYmxlZENTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWFkT25seToge1xuICAgICAgICAgICAgY3NzOiByZWFkT25seUNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbFBsYWNlbWVudDoge1xuICAgICAgICAgICAgY3NzOiBsYWJlbFBsYWNlbWVudENTUyxcbiAgICAgICAgfSxcbiAgICAgICAgaGludFZpZXc6IHtcbiAgICAgICAgICAgIGNzczogaGludFZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGhpbnRTaXplOiB7XG4gICAgICAgICAgICBjc3M6IGhpbnRTaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICBjaGlwVmlldzoge1xuICAgICAgICAgICAgY3NzOiBjaGlwVmlld0NTUyxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHNpemU6ICdtJyxcbiAgICAgICAgdmlldzogJ2RlZmF1bHQnLFxuICAgIH0sXG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNEb0IifQ== */");
|
123
|
+
export var base = /*#__PURE__*/ css("display:block;", "base", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCIsInNvdXJjZXMiOlsic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge1xuICAgIEZvcm1FdmVudEhhbmRsZXIsXG4gICAgQ2hhbmdlRXZlbnRIYW5kbGVyLFxuICAgIEtleWJvYXJkRXZlbnQsXG4gICAgQ2hhbmdlRXZlbnQsXG4gICAgTW91c2VFdmVudEhhbmRsZXIsXG4gICAgQ2xpcGJvYXJkRXZlbnRIYW5kbGVyLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VGb3JrUmVmIH0gZnJvbSAnQHNhbHV0ZWpzL3BsYXNtYS1jb3JlJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGN4LCBzYWZlVXNlSWQgfSBmcm9tICdzcmMvdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBSb290UHJvcHMgfSBmcm9tICdzcmMvZW5naW5lcyc7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tICdzcmMvaG9va3MnO1xuXG5pbXBvcnQgdHlwZSB7IENoaXBWYWx1ZXMsIFRleHRGaWVsZFByaW1pdGl2ZVZhbHVlLCBUZXh0RmllbGRQcm9wcywgVGV4dEZpZWxkUm9vdFByb3BzIH0gZnJvbSAnLi9UZXh0RmllbGQudHlwZXMnO1xuaW1wb3J0IHsgYmFzZSBhcyBzaXplQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19zaXplL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyB2aWV3Q1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL192aWV3L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBjbGVhckNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fY2xlYXIvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGRpc2FibGVkQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19kaXNhYmxlZC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgcmVhZE9ubHlDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3JlYWQtb25seS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgbGFiZWxQbGFjZW1lbnRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2xhYmVsLXBsYWNlbWVudC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgaGludFZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2hpbnQtdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgaGludFNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2hpbnQtc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2hpcFZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NoaXAtdmlldy9iYXNlJztcbmltcG9ydCB7XG4gICAgSW5wdXQsXG4gICAgSW5wdXRDb250YWluZXIsXG4gICAgTGVmdEhlbHBlcixcbiAgICBMYWJlbCxcbiAgICBJbnB1dFdyYXBwZXIsXG4gICAgSW5wdXRMYWJlbFdyYXBwZXIsXG4gICAgU3R5bGVkQ29udGVudExlZnQsXG4gICAgU3R5bGVkQ29udGVudFJpZ2h0LFxuICAgIFN0eWxlZENoaXBzLFxuICAgIFN0eWxlZFRleHRCZWZvcmUsXG4gICAgU3R5bGVkVGV4dEFmdGVyLFxuICAgIFN0eWxlZEluZGljYXRvcixcbiAgICBTdHlsZWRPcHRpb25hbFRleHQsXG4gICAgSW5wdXRQbGFjZWhvbGRlcixcbiAgICBPdXRlckxhYmVsV3JhcHBlcixcbiAgICBUaXRsZUNhcHRpb24sXG4gICAgU3R5bGVkSGludFdyYXBwZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yV3JhcHBlcixcbiAgICBTdHlsZWRDb250ZW50UmlnaHRXcmFwcGVyLFxufSBmcm9tICcuL1RleHRGaWVsZC5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEZpZWxkLnRva2Vucyc7XG5pbXBvcnQgeyBUZXh0RmllbGRDaGlwLCBUZXh0RmllbGRDaGlwTmV3IH0gZnJvbSAnLi91aSc7XG5pbXBvcnQgeyB1c2VLZXlOYXZpZ2F0aW9uIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQgeyBIaW50Q29tcG9uZW50IH0gZnJvbSAnLi91aS9IaW50L0hpbnQnO1xuaW1wb3J0IHsgZ2V0SW5wdXRXaWR0aCB9IGZyb20gJy4vZ2V0SW5wdXRXaWR0aCc7XG5cbmNvbnN0IG9wdGlvbmFsVGV4dCA9ICdvcHRpb25hbCc7XG5cbmV4cG9ydCBjb25zdCBiYXNlID0gY3NzYFxuICAgIC8qIE5PVEU6IFdlYmtpdCDQvdC1INC/0YDQuNC80LXQvdGP0LXRgiBvcGFjaXR5INC6IGlubGluZSDRgtC10LPQsNC8ICovXG4gICAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5jb25zdCBISU5UX0RFRkFVTFRfT0ZGU0VUOiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIDBdO1xuXG5leHBvcnQgY29uc3QgdGV4dEZpZWxkUm9vdCA9IChSb290OiBSb290UHJvcHM8SFRNTERpdkVsZW1lbnQsIFRleHRGaWVsZFJvb3RQcm9wcz4pID0+XG4gICAgZm9yd2FyZFJlZjxIVE1MSW5wdXRFbGVtZW50LCBUZXh0RmllbGRQcm9wcz4oXG4gICAgICAgIChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgc3R5bGUsXG5cbiAgICAgICAgICAgICAgICAvLyBsYXlvdXRcbiAgICAgICAgICAgICAgICBjb250ZW50TGVmdCxcbiAgICAgICAgICAgICAgICBjb250ZW50UmlnaHQsXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAga2VlcFBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIHRleHRCZWZvcmUsXG4gICAgICAgICAgICAgICAgdGV4dEFmdGVyLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIGxlZnRIZWxwZXIsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlID0gJ3BsYWluJyxcbiAgICAgICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudCA9ICdyaWdodCcsXG4gICAgICAgICAgICAgICAgaGFzUmVxdWlyZWRJbmRpY2F0b3IgPSB0cnVlLFxuICAgICAgICAgICAgICAgIHRpdGxlQ2FwdGlvbixcbiAgICAgICAgICAgICAgICBjaGlwVmlldyA9ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBjaGlwVmFsaWRhdG9yLFxuXG4gICAgICAgICAgICAgICAgLy8gaGludFxuICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyID0gJ2hvdmVyJyxcbiAgICAgICAgICAgICAgICBoaW50VGV4dCxcbiAgICAgICAgICAgICAgICBoaW50VmlldyA9ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBoaW50U2l6ZSA9ICdtJyxcbiAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbixcbiAgICAgICAgICAgICAgICBoaW50VGFyZ2V0UGxhY2VtZW50ID0gJ291dGVyJyxcbiAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50ID0gJ2F1dG8nLFxuICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdyxcbiAgICAgICAgICAgICAgICBoaW50T2Zmc2V0ID0gSElOVF9ERUZBVUxUX09GRlNFVCxcbiAgICAgICAgICAgICAgICBoaW50V2lkdGgsXG4gICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0LFxuXG4gICAgICAgICAgICAgICAgLy8gdmFyaWF0aW9uc1xuICAgICAgICAgICAgICAgIHZpZXcsXG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICByZWFkT25seSA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBjbGVhciA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIG9wdGlvbmFsLFxuICAgICAgICAgICAgICAgIGhhc0RpdmlkZXIsXG5cbiAgICAgICAgICAgICAgICAvLyBjb250cm9sbGVkXG4gICAgICAgICAgICAgICAgdmFsdWU6IG91dGVyVmFsdWUsXG4gICAgICAgICAgICAgICAgY2hpcHM6IHZhbHVlcyxcbiAgICAgICAgICAgICAgICBjaGlwVHlwZSA9ICdkZWZhdWx0JyxcblxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBfY2hpcHMsXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9vbkNoaXBDbGljayxcblxuICAgICAgICAgICAgICAgIC8vIGV2ZW50c1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHMsXG4gICAgICAgICAgICAgICAgb25TZWFyY2gsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duLFxuICAgICAgICAgICAgICAgIG9uRm9jdXMsXG4gICAgICAgICAgICAgICAgb25CbHVyLFxuICAgICAgICAgICAgICAgIG9uUGFzdGUsXG5cbiAgICAgICAgICAgICAgICAvLyDQn9GA0L7Qv9GB0Ysg0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8sINC90LUg0L7RgtC00LDQtdGC0YHRjyDQvdCw0YDRg9C20YMuXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9vbkVudGVyRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHksXG5cbiAgICAgICAgICAgICAgICAuLi5yZXN0XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVmLFxuICAgICAgICApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRDb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dEZvcmtSZWYgPSB1c2VGb3JrUmVmKGlucHV0UmVmLCByZWYpO1xuICAgICAgICAgICAgY29uc3QgY2hpcHNSZWZzID0gdXNlUmVmPEFycmF5PEhUTUxCdXR0b25FbGVtZW50Pj4oW10pO1xuXG4gICAgICAgICAgICBjb25zdCBjb250cm9sbGVkUmVmcyA9IHsgY29udGVudFJlZiwgaW5wdXRSZWYsIGNoaXBzUmVmcyB9O1xuXG4gICAgICAgICAgICBjb25zdCBbaGFzVmFsdWUsIHNldEhhc1ZhbHVlXSA9IHVzZVN0YXRlKFxuICAgICAgICAgICAgICAgIEJvb2xlYW4ob3V0ZXJWYWx1ZSkgfHwgQm9vbGVhbihpbnB1dFJlZj8uY3VycmVudD8udmFsdWUpIHx8IEJvb2xlYW4ocmVzdD8uZGVmYXVsdFZhbHVlKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBbaGFzRm9jdXMsIHNldEhhc0ZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgICAgICAgICAgY29uc3QgW2NoaXBzLCBzZXRDaGlwc10gPSB1c2VTdGF0ZTxBcnJheTxDaGlwVmFsdWVzPj4oW10pO1xuICAgICAgICAgICAgY29uc3QgW2lzSGludFZpc2libGUsIHNldElzSGludFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgICAgICAgICBjb25zdCB1bmlxSWQgPSBzYWZlVXNlSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IGlubmVySWQgPSBpZCB8fCB1bmlxSWQ7XG4gICAgICAgICAgICBjb25zdCBsYWJlbElkID0gc2FmZVVzZUlkKCk7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXJUZXh0SWQgPSBzYWZlVXNlSWQoKTtcblxuICAgICAgICAgICAgY29uc3QgaXNEZWZhdWx0VmlldyA9IHZpZXcgPT09ICdkZWZhdWx0JyB8fCByZWFkT25seSB8fCBkaXNhYmxlZDtcblxuICAgICAgICAgICAgY29uc3QgaXNDaGlwRW51bWVyYXRpb24gPSBlbnVtZXJhdGlvblR5cGUgPT09ICdjaGlwJztcbiAgICAgICAgICAgIGNvbnN0IGlzQ2hpcHNWaXNpYmxlID0gaXNDaGlwRW51bWVyYXRpb24gJiYgQm9vbGVhbihjaGlwcz8ubGVuZ3RoIHx8IF9jaGlwcz8ubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IHdpdGhIYXNDaGlwcyA9IGlzQ2hpcHNWaXNpYmxlID8gY2xhc3Nlcy5oYXNDaGlwcyA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgaGFzTGFiZWxWYWx1ZSA9IEJvb2xlYW4obGFiZWwpO1xuICAgICAgICAgICAgY29uc3QgaGFzSW5uZXJMYWJlbCA9IHNpemUgIT09ICd4cycgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWlzQ2hpcHNWaXNpYmxlICYmIGhhc0xhYmVsVmFsdWU7XG4gICAgICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gbGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgaGFzTGFiZWxWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGlubmVyS2VlcFBsYWNlaG9sZGVyID0ga2VlcFBsYWNlaG9sZGVyICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInO1xuICAgICAgICAgICAgY29uc3QgaGFzUGxhY2Vob2xkZXIgPSBCb29sZWFuKHBsYWNlaG9sZGVyKSAmJiAoaW5uZXJLZWVwUGxhY2Vob2xkZXIgfHwgIWhhc0lubmVyTGFiZWwpO1xuICAgICAgICAgICAgbGV0IGhhc1RleHRBZnRlciA9IEJvb2xlYW4odGV4dEFmdGVyKTtcbiAgICAgICAgICAgIGxldCBoYXNUZXh0QmVmb3JlID0gdGV4dEJlZm9yZSAmJiAhaXNDaGlwRW51bWVyYXRpb247XG4gICAgICAgICAgICBpZiAobGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWhhc1ZhbHVlICYmICFoYXNQbGFjZWhvbGRlciAmJiAhaGFzRm9jdXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFzVGV4dEFmdGVyID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGhhc1RleHRCZWZvcmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyUGFkZGluZyA9IGhhc0lubmVyTGFiZWwgJiYga2VlcFBsYWNlaG9sZGVyICYmIHNpemUgIT09ICd4cyc7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyTGFiZWxWYWx1ZSA9IGhhc0lubmVyTGFiZWwgfHwgaGFzT3V0ZXJMYWJlbCA/IGxhYmVsIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlID0gbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWhhc0lubmVyTGFiZWwgPyB1bmRlZmluZWQgOiBsYWJlbFBsYWNlbWVudDtcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJQbGFjZWhvbGRlclZhbHVlID0gaGFzUGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyU2hvd24gPSBCb29sZWFuKGlubmVyUGxhY2Vob2xkZXJWYWx1ZSkgJiYgIWhhc1ZhbHVlO1xuXG4gICAgICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzRGl2aWRlckNsYXNzID0gaGFzRGl2aWRlciA/IGNsYXNzZXMuaGFzRGl2aWRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc0lubmVySGludENsYXNzID0gaGludFRleHQgJiYgaGludFRhcmdldFBsYWNlbWVudCA9PT0gJ291dGVyJyA/IGNsYXNzZXMuaGFzSGludCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc0hpbnRDbGFzcyA9IGhpbnRUZXh0ID8gY2xhc3Nlcy5oYXNIaW50IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyA9IHJlcXVpcmVkUGxhY2VtZW50ID09PSAncmlnaHQnID8gY2xhc3Nlcy5yZXF1aXJlZEFsaWduUmlnaHQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBsYWJlbFBsYWNlbWVudENsYXNzID0gaW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlXG4gICAgICAgICAgICAgICAgPyBjbGFzc2VzW2Ake2lubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZX1MYWJlbFBsYWNlbWVudGAgYXMga2V5b2YgdHlwZW9mIGNsYXNzZXNdXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNWYWx1ZUNsYXNzID0gaGFzVmFsdWUgPyBjbGFzc2VzLmhhc1ZhbHVlIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3Qga2VlcFBsYWNlaG9sZGVyQ2xhc3MgPSBoYXNQbGFjZWhvbGRlciAmJiBwbGFjZWhvbGRlclNob3duICYmIGNsYXNzZXMua2VlcFBsYWNlaG9sZGVyO1xuXG4gICAgICAgICAgICBjb25zdCB3cmFwcGVyV2l0aG91dExlZnRDb250ZW50ID1cbiAgICAgICAgICAgICAgICAhY29udGVudExlZnQgJiYgaXNDaGlwc1Zpc2libGUgJiYgY2hpcFR5cGUgPT09ICdkZWZhdWx0JyA/IGNsYXNzZXMuaGFzRW1wdHlDb250ZW50TGVmdCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50ID1cbiAgICAgICAgICAgICAgICAhY29udGVudFJpZ2h0ICYmIGlzQ2hpcHNWaXNpYmxlICYmIGNoaXBUeXBlID09PSAnZGVmYXVsdCcgPyBjbGFzc2VzLmhhc0VtcHR5Q29udGVudFJpZ2h0IDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCBjb250ZW50UmlnaHRDb21wZW5zYXRpb25NYXJnaW4gPVxuICAgICAgICAgICAgICAgICFoYXNPdXRlckxhYmVsICYmIGhpbnRUZXh0ICYmIGhpbnRUYXJnZXRQbGFjZW1lbnQgPT09ICdpbm5lcidcbiAgICAgICAgICAgICAgICAgICAgPyBjbGFzc2VzLmNvbnRlbnRSaWdodENvbXBlbnNhdGlvbk1hcmdpblxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgaGludFJlZiA9IHVzZU91dHNpZGVDbGljazxIVE1MRGl2RWxlbWVudD4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldElzSGludFZpc2libGUoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBoaW50SW5uZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaGludEZvcmtSZWYgPSB1c2VGb3JrUmVmKGhpbnRSZWYsIGhpbnRJbm5lclJlZik7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUlucHV0OiBGb3JtRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKHZhbHVlKSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVGb2N1cyA9IChldmVudDogUmVhY3QuRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc0ZvY3VzKHRydWUpO1xuICAgICAgICAgICAgICAgIG9uRm9jdXM/LihldmVudCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVCbHVyID0gKGV2ZW50OiBSZWFjdC5Gb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzRm9jdXMoZmFsc2UpO1xuICAgICAgICAgICAgICAgIG9uQmx1cj8uKGV2ZW50KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUhpbnRTaG93ID0gKCkgPT4gc2V0SXNIaW50VmlzaWJsZSh0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUhpbnRIaWRlID0gKCkgPT4gc2V0SXNIaW50VmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVIaW50Q2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFoaW50VGV4dCB8fCBoaW50VHJpZ2dlciAhPT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0SXNQb3BvdmVyID0gZXZlbnQudGFyZ2V0ID09PSBoaW50SW5uZXJSZWYuY3VycmVudDtcbiAgICAgICAgICAgICAgICBjb25zdCByb290SGFzVGFyZ2V0ID0gaGludElubmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIGlmICghdGFyZ2V0SXNQb3BvdmVyICYmICFyb290SGFzVGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHNldElzSGludFZpc2libGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQgfHwgcmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHsgbWF4TGVuZ3RoLCB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgICAgICAgICAgaWYgKG1heExlbmd0aCAhPT0gLTEgJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2UoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChoYXNUZXh0QWZ0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gZ2V0SW5wdXRXaWR0aChldmVudC5jdXJyZW50VGFyZ2V0LCBpbnB1dENvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS53aWR0aCA9IGAke3RleHRXaWR0aH1weGA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlUGFzdGU6IENsaXBib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZCB8fCByZWFkT25seSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG9uUGFzdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgb25QYXN0ZShldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGhhc1RleHRBZnRlcikge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gZ2V0SW5wdXRXaWR0aChpbnB1dFJlZi5jdXJyZW50LCBpbnB1dENvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuc3R5bGUud2lkdGggPSBgJHt0ZXh0V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVDaGlwcyA9IChuZXdDaGlwczogQXJyYXk8Q2hpcFZhbHVlcz4sIG5ld1ZhbHVlczogQXJyYXk8VGV4dEZpZWxkUHJpbWl0aXZlVmFsdWU+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0Q2hpcHMobmV3Q2hpcHMpO1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHM/LihuZXdWYWx1ZXMpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgeyBoYW5kbGVJbnB1dEtleWRvd24sIGhhbmRsZUNoaXBLZXlEb3duLCBvbkNoaXBDbGVhciwgaGFuZGxlQ29udGVudEtleURvd24gfSA9IHVzZUtleU5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgIGNvbnRyb2xsZWRSZWZzLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgICAgIGNoaXBzLFxuICAgICAgICAgICAgICAgIGVudW1lcmF0aW9uVHlwZSxcbiAgICAgICAgICAgICAgICB1cGRhdGVDaGlwcyxcbiAgICAgICAgICAgICAgICBvblNlYXJjaCxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgICAgICBvbkVudGVyRGlzYWJsZWQ6IF9vbkVudGVyRGlzYWJsZWQsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3Qgb25DaGlwQ2xpY2sgPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KSA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSW5wdXRGb2N1cyA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVhZE9ubHkgfHwgZGlzYWJsZWQgfHwgIWlucHV0UmVmPy5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpbnB1dFJlZi5jdXJyZW50Lm9mZnNldExlZnQsXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGdldFJlZiA9IChlbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudCB8IG51bGwsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBjaGlwc1JlZnM/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpcHNSZWZzLmN1cnJlbnRbaW5kZXhdID0gZWxlbWVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVPbktleURvd24gPSAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+ICYgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZUlucHV0S2V5ZG93bihldmVudCk7XG5cbiAgICAgICAgICAgICAgICBpZiAob25LZXlEb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaGFzVGV4dEFmdGVyICYmIGlucHV0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gZ2V0SW5wdXRXaWR0aChpbnB1dFJlZi5jdXJyZW50LCBpbnB1dENvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5zdHlsZS53aWR0aCA9IGAke3RleHRXaWR0aH1weGA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudD8uc3R5bGUucmVtb3ZlUHJvcGVydHkoJ3dpZHRoJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgW2hhc1RleHRBZnRlciwgb3V0ZXJWYWx1ZV0pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNDaGlwRW51bWVyYXRpb24gJiYgIXZhbHVlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdDaGlwcyA9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz8ubWFwKCh2YWx1ZSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogYCR7aW5kZXh9XyR7dmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KSkgfHwgW107XG5cbiAgICAgICAgICAgICAgICBzZXRDaGlwcyhuZXdDaGlwcyk7XG4gICAgICAgICAgICB9LCBbaXNDaGlwRW51bWVyYXRpb24sIHZhbHVlc10pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc1ZhbHVlKEJvb2xlYW4ocmVzdD8uZGVmYXVsdFZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbcmVzdC5kZWZhdWx0VmFsdWVdKTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbb3V0ZXJWYWx1ZSwgaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyT3B0aW9uYWwgPSBCb29sZWFuKHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbCk7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaW5uZXJMYWJlbFZhbHVlICYmICFoYXNPdXRlckxhYmVsO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uYWxUZXh0Tm9kZSA9IGlubmVyT3B0aW9uYWwgPyAoXG4gICAgICAgICAgICAgICAgPFN0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4oaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA/IGlubmVyUGxhY2Vob2xkZXJWYWx1ZSA6IGlubmVyTGFiZWxWYWx1ZSkgJiYgJ1xceGEwJ31cbiAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICkgOiBudWxsO1xuXG4gICAgICAgICAgICBjb25zdCBjbGFzc1RleHRFbGxpcHNpcyA9XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICAgICAgICAgICAgICAhKHJlc3QgYXMgYW55KS5fdGV4dEVsbGlwc2lzRGlzYWJsZSAmJiAhdGV4dEFmdGVyID8gY2xhc3Nlcy5pbnB1dFRleHRFbGxpcHNpcyA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8Um9vdFxuICAgICAgICAgICAgICAgICAgICB2aWV3PXt2aWV3fVxuICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshZGlzYWJsZWQgJiYgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50PXtpbm5lckxhYmVsUGxhY2VtZW50VmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUlucHV0Rm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIGRhdGEtcm9vdFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNEaXZpZGVyQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNJbm5lckhpbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMudGV4dEZpZWxkR3JvdXBJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICAgICAgICAgIHsuLi4oaGludFRleHQgJiYgeyBoaW50VmlldywgaGludFNpemUgfSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7KGhhc091dGVyTGFiZWwgfHwgdGl0bGVDYXB0aW9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8T3V0ZXJMYWJlbFdyYXBwZXIgaXNJbm5lckxhYmVsPXtsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lckxhYmVsVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xhYmVsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGludFRleHQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aGludEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0hpbnRWaXNpYmxlPXtpc0hpbnRWaXNpYmxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdz17aGludEhhc0Fycm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0PXtoaW50Q29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50Q2xpY2s9e2hhbmRsZUhpbnRDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiBoYXNSZXF1aXJlZEluZGljYXRvciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hpbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEluZGljYXRvcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGl0bGVDYXB0aW9uICYmIDxUaXRsZUNhcHRpb24gZGF0YS1yb290Pnt0aXRsZUNhcHRpb259PC9UaXRsZUNhcHRpb24+fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9PdXRlckxhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWYg0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8uINCd0LUg0L7RgtC00LDQtdGC0YHRjyDQvdCw0YDRg9C20YMuXG4gICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhyZXN0IGFzIGFueSkuaW5wdXRXcmFwcGVyUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogIzE1NDQsINC4INC/0L7RgdC70LUg0YPQsdGA0LDRgtGMIGNsYXNzZXMuaW5wdXRXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhIYXNDaGlwcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVyV2l0aG91dExlZnRDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMuaW5wdXRXcmFwcGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyFoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgaGFzUmVxdWlyZWRJbmRpY2F0b3IgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnb3V0ZXInICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIaW50V3JhcHBlciBjbGFzc05hbWU9e2NsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtoaW50Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRleHQ9e2hpbnRUZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSGludFZpc2libGU9e2lzSGludFZpc2libGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUYXJnZXRJY29uPXtoaW50VGFyZ2V0SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludEhhc0Fycm93PXtoaW50SGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRPZmZzZXQ9e2hpbnRPZmZzZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50Q29udGVudExlZnQ9e2hpbnRDb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludFNob3c9e2hhbmRsZUhpbnRTaG93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0lubmVyTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudExlZnQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDb250ZW50TGVmdCBkYXRhLXJvb3QgaXNDbGVhcj17Y2xlYXJ9IGlzRGVmYXVsdFZpZXc9e2lzRGVmYXVsdFZpZXd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRDb250ZW50TGVmdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRMYWJlbFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtjb250ZW50UmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlQ29udGVudEtleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXt3aXRoSGFzQ2hpcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4odGV4dEJlZm9yZSAmJiBpc0NoaXBFbnVtZXJhdGlvbikgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEJlZm9yZT57dGV4dEJlZm9yZX08L1N0eWxlZFRleHRCZWZvcmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtCb29sZWFuKF9jaGlwcz8ubGVuZ3RoKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRDaGlwTmV3XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlwcz17X2NoaXBzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGlwQ2xpY2s9e19vbkNoaXBDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFJlZj17Z2V0UmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hpcEtleURvd249e2hhbmRsZUNoaXBLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGlwQ2xlYXI9e29uQ2hpcENsZWFyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlldz17dmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzQ2hpcEVudW1lcmF0aW9uICYmIEJvb2xlYW4oY2hpcHM/Lmxlbmd0aCkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkQ2hpcHMgY2xhc3NOYW1lPXtjbGFzc2VzLmNoaXBzV3JhcHBlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2hpcHM/Lm1hcCgoeyBpZDogY2hpcElkLCB0ZXh0IH0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvblZpZXcgPSBjaGlwVmFsaWRhdG9yPy4oU3RyaW5nKHRleHQpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNWaWV3ID0gdmFsaWRhdGlvblZpZXc/LnZpZXcgfHwgY2hpcFZpZXc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGV4dEZpZWxkQ2hpcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2NoaXBJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17KGVsZW1lbnQpID0+IGdldFJlZihlbGVtZW50LCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2Ake2NoaXBJZH1fJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0PXt0ZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IGhhbmRsZUNoaXBLZXlEb3duKGV2ZW50LCBjaGlwSWQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xlYXI9eygpID0+IG9uQ2hpcENsZWFyKGNoaXBJZCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17b25DaGlwQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlwVHlwZT17Y2hpcFR5cGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3PXtyZXNWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vdFdyYXBwZXI9e1Jvb3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiAjMTU0N1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2ZvcmNlQ2hpcE1hbmlwdWxhdGlvbldpdGhSZWFkb25seT17X2ZvcmNlQ2hpcE1hbmlwdWxhdGlvbldpdGhSZWFkb25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQ2hpcHM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRDb250YWluZXIgcmVmPXtpbnB1dENvbnRhaW5lclJlZn0gaGFzRHluYW1pY1dpZHRoPXtoYXNUZXh0QWZ0ZXJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzVGV4dEJlZm9yZSAmJiA8U3R5bGVkVGV4dEJlZm9yZT57dGV4dEJlZm9yZX08L1N0eWxlZFRleHRCZWZvcmU+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aW5wdXRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2lubmVySWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17b3V0ZXJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkPXtlbnVtZXJhdGlvblR5cGUgPT09ICdjaGlwJyA/IGNoaXBzLmxlbmd0aCA9PT0gMCAmJiByZXF1aXJlZCA6IHJlcXVpcmVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtsYWJlbElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17aGVscGVyVGV4dElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2lubmVyUGxhY2Vob2xkZXJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzVmFsdWVDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZWVwUGxhY2Vob2xkZXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc1RleHRFbGxpcHNpcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seSAmJiBjbGFzc2VzLnJlYWRPbmx5SW5wdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9eyFkaXNhYmxlZCAmJiByZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uSW5wdXQ9e2hhbmRsZUlucHV0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlT25LZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e2hhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblBhc3RlPXtoYW5kbGVQYXN0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdG91clxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNJbm5lckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBkYXRhLXJvb3QgaWQ9e2xhYmVsSWR9IGh0bWxGb3I9e2lubmVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lckxhYmVsVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGxhY2Vob2xkZXJTaG93biAmJiAhaGFzVmFsdWUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0UGxhY2Vob2xkZXIgaGFzUGFkZGluZz17aGFzUGxhY2Vob2xkZXJQYWRkaW5nfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzVGV4dEJlZm9yZSAmJiA8U3R5bGVkVGV4dEJlZm9yZSBpc0hpZGRlbj57dGV4dEJlZm9yZX08L1N0eWxlZFRleHRCZWZvcmU+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lclBsYWNlaG9sZGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1BsYWNlaG9sZGVyT3B0aW9uYWwgJiYgb3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1RleHRBZnRlciAmJiA8U3R5bGVkVGV4dEFmdGVyPnt0ZXh0QWZ0ZXJ9PC9TdHlsZWRUZXh0QWZ0ZXI+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0TGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRSaWdodFdyYXBwZXIgY2xhc3NOYW1lPXtjeChjb250ZW50UmlnaHRDb21wZW5zYXRpb25NYXJnaW4pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudFJpZ2h0ICYmIDxTdHlsZWRDb250ZW50UmlnaHQgZGF0YS1yb290Pntjb250ZW50UmlnaHR9PC9TdHlsZWRDb250ZW50UmlnaHQ+fVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyFoYXNPdXRlckxhYmVsICYmIGhpbnRUZXh0ICYmIGhpbnRUYXJnZXRQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGludENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtoaW50Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUZXh0PXtoaW50VGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyPXtoaW50VHJpZ2dlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSGludFZpc2libGU9e2lzSGludFZpc2libGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbj17aGludFRhcmdldEljb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50PXtoaW50UGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludEhhc0Fycm93PXtoaW50SGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50T2Zmc2V0PXtoaW50T2Zmc2V0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFdpZHRoPXtoaW50V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50Q29udGVudExlZnQ9e2hpbnRDb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50Q2xpY2s9e2hhbmRsZUhpbnRDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSW5uZXJMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZENvbnRlbnRSaWdodFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICB7bGVmdEhlbHBlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8TGVmdEhlbHBlciBkYXRhLXJvb3QgaWQ9e2hlbHBlclRleHRJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2xlZnRIZWxwZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xlZnRIZWxwZXI+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9Sb290PlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICApO1xuXG5leHBvcnQgY29uc3QgdGV4dEZpZWxkQ29uZmlnID0ge1xuICAgIG5hbWU6ICdUZXh0RmllbGQnLFxuICAgIHRhZzogJ2RpdicsXG4gICAgbGF5b3V0OiB0ZXh0RmllbGRSb290LFxuICAgIGJhc2UsXG4gICAgdmFyaWF0aW9uczoge1xuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgICBjc3M6IHZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIGNzczogc2l6ZUNTUyxcbiAgICAgICAgfSxcbiAgICAgICAgY2xlYXI6IHtcbiAgICAgICAgICAgIGNzczogY2xlYXJDU1MsXG4gICAgICAgICAgICBhdHRyczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgICAgIGNzczogZGlzYWJsZWRDU1MsXG4gICAgICAgICAgICBhdHRyczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVhZE9ubHk6IHtcbiAgICAgICAgICAgIGNzczogcmVhZE9ubHlDU1MsXG4gICAgICAgICAgICBhdHRyczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWxQbGFjZW1lbnQ6IHtcbiAgICAgICAgICAgIGNzczogbGFiZWxQbGFjZW1lbnRDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGhpbnRWaWV3OiB7XG4gICAgICAgICAgICBjc3M6IGhpbnRWaWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBoaW50U2l6ZToge1xuICAgICAgICAgICAgY3NzOiBoaW50U2l6ZUNTUyxcbiAgICAgICAgfSxcbiAgICAgICAgY2hpcFZpZXc6IHtcbiAgICAgICAgICAgIGNzczogY2hpcFZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0czoge1xuICAgICAgICBzaXplOiAnbScsXG4gICAgICAgIHZpZXc6ICdkZWZhdWx0JyxcbiAgICB9LFxufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzRG9CIn0= */");
|
124
124
|
var HINT_DEFAULT_OFFSET = [
|
125
125
|
0,
|
126
126
|
0
|
@@ -131,7 +131,9 @@ export var textFieldRoot = function(Root) {
|
|
131
131
|
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
132
|
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
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
|
134
|
-
outerValue = _param.value, values = _param.chips, _param_chipType = _param.chipType, chipType = _param_chipType === void 0 ? 'default' : _param_chipType, //
|
134
|
+
outerValue = _param.value, values = _param.chips, _param_chipType = _param.chipType, chipType = _param_chipType === void 0 ? 'default' : _param_chipType, // @ts-ignore
|
135
|
+
_chips = _param._chips, // @ts-ignore
|
136
|
+
_onChipClick = _param._onChipClick, // events
|
135
137
|
onChange = _param.onChange, onChangeChips = _param.onChangeChips, onSearch = _param.onSearch, onKeyDown = _param.onKeyDown, onFocus = _param.onFocus, onBlur = _param.onBlur, onPaste = _param.onPaste, // Пропсы для внутреннего использования, не отдается наружу.
|
136
138
|
// @ts-ignore
|
137
139
|
_onEnterDisabled = _param._onEnterDisabled, // @ts-ignore
|
@@ -176,6 +178,8 @@ export var textFieldRoot = function(Root) {
|
|
176
178
|
"value",
|
177
179
|
"chips",
|
178
180
|
"chipType",
|
181
|
+
"_chips",
|
182
|
+
"_onChipClick",
|
179
183
|
"onChange",
|
180
184
|
"onChangeChips",
|
181
185
|
"onSearch",
|
@@ -207,7 +211,7 @@ export var textFieldRoot = function(Root) {
|
|
207
211
|
var helperTextId = safeUseId();
|
208
212
|
var isDefaultView = view === 'default' || readOnly || disabled;
|
209
213
|
var isChipEnumeration = enumerationType === 'chip';
|
210
|
-
var isChipsVisible = isChipEnumeration && Boolean(chips === null || chips === void 0 ? void 0 : chips.length);
|
214
|
+
var isChipsVisible = isChipEnumeration && Boolean((chips === null || chips === void 0 ? void 0 : chips.length) || (_chips === null || _chips === void 0 ? void 0 : _chips.length));
|
211
215
|
var withHasChips = isChipsVisible ? classes.hasChips : undefined;
|
212
216
|
var hasLabelValue = Boolean(label);
|
213
217
|
var hasInnerLabel = size !== 'xs' && labelPlacement === 'inner' && !isChipsVisible && hasLabelValue;
|
@@ -462,7 +466,15 @@ export var textFieldRoot = function(Root) {
|
|
462
466
|
ref: contentRef,
|
463
467
|
onKeyDown: handleContentKeyDown,
|
464
468
|
className: withHasChips
|
465
|
-
}, Boolean(textBefore && isChipEnumeration) && /*#__PURE__*/ React.createElement(StyledTextBefore, null, textBefore),
|
469
|
+
}, Boolean(textBefore && isChipEnumeration) && /*#__PURE__*/ React.createElement(StyledTextBefore, null, textBefore), Boolean(_chips === null || _chips === void 0 ? void 0 : _chips.length) && /*#__PURE__*/ React.createElement(TextFieldChipNew, {
|
470
|
+
chips: _chips,
|
471
|
+
onChipClick: _onChipClick,
|
472
|
+
getRef: getRef,
|
473
|
+
handleChipKeyDown: handleChipKeyDown,
|
474
|
+
onChipClear: onChipClear,
|
475
|
+
view: view,
|
476
|
+
readOnly: readOnly
|
477
|
+
}), isChipEnumeration && Boolean(chips === null || chips === void 0 ? void 0 : chips.length) && /*#__PURE__*/ React.createElement(StyledChips, {
|
466
478
|
className: classes.chipsWrapper
|
467
479
|
}, chips === null || chips === void 0 ? void 0 : chips.map(function(param, index) {
|
468
480
|
var chipId = param.id, text = param.text;
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { StyledChips } from "../../TextField.styles";
|
3
|
+
import { classes } from "../../TextField.tokens";
|
4
|
+
import { StyledChip } from "./TextFieldChipNew.styles";
|
5
|
+
export var TextFieldChipNew = function(param) {
|
6
|
+
var chips = param.chips, onChipClick = param.onChipClick, getRef = param.getRef, handleChipKeyDown = param.handleChipKeyDown, onChipClear = param.onChipClear, readOnly = param.readOnly, view = param.view;
|
7
|
+
return /*#__PURE__*/ React.createElement(StyledChips, {
|
8
|
+
className: classes.chipsWrapper
|
9
|
+
}, chips.map(function(param, index) {
|
10
|
+
var value = param.value, label = param.label, disabled = param.disabled;
|
11
|
+
var chipId = "".concat(index, "_").concat(value);
|
12
|
+
var onKeyDownHandle = function(event) {
|
13
|
+
if (handleChipKeyDown) {
|
14
|
+
handleChipKeyDown(event, chipId, index);
|
15
|
+
}
|
16
|
+
if (event.key === 'Enter' || event.key === 'Backspace') {
|
17
|
+
if (onChipClick) {
|
18
|
+
onChipClick({
|
19
|
+
value: value,
|
20
|
+
label: label,
|
21
|
+
disabled: disabled
|
22
|
+
});
|
23
|
+
}
|
24
|
+
}
|
25
|
+
};
|
26
|
+
var handleClick = function(event) {
|
27
|
+
event.stopPropagation();
|
28
|
+
if (onChipClick) {
|
29
|
+
onChipClick({
|
30
|
+
value: value,
|
31
|
+
label: label,
|
32
|
+
disabled: disabled
|
33
|
+
});
|
34
|
+
}
|
35
|
+
if (onChipClear) {
|
36
|
+
onChipClear(chipId, index);
|
37
|
+
}
|
38
|
+
};
|
39
|
+
return /*#__PURE__*/ React.createElement(StyledChip, {
|
40
|
+
key: chipId,
|
41
|
+
ref: function(element) {
|
42
|
+
return getRef(element, index);
|
43
|
+
},
|
44
|
+
tabIndex: -1,
|
45
|
+
disabled: disabled,
|
46
|
+
hasClear: !disabled,
|
47
|
+
readOnly: readOnly,
|
48
|
+
onClick: handleClick,
|
49
|
+
onKeyDown: onKeyDownHandle,
|
50
|
+
text: label,
|
51
|
+
view: view
|
52
|
+
});
|
53
|
+
}));
|
54
|
+
};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import styled from "@emotion/styled";
|
2
|
+
import { component, mergeConfig } from "../../../../engines";
|
3
|
+
import { addFocus } from "../../../../mixins";
|
4
|
+
import { chipConfig, chipTokens } from "../../../Chip";
|
5
|
+
import { tokens } from "../../TextField.tokens";
|
6
|
+
// issue #823
|
7
|
+
var mergedConfig = mergeConfig(chipConfig);
|
8
|
+
var Chip = component(mergedConfig);
|
9
|
+
// NOTE: Необходимое переопределение токенов из компонента Chip т.к. используются его части
|
10
|
+
export var StyledChip = /*#__PURE__*/ styled(Chip, {
|
11
|
+
target: "e1b8rfew0",
|
12
|
+
label: "StyledChip"
|
13
|
+
})(chipTokens.color, ":var(", tokens.chipColor, ");", chipTokens.background, ":var(", tokens.chipBackground, ");", chipTokens.colorHover, ":var(", tokens.chipColorHover, ");", chipTokens.backgroundHover, ":var(", tokens.chipBackgroundHover, ");", chipTokens.colorActive, ":var(", tokens.chipColorActive, ");", chipTokens.backgroundActive, ":var(", tokens.chipBackgroundActive, ");", chipTokens.backgroundReadOnly, ":var(", tokens.chipBackgroundReadOnly, ");", chipTokens.colorReadOnly, ":var(", tokens.chipColorReadOnly, ");", chipTokens.backgroundReadOnlyHover, ":var(", tokens.chipBackgroundReadOnlyHover, ");", chipTokens.colorReadOnlyHover, ":var(", tokens.chipColorReadOnlyHover, ");", chipTokens.borderRadius, ":var(", tokens.chipBorderRadius, ");", chipTokens.width, ":var(", tokens.chipWidth, ");", chipTokens.height, ":var(", tokens.chipHeight, ");", chipTokens.padding, ":var(", tokens.chipPadding, ");", chipTokens.fontFamily, ":var(", tokens.chipFontFamily, ");", chipTokens.fontSize, ":var(", tokens.chipFontSize, ");", chipTokens.fontStyle, ":var(", tokens.chipFontStyle, ");", chipTokens.fontWeight, ":var(", tokens.chipFontWeight, ");", chipTokens.letterSpacing, ":var(", tokens.chipLetterSpacing, ");", chipTokens.lineHeight, ":var(", tokens.chipLineHeight, ");", chipTokens.clearContentMarginLeft, ":var(", tokens.chipClearContentMarginLeft, ");", chipTokens.clearContentMarginRight, ":var(", tokens.chipClearContentMarginRight, ");", chipTokens.closeIconSize, ":var(", tokens.chipCloseIconSize, ");", chipTokens.closeIconColor, ":var(", tokens.chipCloseIconColor, ");", chipTokens.focusColor, ":var(", tokens.focusColor, ");", chipTokens.disabledOpacity, ":0.4;", addFocus({
|
14
|
+
outlineOffset: '0.0625rem',
|
15
|
+
outlineSize: '0.0625rem',
|
16
|
+
outlineRadius: "calc(var(".concat(tokens.chipBorderRadius, ") - 0.1rem)"),
|
17
|
+
outlineColor: "var(".concat(tokens.focusColor, ")")
|
18
|
+
}), " &[readonly]{opacity:var(", tokens.chipOpacityReadonly, ");}", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvdWkvVGV4dEZpZWxkQ2hpcE5ldy9UZXh0RmllbGRDaGlwTmV3LnN0eWxlcy50cyIsInNvdXJjZXMiOlsic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvdWkvVGV4dEZpZWxkQ2hpcE5ldy9UZXh0RmllbGRDaGlwTmV3LnN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBjb21wb25lbnQsIG1lcmdlQ29uZmlnIH0gZnJvbSAnc3JjL2VuZ2luZXMnO1xuaW1wb3J0IHsgYWRkRm9jdXMgfSBmcm9tICdzcmMvbWl4aW5zJztcbmltcG9ydCB7IGNoaXBDb25maWcsIGNoaXBUb2tlbnMgfSBmcm9tICdzcmMvY29tcG9uZW50cy9DaGlwJztcblxuaW1wb3J0IHsgdG9rZW5zIH0gZnJvbSAnLi4vLi4vVGV4dEZpZWxkLnRva2Vucyc7XG5cbi8vIGlzc3VlICM4MjNcbmNvbnN0IG1lcmdlZENvbmZpZyA9IG1lcmdlQ29uZmlnKGNoaXBDb25maWcpO1xuY29uc3QgQ2hpcCA9IGNvbXBvbmVudChtZXJnZWRDb25maWcpO1xuXG4vLyBOT1RFOiDQndC10L7QsdGF0L7QtNC40LzQvtC1INC/0LXRgNC10L7Qv9GA0LXQtNC10LvQtdC90LjQtSDRgtC+0LrQtdC90L7QsiDQuNC3INC60L7QvNC/0L7QvdC10L3RgtCwIENoaXAg0YIu0LouINC40YHQv9C+0LvRjNC30YPRjtGC0YHRjyDQtdCz0L4g0YfQsNGB0YLQuFxuZXhwb3J0IGNvbnN0IFN0eWxlZENoaXAgPSBzdHlsZWQoQ2hpcClgXG4gICAgJHtjaGlwVG9rZW5zLmNvbG9yfTogdmFyKCR7dG9rZW5zLmNoaXBDb2xvcn0pO1xuICAgICR7Y2hpcFRva2Vucy5iYWNrZ3JvdW5kfTogdmFyKCR7dG9rZW5zLmNoaXBCYWNrZ3JvdW5kfSk7XG4gICAgJHtjaGlwVG9rZW5zLmNvbG9ySG92ZXJ9OiB2YXIoJHt0b2tlbnMuY2hpcENvbG9ySG92ZXJ9KTtcbiAgICAke2NoaXBUb2tlbnMuYmFja2dyb3VuZEhvdmVyfTogdmFyKCR7dG9rZW5zLmNoaXBCYWNrZ3JvdW5kSG92ZXJ9KTtcbiAgICAke2NoaXBUb2tlbnMuY29sb3JBY3RpdmV9OiB2YXIoJHt0b2tlbnMuY2hpcENvbG9yQWN0aXZlfSk7XG4gICAgJHtjaGlwVG9rZW5zLmJhY2tncm91bmRBY3RpdmV9OiB2YXIoJHt0b2tlbnMuY2hpcEJhY2tncm91bmRBY3RpdmV9KTtcbiAgICAke2NoaXBUb2tlbnMuYmFja2dyb3VuZFJlYWRPbmx5fTogdmFyKCR7dG9rZW5zLmNoaXBCYWNrZ3JvdW5kUmVhZE9ubHl9KTtcbiAgICAke2NoaXBUb2tlbnMuY29sb3JSZWFkT25seX06IHZhcigke3Rva2Vucy5jaGlwQ29sb3JSZWFkT25seX0pO1xuICAgICR7Y2hpcFRva2Vucy5iYWNrZ3JvdW5kUmVhZE9ubHlIb3Zlcn06IHZhcigke3Rva2Vucy5jaGlwQmFja2dyb3VuZFJlYWRPbmx5SG92ZXJ9KTtcbiAgICAke2NoaXBUb2tlbnMuY29sb3JSZWFkT25seUhvdmVyfTogdmFyKCR7dG9rZW5zLmNoaXBDb2xvclJlYWRPbmx5SG92ZXJ9KTtcbiAgICAke2NoaXBUb2tlbnMuYm9yZGVyUmFkaXVzfTogdmFyKCR7dG9rZW5zLmNoaXBCb3JkZXJSYWRpdXN9KTtcbiAgICAke2NoaXBUb2tlbnMud2lkdGh9OiB2YXIoJHt0b2tlbnMuY2hpcFdpZHRofSk7XG4gICAgJHtjaGlwVG9rZW5zLmhlaWdodH06IHZhcigke3Rva2Vucy5jaGlwSGVpZ2h0fSk7XG4gICAgJHtjaGlwVG9rZW5zLnBhZGRpbmd9OiB2YXIoJHt0b2tlbnMuY2hpcFBhZGRpbmd9KTtcbiAgICAke2NoaXBUb2tlbnMuZm9udEZhbWlseX06IHZhcigke3Rva2Vucy5jaGlwRm9udEZhbWlseX0pO1xuICAgICR7Y2hpcFRva2Vucy5mb250U2l6ZX06IHZhcigke3Rva2Vucy5jaGlwRm9udFNpemV9KTtcbiAgICAke2NoaXBUb2tlbnMuZm9udFN0eWxlfTogdmFyKCR7dG9rZW5zLmNoaXBGb250U3R5bGV9KTtcbiAgICAke2NoaXBUb2tlbnMuZm9udFdlaWdodH06IHZhcigke3Rva2Vucy5jaGlwRm9udFdlaWdodH0pO1xuICAgICR7Y2hpcFRva2Vucy5sZXR0ZXJTcGFjaW5nfTogdmFyKCR7dG9rZW5zLmNoaXBMZXR0ZXJTcGFjaW5nfSk7XG4gICAgJHtjaGlwVG9rZW5zLmxpbmVIZWlnaHR9OiB2YXIoJHt0b2tlbnMuY2hpcExpbmVIZWlnaHR9KTtcbiAgICAke2NoaXBUb2tlbnMuY2xlYXJDb250ZW50TWFyZ2luTGVmdH06IHZhcigke3Rva2Vucy5jaGlwQ2xlYXJDb250ZW50TWFyZ2luTGVmdH0pO1xuICAgICR7Y2hpcFRva2Vucy5jbGVhckNvbnRlbnRNYXJnaW5SaWdodH06IHZhcigke3Rva2Vucy5jaGlwQ2xlYXJDb250ZW50TWFyZ2luUmlnaHR9KTtcbiAgICAke2NoaXBUb2tlbnMuY2xvc2VJY29uU2l6ZX06IHZhcigke3Rva2Vucy5jaGlwQ2xvc2VJY29uU2l6ZX0pO1xuICAgICR7Y2hpcFRva2Vucy5jbG9zZUljb25Db2xvcn06IHZhcigke3Rva2Vucy5jaGlwQ2xvc2VJY29uQ29sb3J9KTtcbiAgICAke2NoaXBUb2tlbnMuZm9jdXNDb2xvcn06IHZhcigke3Rva2Vucy5mb2N1c0NvbG9yfSk7XG4gICAgJHtjaGlwVG9rZW5zLmRpc2FibGVkT3BhY2l0eX06IDAuNDtcblxuICAgICR7YWRkRm9jdXMoe1xuICAgICAgICBvdXRsaW5lT2Zmc2V0OiAnMC4wNjI1cmVtJyxcbiAgICAgICAgb3V0bGluZVNpemU6ICcwLjA2MjVyZW0nLFxuICAgICAgICBvdXRsaW5lUmFkaXVzOiBgY2FsYyh2YXIoJHt0b2tlbnMuY2hpcEJvcmRlclJhZGl1c30pIC0gMC4xcmVtKWAsXG4gICAgICAgIG91dGxpbmVDb2xvcjogYHZhcigke3Rva2Vucy5mb2N1c0NvbG9yfSlgLFxuICAgIH0pfVxuXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgICBvcGFjaXR5OiB2YXIoJHt0b2tlbnMuY2hpcE9wYWNpdHlSZWFkb25seX0pO1xuICAgIH1cbmA7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWTBCIn0= */");
|
@@ -68,6 +68,8 @@
|
|
68
68
|
.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd{--plasma-chip-color:var(--plasma-textfield__chip-color);--plasma-chip-background:var(--plasma-textfield__chip-background);--plasma-chip-color-hover:var(--plasma-textfield__chip-color-hover);--plasma-chip-background-hover:var(--plasma-textfield__chip-background-hover);--plasma-chip-color-active:var(--plasma-textfield__chip-color-active);--plasma-chip-background-active:var(--plasma-textfield__chip-background-active);--plasma-chip-background-readonly:var(--plasma-textfield__chip-background-readonly);--plasma-chip-color-readonly:var(--plasma-textfield__chip-color-readonly);--plasma-chip-background-readonly-hover:var(--plasma-textfield__chip-background-readonly-hover);--plasma-chip-color-readonly-hover:var(--plasma-textfield__chip-color-readonly-hover);--plasma-chip-border-radius:var(--plasma-textfield__chip-border-radius);--plasma-chip-width:var(--plasma-textfield__chip-width);--plasma-chip-height:var(--plasma-textfield__chip-height);--plasma-chip-padding:var(--plasma-textfield__chip-padding);--plasma-chip-font-family:var(--plasma-textfield__chip-font-family);--plasma-chip-font-size:var(--plasma-textfield__chip-font-size);--plasma-chip-font-style:var(--plasma-textfield__chip-font-style);--plasma-chip-font-weight:var(--plasma-textfield__chip-font-weight);--plasma-chip-letter-spacing:var(--plasma-textfield__chip-letter-spacing);--plasma-chip-lineheight:var(--plasma-textfield__chip-line-height);--plasma-chip-clear-content-margin-left:var(--plasma-textfield__chip-clear-content-margin-left);--plasma-chip-clear-content-margin-right:var(--plasma-textfield__chip-clear-content-margin-right);--plasma-chip-close-icon-size:var(--plasma-textfield__chip-close-icon-size);--plasma-chip-close-icon-color:var(--plasma-textfield__chip-close-icon-color);--plasma-chip-focus-color:var(--plasma-textfield-focus-color);-webkit-scroll-snap-align:center;-moz-scroll-snap-align:center;-ms-scroll-snap-align:center;scroll-snap-align:center;-webkit-scroll-snap-stop:normal;-moz-scroll-snap-stop:normal;-ms-scroll-snap-stop:normal;scroll-snap-stop:normal;position:relative;}.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd::before{content:'';position:absolute;top:0.0625rem;left:0.0625rem;right:0.0625rem;bottom:0.0625rem;z-index:1;display:block;box-sizing:content-box;border:0.0625rem solid transparent;border-radius:calc(var(--plasma-textfield__chip-border-radius) - 0.1rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd.TextFieldChip_styles_14q069b_focusVisible__9f1b34fd:focus::before,.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.0625rem var(--plasma-textfield-focus-color);}.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd[readonly]{opacity:var(--plasma-textfield__chip-opacity-readonly);}
|
69
69
|
.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd{display:block;-webkit-flex:none;-ms-flex:none;flex:none;background:none;border:none;outline:none;padding:0;white-space:nowrap;cursor:pointer;font-family:var(--plasma-textfield-font-family);font-size:var(--plasma-textfield-font-size);font-style:var(--plasma-textfield-font-style);font-weight:var(--plasma-textfield-font-weight);-webkit-letter-spacing:var(--plasma-textfield-letter-spacing);-moz-letter-spacing:var(--plasma-textfield-letter-spacing);-ms-letter-spacing:var(--plasma-textfield-letter-spacing);letter-spacing:var(--plasma-textfield-letter-spacing);line-height:var(--plasma-textfield-line-height);color:var(--plasma-textfield-color);position:relative;}.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd::before{content:'';position:absolute;top:0.0625rem;left:0.0625rem;right:0.0625rem;bottom:0.0625rem;z-index:1;display:block;box-sizing:content-box;border:0.0625rem solid transparent;border-radius:calc(var(--plasma-textfield__chip-border-radius) - 0.1rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd.TextFieldChip_styles_14q069b_focusVisible__9f1b34fd:focus::before,.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.0625rem var(--plasma-textfield-focus-color);}.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd:after{content:',';}.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd:last-child:after{content:'';}
|
70
70
|
|
71
|
+
.TextFieldChipNew_styles_119gtz1_s11qqqhl__3dfbc3c5{--plasma-chip-color:var(--plasma-textfield__chip-color);--plasma-chip-background:var(--plasma-textfield__chip-background);--plasma-chip-color-hover:var(--plasma-textfield__chip-color-hover);--plasma-chip-background-hover:var(--plasma-textfield__chip-background-hover);--plasma-chip-color-active:var(--plasma-textfield__chip-color-active);--plasma-chip-background-active:var(--plasma-textfield__chip-background-active);--plasma-chip-background-readonly:var(--plasma-textfield__chip-background-readonly);--plasma-chip-color-readonly:var(--plasma-textfield__chip-color-readonly);--plasma-chip-background-readonly-hover:var(--plasma-textfield__chip-background-readonly-hover);--plasma-chip-color-readonly-hover:var(--plasma-textfield__chip-color-readonly-hover);--plasma-chip-border-radius:var(--plasma-textfield__chip-border-radius);--plasma-chip-width:var(--plasma-textfield__chip-width);--plasma-chip-height:var(--plasma-textfield__chip-height);--plasma-chip-padding:var(--plasma-textfield__chip-padding);--plasma-chip-font-family:var(--plasma-textfield__chip-font-family);--plasma-chip-font-size:var(--plasma-textfield__chip-font-size);--plasma-chip-font-style:var(--plasma-textfield__chip-font-style);--plasma-chip-font-weight:var(--plasma-textfield__chip-font-weight);--plasma-chip-letter-spacing:var(--plasma-textfield__chip-letter-spacing);--plasma-chip-lineheight:var(--plasma-textfield__chip-line-height);--plasma-chip-clear-content-margin-left:var(--plasma-textfield__chip-clear-content-margin-left);--plasma-chip-clear-content-margin-right:var(--plasma-textfield__chip-clear-content-margin-right);--plasma-chip-close-icon-size:var(--plasma-textfield__chip-close-icon-size);--plasma-chip-close-icon-color:var(--plasma-textfield__chip-close-icon-color);--plasma-chip-focus-color:var(--plasma-textfield-focus-color);--plasma-chip-disabled-opacity:0.4;position:relative;}.TextFieldChipNew_styles_119gtz1_s11qqqhl__3dfbc3c5::before{content:'';position:absolute;top:0.0625rem;left:0.0625rem;right:0.0625rem;bottom:0.0625rem;z-index:1;display:block;box-sizing:content-box;border:0.0625rem solid transparent;border-radius:calc(var(--plasma-textfield__chip-border-radius) - 0.1rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.TextFieldChipNew_styles_119gtz1_s11qqqhl__3dfbc3c5.TextFieldChipNew_styles_119gtz1_focusVisible__3dfbc3c5:focus::before,.TextFieldChipNew_styles_119gtz1_s11qqqhl__3dfbc3c5[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.0625rem var(--plasma-textfield-focus-color);}.TextFieldChipNew_styles_119gtz1_s11qqqhl__3dfbc3c5[readonly]{opacity:var(--plasma-textfield__chip-opacity-readonly);}
|
72
|
+
|
71
73
|
.IconRoot_7pl7ig_svvlqhf__32c458a1{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;width:var(--svvlqhf-0);height:var(--svvlqhf-0);-webkit-flex:0 0 var(--svvlqhf-0);-ms-flex:0 0 var(--svvlqhf-0);flex:0 0 var(--svvlqhf-0);}
|
72
74
|
|
73
75
|
.TextField_1lzb2r1_bpunezx__7d079491{display:block;}
|
@@ -68,6 +68,8 @@
|
|
68
68
|
.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd{--plasma-chip-color:var(--plasma-textfield__chip-color);--plasma-chip-background:var(--plasma-textfield__chip-background);--plasma-chip-color-hover:var(--plasma-textfield__chip-color-hover);--plasma-chip-background-hover:var(--plasma-textfield__chip-background-hover);--plasma-chip-color-active:var(--plasma-textfield__chip-color-active);--plasma-chip-background-active:var(--plasma-textfield__chip-background-active);--plasma-chip-background-readonly:var(--plasma-textfield__chip-background-readonly);--plasma-chip-color-readonly:var(--plasma-textfield__chip-color-readonly);--plasma-chip-background-readonly-hover:var(--plasma-textfield__chip-background-readonly-hover);--plasma-chip-color-readonly-hover:var(--plasma-textfield__chip-color-readonly-hover);--plasma-chip-border-radius:var(--plasma-textfield__chip-border-radius);--plasma-chip-width:var(--plasma-textfield__chip-width);--plasma-chip-height:var(--plasma-textfield__chip-height);--plasma-chip-padding:var(--plasma-textfield__chip-padding);--plasma-chip-font-family:var(--plasma-textfield__chip-font-family);--plasma-chip-font-size:var(--plasma-textfield__chip-font-size);--plasma-chip-font-style:var(--plasma-textfield__chip-font-style);--plasma-chip-font-weight:var(--plasma-textfield__chip-font-weight);--plasma-chip-letter-spacing:var(--plasma-textfield__chip-letter-spacing);--plasma-chip-lineheight:var(--plasma-textfield__chip-line-height);--plasma-chip-clear-content-margin-left:var(--plasma-textfield__chip-clear-content-margin-left);--plasma-chip-clear-content-margin-right:var(--plasma-textfield__chip-clear-content-margin-right);--plasma-chip-close-icon-size:var(--plasma-textfield__chip-close-icon-size);--plasma-chip-close-icon-color:var(--plasma-textfield__chip-close-icon-color);--plasma-chip-focus-color:var(--plasma-textfield-focus-color);-webkit-scroll-snap-align:center;-moz-scroll-snap-align:center;-ms-scroll-snap-align:center;scroll-snap-align:center;-webkit-scroll-snap-stop:normal;-moz-scroll-snap-stop:normal;-ms-scroll-snap-stop:normal;scroll-snap-stop:normal;position:relative;}.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd::before{content:'';position:absolute;top:0.0625rem;left:0.0625rem;right:0.0625rem;bottom:0.0625rem;z-index:1;display:block;box-sizing:content-box;border:0.0625rem solid transparent;border-radius:calc(var(--plasma-textfield__chip-border-radius) - 0.1rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd.TextFieldChip_styles_14q069b_focusVisible__9f1b34fd:focus::before,.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.0625rem var(--plasma-textfield-focus-color);}.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd[readonly]{opacity:var(--plasma-textfield__chip-opacity-readonly);}
|
69
69
|
.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd{display:block;-webkit-flex:none;-ms-flex:none;flex:none;background:none;border:none;outline:none;padding:0;white-space:nowrap;cursor:pointer;font-family:var(--plasma-textfield-font-family);font-size:var(--plasma-textfield-font-size);font-style:var(--plasma-textfield-font-style);font-weight:var(--plasma-textfield-font-weight);-webkit-letter-spacing:var(--plasma-textfield-letter-spacing);-moz-letter-spacing:var(--plasma-textfield-letter-spacing);-ms-letter-spacing:var(--plasma-textfield-letter-spacing);letter-spacing:var(--plasma-textfield-letter-spacing);line-height:var(--plasma-textfield-line-height);color:var(--plasma-textfield-color);position:relative;}.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd::before{content:'';position:absolute;top:0.0625rem;left:0.0625rem;right:0.0625rem;bottom:0.0625rem;z-index:1;display:block;box-sizing:content-box;border:0.0625rem solid transparent;border-radius:calc(var(--plasma-textfield__chip-border-radius) - 0.1rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd.TextFieldChip_styles_14q069b_focusVisible__9f1b34fd:focus::before,.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.0625rem var(--plasma-textfield-focus-color);}.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd:after{content:',';}.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd:last-child:after{content:'';}
|
70
70
|
|
71
|
+
.TextFieldChipNew_styles_119gtz1_s11qqqhl__3dfbc3c5{--plasma-chip-color:var(--plasma-textfield__chip-color);--plasma-chip-background:var(--plasma-textfield__chip-background);--plasma-chip-color-hover:var(--plasma-textfield__chip-color-hover);--plasma-chip-background-hover:var(--plasma-textfield__chip-background-hover);--plasma-chip-color-active:var(--plasma-textfield__chip-color-active);--plasma-chip-background-active:var(--plasma-textfield__chip-background-active);--plasma-chip-background-readonly:var(--plasma-textfield__chip-background-readonly);--plasma-chip-color-readonly:var(--plasma-textfield__chip-color-readonly);--plasma-chip-background-readonly-hover:var(--plasma-textfield__chip-background-readonly-hover);--plasma-chip-color-readonly-hover:var(--plasma-textfield__chip-color-readonly-hover);--plasma-chip-border-radius:var(--plasma-textfield__chip-border-radius);--plasma-chip-width:var(--plasma-textfield__chip-width);--plasma-chip-height:var(--plasma-textfield__chip-height);--plasma-chip-padding:var(--plasma-textfield__chip-padding);--plasma-chip-font-family:var(--plasma-textfield__chip-font-family);--plasma-chip-font-size:var(--plasma-textfield__chip-font-size);--plasma-chip-font-style:var(--plasma-textfield__chip-font-style);--plasma-chip-font-weight:var(--plasma-textfield__chip-font-weight);--plasma-chip-letter-spacing:var(--plasma-textfield__chip-letter-spacing);--plasma-chip-lineheight:var(--plasma-textfield__chip-line-height);--plasma-chip-clear-content-margin-left:var(--plasma-textfield__chip-clear-content-margin-left);--plasma-chip-clear-content-margin-right:var(--plasma-textfield__chip-clear-content-margin-right);--plasma-chip-close-icon-size:var(--plasma-textfield__chip-close-icon-size);--plasma-chip-close-icon-color:var(--plasma-textfield__chip-close-icon-color);--plasma-chip-focus-color:var(--plasma-textfield-focus-color);--plasma-chip-disabled-opacity:0.4;position:relative;}.TextFieldChipNew_styles_119gtz1_s11qqqhl__3dfbc3c5::before{content:'';position:absolute;top:0.0625rem;left:0.0625rem;right:0.0625rem;bottom:0.0625rem;z-index:1;display:block;box-sizing:content-box;border:0.0625rem solid transparent;border-radius:calc(var(--plasma-textfield__chip-border-radius) - 0.1rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.TextFieldChipNew_styles_119gtz1_s11qqqhl__3dfbc3c5.TextFieldChipNew_styles_119gtz1_focusVisible__3dfbc3c5:focus::before,.TextFieldChipNew_styles_119gtz1_s11qqqhl__3dfbc3c5[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.0625rem var(--plasma-textfield-focus-color);}.TextFieldChipNew_styles_119gtz1_s11qqqhl__3dfbc3c5[readonly]{opacity:var(--plasma-textfield__chip-opacity-readonly);}
|
72
|
+
|
71
73
|
.TextField_1lzb2r1_bpunezx__7d079491{display:block;}
|
72
74
|
|
73
75
|
.Target_styles_13wbfyq_s1wiuml6__487b4bb1{--plasma-textfield-color:var(--plasma-combobox-new-textfield-color);--plasma-textfield-clear-color:var(--plasma-combobox-new-textfield-color);--plasma-textfield-bg-color:var(--plasma-combobox-new-textfield-background-color);--plasma-textfield-bg-color-hover:var(--plasma-combobox-new-textfield-background-color-hover);--plasma-textfield-bg-color-focus:var(--plasma-combobox-new-textfield-background-color-focus);--plasma-textfield-border-color:var(--plasma-combobox-new-textfield-border-color);--plasma-textfield-border-color-hover:var(--plasma-combobox-new-textfield-border-color-hover);--plasma-textfield-border-color-focus:var(--plasma-combobox-new-textfield-border-color-focus);--plasma-textfield-color-readonly:var(--plasma-combobox-new-textfield-color-readonly);--plasma-textfield-bg-color-readonly:var(--plasma-combobox-new-textfield-bg-color-readonly);--plasma-textfield-border-color-readonly:var(--plasma-combobox-new-textfield-border-color-readonly);--plasma-textfield__placeholder-color-readonly:var(--plasma-combobox-new-textfield-placeholder-color-readonly);--plasma-textfield__caret-color:var(--plasma-combobox-new-textfield-caret-color);--plasma-textfield__placeholder-color:var(--plasma-combobox-new-textfield-placeholder-color);--plasma-textfield__placeholder-color-focus:var(--plasma-combobox-new-textfield-placeholder-color-focus);--plasma-textfield__clear-placeholder-color:var(--plasma-combobox-new-textfield-clear-placeholder-color);--plasma-textfield__clear-placeholder-color-focus:var(--plasma-combobox-new-textfield-clear-placeholder-color-focus);--plasma-textfield__optional-color:var(--plasma-combobox-new-textfield-optional-color);--plasma-textfield-height:var(--plasma-combobox-new-textfield-height);--plasma-textfield-border-width:var(--plasma-combobox-new-textfield-border-width);--plasma-textfield-border-radius:var(--plasma-combobox-new-textfield-border-radius);--plasma-textfield-padding:var(--plasma-combobox-new-textfield-padding);--plasma-textfield-padding-with-chips:var(--plasma-combobox-new-textfield-padding-with-chips);--plasma-textfield__left-content-margin:var(--plasma-combobox-new-textfield-left-content-margin);--plasma-textfield__right-content-margin:var(--plasma-combobox-new-textfield-right-content-margin);--plasma-textfield__right-content-with-hint-margin:var(--plasma-combobox-textfield-right-content-with-hint-margin);--plasma-textfield-content-right-wrapper-gap:var(--plasma-combobox-textfield-content-right-wrapper-gap);--plasma-textfield-content-right-wrapper-margin:var(--plasma-combobox-textfield-content-right-wrapper-margin);--plasma-textfield-font-family:var(--plasma-combobox-new-textfield-font-family);--plasma-textfield-font-style:var(--plasma-combobox-new-textfield-font-style);--plasma-textfield-font-size:var(--plasma-combobox-new-textfield-font-size);--plasma-textfield-font-weight:var(--plasma-combobox-new-textfield-font-weight);--plasma-textfield-letter-spacing:var(--plasma-combobox-new-textfield-letter-spacing);--plasma-textfield-line-height:var(--plasma-combobox-new-textfield-line-height);--plasma-textfield-content-slot-color:var(--plasma-combobox-new-textfield-content-slot-color);--plasma-textfield-content-slot-color-hover:var(--plasma-combobox-new-textfield-content-slot-color-hover);--plasma-textfield-content-slot-color-active:var(--plasma-combobox-new-textfield-content-slot-color-active);--plasma-textfield-content-right-slot-color:var(--plasma-combobox-new-textfield-content-right-slot-color);--plasma-textfield-content-right-slot-color-hover:var(--plasma-combobox-new-textfield-content-right-slot-color-hover);--plasma-textfield-content-right-slot-color-active:var(--plasma-combobox-new-textfield-content-right-slot-color-active);--plasma-textfield__label-color:var(--plasma-combobox-new-textfield-label-color);--plasma-textfield__label-color-readonly:var(--plasma-combobox-new-textfield-label-color-readonly);--plasma-textfield__label-offset:var(--plasma-combobox-new-textfield-label-offset);--plasma-textfield__clear-label-offset:var(--plasma-combobox-new-textfield-clear-label-offset);--plasma-textfield__label-font-family:var(--plasma-combobox-new-textfield-label-font-family);--plasma-textfield__label-font-style:var(--plasma-combobox-new-textfield-label-font-style);--plasma-textfield__label-font-size:var(--plasma-combobox-new-textfield-label-font-size);--plasma-textfield__label-font-weight:var(--plasma-combobox-new-textfield-label-font-weight);--plasma-textfield__label-letter-spacing:var(--plasma-combobox-new-textfield-label-letter-spacing);--plasma-textfield__label-line-height:var(--plasma-combobox-new-textfield-label-line-height);--plasma-textfield-placement_inner__label-font-family:var(--plasma-combobox-new-textfield-placement_inner-label-font-family);--plasma-textfield-placement_inner__label-font-style:var(--plasma-combobox-new-textfield-placement_inner-label-font-style);--plasma-textfield-placement_inner__label-font-size:var(--plasma-combobox-new-textfield-placement_inner-label-font-size);--plasma-textfield-placement_inner__label-font-weight:var(--plasma-combobox-new-textfield-placement_inner-label-font-weight);--plasma-textfield-placement_inner__label-letter-spacing:var(--plasma-combobox-new-textfield-placement_inner-label-letter-spacing);--plasma-textfield-placement_inner__label-line-height:var(--plasma-combobox-new-textfield-placement_inner-label-line-height);--plasma-textfield-placement_inner__label-padding:var(--plasma-combobox-new-textfield-placement_inner-label-padding);--plasma-textfield-placement_inner__content-padding:var(--plasma-combobox-new-textfield-placement_inner-content-padding);--plasma-textfield__title-caption-color:var(--plasma-combobox-new-textfield-title-caption-color);--plasma-textfield__title-caption-color-readonly:var(--plasma-combobox-new-textfield-title-caption-color-readonly);--plasma-textfield__title-caption-label-inner-offset:var(--plasma-combobox-new-textfield-title-caption-label-inner-offset);--plasma-textfield__title-caption-font-family:var(--plasma-combobox-new-textfield-title-caption-font-family);--plasma-textfield__title-caption-font-style:var(--plasma-combobox-new-textfield-title-caption-font-style);--plasma-textfield__title-caption-font-size:var(--plasma-combobox-new-textfield-title-caption-font-size);--plasma-textfield__title-caption-font-weight:var(--plasma-combobox-new-textfield-title-caption-font-weight);--plasma-textfield__title-caption-letter-spacing:var(--plasma-combobox-new-textfield-title-caption-letter-spacing);--plasma-textfield__title-caption-line-height:var(--plasma-combobox-new-textfield-title-caption-line-height);--plasma-textfield__left-helper-color:var(--plasma-combobox-new-textfield-left-helper-color);--plasma-textfield__left-helper-color-readonly:var(--plasma-combobox-new-textfield-left-helper-color-readonly);--plasma-textfield__left-helper-offset:var(--plasma-combobox-new-textfield-left-helper-offset);--plasma-textfield__left-helper-font-family:var(--plasma-combobox-new-textfield-left-helper-font-family);--plasma-textfield__left-helper-font-style:var(--plasma-combobox-new-textfield-left-helper-font-style);--plasma-textfield__left-helper-font-size:var(--plasma-combobox-new-textfield-left-helper-font-size);--plasma-textfield__left-helper-font-weight:var(--plasma-combobox-new-textfield-left-helper-font-weight);--plasma-textfield__left-helper-letter-spacing:var(--plasma-combobox-new-textfield-left-helper-letter-spacing);--plasma-textfield__left-helper-line-height:var(--plasma-combobox-new-textfield-left-helper-line-height);--plasma-textfield__before-text-color:var(--plasma-combobox-new-textfield-before-text-color);--plasma-textfield__after-text-color:var(--plasma-combobox-new-textfield-after-text-color);--plasma-textfield__before-text-margin:var(--plasma-combobox-new-textfield-before-text-margin);--plasma-textfield__after-text-margin:var(--plasma-combobox-new-textfield-after-text-margin);--plasma-textfield-disabled-opacity:var(--plasma-combobox-new-textfield-disabled-opacity);--plasma-textfield__hint-custom-icon-target-size:var(--plasma-combobox-textfield__hint-custom-icon-target-size);--plasma-textfield__hint-margin:var(--plasma-combobox-textfield__hint-margin);--plasma-textfield__hint-target-size:var(--plasma-combobox-textfield__hint-target-size);--plasma-textfield__hint-icon-color:var(--plasma-combobox-textfield__hint-icon-color);--plasma-textfield__hint-inner-label-placement-offset:var(--plasma-combobox-textfield__hint-inner-label-placement-offset);--plasma-textfield__clear-hint-inner-label-placement-offset:var(--plasma-combobox-textfield__clear-hint-inner-label-placement-offset);--plasma-textfield__tooltip-background-color:var(--plasma-combobox-textfield__tooltip-background-color);--plasma-textfield__tooltip-box-shadow:var(--plasma-combobox-textfield__tooltip-box-shadow);--plasma-textfield__tooltip-color:var(--plasma-combobox-textfield__tooltip-color);--plasma-textfield__tooltip-padding-top:var(--plasma-combobox-textfield__tooltip-padding-top);--plasma-textfield__tooltip-padding-right:var(--plasma-combobox-textfield__tooltip-padding-right);--plasma-textfield__tooltip-padding-bottom:var(--plasma-combobox-textfield__tooltip-padding-bottom);--plasma-textfield__tooltip-padding-left:var(--plasma-combobox-textfield__tooltip-padding-left);--plasma-textfield__tooltip-min-height:var(--plasma-combobox-textfield__tooltip-min-height);--plasma-textfield__tooltip-border-radius:var(--plasma-combobox-textfield__tooltip-border-radius);--plasma-textfield__tooltip-text-font-family:var(--plasma-combobox-textfield__tooltip-text-font-family);--plasma-textfield__tooltip-text-font-size:var(--plasma-combobox-textfield__tooltip-text-font-size);--plasma-textfield__tooltip-text-font-style:var(--plasma-combobox-textfield__tooltip-text-font-style);--plasma-textfield__tooltip-text-font-weight:var(--plasma-combobox-textfield__tooltip-text-font-weight);--plasma-textfield__tooltip-text-font-letter-spacing:var(--plasma-combobox-textfield__tooltip-text-font-letter-spacing);--plasma-textfield__tooltip-text-font-line-height:var(--plasma-combobox-textfield__tooltip-text-font-line-height);--plasma-textfield__tooltip-content-left-margin:var(--plasma-combobox-textfield__tooltip-content-left-margin);--plasma-textfield__tooltip-arrow-mask-width:var(--plasma-combobox-textfield__tooltip-arrow-mask-width);--plasma-textfield__tooltip-arrow-mask-height:var(--plasma-combobox-textfield__tooltip-arrow-mask-height);--plasma-textfield__tooltip-arrow-mask-image:var(--plasma-combobox-textfield__tooltip-arrow-mask-image);--plasma-textfield__tooltip-arrow-height:var(--plasma-combobox-textfield__tooltip-arrow-height);--plasma-textfield__tooltip-arrow-edge-margin:var(--plasma-combobox-textfield__tooltip-arrow-edge-margin);--plasma-textfield__tooltip-arrow-background:var(--plasma-combobox-textfield__tooltip-arrow-background);--plasma-textfield__chip-height:var(--plasma-combobox-new-textfield-chip-height);--plasma-textfield__chip-border-radius:var(--plasma-combobox-new-textfield-chip-border-radius);--plasma-textfield__chip-gap:var(--plasma-combobox-new-textfield-chip-gap);--plasma-textfield__chip-background:var(--plasma-combobox-new-textfield--chip-background);--plasma-textfield__chip-color:var(--plasma-combobox-new-textfield-chip-color);--plasma-textfield__chip-background-hover:var(--plasma-combobox-new-textfield-chip-background-hover);--plasma-textfield__chip-color-hover:var(--plasma-combobox-new-textfield-chip-color-hover);--plasma-textfield__chip-background-readonly:var(--plasma-combobox-new-textfield-chip-background-read-only);--plasma-textfield__chip-color-readonly:var(--plasma-combobox-new-textfield-chip-color-read-only);--plasma-textfield__chip-background-readonly-hover:var(--plasma-combobox-new-textfield-chip-background-read-only-hover);--plasma-textfield__chip-color-readonly-hover:var(--plasma-combobox-new-textfield-chip-color-read-only-hover);--plasma-textfield__chip-background-active:var(--plasma-combobox-new-textfield-chip-background-active);--plasma-textfield__chip-color-active:var(--plasma-combobox-new-textfield-chip-color-active);--plasma-textfield__chip-close-icon-color:var(--plasma-combobox-new-textfield-chip-close-icons-color);--plasma-textfield__chip-outline-size:var(--plasma-combobox-new-textfield-chip-outline-size);--plasma-textfield__chip-width:var(--plasma-combobox-new-textfield-chip-width);--plasma-textfield__chip-padding:var(--plasma-combobox-new-textfield-chip-padding);--plasma-textfield__chip-close-icon-size:var(--plasma-combobox-new-textfield-chip-close-icon-size);--plasma-textfield__chip-font-family:var(--plasma-combobox-new-textfield-chip-font-family);--plasma-textfield__chip-font-size:var(--plasma-combobox-new-textfield-chip-font-size);--plasma-textfield__chip-font-style:var(--plasma-combobox-new-textfield-chip-font-style);--plasma-textfield__chip-font-weight:var(--plasma-combobox-new-textfield-chip-font-weight);--plasma-textfield__chip-letter-spacing:var(--plasma-combobox-new-textfield-chip-letter-spacing);--plasma-textfield__chip-line-height:var(--plasma-combobox-new-textfield-chip-line-height);--plasma-textfield__chip-clear-content-margin-left:var(--plasma-combobox-new-textfield-chip-clear-content-margin-left);--plasma-textfield__chip-clear-content-margin-right:var(--plasma-combobox-new-textfield-chip-clear-content-margin-right);--plasma-textfield__chip-opacity-readonly:var(--plasma-combobox-new-textfield-chip-opacity-readonly);--plasma-textfield-focus-color:var(--plasma-combobox-new-textfield-focus-color);--plasma-textfield__indicator-color:var(--plasma-combobox-new-textfield-indicator-color);--plasma-textfield__indicator-size-inner:var(--plasma-combobox-new-textfield-indicator-size-inner);--plasma-textfield__indicator-size-outer:var(--plasma-combobox-new-textfield-indicator-size-outer);--plasma-textfield__indicator-placement-inner:var(--plasma-combobox-new-textfield-indicator-placement-inner);--plasma-textfield__indicator-placement-outer:var(--plasma-combobox-new-textfield-indicator-placement-outer);--plasma-textfield__indicator-placement-inner-right:var(--plasma-combobox-new-textfield-indicator-placement-inner-right);--plasma-textfield__indicator-placement-outer-right:var(--plasma-combobox-new-textfield-indicator-placement-outer-right);--plasma-textfield__clear-indicator-placement-inner:var(--plasma-combobox-new-textfield-clear-indicator-placement-inner);--plasma-textfield__clear-indicator-placement-inner-right:var(--plasma-combobox-new-textfield-clear-indicator-placement-inner-right);--plasma-textfield__clear-indicator-hint-placement-inner-right:var(--plasma-combobox-new-textfield-clear-indicator-hint-placement-inner-right);--plasma-textfield-box-shadow:var(--plasma-select-textfield-box-shadow);}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends, typeof as _typeof
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends, typeof as _typeof } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
2
|
import React, { forwardRef, useMemo, useState, useRef, useReducer, useLayoutEffect } from 'react';
|
3
3
|
import { useForkRef } from '@salutejs/plasma-core';
|
4
4
|
import { classes } from './Combobox.tokens.js';
|
@@ -28,7 +28,6 @@ import { getItemId } from './utils/getItemId.js';
|
|
28
28
|
import { SelectAll } from './ui/SelectAll/SelectAll.js';
|
29
29
|
import { VirtualList } from './ui/VirtualList/VirtualList.js';
|
30
30
|
import { Inner } from './ui/Inner/Inner.js';
|
31
|
-
import { getRemovedElement } from './utils/getRemovedElement.js';
|
32
31
|
|
33
32
|
var _excluded = ["name", "multiple", "value", "onChange", "defaultValue", "isTargetAmount", "targetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "keepPlaceholder", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue", "zIndex", "beforeList", "afterList", "virtual", "hintView", "hintSize", "emptyStateDescription", "onChangeValue", "onScroll", "onToggle", "mode", "_offset"];
|
34
33
|
|
@@ -97,10 +96,9 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
97
96
|
var _useMemo = useMemo(function () {
|
98
97
|
return getTreeMaps(transformedItems);
|
99
98
|
}, [items]),
|
100
|
-
_useMemo2 = _slicedToArray(_useMemo,
|
99
|
+
_useMemo2 = _slicedToArray(_useMemo, 2),
|
101
100
|
valueToCheckedMap = _useMemo2[0],
|
102
|
-
valueToItemMap = _useMemo2[1]
|
103
|
-
labelToItemMap = _useMemo2[2];
|
101
|
+
valueToItemMap = _useMemo2[1];
|
104
102
|
var _useState = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue)),
|
105
103
|
_useState2 = _slicedToArray(_useState, 2),
|
106
104
|
textValue = _useState2[0],
|
@@ -206,40 +204,18 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
206
204
|
};
|
207
205
|
|
208
206
|
// Обработчик чипов
|
209
|
-
var
|
207
|
+
var handleChipClick = function handleChipClick(chip) {
|
210
208
|
if (!Array.isArray(value)) return;
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
if (renderValue && !isTargetAmount) {
|
215
|
-
var resultValues = _toConsumableArray(value);
|
216
|
-
value.forEach(function (_, index) {
|
209
|
+
if (isTargetAmount) {
|
210
|
+
// При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы
|
211
|
+
onChange(value.filter(function (val) {
|
217
212
|
var _valueToItemMap$get;
|
218
|
-
|
219
|
-
|
220
|
-
var labelAfterRenderValue = renderValue(label ? labelToItemMap.get(label) : {
|
221
|
-
value: stringValue,
|
222
|
-
label: stringValue.toString()
|
223
|
-
});
|
224
|
-
if (!chipLabels.includes(labelAfterRenderValue)) {
|
225
|
-
resultValues.splice(index, 1);
|
226
|
-
}
|
227
|
-
});
|
228
|
-
var removedItemValue = getRemovedElement(value, resultValues, isTargetAmount);
|
229
|
-
onChange(resultValues, removedItemValue ? valueToItemMap.get(removedItemValue) || {
|
230
|
-
value: removedItemValue,
|
231
|
-
label: removedItemValue.toString()
|
232
|
-
} : null);
|
213
|
+
return valueToItemMap === null || valueToItemMap === void 0 || (_valueToItemMap$get = valueToItemMap.get(val)) === null || _valueToItemMap$get === void 0 ? void 0 : _valueToItemMap$get.disabled;
|
214
|
+
}));
|
233
215
|
} else {
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
});
|
238
|
-
var _removedItemValue = getRemovedElement(value, newValues, isTargetAmount);
|
239
|
-
onChange(newValues, _removedItemValue ? valueToItemMap.get(_removedItemValue) || {
|
240
|
-
value: _removedItemValue,
|
241
|
-
label: _removedItemValue.toString()
|
242
|
-
} : null);
|
216
|
+
onChange(value.filter(function (val) {
|
217
|
+
return val !== chip.value;
|
218
|
+
}), valueToItemMap.get(chip.value) || null);
|
243
219
|
}
|
244
220
|
};
|
245
221
|
|
@@ -271,14 +247,34 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
271
247
|
return;
|
272
248
|
}
|
273
249
|
var checkedCopy = new Map(checked);
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
250
|
+
switch (checkedCopy.get(item.value)) {
|
251
|
+
// Если чекбокс в состоянии indeterminate
|
252
|
+
case 'indeterminate':
|
253
|
+
{
|
254
|
+
// checkedCopy.set(item.value, true); ??
|
255
|
+
updateDescendants(item, checkedCopy, true, valueToItemMap);
|
256
|
+
break;
|
257
|
+
}
|
258
|
+
// Если чекбокс в состоянии checked
|
259
|
+
case true:
|
260
|
+
{
|
261
|
+
updateDescendants(item, checkedCopy, false, valueToItemMap);
|
262
|
+
checkedCopy.set(item.value, false);
|
263
|
+
break;
|
264
|
+
}
|
265
|
+
// Если чекбокс в состоянии unchecked
|
266
|
+
case false:
|
267
|
+
{
|
268
|
+
updateDescendants(item, checkedCopy, true, valueToItemMap);
|
269
|
+
checkedCopy.set(item.value, true);
|
270
|
+
break;
|
271
|
+
}
|
272
|
+
default:
|
273
|
+
{
|
274
|
+
console.log();
|
275
|
+
break;
|
276
|
+
}
|
280
277
|
}
|
281
|
-
updateAncestors(item, checkedCopy);
|
282
278
|
var newValues = [];
|
283
279
|
valueToItemMap.forEach(function (item, key) {
|
284
280
|
if (checkedCopy.get(key)) {
|
@@ -348,19 +344,27 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
348
344
|
if (multiple && Array.isArray(value)) {
|
349
345
|
if (value.length === 0) return [];
|
350
346
|
if (isTargetAmount) {
|
351
|
-
return [
|
347
|
+
return [{
|
348
|
+
value: '_removeAll',
|
349
|
+
label: "\u0412\u044B\u0431\u0440\u0430\u043D\u043E ".concat(targetAmount || value.length),
|
350
|
+
disabled: value.every(function (val) {
|
351
|
+
var _valueToItemMap$get2;
|
352
|
+
return valueToItemMap === null || valueToItemMap === void 0 || (_valueToItemMap$get2 = valueToItemMap.get(val)) === null || _valueToItemMap$get2 === void 0 ? void 0 : _valueToItemMap$get2.disabled;
|
353
|
+
})
|
354
|
+
}];
|
352
355
|
}
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
356
|
+
return value.map(function (value) {
|
357
|
+
var _valueToItemMap$get3, _valueToItemMap$get4;
|
358
|
+
var currentLabel = renderValue ? renderValue(valueToItemMap.get(value) || {
|
359
|
+
value: value,
|
360
|
+
label: value
|
361
|
+
}) : ((_valueToItemMap$get3 = valueToItemMap.get(value)) === null || _valueToItemMap$get3 === void 0 ? void 0 : _valueToItemMap$get3.label) || value.toString();
|
362
|
+
return {
|
363
|
+
value: value,
|
364
|
+
label: currentLabel,
|
365
|
+
disabled: ((_valueToItemMap$get4 = valueToItemMap.get(value)) === null || _valueToItemMap$get4 === void 0 ? void 0 : _valueToItemMap$get4.disabled) || false
|
366
|
+
};
|
367
|
+
});
|
364
368
|
}
|
365
369
|
return [];
|
366
370
|
};
|
@@ -512,8 +516,8 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
512
516
|
keepPlaceholder: keepPlaceholder
|
513
517
|
}, multiple ? {
|
514
518
|
enumerationType: 'chip',
|
515
|
-
|
516
|
-
|
519
|
+
_chips: getChips(),
|
520
|
+
_onChipClick: handleChipClick
|
517
521
|
} : {
|
518
522
|
enumerationType: 'plain'
|
519
523
|
}, rest, {
|