@ultraviolet/ui 1.83.2 → 1.84.1

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.
Files changed (40) hide show
  1. package/dist/components/Chip/index.d.ts +1 -1
  2. package/dist/components/NumberInputV2/index.cjs +11 -7
  3. package/dist/components/NumberInputV2/index.js +11 -7
  4. package/dist/components/Pagination/PaginationButtons.cjs +84 -0
  5. package/dist/components/Pagination/PaginationButtons.d.ts +12 -0
  6. package/dist/components/Pagination/PaginationButtons.js +82 -0
  7. package/dist/components/Pagination/PerPage.cjs +65 -0
  8. package/dist/components/Pagination/PerPage.d.ts +12 -0
  9. package/dist/components/Pagination/PerPage.js +63 -0
  10. package/dist/components/Pagination/getPageNumbers.cjs +17 -17
  11. package/dist/components/Pagination/getPageNumbers.d.ts +2 -2
  12. package/dist/components/Pagination/getPageNumbers.js +17 -17
  13. package/dist/components/Pagination/index.cjs +15 -65
  14. package/dist/components/Pagination/index.d.ts +29 -2
  15. package/dist/components/Pagination/index.js +16 -64
  16. package/dist/components/Popover/index.cjs +14 -3
  17. package/dist/components/Popover/index.js +15 -4
  18. package/dist/components/Slider/components/DoubleSlider.cjs +6 -6
  19. package/dist/components/Slider/components/DoubleSlider.js +6 -6
  20. package/dist/components/Slider/components/SingleSlider.cjs +3 -3
  21. package/dist/components/Slider/components/SingleSlider.js +3 -3
  22. package/dist/components/TagList/index.cjs +6 -4
  23. package/dist/components/TagList/index.d.ts +5 -1
  24. package/dist/components/TagList/index.js +6 -4
  25. package/dist/components/TimeInputV2/constants.cjs +19 -0
  26. package/dist/components/TimeInputV2/constants.d.ts +13 -0
  27. package/dist/components/TimeInputV2/constants.js +19 -0
  28. package/dist/components/TimeInputV2/helpers.cjs +50 -0
  29. package/dist/components/TimeInputV2/helpers.d.ts +9 -0
  30. package/dist/components/TimeInputV2/helpers.js +50 -0
  31. package/dist/components/TimeInputV2/index.cjs +341 -0
  32. package/dist/components/TimeInputV2/index.d.ts +44 -0
  33. package/dist/components/TimeInputV2/index.js +339 -0
  34. package/dist/components/VerificationCode/index.cjs +70 -38
  35. package/dist/components/VerificationCode/index.d.ts +7 -2
  36. package/dist/components/VerificationCode/index.js +63 -31
  37. package/dist/components/index.d.ts +1 -0
  38. package/dist/index.cjs +17 -15
  39. package/dist/index.js +2 -0
  40. package/package.json +3 -3
@@ -0,0 +1,341 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
4
+ const _styled = require("@emotion/styled/base");
5
+ const Icon = require("@ultraviolet/icons");
6
+ const React = require("react");
7
+ const index$2 = require("../Button/index.cjs");
8
+ const index = require("../Stack/index.cjs");
9
+ const index$1 = require("../Text/index.cjs");
10
+ const constants = require("./constants.cjs");
11
+ const helpers = require("./helpers.cjs");
12
+ const _interopDefaultCompat = (e) => e && typeof e === "object" && "default" in e ? e : { default: e };
13
+ const _styled__default = /* @__PURE__ */ _interopDefaultCompat(_styled);
14
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() {
15
+ return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
16
+ }
17
+ const TimeInputWrapper = /* @__PURE__ */ _styled__default.default(index.Stack, process.env.NODE_ENV === "production" ? {
18
+ target: "e8pjt8k3"
19
+ } : {
20
+ target: "e8pjt8k3",
21
+ label: "TimeInputWrapper"
22
+ })("display:flex;cursor:text;padding:", ({
23
+ theme
24
+ }) => theme.space[1], ";box-shadow:none;background:", ({
25
+ theme
26
+ }) => theme.colors.neutral.background, ";border-radius:", ({
27
+ theme
28
+ }) => theme.radii.default, ";border:1px solid ", ({
29
+ theme
30
+ }) => theme.colors.neutral.border, ';&:not([data-disabled="true"]):not([data-readonly="true"]):active{border-color:', ({
31
+ theme
32
+ }) => theme.colors.primary.borderHover, ";box-shadow:", ({
33
+ theme
34
+ }) => theme.shadows.focusPrimary, ';}&[data-disabled="false"]:hover,[data-disabled="false"]:focus{border-color:', ({
35
+ theme
36
+ }) => theme.colors.primary.borderHover, ";outline:none;}&:focus-within{border-color:", ({
37
+ theme
38
+ }) => theme.colors.primary.borderHover, ";}&[data-size='small']{height:", ({
39
+ theme
40
+ }) => theme.sizing[constants.INPUT_SIZE_HEIGHT.small], ";padding-left:", ({
41
+ theme
42
+ }) => theme.space[1], ";}&[data-size='medium']{height:", ({
43
+ theme
44
+ }) => theme.sizing[constants.INPUT_SIZE_HEIGHT.medium], ";}&[data-size='large']{height:", ({
45
+ theme
46
+ }) => theme.sizing[constants.INPUT_SIZE_HEIGHT.large], ";}&[data-readonly='true']{background:", ({
47
+ theme
48
+ }) => theme.colors.neutral.backgroundWeak, ";border-color:", ({
49
+ theme
50
+ }) => theme.colors.neutral.border, ";cursor:default;}&[data-disabled='true']{background:", ({
51
+ theme
52
+ }) => theme.colors.neutral.backgroundDisabled, ";border-color:", ({
53
+ theme
54
+ }) => theme.colors.neutral.borderDisabled, ";cursor:not-allowed;user-select:none;}&[data-error='true']{border:1px solid ", ({
55
+ theme
56
+ }) => theme.colors.danger.border, ';&:not([data-disabled="true"]):not([data-readonly="true"]):active{border-color:', ({
57
+ theme
58
+ }) => theme.colors.danger.borderHover, ";box-shadow:", ({
59
+ theme
60
+ }) => theme.shadows.focusDanger, ';}&:not([data-disabled="true"]):not([data-readonly="true"]):hover{border-color:', ({
61
+ theme
62
+ }) => theme.colors.danger.borderHover, ";}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dFYyL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQ0UiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvdWkvc3JjL2NvbXBvbmVudHMvVGltZUlucHV0VjIvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBBbGVydENpcmNsZUljb24sIEFzdGVyaXNrSWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB0eXBlIHsgRm9jdXNFdmVudCwgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgTGFiZWxQcm9wIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBTdGFjayB9IGZyb20gJy4uL1N0YWNrJ1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gJy4uL1RleHQnXG5pbXBvcnQge1xuICBERUZBVUxUX0RBVEUsXG4gIERFRkFVTFRfUExBQ0VIT0xERVIsXG4gIElOUFVUX1NJWkVfSEVJR0hULFxuICBUSU1FX0tFWVMsXG59IGZyb20gJy4vY29uc3RhbnRzJ1xuaW1wb3J0IHtcbiAgY2FuQ29uY2F0LFxuICBmb3JtYXQsXG4gIGdldExhc3RUeXBlZENoYXIsXG4gIGdldFZhbHVlQnlUeXBlLFxuICBpc0FPclAsXG4gIGlzQ29tcGxldGVIb3VyLFxuICBpc051bWJlcixcbiAgc2V0VmFsdWVCeVR5cGUsXG59IGZyb20gJy4vaGVscGVycydcblxuZXhwb3J0IHR5cGUgVGltZSA9IHtcbiAgaDogc3RyaW5nXG4gIG06IHN0cmluZ1xuICBzOiBzdHJpbmdcbiAgcGVyaW9kPzogc3RyaW5nXG59XG5cbmNvbnN0IFRpbWVJbnB1dFdyYXBwZXIgPSBzdHlsZWQoU3RhY2spPHtcbiAgJ2RhdGEtcmVhZG9ubHknOiBib29sZWFuXG4gICdkYXRhLWRpc2FibGVkJzogYm9vbGVhblxuICAnZGF0YS1zaXplJzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJ1xuICAnZGF0YS1lcnJvcic6IGJvb2xlYW5cbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBjdXJzb3I6IHRleHQ7XG4gIHBhZGRpbmc6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbMV19O1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJvcmRlcn07XG5cbiAgJjpub3QoW2RhdGEtZGlzYWJsZWQ9XCJ0cnVlXCJdKTpub3QoW2RhdGEtcmVhZG9ubHk9XCJ0cnVlXCJdKTphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gICAgYm94LXNoYWRvdzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeX07XG4gIH1cbiAgXG4gICZbZGF0YS1kaXNhYmxlZD1cImZhbHNlXCJdOmhvdmVyLFxuICBbZGF0YS1kaXNhYmxlZD1cImZhbHNlXCJdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICZbZGF0YS1zaXplPSdzbWFsbCddIHtcbiAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW0lOUFVUX1NJWkVfSEVJR0hULnNtYWxsXX07XG4gICAgcGFkZGluZy1sZWZ0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWzFdfTtcbiAgfVxuXG4gICZbZGF0YS1zaXplPSdtZWRpdW0nXSB7XG4gICAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1tJTlBVVF9TSVpFX0hFSUdIVC5tZWRpdW1dfTtcbiAgfVxuXG4gICZbZGF0YS1zaXplPSdsYXJnZSddIHtcbiAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW0lOUFVUX1NJWkVfSEVJR0hULmxhcmdlXX07XG4gIH1cblxuICAmW2RhdGEtcmVhZG9ubHk9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJvcmRlcn07XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJltkYXRhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAmW2RhdGEtZXJyb3I9J3RydWUnXSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlcn07XG5cbiAgICAmOm5vdChbZGF0YS1kaXNhYmxlZD1cInRydWVcIl0pOm5vdChbZGF0YS1yZWFkb25seT1cInRydWVcIl0pOmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNoYWRvd3MuZm9jdXNEYW5nZXJ9O1xuICAgIH1cblxuICAgICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJ9O1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgSW5wdXQgPSBzdHlsZWQuaW5wdXQ8e1xuICAnZGF0YS1zaXplJzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJ1xuICAnZGF0YS1wZXJpb2QnPzogYm9vbGVhblxufT5gXG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS50eXBvZ3JhcGh5LmJvZHlTbWFsbC5mb250U2l6ZX07XG4gIHdpZHRoOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1szMTJdfTtcbiAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1szMDBdfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0fTtcbiAgY2FyZXQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICZbZGF0YS1zaXplPSdsYXJnZSddIHtcbiAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5ib2R5LmZvbnRTaXplfTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZEhvdmVyfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSwgXG4gIDpub3QoOmRpc2FibGVkKTpmb2N1c3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmd9O1xuICAgIGNvbG9yOiAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0fTtcbiAgfVxuXG4gICY6cmVhZC1vbmx5IHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgJltkYXRhLXBlcmlvZD1cInRydWVcIl0ge1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrfTtcbiAgfVxuXG4gIDo6LW1vei1zZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuICA6OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuYFxuXG5jb25zdCBDdXN0b21UZXh0ID0gc3R5bGVkKFRleHQpYFxucGFkZGluZy1pbmxpbmU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQpYFxuY3Vyc29yOiB0ZXh0O1xuYFxuXG50eXBlIFRpbWVJbnB1dFByb3BzID0ge1xuICBwbGFjZWhvbGRlcj86IFRpbWVcbiAgdmFsdWU/OiBEYXRlXG4gIGNsZWFyYWJsZT86IGJvb2xlYW5cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIGxhYmVsRGVzY3JpcHRpb24/OiBSZWFjdE5vZGVcbiAgaGVscGVyPzogUmVhY3ROb2RlXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICByZWFkT25seT86IGJvb2xlYW5cbiAgZXJyb3I/OiBib29sZWFuIHwgc3RyaW5nXG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgb25DaGFuZ2U/OiAodmFsdWU6IERhdGUgfCB1bmRlZmluZWQsIHZhbHVlUGVyaW9kPzogc3RyaW5nKSA9PiB2b2lkXG4gIG9uQmx1cj86IChldmVudDogRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZFxuICBvbkZvY3VzPzogKGV2ZW50OiBGb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBpZD86IHN0cmluZ1xuICBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJ1xuICB0aW1lRm9ybWF0PzogMTIgfCAyNFxuICAvKipcbiAgICogQXV0b21hdGljYWxseSBmb2N1cyBvbiB0aGUgZWxlbWVudCBvbiByZW5kZXIuIEF1dG9mb2N1cyBpcyBhcHBsaWVkIHRvIHRoZSBob3VyIGlucHV0XG4gICAqL1xuICBhdXRvRm9jdXM/OiBib29sZWFuXG59ICYgTGFiZWxQcm9wXG5cbi8qKlxuICogQSB0aW1lIGlucHV0IGNvbXBvbmVudCB0aGF0IGFsbG93cyB1c2VycyB0byB0eXBlIGEgdGltZSBpbiBhIDI0IG9yIDEyLWhvdXIgZm9ybWF0LlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGNvbXBvbmVudCBpcyBleHBlcmltZW50YWwgYW5kIG1heSBiZSBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRpbWVJbnB1dFYyID0gKHtcbiAgbGFiZWwsXG4gIHRpbWVGb3JtYXQgPSAyNCxcbiAgdmFsdWUsXG4gIGNsZWFyYWJsZSxcbiAgcmVxdWlyZWQsXG4gIGxhYmVsRGVzY3JpcHRpb24sXG4gIGhlbHBlcixcbiAgc2l6ZSA9ICdtZWRpdW0nLFxuICBkaXNhYmxlZCA9IGZhbHNlLFxuICByZWFkT25seSA9IGZhbHNlLFxuICBlcnJvciA9IGZhbHNlLFxuICBvbkNoYW5nZSxcbiAgb25CbHVyLFxuICBvbkZvY3VzLFxuICBjbGFzc05hbWUsXG4gIGlkLFxuICBhdXRvRm9jdXMsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gIHBsYWNlaG9sZGVyID0gREVGQVVMVF9QTEFDRUhPTERFUixcbiAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG59OiBUaW1lSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBkZWZhdWx0UGVyaW9kID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSByZXR1cm4gdmFsdWUuZ2V0SG91cnMoKSA+PSAxMiA/ICdwbScgOiAnYW0nXG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFt2YWx1ZV0pXG5cbiAgY29uc3QgW3RpbWUsIHNldFRpbWVdID0gdXNlU3RhdGUodmFsdWUpXG4gIGNvbnN0IFtwZXJpb2QsIHNldFBlcmlvZF0gPSB1c2VTdGF0ZTwncG0nIHwgJ2FtJyB8IHVuZGVmaW5lZD4oZGVmYXVsdFBlcmlvZClcbiAgY29uc3QgW2ZpbGxlZCwgc2V0RmlsbGVkXSA9IHVzZVN0YXRlKFxuICAgIHZhbHVlID8geyBoOiB0cnVlLCBtOiB0cnVlLCBzOiB0cnVlIH0gOiB7IGg6IGZhbHNlLCBtOiBmYWxzZSwgczogZmFsc2UgfSxcbiAgKSAvLyB0byBub3Qgc2hvdyAwMCB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIHBsYWNlaG9sZGVyXG5cbiAgY29uc3QgcmVmSG91cnMgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcbiAgY29uc3QgcmVmU2Vjb25kcyA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICBjb25zdCByZWZNaW51dGVzID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHJlZlBlcmlvZCA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBzZXRUaW1lKHZhbHVlKVxuXG4gICAgICAvLyB3aXRob3V0IHRoaXMgY29uZGl0aW9uLCBldmVyeSB0aW1lIGFuIGlucHV0IHZhbHVlIGNoYW5nZXMsIHRoZSBvdGhlciBvbmVzIHdpbGwgYmUgc2V0IHRvIDAgaWYgdGhleSB1c2VkIHRvIGJlIHVuZGVmaW5lZFxuICAgICAgLy8gaW5zdGVhZCBvZiBsZWF2aW5nIHRoZW0gZW1wdHkgKGFuZCBzaG93aW5nIHRoZSBwbGFjZWhvbGRlcilcbiAgICAgIGlmICh2YWx1ZS5nZXRUaW1lKCkgIT09IHRpbWU/LmdldFRpbWUoKSkge1xuICAgICAgICBzZXRGaWxsZWQoeyBoOiB0cnVlLCBtOiB0cnVlLCBzOiB0cnVlIH0pXG4gICAgICB9XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3ZhbHVlXSlcblxuICBjb25zdCBoYW5kbGVDaGFuZ2VQZXJpb2QgPSAoa2V5OiAnYScgfCAncCcpID0+IHtcbiAgICBpZiAoIXRpbWUpIHtcbiAgICAgIHNldFBlcmlvZChgJHtrZXl9bWApXG4gICAgfSBlbHNlIGlmIChrZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2EnKSB7XG4gICAgICBpZiAodGltZS5nZXRIb3VycygpID49IDEyKSB7XG4gICAgICAgIGNvbnN0IG5ld1RpbWUgPSBuZXcgRGF0ZSh0aW1lKVxuICAgICAgICBuZXdUaW1lLnNldEhvdXJzKG5ld1RpbWUuZ2V0SG91cnMoKSAtIDEyKVxuICAgICAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICAgIH1cbiAgICAgIHNldFBlcmlvZCgnYW0nKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGltZS5nZXRIb3VycygpIDwgMTIpIHtcbiAgICAgICAgY29uc3QgbmV3VGltZSA9IG5ldyBEYXRlKHRpbWUpXG4gICAgICAgIG5ld1RpbWUuc2V0SG91cnMobmV3VGltZS5nZXRIb3VycygpICsgMTIpXG4gICAgICAgIHNldFRpbWUobmV3VGltZSlcbiAgICAgICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuICAgICAgfVxuICAgICAgc2V0UGVyaW9kKCdwbScpXG4gICAgfVxuICB9XG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycsIGtleTogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgbmV3VGltZSA9IHRpbWUgPyBuZXcgRGF0ZSh0aW1lKSA6IERFRkFVTFRfREFURVxuICAgIGNvbnN0IHZhbHVlVG9DaGFuZ2UgPSBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKVxuXG4gICAgaWYgKGNhbkNvbmNhdCh2YWx1ZVRvQ2hhbmdlLCB0eXBlLCBrZXksIHRpbWVGb3JtYXQpKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9ICh2YWx1ZVRvQ2hhbmdlICUgMTApICogMTAgKyBrZXlcblxuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgbmV3VmFsdWUpXG4gICAgfSBlbHNlIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGtleSlcblxuICAgIGNvbnN0IG5ld1ZhbHVlID0gZ2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSlcbiAgICAvLyBGb2N1cyB0byBuZXh0IGlucHV0IGlmIHRoZSBjdXJyZW50IGlucHV0IGhhcyBhIHZhbGlkIHRpbWVcbiAgICBpZiAodHlwZSA9PT0gJ3MnICYmIG5ld1RpbWUgJiYgbmV3VmFsdWUgPj0gNyAmJiB0aW1lRm9ybWF0ID09PSAxMikge1xuICAgICAgcmVmUGVyaW9kLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdtJyAmJiBuZXdUaW1lICYmIG5ld1ZhbHVlID49IDYpIHtcbiAgICAgIHJlZlNlY29uZHMuY3VycmVudD8uZm9jdXMoKVxuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnaCcpIHtcbiAgICAgIGlmIChpc0NvbXBsZXRlSG91cih0aW1lRm9ybWF0LCBuZXdWYWx1ZSkpIHtcbiAgICAgICAgcmVmTWludXRlcy5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG5ld0ZpbGxlZCA9IHsgLi4uZmlsbGVkIH1cbiAgICBuZXdGaWxsZWRbdHlwZV0gPSB0cnVlXG5cbiAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuXG4gICAgc2V0RmlsbGVkKG5ld0ZpbGxlZClcbiAgfVxuXG4gIC8vIEluY3JlYXNlIHRpbWUgd2l0aCBhcnJvdyB1cFxuICBjb25zdCBoYW5kbGVJbmNyZWFzZSA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBjb25zdCBuZXdUaW1lID0gdGltZSA/IG5ldyBEYXRlKHRpbWUpIDogREVGQVVMVF9EQVRFXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gZ2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSlcbiAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDIzID8gMCA6IGN1cnJlbnRWYWx1ZSArIDEpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMTIgPyAxIDogY3VycmVudFZhbHVlICsgMSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSA1OSA/IDAgOiBjdXJyZW50VmFsdWUgKyAxKVxuICAgIH1cbiAgICBjb25zdCBuZXdGaWxsZWQgPSB7IC4uLmZpbGxlZCB9XG4gICAgbmV3RmlsbGVkW3R5cGVdID0gdHJ1ZVxuXG4gICAgc2V0VGltZShuZXdUaW1lKVxuICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICBzZXRGaWxsZWQobmV3RmlsbGVkKVxuICB9XG5cbiAgLy8gRGVjcmVhc2UgdGltZSB3aXRoIGFycm93IGRvd25cbiAgY29uc3QgaGFuZGxlRGVjcmVhc2UgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnKSA9PiB7XG4gICAgY29uc3QgbmV3VGltZSA9IHRpbWUgPyBuZXcgRGF0ZSh0aW1lKSA6IERFRkFVTFRfREFURVxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUpXG5cbiAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDAgPyAyMyA6IGN1cnJlbnRWYWx1ZSAtIDEpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMSA/IDEyIDogY3VycmVudFZhbHVlIC0gMSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAwID8gNTkgOiBjdXJyZW50VmFsdWUgLSAxKVxuICAgIH1cbiAgICBjb25zdCBuZXdGaWxsZWQgPSB7IC4uLmZpbGxlZCB9XG4gICAgbmV3RmlsbGVkW3R5cGVdID0gdHJ1ZVxuXG4gICAgc2V0VGltZShuZXdUaW1lKVxuICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICBzZXRGaWxsZWQobmV3RmlsbGVkKVxuICB9XG5cbiAgLy8gR28gdG8gbmV4dCBpbnB1dFxuICBjb25zdCBoYW5kbGVOZXh0ID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJykgPT4ge1xuICAgIGlmICh0eXBlID09PSAnaCcpIHJlZk1pbnV0ZXMuY3VycmVudD8uZm9jdXMoKVxuICAgIGlmICh0eXBlID09PSAnbScpIHJlZlNlY29uZHMuY3VycmVudD8uZm9jdXMoKVxuICAgIGlmICh0eXBlID09PSAncycgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHJlZlBlcmlvZC5jdXJyZW50Py5mb2N1cygpXG4gIH1cblxuICAvLyBHbyB0byBwcmV2aW91cyBpbnB1dFxuICBjb25zdCBoYW5kbGVQcmV2aW91cyA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBpZiAodHlwZSA9PT0gJ20nKSByZWZIb3Vycy5jdXJyZW50Py5mb2N1cygpXG4gICAgaWYgKHR5cGUgPT09ICdzJykgcmVmTWludXRlcy5jdXJyZW50Py5mb2N1cygpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdGFjayBnYXA9ezAuNX0gY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIGdhcD17MX0gYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8U3R5bGVkVGV4dFxuICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgIHZhcmlhbnQ9XCJib2R5XCJcbiAgICAgICAgPlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICB7cmVxdWlyZWQgPyA8QXN0ZXJpc2tJY29uIHNpemU9ezh9IHNlbnRpbWVudD1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge2xhYmVsRGVzY3JpcHRpb24gPyAoXG4gICAgICAgICAgPFN0eWxlZFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIj5cbiAgICAgICAgICAgIHtsYWJlbERlc2NyaXB0aW9ufVxuICAgICAgICAgIDwvU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1N0YWNrPlxuICAgICAgPFRpbWVJbnB1dFdyYXBwZXJcbiAgICAgICAgZGF0YS1yZWFkb25seT17cmVhZE9ubHl9XG4gICAgICAgIGRhdGEtZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgIGRhdGEtZXJyb3I9eyEhZXJyb3J9XG4gICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgYXJpYS1yZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHJlZkhvdXJzLmN1cnJlbnQ/LmZvY3VzKCl9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgIHtUSU1FX0tFWVMubWFwKHR5cGUgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcHV0ZWRSZWYgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcpIHJldHVybiByZWZIb3Vyc1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ20nKSByZXR1cm4gcmVmTWludXRlc1xuXG4gICAgICAgICAgICAgIHJldHVybiByZWZTZWNvbmRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBmdWxsTmFtZSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJykgcmV0dXJuICdob3VycydcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdtJykgcmV0dXJuICdtaW51dGVzJ1xuXG4gICAgICAgICAgICAgIHJldHVybiAnc2Vjb25kcydcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY29tcHV0ZU1heFZhbHVlID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyKSByZXR1cm4gMTJcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAyNCkgcmV0dXJuIDIzXG5cbiAgICAgICAgICAgICAgcmV0dXJuIDU5XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTdGFjayBrZXk9e3R5cGV9IGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgdmFsdWU9e1xuICAgICAgICAgICAgICAgICAgICBmaWxsZWRbdHlwZV1cbiAgICAgICAgICAgICAgICAgICAgICA/IGZvcm1hdChnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKSwgdHlwZSwgdGltZUZvcm1hdClcbiAgICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJbdHlwZV19XG4gICAgICAgICAgICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17YCR7ZnVsbE5hbWUoKX0taW5wdXRgfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHJlZj17Y29tcHV0ZWRSZWYoKX1cbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJzcGluYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9e2NvbXB1dGVNYXhWYWx1ZSgpfVxuICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj17dHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyID8gMSA6IDB9XG4gICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbm93PXtcbiAgICAgICAgICAgICAgICAgICAgZmlsbGVkW3R5cGVdXG4gICAgICAgICAgICAgICAgICAgICAgPyBOdW1iZXIucGFyc2VJbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdChnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKSwgdHlwZSwgdGltZUZvcm1hdCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGdldExhc3RUeXBlZENoYXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKSxcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGlzTnVtYmVyKGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZSh0eXBlLCBOdW1iZXIucGFyc2VJbnQoa2V5LCAxMCkpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVJbmNyZWFzZSh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRGVjcmVhc2UodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVByZXZpb3VzKHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlTmV4dCh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzICYmIHR5cGUgPT09ICdoJ31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHt0eXBlID09PSAncycgPyBudWxsIDogKFxuICAgICAgICAgICAgICAgICAgPEN1c3RvbVRleHRcbiAgICAgICAgICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgICA8L0N1c3RvbVRleHQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KX1cbiAgICAgICAgICB7dGltZUZvcm1hdCA9PT0gMTIgPyAoXG4gICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgdmFsdWU9e3BlcmlvZD8udG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyLnBlcmlvZCA/PyAnQU0nfVxuICAgICAgICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgICAgICAgIGRhdGEtcGVyaW9kXG4gICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiYW0tcG0taW5wdXRcIlxuICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBldmVudC50YXJnZXQudmFsdWUuc2xpY2UoLTEpXG4gICAgICAgICAgICAgICAgICBpZiAoaXNBT3JQKGtleSkpIGhhbmRsZUNoYW5nZVBlcmlvZChrZXkgYXMgJ2EnIHwgJ3AnKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZWFkT25seSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlUGVyaW9kKHBlcmlvZCA9PT0gJ2FtJyA/ICdwJyA6ICdhJylcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIHJlZlNlY29uZHMuY3VycmVudD8uZm9jdXMoKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgcmVmPXtyZWZQZXJpb2R9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICAgICAgICByb2xlPVwic3BpbmJ1dHRvblwiXG4gICAgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9ezEyfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbWluPXswfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbm93PXtwZXJpb2QgPT09ICdhbScgPyAwIDogMTJ9XG4gICAgICAgICAgICAgIGFyaWEtdmFsdWV0ZXh0PXtwZXJpb2R9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1N0YWNrPlxuICAgICAgICB7ZXJyb3IgfHwgY2xlYXJhYmxlID8gKFxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPVwiMVwiPlxuICAgICAgICAgICAge2Vycm9yID8gPEFsZXJ0Q2lyY2xlSWNvbiBzZW50aW1lbnQ9XCJkYW5nZXJcIiAvPiA6IG51bGx9XG4gICAgICAgICAgICB7Y2xlYXJhYmxlID8gKFxuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cImNsZWFyIHZhbHVlXCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIGljb249XCJjbG9zZVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgIHNldFRpbWUodW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U/Lih1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9UaW1lSW5wdXRXcmFwcGVyPlxuICAgICAge2hlbHBlciB8fCBlcnJvciA/IChcbiAgICAgICAgPFRleHRcbiAgICAgICAgICBhcz1cInBcIlxuICAgICAgICAgIHZhcmlhbnQ9XCJjYXB0aW9uXCJcbiAgICAgICAgICBzZW50aW1lbnQ9e2Vycm9yID8gJ2RhbmdlcicgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgcHJvbWluZW5jZT17ZXJyb3IgPyAnZGVmYXVsdCcgOiAnd2Vhayd9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICA+XG4gICAgICAgICAge2Vycm9yIHx8IGhlbHBlcn1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9TdGFjaz5cbiAgKVxufVxuIl19 */"));
63
+ const Input = /* @__PURE__ */ _styled__default.default("input", process.env.NODE_ENV === "production" ? {
64
+ target: "e8pjt8k2"
65
+ } : {
66
+ target: "e8pjt8k2",
67
+ label: "Input"
68
+ })("border:none;outline:none;background:transparent;font-size:", ({
69
+ theme
70
+ }) => theme.typography.bodySmall.fontSize, ";width:", ({
71
+ theme
72
+ }) => theme.sizing[312], ";height:", ({
73
+ theme
74
+ }) => theme.sizing[300], ";text-align:center;border-radius:", ({
75
+ theme
76
+ }) => theme.radii.default, ";color:", ({
77
+ theme
78
+ }) => theme.colors.neutral.text, ";caret-color:transparent;&[data-size='large']{font-size:", ({
79
+ theme
80
+ }) => theme.typography.body.fontSize, ";}&:not(:disabled):hover{background-color:", ({
81
+ theme
82
+ }) => theme.colors.neutral.backgroundHover, ";color:", ({
83
+ theme
84
+ }) => theme.colors.neutral.textWeak, ";}&:not(:disabled):active,:not(:disabled):focus{background-color:", ({
85
+ theme
86
+ }) => theme.colors.neutral.backgroundStrong, ";color:", ({
87
+ theme
88
+ }) => theme.colors.neutral.text, ';}&:read-only{cursor:default;}&:disabled{cursor:not-allowed;user-select:none;}&[data-period="true"]{color:', ({
89
+ theme
90
+ }) => theme.colors.neutral.textWeak, ";}::-moz-selection{background:none;}::selection{background:none;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dFYyL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3R0UiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvdWkvc3JjL2NvbXBvbmVudHMvVGltZUlucHV0VjIvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBBbGVydENpcmNsZUljb24sIEFzdGVyaXNrSWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB0eXBlIHsgRm9jdXNFdmVudCwgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgTGFiZWxQcm9wIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBTdGFjayB9IGZyb20gJy4uL1N0YWNrJ1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gJy4uL1RleHQnXG5pbXBvcnQge1xuICBERUZBVUxUX0RBVEUsXG4gIERFRkFVTFRfUExBQ0VIT0xERVIsXG4gIElOUFVUX1NJWkVfSEVJR0hULFxuICBUSU1FX0tFWVMsXG59IGZyb20gJy4vY29uc3RhbnRzJ1xuaW1wb3J0IHtcbiAgY2FuQ29uY2F0LFxuICBmb3JtYXQsXG4gIGdldExhc3RUeXBlZENoYXIsXG4gIGdldFZhbHVlQnlUeXBlLFxuICBpc0FPclAsXG4gIGlzQ29tcGxldGVIb3VyLFxuICBpc051bWJlcixcbiAgc2V0VmFsdWVCeVR5cGUsXG59IGZyb20gJy4vaGVscGVycydcblxuZXhwb3J0IHR5cGUgVGltZSA9IHtcbiAgaDogc3RyaW5nXG4gIG06IHN0cmluZ1xuICBzOiBzdHJpbmdcbiAgcGVyaW9kPzogc3RyaW5nXG59XG5cbmNvbnN0IFRpbWVJbnB1dFdyYXBwZXIgPSBzdHlsZWQoU3RhY2spPHtcbiAgJ2RhdGEtcmVhZG9ubHknOiBib29sZWFuXG4gICdkYXRhLWRpc2FibGVkJzogYm9vbGVhblxuICAnZGF0YS1zaXplJzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJ1xuICAnZGF0YS1lcnJvcic6IGJvb2xlYW5cbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBjdXJzb3I6IHRleHQ7XG4gIHBhZGRpbmc6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbMV19O1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJvcmRlcn07XG5cbiAgJjpub3QoW2RhdGEtZGlzYWJsZWQ9XCJ0cnVlXCJdKTpub3QoW2RhdGEtcmVhZG9ubHk9XCJ0cnVlXCJdKTphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gICAgYm94LXNoYWRvdzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeX07XG4gIH1cbiAgXG4gICZbZGF0YS1kaXNhYmxlZD1cImZhbHNlXCJdOmhvdmVyLFxuICBbZGF0YS1kaXNhYmxlZD1cImZhbHNlXCJdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICZbZGF0YS1zaXplPSdzbWFsbCddIHtcbiAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW0lOUFVUX1NJWkVfSEVJR0hULnNtYWxsXX07XG4gICAgcGFkZGluZy1sZWZ0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWzFdfTtcbiAgfVxuXG4gICZbZGF0YS1zaXplPSdtZWRpdW0nXSB7XG4gICAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1tJTlBVVF9TSVpFX0hFSUdIVC5tZWRpdW1dfTtcbiAgfVxuXG4gICZbZGF0YS1zaXplPSdsYXJnZSddIHtcbiAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW0lOUFVUX1NJWkVfSEVJR0hULmxhcmdlXX07XG4gIH1cblxuICAmW2RhdGEtcmVhZG9ubHk9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJvcmRlcn07XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJltkYXRhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAmW2RhdGEtZXJyb3I9J3RydWUnXSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlcn07XG5cbiAgICAmOm5vdChbZGF0YS1kaXNhYmxlZD1cInRydWVcIl0pOm5vdChbZGF0YS1yZWFkb25seT1cInRydWVcIl0pOmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNoYWRvd3MuZm9jdXNEYW5nZXJ9O1xuICAgIH1cblxuICAgICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJ9O1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgSW5wdXQgPSBzdHlsZWQuaW5wdXQ8e1xuICAnZGF0YS1zaXplJzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJ1xuICAnZGF0YS1wZXJpb2QnPzogYm9vbGVhblxufT5gXG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS50eXBvZ3JhcGh5LmJvZHlTbWFsbC5mb250U2l6ZX07XG4gIHdpZHRoOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1szMTJdfTtcbiAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1szMDBdfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0fTtcbiAgY2FyZXQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICZbZGF0YS1zaXplPSdsYXJnZSddIHtcbiAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5ib2R5LmZvbnRTaXplfTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZEhvdmVyfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSwgXG4gIDpub3QoOmRpc2FibGVkKTpmb2N1c3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmd9O1xuICAgIGNvbG9yOiAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0fTtcbiAgfVxuXG4gICY6cmVhZC1vbmx5IHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgJltkYXRhLXBlcmlvZD1cInRydWVcIl0ge1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrfTtcbiAgfVxuXG4gIDo6LW1vei1zZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuICA6OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuYFxuXG5jb25zdCBDdXN0b21UZXh0ID0gc3R5bGVkKFRleHQpYFxucGFkZGluZy1pbmxpbmU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQpYFxuY3Vyc29yOiB0ZXh0O1xuYFxuXG50eXBlIFRpbWVJbnB1dFByb3BzID0ge1xuICBwbGFjZWhvbGRlcj86IFRpbWVcbiAgdmFsdWU/OiBEYXRlXG4gIGNsZWFyYWJsZT86IGJvb2xlYW5cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIGxhYmVsRGVzY3JpcHRpb24/OiBSZWFjdE5vZGVcbiAgaGVscGVyPzogUmVhY3ROb2RlXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICByZWFkT25seT86IGJvb2xlYW5cbiAgZXJyb3I/OiBib29sZWFuIHwgc3RyaW5nXG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgb25DaGFuZ2U/OiAodmFsdWU6IERhdGUgfCB1bmRlZmluZWQsIHZhbHVlUGVyaW9kPzogc3RyaW5nKSA9PiB2b2lkXG4gIG9uQmx1cj86IChldmVudDogRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZFxuICBvbkZvY3VzPzogKGV2ZW50OiBGb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBpZD86IHN0cmluZ1xuICBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJ1xuICB0aW1lRm9ybWF0PzogMTIgfCAyNFxuICAvKipcbiAgICogQXV0b21hdGljYWxseSBmb2N1cyBvbiB0aGUgZWxlbWVudCBvbiByZW5kZXIuIEF1dG9mb2N1cyBpcyBhcHBsaWVkIHRvIHRoZSBob3VyIGlucHV0XG4gICAqL1xuICBhdXRvRm9jdXM/OiBib29sZWFuXG59ICYgTGFiZWxQcm9wXG5cbi8qKlxuICogQSB0aW1lIGlucHV0IGNvbXBvbmVudCB0aGF0IGFsbG93cyB1c2VycyB0byB0eXBlIGEgdGltZSBpbiBhIDI0IG9yIDEyLWhvdXIgZm9ybWF0LlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGNvbXBvbmVudCBpcyBleHBlcmltZW50YWwgYW5kIG1heSBiZSBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRpbWVJbnB1dFYyID0gKHtcbiAgbGFiZWwsXG4gIHRpbWVGb3JtYXQgPSAyNCxcbiAgdmFsdWUsXG4gIGNsZWFyYWJsZSxcbiAgcmVxdWlyZWQsXG4gIGxhYmVsRGVzY3JpcHRpb24sXG4gIGhlbHBlcixcbiAgc2l6ZSA9ICdtZWRpdW0nLFxuICBkaXNhYmxlZCA9IGZhbHNlLFxuICByZWFkT25seSA9IGZhbHNlLFxuICBlcnJvciA9IGZhbHNlLFxuICBvbkNoYW5nZSxcbiAgb25CbHVyLFxuICBvbkZvY3VzLFxuICBjbGFzc05hbWUsXG4gIGlkLFxuICBhdXRvRm9jdXMsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gIHBsYWNlaG9sZGVyID0gREVGQVVMVF9QTEFDRUhPTERFUixcbiAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG59OiBUaW1lSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBkZWZhdWx0UGVyaW9kID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSByZXR1cm4gdmFsdWUuZ2V0SG91cnMoKSA+PSAxMiA/ICdwbScgOiAnYW0nXG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFt2YWx1ZV0pXG5cbiAgY29uc3QgW3RpbWUsIHNldFRpbWVdID0gdXNlU3RhdGUodmFsdWUpXG4gIGNvbnN0IFtwZXJpb2QsIHNldFBlcmlvZF0gPSB1c2VTdGF0ZTwncG0nIHwgJ2FtJyB8IHVuZGVmaW5lZD4oZGVmYXVsdFBlcmlvZClcbiAgY29uc3QgW2ZpbGxlZCwgc2V0RmlsbGVkXSA9IHVzZVN0YXRlKFxuICAgIHZhbHVlID8geyBoOiB0cnVlLCBtOiB0cnVlLCBzOiB0cnVlIH0gOiB7IGg6IGZhbHNlLCBtOiBmYWxzZSwgczogZmFsc2UgfSxcbiAgKSAvLyB0byBub3Qgc2hvdyAwMCB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIHBsYWNlaG9sZGVyXG5cbiAgY29uc3QgcmVmSG91cnMgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcbiAgY29uc3QgcmVmU2Vjb25kcyA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICBjb25zdCByZWZNaW51dGVzID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHJlZlBlcmlvZCA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBzZXRUaW1lKHZhbHVlKVxuXG4gICAgICAvLyB3aXRob3V0IHRoaXMgY29uZGl0aW9uLCBldmVyeSB0aW1lIGFuIGlucHV0IHZhbHVlIGNoYW5nZXMsIHRoZSBvdGhlciBvbmVzIHdpbGwgYmUgc2V0IHRvIDAgaWYgdGhleSB1c2VkIHRvIGJlIHVuZGVmaW5lZFxuICAgICAgLy8gaW5zdGVhZCBvZiBsZWF2aW5nIHRoZW0gZW1wdHkgKGFuZCBzaG93aW5nIHRoZSBwbGFjZWhvbGRlcilcbiAgICAgIGlmICh2YWx1ZS5nZXRUaW1lKCkgIT09IHRpbWU/LmdldFRpbWUoKSkge1xuICAgICAgICBzZXRGaWxsZWQoeyBoOiB0cnVlLCBtOiB0cnVlLCBzOiB0cnVlIH0pXG4gICAgICB9XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3ZhbHVlXSlcblxuICBjb25zdCBoYW5kbGVDaGFuZ2VQZXJpb2QgPSAoa2V5OiAnYScgfCAncCcpID0+IHtcbiAgICBpZiAoIXRpbWUpIHtcbiAgICAgIHNldFBlcmlvZChgJHtrZXl9bWApXG4gICAgfSBlbHNlIGlmIChrZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2EnKSB7XG4gICAgICBpZiAodGltZS5nZXRIb3VycygpID49IDEyKSB7XG4gICAgICAgIGNvbnN0IG5ld1RpbWUgPSBuZXcgRGF0ZSh0aW1lKVxuICAgICAgICBuZXdUaW1lLnNldEhvdXJzKG5ld1RpbWUuZ2V0SG91cnMoKSAtIDEyKVxuICAgICAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICAgIH1cbiAgICAgIHNldFBlcmlvZCgnYW0nKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGltZS5nZXRIb3VycygpIDwgMTIpIHtcbiAgICAgICAgY29uc3QgbmV3VGltZSA9IG5ldyBEYXRlKHRpbWUpXG4gICAgICAgIG5ld1RpbWUuc2V0SG91cnMobmV3VGltZS5nZXRIb3VycygpICsgMTIpXG4gICAgICAgIHNldFRpbWUobmV3VGltZSlcbiAgICAgICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuICAgICAgfVxuICAgICAgc2V0UGVyaW9kKCdwbScpXG4gICAgfVxuICB9XG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycsIGtleTogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgbmV3VGltZSA9IHRpbWUgPyBuZXcgRGF0ZSh0aW1lKSA6IERFRkFVTFRfREFURVxuICAgIGNvbnN0IHZhbHVlVG9DaGFuZ2UgPSBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKVxuXG4gICAgaWYgKGNhbkNvbmNhdCh2YWx1ZVRvQ2hhbmdlLCB0eXBlLCBrZXksIHRpbWVGb3JtYXQpKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9ICh2YWx1ZVRvQ2hhbmdlICUgMTApICogMTAgKyBrZXlcblxuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgbmV3VmFsdWUpXG4gICAgfSBlbHNlIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGtleSlcblxuICAgIGNvbnN0IG5ld1ZhbHVlID0gZ2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSlcbiAgICAvLyBGb2N1cyB0byBuZXh0IGlucHV0IGlmIHRoZSBjdXJyZW50IGlucHV0IGhhcyBhIHZhbGlkIHRpbWVcbiAgICBpZiAodHlwZSA9PT0gJ3MnICYmIG5ld1RpbWUgJiYgbmV3VmFsdWUgPj0gNyAmJiB0aW1lRm9ybWF0ID09PSAxMikge1xuICAgICAgcmVmUGVyaW9kLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdtJyAmJiBuZXdUaW1lICYmIG5ld1ZhbHVlID49IDYpIHtcbiAgICAgIHJlZlNlY29uZHMuY3VycmVudD8uZm9jdXMoKVxuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnaCcpIHtcbiAgICAgIGlmIChpc0NvbXBsZXRlSG91cih0aW1lRm9ybWF0LCBuZXdWYWx1ZSkpIHtcbiAgICAgICAgcmVmTWludXRlcy5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG5ld0ZpbGxlZCA9IHsgLi4uZmlsbGVkIH1cbiAgICBuZXdGaWxsZWRbdHlwZV0gPSB0cnVlXG5cbiAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuXG4gICAgc2V0RmlsbGVkKG5ld0ZpbGxlZClcbiAgfVxuXG4gIC8vIEluY3JlYXNlIHRpbWUgd2l0aCBhcnJvdyB1cFxuICBjb25zdCBoYW5kbGVJbmNyZWFzZSA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBjb25zdCBuZXdUaW1lID0gdGltZSA/IG5ldyBEYXRlKHRpbWUpIDogREVGQVVMVF9EQVRFXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gZ2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSlcbiAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDIzID8gMCA6IGN1cnJlbnRWYWx1ZSArIDEpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMTIgPyAxIDogY3VycmVudFZhbHVlICsgMSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSA1OSA/IDAgOiBjdXJyZW50VmFsdWUgKyAxKVxuICAgIH1cbiAgICBjb25zdCBuZXdGaWxsZWQgPSB7IC4uLmZpbGxlZCB9XG4gICAgbmV3RmlsbGVkW3R5cGVdID0gdHJ1ZVxuXG4gICAgc2V0VGltZShuZXdUaW1lKVxuICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICBzZXRGaWxsZWQobmV3RmlsbGVkKVxuICB9XG5cbiAgLy8gRGVjcmVhc2UgdGltZSB3aXRoIGFycm93IGRvd25cbiAgY29uc3QgaGFuZGxlRGVjcmVhc2UgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnKSA9PiB7XG4gICAgY29uc3QgbmV3VGltZSA9IHRpbWUgPyBuZXcgRGF0ZSh0aW1lKSA6IERFRkFVTFRfREFURVxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUpXG5cbiAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDAgPyAyMyA6IGN1cnJlbnRWYWx1ZSAtIDEpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMSA/IDEyIDogY3VycmVudFZhbHVlIC0gMSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAwID8gNTkgOiBjdXJyZW50VmFsdWUgLSAxKVxuICAgIH1cbiAgICBjb25zdCBuZXdGaWxsZWQgPSB7IC4uLmZpbGxlZCB9XG4gICAgbmV3RmlsbGVkW3R5cGVdID0gdHJ1ZVxuXG4gICAgc2V0VGltZShuZXdUaW1lKVxuICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICBzZXRGaWxsZWQobmV3RmlsbGVkKVxuICB9XG5cbiAgLy8gR28gdG8gbmV4dCBpbnB1dFxuICBjb25zdCBoYW5kbGVOZXh0ID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJykgPT4ge1xuICAgIGlmICh0eXBlID09PSAnaCcpIHJlZk1pbnV0ZXMuY3VycmVudD8uZm9jdXMoKVxuICAgIGlmICh0eXBlID09PSAnbScpIHJlZlNlY29uZHMuY3VycmVudD8uZm9jdXMoKVxuICAgIGlmICh0eXBlID09PSAncycgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHJlZlBlcmlvZC5jdXJyZW50Py5mb2N1cygpXG4gIH1cblxuICAvLyBHbyB0byBwcmV2aW91cyBpbnB1dFxuICBjb25zdCBoYW5kbGVQcmV2aW91cyA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBpZiAodHlwZSA9PT0gJ20nKSByZWZIb3Vycy5jdXJyZW50Py5mb2N1cygpXG4gICAgaWYgKHR5cGUgPT09ICdzJykgcmVmTWludXRlcy5jdXJyZW50Py5mb2N1cygpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdGFjayBnYXA9ezAuNX0gY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIGdhcD17MX0gYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8U3R5bGVkVGV4dFxuICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgIHZhcmlhbnQ9XCJib2R5XCJcbiAgICAgICAgPlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICB7cmVxdWlyZWQgPyA8QXN0ZXJpc2tJY29uIHNpemU9ezh9IHNlbnRpbWVudD1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge2xhYmVsRGVzY3JpcHRpb24gPyAoXG4gICAgICAgICAgPFN0eWxlZFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIj5cbiAgICAgICAgICAgIHtsYWJlbERlc2NyaXB0aW9ufVxuICAgICAgICAgIDwvU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1N0YWNrPlxuICAgICAgPFRpbWVJbnB1dFdyYXBwZXJcbiAgICAgICAgZGF0YS1yZWFkb25seT17cmVhZE9ubHl9XG4gICAgICAgIGRhdGEtZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgIGRhdGEtZXJyb3I9eyEhZXJyb3J9XG4gICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgYXJpYS1yZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHJlZkhvdXJzLmN1cnJlbnQ/LmZvY3VzKCl9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgIHtUSU1FX0tFWVMubWFwKHR5cGUgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcHV0ZWRSZWYgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcpIHJldHVybiByZWZIb3Vyc1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ20nKSByZXR1cm4gcmVmTWludXRlc1xuXG4gICAgICAgICAgICAgIHJldHVybiByZWZTZWNvbmRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBmdWxsTmFtZSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJykgcmV0dXJuICdob3VycydcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdtJykgcmV0dXJuICdtaW51dGVzJ1xuXG4gICAgICAgICAgICAgIHJldHVybiAnc2Vjb25kcydcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY29tcHV0ZU1heFZhbHVlID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyKSByZXR1cm4gMTJcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAyNCkgcmV0dXJuIDIzXG5cbiAgICAgICAgICAgICAgcmV0dXJuIDU5XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTdGFjayBrZXk9e3R5cGV9IGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgdmFsdWU9e1xuICAgICAgICAgICAgICAgICAgICBmaWxsZWRbdHlwZV1cbiAgICAgICAgICAgICAgICAgICAgICA/IGZvcm1hdChnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKSwgdHlwZSwgdGltZUZvcm1hdClcbiAgICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJbdHlwZV19XG4gICAgICAgICAgICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17YCR7ZnVsbE5hbWUoKX0taW5wdXRgfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHJlZj17Y29tcHV0ZWRSZWYoKX1cbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJzcGluYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9e2NvbXB1dGVNYXhWYWx1ZSgpfVxuICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj17dHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyID8gMSA6IDB9XG4gICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbm93PXtcbiAgICAgICAgICAgICAgICAgICAgZmlsbGVkW3R5cGVdXG4gICAgICAgICAgICAgICAgICAgICAgPyBOdW1iZXIucGFyc2VJbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdChnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKSwgdHlwZSwgdGltZUZvcm1hdCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGdldExhc3RUeXBlZENoYXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKSxcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGlzTnVtYmVyKGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZSh0eXBlLCBOdW1iZXIucGFyc2VJbnQoa2V5LCAxMCkpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVJbmNyZWFzZSh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRGVjcmVhc2UodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVByZXZpb3VzKHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlTmV4dCh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzICYmIHR5cGUgPT09ICdoJ31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHt0eXBlID09PSAncycgPyBudWxsIDogKFxuICAgICAgICAgICAgICAgICAgPEN1c3RvbVRleHRcbiAgICAgICAgICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgICA8L0N1c3RvbVRleHQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KX1cbiAgICAgICAgICB7dGltZUZvcm1hdCA9PT0gMTIgPyAoXG4gICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgdmFsdWU9e3BlcmlvZD8udG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyLnBlcmlvZCA/PyAnQU0nfVxuICAgICAgICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgICAgICAgIGRhdGEtcGVyaW9kXG4gICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiYW0tcG0taW5wdXRcIlxuICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBldmVudC50YXJnZXQudmFsdWUuc2xpY2UoLTEpXG4gICAgICAgICAgICAgICAgICBpZiAoaXNBT3JQKGtleSkpIGhhbmRsZUNoYW5nZVBlcmlvZChrZXkgYXMgJ2EnIHwgJ3AnKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZWFkT25seSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlUGVyaW9kKHBlcmlvZCA9PT0gJ2FtJyA/ICdwJyA6ICdhJylcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIHJlZlNlY29uZHMuY3VycmVudD8uZm9jdXMoKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgcmVmPXtyZWZQZXJpb2R9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICAgICAgICByb2xlPVwic3BpbmJ1dHRvblwiXG4gICAgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9ezEyfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbWluPXswfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbm93PXtwZXJpb2QgPT09ICdhbScgPyAwIDogMTJ9XG4gICAgICAgICAgICAgIGFyaWEtdmFsdWV0ZXh0PXtwZXJpb2R9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1N0YWNrPlxuICAgICAgICB7ZXJyb3IgfHwgY2xlYXJhYmxlID8gKFxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPVwiMVwiPlxuICAgICAgICAgICAge2Vycm9yID8gPEFsZXJ0Q2lyY2xlSWNvbiBzZW50aW1lbnQ9XCJkYW5nZXJcIiAvPiA6IG51bGx9XG4gICAgICAgICAgICB7Y2xlYXJhYmxlID8gKFxuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cImNsZWFyIHZhbHVlXCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIGljb249XCJjbG9zZVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgIHNldFRpbWUodW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U/Lih1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9UaW1lSW5wdXRXcmFwcGVyPlxuICAgICAge2hlbHBlciB8fCBlcnJvciA/IChcbiAgICAgICAgPFRleHRcbiAgICAgICAgICBhcz1cInBcIlxuICAgICAgICAgIHZhcmlhbnQ9XCJjYXB0aW9uXCJcbiAgICAgICAgICBzZW50aW1lbnQ9e2Vycm9yID8gJ2RhbmdlcicgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgcHJvbWluZW5jZT17ZXJyb3IgPyAnZGVmYXVsdCcgOiAnd2Vhayd9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICA+XG4gICAgICAgICAge2Vycm9yIHx8IGhlbHBlcn1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9TdGFjaz5cbiAgKVxufVxuIl19 */"));
91
+ const CustomText = /* @__PURE__ */ _styled__default.default(index$1.Text, process.env.NODE_ENV === "production" ? {
92
+ target: "e8pjt8k1"
93
+ } : {
94
+ target: "e8pjt8k1",
95
+ label: "CustomText"
96
+ })("padding-inline:", ({
97
+ theme
98
+ }) => theme.space["0.25"], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dFYyL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5SitCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dFYyL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQWxlcnRDaXJjbGVJY29uLCBBc3Rlcmlza0ljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7IEZvY3VzRXZlbnQsIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IExhYmVsUHJvcCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuaW1wb3J0IHtcbiAgREVGQVVMVF9EQVRFLFxuICBERUZBVUxUX1BMQUNFSE9MREVSLFxuICBJTlBVVF9TSVpFX0hFSUdIVCxcbiAgVElNRV9LRVlTLFxufSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7XG4gIGNhbkNvbmNhdCxcbiAgZm9ybWF0LFxuICBnZXRMYXN0VHlwZWRDaGFyLFxuICBnZXRWYWx1ZUJ5VHlwZSxcbiAgaXNBT3JQLFxuICBpc0NvbXBsZXRlSG91cixcbiAgaXNOdW1iZXIsXG4gIHNldFZhbHVlQnlUeXBlLFxufSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIFRpbWUgPSB7XG4gIGg6IHN0cmluZ1xuICBtOiBzdHJpbmdcbiAgczogc3RyaW5nXG4gIHBlcmlvZD86IHN0cmluZ1xufVxuXG5jb25zdCBUaW1lSW5wdXRXcmFwcGVyID0gc3R5bGVkKFN0YWNrKTx7XG4gICdkYXRhLXJlYWRvbmx5JzogYm9vbGVhblxuICAnZGF0YS1kaXNhYmxlZCc6IGJvb2xlYW5cbiAgJ2RhdGEtc2l6ZSc6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgJ2RhdGEtZXJyb3InOiBib29sZWFuXG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWzFdfTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuXG4gICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2hhZG93cy5mb2N1c1ByaW1hcnl9O1xuICB9XG4gIFxuICAmW2RhdGEtZGlzYWJsZWQ9XCJmYWxzZVwiXTpob3ZlcixcbiAgW2RhdGEtZGlzYWJsZWQ9XCJmYWxzZVwiXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtc2l6ZT0nc21hbGwnXSB7XG4gICAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1tJTlBVVF9TSVpFX0hFSUdIVC5zbWFsbF19O1xuICAgIHBhZGRpbmctbGVmdDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsxXX07XG4gIH1cblxuICAmW2RhdGEtc2l6ZT0nbWVkaXVtJ10ge1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbSU5QVVRfU0laRV9IRUlHSFQubWVkaXVtXX07XG4gIH1cblxuICAmW2RhdGEtc2l6ZT0nbGFyZ2UnXSB7XG4gICAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1tJTlBVVF9TSVpFX0hFSUdIVC5sYXJnZV19O1xuICB9XG5cbiAgJltkYXRhLXJlYWRvbmx5PSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWt9O1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gICZbZGF0YS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZH07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJvcmRlckRpc2FibGVkfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgJltkYXRhLWVycm9yPSd0cnVlJ10ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJ9O1xuXG4gICAgJjpub3QoW2RhdGEtZGlzYWJsZWQ9XCJ0cnVlXCJdKTpub3QoW2RhdGEtcmVhZG9ubHk9XCJ0cnVlXCJdKTphY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJ9O1xuICAgICAgYm94LXNoYWRvdzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyfTtcbiAgICB9XG5cbiAgICAmOm5vdChbZGF0YS1kaXNhYmxlZD1cInRydWVcIl0pOm5vdChbZGF0YS1yZWFkb25seT1cInRydWVcIl0pOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0PHtcbiAgJ2RhdGEtc2l6ZSc6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgJ2RhdGEtcGVyaW9kJz86IGJvb2xlYW5cbn0+YFxuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5ib2R5U21hbGwuZm9udFNpemV9O1xuICB3aWR0aDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbMzEyXX07XG4gIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbMzAwXX07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIGNhcmV0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmW2RhdGEtc2l6ZT0nbGFyZ2UnXSB7XG4gICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keS5mb250U2l6ZX07XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUsIFxuICA6bm90KDpkaXNhYmxlZCk6Zm9jdXN7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbiAgICBjb2xvcjogICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIH1cblxuICAmOnJlYWQtb25seSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gICZbZGF0YS1wZXJpb2Q9XCJ0cnVlXCJdIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gIH1cblxuICA6Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5cbiAgOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbmBcblxuY29uc3QgQ3VzdG9tVGV4dCA9IHN0eWxlZChUZXh0KWBcbnBhZGRpbmctaW5saW5lOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuY29uc3QgU3R5bGVkVGV4dCA9IHN0eWxlZChUZXh0KWBcbmN1cnNvcjogdGV4dDtcbmBcblxudHlwZSBUaW1lSW5wdXRQcm9wcyA9IHtcbiAgcGxhY2Vob2xkZXI/OiBUaW1lXG4gIHZhbHVlPzogRGF0ZVxuICBjbGVhcmFibGU/OiBib29sZWFuXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICBsYWJlbERlc2NyaXB0aW9uPzogUmVhY3ROb2RlXG4gIGhlbHBlcj86IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIGVycm9yPzogYm9vbGVhbiB8IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkLCB2YWx1ZVBlcmlvZD86IHN0cmluZykgPT4gdm9pZFxuICBvbkJsdXI/OiAoZXZlbnQ6IEZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWRcbiAgb25Gb2N1cz86IChldmVudDogRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZFxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgaWQ/OiBzdHJpbmdcbiAgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgdGltZUZvcm1hdD86IDEyIHwgMjRcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgZm9jdXMgb24gdGhlIGVsZW1lbnQgb24gcmVuZGVyLiBBdXRvZm9jdXMgaXMgYXBwbGllZCB0byB0aGUgaG91ciBpbnB1dFxuICAgKi9cbiAgYXV0b0ZvY3VzPzogYm9vbGVhblxufSAmIExhYmVsUHJvcFxuXG4vKipcbiAqIEEgdGltZSBpbnB1dCBjb21wb25lbnQgdGhhdCBhbGxvd3MgdXNlcnMgdG8gdHlwZSBhIHRpbWUgaW4gYSAyNCBvciAxMi1ob3VyIGZvcm1hdC5cbiAqIEBleHBlcmltZW50YWwgVGhpcyBjb21wb25lbnQgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgYmUgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIHRoZSBmdXR1cmUuXG4gKi9cbmV4cG9ydCBjb25zdCBUaW1lSW5wdXRWMiA9ICh7XG4gIGxhYmVsLFxuICB0aW1lRm9ybWF0ID0gMjQsXG4gIHZhbHVlLFxuICBjbGVhcmFibGUsXG4gIHJlcXVpcmVkLFxuICBsYWJlbERlc2NyaXB0aW9uLFxuICBoZWxwZXIsXG4gIHNpemUgPSAnbWVkaXVtJyxcbiAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgZXJyb3IgPSBmYWxzZSxcbiAgb25DaGFuZ2UsXG4gIG9uQmx1cixcbiAgb25Gb2N1cyxcbiAgY2xhc3NOYW1lLFxuICBpZCxcbiAgYXV0b0ZvY3VzLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICBwbGFjZWhvbGRlciA9IERFRkFVTFRfUExBQ0VIT0xERVIsXG4gICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxufTogVGltZUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgZGVmYXVsdFBlcmlvZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh2YWx1ZSkgcmV0dXJuIHZhbHVlLmdldEhvdXJzKCkgPj0gMTIgPyAncG0nIDogJ2FtJ1xuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbdmFsdWVdKVxuXG4gIGNvbnN0IFt0aW1lLCBzZXRUaW1lXSA9IHVzZVN0YXRlKHZhbHVlKVxuICBjb25zdCBbcGVyaW9kLCBzZXRQZXJpb2RdID0gdXNlU3RhdGU8J3BtJyB8ICdhbScgfCB1bmRlZmluZWQ+KGRlZmF1bHRQZXJpb2QpXG4gIGNvbnN0IFtmaWxsZWQsIHNldEZpbGxlZF0gPSB1c2VTdGF0ZShcbiAgICB2YWx1ZSA/IHsgaDogdHJ1ZSwgbTogdHJ1ZSwgczogdHJ1ZSB9IDogeyBoOiBmYWxzZSwgbTogZmFsc2UsIHM6IGZhbHNlIH0sXG4gICkgLy8gdG8gbm90IHNob3cgMDAgd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBwbGFjZWhvbGRlclxuXG4gIGNvbnN0IHJlZkhvdXJzID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHJlZlNlY29uZHMgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcbiAgY29uc3QgcmVmTWludXRlcyA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICBjb25zdCByZWZQZXJpb2QgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgc2V0VGltZSh2YWx1ZSlcblxuICAgICAgLy8gd2l0aG91dCB0aGlzIGNvbmRpdGlvbiwgZXZlcnkgdGltZSBhbiBpbnB1dCB2YWx1ZSBjaGFuZ2VzLCB0aGUgb3RoZXIgb25lcyB3aWxsIGJlIHNldCB0byAwIGlmIHRoZXkgdXNlZCB0byBiZSB1bmRlZmluZWRcbiAgICAgIC8vIGluc3RlYWQgb2YgbGVhdmluZyB0aGVtIGVtcHR5IChhbmQgc2hvd2luZyB0aGUgcGxhY2Vob2xkZXIpXG4gICAgICBpZiAodmFsdWUuZ2V0VGltZSgpICE9PSB0aW1lPy5nZXRUaW1lKCkpIHtcbiAgICAgICAgc2V0RmlsbGVkKHsgaDogdHJ1ZSwgbTogdHJ1ZSwgczogdHJ1ZSB9KVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFt2YWx1ZV0pXG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlUGVyaW9kID0gKGtleTogJ2EnIHwgJ3AnKSA9PiB7XG4gICAgaWYgKCF0aW1lKSB7XG4gICAgICBzZXRQZXJpb2QoYCR7a2V5fW1gKVxuICAgIH0gZWxzZSBpZiAoa2V5LnRvTG93ZXJDYXNlKCkgPT09ICdhJykge1xuICAgICAgaWYgKHRpbWUuZ2V0SG91cnMoKSA+PSAxMikge1xuICAgICAgICBjb25zdCBuZXdUaW1lID0gbmV3IERhdGUodGltZSlcbiAgICAgICAgbmV3VGltZS5zZXRIb3VycyhuZXdUaW1lLmdldEhvdXJzKCkgLSAxMilcbiAgICAgICAgc2V0VGltZShuZXdUaW1lKVxuICAgICAgICBvbkNoYW5nZT8uKG5ld1RpbWUpXG4gICAgICB9XG4gICAgICBzZXRQZXJpb2QoJ2FtJylcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRpbWUuZ2V0SG91cnMoKSA8IDEyKSB7XG4gICAgICAgIGNvbnN0IG5ld1RpbWUgPSBuZXcgRGF0ZSh0aW1lKVxuICAgICAgICBuZXdUaW1lLnNldEhvdXJzKG5ld1RpbWUuZ2V0SG91cnMoKSArIDEyKVxuICAgICAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICAgIH1cbiAgICAgIHNldFBlcmlvZCgncG0nKVxuICAgIH1cbiAgfVxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnLCBrZXk6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IG5ld1RpbWUgPSB0aW1lID8gbmV3IERhdGUodGltZSkgOiBERUZBVUxUX0RBVEVcbiAgICBjb25zdCB2YWx1ZVRvQ2hhbmdlID0gZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSlcblxuICAgIGlmIChjYW5Db25jYXQodmFsdWVUb0NoYW5nZSwgdHlwZSwga2V5LCB0aW1lRm9ybWF0KSkge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSAodmFsdWVUb0NoYW5nZSAlIDEwKSAqIDEwICsga2V5XG5cbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIG5ld1ZhbHVlKVxuICAgIH0gZWxzZSBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBrZXkpXG5cbiAgICBjb25zdCBuZXdWYWx1ZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUpXG4gICAgLy8gRm9jdXMgdG8gbmV4dCBpbnB1dCBpZiB0aGUgY3VycmVudCBpbnB1dCBoYXMgYSB2YWxpZCB0aW1lXG4gICAgaWYgKHR5cGUgPT09ICdzJyAmJiBuZXdUaW1lICYmIG5ld1ZhbHVlID49IDcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHJlZlBlcmlvZC5jdXJyZW50Py5mb2N1cygpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnbScgJiYgbmV3VGltZSAmJiBuZXdWYWx1ZSA+PSA2KSB7XG4gICAgICByZWZTZWNvbmRzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ2gnKSB7XG4gICAgICBpZiAoaXNDb21wbGV0ZUhvdXIodGltZUZvcm1hdCwgbmV3VmFsdWUpKSB7XG4gICAgICAgIHJlZk1pbnV0ZXMuY3VycmVudD8uZm9jdXMoKVxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBuZXdGaWxsZWQgPSB7IC4uLmZpbGxlZCB9XG4gICAgbmV3RmlsbGVkW3R5cGVdID0gdHJ1ZVxuXG4gICAgc2V0VGltZShuZXdUaW1lKVxuICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcblxuICAgIHNldEZpbGxlZChuZXdGaWxsZWQpXG4gIH1cblxuICAvLyBJbmNyZWFzZSB0aW1lIHdpdGggYXJyb3cgdXBcbiAgY29uc3QgaGFuZGxlSW5jcmVhc2UgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnKSA9PiB7XG4gICAgY29uc3QgbmV3VGltZSA9IHRpbWUgPyBuZXcgRGF0ZSh0aW1lKSA6IERFRkFVTFRfREFURVxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUpXG4gICAgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAyNCkge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAyMyA/IDAgOiBjdXJyZW50VmFsdWUgKyAxKVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyKSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDEyID8gMSA6IGN1cnJlbnRWYWx1ZSArIDEpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gNTkgPyAwIDogY3VycmVudFZhbHVlICsgMSlcbiAgICB9XG4gICAgY29uc3QgbmV3RmlsbGVkID0geyAuLi5maWxsZWQgfVxuICAgIG5ld0ZpbGxlZFt0eXBlXSA9IHRydWVcblxuICAgIHNldFRpbWUobmV3VGltZSlcbiAgICBvbkNoYW5nZT8uKG5ld1RpbWUpXG4gICAgc2V0RmlsbGVkKG5ld0ZpbGxlZClcbiAgfVxuXG4gIC8vIERlY3JlYXNlIHRpbWUgd2l0aCBhcnJvdyBkb3duXG4gIGNvbnN0IGhhbmRsZURlY3JlYXNlID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJykgPT4ge1xuICAgIGNvbnN0IG5ld1RpbWUgPSB0aW1lID8gbmV3IERhdGUodGltZSkgOiBERUZBVUxUX0RBVEVcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lKVxuXG4gICAgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAyNCkge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAwID8gMjMgOiBjdXJyZW50VmFsdWUgLSAxKVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyKSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDEgPyAxMiA6IGN1cnJlbnRWYWx1ZSAtIDEpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMCA/IDU5IDogY3VycmVudFZhbHVlIC0gMSlcbiAgICB9XG4gICAgY29uc3QgbmV3RmlsbGVkID0geyAuLi5maWxsZWQgfVxuICAgIG5ld0ZpbGxlZFt0eXBlXSA9IHRydWVcblxuICAgIHNldFRpbWUobmV3VGltZSlcbiAgICBvbkNoYW5nZT8uKG5ld1RpbWUpXG4gICAgc2V0RmlsbGVkKG5ld0ZpbGxlZClcbiAgfVxuXG4gIC8vIEdvIHRvIG5leHQgaW5wdXRcbiAgY29uc3QgaGFuZGxlTmV4dCA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBpZiAodHlwZSA9PT0gJ2gnKSByZWZNaW51dGVzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICBpZiAodHlwZSA9PT0gJ20nKSByZWZTZWNvbmRzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICBpZiAodHlwZSA9PT0gJ3MnICYmIHRpbWVGb3JtYXQgPT09IDEyKSByZWZQZXJpb2QuY3VycmVudD8uZm9jdXMoKVxuICB9XG5cbiAgLy8gR28gdG8gcHJldmlvdXMgaW5wdXRcbiAgY29uc3QgaGFuZGxlUHJldmlvdXMgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnKSA9PiB7XG4gICAgaWYgKHR5cGUgPT09ICdtJykgcmVmSG91cnMuY3VycmVudD8uZm9jdXMoKVxuICAgIGlmICh0eXBlID09PSAncycpIHJlZk1pbnV0ZXMuY3VycmVudD8uZm9jdXMoKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3RhY2sgZ2FwPXswLjV9IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBnYXA9ezF9IGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgPFN0eWxlZFRleHRcbiAgICAgICAgICBhcz1cImxhYmVsXCJcbiAgICAgICAgICBwcm9taW5lbmNlPVwic3Ryb25nXCJcbiAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICB2YXJpYW50PVwiYm9keVwiXG4gICAgICAgID5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvU3R5bGVkVGV4dD5cbiAgICAgICAge3JlcXVpcmVkID8gPEFzdGVyaXNrSWNvbiBzaXplPXs4fSBzZW50aW1lbnQ9XCJkYW5nZXJcIiAvPiA6IG51bGx9XG4gICAgICAgIHtsYWJlbERlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxTdHlsZWRUZXh0IGFzPVwibGFiZWxcIiB2YXJpYW50PVwiYm9keVNtYWxsXCI+XG4gICAgICAgICAgICB7bGFiZWxEZXNjcmlwdGlvbn1cbiAgICAgICAgICA8L1N0eWxlZFRleHQ+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9TdGFjaz5cbiAgICAgIDxUaW1lSW5wdXRXcmFwcGVyXG4gICAgICAgIGRhdGEtcmVhZG9ubHk9e3JlYWRPbmx5fVxuICAgICAgICBkYXRhLWRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICBkYXRhLWVycm9yPXshIWVycm9yfVxuICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgIGFyaWEtcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiByZWZIb3Vycy5jdXJyZW50Py5mb2N1cygpfVxuICAgICAgICBpZD17aWR9XG4gICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICA+XG4gICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIj5cbiAgICAgICAgICB7VElNRV9LRVlTLm1hcCh0eXBlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXB1dGVkUmVmID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnKSByZXR1cm4gcmVmSG91cnNcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdtJykgcmV0dXJuIHJlZk1pbnV0ZXNcblxuICAgICAgICAgICAgICByZXR1cm4gcmVmU2Vjb25kc1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZnVsbE5hbWUgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcpIHJldHVybiAnaG91cnMnXG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnbScpIHJldHVybiAnbWludXRlcydcblxuICAgICAgICAgICAgICByZXR1cm4gJ3NlY29uZHMnXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbXB1dGVNYXhWYWx1ZSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAxMikgcmV0dXJuIDEyXG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMjQpIHJldHVybiAyM1xuXG4gICAgICAgICAgICAgIHJldHVybiA1OVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8U3RhY2sga2V5PXt0eXBlfSBkaXJlY3Rpb249XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgZmlsbGVkW3R5cGVdXG4gICAgICAgICAgICAgICAgICAgICAgPyBmb3JtYXQoZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksIHR5cGUsIHRpbWVGb3JtYXQpXG4gICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyW3R5cGVdfVxuICAgICAgICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2Ake2Z1bGxOYW1lKCl9LWlucHV0YH1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICByZWY9e2NvbXB1dGVkUmVmKCl9XG4gICAgICAgICAgICAgICAgICByb2xlPVwic3BpbmJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PXtjb21wdXRlTWF4VmFsdWUoKX1cbiAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49e3R5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAxMiA/IDEgOiAwfVxuICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW5vdz17XG4gICAgICAgICAgICAgICAgICAgIGZpbGxlZFt0eXBlXVxuICAgICAgICAgICAgICAgICAgICAgID8gTnVtYmVyLnBhcnNlSW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQoZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksIHR5cGUsIHRpbWVGb3JtYXQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZWFkT25seSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBnZXRMYXN0VHlwZWRDaGFyKFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc051bWJlcihrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2UodHlwZSwgTnVtYmVyLnBhcnNlSW50KGtleSwgMTApKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSW5jcmVhc2UodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZURlY3JlYXNlKHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVQcmV2aW91cyh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU5leHQodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e2F1dG9Gb2N1cyAmJiB0eXBlID09PSAnaCd9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7dHlwZSA9PT0gJ3MnID8gbnVsbCA6IChcbiAgICAgICAgICAgICAgICAgIDxDdXN0b21UZXh0XG4gICAgICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5XCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgPC9DdXN0b21UZXh0PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApXG4gICAgICAgICAgfSl9XG4gICAgICAgICAge3RpbWVGb3JtYXQgPT09IDEyID8gKFxuICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgIHZhbHVlPXtwZXJpb2Q/LnRvVXBwZXJDYXNlKCl9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlci5wZXJpb2QgPz8gJ0FNJ31cbiAgICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgICBkYXRhLXBlcmlvZFxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImFtLXBtLWlucHV0XCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQudGFyZ2V0LnZhbHVlLnNsaWNlKC0xKVxuICAgICAgICAgICAgICAgICAgaWYgKGlzQU9yUChrZXkpKSBoYW5kbGVDaGFuZ2VQZXJpb2Qoa2V5IGFzICdhJyB8ICdwJylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZVBlcmlvZChwZXJpb2QgPT09ICdhbScgPyAncCcgOiAnYScpXG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICByZWZTZWNvbmRzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHJlZj17cmVmUGVyaW9kfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgICAgICAgICAgcm9sZT1cInNwaW5idXR0b25cIlxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PXsxMn1cbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj17MH1cbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW5vdz17cGVyaW9kID09PSAnYW0nID8gMCA6IDEyfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVldGV4dD17cGVyaW9kfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgICAge2Vycm9yIHx8IGNsZWFyYWJsZSA/IChcbiAgICAgICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCIgYWxpZ25JdGVtcz1cImNlbnRlclwiIGdhcD1cIjFcIj5cbiAgICAgICAgICAgIHtlcnJvciA/IDxBbGVydENpcmNsZUljb24gc2VudGltZW50PVwiZGFuZ2VyXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAge2NsZWFyYWJsZSA/IChcbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJjbGVhciB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkIHx8IHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiY2xvc2VcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICBzZXRUaW1lKHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4odW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJjbGVhclwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVGltZUlucHV0V3JhcHBlcj5cbiAgICAgIHtoZWxwZXIgfHwgZXJyb3IgPyAoXG4gICAgICAgIDxUZXh0XG4gICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICB2YXJpYW50PVwiY2FwdGlvblwiXG4gICAgICAgICAgc2VudGltZW50PXtlcnJvciA/ICdkYW5nZXInIDogJ25ldXRyYWwnfVxuICAgICAgICAgIHByb21pbmVuY2U9e2Vycm9yID8gJ2RlZmF1bHQnIDogJ3dlYWsnfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgPlxuICAgICAgICAgIHtlcnJvciB8fCBoZWxwZXJ9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvU3RhY2s+XG4gIClcbn1cbiJdfQ== */"));
99
+ const StyledText = /* @__PURE__ */ _styled__default.default(index$1.Text, process.env.NODE_ENV === "production" ? {
100
+ target: "e8pjt8k0"
101
+ } : {
102
+ target: "e8pjt8k0",
103
+ label: "StyledText"
104
+ })(process.env.NODE_ENV === "production" ? {
105
+ name: "1jbm2s3",
106
+ styles: "cursor:text"
107
+ } : {
108
+ name: "1jbm2s3",
109
+ styles: "cursor:text/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dFYyL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0SitCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dFYyL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQWxlcnRDaXJjbGVJY29uLCBBc3Rlcmlza0ljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7IEZvY3VzRXZlbnQsIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IExhYmVsUHJvcCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuaW1wb3J0IHtcbiAgREVGQVVMVF9EQVRFLFxuICBERUZBVUxUX1BMQUNFSE9MREVSLFxuICBJTlBVVF9TSVpFX0hFSUdIVCxcbiAgVElNRV9LRVlTLFxufSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7XG4gIGNhbkNvbmNhdCxcbiAgZm9ybWF0LFxuICBnZXRMYXN0VHlwZWRDaGFyLFxuICBnZXRWYWx1ZUJ5VHlwZSxcbiAgaXNBT3JQLFxuICBpc0NvbXBsZXRlSG91cixcbiAgaXNOdW1iZXIsXG4gIHNldFZhbHVlQnlUeXBlLFxufSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIFRpbWUgPSB7XG4gIGg6IHN0cmluZ1xuICBtOiBzdHJpbmdcbiAgczogc3RyaW5nXG4gIHBlcmlvZD86IHN0cmluZ1xufVxuXG5jb25zdCBUaW1lSW5wdXRXcmFwcGVyID0gc3R5bGVkKFN0YWNrKTx7XG4gICdkYXRhLXJlYWRvbmx5JzogYm9vbGVhblxuICAnZGF0YS1kaXNhYmxlZCc6IGJvb2xlYW5cbiAgJ2RhdGEtc2l6ZSc6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgJ2RhdGEtZXJyb3InOiBib29sZWFuXG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWzFdfTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuXG4gICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2hhZG93cy5mb2N1c1ByaW1hcnl9O1xuICB9XG4gIFxuICAmW2RhdGEtZGlzYWJsZWQ9XCJmYWxzZVwiXTpob3ZlcixcbiAgW2RhdGEtZGlzYWJsZWQ9XCJmYWxzZVwiXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtc2l6ZT0nc21hbGwnXSB7XG4gICAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1tJTlBVVF9TSVpFX0hFSUdIVC5zbWFsbF19O1xuICAgIHBhZGRpbmctbGVmdDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsxXX07XG4gIH1cblxuICAmW2RhdGEtc2l6ZT0nbWVkaXVtJ10ge1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbSU5QVVRfU0laRV9IRUlHSFQubWVkaXVtXX07XG4gIH1cblxuICAmW2RhdGEtc2l6ZT0nbGFyZ2UnXSB7XG4gICAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1tJTlBVVF9TSVpFX0hFSUdIVC5sYXJnZV19O1xuICB9XG5cbiAgJltkYXRhLXJlYWRvbmx5PSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWt9O1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gICZbZGF0YS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZH07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJvcmRlckRpc2FibGVkfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgJltkYXRhLWVycm9yPSd0cnVlJ10ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJ9O1xuXG4gICAgJjpub3QoW2RhdGEtZGlzYWJsZWQ9XCJ0cnVlXCJdKTpub3QoW2RhdGEtcmVhZG9ubHk9XCJ0cnVlXCJdKTphY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJ9O1xuICAgICAgYm94LXNoYWRvdzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyfTtcbiAgICB9XG5cbiAgICAmOm5vdChbZGF0YS1kaXNhYmxlZD1cInRydWVcIl0pOm5vdChbZGF0YS1yZWFkb25seT1cInRydWVcIl0pOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0PHtcbiAgJ2RhdGEtc2l6ZSc6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgJ2RhdGEtcGVyaW9kJz86IGJvb2xlYW5cbn0+YFxuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5ib2R5U21hbGwuZm9udFNpemV9O1xuICB3aWR0aDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbMzEyXX07XG4gIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbMzAwXX07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIGNhcmV0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmW2RhdGEtc2l6ZT0nbGFyZ2UnXSB7XG4gICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keS5mb250U2l6ZX07XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUsIFxuICA6bm90KDpkaXNhYmxlZCk6Zm9jdXN7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbiAgICBjb2xvcjogICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIH1cblxuICAmOnJlYWQtb25seSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gICZbZGF0YS1wZXJpb2Q9XCJ0cnVlXCJdIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gIH1cblxuICA6Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5cbiAgOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbmBcblxuY29uc3QgQ3VzdG9tVGV4dCA9IHN0eWxlZChUZXh0KWBcbnBhZGRpbmctaW5saW5lOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuY29uc3QgU3R5bGVkVGV4dCA9IHN0eWxlZChUZXh0KWBcbmN1cnNvcjogdGV4dDtcbmBcblxudHlwZSBUaW1lSW5wdXRQcm9wcyA9IHtcbiAgcGxhY2Vob2xkZXI/OiBUaW1lXG4gIHZhbHVlPzogRGF0ZVxuICBjbGVhcmFibGU/OiBib29sZWFuXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICBsYWJlbERlc2NyaXB0aW9uPzogUmVhY3ROb2RlXG4gIGhlbHBlcj86IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIGVycm9yPzogYm9vbGVhbiB8IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkLCB2YWx1ZVBlcmlvZD86IHN0cmluZykgPT4gdm9pZFxuICBvbkJsdXI/OiAoZXZlbnQ6IEZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWRcbiAgb25Gb2N1cz86IChldmVudDogRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZFxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgaWQ/OiBzdHJpbmdcbiAgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgdGltZUZvcm1hdD86IDEyIHwgMjRcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgZm9jdXMgb24gdGhlIGVsZW1lbnQgb24gcmVuZGVyLiBBdXRvZm9jdXMgaXMgYXBwbGllZCB0byB0aGUgaG91ciBpbnB1dFxuICAgKi9cbiAgYXV0b0ZvY3VzPzogYm9vbGVhblxufSAmIExhYmVsUHJvcFxuXG4vKipcbiAqIEEgdGltZSBpbnB1dCBjb21wb25lbnQgdGhhdCBhbGxvd3MgdXNlcnMgdG8gdHlwZSBhIHRpbWUgaW4gYSAyNCBvciAxMi1ob3VyIGZvcm1hdC5cbiAqIEBleHBlcmltZW50YWwgVGhpcyBjb21wb25lbnQgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgYmUgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIHRoZSBmdXR1cmUuXG4gKi9cbmV4cG9ydCBjb25zdCBUaW1lSW5wdXRWMiA9ICh7XG4gIGxhYmVsLFxuICB0aW1lRm9ybWF0ID0gMjQsXG4gIHZhbHVlLFxuICBjbGVhcmFibGUsXG4gIHJlcXVpcmVkLFxuICBsYWJlbERlc2NyaXB0aW9uLFxuICBoZWxwZXIsXG4gIHNpemUgPSAnbWVkaXVtJyxcbiAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgZXJyb3IgPSBmYWxzZSxcbiAgb25DaGFuZ2UsXG4gIG9uQmx1cixcbiAgb25Gb2N1cyxcbiAgY2xhc3NOYW1lLFxuICBpZCxcbiAgYXV0b0ZvY3VzLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICBwbGFjZWhvbGRlciA9IERFRkFVTFRfUExBQ0VIT0xERVIsXG4gICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxufTogVGltZUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgZGVmYXVsdFBlcmlvZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh2YWx1ZSkgcmV0dXJuIHZhbHVlLmdldEhvdXJzKCkgPj0gMTIgPyAncG0nIDogJ2FtJ1xuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbdmFsdWVdKVxuXG4gIGNvbnN0IFt0aW1lLCBzZXRUaW1lXSA9IHVzZVN0YXRlKHZhbHVlKVxuICBjb25zdCBbcGVyaW9kLCBzZXRQZXJpb2RdID0gdXNlU3RhdGU8J3BtJyB8ICdhbScgfCB1bmRlZmluZWQ+KGRlZmF1bHRQZXJpb2QpXG4gIGNvbnN0IFtmaWxsZWQsIHNldEZpbGxlZF0gPSB1c2VTdGF0ZShcbiAgICB2YWx1ZSA/IHsgaDogdHJ1ZSwgbTogdHJ1ZSwgczogdHJ1ZSB9IDogeyBoOiBmYWxzZSwgbTogZmFsc2UsIHM6IGZhbHNlIH0sXG4gICkgLy8gdG8gbm90IHNob3cgMDAgd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBwbGFjZWhvbGRlclxuXG4gIGNvbnN0IHJlZkhvdXJzID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHJlZlNlY29uZHMgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcbiAgY29uc3QgcmVmTWludXRlcyA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICBjb25zdCByZWZQZXJpb2QgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgc2V0VGltZSh2YWx1ZSlcblxuICAgICAgLy8gd2l0aG91dCB0aGlzIGNvbmRpdGlvbiwgZXZlcnkgdGltZSBhbiBpbnB1dCB2YWx1ZSBjaGFuZ2VzLCB0aGUgb3RoZXIgb25lcyB3aWxsIGJlIHNldCB0byAwIGlmIHRoZXkgdXNlZCB0byBiZSB1bmRlZmluZWRcbiAgICAgIC8vIGluc3RlYWQgb2YgbGVhdmluZyB0aGVtIGVtcHR5IChhbmQgc2hvd2luZyB0aGUgcGxhY2Vob2xkZXIpXG4gICAgICBpZiAodmFsdWUuZ2V0VGltZSgpICE9PSB0aW1lPy5nZXRUaW1lKCkpIHtcbiAgICAgICAgc2V0RmlsbGVkKHsgaDogdHJ1ZSwgbTogdHJ1ZSwgczogdHJ1ZSB9KVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFt2YWx1ZV0pXG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlUGVyaW9kID0gKGtleTogJ2EnIHwgJ3AnKSA9PiB7XG4gICAgaWYgKCF0aW1lKSB7XG4gICAgICBzZXRQZXJpb2QoYCR7a2V5fW1gKVxuICAgIH0gZWxzZSBpZiAoa2V5LnRvTG93ZXJDYXNlKCkgPT09ICdhJykge1xuICAgICAgaWYgKHRpbWUuZ2V0SG91cnMoKSA+PSAxMikge1xuICAgICAgICBjb25zdCBuZXdUaW1lID0gbmV3IERhdGUodGltZSlcbiAgICAgICAgbmV3VGltZS5zZXRIb3VycyhuZXdUaW1lLmdldEhvdXJzKCkgLSAxMilcbiAgICAgICAgc2V0VGltZShuZXdUaW1lKVxuICAgICAgICBvbkNoYW5nZT8uKG5ld1RpbWUpXG4gICAgICB9XG4gICAgICBzZXRQZXJpb2QoJ2FtJylcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRpbWUuZ2V0SG91cnMoKSA8IDEyKSB7XG4gICAgICAgIGNvbnN0IG5ld1RpbWUgPSBuZXcgRGF0ZSh0aW1lKVxuICAgICAgICBuZXdUaW1lLnNldEhvdXJzKG5ld1RpbWUuZ2V0SG91cnMoKSArIDEyKVxuICAgICAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICAgIH1cbiAgICAgIHNldFBlcmlvZCgncG0nKVxuICAgIH1cbiAgfVxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnLCBrZXk6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IG5ld1RpbWUgPSB0aW1lID8gbmV3IERhdGUodGltZSkgOiBERUZBVUxUX0RBVEVcbiAgICBjb25zdCB2YWx1ZVRvQ2hhbmdlID0gZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSlcblxuICAgIGlmIChjYW5Db25jYXQodmFsdWVUb0NoYW5nZSwgdHlwZSwga2V5LCB0aW1lRm9ybWF0KSkge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSAodmFsdWVUb0NoYW5nZSAlIDEwKSAqIDEwICsga2V5XG5cbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIG5ld1ZhbHVlKVxuICAgIH0gZWxzZSBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBrZXkpXG5cbiAgICBjb25zdCBuZXdWYWx1ZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUpXG4gICAgLy8gRm9jdXMgdG8gbmV4dCBpbnB1dCBpZiB0aGUgY3VycmVudCBpbnB1dCBoYXMgYSB2YWxpZCB0aW1lXG4gICAgaWYgKHR5cGUgPT09ICdzJyAmJiBuZXdUaW1lICYmIG5ld1ZhbHVlID49IDcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHJlZlBlcmlvZC5jdXJyZW50Py5mb2N1cygpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnbScgJiYgbmV3VGltZSAmJiBuZXdWYWx1ZSA+PSA2KSB7XG4gICAgICByZWZTZWNvbmRzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ2gnKSB7XG4gICAgICBpZiAoaXNDb21wbGV0ZUhvdXIodGltZUZvcm1hdCwgbmV3VmFsdWUpKSB7XG4gICAgICAgIHJlZk1pbnV0ZXMuY3VycmVudD8uZm9jdXMoKVxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBuZXdGaWxsZWQgPSB7IC4uLmZpbGxlZCB9XG4gICAgbmV3RmlsbGVkW3R5cGVdID0gdHJ1ZVxuXG4gICAgc2V0VGltZShuZXdUaW1lKVxuICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcblxuICAgIHNldEZpbGxlZChuZXdGaWxsZWQpXG4gIH1cblxuICAvLyBJbmNyZWFzZSB0aW1lIHdpdGggYXJyb3cgdXBcbiAgY29uc3QgaGFuZGxlSW5jcmVhc2UgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnKSA9PiB7XG4gICAgY29uc3QgbmV3VGltZSA9IHRpbWUgPyBuZXcgRGF0ZSh0aW1lKSA6IERFRkFVTFRfREFURVxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUpXG4gICAgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAyNCkge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAyMyA/IDAgOiBjdXJyZW50VmFsdWUgKyAxKVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyKSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDEyID8gMSA6IGN1cnJlbnRWYWx1ZSArIDEpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gNTkgPyAwIDogY3VycmVudFZhbHVlICsgMSlcbiAgICB9XG4gICAgY29uc3QgbmV3RmlsbGVkID0geyAuLi5maWxsZWQgfVxuICAgIG5ld0ZpbGxlZFt0eXBlXSA9IHRydWVcblxuICAgIHNldFRpbWUobmV3VGltZSlcbiAgICBvbkNoYW5nZT8uKG5ld1RpbWUpXG4gICAgc2V0RmlsbGVkKG5ld0ZpbGxlZClcbiAgfVxuXG4gIC8vIERlY3JlYXNlIHRpbWUgd2l0aCBhcnJvdyBkb3duXG4gIGNvbnN0IGhhbmRsZURlY3JlYXNlID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJykgPT4ge1xuICAgIGNvbnN0IG5ld1RpbWUgPSB0aW1lID8gbmV3IERhdGUodGltZSkgOiBERUZBVUxUX0RBVEVcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lKVxuXG4gICAgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAyNCkge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAwID8gMjMgOiBjdXJyZW50VmFsdWUgLSAxKVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyKSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDEgPyAxMiA6IGN1cnJlbnRWYWx1ZSAtIDEpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMCA/IDU5IDogY3VycmVudFZhbHVlIC0gMSlcbiAgICB9XG4gICAgY29uc3QgbmV3RmlsbGVkID0geyAuLi5maWxsZWQgfVxuICAgIG5ld0ZpbGxlZFt0eXBlXSA9IHRydWVcblxuICAgIHNldFRpbWUobmV3VGltZSlcbiAgICBvbkNoYW5nZT8uKG5ld1RpbWUpXG4gICAgc2V0RmlsbGVkKG5ld0ZpbGxlZClcbiAgfVxuXG4gIC8vIEdvIHRvIG5leHQgaW5wdXRcbiAgY29uc3QgaGFuZGxlTmV4dCA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBpZiAodHlwZSA9PT0gJ2gnKSByZWZNaW51dGVzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICBpZiAodHlwZSA9PT0gJ20nKSByZWZTZWNvbmRzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICBpZiAodHlwZSA9PT0gJ3MnICYmIHRpbWVGb3JtYXQgPT09IDEyKSByZWZQZXJpb2QuY3VycmVudD8uZm9jdXMoKVxuICB9XG5cbiAgLy8gR28gdG8gcHJldmlvdXMgaW5wdXRcbiAgY29uc3QgaGFuZGxlUHJldmlvdXMgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnKSA9PiB7XG4gICAgaWYgKHR5cGUgPT09ICdtJykgcmVmSG91cnMuY3VycmVudD8uZm9jdXMoKVxuICAgIGlmICh0eXBlID09PSAncycpIHJlZk1pbnV0ZXMuY3VycmVudD8uZm9jdXMoKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3RhY2sgZ2FwPXswLjV9IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBnYXA9ezF9IGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgPFN0eWxlZFRleHRcbiAgICAgICAgICBhcz1cImxhYmVsXCJcbiAgICAgICAgICBwcm9taW5lbmNlPVwic3Ryb25nXCJcbiAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICB2YXJpYW50PVwiYm9keVwiXG4gICAgICAgID5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvU3R5bGVkVGV4dD5cbiAgICAgICAge3JlcXVpcmVkID8gPEFzdGVyaXNrSWNvbiBzaXplPXs4fSBzZW50aW1lbnQ9XCJkYW5nZXJcIiAvPiA6IG51bGx9XG4gICAgICAgIHtsYWJlbERlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxTdHlsZWRUZXh0IGFzPVwibGFiZWxcIiB2YXJpYW50PVwiYm9keVNtYWxsXCI+XG4gICAgICAgICAgICB7bGFiZWxEZXNjcmlwdGlvbn1cbiAgICAgICAgICA8L1N0eWxlZFRleHQ+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9TdGFjaz5cbiAgICAgIDxUaW1lSW5wdXRXcmFwcGVyXG4gICAgICAgIGRhdGEtcmVhZG9ubHk9e3JlYWRPbmx5fVxuICAgICAgICBkYXRhLWRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICBkYXRhLWVycm9yPXshIWVycm9yfVxuICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgIGFyaWEtcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiByZWZIb3Vycy5jdXJyZW50Py5mb2N1cygpfVxuICAgICAgICBpZD17aWR9XG4gICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICA+XG4gICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIj5cbiAgICAgICAgICB7VElNRV9LRVlTLm1hcCh0eXBlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXB1dGVkUmVmID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnKSByZXR1cm4gcmVmSG91cnNcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdtJykgcmV0dXJuIHJlZk1pbnV0ZXNcblxuICAgICAgICAgICAgICByZXR1cm4gcmVmU2Vjb25kc1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZnVsbE5hbWUgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcpIHJldHVybiAnaG91cnMnXG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnbScpIHJldHVybiAnbWludXRlcydcblxuICAgICAgICAgICAgICByZXR1cm4gJ3NlY29uZHMnXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbXB1dGVNYXhWYWx1ZSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAxMikgcmV0dXJuIDEyXG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMjQpIHJldHVybiAyM1xuXG4gICAgICAgICAgICAgIHJldHVybiA1OVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8U3RhY2sga2V5PXt0eXBlfSBkaXJlY3Rpb249XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgZmlsbGVkW3R5cGVdXG4gICAgICAgICAgICAgICAgICAgICAgPyBmb3JtYXQoZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksIHR5cGUsIHRpbWVGb3JtYXQpXG4gICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyW3R5cGVdfVxuICAgICAgICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2Ake2Z1bGxOYW1lKCl9LWlucHV0YH1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICByZWY9e2NvbXB1dGVkUmVmKCl9XG4gICAgICAgICAgICAgICAgICByb2xlPVwic3BpbmJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PXtjb21wdXRlTWF4VmFsdWUoKX1cbiAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49e3R5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAxMiA/IDEgOiAwfVxuICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW5vdz17XG4gICAgICAgICAgICAgICAgICAgIGZpbGxlZFt0eXBlXVxuICAgICAgICAgICAgICAgICAgICAgID8gTnVtYmVyLnBhcnNlSW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQoZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksIHR5cGUsIHRpbWVGb3JtYXQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZWFkT25seSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBnZXRMYXN0VHlwZWRDaGFyKFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc051bWJlcihrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2UodHlwZSwgTnVtYmVyLnBhcnNlSW50KGtleSwgMTApKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSW5jcmVhc2UodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZURlY3JlYXNlKHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVQcmV2aW91cyh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU5leHQodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e2F1dG9Gb2N1cyAmJiB0eXBlID09PSAnaCd9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7dHlwZSA9PT0gJ3MnID8gbnVsbCA6IChcbiAgICAgICAgICAgICAgICAgIDxDdXN0b21UZXh0XG4gICAgICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5XCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgPC9DdXN0b21UZXh0PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApXG4gICAgICAgICAgfSl9XG4gICAgICAgICAge3RpbWVGb3JtYXQgPT09IDEyID8gKFxuICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgIHZhbHVlPXtwZXJpb2Q/LnRvVXBwZXJDYXNlKCl9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlci5wZXJpb2QgPz8gJ0FNJ31cbiAgICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgICBkYXRhLXBlcmlvZFxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImFtLXBtLWlucHV0XCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQudGFyZ2V0LnZhbHVlLnNsaWNlKC0xKVxuICAgICAgICAgICAgICAgICAgaWYgKGlzQU9yUChrZXkpKSBoYW5kbGVDaGFuZ2VQZXJpb2Qoa2V5IGFzICdhJyB8ICdwJylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZVBlcmlvZChwZXJpb2QgPT09ICdhbScgPyAncCcgOiAnYScpXG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICByZWZTZWNvbmRzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHJlZj17cmVmUGVyaW9kfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgICAgICAgICAgcm9sZT1cInNwaW5idXR0b25cIlxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PXsxMn1cbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj17MH1cbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW5vdz17cGVyaW9kID09PSAnYW0nID8gMCA6IDEyfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVldGV4dD17cGVyaW9kfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgICAge2Vycm9yIHx8IGNsZWFyYWJsZSA/IChcbiAgICAgICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCIgYWxpZ25JdGVtcz1cImNlbnRlclwiIGdhcD1cIjFcIj5cbiAgICAgICAgICAgIHtlcnJvciA/IDxBbGVydENpcmNsZUljb24gc2VudGltZW50PVwiZGFuZ2VyXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAge2NsZWFyYWJsZSA/IChcbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJjbGVhciB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkIHx8IHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiY2xvc2VcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICBzZXRUaW1lKHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4odW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJjbGVhclwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVGltZUlucHV0V3JhcHBlcj5cbiAgICAgIHtoZWxwZXIgfHwgZXJyb3IgPyAoXG4gICAgICAgIDxUZXh0XG4gICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICB2YXJpYW50PVwiY2FwdGlvblwiXG4gICAgICAgICAgc2VudGltZW50PXtlcnJvciA/ICdkYW5nZXInIDogJ25ldXRyYWwnfVxuICAgICAgICAgIHByb21pbmVuY2U9e2Vycm9yID8gJ2RlZmF1bHQnIDogJ3dlYWsnfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgPlxuICAgICAgICAgIHtlcnJvciB8fCBoZWxwZXJ9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvU3RhY2s+XG4gIClcbn1cbiJdfQ== */",
110
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
111
+ });
112
+ const TimeInputV2 = ({
113
+ label,
114
+ timeFormat = 24,
115
+ value,
116
+ clearable,
117
+ required,
118
+ labelDescription,
119
+ helper,
120
+ size = "medium",
121
+ disabled = false,
122
+ readOnly = false,
123
+ error = false,
124
+ onChange,
125
+ onBlur,
126
+ onFocus,
127
+ className,
128
+ id,
129
+ autoFocus,
130
+ "data-testid": dataTestId,
131
+ placeholder = constants.DEFAULT_PLACEHOLDER,
132
+ "aria-label": ariaLabel
133
+ }) => {
134
+ const defaultPeriod = React.useMemo(() => {
135
+ if (value) return value.getHours() >= 12 ? "pm" : "am";
136
+ return void 0;
137
+ }, [value]);
138
+ const [time, setTime] = React.useState(value);
139
+ const [period, setPeriod] = React.useState(defaultPeriod);
140
+ const [filled, setFilled] = React.useState(value ? {
141
+ h: true,
142
+ m: true,
143
+ s: true
144
+ } : {
145
+ h: false,
146
+ m: false,
147
+ s: false
148
+ });
149
+ const refHours = React.useRef(null);
150
+ const refSeconds = React.useRef(null);
151
+ const refMinutes = React.useRef(null);
152
+ const refPeriod = React.useRef(null);
153
+ React.useEffect(() => {
154
+ if (value) {
155
+ setTime(value);
156
+ if (value.getTime() !== time?.getTime()) {
157
+ setFilled({
158
+ h: true,
159
+ m: true,
160
+ s: true
161
+ });
162
+ }
163
+ }
164
+ }, [value]);
165
+ const handleChangePeriod = (key) => {
166
+ if (!time) {
167
+ setPeriod(`${key}m`);
168
+ } else if (key.toLowerCase() === "a") {
169
+ if (time.getHours() >= 12) {
170
+ const newTime = new Date(time);
171
+ newTime.setHours(newTime.getHours() - 12);
172
+ setTime(newTime);
173
+ onChange?.(newTime);
174
+ }
175
+ setPeriod("am");
176
+ } else {
177
+ if (time.getHours() < 12) {
178
+ const newTime = new Date(time);
179
+ newTime.setHours(newTime.getHours() + 12);
180
+ setTime(newTime);
181
+ onChange?.(newTime);
182
+ }
183
+ setPeriod("pm");
184
+ }
185
+ };
186
+ const handleChange = (type, key) => {
187
+ const newTime = time ? new Date(time) : constants.DEFAULT_DATE;
188
+ const valueToChange = helpers.getValueByType(type, time);
189
+ if (helpers.canConcat(valueToChange, type, key, timeFormat)) {
190
+ const newValue2 = valueToChange % 10 * 10 + key;
191
+ helpers.setValueByType(type, newTime, newValue2);
192
+ } else helpers.setValueByType(type, newTime, key);
193
+ const newValue = helpers.getValueByType(type, newTime);
194
+ if (type === "s" && newTime && newValue >= 7 && timeFormat === 12) {
195
+ refPeriod.current?.focus();
196
+ } else if (type === "m" && newTime && newValue >= 6) {
197
+ refSeconds.current?.focus();
198
+ }
199
+ if (type === "h") {
200
+ if (helpers.isCompleteHour(timeFormat, newValue)) {
201
+ refMinutes.current?.focus();
202
+ }
203
+ }
204
+ const newFilled = {
205
+ ...filled
206
+ };
207
+ newFilled[type] = true;
208
+ setTime(newTime);
209
+ onChange?.(newTime);
210
+ setFilled(newFilled);
211
+ };
212
+ const handleIncrease = (type) => {
213
+ const newTime = time ? new Date(time) : constants.DEFAULT_DATE;
214
+ const currentValue = helpers.getValueByType(type, newTime);
215
+ if (type === "h" && timeFormat === 24) {
216
+ helpers.setValueByType(type, newTime, currentValue === 23 ? 0 : currentValue + 1);
217
+ } else if (type === "h" && timeFormat === 12) {
218
+ helpers.setValueByType(type, newTime, currentValue === 12 ? 1 : currentValue + 1);
219
+ } else {
220
+ helpers.setValueByType(type, newTime, currentValue === 59 ? 0 : currentValue + 1);
221
+ }
222
+ const newFilled = {
223
+ ...filled
224
+ };
225
+ newFilled[type] = true;
226
+ setTime(newTime);
227
+ onChange?.(newTime);
228
+ setFilled(newFilled);
229
+ };
230
+ const handleDecrease = (type) => {
231
+ const newTime = time ? new Date(time) : constants.DEFAULT_DATE;
232
+ const currentValue = helpers.getValueByType(type, newTime);
233
+ if (type === "h" && timeFormat === 24) {
234
+ helpers.setValueByType(type, newTime, currentValue === 0 ? 23 : currentValue - 1);
235
+ } else if (type === "h" && timeFormat === 12) {
236
+ helpers.setValueByType(type, newTime, currentValue === 1 ? 12 : currentValue - 1);
237
+ } else {
238
+ helpers.setValueByType(type, newTime, currentValue === 0 ? 59 : currentValue - 1);
239
+ }
240
+ const newFilled = {
241
+ ...filled
242
+ };
243
+ newFilled[type] = true;
244
+ setTime(newTime);
245
+ onChange?.(newTime);
246
+ setFilled(newFilled);
247
+ };
248
+ const handleNext = (type) => {
249
+ if (type === "h") refMinutes.current?.focus();
250
+ if (type === "m") refSeconds.current?.focus();
251
+ if (type === "s" && timeFormat === 12) refPeriod.current?.focus();
252
+ };
253
+ const handlePrevious = (type) => {
254
+ if (type === "m") refHours.current?.focus();
255
+ if (type === "s") refMinutes.current?.focus();
256
+ };
257
+ return /* @__PURE__ */ jsxRuntime.jsxs(index.Stack, { gap: 0.5, className, children: [
258
+ /* @__PURE__ */ jsxRuntime.jsxs(index.Stack, { direction: "row", gap: 1, alignItems: "center", children: [
259
+ /* @__PURE__ */ jsxRuntime.jsx(StyledText, { as: "label", prominence: "strong", sentiment: "neutral", variant: "body", children: label }),
260
+ required ? /* @__PURE__ */ jsxRuntime.jsx(Icon.AsteriskIcon, { size: 8, sentiment: "danger" }) : null,
261
+ labelDescription ? /* @__PURE__ */ jsxRuntime.jsx(StyledText, { as: "label", variant: "bodySmall", children: labelDescription }) : null
262
+ ] }),
263
+ /* @__PURE__ */ jsxRuntime.jsxs(TimeInputWrapper, { "data-readonly": readOnly, "data-disabled": disabled, "data-size": size, "data-error": !!error, direction: "row", alignItems: "center", justifyContent: "space-between", onBlur, onFocus, "aria-required": required, onClick: () => refHours.current?.focus(), id, "data-testid": dataTestId, "aria-label": ariaLabel, children: [
264
+ /* @__PURE__ */ jsxRuntime.jsxs(index.Stack, { direction: "row", children: [
265
+ constants.TIME_KEYS.map((type) => {
266
+ const computedRef = () => {
267
+ if (type === "h") return refHours;
268
+ if (type === "m") return refMinutes;
269
+ return refSeconds;
270
+ };
271
+ const fullName = () => {
272
+ if (type === "h") return "hours";
273
+ if (type === "m") return "minutes";
274
+ return "seconds";
275
+ };
276
+ const computeMaxValue = () => {
277
+ if (type === "h" && timeFormat === 12) return 12;
278
+ if (type === "h" && timeFormat === 24) return 23;
279
+ return 59;
280
+ };
281
+ return /* @__PURE__ */ jsxRuntime.jsxs(index.Stack, { direction: "row", children: [
282
+ /* @__PURE__ */ jsxRuntime.jsx(Input, { value: filled[type] ? helpers.format(helpers.getValueByType(type, time), type, timeFormat) : "", placeholder: placeholder[type], "data-size": size, readOnly, disabled, "aria-label": ariaLabel, "data-testid": `${fullName()}-input`, onClick: (event) => {
283
+ event.stopPropagation();
284
+ }, ref: computedRef(), role: "spinbutton", "aria-valuemax": computeMaxValue(), "aria-valuemin": type === "h" && timeFormat === 12 ? 1 : 0, "aria-valuenow": filled[type] ? Number.parseInt(helpers.format(helpers.getValueByType(type, time), type, timeFormat), 10) : void 0, onChange: (event) => {
285
+ if (!readOnly && !disabled) {
286
+ const key = helpers.getLastTypedChar(event.target.value, helpers.getValueByType(type, time));
287
+ if (helpers.isNumber(key)) {
288
+ handleChange(type, Number.parseInt(key, 10));
289
+ }
290
+ }
291
+ }, onKeyDown: (event) => {
292
+ if (!readOnly && !disabled) {
293
+ if (event.key === "ArrowUp") {
294
+ event.preventDefault();
295
+ handleIncrease(type);
296
+ } else if (event.key === "ArrowDown") {
297
+ event.preventDefault();
298
+ handleDecrease(type);
299
+ } else if (event.key === "ArrowLeft") {
300
+ event.preventDefault();
301
+ handlePrevious(type);
302
+ } else if (event.key === "ArrowRight") {
303
+ event.preventDefault();
304
+ handleNext(type);
305
+ }
306
+ }
307
+ }, autoFocus: autoFocus && type === "h" }),
308
+ type === "s" ? null : /* @__PURE__ */ jsxRuntime.jsx(CustomText, { as: "span", variant: "body", prominence: "default", sentiment: "neutral", children: ":" })
309
+ ] }, type);
310
+ }),
311
+ timeFormat === 12 ? /* @__PURE__ */ jsxRuntime.jsx(Input, { value: period?.toUpperCase(), placeholder: placeholder.period ?? "AM", "data-size": size, "data-period": true, readOnly, disabled, "aria-label": ariaLabel, "data-testid": "am-pm-input", onChange: (event) => {
312
+ if (!readOnly && !disabled) {
313
+ const key = event.target.value.slice(-1);
314
+ if (helpers.isAOrP(key)) handleChangePeriod(key);
315
+ }
316
+ }, onKeyDown: (event) => {
317
+ if (!readOnly && !disabled) {
318
+ if (event.key === "ArrowUp" || event.key === "ArrowDown") {
319
+ event.preventDefault();
320
+ handleChangePeriod(period === "am" ? "p" : "a");
321
+ } else if (event.key === "ArrowLeft") {
322
+ event.preventDefault();
323
+ refSeconds.current?.focus();
324
+ }
325
+ }
326
+ }, ref: refPeriod, onClick: (event) => event.stopPropagation(), role: "spinbutton", "aria-valuemax": 12, "aria-valuemin": 0, "aria-valuenow": period === "am" ? 0 : 12, "aria-valuetext": period }) : null
327
+ ] }),
328
+ error || clearable ? /* @__PURE__ */ jsxRuntime.jsxs(index.Stack, { direction: "row", alignItems: "center", gap: "1", children: [
329
+ error ? /* @__PURE__ */ jsxRuntime.jsx(Icon.AlertCircleIcon, { sentiment: "danger" }) : null,
330
+ clearable ? /* @__PURE__ */ jsxRuntime.jsx(index$2.Button, { "aria-label": "clear value", disabled: disabled || readOnly, variant: "ghost", size: "small", icon: "close", onClick: (event) => {
331
+ event.stopPropagation();
332
+ setTime(void 0);
333
+ onChange?.(void 0);
334
+ }, sentiment: "neutral", "data-testid": "clear" }) : null
335
+ ] }) : null
336
+ ] }),
337
+ helper || error ? /* @__PURE__ */ jsxRuntime.jsx(index$1.Text, { as: "p", variant: "caption", sentiment: error ? "danger" : "neutral", prominence: error ? "default" : "weak", disabled, children: error || helper }) : null
338
+ ] });
339
+ };
340
+ exports.Input = Input;
341
+ exports.TimeInputV2 = TimeInputV2;
@@ -0,0 +1,44 @@
1
+ import type { FocusEvent, ReactNode } from 'react';
2
+ import type { LabelProp } from '../../types';
3
+ export type Time = {
4
+ h: string;
5
+ m: string;
6
+ s: string;
7
+ period?: string;
8
+ };
9
+ export declare const Input: import("@emotion/styled").StyledComponent<{
10
+ theme?: import("@emotion/react").Theme;
11
+ as?: React.ElementType;
12
+ } & {
13
+ 'data-size': "small" | "medium" | "large";
14
+ 'data-period'?: boolean;
15
+ }, import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, {}>;
16
+ type TimeInputProps = {
17
+ placeholder?: Time;
18
+ value?: Date;
19
+ clearable?: boolean;
20
+ required?: boolean;
21
+ labelDescription?: ReactNode;
22
+ helper?: ReactNode;
23
+ disabled?: boolean;
24
+ readOnly?: boolean;
25
+ error?: boolean | string;
26
+ 'data-testid'?: string;
27
+ onChange?: (value: Date | undefined, valuePeriod?: string) => void;
28
+ onBlur?: (event: FocusEvent<HTMLInputElement>) => void;
29
+ onFocus?: (event: FocusEvent<HTMLInputElement>) => void;
30
+ className?: string;
31
+ id?: string;
32
+ size?: 'small' | 'medium' | 'large';
33
+ timeFormat?: 12 | 24;
34
+ /**
35
+ * Automatically focus on the element on render. Autofocus is applied to the hour input
36
+ */
37
+ autoFocus?: boolean;
38
+ } & LabelProp;
39
+ /**
40
+ * A time input component that allows users to type a time in a 24 or 12-hour format.
41
+ * @experimental This component is experimental and may be subject to breaking changes in the future.
42
+ */
43
+ export declare const TimeInputV2: ({ label, timeFormat, value, clearable, required, labelDescription, helper, size, disabled, readOnly, error, onChange, onBlur, onFocus, className, id, autoFocus, "data-testid": dataTestId, placeholder, "aria-label": ariaLabel, }: TimeInputProps) => import("@emotion/react/jsx-runtime").JSX.Element;
44
+ export {};