@libs-ui/components-datetime-dropdown 0.2.10-6.2 → 0.2.30-6.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.
- package/esm2022/dropdown.component.mjs +5 -7
- package/esm2022/index.mjs +2 -1
- package/esm2022/interfaces/date-dropdown.interface.mjs +2 -6
- package/esm2022/interfaces/index.mjs +5 -0
- package/esm2022/item/child/child.component.mjs +10 -7
- package/esm2022/item/item.component.mjs +4 -4
- package/fesm2022/libs-ui-components-datetime-dropdown.mjs +20 -15
- package/fesm2022/libs-ui-components-datetime-dropdown.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/interfaces/date-dropdown.interface.d.ts +0 -4
- package/interfaces/index.d.ts +4 -0
- package/package.json +11 -3
|
@@ -7,12 +7,12 @@ import { LibsUiComponentsDatetimeDropdownItemChildComponent } from "./child/chil
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@ngx-translate/core";
|
|
9
9
|
export class LibsUiComponentsDatetimeDropdownItemComponent {
|
|
10
|
-
|
|
10
|
+
// #region PROPERTY
|
|
11
11
|
typeListDate = signal([]);
|
|
12
12
|
keyMonthResetDay = signal(undefined);
|
|
13
13
|
selectedSingle = signal({});
|
|
14
14
|
isError = signal(undefined);
|
|
15
|
-
|
|
15
|
+
// #region INPUT
|
|
16
16
|
typeDate = input(undefined);
|
|
17
17
|
disableSecond = input(undefined);
|
|
18
18
|
selectedDate = input(undefined);
|
|
@@ -34,7 +34,7 @@ export class LibsUiComponentsDatetimeDropdownItemComponent {
|
|
|
34
34
|
validRequired = input(undefined);
|
|
35
35
|
isEmitSelectedDropDown = input(undefined);
|
|
36
36
|
listMaxItemShow = input(undefined);
|
|
37
|
-
|
|
37
|
+
// #region OUTPUT
|
|
38
38
|
outSelectedData = output();
|
|
39
39
|
outFunctionControl = output();
|
|
40
40
|
outChangStageFlagMouse = output();
|
|
@@ -213,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
213
213
|
LibsUiComponentsDatetimeDropdownBuildListByDateTypePipe
|
|
214
214
|
], template: "<div class=\"\">\n <div class=\"flex items-start\">\n @if (typeListDate(); as typeListDate) {\n @for (item of typeListDate; track item().id; let last = $last; let i =$index; let first = $first) {\n <div [style.width]=\"widthByElement() | LibsUiComponentsDatetimeDropdownBuildWidthPipe :widthDropdown():first:isMultiple()\"\n [class.mr-[8px]]=\"!last && typeListDate.length ===2\"\n [style.minWidth.px]=\"widthDropdown()\">\n <libs_ui-components-datetime-dropdown-item-child [readonly]=\"readonly()\"\n [typeDate]=\"item().id\"\n [disable]=\"item().disable ?? disable()\"\n [listKeySelected]=\"item().keySelected\"\n [widthByElement]=\"widthByElement()\"\n [first]=\"first\"\n [widthDropdown]=\"widthDropdown()\"\n [listKeysDisable]=\"listKeysDisable()?.[item().id]?.()\"\n [listMaxItemShow]=\"listMaxItemShow()?.[item().id] ?? 6\"\n [isError]=\"item().isError\"\n [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [zIndex]=\"zIndex()\"\n [showBorderError]=\"item().showBorderError && !item().disable && !disable()\"\n [listData]=\"item().id | LibsUiComponentsDatetimeDropdownBuildListByDateTypePipe :{minYear:minYear(), maxYear:maxYear(), reverseYear:reverseYear()} :keyMonthResetDay()\"\n [classIncludeTextDisplayWhenNoSelect]=\"classIncludeTextDisplayWhenNoSelect() ?? ''\"\n (outSelectedKey)=\"handlerSelectedKey($event, item, i)\"\n (outFunctionControl)=\"handlerFunctionControl($event, item)\"\n (outChangStageFlagMouse)=\"handlerChangFlagMouse($event)\" />\n </div>\n }\n }\n </div>\n\n @if (isError()) {\n <div class=\"flex items-center mt-[4px]\">\n <span class=\"libs-ui-font-h7r libs-ui-text-error\"\n [innerHtml]=\"(validRequired()?.message || 'i18n_valid_empty_message')| translate:validRequired()?.interpolateParams\"></span>\n </div>\n }\n</div>\n" }]
|
|
215
215
|
}], ctorParameters: () => [] });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvZGF0ZXRpbWUvZHJvcGRvd24vc3JjL2l0ZW0vaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvZGF0ZXRpbWUvZHJvcGRvd24vc3JjL2l0ZW0vaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUc1RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJdEQsT0FBTyxFQUFFLHVEQUF1RCxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakgsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0YsT0FBTyxFQUFFLGtEQUFrRCxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQWU3RixNQUFNLE9BQU8sNkNBQTZDO0lBQ3hELGNBQWM7SUFDSixZQUFZLEdBQUcsTUFBTSxDQUFtQyxFQUFFLENBQUMsQ0FBQztJQUM1RCxnQkFBZ0IsR0FBRyxNQUFNLENBQU0sU0FBUyxDQUFDLENBQUM7SUFDMUMsY0FBYyxHQUFHLE1BQU0sQ0FBMEIsRUFBRSxDQUFDLENBQUM7SUFDckQsT0FBTyxHQUFHLE1BQU0sQ0FBc0IsU0FBUyxDQUFDLENBQUM7SUFFM0QsV0FBVztJQUNGLFFBQVEsR0FBRyxLQUFLLENBQXdDLFNBQVMsQ0FBQyxDQUFDO0lBQ25FLGFBQWEsR0FBRyxLQUFLLENBQXNCLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELFlBQVksR0FBRyxLQUFLLENBQXNDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JFLGFBQWEs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aW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIGlucHV0LCBPbkluaXQsIG91dHB1dCwgc2lnbmFsLCB1bnRyYWNrZWQsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElEcm9wZG93bkZ1bmN0aW9uQ29udHJvbEV2ZW50IH0gZnJvbSBcIkBsaWJzLXVpL2NvbXBvbmVudHMtZHJvcGRvd25cIjtcbmltcG9ydCB7IElGbGFnTW91c2UgfSBmcm9tIFwiQGxpYnMtdWkvY29tcG9uZW50cy1wb3BvdmVyXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgSURhdGVEcm9wZG93bkRpc2FibGUsIElUeXBlRGF0ZSwgVFlQRV9EQVRFX0RST1BET1dOX0ZPUk1BVCwgVFlQRV9EQVRFX0ZPUk1BVCB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2RhdGUtZHJvcGRvd24uaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBJRW1pdFNpbmdsZURhdGVEcm9wZG93biB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2VtaXQtZHJvcGRvd24uaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBJRGF0ZURyb3Bkb3duSXRlbUZ1bmN0aW9uQ29udHJvbEV2ZW50IH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZnVuY3Rpb25zLWNvbnRyb2wtZXZlbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBMaWJzVWlDb21wb25lbnRzRGF0ZXRpbWVEcm9wZG93bkJ1aWxkTGlzdEJ5RGF0ZVR5cGVQaXBlIH0gZnJvbSBcIi4uL3BpcGVzL2J1aWxkLWxpc3QtYnktZGF0ZS10eXBlLS5waXBlXCI7XG5pbXBvcnQgeyBMaWJzVWlDb21wb25lbnRzRGF0ZXRpbWVEcm9wZG93bkJ1aWxkV2lkdGhQaXBlIH0gZnJvbSBcIi4uL3BpcGVzL2J1aWxkLXdpZHRoLnBpcGVcIjtcbmltcG9ydCB7IExpYnNVaUNvbXBvbmVudHNEYXRldGltZURyb3Bkb3duSXRlbUNoaWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY2hpbGQvY2hpbGQuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1kYXRldGltZS1kcm9wZG93bi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICdpdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBMaWJzVWlDb21wb25lbnRzRGF0ZXRpbWVEcm9wZG93bkl0ZW1DaGlsZENvbXBvbmVudCxcbiAgICBMaWJzVWlDb21wb25lbnRzRGF0ZXRpbWVEcm9wZG93bkJ1aWxkV2lkdGhQaXBlLFxuICAgIExpYnNVaUNvbXBvbmVudHNEYXRldGltZURyb3Bkb3duQnVpbGRMaXN0QnlEYXRlVHlwZVBpcGVcbiAgXVxufSlcblxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbXBvbmVudHNEYXRldGltZURyb3Bkb3duSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qIFBST1BFUlRZICovXG4gIHByb3RlY3RlZCB0eXBlTGlzdERhdGUgPSBzaWduYWw8QXJyYXk8V3JpdGFibGVTaWduYWw8SVR5cGVEYXRlPj4+KFtdKTtcbiAgcHJvdGVjdGVkIGtleU1vbnRoUmVzZXREYXkgPSBzaWduYWw8YW55Pih1bmRlZmluZWQpO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRTaW5nbGUgPSBzaWduYWw8SUVtaXRTaW5nbGVEYXRlRHJvcGRvd24+KHt9KTtcbiAgcHJvdGVjdGVkIGlzRXJyb3IgPSBzaWduYWw8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvKiBJTlBVVCAqL1xuICByZWFkb25seSB0eXBlRGF0ZSA9IGlucHV0PFRZUEVfREFURV9EUk9QRE9XTl9GT1JNQVQgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGRpc2FibGVTZWNvbmQgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBzZWxlY3RlZERhdGUgPSBpbnB1dDxJRW1pdFNpbmdsZURhdGVEcm9wZG93biB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgd2lkdGhEcm9wZG93biA9IGlucHV0PG51bWJlciwgbnVtYmVyPigxMzYsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlID8/IDEzNiB9KTtcbiAgcmVhZG9ubHkgd2lkdGhCeUVsZW1lbnQgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBnZXRJdGVtWWVhckRpc3BsYXkgPSBpbnB1dDwoKHllYXI6IHN0cmluZykgPT4gc3RyaW5nKSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgbGlzdEhhc0J1dHRvblVuU2VsZWN0T3B0aW9uID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgcmVhZG9ubHkgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGRpc2FibGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHpJbmRleCA9IGlucHV0PG51bWJlciwgbnVtYmVyPigxMjAwLCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyAxMjAwIH0pO1xuICByZWFkb25seSBpc011bHRpcGxlID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgY2xhc3NJbmNsdWRlVGV4dERpc3BsYXlXaGVuTm9TZWxlY3QgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGlzQ2hlY2tFcnJvcldoZW5TZWxlY3RJdGVtID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgbWF4WWVhciA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgbWluWWVhciA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgcmV2ZXJzZVllYXIgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkLCBib29sZWFuIHwgdW5kZWZpbmVkPih0cnVlLCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyB0cnVlIH0pO1xuICByZWFkb25seSBsaXN0S2V5c0Rpc2FibGUgPSBpbnB1dDxJRGF0ZURyb3Bkb3duRGlzYWJsZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgaWdub3JlQ29udmVydFllYXJTZWxlY3RlZCA9IGlucHV0PGJvb2xlYW4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHZhbGlkUmVxdWlyZWQgPSBpbnB1dDx7IG1lc3NhZ2U/OiBzdHJpbmc7IGludGVycG9sYXRlUGFyYW1zPzogeyBhbnk6IG9iamVjdCB9IH0gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGlzRW1pdFNlbGVjdGVkRHJvcERvd24gPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBsaXN0TWF4SXRlbVNob3cgPSBpbnB1dDx7IHllYXI/OiBudW1iZXI7IG1vbnRoPzogbnVtYmVyOyBxdWFydGVyPzogbnVtYmVyOyBkYXk/OiBudW1iZXIgfSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvKiBPVVRQVVQgKi9cbiAgcmVhZG9ubHkgb3V0U2VsZWN0ZWREYXRhID0gb3V0cHV0PElFbWl0U2luZ2xlRGF0ZURyb3Bkb3duPigpO1xuICByZWFkb25seSBvdXRGdW5jdGlvbkNvbnRyb2wgPSBvdXRwdXQ8SURhdGVEcm9wZG93bkl0ZW1GdW5jdGlvbkNvbnRyb2xFdmVudD4oKTtcbiAgcmVhZG9ubHkgb3V0Q2hhbmdTdGFnZUZsYWdNb3VzZSA9IG91dHB1dDxJRmxhZ01vdXNlPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCB0eXBlRGF0ZSA9IHRoaXMudHlwZURhdGUoKTtcbiAgICAgIGlmICghdHlwZURhdGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHR5cGVEYXRlLnNwbGl0KCctJykgYXMgQXJyYXk8VFlQRV9EQVRFX0ZPUk1BVD47XG5cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGRhdGEubWFwKGl0ZW0gPT4geyByZXR1cm4gc2lnbmFsKHsgaWQ6IChpdGVtIHx8ICdtb250aCcpIGFzIFRZUEVfREFURV9GT1JNQVQsIGtleVNlbGVjdGVkOiB1bmRlZmluZWQgfSkgfSkgfHwgW107XG4gICAgICAgIHRoaXMudHlwZUxpc3REYXRlLnNldChyZXN1bHRzKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZERhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZSgpO1xuXG4gICAgICBpZiAoIXNlbGVjdGVkRGF0ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTaW5nbGUuc2V0KHNlbGVjdGVkRGF0ZSk7XG4gICAgICAgIGlmICghdGhpcy50eXBlTGlzdERhdGUoKS5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudHlwZURhdGUoKSA9PT0gJ21vbnRoLWRheScgJiYgc2VsZWN0ZWREYXRlLm1vbnRoKSB7XG4gICAgICAgICAgdGhpcy5rZXlNb250aFJlc2V0RGF5LnNldChzZWxlY3RlZERhdGUubW9udGgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudHlwZUxpc3REYXRlKCkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICBpdGVtLnVwZGF0ZShjdXJyZW50ID0+IHtcbiAgICAgICAgICAgIGN1cnJlbnQua2V5U2VsZWN0ZWQgPSBzZWxlY3RlZERhdGVbY3VycmVudC5pZF0gPz8gdW5kZWZpbmVkO1xuICAgICAgICAgICAgaWYgKCh0aGlzLmRpc2FibGVTZWNvbmQoKSAmJiBpbmRleCAhPT0gMCAmJiAhY3VycmVudC5rZXlTZWxlY3RlZCkgfHwgKCFzZWxlY3RlZERhdGVbJ21vbnRoJ10gJiYgdGhpcy50eXBlRGF0ZSgpID09PSAnbW9udGgtZGF5JyAmJiBpdGVtKCkuaWQgPT09ICdkYXknKSkge1xuICAgICAgICAgICAgICBjdXJyZW50LmRpc2FibGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY3VycmVudDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3V0RnVuY3Rpb25Db250cm9sLmVtaXQoe1xuICAgICAgY2hlY2tJc1ZhbGlkOiB0aGlzLnZhbGlkYXRlLmJpbmQodGhpcyksXG4gICAgICByZXNldERyb3Bkb3duOiB0aGlzLnJlc2V0RHJvcGRvd24uYmluZCh0aGlzKSxcbiAgICAgIHJlc2V0RXJyb3I6IHRoaXMucmVzZXRFcnJvci5iaW5kKHRoaXMpLFxuICAgICAgc2V0RXJyb3I6IHRoaXMuc2V0RXJyb3IuYmluZCh0aGlzKVxuICAgIH0pO1xuICB9XG5cbiAgLyogRlVOQ1RJT05TICovXG4gIHByb3RlY3RlZCBoYW5kbGVyU2VsZWN0ZWRLZXkoZXZlbnQ6IGFueSwgdHlwZURhdGU6IFdyaXRhYmxlU2lnbmFsPElUeXBlRGF0ZT4sIGk6IG51bWJlcikge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkU2luZ2xlKClbdHlwZURhdGUoKS5pZF0gPT09IGV2ZW50ICYmIHRoaXMuaXNFbWl0U2VsZWN0ZWREcm9wRG93bigpKSB7XG4gICAgICB0aGlzLm91dFNlbGVjdGVkRGF0YS5lbWl0KHRoaXMuc2VsZWN0ZWRTaW5nbGUoKSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHlwZURhdGUudXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgY3VycmVudC5rZXlTZWxlY3RlZCA9IGV2ZW50O1xuXG4gICAgICByZXR1cm4gY3VycmVudDtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkU2luZ2xlKCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRTaW5nbGUudXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICBjdXJyZW50W3R5cGVEYXRlKCkuaWRdID0gZXZlbnQgPyBOdW1iZXIoZXZlbnQpIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpc2FibGVTZWNvbmQoKSB8fCAodGhpcy50eXBlRGF0ZSgpID09PSAnbW9udGgtZGF5JyAmJiB0eXBlRGF0ZSgpLmlkID09PSAnbW9udGgnKSkge1xuICAgICAgdGhpcy5rZXlNb250aFJlc2V0RGF5LnNldChldmVudCk7XG4gICAgICB0aGlzLnR5cGVMaXN0RGF0ZSgpLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGl0ZW0udXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICAgIGN1cnJlbnQuZGlzYWJsZSA9IGZhbHNlO1xuXG4gICAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMudHlwZUxpc3REYXRlKCkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpbmRleCA9PT0gMSAmJiBpdGVtKCkuZnVuY3Rpb25Db250cm9sICYmIGkgPT09IDApIHtcbiAgICAgICAgaXRlbSgpLmZ1bmN0aW9uQ29udHJvbD8ucmVzZXQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAodHlwZURhdGUoKS5rZXlTZWxlY3RlZCAmJiAhdGhpcy5pc0NoZWNrRXJyb3JXaGVuU2VsZWN0SXRlbSgpKSB7XG4gICAgICB0eXBlRGF0ZS51cGRhdGUoY3VycmVudCA9PiB7XG4gICAgICAgIGN1cnJlbnQuc2hvd0JvcmRlckVycm9yID0gZmFsc2U7XG4gICAgICAgIGN1cnJlbnQuaXNFcnJvciA9IGZhbHNlO1xuXG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgfSk7XG4gICAgICB0aGlzLmNoZWNrRXJyb3IoKTtcbiAgICB9XG4gICAgdGhpcy5vdXRTZWxlY3RlZERhdGEuZW1pdCh0aGlzLnNlbGVjdGVkU2luZ2xlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrRXJyb3IoKSB7XG4gICAgaWYgKCF0aGlzLmlzRXJyb3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGlzRXJyb3IgPSBmYWxzZTtcblxuICAgIHRoaXMudHlwZUxpc3REYXRlKCkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmIChpdGVtKCkuc2hvd0JvcmRlckVycm9yKSB7XG4gICAgICAgIGlzRXJyb3IgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFpc0Vycm9yKSB7XG4gICAgICB0aGlzLmlzRXJyb3Iuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlckZ1bmN0aW9uQ29udHJvbChldmVudDogSURyb3Bkb3duRnVuY3Rpb25Db250cm9sRXZlbnQsIGl0ZW06IFdyaXRhYmxlU2lnbmFsPElUeXBlRGF0ZT4pIHtcbiAgICBpdGVtLnVwZGF0ZShjdXJyZW50ID0+IHtcbiAgICAgIGN1cnJlbnQuZnVuY3Rpb25Db250cm9sID0gZXZlbnQ7XG5cbiAgICAgIHJldHVybiBjdXJyZW50O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXNldERyb3Bkb3duKCkge1xuICAgIHRoaXMudHlwZUxpc3REYXRlKCkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRTaW5nbGUudXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICBjdXJyZW50W2l0ZW0oKS5pZF0gPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICB9KTtcblxuICAgICAgaXRlbS51cGRhdGUoY3VycmVudCA9PiB7XG4gICAgICAgIGN1cnJlbnQua2V5U2VsZWN0ZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGN1cnJlbnQuZnVuY3Rpb25Db250cm9sPy5yZXNldCgpO1xuXG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5yZXNldEVycm9yKCk7XG4gICAgdGhpcy5vdXRTZWxlY3RlZERhdGEuZW1pdCh0aGlzLnNlbGVjdGVkU2luZ2xlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXNldEVycm9yKCkge1xuICAgIHRoaXMuaXNFcnJvci5zZXQoZmFsc2UpO1xuICAgIHRoaXMudHlwZUxpc3REYXRlKCkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGl0ZW0udXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICBjdXJyZW50LmlzRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgY3VycmVudC5zaG93Qm9yZGVyRXJyb3IgPSBmYWxzZTtcblxuICAgICAgICByZXR1cm4gY3VycmVudDtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXRFcnJvcihlcnJvcjogYm9vbGVhbikge1xuICAgIHRoaXMudHlwZUxpc3REYXRlKCkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGl0ZW0udXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICBjdXJyZW50LnNob3dCb3JkZXJFcnJvciA9IGVycm9yO1xuXG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHZhbGlkYXRlKCkge1xuICAgIGxldCB2YWxpZCA9IHRydWU7XG5cbiAgICB0aGlzLmlzRXJyb3Iuc2V0KGZhbHNlKTtcbiAgICB0aGlzLnR5cGVMaXN0RGF0ZSgpLmZvckVhY2goKGl0ZW0sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGl0ZW0udXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICBjdXJyZW50LnNob3dCb3JkZXJFcnJvciA9IGZhbHNlO1xuICAgICAgICBjdXJyZW50LmlzRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTaW5nbGUoKSAmJiAhdGhpcy5zZWxlY3RlZFNpbmdsZSgpW2N1cnJlbnQuaWRdICYmICFjdXJyZW50LmRpc2FibGUpIHtcbiAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xuICAgICAgICAgIGN1cnJlbnQuc2hvd0JvcmRlckVycm9yID0gdHJ1ZTtcbiAgICAgICAgICBpZiAoaW5kZXggPT09IDAgJiYgdGhpcy50eXBlTGlzdERhdGUoKS5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIHRoaXMuaXNFcnJvci5zZXQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpbmRleCA9PT0gMSAmJiB0aGlzLnR5cGVMaXN0RGF0ZSgpLmxlbmd0aCA9PT0gMiAmJiAhdGhpcy5pc0Vycm9yKCkpIHtcbiAgICAgICAgICAgIGN1cnJlbnQuaXNFcnJvciA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiB2YWxpZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVyQ2hhbmdGbGFnTW91c2UoZmxhZ01vdXNlOiBJRmxhZ01vdXNlKSB7XG4gICAgdGhpcy5vdXRDaGFuZ1N0YWdlRmxhZ01vdXNlLmVtaXQoZmxhZ01vdXNlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIlwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1zdGFydFwiPlxuICAgIEBpZiAodHlwZUxpc3REYXRlKCk7IGFzIHR5cGVMaXN0RGF0ZSkge1xuICAgICAgQGZvciAoaXRlbSBvZiB0eXBlTGlzdERhdGU7IHRyYWNrIGl0ZW0oKS5pZDsgbGV0IGxhc3QgPSAkbGFzdDsgbGV0IGkgPSRpbmRleDsgbGV0IGZpcnN0ID0gJGZpcnN0KSB7XG4gICAgICAgIDxkaXYgW3N0eWxlLndpZHRoXT1cIndpZHRoQnlFbGVtZW50KCkgfCBMaWJzVWlDb21wb25lbnRzRGF0ZXRpbWVEcm9wZG93bkJ1aWxkV2lkdGhQaXBlIDp3aWR0aERyb3Bkb3duKCk6Zmlyc3Q6aXNNdWx0aXBsZSgpXCJcbiAgICAgICAgICBbY2xhc3MubXItWzhweF1dPVwiIWxhc3QgJiYgdHlwZUxpc3REYXRlLmxlbmd0aCA9PT0yXCJcbiAgICAgICAgICBbc3R5bGUubWluV2lkdGgucHhdPVwid2lkdGhEcm9wZG93bigpXCI+XG4gICAgICAgICAgPGxpYnNfdWktY29tcG9uZW50cy1kYXRldGltZS1kcm9wZG93bi1pdGVtLWNoaWxkIFtyZWFkb25seV09XCJyZWFkb25seSgpXCJcbiAgICAgICAgICAgIFt0eXBlRGF0ZV09XCJpdGVtKCkuaWRcIlxuICAgICAgICAgICAgW2Rpc2FibGVdPVwiaXRlbSgpLmRpc2FibGUgPz8gZGlzYWJsZSgpXCJcbiAgICAgICAgICAgIFtsaXN0S2V5U2VsZWN0ZWRdPVwiaXRlbSgpLmtleVNlbGVjdGVkXCJcbiAgICAgICAgICAgIFt3aWR0aEJ5RWxlbWVudF09XCJ3aWR0aEJ5RWxlbWVudCgpXCJcbiAgICAgICAgICAgIFtmaXJzdF09XCJmaXJzdFwiXG4gICAgICAgICAgICBbd2lkdGhEcm9wZG93bl09XCJ3aWR0aERyb3Bkb3duKClcIlxuICAgICAgICAgICAgW2xpc3RLZXlzRGlzYWJsZV09XCJsaXN0S2V5c0Rpc2FibGUoKT8uW2l0ZW0oKS5pZF0/LigpXCJcbiAgICAgICAgICAgIFtsaXN0TWF4SXRlbVNob3ddPVwibGlzdE1heEl0ZW1TaG93KCk/LltpdGVtKCkuaWRdID8/IDZcIlxuICAgICAgICAgICAgW2lzRXJyb3JdPVwiaXRlbSgpLmlzRXJyb3JcIlxuICAgICAgICAgICAgW2xpc3RIYXNCdXR0b25VblNlbGVjdE9wdGlvbl09XCJsaXN0SGFzQnV0dG9uVW5TZWxlY3RPcHRpb24oKVwiXG4gICAgICAgICAgICBbekluZGV4XT1cInpJbmRleCgpXCJcbiAgICAgICAgICAgIFtzaG93Qm9yZGVyRXJyb3JdPVwiaXRlbSgpLnNob3dCb3JkZXJFcnJvciAmJiAhaXRlbSgpLmRpc2FibGUgJiYgIWRpc2FibGUoKVwiXG4gICAgICAgICAgICBbbGlzdERhdGFdPVwiaXRlbSgpLmlkIHwgTGlic1VpQ29tcG9uZW50c0RhdGV0aW1lRHJvcGRvd25CdWlsZExpc3RCeURhdGVUeXBlUGlwZSA6e21pblllYXI6bWluWWVhcigpLCBtYXhZZWFyOm1heFllYXIoKSwgcmV2ZXJzZVllYXI6cmV2ZXJzZVllYXIoKX0gOmtleU1vbnRoUmVzZXREYXkoKVwiXG4gICAgICAgICAgICBbY2xhc3NJbmNsdWRlVGV4dERpc3BsYXlXaGVuTm9TZWxlY3RdPVwiY2xhc3NJbmNsdWRlVGV4dERpc3BsYXlXaGVuTm9TZWxlY3QoKSA/PyAnJ1wiXG4gICAgICAgICAgICAob3V0U2VsZWN0ZWRLZXkpPVwiaGFuZGxlclNlbGVjdGVkS2V5KCRldmVudCwgaXRlbSwgaSlcIlxuICAgICAgICAgICAgKG91dEZ1bmN0aW9uQ29udHJvbCk9XCJoYW5kbGVyRnVuY3Rpb25Db250cm9sKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgKG91dENoYW5nU3RhZ2VGbGFnTW91c2UpPVwiaGFuZGxlckNoYW5nRmxhZ01vdXNlKCRldmVudClcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICB9XG4gIDwvZGl2PlxuXG4gIEBpZiAoaXNFcnJvcigpKSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIG10LVs0cHhdXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImxpYnMtdWktZm9udC1oN3IgbGlicy11aS10ZXh0LWVycm9yXCJcbiAgICAgICAgW2lubmVySHRtbF09XCIodmFsaWRSZXF1aXJlZCgpPy5tZXNzYWdlIHx8ICdpMThuX3ZhbGlkX2VtcHR5X21lc3NhZ2UnKXwgdHJhbnNsYXRlOnZhbGlkUmVxdWlyZWQoKT8uaW50ZXJwb2xhdGVQYXJhbXNcIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvZGF0ZXRpbWUvZHJvcGRvd24vc3JjL2l0ZW0vaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvZGF0ZXRpbWUvZHJvcGRvd24vc3JjL2l0ZW0vaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUc1RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJdEQsT0FBTyxFQUFFLHVEQUF1RCxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakgsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0YsT0FBTyxFQUFFLGtEQUFrRCxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQWU3RixNQUFNLE9BQU8sNkNBQTZDO0lBQ3hELG1CQUFtQjtJQUNULFlBQVksR0FBRyxNQUFNLENBQW1DLEVBQUUsQ0FBQyxDQUFDO0lBQzVELGdCQUFnQixHQUFHLE1BQU0sQ0FBTSxTQUFTLENBQUMsQ0FBQztJQUMxQyxjQUFjLEdBQUcsTUFBTSxDQUEwQixFQUFFLENBQUMsQ0FBQztJQUNyRCxPQUFPLEdBQUcsTUFBTSxDQUFzQixTQUFTLENBQUMsQ0FBQztJQUUzRCxnQkFBZ0I7SUFDUCxRQUFRLEdBQUcsS0FBSyxDQUF3QyxTQUFTLENBQUMsQ0FBQztJQUNuRSxhQUFhLEdBQUcsS0FBSyxDQUFzQixTQUFTLENBQUMsQ0FBQztJQUN0RCxZQUFZLEdBQUcsS0FBSyxDQUFzQyxTQUFTLENBQUMsQ0FBQztJQUNyRSxhQUFhLEdBQUcsS0FBSyxDQUFpQixHQUFHLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLGNBQWMsR0FBRyxLQUFLLENBQXNCLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZELGtCQUFrQixHQUFHLEtBQUssQ0FBeUMsU0FBUyxDQUFDLENBQUM7SUFDOUUsMkJBQTJCLEdBQUcsS0FBSyxDQUFzQixTQUFTLENBQUMsQ0FBQztJQUNwRSxRQUFRLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEMsTUFBTSxHQUFHLEtBQUssQ0FBaUIsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RSxVQUFVLEdBQUcsS0FBSyxDQUFzQixTQUFTLENBQUMsQ0FBQztJQUNuRCxtQ0FBbUMsR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO0lBQzNFLDBCQUEwQixHQUFHLEtBQUssQ0FBc0IsU0FBUyxDQUFDLENBQUM7SUFDbkUsT0FBTyxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7SUFDL0MsT0FBTyxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7SUFDL0MsV0FBVyxHQUFHLEtBQUssQ0FBMkMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RyxlQUFlLEdBQUcsS0FBSyxDQUFtQyxTQUFTLENBQUMsQ0FBQztJQUNyRSx5QkFBeUIsR0FBRyxLQUFLLENBQXNCLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLGFBQWEsR0FBRyxLQUFLLENBQXdFLFNBQVMsQ0FBQyxDQUFDO0lBQ3hHLHNCQUFzQixHQUFHLEtBQUssQ0FBc0IsU0FBUyxDQUFDLENBQUM7SUFDL0QsZUFBZSxHQUFHLEtBQUssQ0FBZ0YsU0FBUyxDQUFDLENBQUM7SUFFM0gsaUJBQWlCO0lBQ1IsZUFBZSxHQUFHLE1BQU0sRUFBMkIsQ0FBQztJQUNwRCxrQkFBa0IsR0FBRyxNQUFNLEVBQXlDLENBQUM7SUFDckUsc0JBQXNCLEdBQUcsTUFBTSxFQUFjLENBQUM7SUFFdkQ7UUFDRSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDZCxPQUFPO1lBQ1QsQ0FBQztZQUNELFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQTRCLENBQUM7Z0JBRTVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxPQUFPLENBQXFCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2pJLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBRXpDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDbEIsT0FBTztZQUNULENBQUM7WUFFRCxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNoQyxPQUFPO2dCQUNULENBQUM7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssV0FBVyxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDMUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hELENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDcEIsT0FBTyxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQzt3QkFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQzs0QkFDeEosT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7d0JBQ3pCLENBQUM7d0JBRUQsT0FBTyxPQUFPLENBQUM7b0JBQ2pCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUMzQixZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDNUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ25DLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO0lBQ0wsa0JBQWtCLENBQUMsS0FBVSxFQUFFLFFBQW1DLEVBQUUsQ0FBUztRQUNyRixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQztZQUNwRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztZQUVqRCxPQUFPO1FBQ1QsQ0FBQztRQUNELFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEIsT0FBTyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFFNUIsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNuQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFFM0QsT0FBTyxPQUFPLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssV0FBVyxJQUFJLFFBQVEsRUFBRSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzNGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDcEIsT0FBTyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBRXhCLE9BQU8sT0FBTyxDQUFDO2dCQUNqQixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDMUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLGVBQWUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3JELElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLFFBQVEsRUFBRSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxFQUFFLENBQUM7WUFDakUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDeEIsT0FBTyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQ2hDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUV4QixPQUFPLE9BQU8sQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVTLFVBQVU7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUVwQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pDLElBQUksSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFUyxzQkFBc0IsQ0FBQyxLQUFvQyxFQUFFLElBQStCO1FBQ3BHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFFaEMsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWE7UUFDekIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDbkMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztnQkFFL0IsT0FBTyxPQUFPLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNwQixPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztnQkFDaEMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQztnQkFFakMsT0FBTyxPQUFPLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVU7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNwQixPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDeEIsT0FBTyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBRWhDLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFjO1FBQ25DLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDcEIsT0FBTyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBRWhDLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLFFBQVE7UUFDcEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWpCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBYSxFQUFFLEVBQUU7WUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDcEIsT0FBTyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQ2hDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3BGLEtBQUssR0FBRyxLQUFLLENBQUM7b0JBQ2QsT0FBTyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7b0JBQy9CLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDekIsQ0FBQztvQkFDRCxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQzt3QkFDdkUsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7b0JBQ3pCLENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxPQUFPLE9BQU8sQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRVMscUJBQXFCLENBQUMsU0FBcUI7UUFDbkQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDO3dHQW5PVSw2Q0FBNkM7NEZBQTdDLDZDQUE2QyxtMEdDekIxRCw2L0RBcUNBLDJDRG5CSSxlQUFlLDRGQUNmLGtEQUFrRCxvZkFDbEQsOENBQThDLGtGQUM5Qyx1REFBdUQ7OzRGQUk5Qyw2Q0FBNkM7a0JBYnpELFNBQVM7K0JBRUUsMkNBQTJDLGNBRXpDLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLGtEQUFrRDt3QkFDbEQsOENBQThDO3dCQUM5Qyx1REFBdUQ7cUJBQ3hEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIGlucHV0LCBPbkluaXQsIG91dHB1dCwgc2lnbmFsLCB1bnRyYWNrZWQsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElEcm9wZG93bkZ1bmN0aW9uQ29udHJvbEV2ZW50IH0gZnJvbSBcIkBsaWJzLXVpL2NvbXBvbmVudHMtZHJvcGRvd25cIjtcbmltcG9ydCB7IElGbGFnTW91c2UgfSBmcm9tIFwiQGxpYnMtdWkvY29tcG9uZW50cy1wb3BvdmVyXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgSURhdGVEcm9wZG93bkRpc2FibGUsIElUeXBlRGF0ZSwgVFlQRV9EQVRFX0RST1BET1dOX0ZPUk1BVCwgVFlQRV9EQVRFX0ZPUk1BVCB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2RhdGUtZHJvcGRvd24uaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBJRW1pdFNpbmdsZURhdGVEcm9wZG93biB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2VtaXQtZHJvcGRvd24uaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBJRGF0ZURyb3Bkb3duSXRlbUZ1bmN0aW9uQ29udHJvbEV2ZW50IH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZnVuY3Rpb25zLWNvbnRyb2wtZXZlbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBMaWJzVWlDb21wb25lbnRzRGF0ZXRpbWVEcm9wZG93bkJ1aWxkTGlzdEJ5RGF0ZVR5cGVQaXBlIH0gZnJvbSBcIi4uL3BpcGVzL2J1aWxkLWxpc3QtYnktZGF0ZS10eXBlLS5waXBlXCI7XG5pbXBvcnQgeyBMaWJzVWlDb21wb25lbnRzRGF0ZXRpbWVEcm9wZG93bkJ1aWxkV2lkdGhQaXBlIH0gZnJvbSBcIi4uL3BpcGVzL2J1aWxkLXdpZHRoLnBpcGVcIjtcbmltcG9ydCB7IExpYnNVaUNvbXBvbmVudHNEYXRldGltZURyb3Bkb3duSXRlbUNoaWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY2hpbGQvY2hpbGQuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1kYXRldGltZS1kcm9wZG93bi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICdpdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBMaWJzVWlDb21wb25lbnRzRGF0ZXRpbWVEcm9wZG93bkl0ZW1DaGlsZENvbXBvbmVudCxcbiAgICBMaWJzVWlDb21wb25lbnRzRGF0ZXRpbWVEcm9wZG93bkJ1aWxkV2lkdGhQaXBlLFxuICAgIExpYnNVaUNvbXBvbmVudHNEYXRldGltZURyb3Bkb3duQnVpbGRMaXN0QnlEYXRlVHlwZVBpcGVcbiAgXVxufSlcblxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbXBvbmVudHNEYXRldGltZURyb3Bkb3duSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vICNyZWdpb24gUFJPUEVSVFlcbiAgcHJvdGVjdGVkIHR5cGVMaXN0RGF0ZSA9IHNpZ25hbDxBcnJheTxXcml0YWJsZVNpZ25hbDxJVHlwZURhdGU+Pj4oW10pO1xuICBwcm90ZWN0ZWQga2V5TW9udGhSZXNldERheSA9IHNpZ25hbDxhbnk+KHVuZGVmaW5lZCk7XG4gIHByb3RlY3RlZCBzZWxlY3RlZFNpbmdsZSA9IHNpZ25hbDxJRW1pdFNpbmdsZURhdGVEcm9wZG93bj4oe30pO1xuICBwcm90ZWN0ZWQgaXNFcnJvciA9IHNpZ25hbDxib29sZWFuIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIC8vICNyZWdpb24gSU5QVVRcbiAgcmVhZG9ubHkgdHlwZURhdGUgPSBpbnB1dDxUWVBFX0RBVEVfRFJPUERPV05fRk9STUFUIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBkaXNhYmxlU2Vjb25kID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgc2VsZWN0ZWREYXRlID0gaW5wdXQ8SUVtaXRTaW5nbGVEYXRlRHJvcGRvd24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHdpZHRoRHJvcGRvd24gPSBpbnB1dDxudW1iZXIsIG51bWJlcj4oMTM2LCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyAxMzYgfSk7XG4gIHJlYWRvbmx5IHdpZHRoQnlFbGVtZW50ID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgZ2V0SXRlbVllYXJEaXNwbGF5ID0gaW5wdXQ8KCh5ZWFyOiBzdHJpbmcpID0+IHN0cmluZykgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGxpc3RIYXNCdXR0b25VblNlbGVjdE9wdGlvbiA9IGlucHV0PGJvb2xlYW4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHJlYWRvbmx5ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBkaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSB6SW5kZXggPSBpbnB1dDxudW1iZXIsIG51bWJlcj4oMTIwMCwgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgPz8gMTIwMCB9KTtcbiAgcmVhZG9ubHkgaXNNdWx0aXBsZSA9IGlucHV0PGJvb2xlYW4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGNsYXNzSW5jbHVkZVRleHREaXNwbGF5V2hlbk5vU2VsZWN0ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBpc0NoZWNrRXJyb3JXaGVuU2VsZWN0SXRlbSA9IGlucHV0PGJvb2xlYW4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IG1heFllYXIgPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IG1pblllYXIgPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHJldmVyc2VZZWFyID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZCwgYm9vbGVhbiB8IHVuZGVmaW5lZD4odHJ1ZSwgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgPz8gdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgbGlzdEtleXNEaXNhYmxlID0gaW5wdXQ8SURhdGVEcm9wZG93bkRpc2FibGUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGlnbm9yZUNvbnZlcnRZZWFyU2VsZWN0ZWQgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSB2YWxpZFJlcXVpcmVkID0gaW5wdXQ8eyBtZXNzYWdlPzogc3RyaW5nOyBpbnRlcnBvbGF0ZVBhcmFtcz86IHsgYW55OiBvYmplY3QgfSB9IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBpc0VtaXRTZWxlY3RlZERyb3BEb3duID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgbGlzdE1heEl0ZW1TaG93ID0gaW5wdXQ8eyB5ZWFyPzogbnVtYmVyOyBtb250aD86IG51bWJlcjsgcXVhcnRlcj86IG51bWJlcjsgZGF5PzogbnVtYmVyIH0gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgLy8gI3JlZ2lvbiBPVVRQVVRcbiAgcmVhZG9ubHkgb3V0U2VsZWN0ZWREYXRhID0gb3V0cHV0PElFbWl0U2luZ2xlRGF0ZURyb3Bkb3duPigpO1xuICByZWFkb25seSBvdXRGdW5jdGlvbkNvbnRyb2wgPSBvdXRwdXQ8SURhdGVEcm9wZG93bkl0ZW1GdW5jdGlvbkNvbnRyb2xFdmVudD4oKTtcbiAgcmVhZG9ubHkgb3V0Q2hhbmdTdGFnZUZsYWdNb3VzZSA9IG91dHB1dDxJRmxhZ01vdXNlPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCB0eXBlRGF0ZSA9IHRoaXMudHlwZURhdGUoKTtcbiAgICAgIGlmICghdHlwZURhdGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHR5cGVEYXRlLnNwbGl0KCctJykgYXMgQXJyYXk8VFlQRV9EQVRFX0ZPUk1BVD47XG5cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGRhdGEubWFwKGl0ZW0gPT4geyByZXR1cm4gc2lnbmFsKHsgaWQ6IChpdGVtIHx8ICdtb250aCcpIGFzIFRZUEVfREFURV9GT1JNQVQsIGtleVNlbGVjdGVkOiB1bmRlZmluZWQgfSkgfSkgfHwgW107XG4gICAgICAgIHRoaXMudHlwZUxpc3REYXRlLnNldChyZXN1bHRzKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZERhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZSgpO1xuXG4gICAgICBpZiAoIXNlbGVjdGVkRGF0ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTaW5nbGUuc2V0KHNlbGVjdGVkRGF0ZSk7XG4gICAgICAgIGlmICghdGhpcy50eXBlTGlzdERhdGUoKS5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudHlwZURhdGUoKSA9PT0gJ21vbnRoLWRheScgJiYgc2VsZWN0ZWREYXRlLm1vbnRoKSB7XG4gICAgICAgICAgdGhpcy5rZXlNb250aFJlc2V0RGF5LnNldChzZWxlY3RlZERhdGUubW9udGgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudHlwZUxpc3REYXRlKCkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICBpdGVtLnVwZGF0ZShjdXJyZW50ID0+IHtcbiAgICAgICAgICAgIGN1cnJlbnQua2V5U2VsZWN0ZWQgPSBzZWxlY3RlZERhdGVbY3VycmVudC5pZF0gPz8gdW5kZWZpbmVkO1xuICAgICAgICAgICAgaWYgKCh0aGlzLmRpc2FibGVTZWNvbmQoKSAmJiBpbmRleCAhPT0gMCAmJiAhY3VycmVudC5rZXlTZWxlY3RlZCkgfHwgKCFzZWxlY3RlZERhdGVbJ21vbnRoJ10gJiYgdGhpcy50eXBlRGF0ZSgpID09PSAnbW9udGgtZGF5JyAmJiBpdGVtKCkuaWQgPT09ICdkYXknKSkge1xuICAgICAgICAgICAgICBjdXJyZW50LmRpc2FibGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY3VycmVudDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3V0RnVuY3Rpb25Db250cm9sLmVtaXQoe1xuICAgICAgY2hlY2tJc1ZhbGlkOiB0aGlzLnZhbGlkYXRlLmJpbmQodGhpcyksXG4gICAgICByZXNldERyb3Bkb3duOiB0aGlzLnJlc2V0RHJvcGRvd24uYmluZCh0aGlzKSxcbiAgICAgIHJlc2V0RXJyb3I6IHRoaXMucmVzZXRFcnJvci5iaW5kKHRoaXMpLFxuICAgICAgc2V0RXJyb3I6IHRoaXMuc2V0RXJyb3IuYmluZCh0aGlzKVxuICAgIH0pO1xuICB9XG5cbiAgLyogRlVOQ1RJT05TICovXG4gIHByb3RlY3RlZCBoYW5kbGVyU2VsZWN0ZWRLZXkoZXZlbnQ6IGFueSwgdHlwZURhdGU6IFdyaXRhYmxlU2lnbmFsPElUeXBlRGF0ZT4sIGk6IG51bWJlcikge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkU2luZ2xlKClbdHlwZURhdGUoKS5pZF0gPT09IGV2ZW50ICYmIHRoaXMuaXNFbWl0U2VsZWN0ZWREcm9wRG93bigpKSB7XG4gICAgICB0aGlzLm91dFNlbGVjdGVkRGF0YS5lbWl0KHRoaXMuc2VsZWN0ZWRTaW5nbGUoKSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHlwZURhdGUudXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgY3VycmVudC5rZXlTZWxlY3RlZCA9IGV2ZW50O1xuXG4gICAgICByZXR1cm4gY3VycmVudDtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkU2luZ2xlKCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRTaW5nbGUudXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICBjdXJyZW50W3R5cGVEYXRlKCkuaWRdID0gZXZlbnQgPyBOdW1iZXIoZXZlbnQpIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpc2FibGVTZWNvbmQoKSB8fCAodGhpcy50eXBlRGF0ZSgpID09PSAnbW9udGgtZGF5JyAmJiB0eXBlRGF0ZSgpLmlkID09PSAnbW9udGgnKSkge1xuICAgICAgdGhpcy5rZXlNb250aFJlc2V0RGF5LnNldChldmVudCk7XG4gICAgICB0aGlzLnR5cGVMaXN0RGF0ZSgpLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGl0ZW0udXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICAgIGN1cnJlbnQuZGlzYWJsZSA9IGZhbHNlO1xuXG4gICAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMudHlwZUxpc3REYXRlKCkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpbmRleCA9PT0gMSAmJiBpdGVtKCkuZnVuY3Rpb25Db250cm9sICYmIGkgPT09IDApIHtcbiAgICAgICAgaXRlbSgpLmZ1bmN0aW9uQ29udHJvbD8ucmVzZXQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAodHlwZURhdGUoKS5rZXlTZWxlY3RlZCAmJiAhdGhpcy5pc0NoZWNrRXJyb3JXaGVuU2VsZWN0SXRlbSgpKSB7XG4gICAgICB0eXBlRGF0ZS51cGRhdGUoY3VycmVudCA9PiB7XG4gICAgICAgIGN1cnJlbnQuc2hvd0JvcmRlckVycm9yID0gZmFsc2U7XG4gICAgICAgIGN1cnJlbnQuaXNFcnJvciA9IGZhbHNlO1xuXG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgfSk7XG4gICAgICB0aGlzLmNoZWNrRXJyb3IoKTtcbiAgICB9XG4gICAgdGhpcy5vdXRTZWxlY3RlZERhdGEuZW1pdCh0aGlzLnNlbGVjdGVkU2luZ2xlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrRXJyb3IoKSB7XG4gICAgaWYgKCF0aGlzLmlzRXJyb3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGlzRXJyb3IgPSBmYWxzZTtcblxuICAgIHRoaXMudHlwZUxpc3REYXRlKCkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmIChpdGVtKCkuc2hvd0JvcmRlckVycm9yKSB7XG4gICAgICAgIGlzRXJyb3IgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFpc0Vycm9yKSB7XG4gICAgICB0aGlzLmlzRXJyb3Iuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlckZ1bmN0aW9uQ29udHJvbChldmVudDogSURyb3Bkb3duRnVuY3Rpb25Db250cm9sRXZlbnQsIGl0ZW06IFdyaXRhYmxlU2lnbmFsPElUeXBlRGF0ZT4pIHtcbiAgICBpdGVtLnVwZGF0ZShjdXJyZW50ID0+IHtcbiAgICAgIGN1cnJlbnQuZnVuY3Rpb25Db250cm9sID0gZXZlbnQ7XG5cbiAgICAgIHJldHVybiBjdXJyZW50O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXNldERyb3Bkb3duKCkge1xuICAgIHRoaXMudHlwZUxpc3REYXRlKCkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRTaW5nbGUudXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICBjdXJyZW50W2l0ZW0oKS5pZF0gPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICB9KTtcblxuICAgICAgaXRlbS51cGRhdGUoY3VycmVudCA9PiB7XG4gICAgICAgIGN1cnJlbnQua2V5U2VsZWN0ZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGN1cnJlbnQuZnVuY3Rpb25Db250cm9sPy5yZXNldCgpO1xuXG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5yZXNldEVycm9yKCk7XG4gICAgdGhpcy5vdXRTZWxlY3RlZERhdGEuZW1pdCh0aGlzLnNlbGVjdGVkU2luZ2xlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXNldEVycm9yKCkge1xuICAgIHRoaXMuaXNFcnJvci5zZXQoZmFsc2UpO1xuICAgIHRoaXMudHlwZUxpc3REYXRlKCkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGl0ZW0udXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICBjdXJyZW50LmlzRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgY3VycmVudC5zaG93Qm9yZGVyRXJyb3IgPSBmYWxzZTtcblxuICAgICAgICByZXR1cm4gY3VycmVudDtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXRFcnJvcihlcnJvcjogYm9vbGVhbikge1xuICAgIHRoaXMudHlwZUxpc3REYXRlKCkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGl0ZW0udXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICBjdXJyZW50LnNob3dCb3JkZXJFcnJvciA9IGVycm9yO1xuXG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHZhbGlkYXRlKCkge1xuICAgIGxldCB2YWxpZCA9IHRydWU7XG5cbiAgICB0aGlzLmlzRXJyb3Iuc2V0KGZhbHNlKTtcbiAgICB0aGlzLnR5cGVMaXN0RGF0ZSgpLmZvckVhY2goKGl0ZW0sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGl0ZW0udXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICBjdXJyZW50LnNob3dCb3JkZXJFcnJvciA9IGZhbHNlO1xuICAgICAgICBjdXJyZW50LmlzRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTaW5nbGUoKSAmJiAhdGhpcy5zZWxlY3RlZFNpbmdsZSgpW2N1cnJlbnQuaWRdICYmICFjdXJyZW50LmRpc2FibGUpIHtcbiAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xuICAgICAgICAgIGN1cnJlbnQuc2hvd0JvcmRlckVycm9yID0gdHJ1ZTtcbiAgICAgICAgICBpZiAoaW5kZXggPT09IDAgJiYgdGhpcy50eXBlTGlzdERhdGUoKS5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIHRoaXMuaXNFcnJvci5zZXQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpbmRleCA9PT0gMSAmJiB0aGlzLnR5cGVMaXN0RGF0ZSgpLmxlbmd0aCA9PT0gMiAmJiAhdGhpcy5pc0Vycm9yKCkpIHtcbiAgICAgICAgICAgIGN1cnJlbnQuaXNFcnJvciA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiB2YWxpZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVyQ2hhbmdGbGFnTW91c2UoZmxhZ01vdXNlOiBJRmxhZ01vdXNlKSB7XG4gICAgdGhpcy5vdXRDaGFuZ1N0YWdlRmxhZ01vdXNlLmVtaXQoZmxhZ01vdXNlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIlwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1zdGFydFwiPlxuICAgIEBpZiAodHlwZUxpc3REYXRlKCk7IGFzIHR5cGVMaXN0RGF0ZSkge1xuICAgICAgQGZvciAoaXRlbSBvZiB0eXBlTGlzdERhdGU7IHRyYWNrIGl0ZW0oKS5pZDsgbGV0IGxhc3QgPSAkbGFzdDsgbGV0IGkgPSRpbmRleDsgbGV0IGZpcnN0ID0gJGZpcnN0KSB7XG4gICAgICAgIDxkaXYgW3N0eWxlLndpZHRoXT1cIndpZHRoQnlFbGVtZW50KCkgfCBMaWJzVWlDb21wb25lbnRzRGF0ZXRpbWVEcm9wZG93bkJ1aWxkV2lkdGhQaXBlIDp3aWR0aERyb3Bkb3duKCk6Zmlyc3Q6aXNNdWx0aXBsZSgpXCJcbiAgICAgICAgICBbY2xhc3MubXItWzhweF1dPVwiIWxhc3QgJiYgdHlwZUxpc3REYXRlLmxlbmd0aCA9PT0yXCJcbiAgICAgICAgICBbc3R5bGUubWluV2lkdGgucHhdPVwid2lkdGhEcm9wZG93bigpXCI+XG4gICAgICAgICAgPGxpYnNfdWktY29tcG9uZW50cy1kYXRldGltZS1kcm9wZG93bi1pdGVtLWNoaWxkIFtyZWFkb25seV09XCJyZWFkb25seSgpXCJcbiAgICAgICAgICAgIFt0eXBlRGF0ZV09XCJpdGVtKCkuaWRcIlxuICAgICAgICAgICAgW2Rpc2FibGVdPVwiaXRlbSgpLmRpc2FibGUgPz8gZGlzYWJsZSgpXCJcbiAgICAgICAgICAgIFtsaXN0S2V5U2VsZWN0ZWRdPVwiaXRlbSgpLmtleVNlbGVjdGVkXCJcbiAgICAgICAgICAgIFt3aWR0aEJ5RWxlbWVudF09XCJ3aWR0aEJ5RWxlbWVudCgpXCJcbiAgICAgICAgICAgIFtmaXJzdF09XCJmaXJzdFwiXG4gICAgICAgICAgICBbd2lkdGhEcm9wZG93bl09XCJ3aWR0aERyb3Bkb3duKClcIlxuICAgICAgICAgICAgW2xpc3RLZXlzRGlzYWJsZV09XCJsaXN0S2V5c0Rpc2FibGUoKT8uW2l0ZW0oKS5pZF0/LigpXCJcbiAgICAgICAgICAgIFtsaXN0TWF4SXRlbVNob3ddPVwibGlzdE1heEl0ZW1TaG93KCk/LltpdGVtKCkuaWRdID8/IDZcIlxuICAgICAgICAgICAgW2lzRXJyb3JdPVwiaXRlbSgpLmlzRXJyb3JcIlxuICAgICAgICAgICAgW2xpc3RIYXNCdXR0b25VblNlbGVjdE9wdGlvbl09XCJsaXN0SGFzQnV0dG9uVW5TZWxlY3RPcHRpb24oKVwiXG4gICAgICAgICAgICBbekluZGV4XT1cInpJbmRleCgpXCJcbiAgICAgICAgICAgIFtzaG93Qm9yZGVyRXJyb3JdPVwiaXRlbSgpLnNob3dCb3JkZXJFcnJvciAmJiAhaXRlbSgpLmRpc2FibGUgJiYgIWRpc2FibGUoKVwiXG4gICAgICAgICAgICBbbGlzdERhdGFdPVwiaXRlbSgpLmlkIHwgTGlic1VpQ29tcG9uZW50c0RhdGV0aW1lRHJvcGRvd25CdWlsZExpc3RCeURhdGVUeXBlUGlwZSA6e21pblllYXI6bWluWWVhcigpLCBtYXhZZWFyOm1heFllYXIoKSwgcmV2ZXJzZVllYXI6cmV2ZXJzZVllYXIoKX0gOmtleU1vbnRoUmVzZXREYXkoKVwiXG4gICAgICAgICAgICBbY2xhc3NJbmNsdWRlVGV4dERpc3BsYXlXaGVuTm9TZWxlY3RdPVwiY2xhc3NJbmNsdWRlVGV4dERpc3BsYXlXaGVuTm9TZWxlY3QoKSA/PyAnJ1wiXG4gICAgICAgICAgICAob3V0U2VsZWN0ZWRLZXkpPVwiaGFuZGxlclNlbGVjdGVkS2V5KCRldmVudCwgaXRlbSwgaSlcIlxuICAgICAgICAgICAgKG91dEZ1bmN0aW9uQ29udHJvbCk9XCJoYW5kbGVyRnVuY3Rpb25Db250cm9sKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgKG91dENoYW5nU3RhZ2VGbGFnTW91c2UpPVwiaGFuZGxlckNoYW5nRmxhZ01vdXNlKCRldmVudClcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICB9XG4gIDwvZGl2PlxuXG4gIEBpZiAoaXNFcnJvcigpKSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIG10LVs0cHhdXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImxpYnMtdWktZm9udC1oN3IgbGlicy11aS10ZXh0LWVycm9yXCJcbiAgICAgICAgW2lubmVySHRtbF09XCIodmFsaWRSZXF1aXJlZCgpPy5tZXNzYWdlIHx8ICdpMThuX3ZhbGlkX2VtcHR5X21lc3NhZ2UnKXwgdHJhbnNsYXRlOnZhbGlkUmVxdWlyZWQoKT8uaW50ZXJwb2xhdGVQYXJhbXNcIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
|
|
@@ -324,7 +324,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
324
324
|
|
|
325
325
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
326
326
|
class LibsUiComponentsDatetimeDropdownItemChildComponent {
|
|
327
|
-
|
|
327
|
+
// #region PROPERTY
|
|
328
328
|
httpRequestDetailItemById = signal(undefined);
|
|
329
329
|
listConfig = signal({
|
|
330
330
|
type: 'text',
|
|
@@ -335,7 +335,7 @@ class LibsUiComponentsDatetimeDropdownItemChildComponent {
|
|
|
335
335
|
});
|
|
336
336
|
textNoSelectDisplay = computed(this.computedTextNoSelectDisplay.bind(this));
|
|
337
337
|
usingWidth = computed(this.computedWidth.bind(this));
|
|
338
|
-
|
|
338
|
+
// #region INPUT
|
|
339
339
|
typeDate = input(undefined);
|
|
340
340
|
getItemYearDisplay = input();
|
|
341
341
|
listHasButtonUnSelectOption = input();
|
|
@@ -354,11 +354,11 @@ class LibsUiComponentsDatetimeDropdownItemChildComponent {
|
|
|
354
354
|
ignoreConvertYearSelected = input();
|
|
355
355
|
listKeysDisable = input(undefined);
|
|
356
356
|
validRequired = input();
|
|
357
|
-
|
|
357
|
+
// #region OUTPUT
|
|
358
358
|
outSelectedKey = output();
|
|
359
359
|
outFunctionControl = output();
|
|
360
360
|
outChangStageFlagMouse = output();
|
|
361
|
-
|
|
361
|
+
// #region INJECT
|
|
362
362
|
translate = inject(TranslateService);
|
|
363
363
|
constructor() {
|
|
364
364
|
effect(() => {
|
|
@@ -390,6 +390,9 @@ class LibsUiComponentsDatetimeDropdownItemChildComponent {
|
|
|
390
390
|
}
|
|
391
391
|
/* FUNCTIONS */
|
|
392
392
|
handlerChangeSelectedItem(event) {
|
|
393
|
+
if (this.listKeySelected() === event?.key) {
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
393
396
|
if (!event || !event.key) {
|
|
394
397
|
this.outSelectedKey.emit(undefined);
|
|
395
398
|
return;
|
|
@@ -430,24 +433,24 @@ class LibsUiComponentsDatetimeDropdownItemChildComponent {
|
|
|
430
433
|
return `${this.widthDropdown()}px`;
|
|
431
434
|
}
|
|
432
435
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsDatetimeDropdownItemChildComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
433
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsDatetimeDropdownItemChildComponent, isStandalone: true, selector: "libs_ui-components-datetime-dropdown-item-child", inputs: { typeDate: { classPropertyName: "typeDate", publicName: "typeDate", isSignal: true, isRequired: false, transformFunction: null }, getItemYearDisplay: { classPropertyName: "getItemYearDisplay", publicName: "getItemYearDisplay", isSignal: true, isRequired: false, transformFunction: null }, listHasButtonUnSelectOption: { classPropertyName: "listHasButtonUnSelectOption", publicName: "listHasButtonUnSelectOption", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, listData: { classPropertyName: "listData", publicName: "listData", isSignal: true, isRequired: false, transformFunction: null }, showBorderError: { classPropertyName: "showBorderError", publicName: "showBorderError", isSignal: true, isRequired: false, transformFunction: null }, listMaxItemShow: { classPropertyName: "listMaxItemShow", publicName: "listMaxItemShow", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, classIncludeTextDisplayWhenNoSelect: { classPropertyName: "classIncludeTextDisplayWhenNoSelect", publicName: "classIncludeTextDisplayWhenNoSelect", isSignal: true, isRequired: false, transformFunction: null }, listKeySelected: { classPropertyName: "listKeySelected", publicName: "listKeySelected", isSignal: true, isRequired: false, transformFunction: null }, widthDropdown: { classPropertyName: "widthDropdown", publicName: "widthDropdown", isSignal: true, isRequired: false, transformFunction: null }, first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: false, transformFunction: null }, isError: { classPropertyName: "isError", publicName: "isError", isSignal: true, isRequired: false, transformFunction: null }, widthByElement: { classPropertyName: "widthByElement", publicName: "widthByElement", isSignal: true, isRequired: false, transformFunction: null }, ignoreConvertYearSelected: { classPropertyName: "ignoreConvertYearSelected", publicName: "ignoreConvertYearSelected", isSignal: true, isRequired: false, transformFunction: null }, listKeysDisable: { classPropertyName: "listKeysDisable", publicName: "listKeysDisable", isSignal: true, isRequired: false, transformFunction: null }, validRequired: { classPropertyName: "validRequired", publicName: "validRequired", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outSelectedKey: "outSelectedKey", outFunctionControl: "outFunctionControl", outChangStageFlagMouse: "outChangStageFlagMouse" }, ngImport: i0, template: " @if (typeDate()) {\n <div [style.width]=\"usingWidth()\">\n <libs_ui-components-dropdown [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [readonly]=\"readonly()\"\n [textDisplayWhenNoSelect]=\"textNoSelectDisplay()\"\n [disable]=\"disable()\"\n [showBorderError]=\"showBorderError()\"\n [listMaxItemShow]=\"listMaxItemShow()\"\n [listClickExactly]=\"false\"\n [zIndex]=\"zIndex()\"\n [labelPopoverConfig]=\"{ zIndex: zIndex() +1 }\"\n [listConfig]=\"listConfig()\"\n [listKeysDisable]=\"listKeysDisable()\"\n [convertItemSelected]=\"convertItemSelected\"\n [onlyEmitDataWhenReset]=\"true\"\n [classIncludeTextDisplayWhenNoSelect]=\"classIncludeTextDisplayWhenNoSelect()\"\n [httpRequestDetailItemById]=\"httpRequestDetailItemById()\"\n [listKeySelected]=\"listKeySelected()\"\n (outSelectKey)=\"handlerChangeSelectedItem($event)\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\"\n (outChangStageFlagMouse)=\"handlerChangFlagMouse($event)\" />\n </div>\n }\n @if (isError()) {\n <div class=\"flex items-center mt-[4px]\">\n <span class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"(validRequired()?.message || 'i18n_valid_empty_message')| translate:validRequired()?.interpolateParams\"></span>\n </div>\n }\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsDropdownComponent, selector: "libs_ui-components-dropdown", inputs: ["useXssFilter", "popoverElementRefCustom", "classInclude", "ignoreStopPropagationEvent", "flagMouse", "flagMouseContent", "popoverCustomConfig", "isNgContent", "zIndex", "convertItemSelected", "getPopoverItemSelected", "httpRequestDetailItemById", "lengthKeys", "textDisplayWhenNoSelect", "textDisplayWhenMultiSelect", "classIncludeTextDisplayWhenNoSelect", "fieldGetLabel", "labelPopoverConfig", "labelPopoverFullWidth", "hasContentUnitRight", "listSearchNoDataTemplateRef", "fieldGetImage", "imageSize", "typeShape", "fieldGetIcon", "fieldGetTextAvatar", "fieldGetColorAvatar", "classAvatarInclude", "getLastTextAfterSpace", "linkImageError", "showError", "showBorderError", "disable", "readonly", "labelConfig", "listSearchConfig", "isSearchOnline", "listHiddenInputSearch", "listSearchPadding", "listKeySearch", "listDividerClassInclude", "listConfig", "listButtonsOther", "listHasButtonUnSelectOption", "listClickExactly", "listBackgroundCustom", "listMaxItemShow", "listKeySelected", "listMultiKeySelected", "listKeysDisable", "listKeysHidden", "validRequired", "validMaxItemSelected", "changeValidUndefinedResetError", "allowSelectItemMultiple", "focusInputSearch", "onlyEmitDataWhenReset", "resetKeyWhenSelectAllKey", "listConfigHasDivider", "classIncludeIcon", "classIncludeContent", "listIgnoreClassDisableDefaultWhenUseKeysDisableItem", "tabKeyActive", "tabsConfig", "ignoreBorderBottom"], outputs: ["flagMouseChange", "flagMouseContentChange", "lengthKeysChange", "showBorderErrorChange", "listKeySelectedChange", "listMultiKeySelectedChange", "tabKeyActiveChange", "outSelectKey", "outSelectMultiKey", "outFunctionsControl", "outValidEvent", "outChangStageFlagMouse", "outDataChange", "outClickButtonOther", "outShowList", "outChangeTabKeyActive"] }] });
|
|
436
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsDatetimeDropdownItemChildComponent, isStandalone: true, selector: "libs_ui-components-datetime-dropdown-item-child", inputs: { typeDate: { classPropertyName: "typeDate", publicName: "typeDate", isSignal: true, isRequired: false, transformFunction: null }, getItemYearDisplay: { classPropertyName: "getItemYearDisplay", publicName: "getItemYearDisplay", isSignal: true, isRequired: false, transformFunction: null }, listHasButtonUnSelectOption: { classPropertyName: "listHasButtonUnSelectOption", publicName: "listHasButtonUnSelectOption", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, listData: { classPropertyName: "listData", publicName: "listData", isSignal: true, isRequired: false, transformFunction: null }, showBorderError: { classPropertyName: "showBorderError", publicName: "showBorderError", isSignal: true, isRequired: false, transformFunction: null }, listMaxItemShow: { classPropertyName: "listMaxItemShow", publicName: "listMaxItemShow", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, classIncludeTextDisplayWhenNoSelect: { classPropertyName: "classIncludeTextDisplayWhenNoSelect", publicName: "classIncludeTextDisplayWhenNoSelect", isSignal: true, isRequired: false, transformFunction: null }, listKeySelected: { classPropertyName: "listKeySelected", publicName: "listKeySelected", isSignal: true, isRequired: false, transformFunction: null }, widthDropdown: { classPropertyName: "widthDropdown", publicName: "widthDropdown", isSignal: true, isRequired: false, transformFunction: null }, first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: false, transformFunction: null }, isError: { classPropertyName: "isError", publicName: "isError", isSignal: true, isRequired: false, transformFunction: null }, widthByElement: { classPropertyName: "widthByElement", publicName: "widthByElement", isSignal: true, isRequired: false, transformFunction: null }, ignoreConvertYearSelected: { classPropertyName: "ignoreConvertYearSelected", publicName: "ignoreConvertYearSelected", isSignal: true, isRequired: false, transformFunction: null }, listKeysDisable: { classPropertyName: "listKeysDisable", publicName: "listKeysDisable", isSignal: true, isRequired: false, transformFunction: null }, validRequired: { classPropertyName: "validRequired", publicName: "validRequired", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outSelectedKey: "outSelectedKey", outFunctionControl: "outFunctionControl", outChangStageFlagMouse: "outChangStageFlagMouse" }, ngImport: i0, template: " @if (typeDate() && httpRequestDetailItemById()) {\n <div [style.width]=\"usingWidth()\">\n <libs_ui-components-dropdown [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [readonly]=\"readonly()\"\n [textDisplayWhenNoSelect]=\"textNoSelectDisplay()\"\n [disable]=\"disable()\"\n [showBorderError]=\"showBorderError()\"\n [listMaxItemShow]=\"listMaxItemShow()\"\n [listClickExactly]=\"false\"\n [zIndex]=\"zIndex()\"\n [labelPopoverConfig]=\"{ zIndex: zIndex() +1 }\"\n [listConfig]=\"listConfig()\"\n [listKeysDisable]=\"listKeysDisable()\"\n [convertItemSelected]=\"convertItemSelected\"\n [onlyEmitDataWhenReset]=\"true\"\n [classIncludeTextDisplayWhenNoSelect]=\"classIncludeTextDisplayWhenNoSelect()\"\n [httpRequestDetailItemById]=\"httpRequestDetailItemById()\"\n [listKeySelected]=\"listKeySelected()\"\n (outSelectKey)=\"handlerChangeSelectedItem($event)\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\"\n (outChangStageFlagMouse)=\"handlerChangFlagMouse($event)\" />\n </div>\n }\n @if (isError()) {\n <div class=\"flex items-center mt-[4px]\">\n <span class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"(validRequired()?.message || 'i18n_valid_empty_message')| translate:validRequired()?.interpolateParams\"></span>\n </div>\n }\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsDropdownComponent, selector: "libs_ui-components-dropdown", inputs: ["useXssFilter", "popoverElementRefCustom", "classInclude", "ignoreStopPropagationEvent", "flagMouse", "flagMouseContent", "popoverCustomConfig", "isNgContent", "zIndex", "convertItemSelected", "getPopoverItemSelected", "httpRequestDetailItemById", "lengthKeys", "textDisplayWhenNoSelect", "textDisplayWhenMultiSelect", "classIncludeTextDisplayWhenNoSelect", "fieldLabel", "fieldGetLabel", "labelPopoverConfig", "labelPopoverFullWidth", "hasContentUnitRight", "listSearchNoDataTemplateRef", "fieldGetImage", "imageSize", "typeShape", "fieldGetIcon", "fieldGetTextAvatar", "fieldGetColorAvatar", "classAvatarInclude", "getLastTextAfterSpace", "linkImageError", "showError", "showBorderError", "disable", "readonly", "labelConfig", "disableLabel", "listSearchConfig", "isSearchOnline", "listHiddenInputSearch", "listSearchPadding", "listKeySearch", "listDividerClassInclude", "listConfig", "listButtonsOther", "listHasButtonUnSelectOption", "listClickExactly", "listBackgroundCustom", "listMaxItemShow", "listKeySelected", "listMultiKeySelected", "listKeysDisable", "listKeysHidden", "validRequired", "validMaxItemSelected", "changeValidUndefinedResetError", "allowSelectItemMultiple", "focusInputSearch", "onlyEmitDataWhenReset", "resetKeyWhenSelectAllKey", "listConfigHasDivider", "classIncludeIcon", "classIncludeContent", "listIgnoreClassDisableDefaultWhenUseKeysDisableItem", "tabKeyActive", "tabsConfig", "ignoreBorderBottom"], outputs: ["flagMouseChange", "flagMouseContentChange", "lengthKeysChange", "showBorderErrorChange", "listKeySelectedChange", "listMultiKeySelectedChange", "tabKeyActiveChange", "outSelectKey", "outSelectMultiKey", "outFunctionsControl", "outValidEvent", "outChangStageFlagMouse", "outDataChange", "outClickButtonOther", "outShowList", "outChangeTabKeyActive"] }] });
|
|
434
437
|
}
|
|
435
438
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsDatetimeDropdownItemChildComponent, decorators: [{
|
|
436
439
|
type: Component,
|
|
437
440
|
args: [{ selector: 'libs_ui-components-datetime-dropdown-item-child', standalone: true, imports: [
|
|
438
441
|
TranslateModule,
|
|
439
442
|
LibsUiComponentsDropdownComponent
|
|
440
|
-
], template: " @if (typeDate()) {\n <div [style.width]=\"usingWidth()\">\n <libs_ui-components-dropdown [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [readonly]=\"readonly()\"\n [textDisplayWhenNoSelect]=\"textNoSelectDisplay()\"\n [disable]=\"disable()\"\n [showBorderError]=\"showBorderError()\"\n [listMaxItemShow]=\"listMaxItemShow()\"\n [listClickExactly]=\"false\"\n [zIndex]=\"zIndex()\"\n [labelPopoverConfig]=\"{ zIndex: zIndex() +1 }\"\n [listConfig]=\"listConfig()\"\n [listKeysDisable]=\"listKeysDisable()\"\n [convertItemSelected]=\"convertItemSelected\"\n [onlyEmitDataWhenReset]=\"true\"\n [classIncludeTextDisplayWhenNoSelect]=\"classIncludeTextDisplayWhenNoSelect()\"\n [httpRequestDetailItemById]=\"httpRequestDetailItemById()\"\n [listKeySelected]=\"listKeySelected()\"\n (outSelectKey)=\"handlerChangeSelectedItem($event)\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\"\n (outChangStageFlagMouse)=\"handlerChangFlagMouse($event)\" />\n </div>\n }\n @if (isError()) {\n <div class=\"flex items-center mt-[4px]\">\n <span class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"(validRequired()?.message || 'i18n_valid_empty_message')| translate:validRequired()?.interpolateParams\"></span>\n </div>\n }\n" }]
|
|
443
|
+
], template: " @if (typeDate() && httpRequestDetailItemById()) {\n <div [style.width]=\"usingWidth()\">\n <libs_ui-components-dropdown [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [readonly]=\"readonly()\"\n [textDisplayWhenNoSelect]=\"textNoSelectDisplay()\"\n [disable]=\"disable()\"\n [showBorderError]=\"showBorderError()\"\n [listMaxItemShow]=\"listMaxItemShow()\"\n [listClickExactly]=\"false\"\n [zIndex]=\"zIndex()\"\n [labelPopoverConfig]=\"{ zIndex: zIndex() +1 }\"\n [listConfig]=\"listConfig()\"\n [listKeysDisable]=\"listKeysDisable()\"\n [convertItemSelected]=\"convertItemSelected\"\n [onlyEmitDataWhenReset]=\"true\"\n [classIncludeTextDisplayWhenNoSelect]=\"classIncludeTextDisplayWhenNoSelect()\"\n [httpRequestDetailItemById]=\"httpRequestDetailItemById()\"\n [listKeySelected]=\"listKeySelected()\"\n (outSelectKey)=\"handlerChangeSelectedItem($event)\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\"\n (outChangStageFlagMouse)=\"handlerChangFlagMouse($event)\" />\n </div>\n }\n @if (isError()) {\n <div class=\"flex items-center mt-[4px]\">\n <span class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"(validRequired()?.message || 'i18n_valid_empty_message')| translate:validRequired()?.interpolateParams\"></span>\n </div>\n }\n" }]
|
|
441
444
|
}], ctorParameters: () => [] });
|
|
442
445
|
|
|
443
446
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
444
447
|
class LibsUiComponentsDatetimeDropdownItemComponent {
|
|
445
|
-
|
|
448
|
+
// #region PROPERTY
|
|
446
449
|
typeListDate = signal([]);
|
|
447
450
|
keyMonthResetDay = signal(undefined);
|
|
448
451
|
selectedSingle = signal({});
|
|
449
452
|
isError = signal(undefined);
|
|
450
|
-
|
|
453
|
+
// #region INPUT
|
|
451
454
|
typeDate = input(undefined);
|
|
452
455
|
disableSecond = input(undefined);
|
|
453
456
|
selectedDate = input(undefined);
|
|
@@ -469,7 +472,7 @@ class LibsUiComponentsDatetimeDropdownItemComponent {
|
|
|
469
472
|
validRequired = input(undefined);
|
|
470
473
|
isEmitSelectedDropDown = input(undefined);
|
|
471
474
|
listMaxItemShow = input(undefined);
|
|
472
|
-
|
|
475
|
+
// #region OUTPUT
|
|
473
476
|
outSelectedData = output();
|
|
474
477
|
outFunctionControl = output();
|
|
475
478
|
outChangStageFlagMouse = output();
|
|
@@ -650,7 +653,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
650
653
|
}], ctorParameters: () => [] });
|
|
651
654
|
|
|
652
655
|
class LibsUiComponentsDatetimeDropdownComponent {
|
|
653
|
-
|
|
656
|
+
// #region PROPERTY
|
|
654
657
|
width = signal(0);
|
|
655
658
|
widthElement = signal(undefined);
|
|
656
659
|
widthLabel = signal(undefined);
|
|
@@ -667,7 +670,7 @@ class LibsUiComponentsDatetimeDropdownComponent {
|
|
|
667
670
|
timeOut = signal(undefined);
|
|
668
671
|
onDestroy = new Subject();
|
|
669
672
|
functionsControl = new Map();
|
|
670
|
-
|
|
673
|
+
// #region INPUT
|
|
671
674
|
labelConfig = input(undefined);
|
|
672
675
|
widthDropdown = input(136, { transform: (value) => value ?? 136 });
|
|
673
676
|
zIndex = input(1200, { transform: (value) => value ?? 1200 });
|
|
@@ -699,7 +702,7 @@ class LibsUiComponentsDatetimeDropdownComponent {
|
|
|
699
702
|
isCheckErrorWhenSelectItem = input(true, { transform: (value) => value ?? true });
|
|
700
703
|
ignoreRequiredValueSecondWhenNotValidRequired = input(false); // có validate giá trị thứ 2 khi validRequired không?
|
|
701
704
|
validRequired = input();
|
|
702
|
-
|
|
705
|
+
// #region OUTPUT
|
|
703
706
|
outFunctionsControl = output();
|
|
704
707
|
outSelectedDropdown = output(); // dùng cho trường hợp emit mỗi một lần chọn giá trị nên khi sử dụng phải check kĩ undefined
|
|
705
708
|
outChooseMultiDate = output();
|
|
@@ -709,7 +712,7 @@ class LibsUiComponentsDatetimeDropdownComponent {
|
|
|
709
712
|
containerRef = viewChild('parent');
|
|
710
713
|
labelFromRef = viewChild('labelFrom');
|
|
711
714
|
labelToRef = viewChild('labelTo');
|
|
712
|
-
|
|
715
|
+
// #region INJECT
|
|
713
716
|
translate = inject(TranslateService);
|
|
714
717
|
constructor() {
|
|
715
718
|
effect(() => {
|
|
@@ -747,7 +750,6 @@ class LibsUiComponentsDatetimeDropdownComponent {
|
|
|
747
750
|
this.widthLabelTo.set(this.labelToRef()?.nativeElement?.getBoundingClientRect().width || 0);
|
|
748
751
|
const spaceBetweenDate = (this.arrayFormat().length * 2) + (this.fromAndToDateLabel().from ? 1 : 0);
|
|
749
752
|
const width = (this.widthDropdown() * 4) + (8 * spaceBetweenDate) + this.widthLabelFrom() + this.widthLabelTo();
|
|
750
|
-
console.log(widthElementParent);
|
|
751
753
|
if (widthElementParent < width) {
|
|
752
754
|
this.isResponsive.set(true);
|
|
753
755
|
}
|
|
@@ -850,7 +852,6 @@ class LibsUiComponentsDatetimeDropdownComponent {
|
|
|
850
852
|
}
|
|
851
853
|
const from = this.chooseDate()?.from;
|
|
852
854
|
const to = this.chooseDate()?.to;
|
|
853
|
-
console.log(from?.(), to?.(), this.isMultiple());
|
|
854
855
|
if (this.isMultiple()) {
|
|
855
856
|
if (this.compareDate()) {
|
|
856
857
|
return;
|
|
@@ -914,6 +915,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
914
915
|
], template: "@if (labelConfig(); as labelConfig) {\n <libs_ui-components-label [classInclude]=\"labelConfig.classInclude\"\n [labelLeft]=\"labelConfig.labelLeft\"\n [labelLeftClass]=\"labelConfig.labelLeftClass\"\n [required]=\"labelConfig.required \"\n [description]=\"labelConfig.description\"\n [labelRight]=\"labelConfig.labelRight\"\n [labelRightClass]=\"labelConfig.labelRightClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [buttonsLeft]=\"labelConfig.buttonsLeft\"\n [buttonsRight]=\"labelConfig.buttonsRight\"\n [buttonsDescription]=\"labelConfig.buttonsDescription\"\n [descriptionClass]=\"labelConfig.descriptionClass\"\n [disableButtonsLeft]=\"labelConfig.disableButtonsLeft\"\n [disableButtonsRight]=\"labelConfig.disableButtonsRight\"\n [hasToggle]=\"labelConfig.hasToggle\"\n [toggleActive]=\"labelConfig.toggleActive\"\n [toggleDisable]=\"labelConfig.toggleDisable || disable()\"\n [popover]=\"labelConfig.popover\"\n [iconPopoverClass]=\"labelConfig.iconPopoverClass\"\n [limitLength]=\"labelConfig.limitLength\"\n [count]=\"labelConfig.count\" />\n}\n<div #parent\n class=\"flex items-start\"\n [class.!w-full]=\"widthByElement()\"\n [class.!column]=\"isResponsive() && isMultiple()\">\n <div #childFrom\n class=\"flex items-start\"\n [class.w-[50%]]=\"widthByElement() && !isResponsive()\"\n [class.!mb-[8px]]=\"isResponsive() && isMultiple()\"\n [class.!mr-[8px]]=\"!isResponsive() && isMultiple()\"\n [class.w-full]=\"!isMultiple() && !widthByElement() || isResponsive()\"\n [style.width.px]=\"!widthByElement() && isMultiple() && !isResponsive() ?((widthDropdown() * arrayFormat().length)+(8 * arrayFormat().length) + widthLabelFrom()):undefined\">\n\n @if (isMultiple() && !ignoreFromAndToDateLabel() && fromAndToDateLabel().from) {\n <div class=\"mr-[8px] flex-shrink-0 h-[32px] flex items-center\"\n [style.width.px]=\"isResponsive() ? (widthLabel() || undefined) : undefined\">\n <span #labelFrom\n LibsUiComponentsDatetimeDropdownDirective\n [class.!opacity-[0.5]]=\"disable()\"\n class=\"libs-ui-font-h5r text-nowrap {{ fromAndToDateLabel().classLabelFrom || '' }}\"\n (outChangeWidth)=\"handlerChangeWidthLabel($event)\">\n {{ (fromAndToDateLabel().from||' ')| translate }}\n </span>\n </div>\n }\n <div class=\"flex\"\n [class.!w-full]=\"widthByElement()\">\n @if (!changeType()) {\n <libs_ui-components-datetime-dropdown-item [class.!w-full]=\"widthByElement()\"\n [disableSecond]=\"disableSecond()\"\n [typeDate]=\"typeFormat()\"\n [zIndex]=\"zIndex()\"\n [maxYear]=\"maxYear()\"\n [disable]=\"disable()\"\n [minYear]=\"minYear()\"\n [readonly]=\"readonly()\"\n [isMultiple]=\"isMultiple() ? isResponsive() ? true : false : true\"\n [reverseYear]=\"reverseYear()\"\n [selectedDate]=\"selectedDateTime()?.from() || {}\"\n [widthDropdown]=\"widthDropdown()\"\n [widthByElement]=\"widthByElement()\"\n [getItemYearDisplay]=\"getItemYearDisplay()\"\n [listMaxItemShow]=\"listMaxItemShow()\"\n [listKeysDisable]=\"listKeysDisable()?.from()\"\n [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [isEmitSelectedDropDown]=\"isEmitAfterChanged()\"\n [classIncludeTextDisplayWhenNoSelect]=\"'libs-ui-font-h5r ' + classIncludeTextDisplayWhenNoSelect()\"\n (outSelectedData)=\"handlerChangeSelectedKey($event, 'from')\"\n (outFunctionControl)=\"handlerFunctionControl($event,'from')\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\" />\n }\n </div>\n </div>\n @if (isMultiple()) {\n <div #childTo\n [class.!w-[50%]]=\"widthByElement()\"\n [class.!w-full]=\" !widthByElement() || isResponsive()\"\n class=\"flex items-start\">\n <div class=\"mr-[8px] h-[32px] flex-shrink-0 flex items-center\"\n [style.width.px]=\"isResponsive() ? widthLabel() : undefined\">\n @if (!ignoreFromAndToDateLabel()) {\n <span #labelTo\n LibsUiComponentsDatetimeDropdownDirective\n [class.!opacity-[0.5]]=\"disable()\"\n class=\"libs-ui-font-h5r text-nowrap {{ fromAndToDateLabel().classLabelTo || '' }}\"\n (outChangeWidth)=\"handlerChangeWidthLabel($event)\">\n {{ (fromAndToDateLabel().to||' ')| translate }}\n </span>\n }\n @if (ignoreFromAndToDateLabel()) {\n <span [class.!opacity-[0.5]]=\"disable()\"\n class=\"libs-ui-font-h5r\">-</span>\n }\n </div>\n <div class=\"flex\"\n [class.!w-full]=\"widthByElement()\">\n @if (!changeType()) {\n <libs_ui-components-datetime-dropdown-item [class.w-full]=\"widthByElement()\"\n [disableSecond]=\"disableSecond()\"\n [typeDate]=\"typeFormat()\"\n [zIndex]=\"zIndex()\"\n [maxYear]=\"maxYear()\"\n [disable]=\"disable()\"\n [minYear]=\"minYear()\"\n [readonly]=\"readonly()\"\n [isMultiple]=\"isMultiple()\"\n [reverseYear]=\"reverseYear()\"\n [selectedDate]=\"selectedDateTime()?.to() || {}\"\n [widthDropdown]=\"widthDropdown()\"\n [widthByElement]=\"widthByElement()\"\n [getItemYearDisplay]=\"getItemYearDisplay()\"\n [listMaxItemShow]=\"listMaxItemShow()\"\n [listKeysDisable]=\"listKeysDisable()?.to()\"\n [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [classIncludeTextDisplayWhenNoSelect]=\"'libs-ui-font-h5r ' + classIncludeTextDisplayWhenNoSelect\"\n [isEmitSelectedDropDown]=\"isEmitAfterChanged()\"\n (outSelectedData)=\"handlerChangeSelectedKey($event, 'to')\"\n (outFunctionControl)=\"handlerFunctionControl($event,'to')\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\" />\n }\n </div>\n </div>\n }\n</div>\n\n@if (isErrorCompareDate()) {\n <div class=\"flex items-center mt-[4px]\">\n <span class=\"libs-ui-message-error libs-ui-font-h7r libs-ui-text-error\">{{ validRequired()?.messageValidCompareTime || \"i18n_invalid_end_date_selected\" | translate:validRequired()?.interpolateParamsCompareTime }}</span>\n </div>\n}\n" }]
|
|
915
916
|
}], ctorParameters: () => [] });
|
|
916
917
|
|
|
918
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
919
|
+
|
|
920
|
+
;
|
|
921
|
+
|
|
917
922
|
/**
|
|
918
923
|
* Generated bundle index. Do not edit.
|
|
919
924
|
*/
|