@taiga-ui/core 4.71.1 → 4.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -158,7 +158,7 @@ class TuiTextfieldComponent extends TuiTextfieldBaseComponent {
158
158
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextfieldComponent, isStandalone: true, selector: "tui-textfield:not([multi])", host: { listeners: { "click.self.prevent": "0", "pointerdown.self.prevent": "onIconClick()", "scroll.capture.zoneless": "onScroll($event.target)", "tuiActiveZoneChange": "!$event && cva?.onTouched()" }, properties: { "attr.data-size": "options.size()", "class._with-label": "hasLabel", "class._with-template": "content && control?.value != null", "class._disabled": "disabled" } }, providers: [
159
159
  tuiButtonOptionsProvider({ size: 'xs', appearance: 'icon' }),
160
160
  tuiAsDataListHost(TuiTextfieldComponent),
161
- ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownDirective }, { directive: i1.TuiDropdownFixed }, { directive: i2.TuiTransitioned }, { directive: i1.TuiWithDropdownOpen }, { directive: i3.TuiWithIcons }, { directive: i4.TuiWithItemsHandlers }, { directive: i5.TuiWithOptionContent }, { directive: i6.TuiWithTextfieldDropdown }], ngImport: i0, template: "<ng-container *ngIf=\"control?.control?.valueChanges | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"textarea\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (click)=\"input?.nativeElement?.focus()\"\n (pointerdown.zoneless.prevent)=\"(0)\"\n (waResizeObserver)=\"$event[0] && onResize($event[0])\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner()\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"accessor?.setValue(null)\"\n >\n {{ clear() }}\n </button>\n <ng-container #vcr />\n <ng-content select=\"tui-icon\" />\n</span>\n<span\n *ngIf=\"control?.value != null\"\n class=\"t-template\"\n>\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller()\"\n #ghost\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller()\"\n/>\n", styles: ["tui-textfield{scrollbar-width:none;-ms-overflow-style:none;transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-height: var(--tui-height-l);--t-padding: var(--tui-padding-l);--t-label-y: -.75rem;--t-label-font: var(--tui-font-text-s);--t-end: 0rem;--t-start: 0rem;position:relative;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;min-block-size:var(--t-height);padding:0 var(--t-padding);border-radius:var(--tui-radius-l);font:var(--tui-font-text-ui-m);line-height:1.25rem;box-sizing:border-box;gap:0 .25rem;isolation:isolate}tui-textfield::-webkit-scrollbar,tui-textfield::-webkit-scrollbar-thumb{display:none}tui-textfield[tuiIcons]:read-only{color:var(--tui-text-tertiary)}tui-textfield[style*=\"--t-icon-start:\"]{--t-start: 2.25rem}tui-textfield[style*=\"--t-icon-end:\"]{--t-end: 2.25rem}tui-textfield[tuiIcons]:after{position:relative;block-size:auto;align-self:stretch;border-inline-start:var(--t-padding) solid transparent;border-inline-end:var(--t-padding) solid transparent;margin:0 calc(-1 * var(--t-padding))}tui-textfield::-webkit-resizer{border:.25rem solid transparent;inline-size:.5rem;block-size:.5rem;box-sizing:content-box;color:var(--tui-text-tertiary);background:linear-gradient(-45deg,transparent,transparent .125rem,currentColor .125rem,currentColor .1875rem,transparent .1875rem,transparent .25rem,currentColor .25rem,currentColor .3125rem,transparent .35rem);background-clip:content-box}tui-textfield label,tui-textfield>.t-content,tui-textfield>.t-template{pointer-events:none}tui-textfield input,tui-textfield select,tui-textfield textarea{font:inherit;resize:none;outline:none;padding-block-start:1.125rem;padding-block-end:1.125rem;color:var(--tui-text-primary)}tui-textfield input[inputmode=none],tui-textfield select[inputmode=none],tui-textfield textarea[inputmode=none]{caret-color:transparent}tui-textfield input::-webkit-inner-spin-button,tui-textfield select::-webkit-inner-spin-button,tui-textfield textarea::-webkit-inner-spin-button,tui-textfield input::-webkit-outer-spin-button,tui-textfield select::-webkit-outer-spin-button,tui-textfield textarea::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}tui-textfield[data-size=s]{--t-height: var(--tui-height-s);--t-padding: var(--tui-padding-s);border-radius:var(--tui-radius-m);gap:0;font:var(--tui-font-text-ui-s);line-height:1rem}tui-textfield[data-size=s][style*=\"--t-icon-start:\"]{--t-start: 1.25rem}tui-textfield[data-size=s][style*=\"--t-icon-end:\"]{--t-end: 1.25rem}tui-textfield[data-size=s]:before{margin-inline-end:.5rem;margin-inline-start:-.125rem;font-size:1rem}tui-textfield[data-size=s]:after{margin-inline-end:calc(-.125rem - var(--t-padding));margin-inline-start:calc(.625rem - var(--t-padding));font-size:1rem}tui-textfield[data-size=s] input,tui-textfield[data-size=s] select,tui-textfield[data-size=s] textarea{padding-block-start:.5rem;padding-block-end:.5rem}tui-textfield[data-size=s]>.t-content{margin-inline-end:-.375rem}tui-textfield[data-size=m]{--t-height: var(--tui-height-m);--t-padding: var(--tui-padding-m);--t-label-font: var(--tui-font-text-xs);--t-label-y: -.5625rem;border-radius:var(--tui-radius-m);font:var(--tui-font-text-ui-s);line-height:1rem}tui-textfield[data-size=m][style*=\"--t-icon-start:\"]{--t-start: 1.75rem}tui-textfield[data-size=m][style*=\"--t-icon-end:\"]{--t-end: 1.75rem}tui-textfield[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.125rem}tui-textfield[data-size=m]:after{margin-inline-start:calc(.25rem - var(--t-padding));margin-inline-end:calc(-.125rem - var(--t-padding))}tui-textfield[data-size=m] input,tui-textfield[data-size=m] select,tui-textfield[data-size=m] textarea{padding-block-start:.875rem;padding-block-end:.875rem}tui-textfield[data-size=m]>.t-content{margin-inline-end:-.125rem}tui-textfield[data-size=l]{--t-label: -.7rem}tui-textfield[tuiIcons]:hover{color:var(--tui-text-secondary)}tui-textfield[tuiIcons]:hover:has(input:read-only):not([multi]),tui-textfield[tuiIcons]:hover:has(textarea:read-only),tui-textfield[tuiIcons]:hover:has(select[data-mode~=readonly]){color:var(--tui-text-tertiary)}tui-textfield:before{z-index:1;margin-inline-end:.5rem;pointer-events:none}tui-textfield:has(:disabled:not(.t-filler,button,option,[tuiChip])):before,tui-textfield:has(:disabled:not(.t-filler,button,option,[tuiChip])):after,tui-textfield:has(:disabled:not(.t-filler,button,option,[tuiChip]))>.t-template{opacity:var(--tui-disabled-opacity)}tui-textfield._disabled:before,tui-textfield._disabled:after,tui-textfield._disabled>.t-template{opacity:var(--tui-disabled-opacity)}tui-textfield:has(label:not(:empty))>.t-template,tui-textfield:has(label:not(:empty)) input:not([type=range]),tui-textfield:has(label:not(:empty)) select:defined,tui-textfield:has(label:not(:empty)) textarea:defined{padding-block-start:calc(var(--t-height) / 3);padding-block-end:0}tui-textfield:not([data-focus=true]):has(label:not(:empty))>.t-template::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty)) input:not([type=range])::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty)) select:defined::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty)) textarea:defined::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty))>.t-template._empty,tui-textfield:not([data-focus=true]):has(label:not(:empty)) input:not([type=range])._empty,tui-textfield:not([data-focus=true]):has(label:not(:empty)) select:defined._empty,tui-textfield:not([data-focus=true]):has(label:not(:empty)) textarea:defined._empty{color:transparent}tui-textfield._with-label>.t-template,tui-textfield._with-label input:not([type=range]),tui-textfield._with-label select:defined,tui-textfield._with-label textarea:defined{padding-block-start:calc(var(--t-height) / 3);padding-block-end:0}tui-textfield:not([data-focus=true])._with-label>.t-template::placeholder,tui-textfield:not([data-focus=true])._with-label input:not([type=range])::placeholder,tui-textfield:not([data-focus=true])._with-label select:defined::placeholder,tui-textfield:not([data-focus=true])._with-label textarea:defined::placeholder,tui-textfield:not([data-focus=true])._with-label>.t-template._empty,tui-textfield:not([data-focus=true])._with-label input:not([type=range])._empty,tui-textfield:not([data-focus=true])._with-label select:defined._empty,tui-textfield:not([data-focus=true])._with-label textarea:defined._empty{color:transparent}tui-textfield>.t-template,tui-textfield input:defined,tui-textfield select:defined,tui-textfield textarea:defined{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border-radius:inherit;border-width:0;overscroll-behavior:none;padding-inline-start:calc(var(--t-start, 0rem) + var(--t-padding));padding-inline-end:calc(var(--t-end, 0rem) + var(--t-side) + var(--t-padding))}tui-textfield>.t-template{display:flex;align-items:center;color:var(--tui-text-primary)}tui-textfield._with-template input:first-of-type,tui-textfield._with-template select,tui-textfield._with-template textarea{color:transparent!important}tui-textfield input:not([type=range]),tui-textfield select:defined,tui-textfield textarea:defined{pointer-events:auto;background:none}tui-textfield input:not([type=range]):not(select):read-only~.t-filler,tui-textfield select:defined:not(select):read-only~.t-filler,tui-textfield textarea:defined:not(select):read-only~.t-filler{display:none}tui-textfield input:not([type=range]):disabled~label,tui-textfield select:defined:disabled~label,tui-textfield textarea:defined:disabled~label,tui-textfield input:not([type=range]):disabled~.t-content,tui-textfield select:defined:disabled~.t-content,tui-textfield textarea:defined:disabled~.t-content{opacity:var(--tui-disabled-opacity)}tui-textfield input:not([type=range]):disabled~label>tui-icon,tui-textfield select:defined:disabled~label>tui-icon,tui-textfield textarea:defined:disabled~label>tui-icon,tui-textfield input:not([type=range]):disabled~.t-content>tui-icon,tui-textfield select:defined:disabled~.t-content>tui-icon,tui-textfield textarea:defined:disabled~.t-content>tui-icon{display:none}tui-textfield input:not([type=range]):-webkit-autofill~label,tui-textfield select:defined:-webkit-autofill~label,tui-textfield textarea:defined:-webkit-autofill~label,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown)~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown)~label,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown)~label{font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}tui-textfield input:not([type=range]):-webkit-autofill:not(:disabled)[data-mode~=invalid]~label,tui-textfield select:defined:-webkit-autofill:not(:disabled)[data-mode~=invalid]~label,tui-textfield textarea:defined:-webkit-autofill:not(:disabled)[data-mode~=invalid]~label,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown):not(:disabled)[data-mode~=invalid]~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode~=invalid]~label,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode~=invalid]~label,tui-textfield input:not([type=range]):-webkit-autofill:invalid:not(:disabled):not([data-mode])~label,tui-textfield select:defined:-webkit-autofill:invalid:not(:disabled):not([data-mode])~label,tui-textfield textarea:defined:-webkit-autofill:invalid:not(:disabled):not([data-mode])~label,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-text-negative)}tui-textfield input:not([type=range]):-webkit-autofill:not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield select:defined:-webkit-autofill:not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield textarea:defined:-webkit-autofill:not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode~=readonly])~.t-content .t-clear{display:flex}tui-textfield input:not([type=range]):not([data-mode~=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield select:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly]):focus-visible:not([data-focus=false])._empty,tui-textfield select:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])._empty,tui-textfield textarea:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}tui-textfield input:not([type=range]):not([data-mode~=readonly]):focus-visible:not([data-focus=false])~label,tui-textfield select:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])~label,tui-textfield textarea:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}tui-textfield input:not([type=range]):not([data-mode~=readonly])[data-focus=true]::placeholder,tui-textfield select:defined:not([data-mode~=readonly])[data-focus=true]::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly])[data-focus=true]::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly])[data-focus=true]._empty,tui-textfield select:defined:not([data-mode~=readonly])[data-focus=true]._empty,tui-textfield textarea:defined:not([data-mode~=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}tui-textfield input:not([type=range]):not([data-mode~=readonly])[data-focus=true]~label,tui-textfield select:defined:not([data-mode~=readonly])[data-focus=true]~label,tui-textfield textarea:defined:not([data-mode~=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)::placeholder,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]._focused::placeholder,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]._focused::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]._focused::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)._empty,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)._empty,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)._empty,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]._focused._empty,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]._focused._empty,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]._focused._empty{color:var(--tui-text-tertiary)}tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)~label,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)~label,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)~label,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]._focused~label,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]._focused~label,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]._focused~label{color:var(--tui-text-primary)!important;font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}@supports (-webkit-touch-callout: none){tui-textfield input:not([type=range])._ios-fix,tui-textfield select:defined._ios-fix,tui-textfield textarea:defined._ios-fix{position:fixed;left:1000rem}}tui-textfield [tuiLabel][tuiLabel][tuiLabel]{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;align-self:flex-start;font-size:inherit;line-height:var(--t-height);transition-duration:inherit}tui-textfield label:defined,tui-textfield input:defined::placeholder,tui-textfield textarea:defined::placeholder,tui-textfield select:defined._empty{color:var(--tui-text-secondary)}tui-textfield select:not([data-mode~=readonly]){cursor:pointer}tui-textfield select option[value=\"\"]:disabled{color:transparent}tui-textfield select optgroup,tui-textfield select option{background-color:var(--tui-background-elevation-3)}tui-textfield select optgroup,tui-textfield select option:not(:disabled){color:var(--tui-text-primary)}tui-textfield button,tui-textfield a{pointer-events:auto}tui-textfield>.t-content{z-index:1;display:flex;block-size:var(--t-height);align-items:center;gap:inherit;margin-inline-start:auto;isolation:isolate;border-radius:inherit}tui-textfield>.t-content>tui-icon{pointer-events:auto}tui-textfield textarea~.t-content{min-inline-size:.5rem}tui-textfield .t-clear{z-index:1;display:none;pointer-events:auto}tui-textfield>.t-filler:defined{pointer-events:none;color:var(--tui-text-tertiary);opacity:1}tui-textfield [tuiFluidTypography]{font-weight:700}tui-textfield [tuiSelectLike]:not(:read-only){cursor:pointer}tui-textfield:has(input[type=tel]){direction:ltr}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: WaResizeObserver, selector: "[waResizeObserver]", inputs: ["box"], outputs: ["waResizeObserver"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
161
+ ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownDirective }, { directive: i1.TuiDropdownFixed }, { directive: i2.TuiTransitioned }, { directive: i1.TuiWithDropdownOpen }, { directive: i3.TuiWithIcons }, { directive: i4.TuiWithItemsHandlers }, { directive: i5.TuiWithOptionContent }, { directive: i6.TuiWithTextfieldDropdown }], ngImport: i0, template: "<ng-container *ngIf=\"control?.control?.valueChanges | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"textarea\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (click)=\"input?.nativeElement?.focus()\"\n (pointerdown.zoneless.prevent)=\"(0)\"\n (waResizeObserver)=\"$event[0] && onResize($event[0])\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner()\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"accessor?.setValue(null)\"\n >\n {{ clear() }}\n </button>\n <ng-container #vcr />\n <ng-content select=\"tui-icon\" />\n</span>\n<span\n *ngIf=\"control?.value != null\"\n class=\"t-template\"\n>\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller()\"\n #ghost\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller()\"\n/>\n", styles: ["tui-textfield{scrollbar-width:none;-ms-overflow-style:none;transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-height: var(--tui-height-l);--t-padding: var(--tui-padding-l);--t-label-y: -.75rem;--t-label-font: var(--tui-font-text-s);--t-end: 0rem;--t-start: 0rem;position:relative;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;min-block-size:var(--t-height);padding:0 var(--t-padding);border-radius:var(--tui-radius-l);font:var(--tui-font-text-ui-m);line-height:1.25rem;box-sizing:border-box;gap:0 .25rem;isolation:isolate}tui-textfield::-webkit-scrollbar,tui-textfield::-webkit-scrollbar-thumb{display:none}tui-textfield[tuiIcons]:read-only{color:var(--tui-text-tertiary)}tui-textfield[style*=\"--t-icon-start:\"]{--t-start: 2.25rem}tui-textfield[style*=\"--t-icon-end:\"]{--t-end: 2.25rem}tui-textfield[tuiIcons]:after{position:relative;block-size:auto;align-self:stretch;border-inline-start:var(--t-padding) solid transparent;border-inline-end:var(--t-padding) solid transparent;margin:0 calc(-1 * var(--t-padding))}tui-textfield::-webkit-resizer{border:.25rem solid transparent;inline-size:.5rem;block-size:.5rem;box-sizing:content-box;color:var(--tui-text-tertiary);background:linear-gradient(-45deg,transparent,transparent .125rem,currentColor .125rem,currentColor .1875rem,transparent .1875rem,transparent .25rem,currentColor .25rem,currentColor .3125rem,transparent .35rem);background-clip:content-box}tui-textfield label,tui-textfield>.t-content,tui-textfield>.t-template{pointer-events:none}tui-textfield input,tui-textfield select,tui-textfield textarea{font:inherit;resize:none;outline:none;padding-block-start:1.125rem;padding-block-end:1.125rem;color:var(--tui-text-primary)}tui-textfield input[inputmode=none],tui-textfield select[inputmode=none],tui-textfield textarea[inputmode=none]{caret-color:transparent}tui-textfield input::-webkit-inner-spin-button,tui-textfield select::-webkit-inner-spin-button,tui-textfield textarea::-webkit-inner-spin-button,tui-textfield input::-webkit-outer-spin-button,tui-textfield select::-webkit-outer-spin-button,tui-textfield textarea::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}tui-textfield[data-size=s]{--t-height: var(--tui-height-s);--t-padding: var(--tui-padding-s);border-radius:var(--tui-radius-m);gap:0;font:var(--tui-font-text-ui-s);line-height:1rem}tui-textfield[data-size=s][style*=\"--t-icon-start:\"]{--t-start: 1.375rem}tui-textfield[data-size=s][style*=\"--t-icon-end:\"]{--t-end: 1.375rem}tui-textfield[data-size=s]:before{margin-inline-end:.625rem;font-size:1rem}tui-textfield[data-size=s]:after{margin-inline-end:calc(-1 * var(--t-padding));margin-inline-start:calc(.5rem - var(--t-padding));font-size:1rem}tui-textfield[data-size=s] input,tui-textfield[data-size=s] select,tui-textfield[data-size=s] textarea{padding-block-start:.5rem;padding-block-end:.5rem}tui-textfield[data-size=s]>.t-content{margin-inline-end:-.25rem}tui-textfield[data-size=m]{--t-height: var(--tui-height-m);--t-padding: var(--tui-padding-m);--t-label-font: var(--tui-font-text-xs);--t-label-y: -.5625rem;border-radius:var(--tui-radius-m);font:var(--tui-font-text-ui-s);line-height:1rem}tui-textfield[data-size=m][style*=\"--t-icon-start:\"]{--t-start: 1.75rem}tui-textfield[data-size=m][style*=\"--t-icon-end:\"]{--t-end: 1.75rem}tui-textfield[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.125rem}tui-textfield[data-size=m]:after{margin-inline-start:calc(.25rem - var(--t-padding));margin-inline-end:calc(-.125rem - var(--t-padding))}tui-textfield[data-size=m] input,tui-textfield[data-size=m] select,tui-textfield[data-size=m] textarea{padding-block-start:.875rem;padding-block-end:.875rem}tui-textfield[data-size=m]>.t-content{margin-inline-end:-.125rem}tui-textfield[data-size=l]{--t-label: -.7rem}tui-textfield[tuiIcons]:hover{color:var(--tui-text-secondary)}tui-textfield[tuiIcons]:hover:has(input:read-only):not([multi]),tui-textfield[tuiIcons]:hover:has(textarea:read-only),tui-textfield[tuiIcons]:hover:has(select[data-mode~=readonly]){color:var(--tui-text-tertiary)}tui-textfield:before{z-index:1;margin-inline-end:.5rem;pointer-events:none}tui-textfield:has(:disabled:not(.t-filler,button,option,[tuiChip])):before,tui-textfield:has(:disabled:not(.t-filler,button,option,[tuiChip])):after,tui-textfield:has(:disabled:not(.t-filler,button,option,[tuiChip]))>.t-template{opacity:var(--tui-disabled-opacity)}tui-textfield._disabled:before,tui-textfield._disabled:after,tui-textfield._disabled>.t-template{opacity:var(--tui-disabled-opacity)}tui-textfield:has(label:not(:empty))>.t-template,tui-textfield:has(label:not(:empty)) input:not([type=range]),tui-textfield:has(label:not(:empty)) select:defined,tui-textfield:has(label:not(:empty)) textarea:defined{padding-block-start:calc(var(--t-height) / 3);padding-block-end:0}tui-textfield:not([data-focus=true]):has(label:not(:empty))>.t-template::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty)) input:not([type=range])::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty)) select:defined::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty)) textarea:defined::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty))>.t-template._empty,tui-textfield:not([data-focus=true]):has(label:not(:empty)) input:not([type=range])._empty,tui-textfield:not([data-focus=true]):has(label:not(:empty)) select:defined._empty,tui-textfield:not([data-focus=true]):has(label:not(:empty)) textarea:defined._empty{color:transparent}tui-textfield._with-label>.t-template,tui-textfield._with-label input:not([type=range]),tui-textfield._with-label select:defined,tui-textfield._with-label textarea:defined{padding-block-start:calc(var(--t-height) / 3);padding-block-end:0}tui-textfield:not([data-focus=true])._with-label>.t-template::placeholder,tui-textfield:not([data-focus=true])._with-label input:not([type=range])::placeholder,tui-textfield:not([data-focus=true])._with-label select:defined::placeholder,tui-textfield:not([data-focus=true])._with-label textarea:defined::placeholder,tui-textfield:not([data-focus=true])._with-label>.t-template._empty,tui-textfield:not([data-focus=true])._with-label input:not([type=range])._empty,tui-textfield:not([data-focus=true])._with-label select:defined._empty,tui-textfield:not([data-focus=true])._with-label textarea:defined._empty{color:transparent}tui-textfield>.t-template,tui-textfield input:defined,tui-textfield select:defined,tui-textfield textarea:defined{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border-radius:inherit;border-width:0;overscroll-behavior:none;padding-inline-start:calc(var(--t-start, 0rem) + var(--t-padding));padding-inline-end:calc(var(--t-end, 0rem) + var(--t-side) + var(--t-padding))}tui-textfield>.t-template{display:flex;align-items:center;color:var(--tui-text-primary)}tui-textfield._with-template input:first-of-type,tui-textfield._with-template select,tui-textfield._with-template textarea{color:transparent!important}tui-textfield input:not([type=range]),tui-textfield select:defined,tui-textfield textarea:defined{pointer-events:auto;background:none}tui-textfield input:not([type=range]):not(select):read-only~.t-filler,tui-textfield select:defined:not(select):read-only~.t-filler,tui-textfield textarea:defined:not(select):read-only~.t-filler{display:none}tui-textfield input:not([type=range]):disabled~label,tui-textfield select:defined:disabled~label,tui-textfield textarea:defined:disabled~label,tui-textfield input:not([type=range]):disabled~.t-content,tui-textfield select:defined:disabled~.t-content,tui-textfield textarea:defined:disabled~.t-content{opacity:var(--tui-disabled-opacity)}tui-textfield input:not([type=range]):disabled~label>tui-icon,tui-textfield select:defined:disabled~label>tui-icon,tui-textfield textarea:defined:disabled~label>tui-icon,tui-textfield input:not([type=range]):disabled~.t-content>tui-icon,tui-textfield select:defined:disabled~.t-content>tui-icon,tui-textfield textarea:defined:disabled~.t-content>tui-icon{display:none}tui-textfield input:not([type=range]):-webkit-autofill~label,tui-textfield select:defined:-webkit-autofill~label,tui-textfield textarea:defined:-webkit-autofill~label,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown)~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown)~label,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown)~label{font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}tui-textfield input:not([type=range]):-webkit-autofill:not(:disabled)[data-mode~=invalid]~label,tui-textfield select:defined:-webkit-autofill:not(:disabled)[data-mode~=invalid]~label,tui-textfield textarea:defined:-webkit-autofill:not(:disabled)[data-mode~=invalid]~label,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown):not(:disabled)[data-mode~=invalid]~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode~=invalid]~label,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode~=invalid]~label,tui-textfield input:not([type=range]):-webkit-autofill:invalid:not(:disabled):not([data-mode])~label,tui-textfield select:defined:-webkit-autofill:invalid:not(:disabled):not([data-mode])~label,tui-textfield textarea:defined:-webkit-autofill:invalid:not(:disabled):not([data-mode])~label,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-text-negative)}tui-textfield input:not([type=range]):-webkit-autofill:not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield select:defined:-webkit-autofill:not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield textarea:defined:-webkit-autofill:not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode~=readonly])~.t-content .t-clear{display:flex}tui-textfield input:not([type=range]):not([data-mode~=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield select:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly]):focus-visible:not([data-focus=false])._empty,tui-textfield select:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])._empty,tui-textfield textarea:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-secondary)}tui-textfield input:not([type=range]):not([data-mode~=readonly]):focus-visible:not([data-focus=false])~label,tui-textfield select:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])~label,tui-textfield textarea:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}tui-textfield input:not([type=range]):not([data-mode~=readonly])[data-focus=true]::placeholder,tui-textfield select:defined:not([data-mode~=readonly])[data-focus=true]::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly])[data-focus=true]::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly])[data-focus=true]._empty,tui-textfield select:defined:not([data-mode~=readonly])[data-focus=true]._empty,tui-textfield textarea:defined:not([data-mode~=readonly])[data-focus=true]._empty{color:var(--tui-text-secondary)}tui-textfield input:not([type=range]):not([data-mode~=readonly])[data-focus=true]~label,tui-textfield select:defined:not([data-mode~=readonly])[data-focus=true]~label,tui-textfield textarea:defined:not([data-mode~=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)::placeholder,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]._focused::placeholder,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]._focused::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]._focused::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)._empty,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)._empty,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)._empty,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]._focused._empty,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]._focused._empty,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]._focused._empty{color:var(--tui-text-secondary)}tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)~label,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)~label,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)~label,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]._focused~label,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]._focused~label,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]._focused~label{color:var(--tui-text-primary)!important;font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}@supports (-webkit-touch-callout: none){tui-textfield input:not([type=range])._ios-fix,tui-textfield select:defined._ios-fix,tui-textfield textarea:defined._ios-fix{position:fixed;left:1000rem}}tui-textfield [tuiLabel][tuiLabel][tuiLabel]{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;align-self:flex-start;font-size:inherit;line-height:var(--t-height);letter-spacing:calc((max(1em,.75rem) - 1em)*.4);transition-duration:inherit}tui-textfield label:defined,tui-textfield input:defined::placeholder,tui-textfield textarea:defined::placeholder,tui-textfield select:defined._empty{color:var(--tui-text-secondary)}tui-textfield select:not([data-mode~=readonly]){cursor:pointer}tui-textfield select option[value=\"\"]:disabled{color:transparent}tui-textfield select optgroup,tui-textfield select option{background-color:var(--tui-background-elevation-3)}tui-textfield select optgroup,tui-textfield select option:not(:disabled){color:var(--tui-text-primary)}tui-textfield button,tui-textfield a{pointer-events:auto}tui-textfield>.t-content{z-index:1;display:flex;block-size:var(--t-height);align-items:center;gap:inherit;margin-inline-start:auto;isolation:isolate;border-radius:inherit}tui-textfield>.t-content>tui-icon{pointer-events:auto}tui-textfield textarea~.t-content{min-inline-size:.5rem}tui-textfield .t-clear{z-index:1;display:none;pointer-events:auto}tui-textfield>.t-filler:defined{pointer-events:none;color:var(--tui-text-tertiary);opacity:1}tui-textfield [tuiFluidTypography]{font-weight:700}tui-textfield [tuiSelectLike]:not(:read-only){cursor:pointer}tui-textfield:has(input[type=tel]){direction:ltr}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: WaResizeObserver, selector: "[waResizeObserver]", inputs: ["box"], outputs: ["waResizeObserver"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
162
162
  }
163
163
  export { TuiTextfieldComponent };
164
164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextfieldComponent, decorators: [{
@@ -184,6 +184,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
184
184
  '(pointerdown.self.prevent)': 'onIconClick()',
185
185
  '(scroll.capture.zoneless)': 'onScroll($event.target)',
186
186
  '(tuiActiveZoneChange)': '!$event && cva?.onTouched()',
187
- }, template: "<ng-container *ngIf=\"control?.control?.valueChanges | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"textarea\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (click)=\"input?.nativeElement?.focus()\"\n (pointerdown.zoneless.prevent)=\"(0)\"\n (waResizeObserver)=\"$event[0] && onResize($event[0])\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner()\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"accessor?.setValue(null)\"\n >\n {{ clear() }}\n </button>\n <ng-container #vcr />\n <ng-content select=\"tui-icon\" />\n</span>\n<span\n *ngIf=\"control?.value != null\"\n class=\"t-template\"\n>\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller()\"\n #ghost\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller()\"\n/>\n", styles: ["tui-textfield{scrollbar-width:none;-ms-overflow-style:none;transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-height: var(--tui-height-l);--t-padding: var(--tui-padding-l);--t-label-y: -.75rem;--t-label-font: var(--tui-font-text-s);--t-end: 0rem;--t-start: 0rem;position:relative;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;min-block-size:var(--t-height);padding:0 var(--t-padding);border-radius:var(--tui-radius-l);font:var(--tui-font-text-ui-m);line-height:1.25rem;box-sizing:border-box;gap:0 .25rem;isolation:isolate}tui-textfield::-webkit-scrollbar,tui-textfield::-webkit-scrollbar-thumb{display:none}tui-textfield[tuiIcons]:read-only{color:var(--tui-text-tertiary)}tui-textfield[style*=\"--t-icon-start:\"]{--t-start: 2.25rem}tui-textfield[style*=\"--t-icon-end:\"]{--t-end: 2.25rem}tui-textfield[tuiIcons]:after{position:relative;block-size:auto;align-self:stretch;border-inline-start:var(--t-padding) solid transparent;border-inline-end:var(--t-padding) solid transparent;margin:0 calc(-1 * var(--t-padding))}tui-textfield::-webkit-resizer{border:.25rem solid transparent;inline-size:.5rem;block-size:.5rem;box-sizing:content-box;color:var(--tui-text-tertiary);background:linear-gradient(-45deg,transparent,transparent .125rem,currentColor .125rem,currentColor .1875rem,transparent .1875rem,transparent .25rem,currentColor .25rem,currentColor .3125rem,transparent .35rem);background-clip:content-box}tui-textfield label,tui-textfield>.t-content,tui-textfield>.t-template{pointer-events:none}tui-textfield input,tui-textfield select,tui-textfield textarea{font:inherit;resize:none;outline:none;padding-block-start:1.125rem;padding-block-end:1.125rem;color:var(--tui-text-primary)}tui-textfield input[inputmode=none],tui-textfield select[inputmode=none],tui-textfield textarea[inputmode=none]{caret-color:transparent}tui-textfield input::-webkit-inner-spin-button,tui-textfield select::-webkit-inner-spin-button,tui-textfield textarea::-webkit-inner-spin-button,tui-textfield input::-webkit-outer-spin-button,tui-textfield select::-webkit-outer-spin-button,tui-textfield textarea::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}tui-textfield[data-size=s]{--t-height: var(--tui-height-s);--t-padding: var(--tui-padding-s);border-radius:var(--tui-radius-m);gap:0;font:var(--tui-font-text-ui-s);line-height:1rem}tui-textfield[data-size=s][style*=\"--t-icon-start:\"]{--t-start: 1.25rem}tui-textfield[data-size=s][style*=\"--t-icon-end:\"]{--t-end: 1.25rem}tui-textfield[data-size=s]:before{margin-inline-end:.5rem;margin-inline-start:-.125rem;font-size:1rem}tui-textfield[data-size=s]:after{margin-inline-end:calc(-.125rem - var(--t-padding));margin-inline-start:calc(.625rem - var(--t-padding));font-size:1rem}tui-textfield[data-size=s] input,tui-textfield[data-size=s] select,tui-textfield[data-size=s] textarea{padding-block-start:.5rem;padding-block-end:.5rem}tui-textfield[data-size=s]>.t-content{margin-inline-end:-.375rem}tui-textfield[data-size=m]{--t-height: var(--tui-height-m);--t-padding: var(--tui-padding-m);--t-label-font: var(--tui-font-text-xs);--t-label-y: -.5625rem;border-radius:var(--tui-radius-m);font:var(--tui-font-text-ui-s);line-height:1rem}tui-textfield[data-size=m][style*=\"--t-icon-start:\"]{--t-start: 1.75rem}tui-textfield[data-size=m][style*=\"--t-icon-end:\"]{--t-end: 1.75rem}tui-textfield[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.125rem}tui-textfield[data-size=m]:after{margin-inline-start:calc(.25rem - var(--t-padding));margin-inline-end:calc(-.125rem - var(--t-padding))}tui-textfield[data-size=m] input,tui-textfield[data-size=m] select,tui-textfield[data-size=m] textarea{padding-block-start:.875rem;padding-block-end:.875rem}tui-textfield[data-size=m]>.t-content{margin-inline-end:-.125rem}tui-textfield[data-size=l]{--t-label: -.7rem}tui-textfield[tuiIcons]:hover{color:var(--tui-text-secondary)}tui-textfield[tuiIcons]:hover:has(input:read-only):not([multi]),tui-textfield[tuiIcons]:hover:has(textarea:read-only),tui-textfield[tuiIcons]:hover:has(select[data-mode~=readonly]){color:var(--tui-text-tertiary)}tui-textfield:before{z-index:1;margin-inline-end:.5rem;pointer-events:none}tui-textfield:has(:disabled:not(.t-filler,button,option,[tuiChip])):before,tui-textfield:has(:disabled:not(.t-filler,button,option,[tuiChip])):after,tui-textfield:has(:disabled:not(.t-filler,button,option,[tuiChip]))>.t-template{opacity:var(--tui-disabled-opacity)}tui-textfield._disabled:before,tui-textfield._disabled:after,tui-textfield._disabled>.t-template{opacity:var(--tui-disabled-opacity)}tui-textfield:has(label:not(:empty))>.t-template,tui-textfield:has(label:not(:empty)) input:not([type=range]),tui-textfield:has(label:not(:empty)) select:defined,tui-textfield:has(label:not(:empty)) textarea:defined{padding-block-start:calc(var(--t-height) / 3);padding-block-end:0}tui-textfield:not([data-focus=true]):has(label:not(:empty))>.t-template::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty)) input:not([type=range])::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty)) select:defined::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty)) textarea:defined::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty))>.t-template._empty,tui-textfield:not([data-focus=true]):has(label:not(:empty)) input:not([type=range])._empty,tui-textfield:not([data-focus=true]):has(label:not(:empty)) select:defined._empty,tui-textfield:not([data-focus=true]):has(label:not(:empty)) textarea:defined._empty{color:transparent}tui-textfield._with-label>.t-template,tui-textfield._with-label input:not([type=range]),tui-textfield._with-label select:defined,tui-textfield._with-label textarea:defined{padding-block-start:calc(var(--t-height) / 3);padding-block-end:0}tui-textfield:not([data-focus=true])._with-label>.t-template::placeholder,tui-textfield:not([data-focus=true])._with-label input:not([type=range])::placeholder,tui-textfield:not([data-focus=true])._with-label select:defined::placeholder,tui-textfield:not([data-focus=true])._with-label textarea:defined::placeholder,tui-textfield:not([data-focus=true])._with-label>.t-template._empty,tui-textfield:not([data-focus=true])._with-label input:not([type=range])._empty,tui-textfield:not([data-focus=true])._with-label select:defined._empty,tui-textfield:not([data-focus=true])._with-label textarea:defined._empty{color:transparent}tui-textfield>.t-template,tui-textfield input:defined,tui-textfield select:defined,tui-textfield textarea:defined{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border-radius:inherit;border-width:0;overscroll-behavior:none;padding-inline-start:calc(var(--t-start, 0rem) + var(--t-padding));padding-inline-end:calc(var(--t-end, 0rem) + var(--t-side) + var(--t-padding))}tui-textfield>.t-template{display:flex;align-items:center;color:var(--tui-text-primary)}tui-textfield._with-template input:first-of-type,tui-textfield._with-template select,tui-textfield._with-template textarea{color:transparent!important}tui-textfield input:not([type=range]),tui-textfield select:defined,tui-textfield textarea:defined{pointer-events:auto;background:none}tui-textfield input:not([type=range]):not(select):read-only~.t-filler,tui-textfield select:defined:not(select):read-only~.t-filler,tui-textfield textarea:defined:not(select):read-only~.t-filler{display:none}tui-textfield input:not([type=range]):disabled~label,tui-textfield select:defined:disabled~label,tui-textfield textarea:defined:disabled~label,tui-textfield input:not([type=range]):disabled~.t-content,tui-textfield select:defined:disabled~.t-content,tui-textfield textarea:defined:disabled~.t-content{opacity:var(--tui-disabled-opacity)}tui-textfield input:not([type=range]):disabled~label>tui-icon,tui-textfield select:defined:disabled~label>tui-icon,tui-textfield textarea:defined:disabled~label>tui-icon,tui-textfield input:not([type=range]):disabled~.t-content>tui-icon,tui-textfield select:defined:disabled~.t-content>tui-icon,tui-textfield textarea:defined:disabled~.t-content>tui-icon{display:none}tui-textfield input:not([type=range]):-webkit-autofill~label,tui-textfield select:defined:-webkit-autofill~label,tui-textfield textarea:defined:-webkit-autofill~label,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown)~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown)~label,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown)~label{font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}tui-textfield input:not([type=range]):-webkit-autofill:not(:disabled)[data-mode~=invalid]~label,tui-textfield select:defined:-webkit-autofill:not(:disabled)[data-mode~=invalid]~label,tui-textfield textarea:defined:-webkit-autofill:not(:disabled)[data-mode~=invalid]~label,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown):not(:disabled)[data-mode~=invalid]~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode~=invalid]~label,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode~=invalid]~label,tui-textfield input:not([type=range]):-webkit-autofill:invalid:not(:disabled):not([data-mode])~label,tui-textfield select:defined:-webkit-autofill:invalid:not(:disabled):not([data-mode])~label,tui-textfield textarea:defined:-webkit-autofill:invalid:not(:disabled):not([data-mode])~label,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-text-negative)}tui-textfield input:not([type=range]):-webkit-autofill:not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield select:defined:-webkit-autofill:not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield textarea:defined:-webkit-autofill:not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode~=readonly])~.t-content .t-clear{display:flex}tui-textfield input:not([type=range]):not([data-mode~=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield select:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly]):focus-visible:not([data-focus=false])._empty,tui-textfield select:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])._empty,tui-textfield textarea:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}tui-textfield input:not([type=range]):not([data-mode~=readonly]):focus-visible:not([data-focus=false])~label,tui-textfield select:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])~label,tui-textfield textarea:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}tui-textfield input:not([type=range]):not([data-mode~=readonly])[data-focus=true]::placeholder,tui-textfield select:defined:not([data-mode~=readonly])[data-focus=true]::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly])[data-focus=true]::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly])[data-focus=true]._empty,tui-textfield select:defined:not([data-mode~=readonly])[data-focus=true]._empty,tui-textfield textarea:defined:not([data-mode~=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}tui-textfield input:not([type=range]):not([data-mode~=readonly])[data-focus=true]~label,tui-textfield select:defined:not([data-mode~=readonly])[data-focus=true]~label,tui-textfield textarea:defined:not([data-mode~=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)::placeholder,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]._focused::placeholder,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]._focused::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]._focused::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)._empty,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)._empty,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)._empty,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]._focused._empty,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]._focused._empty,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]._focused._empty{color:var(--tui-text-tertiary)}tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)~label,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)~label,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)~label,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]._focused~label,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]._focused~label,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]._focused~label{color:var(--tui-text-primary)!important;font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}@supports (-webkit-touch-callout: none){tui-textfield input:not([type=range])._ios-fix,tui-textfield select:defined._ios-fix,tui-textfield textarea:defined._ios-fix{position:fixed;left:1000rem}}tui-textfield [tuiLabel][tuiLabel][tuiLabel]{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;align-self:flex-start;font-size:inherit;line-height:var(--t-height);transition-duration:inherit}tui-textfield label:defined,tui-textfield input:defined::placeholder,tui-textfield textarea:defined::placeholder,tui-textfield select:defined._empty{color:var(--tui-text-secondary)}tui-textfield select:not([data-mode~=readonly]){cursor:pointer}tui-textfield select option[value=\"\"]:disabled{color:transparent}tui-textfield select optgroup,tui-textfield select option{background-color:var(--tui-background-elevation-3)}tui-textfield select optgroup,tui-textfield select option:not(:disabled){color:var(--tui-text-primary)}tui-textfield button,tui-textfield a{pointer-events:auto}tui-textfield>.t-content{z-index:1;display:flex;block-size:var(--t-height);align-items:center;gap:inherit;margin-inline-start:auto;isolation:isolate;border-radius:inherit}tui-textfield>.t-content>tui-icon{pointer-events:auto}tui-textfield textarea~.t-content{min-inline-size:.5rem}tui-textfield .t-clear{z-index:1;display:none;pointer-events:auto}tui-textfield>.t-filler:defined{pointer-events:none;color:var(--tui-text-tertiary);opacity:1}tui-textfield [tuiFluidTypography]{font-weight:700}tui-textfield [tuiSelectLike]:not(:read-only){cursor:pointer}tui-textfield:has(input[type=tel]){direction:ltr}\n"] }]
187
+ }, template: "<ng-container *ngIf=\"control?.control?.valueChanges | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"textarea\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (click)=\"input?.nativeElement?.focus()\"\n (pointerdown.zoneless.prevent)=\"(0)\"\n (waResizeObserver)=\"$event[0] && onResize($event[0])\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner()\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"accessor?.setValue(null)\"\n >\n {{ clear() }}\n </button>\n <ng-container #vcr />\n <ng-content select=\"tui-icon\" />\n</span>\n<span\n *ngIf=\"control?.value != null\"\n class=\"t-template\"\n>\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller()\"\n #ghost\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller()\"\n/>\n", styles: ["tui-textfield{scrollbar-width:none;-ms-overflow-style:none;transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-height: var(--tui-height-l);--t-padding: var(--tui-padding-l);--t-label-y: -.75rem;--t-label-font: var(--tui-font-text-s);--t-end: 0rem;--t-start: 0rem;position:relative;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;min-block-size:var(--t-height);padding:0 var(--t-padding);border-radius:var(--tui-radius-l);font:var(--tui-font-text-ui-m);line-height:1.25rem;box-sizing:border-box;gap:0 .25rem;isolation:isolate}tui-textfield::-webkit-scrollbar,tui-textfield::-webkit-scrollbar-thumb{display:none}tui-textfield[tuiIcons]:read-only{color:var(--tui-text-tertiary)}tui-textfield[style*=\"--t-icon-start:\"]{--t-start: 2.25rem}tui-textfield[style*=\"--t-icon-end:\"]{--t-end: 2.25rem}tui-textfield[tuiIcons]:after{position:relative;block-size:auto;align-self:stretch;border-inline-start:var(--t-padding) solid transparent;border-inline-end:var(--t-padding) solid transparent;margin:0 calc(-1 * var(--t-padding))}tui-textfield::-webkit-resizer{border:.25rem solid transparent;inline-size:.5rem;block-size:.5rem;box-sizing:content-box;color:var(--tui-text-tertiary);background:linear-gradient(-45deg,transparent,transparent .125rem,currentColor .125rem,currentColor .1875rem,transparent .1875rem,transparent .25rem,currentColor .25rem,currentColor .3125rem,transparent .35rem);background-clip:content-box}tui-textfield label,tui-textfield>.t-content,tui-textfield>.t-template{pointer-events:none}tui-textfield input,tui-textfield select,tui-textfield textarea{font:inherit;resize:none;outline:none;padding-block-start:1.125rem;padding-block-end:1.125rem;color:var(--tui-text-primary)}tui-textfield input[inputmode=none],tui-textfield select[inputmode=none],tui-textfield textarea[inputmode=none]{caret-color:transparent}tui-textfield input::-webkit-inner-spin-button,tui-textfield select::-webkit-inner-spin-button,tui-textfield textarea::-webkit-inner-spin-button,tui-textfield input::-webkit-outer-spin-button,tui-textfield select::-webkit-outer-spin-button,tui-textfield textarea::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}tui-textfield[data-size=s]{--t-height: var(--tui-height-s);--t-padding: var(--tui-padding-s);border-radius:var(--tui-radius-m);gap:0;font:var(--tui-font-text-ui-s);line-height:1rem}tui-textfield[data-size=s][style*=\"--t-icon-start:\"]{--t-start: 1.375rem}tui-textfield[data-size=s][style*=\"--t-icon-end:\"]{--t-end: 1.375rem}tui-textfield[data-size=s]:before{margin-inline-end:.625rem;font-size:1rem}tui-textfield[data-size=s]:after{margin-inline-end:calc(-1 * var(--t-padding));margin-inline-start:calc(.5rem - var(--t-padding));font-size:1rem}tui-textfield[data-size=s] input,tui-textfield[data-size=s] select,tui-textfield[data-size=s] textarea{padding-block-start:.5rem;padding-block-end:.5rem}tui-textfield[data-size=s]>.t-content{margin-inline-end:-.25rem}tui-textfield[data-size=m]{--t-height: var(--tui-height-m);--t-padding: var(--tui-padding-m);--t-label-font: var(--tui-font-text-xs);--t-label-y: -.5625rem;border-radius:var(--tui-radius-m);font:var(--tui-font-text-ui-s);line-height:1rem}tui-textfield[data-size=m][style*=\"--t-icon-start:\"]{--t-start: 1.75rem}tui-textfield[data-size=m][style*=\"--t-icon-end:\"]{--t-end: 1.75rem}tui-textfield[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.125rem}tui-textfield[data-size=m]:after{margin-inline-start:calc(.25rem - var(--t-padding));margin-inline-end:calc(-.125rem - var(--t-padding))}tui-textfield[data-size=m] input,tui-textfield[data-size=m] select,tui-textfield[data-size=m] textarea{padding-block-start:.875rem;padding-block-end:.875rem}tui-textfield[data-size=m]>.t-content{margin-inline-end:-.125rem}tui-textfield[data-size=l]{--t-label: -.7rem}tui-textfield[tuiIcons]:hover{color:var(--tui-text-secondary)}tui-textfield[tuiIcons]:hover:has(input:read-only):not([multi]),tui-textfield[tuiIcons]:hover:has(textarea:read-only),tui-textfield[tuiIcons]:hover:has(select[data-mode~=readonly]){color:var(--tui-text-tertiary)}tui-textfield:before{z-index:1;margin-inline-end:.5rem;pointer-events:none}tui-textfield:has(:disabled:not(.t-filler,button,option,[tuiChip])):before,tui-textfield:has(:disabled:not(.t-filler,button,option,[tuiChip])):after,tui-textfield:has(:disabled:not(.t-filler,button,option,[tuiChip]))>.t-template{opacity:var(--tui-disabled-opacity)}tui-textfield._disabled:before,tui-textfield._disabled:after,tui-textfield._disabled>.t-template{opacity:var(--tui-disabled-opacity)}tui-textfield:has(label:not(:empty))>.t-template,tui-textfield:has(label:not(:empty)) input:not([type=range]),tui-textfield:has(label:not(:empty)) select:defined,tui-textfield:has(label:not(:empty)) textarea:defined{padding-block-start:calc(var(--t-height) / 3);padding-block-end:0}tui-textfield:not([data-focus=true]):has(label:not(:empty))>.t-template::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty)) input:not([type=range])::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty)) select:defined::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty)) textarea:defined::placeholder,tui-textfield:not([data-focus=true]):has(label:not(:empty))>.t-template._empty,tui-textfield:not([data-focus=true]):has(label:not(:empty)) input:not([type=range])._empty,tui-textfield:not([data-focus=true]):has(label:not(:empty)) select:defined._empty,tui-textfield:not([data-focus=true]):has(label:not(:empty)) textarea:defined._empty{color:transparent}tui-textfield._with-label>.t-template,tui-textfield._with-label input:not([type=range]),tui-textfield._with-label select:defined,tui-textfield._with-label textarea:defined{padding-block-start:calc(var(--t-height) / 3);padding-block-end:0}tui-textfield:not([data-focus=true])._with-label>.t-template::placeholder,tui-textfield:not([data-focus=true])._with-label input:not([type=range])::placeholder,tui-textfield:not([data-focus=true])._with-label select:defined::placeholder,tui-textfield:not([data-focus=true])._with-label textarea:defined::placeholder,tui-textfield:not([data-focus=true])._with-label>.t-template._empty,tui-textfield:not([data-focus=true])._with-label input:not([type=range])._empty,tui-textfield:not([data-focus=true])._with-label select:defined._empty,tui-textfield:not([data-focus=true])._with-label textarea:defined._empty{color:transparent}tui-textfield>.t-template,tui-textfield input:defined,tui-textfield select:defined,tui-textfield textarea:defined{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border-radius:inherit;border-width:0;overscroll-behavior:none;padding-inline-start:calc(var(--t-start, 0rem) + var(--t-padding));padding-inline-end:calc(var(--t-end, 0rem) + var(--t-side) + var(--t-padding))}tui-textfield>.t-template{display:flex;align-items:center;color:var(--tui-text-primary)}tui-textfield._with-template input:first-of-type,tui-textfield._with-template select,tui-textfield._with-template textarea{color:transparent!important}tui-textfield input:not([type=range]),tui-textfield select:defined,tui-textfield textarea:defined{pointer-events:auto;background:none}tui-textfield input:not([type=range]):not(select):read-only~.t-filler,tui-textfield select:defined:not(select):read-only~.t-filler,tui-textfield textarea:defined:not(select):read-only~.t-filler{display:none}tui-textfield input:not([type=range]):disabled~label,tui-textfield select:defined:disabled~label,tui-textfield textarea:defined:disabled~label,tui-textfield input:not([type=range]):disabled~.t-content,tui-textfield select:defined:disabled~.t-content,tui-textfield textarea:defined:disabled~.t-content{opacity:var(--tui-disabled-opacity)}tui-textfield input:not([type=range]):disabled~label>tui-icon,tui-textfield select:defined:disabled~label>tui-icon,tui-textfield textarea:defined:disabled~label>tui-icon,tui-textfield input:not([type=range]):disabled~.t-content>tui-icon,tui-textfield select:defined:disabled~.t-content>tui-icon,tui-textfield textarea:defined:disabled~.t-content>tui-icon{display:none}tui-textfield input:not([type=range]):-webkit-autofill~label,tui-textfield select:defined:-webkit-autofill~label,tui-textfield textarea:defined:-webkit-autofill~label,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown)~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown)~label,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown)~label{font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}tui-textfield input:not([type=range]):-webkit-autofill:not(:disabled)[data-mode~=invalid]~label,tui-textfield select:defined:-webkit-autofill:not(:disabled)[data-mode~=invalid]~label,tui-textfield textarea:defined:-webkit-autofill:not(:disabled)[data-mode~=invalid]~label,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown):not(:disabled)[data-mode~=invalid]~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode~=invalid]~label,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode~=invalid]~label,tui-textfield input:not([type=range]):-webkit-autofill:invalid:not(:disabled):not([data-mode])~label,tui-textfield select:defined:-webkit-autofill:invalid:not(:disabled):not([data-mode])~label,tui-textfield textarea:defined:-webkit-autofill:invalid:not(:disabled):not([data-mode])~label,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-text-negative)}tui-textfield input:not([type=range]):-webkit-autofill:not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield select:defined:-webkit-autofill:not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield textarea:defined:-webkit-autofill:not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield input:not([type=range]):not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode~=readonly])~.t-content .t-clear,tui-textfield textarea:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode~=readonly])~.t-content .t-clear{display:flex}tui-textfield input:not([type=range]):not([data-mode~=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield select:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly]):focus-visible:not([data-focus=false])._empty,tui-textfield select:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])._empty,tui-textfield textarea:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-secondary)}tui-textfield input:not([type=range]):not([data-mode~=readonly]):focus-visible:not([data-focus=false])~label,tui-textfield select:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])~label,tui-textfield textarea:defined:not([data-mode~=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}tui-textfield input:not([type=range]):not([data-mode~=readonly])[data-focus=true]::placeholder,tui-textfield select:defined:not([data-mode~=readonly])[data-focus=true]::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly])[data-focus=true]::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly])[data-focus=true]._empty,tui-textfield select:defined:not([data-mode~=readonly])[data-focus=true]._empty,tui-textfield textarea:defined:not([data-mode~=readonly])[data-focus=true]._empty{color:var(--tui-text-secondary)}tui-textfield input:not([type=range]):not([data-mode~=readonly])[data-focus=true]~label,tui-textfield select:defined:not([data-mode~=readonly])[data-focus=true]~label,tui-textfield textarea:defined:not([data-mode~=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)::placeholder,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]._focused::placeholder,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]._focused::placeholder,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]._focused::placeholder,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)._empty,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)._empty,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)._empty,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]._focused._empty,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]._focused._empty,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]._focused._empty{color:var(--tui-text-secondary)}tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)~label,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)~label,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]:not(._focused):has(:focus-visible)~label,tui-textfield input:not([type=range]):not([data-mode~=readonly])[tuiWrapper]._focused~label,tui-textfield select:defined:not([data-mode~=readonly])[tuiWrapper]._focused~label,tui-textfield textarea:defined:not([data-mode~=readonly])[tuiWrapper]._focused~label{color:var(--tui-text-primary)!important;font:var(--t-label-font);line-height:var(--t-height);transform:translateY(var(--t-label-y))}@supports (-webkit-touch-callout: none){tui-textfield input:not([type=range])._ios-fix,tui-textfield select:defined._ios-fix,tui-textfield textarea:defined._ios-fix{position:fixed;left:1000rem}}tui-textfield [tuiLabel][tuiLabel][tuiLabel]{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;align-self:flex-start;font-size:inherit;line-height:var(--t-height);letter-spacing:calc((max(1em,.75rem) - 1em)*.4);transition-duration:inherit}tui-textfield label:defined,tui-textfield input:defined::placeholder,tui-textfield textarea:defined::placeholder,tui-textfield select:defined._empty{color:var(--tui-text-secondary)}tui-textfield select:not([data-mode~=readonly]){cursor:pointer}tui-textfield select option[value=\"\"]:disabled{color:transparent}tui-textfield select optgroup,tui-textfield select option{background-color:var(--tui-background-elevation-3)}tui-textfield select optgroup,tui-textfield select option:not(:disabled){color:var(--tui-text-primary)}tui-textfield button,tui-textfield a{pointer-events:auto}tui-textfield>.t-content{z-index:1;display:flex;block-size:var(--t-height);align-items:center;gap:inherit;margin-inline-start:auto;isolation:isolate;border-radius:inherit}tui-textfield>.t-content>tui-icon{pointer-events:auto}tui-textfield textarea~.t-content{min-inline-size:.5rem}tui-textfield .t-clear{z-index:1;display:none;pointer-events:auto}tui-textfield>.t-filler:defined{pointer-events:none;color:var(--tui-text-tertiary);opacity:1}tui-textfield [tuiFluidTypography]{font-weight:700}tui-textfield [tuiSelectLike]:not(:read-only){cursor:pointer}tui-textfield:has(input[type=tel]){direction:ltr}\n"] }]
188
188
  }] });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlB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M0IsNEJBQTRCLEVBQUUsZUFBZTt3QkFDN0MsMkJBQTJCLEVBQUUseUJBQXlCO3dCQUN0RCx1QkFBdUIsRUFBRSw2QkFBNkI7cUJBQ3pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGUsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIHR5cGUgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICB0eXBlIFF1ZXJ5TGlzdCxcbiAgICBzaWduYWwsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7V2FSZXNpemVPYnNlcnZlcn0gZnJvbSAnQG5nLXdlYi1hcGlzL3Jlc2l6ZS1vYnNlcnZlcic7XG5pbXBvcnQge1R1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVRyYW5zaXRpb25lZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3RyYW5zaXRpb25lZCc7XG5pbXBvcnQge3R1aVF1ZXJ5TGlzdENoYW5nZXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RJZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcyc7XG5pbXBvcnQge3R5cGUgVHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnQsIHR1aVZhbHVlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUZvY3VzZWRJbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge3R1aVB4fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlCdXR0b24sIHR1aUJ1dHRvbk9wdGlvbnNQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtcbiAgICB0dWlBc0RhdGFMaXN0SG9zdCxcbiAgICB0eXBlIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlXaXRoT3B0aW9uQ29udGVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHtUdWlMYWJlbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQge1xuICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duRml4ZWQsXG4gICAgVHVpRHJvcGRvd25PcGVuLFxuICAgIHR1aURyb3Bkb3duT3BlbixcbiAgICBUdWlXaXRoRHJvcGRvd25PcGVuLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpV2l0aEljb25zfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2ljb25zJztcbmltcG9ydCB7VHVpV2l0aEl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtUVUlfQVVYSUxJQVJZLCBUVUlfQ0xFQVJfV09SRCwgVFVJX0NPTU1PTl9JQ09OU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHlwZSBUdWlTaXplTCwgdHlwZSBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHt0eXBlIFBvbHltb3JwaGV1c0NvbnRlbnQsIFBvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1JlcGxheVN1YmplY3QsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlUZXh0ZmllbGRCYXNlfSBmcm9tICcuL3RleHRmaWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX09QVElPTlN9IGZyb20gJy4vdGV4dGZpZWxkLm9wdGlvbnMnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX0FDQ0VTU09SLCB0eXBlIFR1aVRleHRmaWVsZEFjY2Vzc29yfSBmcm9tICcuL3RleHRmaWVsZC1hY2Nlc3Nvcic7XG5pbXBvcnQge1R1aVdpdGhUZXh0ZmllbGREcm9wZG93bn0gZnJvbSAnLi90ZXh0ZmllbGQtZHJvcGRvd24uZGlyZWN0aXZlJztcblxuLy8gVE9ETzogUmVtb3ZlIGJhc2UgY2xhc3MgaW4gdjVcbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFR1aVRleHRmaWVsZEJhc2VDb21wb25lbnQ8VD5cbiAgICBpbXBsZW1lbnRzIFR1aURhdGFMaXN0SG9zdDxUPiwgQWZ0ZXJDb250ZW50Q2hlY2tlZFxue1xuICAgIC8vIFRPRE86IHJlZmFjdG9yIHRvIHNpZ25hbCBpbnB1dHMgYWZ0ZXIgQW5ndWxhciB1cGRhdGVcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbGxlciA9IHNpZ25hbCgnJyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRvSWQgPSB0dWlJbmplY3RJZCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9jdXNlZEluID0gdHVpRm9jdXNlZEluKHR1aUluamVjdEVsZW1lbnQoKSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50UmVhZHkkID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFF1ZXJ5ID0gc2lnbmFsPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQ+KFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2dob3N0JylcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2hvc3Q/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBUdWlMYWJlbCksIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFiZWw/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVFVJX0FVWElMSUFSWSwge2Rlc2NlbmRhbnRzOiB0cnVlfSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXV4aWxpYXJ5UXVlcnk6IFF1ZXJ5TGlzdDxvYmplY3Q+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICAvLyBUT0RPOiBBZGRlZCBqdXN0IHRvIGF2b2lkIGJyZWFraW5nIGFueXRoaW5nIHVudGlsIHdlIHJlZmFjdG9yIHRvIHNpZ25hbCBxdWVyaWVzXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IFR1aVRleHRmaWVsZEJhc2UpLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIHByb3RlY3RlZCByZWFkb25seSBfaW5wdXQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZW4gPSB0dWlEcm9wZG93bk9wZW4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd24gPSBpbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkcm9wZG93bk9wZW4gPSBpbmplY3QoVHVpRHJvcGRvd25PcGVuKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfQ09NTU9OX0lDT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2xlYXIgPSB0b1NpZ25hbChpbmplY3QoVFVJX0NMRUFSX1dPUkQpKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb21wdXRlZEZpbGxlciA9IGNvbXB1dGVkKCh2YWx1ZSA9IHRoaXMudmFsdWUoKSkgPT4ge1xuICAgICAgICBjb25zdCBmaWxsZXIgPSB2YWx1ZSArIHRoaXMuZmlsbGVyKCkuc2xpY2UodmFsdWUubGVuZ3RoKTtcblxuICAgICAgICByZXR1cm4gZmlsbGVyLmxlbmd0aCA+IHZhbHVlLmxlbmd0aCA/IGZpbGxlciA6ICcnO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNob3dGaWxsZXIgPSBjb21wdXRlZDxib29sZWFuPihcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCgpICYmXG4gICAgICAgICAgICAhIXRoaXMuY29tcHV0ZWRGaWxsZXIoKSAmJlxuICAgICAgICAgICAgKCEhdGhpcy52YWx1ZSgpIHx8ICF0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LnBsYWNlaG9sZGVyKSxcbiAgICApO1xuXG4gICAgQFZpZXdDaGlsZCgndmNyJywge3JlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gICAgcHVibGljIHJlYWRvbmx5IHZjcj86IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICBAQ29udGVudENoaWxkKFRVSV9URVhURklFTERfQUNDRVNTT1IsIHtkZXNjZW5kYW50czogdHJ1ZX0pXG4gICAgcHVibGljIHJlYWRvbmx5IGFjY2Vzc29yPzogVHVpVGV4dGZpZWxkQWNjZXNzb3I8VD47XG5cbiAgICBAQ29udGVudENoaWxkKE5nQ29udHJvbClcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29udHJvbD86IE5nQ29udHJvbDtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpQ29udHJvbClcbiAgICBwdWJsaWMgcmVhZG9ubHkgY3ZhPzogVHVpQ29udHJvbDx1bmtub3duPjtcblxuICAgIC8vIFRPRE86IFJlcGxhY2Ugd2l0aCBzaWduYWwgcXVlcnkgd2hlbiBBbmd1bGFyIGlzIHVwZGF0ZWQgdjVcbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gVHVpVGV4dGZpZWxkQmFzZSksIHtcbiAgICAgICAgcmVhZDogRWxlbWVudFJlZixcbiAgICAgICAgc3RhdGljOiB0cnVlLFxuICAgIH0pXG4gICAgcHVibGljIHJlYWRvbmx5IGlucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxUPj47XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9jdXNlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3BlbigpIHx8IHRoaXMuZm9jdXNlZEluKCkpO1xuICAgIHB1YmxpYyByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUyk7XG4gICAgcHVibGljIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IHR1aVZhbHVlKHRoaXMuaW5wdXRRdWVyeSk7XG5cbiAgICAvLyBUT0RPOiBSZWZhY3RvciB0byBzaWduYWwgcXVlcmllcyB3aGVuIEFuZ3VsYXIgaXMgdXBkYXRlZFxuICAgIHB1YmxpYyByZWFkb25seSBhdXhpbGlhcmllcyA9IHRvU2lnbmFsPHJlYWRvbmx5IG9iamVjdFtdPihcbiAgICAgICAgdGhpcy5jb250ZW50UmVhZHkkLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHR1aVF1ZXJ5TGlzdENoYW5nZXModGhpcy5hdXhpbGlhcnlRdWVyeSkpLFxuICAgICAgICAgICAgc3RhcnRXaXRoKFtdKSxcbiAgICAgICAgKSxcbiAgICAgICAge3JlcXVpcmVTeW5jOiB0cnVlfSxcbiAgICApO1xuXG4gICAgQElucHV0KCdmaWxsZXInKVxuICAgIHB1YmxpYyBzZXQgZmlsbGVyU2V0dGVyKGZpbGxlcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZmlsbGVyLnNldChmaWxsZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuaWQgfHwgdGhpcy5hdXRvSWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNpemUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jdmE/LmRpc2FibGVkKCkgPz9cbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8uZGlzYWJsZWQgPz9cbiAgICAgICAgICAgIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmRpc2FibGVkID8/XG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGVudFJlYWR5JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmlucHV0UXVlcnkuc2V0KHRoaXMuX2lucHV0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlT3B0aW9uKG9wdGlvbjogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjY2Vzc29yPy5zZXRWYWx1ZShvcHRpb24pO1xuICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhhc0xhYmVsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQm9vbGVhbih0aGlzLmxhYmVsPy5uYXRpdmVFbGVtZW50Py5jaGlsZE5vZGVzLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uUmVzaXplKHtjb250ZW50UmVjdH06IFJlc2l6ZU9ic2VydmVyRW50cnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10LXNpZGUnLCB0dWlQeChjb250ZW50UmVjdC53aWR0aCkpO1xuICAgIH1cblxuICAgIC8vIENsaWNrIG9uIDo6YmVmb3JlLDo6YWZ0ZXIgcHNldWRvLWVsZW1lbnRzIChbaWNvblN0YXJ0XSAvIFtpY29uRW5kXSlcbiAgICBwcm90ZWN0ZWQgb25JY29uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5kcm9wZG93bk9wZW4udHVpRHJvcGRvd25FbmFibGVkIHx8XG4gICAgICAgICAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50Lm1hdGNoZXMoJ2lucHV0OnJlYWQtb25seSx0ZXh0YXJlYTpyZWFkLW9ubHknKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3Blbi51cGRhdGUoKG9wZW4pID0+ICFvcGVuKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5zaG93UGlja2VyPy4oKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAvLyBFbXB0eSBjYXRjaCBibG9jayAtIHNpbGVudGx5IGlnbm9yZSBzaG93UGlja2VyIGVycm9yc1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uU2Nyb2xsKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50ID09PSBlbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmdob3N0Py5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICBsZWZ0OiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLXRleHRmaWVsZDpub3QoW211bHRpXSknLFxuICAgIGltcG9ydHM6IFtBc3luY1BpcGUsIE5nSWYsIFBvbHltb3JwaGV1c091dGxldCwgVHVpQnV0dG9uLCBXYVJlc2l6ZU9ic2VydmVyXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGV4dGZpZWxkLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlczogWydAaW1wb3J0IFwiQHRhaWdhLXVpL2NvcmUvc3R5bGVzL2NvbXBvbmVudHMvdGV4dGZpZWxkLmxlc3NcIjsnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlCdXR0b25PcHRpb25zUHJvdmlkZXIoe3NpemU6ICd4cycsIGFwcGVhcmFuY2U6ICdpY29uJ30pLFxuICAgICAgICB0dWlBc0RhdGFMaXN0SG9zdChUdWlUZXh0ZmllbGRDb21wb25lbnQpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIFR1aURyb3Bkb3duRml4ZWQsXG4gICAgICAgIFR1aVRyYW5zaXRpb25lZCxcbiAgICAgICAgVHVpV2l0aERyb3Bkb3duT3BlbixcbiAgICAgICAgVHVpV2l0aEljb25zLFxuICAgICAgICBUdWlXaXRoSXRlbXNIYW5kbGVycyxcbiAgICAgICAgVHVpV2l0aE9wdGlvbkNvbnRlbnQsXG4gICAgICAgIFR1aVdpdGhUZXh0ZmllbGREcm9wZG93bixcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnb3B0aW9ucy5zaXplKCknLFxuICAgICAgICAnW2NsYXNzLl93aXRoLWxhYmVsXSc6ICdoYXNMYWJlbCcsXG4gICAgICAgICdbY2xhc3MuX3dpdGgtdGVtcGxhdGVdJzogJ2NvbnRlbnQgJiYgY29udHJvbD8udmFsdWUgIT0gbnVsbCcsXG4gICAgICAgICdbY2xhc3MuX2Rpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICcoY2xpY2suc2VsZi5wcmV2ZW50KSc6ICcwJyxcbiAgICAgICAgJyhwb2ludGVyZG93bi5zZWxmLnByZXZlbnQpJzogJ29uSWNvbkNsaWNrKCknLFxuICAgICAgICAnKHNjcm9sbC5jYXB0dXJlLnpvbmVsZXNzKSc6ICdvblNjcm9sbCgkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcodHVpQWN0aXZlWm9uZUNoYW5nZSknOiAnISRldmVudCAmJiBjdmE/Lm9uVG91Y2hlZCgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUZXh0ZmllbGRDb21wb25lbnQ8VD4gZXh0ZW5kcyBUdWlUZXh0ZmllbGRCYXNlQ29tcG9uZW50PFQ+IHt9XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbD8uY29udHJvbD8udmFsdWVDaGFuZ2VzIHwgYXN5bmNcIiAvPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiaW5wdXRcIiAvPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwic2VsZWN0XCIgLz5cbjxuZy1jb250ZW50IHNlbGVjdD1cInRleHRhcmVhXCIgLz5cbjxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsXCIgLz5cbjxzcGFuXG4gICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgIChjbGljayk9XCJpbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKVwiXG4gICAgKHBvaW50ZXJkb3duLnpvbmVsZXNzLnByZXZlbnQpPVwiKDApXCJcbiAgICAod2FSZXNpemVPYnNlcnZlcik9XCIkZXZlbnRbMF0gJiYgb25SZXNpemUoJGV2ZW50WzBdKVwiXG4+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwib3B0aW9ucy5jbGVhbmVyKClcIlxuICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtY2xlYXJcIlxuICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLmNsb3NlXCJcbiAgICAgICAgKGNsaWNrKT1cImFjY2Vzc29yPy5zZXRWYWx1ZShudWxsKVwiXG4gICAgPlxuICAgICAgICB7eyBjbGVhcigpIH19XG4gICAgPC9idXR0b24+XG4gICAgPG5nLWNvbnRhaW5lciAjdmNyIC8+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpLWljb25cIiAvPlxuPC9zcGFuPlxuPHNwYW5cbiAgICAqbmdJZj1cImNvbnRyb2w/LnZhbHVlICE9IG51bGxcIlxuICAgIGNsYXNzPVwidC10ZW1wbGF0ZVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBjb250cm9sPy52YWx1ZX1cIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9zcGFuPlxuPGlucHV0XG4gICAgKm5nSWY9XCJzaG93RmlsbGVyKClcIlxuICAgICNnaG9zdFxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgZGlzYWJsZWRcbiAgICBjbGFzcz1cInQtZmlsbGVyXCJcbiAgICBbdmFsdWVdPVwiY29tcHV0ZWRGaWxsZXIoKVwiXG4vPlxuIl19
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlB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M0IsNEJBQTRCLEVBQUUsZUFBZTt3QkFDN0MsMkJBQTJCLEVBQUUseUJBQXlCO3dCQUN0RCx1QkFBdUIsRUFBRSw2QkFBNkI7cUJBQ3pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGUsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIHR5cGUgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICB0eXBlIFF1ZXJ5TGlzdCxcbiAgICBzaWduYWwsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7V2FSZXNpemVPYnNlcnZlcn0gZnJvbSAnQG5nLXdlYi1hcGlzL3Jlc2l6ZS1vYnNlcnZlcic7XG5pbXBvcnQge1R1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVRyYW5zaXRpb25lZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3RyYW5zaXRpb25lZCc7XG5pbXBvcnQge3R1aVF1ZXJ5TGlzdENoYW5nZXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RJZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcyc7XG5pbXBvcnQge3R5cGUgVHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnQsIHR1aVZhbHVlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUZvY3VzZWRJbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge3R1aVB4fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlCdXR0b24sIHR1aUJ1dHRvbk9wdGlvbnNQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtcbiAgICB0dWlBc0RhdGFMaXN0SG9zdCxcbiAgICB0eXBlIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlXaXRoT3B0aW9uQ29udGVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHtUdWlMYWJlbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQge1xuICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duRml4ZWQsXG4gICAgVHVpRHJvcGRvd25PcGVuLFxuICAgIHR1aURyb3Bkb3duT3BlbixcbiAgICBUdWlXaXRoRHJvcGRvd25PcGVuLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpV2l0aEljb25zfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2ljb25zJztcbmltcG9ydCB7VHVpV2l0aEl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtUVUlfQVVYSUxJQVJZLCBUVUlfQ0xFQVJfV09SRCwgVFVJX0NPTU1PTl9JQ09OU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHlwZSBUdWlTaXplTCwgdHlwZSBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHt0eXBlIFBvbHltb3JwaGV1c0NvbnRlbnQsIFBvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1JlcGxheVN1YmplY3QsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlUZXh0ZmllbGRCYXNlfSBmcm9tICcuL3RleHRmaWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX09QVElPTlN9IGZyb20gJy4vdGV4dGZpZWxkLm9wdGlvbnMnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX0FDQ0VTU09SLCB0eXBlIFR1aVRleHRmaWVsZEFjY2Vzc29yfSBmcm9tICcuL3RleHRmaWVsZC1hY2Nlc3Nvcic7XG5pbXBvcnQge1R1aVdpdGhUZXh0ZmllbGREcm9wZG93bn0gZnJvbSAnLi90ZXh0ZmllbGQtZHJvcGRvd24uZGlyZWN0aXZlJztcblxuLy8gVE9ETzogUmVtb3ZlIGJhc2UgY2xhc3MgaW4gdjVcbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFR1aVRleHRmaWVsZEJhc2VDb21wb25lbnQ8VD5cbiAgICBpbXBsZW1lbnRzIFR1aURhdGFMaXN0SG9zdDxUPiwgQWZ0ZXJDb250ZW50Q2hlY2tlZFxue1xuICAgIC8vIFRPRE86IHJlZmFjdG9yIHRvIHNpZ25hbCBpbnB1dHMgYWZ0ZXIgQW5ndWxhciB1cGRhdGVcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbGxlciA9IHNpZ25hbCgnJyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRvSWQgPSB0dWlJbmplY3RJZCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9jdXNlZEluID0gdHVpRm9jdXNlZEluKHR1aUluamVjdEVsZW1lbnQoKSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50UmVhZHkkID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFF1ZXJ5ID0gc2lnbmFsPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQ+KFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2dob3N0JylcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2hvc3Q/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBUdWlMYWJlbCksIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFiZWw/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVFVJX0FVWElMSUFSWSwge2Rlc2NlbmRhbnRzOiB0cnVlfSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXV4aWxpYXJ5UXVlcnk6IFF1ZXJ5TGlzdDxvYmplY3Q+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICAvLyBUT0RPOiBBZGRlZCBqdXN0IHRvIGF2b2lkIGJyZWFraW5nIGFueXRoaW5nIHVudGlsIHdlIHJlZmFjdG9yIHRvIHNpZ25hbCBxdWVyaWVzXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IFR1aVRleHRmaWVsZEJhc2UpLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIHByb3RlY3RlZCByZWFkb25seSBfaW5wdXQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZW4gPSB0dWlEcm9wZG93bk9wZW4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd24gPSBpbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkcm9wZG93bk9wZW4gPSBpbmplY3QoVHVpRHJvcGRvd25PcGVuKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfQ09NTU9OX0lDT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2xlYXIgPSB0b1NpZ25hbChpbmplY3QoVFVJX0NMRUFSX1dPUkQpKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb21wdXRlZEZpbGxlciA9IGNvbXB1dGVkKCh2YWx1ZSA9IHRoaXMudmFsdWUoKSkgPT4ge1xuICAgICAgICBjb25zdCBmaWxsZXIgPSB2YWx1ZSArIHRoaXMuZmlsbGVyKCkuc2xpY2UodmFsdWUubGVuZ3RoKTtcblxuICAgICAgICByZXR1cm4gZmlsbGVyLmxlbmd0aCA+IHZhbHVlLmxlbmd0aCA/IGZpbGxlciA6ICcnO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNob3dGaWxsZXIgPSBjb21wdXRlZDxib29sZWFuPihcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCgpICYmXG4gICAgICAgICAgICAhIXRoaXMuY29tcHV0ZWRGaWxsZXIoKSAmJlxuICAgICAgICAgICAgKCEhdGhpcy52YWx1ZSgpIHx8ICF0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LnBsYWNlaG9sZGVyKSxcbiAgICApO1xuXG4gICAgQFZpZXdDaGlsZCgndmNyJywge3JlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gICAgcHVibGljIHJlYWRvbmx5IHZjcj86IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICBAQ29udGVudENoaWxkKFRVSV9URVhURklFTERfQUNDRVNTT1IsIHtkZXNjZW5kYW50czogdHJ1ZX0pXG4gICAgcHVibGljIHJlYWRvbmx5IGFjY2Vzc29yPzogVHVpVGV4dGZpZWxkQWNjZXNzb3I8VD47XG5cbiAgICBAQ29udGVudENoaWxkKE5nQ29udHJvbClcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29udHJvbD86IE5nQ29udHJvbDtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpQ29udHJvbClcbiAgICBwdWJsaWMgcmVhZG9ubHkgY3ZhPzogVHVpQ29udHJvbDx1bmtub3duPjtcblxuICAgIC8vIFRPRE86IFJlcGxhY2Ugd2l0aCBzaWduYWwgcXVlcnkgd2hlbiBBbmd1bGFyIGlzIHVwZGF0ZWQgdjVcbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gVHVpVGV4dGZpZWxkQmFzZSksIHtcbiAgICAgICAgcmVhZDogRWxlbWVudFJlZixcbiAgICAgICAgc3RhdGljOiB0cnVlLFxuICAgIH0pXG4gICAgcHVibGljIHJlYWRvbmx5IGlucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxUPj47XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9jdXNlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3BlbigpIHx8IHRoaXMuZm9jdXNlZEluKCkpO1xuICAgIHB1YmxpYyByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUyk7XG4gICAgcHVibGljIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IHR1aVZhbHVlKHRoaXMuaW5wdXRRdWVyeSk7XG5cbiAgICAvLyBUT0RPOiBSZWZhY3RvciB0byBzaWduYWwgcXVlcmllcyB3aGVuIEFuZ3VsYXIgaXMgdXBkYXRlZFxuICAgIHB1YmxpYyByZWFkb25seSBhdXhpbGlhcmllcyA9IHRvU2lnbmFsPHJlYWRvbmx5IG9iamVjdFtdPihcbiAgICAgICAgdGhpcy5jb250ZW50UmVhZHkkLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHR1aVF1ZXJ5TGlzdENoYW5nZXModGhpcy5hdXhpbGlhcnlRdWVyeSkpLFxuICAgICAgICAgICAgc3RhcnRXaXRoKFtdKSxcbiAgICAgICAgKSxcbiAgICAgICAge3JlcXVpcmVTeW5jOiB0cnVlfSxcbiAgICApO1xuXG4gICAgQElucHV0KCdmaWxsZXInKVxuICAgIHB1YmxpYyBzZXQgZmlsbGVyU2V0dGVyKGZpbGxlcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZmlsbGVyLnNldChmaWxsZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuaWQgfHwgdGhpcy5hdXRvSWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNpemUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jdmE/LmRpc2FibGVkKCkgPz9cbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8uZGlzYWJsZWQgPz9cbiAgICAgICAgICAgIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmRpc2FibGVkID8/XG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGVudFJlYWR5JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmlucHV0UXVlcnkuc2V0KHRoaXMuX2lucHV0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlT3B0aW9uKG9wdGlvbjogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjY2Vzc29yPy5zZXRWYWx1ZShvcHRpb24pO1xuICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhhc0xhYmVsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQm9vbGVhbih0aGlzLmxhYmVsPy5uYXRpdmVFbGVtZW50Py5jaGlsZE5vZGVzLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uUmVzaXplKHtjb250ZW50UmVjdH06IFJlc2l6ZU9ic2VydmVyRW50cnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10LXNpZGUnLCB0dWlQeChjb250ZW50UmVjdC53aWR0aCkpO1xuICAgIH1cblxuICAgIC8vIENsaWNrIG9uIDo6YmVmb3JlLDo6YWZ0ZXIgcHNldWRvLWVsZW1lbnRzIChbaWNvblN0YXJ0XSAvIFtpY29uRW5kXSlcbiAgICBwcm90ZWN0ZWQgb25JY29uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5kcm9wZG93bk9wZW4udHVpRHJvcGRvd25FbmFibGVkIHx8XG4gICAgICAgICAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50Lm1hdGNoZXMoJ2lucHV0OnJlYWQtb25seSx0ZXh0YXJlYTpyZWFkLW9ubHknKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3Blbi51cGRhdGUoKG9wZW4pID0+ICFvcGVuKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5zaG93UGlja2VyPy4oKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAvLyBFbXB0eSBjYXRjaCBibG9jayAtIHNpbGVudGx5IGlnbm9yZSBzaG93UGlja2VyIGVycm9yc1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uU2Nyb2xsKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50ID09PSBlbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmdob3N0Py5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICBsZWZ0OiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLXRleHRmaWVsZDpub3QoW211bHRpXSknLFxuICAgIGltcG9ydHM6IFtBc3luY1BpcGUsIE5nSWYsIFBvbHltb3JwaGV1c091dGxldCwgVHVpQnV0dG9uLCBXYVJlc2l6ZU9ic2VydmVyXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGV4dGZpZWxkLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlczogWydAaW1wb3J0IFwiQHRhaWdhLXVpL2NvcmUvc3R5bGVzL2NvbXBvbmVudHMvdGV4dGZpZWxkLmxlc3NcIjsnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlCdXR0b25PcHRpb25zUHJvdmlkZXIoe3NpemU6ICd4cycsIGFwcGVhcmFuY2U6ICdpY29uJ30pLFxuICAgICAgICB0dWlBc0RhdGFMaXN0SG9zdChUdWlUZXh0ZmllbGRDb21wb25lbnQpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIFR1aURyb3Bkb3duRml4ZWQsXG4gICAgICAgIFR1aVRyYW5zaXRpb25lZCxcbiAgICAgICAgVHVpV2l0aERyb3Bkb3duT3BlbixcbiAgICAgICAgVHVpV2l0aEljb25zLFxuICAgICAgICBUdWlXaXRoSXRlbXNIYW5kbGVycyxcbiAgICAgICAgVHVpV2l0aE9wdGlvbkNvbnRlbnQsXG4gICAgICAgIFR1aVdpdGhUZXh0ZmllbGREcm9wZG93bixcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnb3B0aW9ucy5zaXplKCknLFxuICAgICAgICAnW2NsYXNzLl93aXRoLWxhYmVsXSc6ICdoYXNMYWJlbCcsXG4gICAgICAgICdbY2xhc3MuX3dpdGgtdGVtcGxhdGVdJzogJ2NvbnRlbnQgJiYgY29udHJvbD8udmFsdWUgIT0gbnVsbCcsXG4gICAgICAgICdbY2xhc3MuX2Rpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICcoY2xpY2suc2VsZi5wcmV2ZW50KSc6ICcwJyxcbiAgICAgICAgJyhwb2ludGVyZG93bi5zZWxmLnByZXZlbnQpJzogJ29uSWNvbkNsaWNrKCknLFxuICAgICAgICAnKHNjcm9sbC5jYXB0dXJlLnpvbmVsZXNzKSc6ICdvblNjcm9sbCgkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcodHVpQWN0aXZlWm9uZUNoYW5nZSknOiAnISRldmVudCAmJiBjdmE/Lm9uVG91Y2hlZCgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUZXh0ZmllbGRDb21wb25lbnQ8VD4gZXh0ZW5kcyBUdWlUZXh0ZmllbGRCYXNlQ29tcG9uZW50PFQ+IHt9XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbD8uY29udHJvbD8udmFsdWVDaGFuZ2VzIHwgYXN5bmNcIiAvPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiaW5wdXRcIiAvPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwic2VsZWN0XCIgLz5cbjxuZy1jb250ZW50IHNlbGVjdD1cInRleHRhcmVhXCIgLz5cbjxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsXCIgLz5cbjxzcGFuXG4gICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgIChjbGljayk9XCJpbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKVwiXG4gICAgKHBvaW50ZXJkb3duLnpvbmVsZXNzLnByZXZlbnQpPVwiKDApXCJcbiAgICAod2FSZXNpemVPYnNlcnZlcik9XCIkZXZlbnRbMF0gJiYgb25SZXNpemUoJGV2ZW50WzBdKVwiXG4+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwib3B0aW9ucy5jbGVhbmVyKClcIlxuICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtY2xlYXJcIlxuICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLmNsb3NlXCJcbiAgICAgICAgKGNsaWNrKT1cImFjY2Vzc29yPy5zZXRWYWx1ZShudWxsKVwiXG4gICAgPlxuICAgICAgICB7eyBjbGVhcigpIH19XG4gICAgPC9idXR0b24+XG4gICAgPG5nLWNvbnRhaW5lciAjdmNyIC8+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpLWljb25cIiAvPlxuPC9zcGFuPlxuPHNwYW5cbiAgICAqbmdJZj1cImNvbnRyb2w/LnZhbHVlICE9IG51bGxcIlxuICAgIGNsYXNzPVwidC10ZW1wbGF0ZVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBjb250cm9sPy52YWx1ZX1cIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9zcGFuPlxuPGlucHV0XG4gICAgKm5nSWY9XCJzaG93RmlsbGVyKClcIlxuICAgICNnaG9zdFxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgZGlzYWJsZWRcbiAgICBjbGFzcz1cInQtZmlsbGVyXCJcbiAgICBbdmFsdWVdPVwiY29tcHV0ZWRGaWxsZXIoKVwiXG4vPlxuIl19
@@ -3,12 +3,12 @@ import { Directive, inject, Input, ViewContainerRef } from '@angular/core';
3
3
  import { CHAR_NO_BREAK_SPACE, CHAR_ZERO_WIDTH_SPACE, EMPTY_CLIENT_RECT, TUI_TRUE_HANDLER, } from '@taiga-ui/cdk/constants';
4
4
  import { TUI_RANGE } from '@taiga-ui/cdk/tokens';
5
5
  import { tuiInjectElement, tuiIsElement, tuiIsTextfield, tuiIsTextNode, } from '@taiga-ui/cdk/utils/dom';
6
- import { tuiGetNativeFocused } from '@taiga-ui/cdk/utils/focus';
6
+ import { tuiGetFocused } from '@taiga-ui/cdk/utils/focus';
7
7
  import { tuiIsString, tuiPx } from '@taiga-ui/cdk/utils/miscellaneous';
8
8
  import { tuiAsDriver, tuiAsRectAccessor, TuiDriver, } from '@taiga-ui/core/classes';
9
9
  import { TUI_SELECTION_STREAM } from '@taiga-ui/core/tokens';
10
10
  import { tuiGetWordRange } from '@taiga-ui/core/utils';
11
- import { BehaviorSubject, combineLatest, distinctUntilChanged, filter, map } from 'rxjs';
11
+ import { BehaviorSubject, combineLatest, distinctUntilChanged, filter, fromEvent, map, merge, startWith, tap, throttleTime, } from 'rxjs';
12
12
  import { TuiDropdownDirective } from './dropdown.directive';
13
13
  import * as i0 from "@angular/core";
14
14
  class TuiDropdownSelection extends TuiDriver {
@@ -24,13 +24,20 @@ class TuiDropdownSelection extends TuiDriver {
24
24
  inject(TUI_SELECTION_STREAM).pipe(map(() => this.getRange()), filter((range) => this.isValid(range)), distinctUntilChanged((x, y) => x.startOffset === y.startOffset &&
25
25
  x.endOffset === y.endOffset &&
26
26
  x.commonAncestorContainer === y.commonAncestorContainer)),
27
- ]).pipe(map(([handler, range]) => {
28
- const contained = this.el.contains(range.commonAncestorContainer);
27
+ merge(fromEvent(this.el, 'scroll', { passive: true, capture: true })).pipe(throttleTime(16, undefined, { leading: false, trailing: true }), startWith(0)),
28
+ ]).pipe(tap(([, range]) => {
29
29
  this.range =
30
- contained && tuiIsTextNode(range.commonAncestorContainer)
30
+ this.el.contains(range.commonAncestorContainer) &&
31
+ tuiIsTextNode(range.commonAncestorContainer)
31
32
  ? range
32
33
  : this.range;
33
- return (contained && handler(this.range)) || this.inDropdown(range);
34
+ }), map(([handler, range]) => {
35
+ const contained = this.el.contains(range.commonAncestorContainer);
36
+ const valid = contained && handler(this.range);
37
+ const visible = valid || this.inDropdown(range);
38
+ const active = tuiGetFocused(this.doc);
39
+ const textfield = active && tuiIsTextfield(active) && this.el.contains(active);
40
+ return visible && textfield ? this.isCaretVisible(this.range) : visible;
34
41
  }));
35
42
  this.range = inject(TUI_RANGE);
36
43
  this.position = 'selection';
@@ -67,7 +74,7 @@ class TuiDropdownSelection extends TuiDriver {
67
74
  return this.el.querySelector('tui-textfield .t-ghost') || this.el;
68
75
  }
69
76
  getRange() {
70
- const active = tuiGetNativeFocused(this.doc);
77
+ const active = tuiGetFocused(this.doc);
71
78
  const selection = this.doc.getSelection();
72
79
  const range = active && tuiIsTextfield(active) && this.el.contains(active)
73
80
  ? this.veryVerySadInputFix(active)
@@ -133,6 +140,18 @@ class TuiDropdownSelection extends TuiDriver {
133
140
  this.ghost = ghost;
134
141
  return ghost;
135
142
  }
143
+ isCaretVisible(range) {
144
+ const caret = range.getBoundingClientRect();
145
+ const host = this.ghostHost.getBoundingClientRect();
146
+ const styles = getComputedStyle(this.ghostHost);
147
+ const fontSize = parseFloat(styles.fontSize) || 16;
148
+ const lineHeight = parseFloat(styles.lineHeight) || fontSize * 1.2;
149
+ const visibleTop = Math.max(caret.top, host.top);
150
+ const visibleBottom = Math.min(caret.bottom, host.bottom);
151
+ const visibleHeight = Math.max(0, visibleBottom - visibleTop);
152
+ const threshold = lineHeight * 0.5;
153
+ return visibleHeight >= threshold;
154
+ }
136
155
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDropdownSelection, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
137
156
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDropdownSelection, isStandalone: true, selector: "[tuiDropdownSelection]", inputs: { position: ["tuiDropdownSelectionPosition", "position"], tuiDropdownSelection: "tuiDropdownSelection" }, providers: [
138
157
  tuiAsDriver(TuiDropdownSelection),
@@ -156,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
156
175
  }], tuiDropdownSelection: [{
157
176
  type: Input
158
177
  }] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWtCLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDbkIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFL0MsT0FBTyxFQUNILGdCQUFnQixFQUNoQixZQUFZLEVBQ1osY0FBYyxFQUNkLGFBQWEsR0FDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsV0FBVyxFQUFFLEtBQUssRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFDSCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLFNBQVMsR0FFWixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXZGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOztBQUUxRCxNQVFh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S0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDMUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3BDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQztRQUNyQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDbEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUMxQyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDMUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBRTlCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7K0dBN0tRLG9CQUFvQjttR0FBcEIsb0JBQW9CLHVMQUxsQjtZQUNQLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztZQUNqQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQztTQUMxQzs7U0FFUSxvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFSaEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsU0FBUyxFQUFFO3dCQUNQLFdBQVcsc0JBQXNCO3dCQUNqQyxpQkFBaUIsc0JBQXNCO3FCQUMxQztpQkFDSjswRUEyQ1UsUUFBUTtzQkFEZCxLQUFLO3VCQUFDLDhCQUE4QjtnQkFVMUIsb0JBQW9CO3NCQUQ5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCB0eXBlIE9uRGVzdHJveSwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENIQVJfTk9fQlJFQUtfU1BBQ0UsXG4gICAgQ0hBUl9aRVJPX1dJRFRIX1NQQUNFLFxuICAgIEVNUFRZX0NMSUVOVF9SRUNULFxuICAgIFRVSV9UUlVFX0hBTkRMRVIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7VFVJX1JBTkdFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R5cGUgVHVpQm9vbGVhbkhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHtcbiAgICB0dWlJbmplY3RFbGVtZW50LFxuICAgIHR1aUlzRWxlbWVudCxcbiAgICB0dWlJc1RleHRmaWVsZCxcbiAgICB0dWlJc1RleHROb2RlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUdldE5hdGl2ZUZvY3VzZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHt0dWlJc1N0cmluZywgdHVpUHh9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIHR1aUFzRHJpdmVyLFxuICAgIHR1aUFzUmVjdEFjY2Vzc29yLFxuICAgIFR1aURyaXZlcixcbiAgICB0eXBlIFR1aVJlY3RBY2Nlc3Nvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9TRUxFQ1RJT05fU1RSRUFNfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlHZXRXb3JkUmFuZ2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aURyb3Bkb3duRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpRHJvcGRvd25TZWxlY3Rpb25dJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNEcml2ZXIoVHVpRHJvcGRvd25TZWxlY3Rpb24pLFxuICAgICAgICB0dWlBc1JlY3RBY2Nlc3NvcihUdWlEcm9wZG93blNlbGVjdGlvbiksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25TZWxlY3Rpb25cbiAgICBleHRlbmRzIFR1aURyaXZlclxuICAgIGltcGxlbWVudHMgVHVpUmVjdEFjY2Vzc29yLCBPbkRlc3Ryb3lcbntcbiAgICBwcml2YXRlIGdob3N0PzogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmNyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkcm9wZG93biA9IGluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoYW5kbGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHVpQm9vbGVhbkhhbmRsZXI8UmFuZ2U+PihcbiAgICAgICAgVFVJX1RSVUVfSEFORExFUixcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0cmVhbSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5oYW5kbGVyJCxcbiAgICAgICAgaW5qZWN0KFRVSV9TRUxFQ1RJT05fU1RSRUFNKS5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuZ2V0UmFuZ2UoKSksXG4gICAgICAgICAgICBmaWx0ZXIoKHJhbmdlKSA9PiB0aGlzLmlzVmFsaWQocmFuZ2UpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKFxuICAgICAgICAgICAgICAgICh4LCB5KSA9PlxuICAgICAgICAgICAgICAgICAgICB4LnN0YXJ0T2Zmc2V0ID09PSB5LnN0YXJ0T2Zmc2V0ICYmXG4gICAgICAgICAgICAgICAgICAgIHguZW5kT2Zmc2V0ID09PSB5LmVuZE9mZnNldCAmJlxuICAgICAgICAgICAgICAgICAgICB4LmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyID09PSB5LmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICBdKS5waXBlKFxuICAgICAgICBtYXAoKFtoYW5kbGVyLCByYW5nZV0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lZCA9IHRoaXMuZWwuY29udGFpbnMocmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIpO1xuXG4gICAgICAgICAgICB0aGlzLnJhbmdlID1cbiAgICAgICAgICAgICAgICBjb250YWluZWQgJiYgdHVpSXNUZXh0Tm9kZShyYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcilcbiAgICAgICAgICAgICAgICAgICAgPyByYW5nZVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMucmFuZ2U7XG5cbiAgICAgICAgICAgIHJldHVybiAoY29udGFpbmVkICYmIGhhbmRsZXIodGhpcy5yYW5nZSkpIHx8IHRoaXMuaW5Ecm9wZG93bihyYW5nZSk7XG4gICAgICAgIH0pLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmFuZ2UgPSBpbmplY3QoVFVJX1JBTkdFKTtcblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25TZWxlY3Rpb25Qb3NpdGlvbicpXG4gICAgcHVibGljIHBvc2l0aW9uOiAnc2VsZWN0aW9uJyB8ICd0YWcnIHwgJ3dvcmQnID0gJ3NlbGVjdGlvbic7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdHlwZSA9ICdkcm9wZG93bic7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKHN1YnNjcmliZXIpID0+IHRoaXMuc3RyZWFtJC5zdWJzY3JpYmUoc3Vic2NyaWJlcikpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB0dWlEcm9wZG93blNlbGVjdGlvbih2aXNpYmxlOiBUdWlCb29sZWFuSGFuZGxlcjxSYW5nZT4gfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0dWlJc1N0cmluZyh2aXNpYmxlKSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVyJC5uZXh0KHZpc2libGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldENsaWVudFJlY3QoKTogRE9NUmVjdCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5wb3NpdGlvbikge1xuICAgICAgICAgICAgY2FzZSAndGFnJzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtjb21tb25BbmNlc3RvckNvbnRhaW5lcn0gPSB0aGlzLnJhbmdlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0dWlJc0VsZW1lbnQoY29tbW9uQW5jZXN0b3JDb250YWluZXIpXG4gICAgICAgICAgICAgICAgICAgID8gY29tbW9uQW5jZXN0b3JDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgOiBjb21tb25BbmNlc3RvckNvbnRhaW5lci5wYXJlbnROb2RlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQgJiYgdHVpSXNFbGVtZW50KGVsZW1lbnQpXG4gICAgICAgICAgICAgICAgICAgID8gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgICAgICAgICAgICAgICA6IEVNUFRZX0NMSUVOVF9SRUNUO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnd29yZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHR1aUdldFdvcmRSYW5nZSh0aGlzLnJhbmdlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmdob3N0KSB7XG4gICAgICAgICAgICB0aGlzLmdob3N0SG9zdC5yZW1vdmVDaGlsZCh0aGlzLmdob3N0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGdob3N0SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLnF1ZXJ5U2VsZWN0b3IoJ3R1aS10ZXh0ZmllbGQgLnQtZ2hvc3QnKSB8fCB0aGlzLmVsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UmFuZ2UoKTogUmFuZ2Uge1xuICAgICAgICBjb25zdCBhY3RpdmUgPSB0dWlHZXROYXRpdmVGb2N1c2VkKHRoaXMuZG9jKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy5kb2MuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IHJhbmdlID1cbiAgICAgICAgICAgIGFjdGl2ZSAmJiB0dWlJc1RleHRmaWVsZChhY3RpdmUpICYmIHRoaXMuZWwuY29udGFpbnMoYWN0aXZlKVxuICAgICAgICAgICAgICAgID8gdGhpcy52ZXJ5VmVyeVNhZElucHV0Rml4KGFjdGl2ZSlcbiAgICAgICAgICAgICAgICA6IChzZWxlY3Rpb24/LnJhbmdlQ291bnQgJiYgc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkpIHx8IHRoaXMucmFuZ2U7XG5cbiAgICAgICAgcmV0dXJuIHJhbmdlLmNsb25lUmFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBnaXZlbiByYW5nZSBpcyBhdCBsZWFzdCBwYXJ0aWFsbHkgaW5zaWRlIGRyb3Bkb3duXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbkRyb3Bkb3duKHJhbmdlOiBSYW5nZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7c3RhcnRDb250YWluZXIsIGVuZENvbnRhaW5lcn0gPSByYW5nZTtcbiAgICAgICAgY29uc3QgaW5Ecm9wZG93biA9IHRoaXMuYm94Q29udGFpbnMocmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIpO1xuICAgICAgICBjb25zdCBob3N0VG9Ecm9wZG93biA9XG4gICAgICAgICAgICB0aGlzLmJveENvbnRhaW5zKGVuZENvbnRhaW5lcikgJiYgdGhpcy5lbC5jb250YWlucyhzdGFydENvbnRhaW5lcik7XG4gICAgICAgIGNvbnN0IGRyb3Bkb3duVG9Ib3N0ID1cbiAgICAgICAgICAgIHRoaXMuYm94Q29udGFpbnMoc3RhcnRDb250YWluZXIpICYmIHRoaXMuZWwuY29udGFpbnMoZW5kQ29udGFpbmVyKTtcblxuICAgICAgICByZXR1cm4gaW5Ecm9wZG93biB8fCBob3N0VG9Ecm9wZG93biB8fCBkcm9wZG93blRvSG9zdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBOb2RlIGlzIGluc2lkZSBkcm9wZG93blxuICAgICAqL1xuICAgIHByaXZhdGUgYm94Q29udGFpbnMobm9kZTogTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duLnJlZigpPy5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKG5vZGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHJhbmdlIGlzIG5vdCBpbnNpZGUgdHVpLXRleHRmaWVsZCdzIERPTSBlbGVtZW50c1xuICAgICAqL1xuICAgIHByaXZhdGUgaXNWYWxpZChyYW5nZTogUmFuZ2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLmVsLmNvbnRhaW5zKHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKSB8fFxuICAgICAgICAgICAgIXRoaXMuZWwuY2xvc2VzdCgndHVpLXRleHRmaWVsZCcpIHx8XG4gICAgICAgICAgICByYW5nZS5pbnRlcnNlY3RzTm9kZSh0aGlzLmdob3N0IHx8IHRoaXMuZWwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJ5VmVyeVNhZElucHV0Rml4KGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogUmFuZ2Uge1xuICAgICAgICBjb25zdCB7Z2hvc3QgPSB0aGlzLmluaXRHaG9zdCh0aGlzLmdob3N0SG9zdCl9ID0gdGhpcztcbiAgICAgICAgY29uc3Qge3RvcCwgbGVmdCwgd2lkdGgsIGhlaWdodH0gPSB0aGlzLmdob3N0SG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge3NlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQsIHZhbHVlfSA9IGVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gdGhpcy5kb2MuY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmdob3N0SG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBnaG9zdC5zdHlsZS50b3AgPSB0dWlQeCh0b3AgLSBob3N0UmVjdC50b3ApO1xuICAgICAgICBnaG9zdC5zdHlsZS5sZWZ0ID0gdHVpUHgobGVmdCAtIGhvc3RSZWN0LmxlZnQpO1xuICAgICAgICBnaG9zdC5zdHlsZS53aWR0aCA9IHR1aVB4KHdpZHRoKTtcbiAgICAgICAgZ2hvc3Quc3R5bGUuaGVpZ2h0ID0gdHVpUHgoaGVpZ2h0KTtcbiAgICAgICAgZ2hvc3QudGV4dENvbnRlbnQgPSBDSEFSX1pFUk9fV0lEVEhfU1BBQ0UgKyB2YWx1ZSArIENIQVJfTk9fQlJFQUtfU1BBQ0U7XG5cbiAgICAgICAgcmFuZ2Uuc2V0U3RhcnQoZ2hvc3QuZmlyc3RDaGlsZCBhcyBOb2RlLCBzZWxlY3Rpb25TdGFydCB8fCAwKTtcbiAgICAgICAgcmFuZ2Uuc2V0RW5kKGdob3N0LmZpcnN0Q2hpbGQgYXMgTm9kZSwgc2VsZWN0aW9uRW5kIHx8IDApO1xuXG4gICAgICAgIHJldHVybiByYW5nZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYW4gaW52aXNpYmxlIERJViBzdHlsZWQgZXhhY3RseSBsaWtlIGlucHV0L3RleHRhcmVhIGVsZW1lbnQgaW5zaWRlIGRpcmVjdGl2ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW5pdEdob3N0KFxuICAgICAgICBlbGVtZW50OiBIVE1MRWxlbWVudCB8IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50LFxuICAgICk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgZ2hvc3QgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29uc3Qge2ZvbnQsIGxldHRlclNwYWNpbmcsIHRleHRUcmFuc2Zvcm0sIHBhZGRpbmcsIGJvcmRlclRvcH0gPVxuICAgICAgICAgICAgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcblxuICAgICAgICBnaG9zdC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgIGdob3N0LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XG4gICAgICAgIGdob3N0LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICAgIGdob3N0LnN0eWxlLndoaXRlU3BhY2UgPSAncHJlLXdyYXAnO1xuICAgICAgICBnaG9zdC5zdHlsZS5ib3hTaXppbmcgPSAnYm9yZGVyLWJveCc7XG4gICAgICAgIGdob3N0LnN0eWxlLmJvcmRlclRvcCA9IGJvcmRlclRvcDtcbiAgICAgICAgZ2hvc3Quc3R5bGUuZm9udCA9IGZvbnQ7XG4gICAgICAgIGdob3N0LnN0eWxlLmxldHRlclNwYWNpbmcgPSBsZXR0ZXJTcGFjaW5nO1xuICAgICAgICBnaG9zdC5zdHlsZS50ZXh0VHJhbnNmb3JtID0gdGV4dFRyYW5zZm9ybTtcbiAgICAgICAgZ2hvc3Quc3R5bGUucGFkZGluZyA9IHBhZGRpbmc7XG5cbiAgICAgICAgdGhpcy5naG9zdEhvc3QuYXBwZW5kQ2hpbGQoZ2hvc3QpO1xuICAgICAgICB0aGlzLmdob3N0ID0gZ2hvc3Q7XG5cbiAgICAgICAgcmV0dXJuIGdob3N0O1xuICAgIH1cbn1cbiJdfQ==
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWtCLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDbkIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFL0MsT0FBTyxFQUNILGdCQUFnQixFQUNoQixZQUFZLEVBQ1osY0FBYyxFQUNkLGFBQWEsR0FDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixTQUFTLEdBRVosTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUNILGVBQWUsRUFDZixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixTQUFTLEVBQ1QsR0FBRyxFQUNILEtBQUssRUFDTCxTQUFTLEVBQ1QsR0FBRyxFQUNILFlBQVksR0FDZixNQUFNLE1BQU0sQ0FBQztBQUVkLE9B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QVMsQ0FBQztJQUN0QyxDQUFDOytHQXRNUSxvQkFBb0I7bUdBQXBCLG9CQUFvQix1TEFMbEI7WUFDUCxXQUFXLENBQUMsb0JBQW9CLENBQUM7WUFDakMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUM7U0FDMUM7O1NBRVEsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBUmhDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFNBQVMsRUFBRTt3QkFDUCxXQUFXLHNCQUFzQjt3QkFDakMsaUJBQWlCLHNCQUFzQjtxQkFDMUM7aUJBQ0o7MEVBc0RVLFFBQVE7c0JBRGQsS0FBSzt1QkFBQyw4QkFBOEI7Z0JBVTFCLG9CQUFvQjtzQkFEOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgdHlwZSBPbkRlc3Ryb3ksIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIENIQVJfWkVST19XSURUSF9TUEFDRSxcbiAgICBFTVBUWV9DTElFTlRfUkVDVCxcbiAgICBUVUlfVFJVRV9IQU5ETEVSLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9SQU5HRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0eXBlIFR1aUJvb2xlYW5IYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7XG4gICAgdHVpSW5qZWN0RWxlbWVudCxcbiAgICB0dWlJc0VsZW1lbnQsXG4gICAgdHVpSXNUZXh0ZmllbGQsXG4gICAgdHVpSXNUZXh0Tm9kZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlHZXRGb2N1c2VkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7dHVpSXNTdHJpbmcsIHR1aVB4fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtcbiAgICB0dWlBc0RyaXZlcixcbiAgICB0dWlBc1JlY3RBY2Nlc3NvcixcbiAgICBUdWlEcml2ZXIsXG4gICAgdHlwZSBUdWlSZWN0QWNjZXNzb3IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfU0VMRUNUSU9OX1NUUkVBTX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0V29yZFJhbmdlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscyc7XG5pbXBvcnQge1xuICAgIEJlaGF2aW9yU3ViamVjdCxcbiAgICBjb21iaW5lTGF0ZXN0LFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBmcm9tRXZlbnQsXG4gICAgbWFwLFxuICAgIG1lcmdlLFxuICAgIHN0YXJ0V2l0aCxcbiAgICB0YXAsXG4gICAgdGhyb3R0bGVUaW1lLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duU2VsZWN0aW9uXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRHJpdmVyKFR1aURyb3Bkb3duU2VsZWN0aW9uKSxcbiAgICAgICAgdHVpQXNSZWN0QWNjZXNzb3IoVHVpRHJvcGRvd25TZWxlY3Rpb24pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duU2VsZWN0aW9uXG4gICAgZXh0ZW5kcyBUdWlEcml2ZXJcbiAgICBpbXBsZW1lbnRzIFR1aVJlY3RBY2Nlc3NvciwgT25EZXN0cm95XG57XG4gICAgcHJpdmF0ZSBnaG9zdD86IEhUTUxFbGVtZW50O1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHZjciA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd24gPSBpbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFuZGxlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFR1aUJvb2xlYW5IYW5kbGVyPFJhbmdlPj4oXG4gICAgICAgIFRVSV9UUlVFX0hBTkRMRVIsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdHJlYW0kID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuaGFuZGxlciQsXG4gICAgICAgIGluamVjdChUVUlfU0VMRUNUSU9OX1NUUkVBTSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmdldFJhbmdlKCkpLFxuICAgICAgICAgICAgZmlsdGVyKChyYW5nZSkgPT4gdGhpcy5pc1ZhbGlkKHJhbmdlKSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChcbiAgICAgICAgICAgICAgICAoeCwgeSkgPT5cbiAgICAgICAgICAgICAgICAgICAgeC5zdGFydE9mZnNldCA9PT0geS5zdGFydE9mZnNldCAmJlxuICAgICAgICAgICAgICAgICAgICB4LmVuZE9mZnNldCA9PT0geS5lbmRPZmZzZXQgJiZcbiAgICAgICAgICAgICAgICAgICAgeC5jb21tb25BbmNlc3RvckNvbnRhaW5lciA9PT0geS5jb21tb25BbmNlc3RvckNvbnRhaW5lcixcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIG1lcmdlKGZyb21FdmVudCh0aGlzLmVsLCAnc2Nyb2xsJywge3Bhc3NpdmU6IHRydWUsIGNhcHR1cmU6IHRydWV9KSkucGlwZShcbiAgICAgICAgICAgIHRocm90dGxlVGltZSgxNiwgdW5kZWZpbmVkLCB7bGVhZGluZzogZmFsc2UsIHRyYWlsaW5nOiB0cnVlfSksXG4gICAgICAgICAgICBzdGFydFdpdGgoMCksXG4gICAgICAgICksXG4gICAgXSkucGlwZShcbiAgICAgICAgdGFwKChbLCByYW5nZV0pID0+IHtcbiAgICAgICAgICAgIHRoaXMucmFuZ2UgPVxuICAgICAgICAgICAgICAgIHRoaXMuZWwuY29udGFpbnMocmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIpICYmXG4gICAgICAgICAgICAgICAgdHVpSXNUZXh0Tm9kZShyYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcilcbiAgICAgICAgICAgICAgICAgICAgPyByYW5nZVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMucmFuZ2U7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKFtoYW5kbGVyLCByYW5nZV0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lZCA9IHRoaXMuZWwuY29udGFpbnMocmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIpO1xuICAgICAgICAgICAgY29uc3QgdmFsaWQgPSBjb250YWluZWQgJiYgaGFuZGxlcih0aGlzLnJhbmdlKTtcbiAgICAgICAgICAgIGNvbnN0IHZpc2libGUgPSB2YWxpZCB8fCB0aGlzLmluRHJvcGRvd24ocmFuZ2UpO1xuICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gdHVpR2V0Rm9jdXNlZCh0aGlzLmRvYyk7XG4gICAgICAgICAgICBjb25zdCB0ZXh0ZmllbGQgPVxuICAgICAgICAgICAgICAgIGFjdGl2ZSAmJiB0dWlJc1RleHRmaWVsZChhY3RpdmUpICYmIHRoaXMuZWwuY29udGFpbnMoYWN0aXZlKTtcblxuICAgICAgICAgICAgcmV0dXJuIHZpc2libGUgJiYgdGV4dGZpZWxkID8gdGhpcy5pc0NhcmV0VmlzaWJsZSh0aGlzLnJhbmdlKSA6IHZpc2libGU7XG4gICAgICAgIH0pLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmFuZ2UgPSBpbmplY3QoVFVJX1JBTkdFKTtcblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25TZWxlY3Rpb25Qb3NpdGlvbicpXG4gICAgcHVibGljIHBvc2l0aW9uOiAnc2VsZWN0aW9uJyB8ICd0YWcnIHwgJ3dvcmQnID0gJ3NlbGVjdGlvbic7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdHlwZSA9ICdkcm9wZG93bic7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKHN1YnNjcmliZXIpID0+IHRoaXMuc3RyZWFtJC5zdWJzY3JpYmUoc3Vic2NyaWJlcikpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB0dWlEcm9wZG93blNlbGVjdGlvbih2aXNpYmxlOiBUdWlCb29sZWFuSGFuZGxlcjxSYW5nZT4gfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0dWlJc1N0cmluZyh2aXNpYmxlKSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVyJC5uZXh0KHZpc2libGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldENsaWVudFJlY3QoKTogRE9NUmVjdCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5wb3NpdGlvbikge1xuICAgICAgICAgICAgY2FzZSAndGFnJzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtjb21tb25BbmNlc3RvckNvbnRhaW5lcn0gPSB0aGlzLnJhbmdlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0dWlJc0VsZW1lbnQoY29tbW9uQW5jZXN0b3JDb250YWluZXIpXG4gICAgICAgICAgICAgICAgICAgID8gY29tbW9uQW5jZXN0b3JDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgOiBjb21tb25BbmNlc3RvckNvbnRhaW5lci5wYXJlbnROb2RlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQgJiYgdHVpSXNFbGVtZW50KGVsZW1lbnQpXG4gICAgICAgICAgICAgICAgICAgID8gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgICAgICAgICAgICAgICA6IEVNUFRZX0NMSUVOVF9SRUNUO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnd29yZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHR1aUdldFdvcmRSYW5nZSh0aGlzLnJhbmdlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmdob3N0KSB7XG4gICAgICAgICAgICB0aGlzLmdob3N0SG9zdC5yZW1vdmVDaGlsZCh0aGlzLmdob3N0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGdob3N0SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLnF1ZXJ5U2VsZWN0b3IoJ3R1aS10ZXh0ZmllbGQgLnQtZ2hvc3QnKSB8fCB0aGlzLmVsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UmFuZ2UoKTogUmFuZ2Uge1xuICAgICAgICBjb25zdCBhY3RpdmUgPSB0dWlHZXRGb2N1c2VkKHRoaXMuZG9jKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy5kb2MuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IHJhbmdlID1cbiAgICAgICAgICAgIGFjdGl2ZSAmJiB0dWlJc1RleHRmaWVsZChhY3RpdmUpICYmIHRoaXMuZWwuY29udGFpbnMoYWN0aXZlKVxuICAgICAgICAgICAgICAgID8gdGhpcy52ZXJ5VmVyeVNhZElucHV0Rml4KGFjdGl2ZSlcbiAgICAgICAgICAgICAgICA6IChzZWxlY3Rpb24/LnJhbmdlQ291bnQgJiYgc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkpIHx8IHRoaXMucmFuZ2U7XG5cbiAgICAgICAgcmV0dXJuIHJhbmdlLmNsb25lUmFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBnaXZlbiByYW5nZSBpcyBhdCBsZWFzdCBwYXJ0aWFsbHkgaW5zaWRlIGRyb3Bkb3duXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbkRyb3Bkb3duKHJhbmdlOiBSYW5nZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7c3RhcnRDb250YWluZXIsIGVuZENvbnRhaW5lcn0gPSByYW5nZTtcbiAgICAgICAgY29uc3QgaW5Ecm9wZG93biA9IHRoaXMuYm94Q29udGFpbnMocmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIpO1xuICAgICAgICBjb25zdCBob3N0VG9Ecm9wZG93biA9XG4gICAgICAgICAgICB0aGlzLmJveENvbnRhaW5zKGVuZENvbnRhaW5lcikgJiYgdGhpcy5lbC5jb250YWlucyhzdGFydENvbnRhaW5lcik7XG4gICAgICAgIGNvbnN0IGRyb3Bkb3duVG9Ib3N0ID1cbiAgICAgICAgICAgIHRoaXMuYm94Q29udGFpbnMoc3RhcnRDb250YWluZXIpICYmIHRoaXMuZWwuY29udGFpbnMoZW5kQ29udGFpbmVyKTtcblxuICAgICAgICByZXR1cm4gaW5Ecm9wZG93biB8fCBob3N0VG9Ecm9wZG93biB8fCBkcm9wZG93blRvSG9zdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBOb2RlIGlzIGluc2lkZSBkcm9wZG93blxuICAgICAqL1xuICAgIHByaXZhdGUgYm94Q29udGFpbnMobm9kZTogTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duLnJlZigpPy5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKG5vZGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHJhbmdlIGlzIG5vdCBpbnNpZGUgdHVpLXRleHRmaWVsZCdzIERPTSBlbGVtZW50c1xuICAgICAqL1xuICAgIHByaXZhdGUgaXNWYWxpZChyYW5nZTogUmFuZ2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLmVsLmNvbnRhaW5zKHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKSB8fFxuICAgICAgICAgICAgIXRoaXMuZWwuY2xvc2VzdCgndHVpLXRleHRmaWVsZCcpIHx8XG4gICAgICAgICAgICByYW5nZS5pbnRlcnNlY3RzTm9kZSh0aGlzLmdob3N0IHx8IHRoaXMuZWwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJ5VmVyeVNhZElucHV0Rml4KGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogUmFuZ2Uge1xuICAgICAgICBjb25zdCB7Z2hvc3QgPSB0aGlzLmluaXRHaG9zdCh0aGlzLmdob3N0SG9zdCl9ID0gdGhpcztcbiAgICAgICAgY29uc3Qge3RvcCwgbGVmdCwgd2lkdGgsIGhlaWdodH0gPSB0aGlzLmdob3N0SG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge3NlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQsIHZhbHVlfSA9IGVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gdGhpcy5kb2MuY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmdob3N0SG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBnaG9zdC5zdHlsZS50b3AgPSB0dWlQeCh0b3AgLSBob3N0UmVjdC50b3ApO1xuICAgICAgICBnaG9zdC5zdHlsZS5sZWZ0ID0gdHVpUHgobGVmdCAtIGhvc3RSZWN0LmxlZnQpO1xuICAgICAgICBnaG9zdC5zdHlsZS53aWR0aCA9IHR1aVB4KHdpZHRoKTtcbiAgICAgICAgZ2hvc3Quc3R5bGUuaGVpZ2h0ID0gdHVpUHgoaGVpZ2h0KTtcbiAgICAgICAgZ2hvc3QudGV4dENvbnRlbnQgPSBDSEFSX1pFUk9fV0lEVEhfU1BBQ0UgKyB2YWx1ZSArIENIQVJfTk9fQlJFQUtfU1BBQ0U7XG5cbiAgICAgICAgcmFuZ2Uuc2V0U3RhcnQoZ2hvc3QuZmlyc3RDaGlsZCBhcyBOb2RlLCBzZWxlY3Rpb25TdGFydCB8fCAwKTtcbiAgICAgICAgcmFuZ2Uuc2V0RW5kKGdob3N0LmZpcnN0Q2hpbGQgYXMgTm9kZSwgc2VsZWN0aW9uRW5kIHx8IDApO1xuXG4gICAgICAgIHJldHVybiByYW5nZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYW4gaW52aXNpYmxlIERJViBzdHlsZWQgZXhhY3RseSBsaWtlIGlucHV0L3RleHRhcmVhIGVsZW1lbnQgaW5zaWRlIGRpcmVjdGl2ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW5pdEdob3N0KFxuICAgICAgICBlbGVtZW50OiBIVE1MRWxlbWVudCB8IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50LFxuICAgICk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgZ2hvc3QgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29uc3Qge2ZvbnQsIGxldHRlclNwYWNpbmcsIHRleHRUcmFuc2Zvcm0sIHBhZGRpbmcsIGJvcmRlclRvcH0gPVxuICAgICAgICAgICAgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcblxuICAgICAgICBnaG9zdC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgIGdob3N0LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XG4gICAgICAgIGdob3N0LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICAgIGdob3N0LnN0eWxlLndoaXRlU3BhY2UgPSAncHJlLXdyYXAnO1xuICAgICAgICBnaG9zdC5zdHlsZS5ib3hTaXppbmcgPSAnYm9yZGVyLWJveCc7XG4gICAgICAgIGdob3N0LnN0eWxlLmJvcmRlclRvcCA9IGJvcmRlclRvcDtcbiAgICAgICAgZ2hvc3Quc3R5bGUuZm9udCA9IGZvbnQ7XG4gICAgICAgIGdob3N0LnN0eWxlLmxldHRlclNwYWNpbmcgPSBsZXR0ZXJTcGFjaW5nO1xuICAgICAgICBnaG9zdC5zdHlsZS50ZXh0VHJhbnNmb3JtID0gdGV4dFRyYW5zZm9ybTtcbiAgICAgICAgZ2hvc3Quc3R5bGUucGFkZGluZyA9IHBhZGRpbmc7XG5cbiAgICAgICAgdGhpcy5naG9zdEhvc3QuYXBwZW5kQ2hpbGQoZ2hvc3QpO1xuICAgICAgICB0aGlzLmdob3N0ID0gZ2hvc3Q7XG5cbiAgICAgICAgcmV0dXJuIGdob3N0O1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNDYXJldFZpc2libGUocmFuZ2U6IFJhbmdlKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGNhcmV0ID0gcmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLmdob3N0SG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qgc3R5bGVzID0gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmdob3N0SG9zdCk7XG4gICAgICAgIGNvbnN0IGZvbnRTaXplID0gcGFyc2VGbG9hdChzdHlsZXMuZm9udFNpemUpIHx8IDE2O1xuICAgICAgICBjb25zdCBsaW5lSGVpZ2h0ID0gcGFyc2VGbG9hdChzdHlsZXMubGluZUhlaWdodCkgfHwgZm9udFNpemUgKiAxLjI7XG4gICAgICAgIGNvbnN0IHZpc2libGVUb3AgPSBNYXRoLm1heChjYXJldC50b3AsIGhvc3QudG9wKTtcbiAgICAgICAgY29uc3QgdmlzaWJsZUJvdHRvbSA9IE1hdGgubWluKGNhcmV0LmJvdHRvbSwgaG9zdC5ib3R0b20pO1xuICAgICAgICBjb25zdCB2aXNpYmxlSGVpZ2h0ID0gTWF0aC5tYXgoMCwgdmlzaWJsZUJvdHRvbSAtIHZpc2libGVUb3ApO1xuICAgICAgICBjb25zdCB0aHJlc2hvbGQgPSBsaW5lSGVpZ2h0ICogMC41O1xuXG4gICAgICAgIHJldHVybiB2aXNpYmxlSGVpZ2h0ID49IHRocmVzaG9sZDtcbiAgICB9XG59XG4iXX0=
@@ -55,7 +55,9 @@ class TuiDropdownDirective {
55
55
  this._content.set(x);
56
56
  }
57
57
  ngAfterViewChecked() {
58
- this.refresh$.next();
58
+ if (this.ref()) {
59
+ this.refresh$.next();
60
+ }
59
61
  }
60
62
  ngOnDestroy() {
61
63
  this.toggle(false);
@@ -107,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
107
109
  }], propDecorators: { tuiDropdown: [{
108
110
  type: Input
109
111
  }] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUVILGlCQUFpQixFQUVqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFlBQVksR0FHZixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFDSCxxQkFBcUIsRUFFckIsb0JBQW9CLEdBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFFLDBCQUEwQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFFbEUsTUFtQmEsb0JBQW9CO0lBbkJqQztRQXNCcUIsYUFBUSxHQUFHLElB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QUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM1QjtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFckQsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQzsrR0FwRlEsb0JBQW9CO21HQUFwQixvQkFBb0IscU1BaEJsQjtZQUNQLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDO1lBQ3ZDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQztTQUNyQzs7U0FhUSxvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFuQmhDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxrREFBa0Q7b0JBQzVELFNBQVMsRUFBRTt3QkFDUCxpQkFBaUIsc0JBQXNCO3dCQUN2QyxZQUFZLHNCQUFzQjtxQkFDckM7b0JBQ0QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGNBQWMsRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCOzRCQUNJLFNBQVMsRUFBRSxtQkFBbUI7NEJBQzlCLE9BQU8sRUFBRSxDQUFDLDRCQUE0QixDQUFDO3lCQUMxQztxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsMkJBQTJCLEVBQUUsT0FBTztxQkFDdkM7aUJBQ0o7OEJBaUNjLFdBQVc7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvZXJjZUFycmF5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICB0eXBlIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgdHlwZSBDb21wb25lbnRSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIGluamVjdCxcbiAgICBJTkpFQ1RPUixcbiAgICBJbnB1dCxcbiAgICB0eXBlIE9uRGVzdHJveSxcbiAgICBzaWduYWwsXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHVpWm9uZWZyZWVTY2hlZHVsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0eXBlIFR1aUNvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1xuICAgIHR1aUFzUmVjdEFjY2Vzc29yLFxuICAgIHR1aUFzVmVoaWNsZSxcbiAgICB0eXBlIFR1aVJlY3RBY2Nlc3NvcixcbiAgICB0eXBlIFR1aVZlaGljbGUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NsYXNzZXMnO1xuaW1wb3J0IHt0eXBlIFR1aVBvcnRhbEl0ZW19IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7dHVpQ2hlY2tGaXhlZFBvc2l0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscyc7XG5pbXBvcnQge1xuICAgIFBvbHltb3JwaGV1c0NvbXBvbmVudCxcbiAgICB0eXBlIFBvbHltb3JwaGV1c0NvbnRlbnQsXG4gICAgUG9seW1vcnBoZXVzVGVtcGxhdGUsXG59IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtTdWJqZWN0LCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aURyb3Bkb3duRHJpdmVyLCBUdWlEcm9wZG93bkRyaXZlckRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kcml2ZXInO1xuaW1wb3J0IHtUVUlfRFJPUERPV05fQ09NUE9ORU5UfSBmcm9tICcuL2Ryb3Bkb3duLnByb3ZpZGVycyc7XG5pbXBvcnQge1R1aURyb3Bkb3duU2VydmljZX0gZnJvbSAnLi9kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7VHVpRHJvcGRvd25Qb3NpdGlvbn0gZnJvbSAnLi9kcm9wZG93bi1wb3NpdGlvbi5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duXTpub3QobmctY29udGFpbmVyKTpub3QobmctdGVtcGxhdGUpJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNSZWN0QWNjZXNzb3IoVHVpRHJvcGRvd25EaXJlY3RpdmUpLFxuICAgICAgICB0dWlBc1ZlaGljbGUoVHVpRHJvcGRvd25EaXJlY3RpdmUpLFxuICAgIF0sXG4gICAgZXhwb3J0QXM6ICd0dWlEcm9wZG93bicsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgVHVpRHJvcGRvd25Ecml2ZXJEaXJlY3RpdmUsXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogVHVpRHJvcGRvd25Qb3NpdGlvbixcbiAgICAgICAgICAgIG91dHB1dHM6IFsndHVpRHJvcGRvd25EaXJlY3Rpb25DaGFuZ2UnXSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy50dWktZHJvcGRvd24tb3Blbl0nOiAncmVmKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duRGlyZWN0aXZlXG4gICAgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkLCBPbkRlc3Ryb3ksIFR1aVBvcnRhbEl0ZW0sIFR1aVJlY3RBY2Nlc3NvciwgVHVpVmVoaWNsZVxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVmcmVzaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZSA9IGluamVjdChUdWlEcm9wZG93blNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIC8vIFRPRE86IHRoaW5rIG9mIGEgYmV0dGVyIHNvbHV0aW9uIGxhdGVyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcml2ZXJzID0gY29lcmNlQXJyYXkoXG4gICAgICAgIGluamVjdChUdWlEcm9wZG93bkRyaXZlciwge3NlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlfSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdWIgPSB0aGlzLnJlZnJlc2gkXG4gICAgICAgIC5waXBlKHRocm90dGxlVGltZSgwLCB0dWlab25lZnJlZVNjaGVkdWxlcigpKSwgdGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWYoKT8uY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgdGhpcy5yZWYoKT8uY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHB1YmxpYyByZWFkb25seSB0eXBlID0gJ2Ryb3Bkb3duJztcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50ID0gbmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudChcbiAgICAgICAgaW5qZWN0KFRVSV9EUk9QRE9XTl9DT01QT05FTlQpLFxuICAgICAgICBpbmplY3QoSU5KRUNUT1IpLFxuICAgICk7XG5cbiAgICBwdWJsaWMgcmVmID0gc2lnbmFsPENvbXBvbmVudFJlZjx1bmtub3duPiB8IG51bGw+KG51bGwpO1xuICAgIC8vIFRPRE8odjUpOiByZW5hbWUgdG8gYGNvbnRlbnRgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIHB1YmxpYyByZWFkb25seSBfY29udGVudCA9IHNpZ25hbDxQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8KCkgPT4gdm9pZD4+PihudWxsKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB0dWlEcm9wZG93bihjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8KCkgPT4gdm9pZD4+KSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnQuc2V0KFxuICAgICAgICAgICAgY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmXG4gICAgICAgICAgICAgICAgPyBuZXcgUG9seW1vcnBoZXVzVGVtcGxhdGUoY29udGVudCwgdGhpcy5jZHIpXG4gICAgICAgICAgICAgICAgOiBjb250ZW50LFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghdGhpcy5fY29udGVudCgpKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZShmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBvc2l0aW9uKCk6ICdhYnNvbHV0ZScgfCAnZml4ZWQnIHtcbiAgICAgICAgcmV0dXJuIHR1aUNoZWNrRml4ZWRQb3NpdGlvbih0aGlzLmVsKSA/ICdmaXhlZCcgOiAnYWJzb2x1dGUnO1xuICAgIH1cblxuICAgIC8vIFRPRE8odjUpOiBkZWxldGVcbiAgICBwdWJsaWMgZ2V0IGNvbnRlbnQoKTogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PCgpID0+IHZvaWQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50KCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyh2NSk6IGRlbGV0ZVxuICAgIHB1YmxpYyBzZXQgY29udGVudCh4OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8KCkgPT4gdm9pZD4+KSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnQuc2V0KHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2dnbGUoZmFsc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDbGllbnRSZWN0KCk6IERPTVJlY3Qge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlKHNob3c6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVmID0gdGhpcy5yZWYoKTtcblxuICAgICAgICBpZiAoc2hvdyAmJiB0aGlzLl9jb250ZW50KCkgJiYgIXJlZikge1xuICAgICAgICAgICAgdGhpcy5yZWYuc2V0KHRoaXMuc2VydmljZS5hZGQodGhpcy5jb21wb25lbnQpKTtcbiAgICAgICAgfSBlbHNlIGlmICghc2hvdyAmJiByZWYpIHtcbiAgICAgICAgICAgIHRoaXMucmVmLnNldChudWxsKTtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5yZW1vdmUocmVmKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZHJpdmVycy5mb3JFYWNoKChkcml2ZXIpID0+IGRyaXZlcj8ubmV4dChzaG93KSk7XG5cbiAgICAgICAgLy8gVE9ETzogUmVtb3ZlIGluIHY1LCBvbmx5IG5lZWRlZCBpbiBBbmd1bGFyIDE2XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbn1cbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUVILGlCQUFpQixFQUVqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFlBQVksR0FHZixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFDSCxxQkFBcUIsRUFFckIsb0JBQW9CLEdBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFFLDBCQUEwQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFFbEUsTUFtQmEsb0JBQW9CO0lBbkJqQztRQXNCcUIsYUFBUSxHQUFHLElB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QUksSUFBSSxHQUFHLEVBQUU7WUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUI7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXJELGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBdEZRLG9CQUFvQjttR0FBcEIsb0JBQW9CLHFNQWhCbEI7WUFDUCxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQztZQUN2QyxZQUFZLENBQUMsb0JBQW9CLENBQUM7U0FDckM7O1NBYVEsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBbkJoQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0RBQWtEO29CQUM1RCxTQUFTLEVBQUU7d0JBQ1AsaUJBQWlCLHNCQUFzQjt3QkFDdkMsWUFBWSxzQkFBc0I7cUJBQ3JDO29CQUNELFFBQVEsRUFBRSxhQUFhO29CQUN2QixjQUFjLEVBQUU7d0JBQ1osMEJBQTBCO3dCQUMxQjs0QkFDSSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQzt5QkFDMUM7cUJBQ0o7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLDJCQUEyQixFQUFFLE9BQU87cUJBQ3ZDO2lCQUNKOzhCQWlDYyxXQUFXO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb2VyY2VBcnJheX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgdHlwZSBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIHR5cGUgQ29tcG9uZW50UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBpbmplY3QsXG4gICAgSU5KRUNUT1IsXG4gICAgSW5wdXQsXG4gICAgdHlwZSBPbkRlc3Ryb3ksXG4gICAgc2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge3R1aVpvbmVmcmVlU2NoZWR1bGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHlwZSBUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtcbiAgICB0dWlBc1JlY3RBY2Nlc3NvcixcbiAgICB0dWlBc1ZlaGljbGUsXG4gICAgdHlwZSBUdWlSZWN0QWNjZXNzb3IsXG4gICAgdHlwZSBUdWlWZWhpY2xlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7dHlwZSBUdWlQb3J0YWxJdGVtfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R1aUNoZWNrRml4ZWRQb3NpdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBQb2x5bW9ycGhldXNDb21wb25lbnQsXG4gICAgdHlwZSBQb2x5bW9ycGhldXNDb250ZW50LFxuICAgIFBvbHltb3JwaGV1c1RlbXBsYXRlLFxufSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7U3ViamVjdCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bkRyaXZlciwgVHVpRHJvcGRvd25Ecml2ZXJEaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24uZHJpdmVyJztcbmltcG9ydCB7VFVJX0RST1BET1dOX0NPTVBPTkVOVH0gZnJvbSAnLi9kcm9wZG93bi5wcm92aWRlcnMnO1xuaW1wb3J0IHtUdWlEcm9wZG93blNlcnZpY2V9IGZyb20gJy4vZHJvcGRvd24uc2VydmljZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duUG9zaXRpb259IGZyb20gJy4vZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bl06bm90KG5nLWNvbnRhaW5lcik6bm90KG5nLXRlbXBsYXRlKScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzUmVjdEFjY2Vzc29yKFR1aURyb3Bkb3duRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpQXNWZWhpY2xlKFR1aURyb3Bkb3duRGlyZWN0aXZlKSxcbiAgICBdLFxuICAgIGV4cG9ydEFzOiAndHVpRHJvcGRvd24nLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIFR1aURyb3Bkb3duRHJpdmVyRGlyZWN0aXZlLFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFR1aURyb3Bkb3duUG9zaXRpb24sXG4gICAgICAgICAgICBvdXRwdXRzOiBbJ3R1aURyb3Bkb3duRGlyZWN0aW9uQ2hhbmdlJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MudHVpLWRyb3Bkb3duLW9wZW5dJzogJ3JlZigpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bkRpcmVjdGl2ZVxuICAgIGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25EZXN0cm95LCBUdWlQb3J0YWxJdGVtLCBUdWlSZWN0QWNjZXNzb3IsIFR1aVZlaGljbGVcbntcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2UgPSBpbmplY3QoVHVpRHJvcGRvd25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvLyBUT0RPOiB0aGluayBvZiBhIGJldHRlciBzb2x1dGlvbiBsYXRlclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJpdmVycyA9IGNvZXJjZUFycmF5KFxuICAgICAgICBpbmplY3QoVHVpRHJvcGRvd25Ecml2ZXIsIHtzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZX0pLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3ViID0gdGhpcy5yZWZyZXNoJFxuICAgICAgICAucGlwZSh0aHJvdHRsZVRpbWUoMCwgdHVpWm9uZWZyZWVTY2hlZHVsZXIoKSksIHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVmKCk/LmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIHRoaXMucmVmKCk/LmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcblxuICAgIHB1YmxpYyByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHlwZSA9ICdkcm9wZG93bic7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbXBvbmVudCA9IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQoXG4gICAgICAgIGluamVjdChUVUlfRFJPUERPV05fQ09NUE9ORU5UKSxcbiAgICAgICAgaW5qZWN0KElOSkVDVE9SKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlZiA9IHNpZ25hbDxDb21wb25lbnRSZWY8dW5rbm93bj4gfCBudWxsPihudWxsKTtcbiAgICAvLyBUT0RPKHY1KTogcmVuYW1lIHRvIGBjb250ZW50YFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBwdWJsaWMgcmVhZG9ubHkgX2NvbnRlbnQgPSBzaWduYWw8UG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PCgpID0+IHZvaWQ+Pj4obnVsbCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdHVpRHJvcGRvd24oY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PCgpID0+IHZvaWQ+Pikge1xuICAgICAgICB0aGlzLl9jb250ZW50LnNldChcbiAgICAgICAgICAgIGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZlxuICAgICAgICAgICAgICAgID8gbmV3IFBvbHltb3JwaGV1c1RlbXBsYXRlKGNvbnRlbnQsIHRoaXMuY2RyKVxuICAgICAgICAgICAgICAgIDogY29udGVudCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIXRoaXMuX2NvbnRlbnQoKSkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwb3NpdGlvbigpOiAnYWJzb2x1dGUnIHwgJ2ZpeGVkJyB7XG4gICAgICAgIHJldHVybiB0dWlDaGVja0ZpeGVkUG9zaXRpb24odGhpcy5lbCkgPyAnZml4ZWQnIDogJ2Fic29sdXRlJztcbiAgICB9XG5cbiAgICAvLyBUT0RPKHY1KTogZGVsZXRlXG4gICAgcHVibGljIGdldCBjb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDwoKSA9PiB2b2lkPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudCgpO1xuICAgIH1cblxuICAgIC8vIFRPRE8odjUpOiBkZWxldGVcbiAgICBwdWJsaWMgc2V0IGNvbnRlbnQoeDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PCgpID0+IHZvaWQ+Pikge1xuICAgICAgICB0aGlzLl9jb250ZW50LnNldCh4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWYoKSkge1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9nZ2xlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2xpZW50UmVjdCgpOiBET01SZWN0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZShzaG93OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlZiA9IHRoaXMucmVmKCk7XG5cbiAgICAgICAgaWYgKHNob3cgJiYgdGhpcy5fY29udGVudCgpICYmICFyZWYpIHtcbiAgICAgICAgICAgIHRoaXMucmVmLnNldCh0aGlzLnNlcnZpY2UuYWRkKHRoaXMuY29tcG9uZW50KSk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXNob3cgJiYgcmVmKSB7XG4gICAgICAgICAgICB0aGlzLnJlZi5zZXQobnVsbCk7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UucmVtb3ZlKHJlZik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRyaXZlcnMuZm9yRWFjaCgoZHJpdmVyKSA9PiBkcml2ZXI/Lm5leHQoc2hvdykpO1xuXG4gICAgICAgIC8vIFRPRE86IFJlbW92ZSBpbiB2NSwgb25seSBuZWVkZWQgaW4gQW5ndWxhciAxNlxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iXX0=