@snabcentr/client-ui 4.6.1 → 4.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.d.ts +1 -5
  2. package/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.d.ts +47 -0
  3. package/catalog/catalog-filters/index.d.ts +1 -0
  4. package/catalog/catalog-filters/sc-catalog-filters.component.d.ts +97 -19
  5. package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +2 -2
  6. package/esm2022/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.mjs +7 -11
  7. package/esm2022/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.mjs +4 -5
  8. package/esm2022/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.mjs +59 -0
  9. package/esm2022/catalog/catalog-filters/index.mjs +2 -1
  10. package/esm2022/catalog/catalog-filters/sc-catalog-filters.component.mjs +247 -58
  11. package/esm2022/catalog/price-card/sc-price-card.component.mjs +3 -3
  12. package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +3 -3
  13. package/esm2022/dialogs/sc-resource-preview/sc-resource-preview.component.mjs +6 -1
  14. package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +3 -3
  15. package/esm2022/order/order-item/sc-order-item.component.mjs +3 -3
  16. package/esm2022/order/order-items-list/sc-order-items-list.component.mjs +3 -4
  17. package/esm2022/providers/cleanup-recaptcha-artifacts.mjs +30 -0
  18. package/esm2022/providers/index.mjs +2 -1
  19. package/fesm2022/snabcentr-client-ui.mjs +350 -78
  20. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  21. package/package.json +2 -2
  22. package/providers/cleanup-recaptcha-artifacts.d.ts +7 -0
  23. package/providers/index.d.ts +1 -0
  24. package/release_notes.tmp +12 -2
  25. package/styles/tailwind/tailwind.scss +17 -4
@@ -42,7 +42,7 @@ export class ScPriceCardComponent extends AbstractScPriceCard {
42
42
  }
43
43
  }
44
44
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPriceCardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScPriceCardComponent, isStandalone: true, selector: "sc-price-card", inputs: { size: "size" }, host: { properties: { "attr.data-size": "this.size" } }, providers: [SEARCH_TERM_PROVIDERS], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"\n>\n <sc-noindex-wrapper>\n <div class=\"flex min-h-8 items-center justify-between\">\n <span\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"code text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </span>\n\n <div class=\"flex items-center\">\n <tui-icon\n *ngIf=\"product.isPreviouslyOrdered\"\n icon=\"@tui.history\"\n class=\"text-lg\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader()\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n </div>\n </sc-noindex-wrapper>\n\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n class=\"cursor-pointer\"\n />\n\n <div\n class=\"flex grow flex-col justify-end\"\n [class.gap-1]=\"size === 'm'\"\n >\n <div\n class=\"flex grow flex-col\"\n [class.gap-1]=\"size === 'm'\"\n >\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"name mb-auto\"\n >\n {{ product.name }}\n </a>\n\n <sc-noindex-wrapper>\n <span\n *ngIf=\"product.supplierSku\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F: {{ product.supplierSku }}\n </span>\n\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n tuiHintDirection=\"top\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n </sc-noindex-wrapper>\n\n <sc-cost-with-discount\n [product]=\"product\"\n [size]=\"size\"\n />\n\n <sc-noindex-wrapper>\n <sc-price-warehouse-stock [product]=\"product\" />\n </sc-noindex-wrapper>\n </div>\n\n <sc-noindex-wrapper>\n <div class=\"mt-2 flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"showLoader()\"\n [size]=\"getToCartButtonSize()\"\n class=\"grow !font-extrabold\"\n iconStart=\"@tui.shopping-cart\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n [size]=\"size\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"showLoader()\"\n (clickClearEvent)=\"clickClearEvent.emit(orderItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"orderItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </sc-noindex-wrapper>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host[data-size=s] .card-wrapper{font-size:.6875rem;line-height:1rem;font-weight:500}:host[data-size=s] .card-wrapper .name,:host[data-size=s] .card-wrapper .cost{font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=m] .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host[data-size=m] .card-wrapper .name,:host[data-size=m] .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: TuiHighlight, selector: "[tuiHighlight]", inputs: ["tuiHighlight", "tuiHighlightColor"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "component", type: ScHoverImageCarouselComponent, selector: "sc-hover-image-carousel", inputs: ["images", "isShowActions", "productName"] }, { kind: "component", type: CostWithDiscountComponent, selector: "sc-cost-with-discount", inputs: ["product", "size"] }, { kind: "component", type: ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint", "fromMain"] }, { kind: "component", type: ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "component", type: ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "showLoader", "showCross", "ignoreStepValidators", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }, { kind: "component", type: ScNoindexWrapperComponent, selector: "sc-noindex-wrapper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScPriceCardComponent, isStandalone: true, selector: "sc-price-card", inputs: { size: "size" }, host: { properties: { "attr.data-size": "this.size" } }, providers: [SEARCH_TERM_PROVIDERS], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"\n>\n <sc-noindex-wrapper>\n <div class=\"flex min-h-8 items-center justify-between\">\n <span\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"code text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </span>\n\n <div class=\"flex items-center\">\n <tui-icon\n *ngIf=\"product.isPreviouslyOrdered\"\n icon=\"@tui.history\"\n class=\"text-lg\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader()\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n </div>\n </sc-noindex-wrapper>\n\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n class=\"cursor-pointer\"\n />\n\n <div\n class=\"flex grow flex-col justify-end\"\n [class.gap-1]=\"size === 'm'\"\n >\n <div\n class=\"flex grow flex-col\"\n [class.gap-1]=\"size === 'm'\"\n >\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"name mb-auto\"\n >\n {{ product.name }}\n </a>\n\n <sc-noindex-wrapper>\n <span\n *ngIf=\"product.supplierSku\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F: {{ product.supplierSku }}\n </span>\n\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n tuiHintDirection=\"top\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n </sc-noindex-wrapper>\n\n <sc-cost-with-discount\n [product]=\"product\"\n [size]=\"size\"\n />\n\n <sc-noindex-wrapper>\n <sc-price-warehouse-stock [product]=\"product\" />\n </sc-noindex-wrapper>\n </div>\n\n <sc-noindex-wrapper>\n <div class=\"mt-2 flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"showLoader()\"\n [size]=\"getToCartButtonSize()\"\n class=\"grow !font-extrabold\"\n iconStart=\"@tui.shopping-cart\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n [size]=\"size\"\n [step]=\"ScUnitsHelper.getProductMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"showLoader()\"\n (clickClearEvent)=\"clickClearEvent.emit(orderItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"orderItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </sc-noindex-wrapper>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host[data-size=s] .card-wrapper{font-size:.6875rem;line-height:1rem;font-weight:500}:host[data-size=s] .card-wrapper .name,:host[data-size=s] .card-wrapper .cost{font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=m] .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host[data-size=m] .card-wrapper .name,:host[data-size=m] .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: TuiHighlight, selector: "[tuiHighlight]", inputs: ["tuiHighlight", "tuiHighlightColor"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "component", type: ScHoverImageCarouselComponent, selector: "sc-hover-image-carousel", inputs: ["images", "isShowActions", "productName"] }, { kind: "component", type: CostWithDiscountComponent, selector: "sc-cost-with-discount", inputs: ["product", "size"] }, { kind: "component", type: ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint", "fromMain"] }, { kind: "component", type: ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "component", type: ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "showLoader", "showCross", "ignoreStepValidators", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }, { kind: "component", type: ScNoindexWrapperComponent, selector: "sc-noindex-wrapper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
46
  }
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPriceCardComponent, decorators: [{
48
48
  type: Component,
@@ -63,11 +63,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
63
63
  ScFavoriteButtonComponent,
64
64
  ScInputQuantityComponent,
65
65
  ScNoindexWrapperComponent,
66
- ], template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"\n>\n <sc-noindex-wrapper>\n <div class=\"flex min-h-8 items-center justify-between\">\n <span\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"code text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </span>\n\n <div class=\"flex items-center\">\n <tui-icon\n *ngIf=\"product.isPreviouslyOrdered\"\n icon=\"@tui.history\"\n class=\"text-lg\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader()\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n </div>\n </sc-noindex-wrapper>\n\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n class=\"cursor-pointer\"\n />\n\n <div\n class=\"flex grow flex-col justify-end\"\n [class.gap-1]=\"size === 'm'\"\n >\n <div\n class=\"flex grow flex-col\"\n [class.gap-1]=\"size === 'm'\"\n >\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"name mb-auto\"\n >\n {{ product.name }}\n </a>\n\n <sc-noindex-wrapper>\n <span\n *ngIf=\"product.supplierSku\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F: {{ product.supplierSku }}\n </span>\n\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n tuiHintDirection=\"top\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n </sc-noindex-wrapper>\n\n <sc-cost-with-discount\n [product]=\"product\"\n [size]=\"size\"\n />\n\n <sc-noindex-wrapper>\n <sc-price-warehouse-stock [product]=\"product\" />\n </sc-noindex-wrapper>\n </div>\n\n <sc-noindex-wrapper>\n <div class=\"mt-2 flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"showLoader()\"\n [size]=\"getToCartButtonSize()\"\n class=\"grow !font-extrabold\"\n iconStart=\"@tui.shopping-cart\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n [size]=\"size\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"showLoader()\"\n (clickClearEvent)=\"clickClearEvent.emit(orderItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"orderItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </sc-noindex-wrapper>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host[data-size=s] .card-wrapper{font-size:.6875rem;line-height:1rem;font-weight:500}:host[data-size=s] .card-wrapper .name,:host[data-size=s] .card-wrapper .cost{font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=m] .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host[data-size=m] .card-wrapper .name,:host[data-size=m] .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"] }]
66
+ ], template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"\n>\n <sc-noindex-wrapper>\n <div class=\"flex min-h-8 items-center justify-between\">\n <span\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"code text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </span>\n\n <div class=\"flex items-center\">\n <tui-icon\n *ngIf=\"product.isPreviouslyOrdered\"\n icon=\"@tui.history\"\n class=\"text-lg\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader()\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n </div>\n </sc-noindex-wrapper>\n\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n class=\"cursor-pointer\"\n />\n\n <div\n class=\"flex grow flex-col justify-end\"\n [class.gap-1]=\"size === 'm'\"\n >\n <div\n class=\"flex grow flex-col\"\n [class.gap-1]=\"size === 'm'\"\n >\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"name mb-auto\"\n >\n {{ product.name }}\n </a>\n\n <sc-noindex-wrapper>\n <span\n *ngIf=\"product.supplierSku\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F: {{ product.supplierSku }}\n </span>\n\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n tuiHintDirection=\"top\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n </sc-noindex-wrapper>\n\n <sc-cost-with-discount\n [product]=\"product\"\n [size]=\"size\"\n />\n\n <sc-noindex-wrapper>\n <sc-price-warehouse-stock [product]=\"product\" />\n </sc-noindex-wrapper>\n </div>\n\n <sc-noindex-wrapper>\n <div class=\"mt-2 flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"showLoader()\"\n [size]=\"getToCartButtonSize()\"\n class=\"grow !font-extrabold\"\n iconStart=\"@tui.shopping-cart\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n [size]=\"size\"\n [step]=\"ScUnitsHelper.getProductMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"showLoader()\"\n (clickClearEvent)=\"clickClearEvent.emit(orderItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"orderItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </sc-noindex-wrapper>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host[data-size=s] .card-wrapper{font-size:.6875rem;line-height:1rem;font-weight:500}:host[data-size=s] .card-wrapper .name,:host[data-size=s] .card-wrapper .cost{font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=m] .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host[data-size=m] .card-wrapper .name,:host[data-size=m] .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"] }]
67
67
  }], propDecorators: { size: [{
68
68
  type: Input
69
69
  }, {
70
70
  type: HostBinding,
71
71
  args: ['attr.data-size']
72
72
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9wcmljZS1jYXJkL3NjLXByaWNlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7O0FBRS9GOztHQUVHO0FBMkJILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUExQjdEOztRQTJCSTs7V0FFRztRQUdJLFNBQUksR0FBd0IsR0FBRyxDQUFDO0tBaUIxQztJQWZHOztPQUVHO0lBQ08sbUJBQW1CO1FBQ3pCLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLEtBQUssR0FBRztnQkFDSixPQUFPLElBQUksQ0FBQztZQUNoQixLQUFLLEdBQUc7Z0JBQ0osT0FBTyxHQUFHLENBQUM7WUFDZixLQUFLLEdBQUc7Z0JBQ0osT0FBTyxHQUFHLENBQUM7WUFDZjtnQkFDSSxPQUFPLEdBQUcsQ0FBQztRQUNuQixDQUFDO0lBQ0wsQ0FBQzsrR0F0QlEsb0JBQW9CO21HQUFwQixvQkFBb0IsK0lBckJsQixDQUFDLHFCQUFxQixDQUFDLGlEQ3ZCdEMsZzdLQXVJQSxpb0JEN0dRLFlBQVksdUxBQ1osV0FBVyxzSUFDWCxtQkFBbUIsa05BQ25CLFNBQVMsb0lBQ1QsT0FBTywwUkFFUCxPQUFPLDRGQUNQLFlBQVksMEdBQ1osZ0JBQWdCLHVIQUNoQixTQUFTLHdIQUNULDZCQUE2Qix3SEFDN0IseUJBQXlCLCtGQUN6Qiw4QkFBOEIsb0lBQzlCLHlCQUF5QiwwSUFDekIsd0JBQXdCLHFNQUN4Qix5QkFBeUI7OzRGQUdwQixvQkFBb0I7a0JBMUJoQyxTQUFTO2lDQUNNLElBQUksWUFDTixlQUFlLGFBR2QsQ0FBQyxxQkFBcUIsQ0FBQyxtQkFDakIsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULE9BQU87d0JBQ1AsR0FBRyxPQUFPO3dCQUNWLE9BQU87d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsNkJBQTZCO3dCQUM3Qix5QkFBeUI7d0JBQ3pCLDhCQUE4Qjt3QkFDOUIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLHlCQUF5QjtxQkFDNUI7OEJBUU0sSUFBSTtzQkFGVixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU0VBUkNIX1RFUk1fUFJPVklERVJTIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlCdXR0b24sIFR1aUhpbnQsIFR1aUljb24sIFR1aUxpbmssIFR1aVNpemVMLCBUdWlTaXplUyB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUF2YXRhciwgVHVpQnV0dG9uTG9hZGluZywgVHVpSGlnaGxpZ2h0IH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5cbmltcG9ydCB7IEFic3RyYWN0U2NQcmljZUNhcmQgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFNjTm9pbmRleFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9ub2luZGV4LXdyYXBwZXInO1xuaW1wb3J0IHsgQ29zdFdpdGhEaXNjb3VudENvbXBvbmVudCB9IGZyb20gJy4uL2Nvc3Qtd2l0aC1kaXNjb3VudC9jb3N0LXdpdGgtZGlzY291bnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSG92ZXJJbWFnZUNhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnLi4vaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LXF1YW50aXR5L3NjLWlucHV0LXF1YW50aXR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQgfSBmcm9tICcuLi9wcmljZS13YXJlaG91c2Utc3RvY2svc2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY0Zhdm9yaXRlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2MtZmF2b3JpdGUtYnV0dG9uL3NjLWZhdm9yaXRlLWJ1dHRvbi5jb21wb25lbnQnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc2MtcHJpY2UtY2FyZC5jb21wb25lbnQuc2NzcycsXG4gICAgcHJvdmlkZXJzOiBbU0VBUkNIX1RFUk1fUFJPVklERVJTXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpSWNvbixcbiAgICAgICAgLi4uVHVpSGludCxcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpSGlnaGxpZ2h0LFxuICAgICAgICBUdWlCdXR0b25Mb2FkaW5nLFxuICAgICAgICBUdWlBdmF0YXIsXG4gICAgICAgIFNjSG92ZXJJbWFnZUNhcm91c2VsQ29tcG9uZW50LFxuICAgICAgICBDb3N0V2l0aERpc2NvdW50Q29tcG9uZW50LFxuICAgICAgICBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQsXG4gICAgICAgIFNjRmF2b3JpdGVCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCxcbiAgICAgICAgU2NOb2luZGV4V3JhcHBlckNvbXBvbmVudCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTY1ByaWNlQ2FyZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0U2NQcmljZUNhcmQge1xuICAgIC8qKlxuICAgICAqINCg0LDQt9C80LXRgCDQutC+0LzQv9C+0L3QtdC90YLQsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplUyB8IFR1aVNpemVMID0gJ20nO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YDQsNC30LzQtdGAINC60L3QvtC/0LrQuCBcItCSINC60L7RgNC30LjQvdGDXCIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldFRvQ2FydEJ1dHRvblNpemUoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5zaXplKSB7XG4gICAgICAgICAgICBjYXNlICdzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3hzJztcbiAgICAgICAgICAgIGNhc2UgJ20nOlxuICAgICAgICAgICAgICAgIHJldHVybiAncyc7XG4gICAgICAgICAgICBjYXNlICdsJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ20nO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3MnO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwicHJvZHVjdDsgZWxzZSBza2VsZXRvblwiXG4gICAgY2xhc3M9XCJjYXJkLXdyYXBwZXIgcmVsYXRpdmUgZmxleCBoLWZ1bGwgdy1hdXRvIGZsZXgtY29sIHJvdW5kZWQteGwgcC0xXCJcbj5cbiAgICA8c2Mtbm9pbmRleC13cmFwcGVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBtaW4taC04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW3R1aUhpZ2hsaWdodF09XCIoc2VhcmNoJCB8IGFzeW5jKSA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb2RlIHRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCQ0YDRgtC40LrRg9C7OiB7eyBwcm9kdWN0LmNvZGUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5pc1ByZXZpb3VzbHlPcmRlcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cIkB0dWkuaGlzdG9yeVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1sZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCIndmFyKC0tdHVpLXRleHQtYWN0aW9uKSdcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHNjLWZhdm9yaXRlLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImF1dGhTdGF0dXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tFdmVudCk9XCJjbGlja0Zhdm9yaXRlRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwiZmF2b3JpdGVTaG93TG9hZGVyKClcIlxuICAgICAgICAgICAgICAgICAgICBbaXNGYXZvcml0ZV09XCJwcm9kdWN0LmlzRmF2b3JpdGVcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFwcm9kdWN0LnByaW1hcnlDYXRlZ29yeT8uaXNGYXZvcml0ZVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NjLW5vaW5kZXgtd3JhcHBlcj5cblxuICAgIDxzYy1ob3Zlci1pbWFnZS1jYXJvdXNlbFxuICAgICAgICAoY2xpY2spPVwiY2xpY2tDYXJkRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgW2ltYWdlc109XCIhaXNNb2JpbGUgPyBnZXRDYXJkSW1hZ2VQcmV2aWV3TGlzdChwcm9kdWN0KSA6IFtnZXRDYXJkSW1hZ2VQcmV2aWV3KCldXCJcbiAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXG4gICAgLz5cblxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmbGV4IGdyb3cgZmxleC1jb2wganVzdGlmeS1lbmRcIlxuICAgICAgICBbY2xhc3MuZ2FwLTFdPVwic2l6ZSA9PT0gJ20nXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBncm93IGZsZXgtY29sXCJcbiAgICAgICAgICAgIFtjbGFzcy5nYXAtMV09XCJzaXplID09PSAnbSdcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cImhyZWYgPz8gbnVsbFwiXG4gICAgICAgICAgICAgICAgW3R1aUhpZ2hsaWdodF09XCIoc2VhcmNoJCB8IGFzeW5jKSA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBjbGlja0NhcmRFdmVudC5lbWl0KClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmFtZSBtYi1hdXRvXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBwcm9kdWN0Lm5hbWUgfX1cbiAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgPHNjLW5vaW5kZXgtd3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3Quc3VwcGxpZXJTa3VcIlxuICAgICAgICAgICAgICAgICAgICBbdHVpSGlnaGxpZ2h0XT1cIihzZWFyY2gkIHwgYXN5bmMpID8/ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXR1aS10ZXh0LTAyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgINCQ0YDRgtC40LrRg9C7INC/0YDQvtC40LfQstC+0LTQuNGC0LXQu9GPOiB7eyBwcm9kdWN0LnN1cHBsaWVyU2t1IH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3Q/LnBhY2tcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIHRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAg0J3QvtGA0LzQsCDRg9C/0LDQutC+0LLQutC4OiB7eyBwcm9kdWN0LnBhY2sgfX1cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3QuaWdub3JlTWluQ291bnRDaGVja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiQHR1aS5wYWNrYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlIaW50XT1cIm1pbkNvdW50SGludFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHVpSGludFNob3dEZWxheV09XCIxMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHkteGwgdGV4dC10dWktdGV4dC0wMSBvcGFjaXR5LTkwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUhpbnREaXJlY3Rpb249XCJ0b3BcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI21pbkNvdW50SGludD5cbiAgICAgICAgICAgICAgICAgICAgICAgINCU0L7RgdGC0YPQv9C10L0g0LfQsNC60LDQtyA8YnIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgINC/0YDQvtC40LfQstC+0LvRjNC90L7Qs9C+IDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAg0LrQvtC70LjRh9C10YHRgtCy0LBcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvc2Mtbm9pbmRleC13cmFwcGVyPlxuXG4gICAgICAgICAgICA8c2MtY29zdC13aXRoLWRpc2NvdW50XG4gICAgICAgICAgICAgICAgW3Byb2R1Y3RdPVwicHJvZHVjdFwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8c2Mtbm9pbmRleC13cmFwcGVyPlxuICAgICAgICAgICAgICAgIDxzYy1wcmljZS13YXJlaG91c2Utc3RvY2sgW3Byb2R1Y3RdPVwicHJvZHVjdFwiIC8+XG4gICAgICAgICAgICA8L3NjLW5vaW5kZXgtd3JhcHBlcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPHNjLW5vaW5kZXgtd3JhcHBlcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGZsZXggZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIXNob3dRdWFudGl0eUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrQWRkVG9DYXJ0RXZlbnQuZW1pdChwcm9kdWN0KVwiXG4gICAgICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cInNob3dMb2FkZXIoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtzaXplXT1cImdldFRvQ2FydEJ1dHRvblNpemUoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdyAhZm9udC1leHRyYWJvbGRcIlxuICAgICAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnNob3BwaW5nLWNhcnRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAg0JIg0LrQvtGA0LfQuNC90YNcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8c2MtaW5wdXQtcXVhbnRpdHlcbiAgICAgICAgICAgICAgICAgICAgI2lucHV0UXVhbnRpdHlcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93UXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInF1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICAgICAgICAgICAgICBbc3RlcF09XCJ1bml0c0hlbHBlci5wcm9kdWN0TXVsdGlwbGljaXR5KHByb2R1Y3QpXCJcbiAgICAgICAgICAgICAgICAgICAgW2lnbm9yZVN0ZXBWYWxpZGF0b3JzXT1cInByb2R1Y3QuaWdub3JlTWluQ291bnRDaGVja1wiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cInNob3dMb2FkZXIoKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGlja0NsZWFyRXZlbnQpPVwiY2xpY2tDbGVhckV2ZW50LmVtaXQob3JkZXJJdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImlucHV0UXVhbnRpdHkubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uYmx1cigpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHR1aS1hdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJvcmRlckl0ZW0gJiYgIXNob3dRdWFudGl0eUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBzcmM9XCJAdHVpLmNoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCIndmFyKC0tdHVpLXN0YXR1cy13YXJuaW5nLXBhbGUpJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCIndmFyKC0tdHVpLWJhY2tncm91bmQtYWNjZW50LTEpJ1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NjLW5vaW5kZXgtd3JhcHBlcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NrZWxldG9uPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLXdyYXBwZXIgcmVsYXRpdmUgZmxleCBoLWZ1bGwgdy1hdXRvIGZsZXgtY29sIHJvdW5kZWQteGwgcC0xXCI+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9wcmljZS1jYXJkL3NjLXByaWNlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7O0FBRS9GOztHQUVHO0FBMkJILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUExQjdEOztRQTJCSTs7V0FFRztRQUdJLFNBQUksR0FBd0IsR0FBRyxDQUFDO0tBaUIxQztJQWZHOztPQUVHO0lBQ08sbUJBQW1CO1FBQ3pCLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLEtBQUssR0FBRztnQkFDSixPQUFPLElBQUksQ0FBQztZQUNoQixLQUFLLEdBQUc7Z0JBQ0osT0FBTyxHQUFHLENBQUM7WUFDZixLQUFLLEdBQUc7Z0JBQ0osT0FBTyxHQUFHLENBQUM7WUFDZjtnQkFDSSxPQUFPLEdBQUcsQ0FBQztRQUNuQixDQUFDO0lBQ0wsQ0FBQzsrR0F0QlEsb0JBQW9CO21HQUFwQixvQkFBb0IsK0lBckJsQixDQUFDLHFCQUFxQixDQUFDLGlEQ3ZCdEMscTdLQXVJQSxpb0JEN0dRLFlBQVksdUxBQ1osV0FBVyxzSUFDWCxtQkFBbUIsa05BQ25CLFNBQVMsb0lBQ1QsT0FBTywwUkFFUCxPQUFPLDRGQUNQLFlBQVksMEdBQ1osZ0JBQWdCLHVIQUNoQixTQUFTLHdIQUNULDZCQUE2Qix3SEFDN0IseUJBQXlCLCtGQUN6Qiw4QkFBOEIsb0lBQzlCLHlCQUF5QiwwSUFDekIsd0JBQXdCLHFNQUN4Qix5QkFBeUI7OzRGQUdwQixvQkFBb0I7a0JBMUJoQyxTQUFTO2lDQUNNLElBQUksWUFDTixlQUFlLGFBR2QsQ0FBQyxxQkFBcUIsQ0FBQyxtQkFDakIsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULE9BQU87d0JBQ1AsR0FBRyxPQUFPO3dCQUNWLE9BQU87d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsNkJBQTZCO3dCQUM3Qix5QkFBeUI7d0JBQ3pCLDhCQUE4Qjt3QkFDOUIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLHlCQUF5QjtxQkFDNUI7OEJBUU0sSUFBSTtzQkFGVixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU0VBUkNIX1RFUk1fUFJPVklERVJTIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlCdXR0b24sIFR1aUhpbnQsIFR1aUljb24sIFR1aUxpbmssIFR1aVNpemVMLCBUdWlTaXplUyB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUF2YXRhciwgVHVpQnV0dG9uTG9hZGluZywgVHVpSGlnaGxpZ2h0IH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5cbmltcG9ydCB7IEFic3RyYWN0U2NQcmljZUNhcmQgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFNjTm9pbmRleFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9ub2luZGV4LXdyYXBwZXInO1xuaW1wb3J0IHsgQ29zdFdpdGhEaXNjb3VudENvbXBvbmVudCB9IGZyb20gJy4uL2Nvc3Qtd2l0aC1kaXNjb3VudC9jb3N0LXdpdGgtZGlzY291bnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSG92ZXJJbWFnZUNhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnLi4vaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LXF1YW50aXR5L3NjLWlucHV0LXF1YW50aXR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQgfSBmcm9tICcuLi9wcmljZS13YXJlaG91c2Utc3RvY2svc2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY0Zhdm9yaXRlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2MtZmF2b3JpdGUtYnV0dG9uL3NjLWZhdm9yaXRlLWJ1dHRvbi5jb21wb25lbnQnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc2MtcHJpY2UtY2FyZC5jb21wb25lbnQuc2NzcycsXG4gICAgcHJvdmlkZXJzOiBbU0VBUkNIX1RFUk1fUFJPVklERVJTXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpSWNvbixcbiAgICAgICAgLi4uVHVpSGludCxcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpSGlnaGxpZ2h0LFxuICAgICAgICBUdWlCdXR0b25Mb2FkaW5nLFxuICAgICAgICBUdWlBdmF0YXIsXG4gICAgICAgIFNjSG92ZXJJbWFnZUNhcm91c2VsQ29tcG9uZW50LFxuICAgICAgICBDb3N0V2l0aERpc2NvdW50Q29tcG9uZW50LFxuICAgICAgICBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQsXG4gICAgICAgIFNjRmF2b3JpdGVCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCxcbiAgICAgICAgU2NOb2luZGV4V3JhcHBlckNvbXBvbmVudCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTY1ByaWNlQ2FyZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0U2NQcmljZUNhcmQge1xuICAgIC8qKlxuICAgICAqINCg0LDQt9C80LXRgCDQutC+0LzQv9C+0L3QtdC90YLQsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplUyB8IFR1aVNpemVMID0gJ20nO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YDQsNC30LzQtdGAINC60L3QvtC/0LrQuCBcItCSINC60L7RgNC30LjQvdGDXCIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldFRvQ2FydEJ1dHRvblNpemUoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5zaXplKSB7XG4gICAgICAgICAgICBjYXNlICdzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3hzJztcbiAgICAgICAgICAgIGNhc2UgJ20nOlxuICAgICAgICAgICAgICAgIHJldHVybiAncyc7XG4gICAgICAgICAgICBjYXNlICdsJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ20nO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3MnO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwicHJvZHVjdDsgZWxzZSBza2VsZXRvblwiXG4gICAgY2xhc3M9XCJjYXJkLXdyYXBwZXIgcmVsYXRpdmUgZmxleCBoLWZ1bGwgdy1hdXRvIGZsZXgtY29sIHJvdW5kZWQteGwgcC0xXCJcbj5cbiAgICA8c2Mtbm9pbmRleC13cmFwcGVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBtaW4taC04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW3R1aUhpZ2hsaWdodF09XCIoc2VhcmNoJCB8IGFzeW5jKSA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb2RlIHRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCQ0YDRgtC40LrRg9C7OiB7eyBwcm9kdWN0LmNvZGUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5pc1ByZXZpb3VzbHlPcmRlcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cIkB0dWkuaGlzdG9yeVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1sZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCIndmFyKC0tdHVpLXRleHQtYWN0aW9uKSdcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHNjLWZhdm9yaXRlLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImF1dGhTdGF0dXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tFdmVudCk9XCJjbGlja0Zhdm9yaXRlRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwiZmF2b3JpdGVTaG93TG9hZGVyKClcIlxuICAgICAgICAgICAgICAgICAgICBbaXNGYXZvcml0ZV09XCJwcm9kdWN0LmlzRmF2b3JpdGVcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFwcm9kdWN0LnByaW1hcnlDYXRlZ29yeT8uaXNGYXZvcml0ZVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NjLW5vaW5kZXgtd3JhcHBlcj5cblxuICAgIDxzYy1ob3Zlci1pbWFnZS1jYXJvdXNlbFxuICAgICAgICAoY2xpY2spPVwiY2xpY2tDYXJkRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgW2ltYWdlc109XCIhaXNNb2JpbGUgPyBnZXRDYXJkSW1hZ2VQcmV2aWV3TGlzdChwcm9kdWN0KSA6IFtnZXRDYXJkSW1hZ2VQcmV2aWV3KCldXCJcbiAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXG4gICAgLz5cblxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmbGV4IGdyb3cgZmxleC1jb2wganVzdGlmeS1lbmRcIlxuICAgICAgICBbY2xhc3MuZ2FwLTFdPVwic2l6ZSA9PT0gJ20nXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBncm93IGZsZXgtY29sXCJcbiAgICAgICAgICAgIFtjbGFzcy5nYXAtMV09XCJzaXplID09PSAnbSdcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cImhyZWYgPz8gbnVsbFwiXG4gICAgICAgICAgICAgICAgW3R1aUhpZ2hsaWdodF09XCIoc2VhcmNoJCB8IGFzeW5jKSA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBjbGlja0NhcmRFdmVudC5lbWl0KClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmFtZSBtYi1hdXRvXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBwcm9kdWN0Lm5hbWUgfX1cbiAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgPHNjLW5vaW5kZXgtd3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3Quc3VwcGxpZXJTa3VcIlxuICAgICAgICAgICAgICAgICAgICBbdHVpSGlnaGxpZ2h0XT1cIihzZWFyY2gkIHwgYXN5bmMpID8/ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXR1aS10ZXh0LTAyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgINCQ0YDRgtC40LrRg9C7INC/0YDQvtC40LfQstC+0LTQuNGC0LXQu9GPOiB7eyBwcm9kdWN0LnN1cHBsaWVyU2t1IH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3Q/LnBhY2tcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIHRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAg0J3QvtGA0LzQsCDRg9C/0LDQutC+0LLQutC4OiB7eyBwcm9kdWN0LnBhY2sgfX1cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3QuaWdub3JlTWluQ291bnRDaGVja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiQHR1aS5wYWNrYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlIaW50XT1cIm1pbkNvdW50SGludFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHVpSGludFNob3dEZWxheV09XCIxMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHkteGwgdGV4dC10dWktdGV4dC0wMSBvcGFjaXR5LTkwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUhpbnREaXJlY3Rpb249XCJ0b3BcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI21pbkNvdW50SGludD5cbiAgICAgICAgICAgICAgICAgICAgICAgINCU0L7RgdGC0YPQv9C10L0g0LfQsNC60LDQtyA8YnIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgINC/0YDQvtC40LfQstC+0LvRjNC90L7Qs9C+IDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAg0LrQvtC70LjRh9C10YHRgtCy0LBcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvc2Mtbm9pbmRleC13cmFwcGVyPlxuXG4gICAgICAgICAgICA8c2MtY29zdC13aXRoLWRpc2NvdW50XG4gICAgICAgICAgICAgICAgW3Byb2R1Y3RdPVwicHJvZHVjdFwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8c2Mtbm9pbmRleC13cmFwcGVyPlxuICAgICAgICAgICAgICAgIDxzYy1wcmljZS13YXJlaG91c2Utc3RvY2sgW3Byb2R1Y3RdPVwicHJvZHVjdFwiIC8+XG4gICAgICAgICAgICA8L3NjLW5vaW5kZXgtd3JhcHBlcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPHNjLW5vaW5kZXgtd3JhcHBlcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGZsZXggZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIXNob3dRdWFudGl0eUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrQWRkVG9DYXJ0RXZlbnQuZW1pdChwcm9kdWN0KVwiXG4gICAgICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cInNob3dMb2FkZXIoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtzaXplXT1cImdldFRvQ2FydEJ1dHRvblNpemUoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdyAhZm9udC1leHRyYWJvbGRcIlxuICAgICAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnNob3BwaW5nLWNhcnRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAg0JIg0LrQvtGA0LfQuNC90YNcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8c2MtaW5wdXQtcXVhbnRpdHlcbiAgICAgICAgICAgICAgICAgICAgI2lucHV0UXVhbnRpdHlcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93UXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInF1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICAgICAgICAgICAgICBbc3RlcF09XCJTY1VuaXRzSGVscGVyLmdldFByb2R1Y3RNdWx0aXBsaWNpdHkocHJvZHVjdClcIlxuICAgICAgICAgICAgICAgICAgICBbaWdub3JlU3RlcFZhbGlkYXRvcnNdPVwicHJvZHVjdC5pZ25vcmVNaW5Db3VudENoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwic2hvd0xvYWRlcigpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrQ2xlYXJFdmVudCk9XCJjbGlja0NsZWFyRXZlbnQuZW1pdChvcmRlckl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiaW5wdXRRdWFudGl0eS5uYXRpdmVGb2N1c2FibGVFbGVtZW50Py5ibHVyKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8dHVpLWF2YXRhclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9yZGVySXRlbSAmJiAhc2hvd1F1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cIkB0dWkuY2hlY2tcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIid2YXIoLS10dWktc3RhdHVzLXdhcm5pbmctcGFsZSknXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIid2YXIoLS10dWktYmFja2dyb3VuZC1hY2NlbnQtMSknXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2Mtbm9pbmRleC13cmFwcGVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2tlbGV0b24+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtd3JhcHBlciByZWxhdGl2ZSBmbGV4IGgtZnVsbCB3LWF1dG8gZmxleC1jb2wgcm91bmRlZC14bCBwLTFcIj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -27,7 +27,7 @@ export class ScPriceCardInlineComponent extends AbstractScPriceCard {
27
27
  this.type = input('catalogItem');
28
28
  }
29
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPriceCardInlineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ScPriceCardInlineComponent, isStandalone: true, selector: "sc-price-card-inline", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SEARCH_TERM_PROVIDERS], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex w-full gap-4 rounded-xl p-1 hover:bg-tui-background-neutral-1\"\n>\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n [isShowActions]=\"false\"\n class=\"size-24 shrink-0 cursor-pointer self-center\"\n />\n <div class=\"flex grow flex-col gap-1\">\n <sc-noindex-wrapper>\n <div\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </div>\n </sc-noindex-wrapper>\n\n <div class=\"flex flex-col gap-1\">\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"!text-body-m-bold\"\n >\n {{ product.name }}\n </a>\n\n <sc-noindex-wrapper>\n <span\n *ngIf=\"product.supplierSku\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F: {{ product.supplierSku }}\n </span>\n\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n </sc-noindex-wrapper>\n\n <sc-cost-with-discount [product]=\"product\" />\n\n <sc-noindex-wrapper>\n <sc-price-warehouse-stock [product]=\"product\" />\n </sc-noindex-wrapper>\n </div>\n </div>\n\n <sc-noindex-wrapper>\n <div class=\"flex w-40 shrink-0 flex-col justify-between\">\n <div class=\"flex justify-end\">\n <tui-avatar\n *ngIf=\"product.isPreviouslyOrdered\"\n src=\"@tui.history\"\n size=\"s\"\n [style.background]=\"'none'\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader()\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n <div class=\"flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"showLoader()\"\n size=\"s\"\n iconStart=\"@tui.shopping-cart\"\n class=\"grow !font-extrabold\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n [tuiAutoFocus]=\"autoFocuseQuantityInput()\"\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n size=\"m\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"showLoader()\"\n (clickClearEvent)=\"clickClearEvent.emit(orderItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"orderItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </div>\n </sc-noindex-wrapper>\n</div>\n\n<ng-template #skeleton>\n <div class=\"tui-skeleton flex h-[8.25rem] w-full overflow-hidden rounded-xl\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host .card-wrapper .name,:host .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: TuiHighlight, selector: "[tuiHighlight]", inputs: ["tuiHighlight", "tuiHighlightColor"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "component", type: ScHoverImageCarouselComponent, selector: "sc-hover-image-carousel", inputs: ["images", "isShowActions", "productName"] }, { kind: "component", type: CostWithDiscountComponent, selector: "sc-cost-with-discount", inputs: ["product", "size"] }, { kind: "component", type: ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint", "fromMain"] }, { kind: "component", type: ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "component", type: ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "showLoader", "showCross", "ignoreStepValidators", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }, { kind: "component", type: ScNoindexWrapperComponent, selector: "sc-noindex-wrapper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ScPriceCardInlineComponent, isStandalone: true, selector: "sc-price-card-inline", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SEARCH_TERM_PROVIDERS], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex w-full gap-4 rounded-xl p-1 hover:bg-tui-background-neutral-1\"\n>\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n [isShowActions]=\"false\"\n class=\"size-24 shrink-0 cursor-pointer self-center\"\n />\n <div class=\"flex grow flex-col gap-1\">\n <sc-noindex-wrapper>\n <div\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </div>\n </sc-noindex-wrapper>\n\n <div class=\"flex flex-col gap-1\">\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"!text-body-m-bold\"\n >\n {{ product.name }}\n </a>\n\n <sc-noindex-wrapper>\n <span\n *ngIf=\"product.supplierSku\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F: {{ product.supplierSku }}\n </span>\n\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n </sc-noindex-wrapper>\n\n <sc-cost-with-discount [product]=\"product\" />\n\n <sc-noindex-wrapper>\n <sc-price-warehouse-stock [product]=\"product\" />\n </sc-noindex-wrapper>\n </div>\n </div>\n\n <sc-noindex-wrapper>\n <div class=\"flex w-40 shrink-0 flex-col justify-between\">\n <div class=\"flex justify-end\">\n <tui-avatar\n *ngIf=\"product.isPreviouslyOrdered\"\n src=\"@tui.history\"\n size=\"s\"\n [style.background]=\"'none'\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader()\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n <div class=\"flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"showLoader()\"\n size=\"s\"\n iconStart=\"@tui.shopping-cart\"\n class=\"grow !font-extrabold\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n [tuiAutoFocus]=\"autoFocuseQuantityInput()\"\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n size=\"m\"\n [step]=\"ScUnitsHelper.getProductMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"showLoader()\"\n (clickClearEvent)=\"clickClearEvent.emit(orderItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"orderItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </div>\n </sc-noindex-wrapper>\n</div>\n\n<ng-template #skeleton>\n <div class=\"tui-skeleton flex h-[8.25rem] w-full overflow-hidden rounded-xl\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host .card-wrapper .name,:host .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: TuiHighlight, selector: "[tuiHighlight]", inputs: ["tuiHighlight", "tuiHighlightColor"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "component", type: ScHoverImageCarouselComponent, selector: "sc-hover-image-carousel", inputs: ["images", "isShowActions", "productName"] }, { kind: "component", type: CostWithDiscountComponent, selector: "sc-cost-with-discount", inputs: ["product", "size"] }, { kind: "component", type: ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint", "fromMain"] }, { kind: "component", type: ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "component", type: ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "showLoader", "showCross", "ignoreStepValidators", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }, { kind: "component", type: ScNoindexWrapperComponent, selector: "sc-noindex-wrapper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPriceCardInlineComponent, decorators: [{
33
33
  type: Component,
@@ -51,6 +51,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
51
51
  ScFavoriteButtonComponent,
52
52
  ScInputQuantityComponent,
53
53
  ScNoindexWrapperComponent,
54
- ], template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex w-full gap-4 rounded-xl p-1 hover:bg-tui-background-neutral-1\"\n>\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n [isShowActions]=\"false\"\n class=\"size-24 shrink-0 cursor-pointer self-center\"\n />\n <div class=\"flex grow flex-col gap-1\">\n <sc-noindex-wrapper>\n <div\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </div>\n </sc-noindex-wrapper>\n\n <div class=\"flex flex-col gap-1\">\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"!text-body-m-bold\"\n >\n {{ product.name }}\n </a>\n\n <sc-noindex-wrapper>\n <span\n *ngIf=\"product.supplierSku\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F: {{ product.supplierSku }}\n </span>\n\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n </sc-noindex-wrapper>\n\n <sc-cost-with-discount [product]=\"product\" />\n\n <sc-noindex-wrapper>\n <sc-price-warehouse-stock [product]=\"product\" />\n </sc-noindex-wrapper>\n </div>\n </div>\n\n <sc-noindex-wrapper>\n <div class=\"flex w-40 shrink-0 flex-col justify-between\">\n <div class=\"flex justify-end\">\n <tui-avatar\n *ngIf=\"product.isPreviouslyOrdered\"\n src=\"@tui.history\"\n size=\"s\"\n [style.background]=\"'none'\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader()\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n <div class=\"flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"showLoader()\"\n size=\"s\"\n iconStart=\"@tui.shopping-cart\"\n class=\"grow !font-extrabold\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n [tuiAutoFocus]=\"autoFocuseQuantityInput()\"\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n size=\"m\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"showLoader()\"\n (clickClearEvent)=\"clickClearEvent.emit(orderItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"orderItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </div>\n </sc-noindex-wrapper>\n</div>\n\n<ng-template #skeleton>\n <div class=\"tui-skeleton flex h-[8.25rem] w-full overflow-hidden rounded-xl\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host .card-wrapper .name,:host .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"] }]
54
+ ], template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex w-full gap-4 rounded-xl p-1 hover:bg-tui-background-neutral-1\"\n>\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n [isShowActions]=\"false\"\n class=\"size-24 shrink-0 cursor-pointer self-center\"\n />\n <div class=\"flex grow flex-col gap-1\">\n <sc-noindex-wrapper>\n <div\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </div>\n </sc-noindex-wrapper>\n\n <div class=\"flex flex-col gap-1\">\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"!text-body-m-bold\"\n >\n {{ product.name }}\n </a>\n\n <sc-noindex-wrapper>\n <span\n *ngIf=\"product.supplierSku\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F: {{ product.supplierSku }}\n </span>\n\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n </sc-noindex-wrapper>\n\n <sc-cost-with-discount [product]=\"product\" />\n\n <sc-noindex-wrapper>\n <sc-price-warehouse-stock [product]=\"product\" />\n </sc-noindex-wrapper>\n </div>\n </div>\n\n <sc-noindex-wrapper>\n <div class=\"flex w-40 shrink-0 flex-col justify-between\">\n <div class=\"flex justify-end\">\n <tui-avatar\n *ngIf=\"product.isPreviouslyOrdered\"\n src=\"@tui.history\"\n size=\"s\"\n [style.background]=\"'none'\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader()\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n <div class=\"flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"showLoader()\"\n size=\"s\"\n iconStart=\"@tui.shopping-cart\"\n class=\"grow !font-extrabold\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n [tuiAutoFocus]=\"autoFocuseQuantityInput()\"\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n size=\"m\"\n [step]=\"ScUnitsHelper.getProductMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"showLoader()\"\n (clickClearEvent)=\"clickClearEvent.emit(orderItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"orderItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </div>\n </sc-noindex-wrapper>\n</div>\n\n<ng-template #skeleton>\n <div class=\"tui-skeleton flex h-[8.25rem] w-full overflow-hidden rounded-xl\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host .card-wrapper .name,:host .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"] }]
55
55
  }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC1pbmxpbmUvc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC1pbmxpbmUvc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7O0FBRS9GOztHQUVHO0FBOEJILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxtQkFBbUI7SUE3Qm5FOztRQThCb0IsU0FBSSxHQUFHLEtBQUssQ0FBOEIsYUFBYSxDQUFDLENBQUM7S0FDNUU7K0dBRlksMEJBQTBCO21HQUExQiwwQkFBMEIsb01BeEJ4QixDQUFDLHFCQUFxQixDQUFDLGlEQzFCdEMsbTFLQThIQSxnWURqR1EsWUFBWSx1TEFDWixZQUFZLCtCQUNaLFNBQVMsb0lBQ1QsT0FBTyxvRkFDUCw0QkFBNEIsOEJBQzVCLFdBQVcsc0lBQ1gsbUJBQW1CLHVaQUVuQixPQUFPLDRGQUNQLFlBQVksMEdBQ1osWUFBWSxxRkFDWixnQkFBZ0IsdUhBQ2hCLFNBQVMsd0hBQ1QsNkJBQTZCLHdIQUM3Qix5QkFBeUIsK0ZBQ3pCLDhCQUE4QixvSUFDOUIseUJBQXlCLDBJQUN6Qix3QkFBd0IscU1BQ3hCLHlCQUF5Qjs7NEZBR3BCLDBCQUEwQjtrQkE3QnRDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLHNCQUFzQixhQUdyQixDQUFDLHFCQUFxQixDQUFDLG1CQUNqQix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNMLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixTQUFTO3dCQUNULE9BQU87d0JBQ1AsNEJBQTRCO3dCQUM1QixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsR0FBRyxPQUFPO3dCQUNWLE9BQU87d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCw2QkFBNkI7d0JBQzdCLHlCQUF5Qjt3QkFDekIsOEJBQThCO3dCQUM5Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3FCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU0VBUkNIX1RFUk1fUFJPVklERVJTIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlBdXRvRm9jdXMgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aUJ1dHRvbiwgVHVpSGludCwgVHVpSWNvbiwgVHVpTGluayB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUF2YXRhciwgVHVpQnV0dG9uTG9hZGluZywgVHVpSGlnaGxpZ2h0IH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQgeyBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlIH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeSc7XG5cbmltcG9ydCB7IEFic3RyYWN0U2NQcmljZUNhcmQgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFNjTm9pbmRleFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9ub2luZGV4LXdyYXBwZXInO1xuaW1wb3J0IHsgQ29zdFdpdGhEaXNjb3VudENvbXBvbmVudCB9IGZyb20gJy4uL2Nvc3Qtd2l0aC1kaXNjb3VudC9jb3N0LXdpdGgtZGlzY291bnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSG92ZXJJbWFnZUNhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnLi4vaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LXF1YW50aXR5L3NjLWlucHV0LXF1YW50aXR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQgfSBmcm9tICcuLi9wcmljZS13YXJlaG91c2Utc3RvY2svc2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY0Zhdm9yaXRlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2MtZmF2b3JpdGUtYnV0dG9uL3NjLWZhdm9yaXRlLWJ1dHRvbi5jb21wb25lbnQnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsCDQstC+INCy0YHRjiDRgdGC0YDQvtC60YMuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1wcmljZS1jYXJkLWlubGluZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByaWNlLWNhcmQtaW5saW5lLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LnNjc3MnLFxuICAgIHByb3ZpZGVyczogW1NFQVJDSF9URVJNX1BST1ZJREVSU10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlJY29uLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgLi4uVHVpSGludCxcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpSGlnaGxpZ2h0LFxuICAgICAgICBUdWlBdXRvRm9jdXMsXG4gICAgICAgIFR1aUJ1dHRvbkxvYWRpbmcsXG4gICAgICAgIFR1aUF2YXRhcixcbiAgICAgICAgU2NIb3ZlckltYWdlQ2Fyb3VzZWxDb21wb25lbnQsXG4gICAgICAgIENvc3RXaXRoRGlzY291bnRDb21wb25lbnQsXG4gICAgICAgIFNjUHJpY2VXYXJlaG91c2VTdG9ja0NvbXBvbmVudCxcbiAgICAgICAgU2NGYXZvcml0ZUJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgU2NJbnB1dFF1YW50aXR5Q29tcG9uZW50LFxuICAgICAgICBTY05vaW5kZXhXcmFwcGVyQ29tcG9uZW50LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJpY2VDYXJkSW5saW5lQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RTY1ByaWNlQ2FyZCB7XG4gICAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSBpbnB1dDwnY2F0YWxvZ0l0ZW0nIHwgJ29yZGVySXRlbSc+KCdjYXRhbG9nSXRlbScpO1xufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwicHJvZHVjdDsgZWxzZSBza2VsZXRvblwiXG4gICAgY2xhc3M9XCJjYXJkLXdyYXBwZXIgcmVsYXRpdmUgZmxleCB3LWZ1bGwgZ2FwLTQgcm91bmRlZC14bCBwLTEgaG92ZXI6YmctdHVpLWJhY2tncm91bmQtbmV1dHJhbC0xXCJcbj5cbiAgICA8c2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWxcbiAgICAgICAgKGNsaWNrKT1cImNsaWNrQ2FyZEV2ZW50LmVtaXQoKVwiXG4gICAgICAgIFtpbWFnZXNdPVwiIWlzTW9iaWxlID8gZ2V0Q2FyZEltYWdlUHJldmlld0xpc3QocHJvZHVjdCkgOiBbZ2V0Q2FyZEltYWdlUHJldmlldygpXVwiXG4gICAgICAgIFtpc1Nob3dBY3Rpb25zXT1cImZhbHNlXCJcbiAgICAgICAgY2xhc3M9XCJzaXplLTI0IHNocmluay0wIGN1cnNvci1wb2ludGVyIHNlbGYtY2VudGVyXCJcbiAgICAvPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdyb3cgZmxleC1jb2wgZ2FwLTFcIj5cbiAgICAgICAgPHNjLW5vaW5kZXgtd3JhcHBlcj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBbdHVpSGlnaGxpZ2h0XT1cIihzZWFyY2gkIHwgYXN5bmMpID8/ICcnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCQ0YDRgtC40LrRg9C7OiB7eyBwcm9kdWN0LmNvZGUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NjLW5vaW5kZXgtd3JhcHBlcj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMVwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJocmVmID8/IG51bGxcIlxuICAgICAgICAgICAgICAgIFt0dWlIaWdobGlnaHRdPVwiKHNlYXJjaCQgfCBhc3luYykgPz8gJydcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgY2xpY2tDYXJkRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIiF0ZXh0LWJvZHktbS1ib2xkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBwcm9kdWN0Lm5hbWUgfX1cbiAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgPHNjLW5vaW5kZXgtd3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3Quc3VwcGxpZXJTa3VcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAg0JDRgNGC0LjQutGD0Lsg0L/RgNC+0LjQt9Cy0L7QtNC40YLQtdC70Y86IHt7IHByb2R1Y3Quc3VwcGxpZXJTa3UgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdD8ucGFja1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgdGV4dC10dWktdGV4dC0wMlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICDQndC+0YDQvNCwINGD0L/QsNC60L7QstC60Lg6IHt7IHByb2R1Y3QucGFjayB9fVxuICAgICAgICAgICAgICAgICAgICA8dHVpLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5pZ25vcmVNaW5Db3VudENoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJAdHVpLnBhY2thZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3R1aUhpbnRdPVwibWluQ291bnRIaW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlIaW50U2hvd0RlbGF5XT1cIjEwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlIaW50RGlyZWN0aW9uPVwidG9wXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1ib2R5LXhsIHRleHQtdHVpLXRleHQtMDEgb3BhY2l0eS05MFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbWluQ291bnRIaW50PlxuICAgICAgICAgICAgICAgICAgICAgICAg0JTQvtGB0YLRg9C/0LXQvSDQt9Cw0LrQsNC3IDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAg0L/RgNC+0LjQt9Cy0L7Qu9GM0L3QvtCz0L4gPGJyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICDQutC+0LvQuNGH0LXRgdGC0LLQsFxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9zYy1ub2luZGV4LXdyYXBwZXI+XG5cbiAgICAgICAgICAgIDxzYy1jb3N0LXdpdGgtZGlzY291bnQgW3Byb2R1Y3RdPVwicHJvZHVjdFwiIC8+XG5cbiAgICAgICAgICAgIDxzYy1ub2luZGV4LXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgPHNjLXByaWNlLXdhcmVob3VzZS1zdG9jayBbcHJvZHVjdF09XCJwcm9kdWN0XCIgLz5cbiAgICAgICAgICAgIDwvc2Mtbm9pbmRleC13cmFwcGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxzYy1ub2luZGV4LXdyYXBwZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctNDAgc2hyaW5rLTAgZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgICAgICAgIDx0dWktYXZhdGFyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5pc1ByZXZpb3VzbHlPcmRlcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgc3JjPVwiQHR1aS5oaXN0b3J5XCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCInbm9uZSdcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3ZhcigtLXR1aS10ZXh0LWFjdGlvbiknXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxzYy1mYXZvcml0ZS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhdXRoU3RhdHVzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrRXZlbnQpPVwiY2xpY2tGYXZvcml0ZUV2ZW50LmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cImZhdm9yaXRlU2hvd0xvYWRlcigpXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzRmF2b3JpdGVdPVwicHJvZHVjdC5pc0Zhdm9yaXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhcHJvZHVjdC5wcmltYXJ5Q2F0ZWdvcnk/LmlzRmF2b3JpdGVcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFzaG93UXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0FkZFRvQ2FydEV2ZW50LmVtaXQocHJvZHVjdClcIlxuICAgICAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJzaG93TG9hZGVyKClcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuc2hvcHBpbmctY2FydFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdyAhZm9udC1leHRyYWJvbGRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAg0JIg0LrQvtGA0LfQuNC90YNcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8c2MtaW5wdXQtcXVhbnRpdHlcbiAgICAgICAgICAgICAgICAgICAgI2lucHV0UXVhbnRpdHlcbiAgICAgICAgICAgICAgICAgICAgW3R1aUF1dG9Gb2N1c109XCJhdXRvRm9jdXNlUXVhbnRpdHlJbnB1dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93UXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInF1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwidW5pdHNIZWxwZXIucHJvZHVjdE11bHRpcGxpY2l0eShwcm9kdWN0KVwiXG4gICAgICAgICAgICAgICAgICAgIFtpZ25vcmVTdGVwVmFsaWRhdG9yc109XCJwcm9kdWN0Lmlnbm9yZU1pbkNvdW50Q2hlY2tcIlxuICAgICAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJzaG93TG9hZGVyKClcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tDbGVhckV2ZW50KT1cImNsaWNrQ2xlYXJFdmVudC5lbWl0KG9yZGVySXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJpbnB1dFF1YW50aXR5Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmJsdXIoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDx0dWktYXZhdGFyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwib3JkZXJJdGVtICYmICFzaG93UXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgc3JjPVwiQHR1aS5jaGVja1wiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiJ3ZhcigtLXR1aS1zdGF0dXMtd2FybmluZy1wYWxlKSdcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3ZhcigtLXR1aS1iYWNrZ3JvdW5kLWFjY2VudC0xKSdcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9zYy1ub2luZGV4LXdyYXBwZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNza2VsZXRvbj5cbiAgICA8ZGl2IGNsYXNzPVwidHVpLXNrZWxldG9uIGZsZXggaC1bOC4yNXJlbV0gdy1mdWxsIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLXhsXCI+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC1pbmxpbmUvc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC1pbmxpbmUvc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7O0FBRS9GOztHQUVHO0FBOEJILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxtQkFBbUI7SUE3Qm5FOztRQThCb0IsU0FBSSxHQUFHLEtBQUssQ0FBOEIsYUFBYSxDQUFDLENBQUM7S0FDNUU7K0dBRlksMEJBQTBCO21HQUExQiwwQkFBMEIsb01BeEJ4QixDQUFDLHFCQUFxQixDQUFDLGlEQzFCdEMsdzFLQThIQSxnWURqR1EsWUFBWSx1TEFDWixZQUFZLCtCQUNaLFNBQVMsb0lBQ1QsT0FBTyxvRkFDUCw0QkFBNEIsOEJBQzVCLFdBQVcsc0lBQ1gsbUJBQW1CLHVaQUVuQixPQUFPLDRGQUNQLFlBQVksMEdBQ1osWUFBWSxxRkFDWixnQkFBZ0IsdUhBQ2hCLFNBQVMsd0hBQ1QsNkJBQTZCLHdIQUM3Qix5QkFBeUIsK0ZBQ3pCLDhCQUE4QixvSUFDOUIseUJBQXlCLDBJQUN6Qix3QkFBd0IscU1BQ3hCLHlCQUF5Qjs7NEZBR3BCLDBCQUEwQjtrQkE3QnRDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLHNCQUFzQixhQUdyQixDQUFDLHFCQUFxQixDQUFDLG1CQUNqQix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNMLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixTQUFTO3dCQUNULE9BQU87d0JBQ1AsNEJBQTRCO3dCQUM1QixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsR0FBRyxPQUFPO3dCQUNWLE9BQU87d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCw2QkFBNkI7d0JBQzdCLHlCQUF5Qjt3QkFDekIsOEJBQThCO3dCQUM5Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3FCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU0VBUkNIX1RFUk1fUFJPVklERVJTIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlBdXRvRm9jdXMgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aUJ1dHRvbiwgVHVpSGludCwgVHVpSWNvbiwgVHVpTGluayB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUF2YXRhciwgVHVpQnV0dG9uTG9hZGluZywgVHVpSGlnaGxpZ2h0IH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQgeyBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlIH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeSc7XG5cbmltcG9ydCB7IEFic3RyYWN0U2NQcmljZUNhcmQgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFNjTm9pbmRleFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9ub2luZGV4LXdyYXBwZXInO1xuaW1wb3J0IHsgQ29zdFdpdGhEaXNjb3VudENvbXBvbmVudCB9IGZyb20gJy4uL2Nvc3Qtd2l0aC1kaXNjb3VudC9jb3N0LXdpdGgtZGlzY291bnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSG92ZXJJbWFnZUNhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnLi4vaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LXF1YW50aXR5L3NjLWlucHV0LXF1YW50aXR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQgfSBmcm9tICcuLi9wcmljZS13YXJlaG91c2Utc3RvY2svc2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY0Zhdm9yaXRlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2MtZmF2b3JpdGUtYnV0dG9uL3NjLWZhdm9yaXRlLWJ1dHRvbi5jb21wb25lbnQnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsCDQstC+INCy0YHRjiDRgdGC0YDQvtC60YMuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1wcmljZS1jYXJkLWlubGluZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByaWNlLWNhcmQtaW5saW5lLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LnNjc3MnLFxuICAgIHByb3ZpZGVyczogW1NFQVJDSF9URVJNX1BST1ZJREVSU10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlJY29uLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgLi4uVHVpSGludCxcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpSGlnaGxpZ2h0LFxuICAgICAgICBUdWlBdXRvRm9jdXMsXG4gICAgICAgIFR1aUJ1dHRvbkxvYWRpbmcsXG4gICAgICAgIFR1aUF2YXRhcixcbiAgICAgICAgU2NIb3ZlckltYWdlQ2Fyb3VzZWxDb21wb25lbnQsXG4gICAgICAgIENvc3RXaXRoRGlzY291bnRDb21wb25lbnQsXG4gICAgICAgIFNjUHJpY2VXYXJlaG91c2VTdG9ja0NvbXBvbmVudCxcbiAgICAgICAgU2NGYXZvcml0ZUJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgU2NJbnB1dFF1YW50aXR5Q29tcG9uZW50LFxuICAgICAgICBTY05vaW5kZXhXcmFwcGVyQ29tcG9uZW50LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJpY2VDYXJkSW5saW5lQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RTY1ByaWNlQ2FyZCB7XG4gICAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSBpbnB1dDwnY2F0YWxvZ0l0ZW0nIHwgJ29yZGVySXRlbSc+KCdjYXRhbG9nSXRlbScpO1xufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwicHJvZHVjdDsgZWxzZSBza2VsZXRvblwiXG4gICAgY2xhc3M9XCJjYXJkLXdyYXBwZXIgcmVsYXRpdmUgZmxleCB3LWZ1bGwgZ2FwLTQgcm91bmRlZC14bCBwLTEgaG92ZXI6YmctdHVpLWJhY2tncm91bmQtbmV1dHJhbC0xXCJcbj5cbiAgICA8c2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWxcbiAgICAgICAgKGNsaWNrKT1cImNsaWNrQ2FyZEV2ZW50LmVtaXQoKVwiXG4gICAgICAgIFtpbWFnZXNdPVwiIWlzTW9iaWxlID8gZ2V0Q2FyZEltYWdlUHJldmlld0xpc3QocHJvZHVjdCkgOiBbZ2V0Q2FyZEltYWdlUHJldmlldygpXVwiXG4gICAgICAgIFtpc1Nob3dBY3Rpb25zXT1cImZhbHNlXCJcbiAgICAgICAgY2xhc3M9XCJzaXplLTI0IHNocmluay0wIGN1cnNvci1wb2ludGVyIHNlbGYtY2VudGVyXCJcbiAgICAvPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdyb3cgZmxleC1jb2wgZ2FwLTFcIj5cbiAgICAgICAgPHNjLW5vaW5kZXgtd3JhcHBlcj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBbdHVpSGlnaGxpZ2h0XT1cIihzZWFyY2gkIHwgYXN5bmMpID8/ICcnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCQ0YDRgtC40LrRg9C7OiB7eyBwcm9kdWN0LmNvZGUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NjLW5vaW5kZXgtd3JhcHBlcj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMVwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJocmVmID8/IG51bGxcIlxuICAgICAgICAgICAgICAgIFt0dWlIaWdobGlnaHRdPVwiKHNlYXJjaCQgfCBhc3luYykgPz8gJydcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgY2xpY2tDYXJkRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIiF0ZXh0LWJvZHktbS1ib2xkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBwcm9kdWN0Lm5hbWUgfX1cbiAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgPHNjLW5vaW5kZXgtd3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3Quc3VwcGxpZXJTa3VcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAg0JDRgNGC0LjQutGD0Lsg0L/RgNC+0LjQt9Cy0L7QtNC40YLQtdC70Y86IHt7IHByb2R1Y3Quc3VwcGxpZXJTa3UgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdD8ucGFja1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgdGV4dC10dWktdGV4dC0wMlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICDQndC+0YDQvNCwINGD0L/QsNC60L7QstC60Lg6IHt7IHByb2R1Y3QucGFjayB9fVxuICAgICAgICAgICAgICAgICAgICA8dHVpLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5pZ25vcmVNaW5Db3VudENoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJAdHVpLnBhY2thZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3R1aUhpbnRdPVwibWluQ291bnRIaW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlIaW50U2hvd0RlbGF5XT1cIjEwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlIaW50RGlyZWN0aW9uPVwidG9wXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1ib2R5LXhsIHRleHQtdHVpLXRleHQtMDEgb3BhY2l0eS05MFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbWluQ291bnRIaW50PlxuICAgICAgICAgICAgICAgICAgICAgICAg0JTQvtGB0YLRg9C/0LXQvSDQt9Cw0LrQsNC3IDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAg0L/RgNC+0LjQt9Cy0L7Qu9GM0L3QvtCz0L4gPGJyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICDQutC+0LvQuNGH0LXRgdGC0LLQsFxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9zYy1ub2luZGV4LXdyYXBwZXI+XG5cbiAgICAgICAgICAgIDxzYy1jb3N0LXdpdGgtZGlzY291bnQgW3Byb2R1Y3RdPVwicHJvZHVjdFwiIC8+XG5cbiAgICAgICAgICAgIDxzYy1ub2luZGV4LXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgPHNjLXByaWNlLXdhcmVob3VzZS1zdG9jayBbcHJvZHVjdF09XCJwcm9kdWN0XCIgLz5cbiAgICAgICAgICAgIDwvc2Mtbm9pbmRleC13cmFwcGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxzYy1ub2luZGV4LXdyYXBwZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctNDAgc2hyaW5rLTAgZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgICAgICAgIDx0dWktYXZhdGFyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5pc1ByZXZpb3VzbHlPcmRlcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgc3JjPVwiQHR1aS5oaXN0b3J5XCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCInbm9uZSdcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3ZhcigtLXR1aS10ZXh0LWFjdGlvbiknXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxzYy1mYXZvcml0ZS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhdXRoU3RhdHVzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrRXZlbnQpPVwiY2xpY2tGYXZvcml0ZUV2ZW50LmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cImZhdm9yaXRlU2hvd0xvYWRlcigpXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzRmF2b3JpdGVdPVwicHJvZHVjdC5pc0Zhdm9yaXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhcHJvZHVjdC5wcmltYXJ5Q2F0ZWdvcnk/LmlzRmF2b3JpdGVcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFzaG93UXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0FkZFRvQ2FydEV2ZW50LmVtaXQocHJvZHVjdClcIlxuICAgICAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJzaG93TG9hZGVyKClcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuc2hvcHBpbmctY2FydFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdyAhZm9udC1leHRyYWJvbGRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAg0JIg0LrQvtGA0LfQuNC90YNcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8c2MtaW5wdXQtcXVhbnRpdHlcbiAgICAgICAgICAgICAgICAgICAgI2lucHV0UXVhbnRpdHlcbiAgICAgICAgICAgICAgICAgICAgW3R1aUF1dG9Gb2N1c109XCJhdXRvRm9jdXNlUXVhbnRpdHlJbnB1dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93UXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInF1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwiU2NVbml0c0hlbHBlci5nZXRQcm9kdWN0TXVsdGlwbGljaXR5KHByb2R1Y3QpXCJcbiAgICAgICAgICAgICAgICAgICAgW2lnbm9yZVN0ZXBWYWxpZGF0b3JzXT1cInByb2R1Y3QuaWdub3JlTWluQ291bnRDaGVja1wiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cInNob3dMb2FkZXIoKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGlja0NsZWFyRXZlbnQpPVwiY2xpY2tDbGVhckV2ZW50LmVtaXQob3JkZXJJdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImlucHV0UXVhbnRpdHkubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uYmx1cigpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHR1aS1hdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJvcmRlckl0ZW0gJiYgIXNob3dRdWFudGl0eUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBzcmM9XCJAdHVpLmNoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCIndmFyKC0tdHVpLXN0YXR1cy13YXJuaW5nLXBhbGUpJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCIndmFyKC0tdHVpLWJhY2tncm91bmQtYWNjZW50LTEpJ1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NjLW5vaW5kZXgtd3JhcHBlcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NrZWxldG9uPlxuICAgIDxkaXYgY2xhc3M9XCJ0dWktc2tlbGV0b24gZmxleCBoLVs4LjI1cmVtXSB3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGxcIj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -37,12 +37,16 @@ export class ScResourcePreviewComponent {
37
37
  * @param videoElement HTML элемент видео.
38
38
  */
39
39
  onCanPlay(videoElement) {
40
+ if (this.playAttempt) {
41
+ clearInterval(this.playAttempt);
42
+ }
40
43
  this.playAttempt = setInterval(() => {
41
44
  videoElement
42
45
  .play()
43
46
  .then(() => {
44
47
  if (this.playAttempt) {
45
48
  clearInterval(this.playAttempt);
49
+ this.playAttempt = undefined;
46
50
  }
47
51
  })
48
52
  // eslint-disable-next-line lodash/prefer-noop
@@ -56,6 +60,7 @@ export class ScResourcePreviewComponent {
56
60
  // Исправляет ошибку фонового воспроизведения после закрытия диалога.
57
61
  if (this.playAttempt) {
58
62
  clearInterval(this.playAttempt);
63
+ this.playAttempt = undefined;
59
64
  }
60
65
  }
61
66
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScResourcePreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -65,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
65
70
  type: Component,
66
71
  args: [{ standalone: true, selector: 'sc-resource-preview', imports: [TuiNotification, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (src && isVideoResource()) {\n <video\n #video\n controls\n (canplay)=\"onCanPlay(video)\"\n class=\"size-full bg-black\"\n >\n <source\n [src]=\"src\"\n [type]=\"type\"\n />\n </video>\n} @else {\n <tui-notification\n appearance=\"warning\"\n size=\"l\"\n >\n <div\n tuiTitle\n [style.padding-inline-end.rem]=\"2\"\n class=\"flex flex-col\"\n >\n {{ !src || !type ? '\u0418\u0437\u0432\u0438\u043D\u0438\u0442\u0435, \u0440\u0435\u0441\u0443\u0440\u0441 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D.' : '\u0418\u0437\u0432\u0438\u043D\u0438\u0442\u0435, \u0434\u0430\u043D\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F.' }}\n <button\n tuiButton\n type=\"button\"\n size=\"m\"\n appearance=\"primary\"\n (click)=\"context?.$implicit?.complete()\"\n class=\"mt-4 self-center\"\n >\n \u0417\u0430\u043A\u0440\u044B\u0442\u044C\n </button>\n </div>\n </tui-notification>\n}\n", styles: [":host{display:flex;height:100lvh;width:100%;justify-content:center;align-items:center}\n"] }]
67
72
  }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcmVzb3VyY2UtcHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZGlhbG9ncy9zYy1yZXNvdXJjZS1wcmV2aWV3L3NjLXJlc291cmNlLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2RpYWxvZ3Mvc2MtcmVzb3VyY2UtcHJldmlldy9zYy1yZXNvdXJjZS1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBEQUEwRDtBQUUxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQW9CLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFdkQ7O0dBRUc7QUFTSCxNQUFNLE9BQU8sMEJBQTBCO0lBUnZDO1FBU0k7O1dBRUc7UUFDZ0IsU0FBSSxHQUFXLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVoRjs7V0FFRztRQUNnQixRQUFHLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1FBRTlFOztXQUVHO1FBQ2dCLFNBQUksR0FBWSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7UUFFaEY7O1dBRUc7UUFDZ0IsWUFBTyxHQUE0QixhQUFhLENBQW1CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFPMUc7O1dBRUc7UUFDTyxvQkFBZSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBOEJwRTtJQTVCRzs7OztPQUlHO0lBQ08sU0FBUyxDQUFDLFlBQThCO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxZQUFZO2lCQUNQLElBQUksRUFBRTtpQkFDTixJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNQLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNuQixhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO2dCQUNGLDhDQUE4QztpQkFDN0MsS0FBSyxDQUFDLEdBQUcsRUFBRTtnQkFDUixjQUFjO1lBQ2xCLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsNkNBQTZDO0lBQzNELENBQUM7SUFFRCxrQkFBa0I7SUFDWCxXQUFXO1FBQ2QscUVBQXFFO1FBQ3JFLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNMLENBQUM7K0dBMURRLDBCQUEwQjttR0FBMUIsMEJBQTBCLCtFQ25CdkMscXpDQW9DQSxrSkRwQmMsZUFBZSxnSkFBRSxTQUFTOzs0RkFHM0IsMEJBQTBCO2tCQVJ0QyxTQUFTO2lDQUNNLElBQUksWUFDTixxQkFBcUIsV0FHdEIsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hcmd1bWVudCAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU0NfVVJMUyB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlEaWFsb2dDb250ZXh0LCBUdWlOb3RpZmljYXRpb24gfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RDb250ZXh0IH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNGPINGA0LXRgdGD0YDRgdC+0LIuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1yZXNvdXJjZS1wcmV2aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtcmVzb3VyY2UtcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3NjLXJlc291cmNlLXByZXZpZXcuY29tcG9uZW50LnNjc3MnLFxuICAgIGltcG9ydHM6IFtUdWlOb3RpZmljYXRpb24sIFR1aUJ1dHRvbl0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjUmVzb3VyY2VQcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiDQndCw0LfQstCw0L3QuNC1INGE0LDQudC70LAg0LjQtyBVUkwuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5hbWU6IHN0cmluZyA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSkuc25hcHNob3QudXJsLmpvaW4oJy8nKTtcblxuICAgIC8qKlxuICAgICAqINCf0YPRgtGMINC6INGA0LXRgdGD0YDRgdGDLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzcmM/OiBzdHJpbmcgPSBpbmplY3QoU0NfVVJMUykucmVzPy5bdGhpcy5uYW1lXT8uc3JjID8/ICcnO1xuXG4gICAgLyoqXG4gICAgICogTUlNRSB0eXBlINGE0LDQudC70LAge0BsaW5rIEhUTUxTb3VyY2VFbGVtZW50fS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHlwZT86IHN0cmluZyA9IGluamVjdChTQ19VUkxTKS5yZXM/Llt0aGlzLm5hbWVdPy50eXBlID8/ICcnO1xuXG4gICAgLyoqXG4gICAgICog0JrQvtC90YLQtdC60YHRgiDQtNC40LDQu9C+0LPQvtCy0L7Qs9C+INC+0LrQvdCwLCDQsiDQutC+0YLQvtGA0L7QvCDQvtGC0LrRgNGL0YIg0LrQvtC80L/QvtC90LXQvdGCLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250ZXh0OiBUdWlEaWFsb2dDb250ZXh0IHwgbnVsbCA9IGluamVjdENvbnRleHQ8VHVpRGlhbG9nQ29udGV4dD4oeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgIC8qKlxuICAgICAqINCi0LDQudC80LXRgCDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQvtCz0L4g0LLQutC70Y7Rh9C10L3QuNGPINC/0YDQvtC40LPRgNGL0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcGxheUF0dGVtcHQ/OiBOb2RlSlMuVGltZW91dDtcblxuICAgIC8qKlxuICAgICAqINCf0YDQvtCy0LXRgNGP0LXRgiDRh9GC0L4gTUlNRSB0eXBlINGA0LXRgdGD0YDRgdCwINC/0L7QtNGF0L7QtNC40YIg0LTQu9GPIGA8dmlkZW8+YC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaXNWaWRlb1Jlc291cmNlID0gKCkgPT4gdGhpcy50eXBlPy5zdGFydHNXaXRoKCd2aWRlbycpO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8g0LPQvtGC0L7QstC90L7RgdGC0Lgg0LLQuNC00LXQviDQuiDQt9Cw0L/Rg9GB0LrRgy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB2aWRlb0VsZW1lbnQgSFRNTCDRjdC70LXQvNC10L3RgiDQstC40LTQtdC+LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvbkNhblBsYXkodmlkZW9FbGVtZW50OiBIVE1MVmlkZW9FbGVtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMucGxheUF0dGVtcHQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICB2aWRlb0VsZW1lbnRcbiAgICAgICAgICAgICAgICAucGxheSgpXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wbGF5QXR0ZW1wdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnBsYXlBdHRlbXB0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGxvZGFzaC9wcmVmZXItbm9vcFxuICAgICAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIERvIG5vdGhpbmcuXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIDIwMDApOyAvLyDQmtCw0LbQtNGL0LUgMiDRgdC10LrRg9C90LTRiyDQv9GL0YLQsNC10YLRgdGPINC30LDQv9GD0YHRgtC40YLRjCDQstC40LTQtdC+LlxuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8g0JjRgdC/0YDQsNCy0LvRj9C10YIg0L7RiNC40LHQutGDINGE0L7QvdC+0LLQvtCz0L4g0LLQvtGB0L/RgNC+0LjQt9Cy0LXQtNC10L3QuNGPINC/0L7RgdC70LUg0LfQsNC60YDRi9GC0LjRjyDQtNC40LDQu9C+0LPQsC5cbiAgICAgICAgaWYgKHRoaXMucGxheUF0dGVtcHQpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5wbGF5QXR0ZW1wdCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKHNyYyAmJiBpc1ZpZGVvUmVzb3VyY2UoKSkge1xuICAgIDx2aWRlb1xuICAgICAgICAjdmlkZW9cbiAgICAgICAgY29udHJvbHNcbiAgICAgICAgKGNhbnBsYXkpPVwib25DYW5QbGF5KHZpZGVvKVwiXG4gICAgICAgIGNsYXNzPVwic2l6ZS1mdWxsIGJnLWJsYWNrXCJcbiAgICA+XG4gICAgICAgIDxzb3VyY2VcbiAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAvPlxuICAgIDwvdmlkZW8+XG59IEBlbHNlIHtcbiAgICA8dHVpLW5vdGlmaWNhdGlvblxuICAgICAgICBhcHBlYXJhbmNlPVwid2FybmluZ1wiXG4gICAgICAgIHNpemU9XCJsXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIHR1aVRpdGxlXG4gICAgICAgICAgICBbc3R5bGUucGFkZGluZy1pbmxpbmUtZW5kLnJlbV09XCIyXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7ICFzcmMgfHwgIXR5cGUgPyAn0JjQt9Cy0LjQvdC40YLQtSwg0YDQtdGB0YPRgNGBINC90LUg0L3QsNC50LTQtdC9LicgOiAn0JjQt9Cy0LjQvdC40YLQtSwg0LTQsNC90L3Ri9C5INGE0L7RgNC80LDRgiDRgNC10YHRg9GA0YHQsCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8uJyB9fVxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbnRleHQ/LiRpbXBsaWNpdD8uY29tcGxldGUoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtdC00IHNlbGYtY2VudGVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICDQl9Cw0LrRgNGL0YLRjFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvdHVpLW5vdGlmaWNhdGlvbj5cbn1cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcmVzb3VyY2UtcHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZGlhbG9ncy9zYy1yZXNvdXJjZS1wcmV2aWV3L3NjLXJlc291cmNlLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2RpYWxvZ3Mvc2MtcmVzb3VyY2UtcHJldmlldy9zYy1yZXNvdXJjZS1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBEQUEwRDtBQUUxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQW9CLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFdkQ7O0dBRUc7QUFTSCxNQUFNLE9BQU8sMEJBQTBCO0lBUnZDO1FBU0k7O1dBRUc7UUFDZ0IsU0FBSSxHQUFXLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVoRjs7V0FFRztRQUNnQixRQUFHLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1FBRTlFOztXQUVHO1FBQ2dCLFNBQUksR0FBWSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7UUFFaEY7O1dBRUc7UUFDZ0IsWUFBTyxHQUE0QixhQUFhLENBQW1CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFPMUc7O1dBRUc7UUFDTyxvQkFBZSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBb0NwRTtJQWxDRzs7OztPQUlHO0lBQ08sU0FBUyxDQUFDLFlBQThCO1FBQzlDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxZQUFZO2lCQUNQLElBQUksRUFBRTtpQkFDTixJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNQLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNuQixhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztnQkFDakMsQ0FBQztZQUNMLENBQUMsQ0FBQztnQkFDRiw4Q0FBOEM7aUJBQzdDLEtBQUssQ0FBQyxHQUFHLEVBQUU7Z0JBQ1IsY0FBYztZQUNsQixDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLDZDQUE2QztJQUMzRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsV0FBVztRQUNkLHFFQUFxRTtRQUNyRSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLENBQUM7SUFDTCxDQUFDOytHQWhFUSwwQkFBMEI7bUdBQTFCLDBCQUEwQiwrRUNuQnZDLHF6Q0FvQ0Esa0pEcEJjLGVBQWUsZ0pBQUUsU0FBUzs7NEZBRzNCLDBCQUEwQjtrQkFSdEMsU0FBUztpQ0FDTSxJQUFJLFlBQ04scUJBQXFCLFdBR3RCLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnQgKi9cblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNDX1VSTFMgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFR1aUJ1dHRvbiwgVHVpRGlhbG9nQ29udGV4dCwgVHVpTm90aWZpY2F0aW9uIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0Q29udGV4dCB9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjRjyDRgNC10YHRg9GA0YHQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnc2MtcmVzb3VyY2UtcHJldmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXJlc291cmNlLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zYy1yZXNvdXJjZS1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJyxcbiAgICBpbXBvcnRzOiBbVHVpTm90aWZpY2F0aW9uLCBUdWlCdXR0b25dLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1Jlc291cmNlUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICog0J3QsNC30LLQsNC90LjQtSDRhNCw0LnQu9CwINC40LcgVVJMLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBuYW1lOiBzdHJpbmcgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpLnNuYXBzaG90LnVybC5qb2luKCcvJyk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GD0YLRjCDQuiDRgNC10YHRg9GA0YHRgy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3JjPzogc3RyaW5nID0gaW5qZWN0KFNDX1VSTFMpLnJlcz8uW3RoaXMubmFtZV0/LnNyYyA/PyAnJztcblxuICAgIC8qKlxuICAgICAqIE1JTUUgdHlwZSDRhNCw0LnQu9CwIHtAbGluayBIVE1MU291cmNlRWxlbWVudH0uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGU/OiBzdHJpbmcgPSBpbmplY3QoU0NfVVJMUykucmVzPy5bdGhpcy5uYW1lXT8udHlwZSA/PyAnJztcblxuICAgIC8qKlxuICAgICAqINCa0L7QvdGC0LXQutGB0YIg0LTQuNCw0LvQvtCz0L7QstC+0LPQviDQvtC60L3QsCwg0LIg0LrQvtGC0L7RgNC+0Lwg0L7RgtC60YDRi9GCINC60L7QvNC/0L7QvdC10L3Rgi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dDogVHVpRGlhbG9nQ29udGV4dCB8IG51bGwgPSBpbmplY3RDb250ZXh0PFR1aURpYWxvZ0NvbnRleHQ+KHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQotCw0LnQvNC10YAg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60L7Qs9C+INCy0LrQu9GO0YfQtdC90LjRjyDQv9GA0L7QuNCz0YDRi9Cy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHBsYXlBdHRlbXB0PzogTm9kZUpTLlRpbWVvdXQ7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0L7QstC10YDRj9C10YIg0YfRgtC+IE1JTUUgdHlwZSDRgNC10YHRg9GA0YHQsCDQv9C+0LTRhdC+0LTQuNGCINC00LvRjyBgPHZpZGVvPmAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGlzVmlkZW9SZXNvdXJjZSA9ICgpID0+IHRoaXMudHlwZT8uc3RhcnRzV2l0aCgndmlkZW8nKTtcblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQvtGC0YfQuNC6INGB0L7QsdGL0YLQuNGPINCz0L7RgtC+0LLQvdC+0YHRgtC4INCy0LjQtNC10L4g0Log0LfQsNC/0YPRgdC60YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmlkZW9FbGVtZW50IEhUTUwg0Y3Qu9C10LzQtdC90YIg0LLQuNC00LXQvi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25DYW5QbGF5KHZpZGVvRWxlbWVudDogSFRNTFZpZGVvRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wbGF5QXR0ZW1wdCkge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnBsYXlBdHRlbXB0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucGxheUF0dGVtcHQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICB2aWRlb0VsZW1lbnRcbiAgICAgICAgICAgICAgICAucGxheSgpXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wbGF5QXR0ZW1wdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnBsYXlBdHRlbXB0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGxheUF0dGVtcHQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBsb2Rhc2gvcHJlZmVyLW5vb3BcbiAgICAgICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBEbyBub3RoaW5nLlxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCAyMDAwKTsgLy8g0JrQsNC20LTRi9C1IDIg0YHQtdC60YPQvdC00Ysg0L/Ri9GC0LDQtdGC0YHRjyDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0LLQuNC00LXQvi5cbiAgICB9XG5cbiAgICAvKiogQGluaGVyaXREb2MgKi9cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vINCY0YHQv9GA0LDQstC70Y/QtdGCINC+0YjQuNCx0LrRgyDRhNC+0L3QvtCy0L7Qs9C+INCy0L7RgdC/0YDQvtC40LfQstC10LTQtdC90LjRjyDQv9C+0YHQu9C1INC30LDQutGA0YvRgtC40Y8g0LTQuNCw0LvQvtCz0LAuXG4gICAgICAgIGlmICh0aGlzLnBsYXlBdHRlbXB0KSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMucGxheUF0dGVtcHQpO1xuICAgICAgICAgICAgdGhpcy5wbGF5QXR0ZW1wdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpZiAoc3JjICYmIGlzVmlkZW9SZXNvdXJjZSgpKSB7XG4gICAgPHZpZGVvXG4gICAgICAgICN2aWRlb1xuICAgICAgICBjb250cm9sc1xuICAgICAgICAoY2FucGxheSk9XCJvbkNhblBsYXkodmlkZW8pXCJcbiAgICAgICAgY2xhc3M9XCJzaXplLWZ1bGwgYmctYmxhY2tcIlxuICAgID5cbiAgICAgICAgPHNvdXJjZVxuICAgICAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgIC8+XG4gICAgPC92aWRlbz5cbn0gQGVsc2Uge1xuICAgIDx0dWktbm90aWZpY2F0aW9uXG4gICAgICAgIGFwcGVhcmFuY2U9XCJ3YXJuaW5nXCJcbiAgICAgICAgc2l6ZT1cImxcIlxuICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgdHVpVGl0bGVcbiAgICAgICAgICAgIFtzdHlsZS5wYWRkaW5nLWlubGluZS1lbmQucmVtXT1cIjJcIlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgIXNyYyB8fCAhdHlwZSA/ICfQmNC30LLQuNC90LjRgtC1LCDRgNC10YHRg9GA0YEg0L3QtSDQvdCw0LnQtNC10L0uJyA6ICfQmNC30LLQuNC90LjRgtC1LCDQtNCw0L3QvdGL0Lkg0YTQvtGA0LzQsNGCINGA0LXRgdGD0YDRgdCwINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjy4nIH19XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29udGV4dD8uJGltcGxpY2l0Py5jb21wbGV0ZSgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm10LTQgc2VsZi1jZW50ZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCX0LDQutGA0YvRgtGMXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC90dWktbm90aWZpY2F0aW9uPlxufVxuIl19
@@ -66,9 +66,9 @@ export class AbstractScPriceCard {
66
66
  */
67
67
  this.autoFocuseQuantityInput = signal(false);
68
68
  /**
69
- * Экземпляр класса-помощника для работы со значениями единиц измерения товара.
69
+ * Класс-помощник для работы со значениями единиц измерения товара.
70
70
  */
71
- this.unitsHelper = inject(ScUnitsHelper);
71
+ this.ScUnitsHelper = ScUnitsHelper;
72
72
  /**
73
73
  * Хелпер для работы с изображениями товара.
74
74
  */
@@ -167,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
167
167
  }], quantityValueChanges: [{
168
168
  type: Output
169
169
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtc2MtcHJpY2UtY2FyZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZGlyZWN0aXZlcy9hYnN0cmFjdC1wcmljZS1jYXJkL2Fic3RyYWN0LXNjLXByaWNlLWNhcmQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUV6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxFQUFZLE9BQU8sRUFBRSxhQUFhLEVBQTBCLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0SyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc5Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUF5Q0k7O1dBRUc7UUFDYSxhQUFRLEdBQVksTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTFEOztXQUVHO1FBQ0ksb0JBQWUsR0FBK0IsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRWhIOztXQUVHO1FBQ2EsZUFBVSxHQUE0QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEU7O1dBRUc7UUFDYSx1QkFBa0IsR0FBNEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVFOztXQUVHO1FBQ2EsZ0JBQVcsR0FBd0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXpGOztXQUVHO1FBQ2EsWUFBTyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU5Qzs7V0FFRztRQUVJLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQVE1Qzs7V0FFRztRQUVhLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWxGOztXQUVHO1FBRWEsd0JBQW1CLEdBQTRCLElBQUksWUFBWSxFQUFhLENBQUM7UUFFN0Y7O1dBRUc7UUFFYSxvQkFBZSxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO1FBRTdGOztXQUVHO1FBRWEsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU5RTs7V0FFRztRQUVhLDJCQUFzQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXRGOztXQUVHO1FBRWEseUJBQW9CLEdBQThCLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO1FBRXBHOztXQUVHO1FBQ2EsNEJBQXVCLEdBQTRCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqRjs7V0FFRztRQUNnQixnQkFBVyxHQUFrQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEU7O1dBRUc7UUFDZ0IsZ0JBQVcsR0FBa0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRFOztXQUVHO1FBQ2Msc0JBQWlCLEdBQVcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFN0U7O1dBRUc7UUFDYyxRQUFHLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBMkN2RTtJQXJMRzs7OztPQUlHO0lBQ0gsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQ1csU0FBUyxDQUFDLEtBQThCO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXhCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxJQUFJLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLE9BQU8sQ0FBQyxLQUE0QjtRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBcUhEOztPQUVHO0lBQ0gsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNJLG1CQUFtQjtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDbEosQ0FBQztJQUVEOzs7O09BSUc7SUFDSSx1QkFBdUIsQ0FBQyxPQUFrQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsMEJBQTBCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBckxRLG1CQUFtQjttR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNQLElBQUksRUFBRSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUU7aUJBQ3BDOzhCQWlCYyxTQUFTO3NCQURuQixLQUFLO2dCQW1CSyxPQUFPO3NCQURqQixLQUFLO2dCQXVDQyxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBT0MsSUFBSTtzQkFEVixLQUFLO2dCQU9VLGtCQUFrQjtzQkFEakMsTUFBTTtnQkFPUyxtQkFBbUI7c0JBRGxDLE1BQU07Z0JBT1MsZUFBZTtzQkFEOUIsTUFBTTtnQkFPUyxjQUFjO3NCQUQ3QixNQUFNO2dCQU9TLHNCQUFzQjtzQkFEckMsTUFBTTtnQkFPUyxvQkFBb0I7c0JBRG5DLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlcnNjb3JlLWRhbmdsZSAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE91dHB1dCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTQ19QQVRIX0lNQUdFX05PVF9GT1VORCwgU2NBdXRoU2VydmljZSwgU2NJSW1hZ2UsIFNjSW1hZ2UsIFNjSW1hZ2VIZWxwZXIsIFNjT3JkZXJJdGVtLCBTY1Byb2R1Y3QsIFNjVW5pdHNIZWxwZXIsIFNFQVJDSF9URVJNIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUVUlfSVNfTU9CSUxFIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICog0JTQuNGA0LXQutGC0LjQstCwINCw0LHRgdGC0YDQsNC60YLQvdC+0Lkg0LrQsNGA0YLQvtGH0LrQuCDRgtC+0LLQsNGA0LAuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIGhvc3Q6IHsgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScgfSxcbn0pIC8vINCQ0LHRgdGC0YDQsNC60YLQvdGL0Lkg0LrQu9Cw0YHRgSDQuNC80LXQtdGCINC00LXQutC+0YDQsNGC0L7RgCBARGlyZWN0aXZlKCkg0LTQu9GPINCy0L3QtdC00YDQtdC90LjRjyDQtdCz0L4g0LIgREksINGBINGG0LXQu9GM0Y4g0L/QvtC70YPRh9C10L3QuNGPINGE0YPQvdC60YbQuNC+0L3QsNC70LAgaW5qZWN0INCy0L3Rg9GC0YDQuCDQsNCx0YHRgtGA0LDQutGG0LjQuCwg0Lgg0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQv9C+0LvRg9GH0LDRgtGMINC/0L7RgtC+0LzQutC+0LIg0YfQtdGA0LXQtyBESSDQuNC70Lgg0YfQtdGA0LXQtyDQtNC10LrQvtGA0LDRgtC+0YAgQFZpZXdDaGlsZC5cbmV4cG9ydCBjbGFzcyBBYnN0cmFjdFNjUHJpY2VDYXJkIHtcbiAgICAvKipcbiAgICAgKiDQn9C+0LfQuNGG0LjRjyDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICpcbiAgICAgKiBUT0RPOiDQodC00LXQu9Cw0YLRjCDRgtC+0LLQsNGAINCyINC60L7RgNC30LjQvdC1INC90LDQsdC70Y7QtNCw0LXQvNC+0Lkg0L/QtdGA0LXQvNC10L3QvdC+0Lkg0L/QvtGB0LvQtSDRgNC10LDQu9C40LfQsNGG0LjQuCBUQVNLOlsjNzE0NF0uXG4gICAgICovXG4gICAgcHVibGljIGdldCBvcmRlckl0ZW0oKTogU2NPcmRlckl0ZW0gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3JkZXJJdGVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0L7Qt9C40YbQuNGPINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3QtVxuICAgICAqXG4gICAgICogVE9ETzog0KHQtNC10LvQsNGC0Ywg0YLQvtCy0LDRgCDQsiDQutC+0YDQt9C40L3QtSDQvdCw0LHQu9GO0LTQsNC10LzQvtC5INC/0LXRgNC10LzQtdC90L3QvtC5INC/0L7RgdC70LUg0YDQtdCw0LvQuNC30LDRhtC40LggVEFTSzpbIzcxNDRdLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBvcmRlckl0ZW0odmFsdWU6IFNjT3JkZXJJdGVtIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX29yZGVySXRlbSA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMucXVhbnRpdHlDb250cm9sLnBhdGNoVmFsdWUodGhpcy5fb3JkZXJJdGVtPy5xdWFudGl0eSA/PyBudWxsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMuc2hvd0xvYWRlci5zZXQoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHRitC10LrRgiDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldCBwcm9kdWN0KCk6IFNjUHJvZHVjdCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm9kdWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHRitC10LrRgiDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHByb2R1Y3QodmFsdWU6IFNjUHJvZHVjdCB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9wcm9kdWN0ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0Log0YLQvtCz0L4sINGH0YLQviDRjdGC0L7RgiDQutC+0LzQv9C+0L3QtdC90YIg0L7RgtC+0LHRgNCw0LbQsNC10YLRgdGPINC90LAg0LzQvtCx0LjQu9GM0L3QvtC8INGD0YHRgtGA0L7QudGB0YLQstC1LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbiA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBGb3JtQ29udHJvbH0g0L/QvtC70Y8g0LLQstC+0LTQsCDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICovXG4gICAgcHVibGljIHF1YW50aXR5Q29udHJvbDogRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4gPSBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4obnVsbCwgeyB1cGRhdGVPbjogJ2JsdXInIH0pO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0L7QsdGA0LDQt9C40YLRjCDQu9C+0LDQtNC10YAg0LTQu9GPINC/0L7Qu9GPINCy0LLQvtC00LAg0LrQvtC70LjRh9C10YHRgtCy0LAg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzaG93TG9hZGVyOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINC70L7QsNC00LXRgCDQtNC70Y8g0LrQvdC+0L/QutC4INC40LfQsdGA0LDQvdC90YvRhSDRgtC+0LLQsNGA0L7QsiDQuCDQutCw0YLQtdCz0L7RgNC40LkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZhdm9yaXRlU2hvd0xvYWRlcjogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdGC0LDRgtGD0YHQsCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdXRoU3RhdHVzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IGluamVjdChTY0F1dGhTZXJ2aWNlKS5nZXRBdXRoQ2hhbmdlKCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0L/QvtC40YHQutCwINGC0LXRgNC80LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHNlYXJjaCQgPSBpbmplY3QoU0VBUkNIX1RFUk0pO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0L7QsdGA0LDQt9C40YLRjCDQv9C+0LvQtSDQstCy0L7QtNCwINC60L7Qu9C40YfQtdGB0YLQstCwINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93UXVhbnRpdHlDb250cm9sOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDRgdGC0YDQsNC90LjRhtGDINGC0L7QstCw0YDQsC4g0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC40LzQtdC90L3QviBgaHJlZmAsINGC0LDQuiDQutCw0Log0L7RgdGC0LDQvdC+0LLQuNGC0Ywg0YHQvtCx0YvRgtC40LUg0LrQu9C40LrQsCDQtNC70Y8gYHJvdXRlckxpbmtgINC90LUg0LLRi9GI0LvQvi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBocmVmPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMgXCLQkiDQuNC30LHRgNCw0L3QvdC+0LVcIi5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2xpY2tGYXZvcml0ZUV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCSINC60L7RgNC30LjQvdGDXCIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNsaWNrQWRkVG9DYXJ0RXZlbnQ6IEV2ZW50RW1pdHRlcjxTY1Byb2R1Y3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY1Byb2R1Y3Q+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQvtGH0LjRgdGC0LrQuCDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNsaWNrQ2xlYXJFdmVudDogRXZlbnRFbWl0dGVyPFNjT3JkZXJJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NPcmRlckl0ZW0+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60LDRgNGC0L7Rh9C60YMg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBjbGlja0NhcmRFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQuNGB0YLQvtGA0LjRjiDRhtC10L0uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNsaWNrUHJpY2VIaXN0b3J5RXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0LrQvtC70LjRh9C10YHRgtCy0LAg0YLQvtCy0LDRgNCwINCyINC60L7RgNC30LjQvdC1LlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBxdWFudGl0eVZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxudW1iZXIgfCBudWxsPiA9IHRoaXMucXVhbnRpdHlDb250cm9sLnZhbHVlQ2hhbmdlcztcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC4INCy0YvRgdGC0LDQstC40YLRjCDRhNC+0LrRg9GBINC90LAg0L/QvtC70LUg0LLQstC+0LTQsCDQutC+0LvQu9C40YfQtdGB0YLQstCwINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXV0b0ZvY3VzZVF1YW50aXR5SW5wdXQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqINCt0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAt0L/QvtC80L7RidC90LjQutCwINC00LvRjyDRgNCw0LHQvtGC0Ysg0YHQviDQt9C90LDRh9C10L3QuNGP0LzQuCDQtdC00LjQvdC40YYg0LjQt9C80LXRgNC10L3QuNGPINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdW5pdHNIZWxwZXI6IFNjVW5pdHNIZWxwZXIgPSBpbmplY3QoU2NVbml0c0hlbHBlcik7XG5cbiAgICAvKipcbiAgICAgKiDQpdC10LvQv9C10YAg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQuNC30L7QsdGA0LDQttC10L3QuNGP0LzQuCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGltYWdlSGVscGVyOiBTY0ltYWdlSGVscGVyID0gaW5qZWN0KFNjSW1hZ2VIZWxwZXIpO1xuXG4gICAgLyoqXG4gICAgICog0J/Rg9GC0Ywg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPICfQotC+0LLQsNGAINC90LUg0L3QsNC50LTQtdC9Jy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhdGhJbWFnZU5vdEZvdW5kOiBzdHJpbmcgPSBpbmplY3QoU0NfUEFUSF9JTUFHRV9OT1RfRk9VTkQpO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGK0LXQutGCINGB0LvQtdC20LXQvdC40Y8g0LfQsCDQuNC30LzQtdC90LXQvdC40Y/QvNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YrQtdC60YIg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3Byb2R1Y3Q6IFNjUHJvZHVjdCB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqINCf0L7Qt9C40YbQuNGPINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3QtS5cbiAgICAgKlxuICAgICAqIFRPRE86INCh0LTQtdC70LDRgtGMINGC0L7QstCw0YAg0LIg0LrQvtGA0LfQuNC90LUg0L3QsNCx0LvRjtC00LDQtdC80L7QuSDQv9C10YDQtdC80LXQvdC90L7QuSDQv9C+0YHQu9C1INGA0LXQsNC70LjQt9Cw0YbQuNC4IFRBU0s6WyM3MTQ0XS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9vcmRlckl0ZW06IFNjT3JkZXJJdGVtIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdGD0LbQvdC+INC/0L7QutCw0LfQsNGC0Ywg0YHQutC10LvQtdGC0L7QvS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHNrZWxldG9uVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnByb2R1Y3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LTQsNC90L3Ri9C1INC00LvRjyBwcmV2aWV3LdC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LrQsNGA0YLQvtGH0LrQuCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldENhcmRJbWFnZVByZXZpZXcoKTogU2NJSW1hZ2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9kdWN0ID8gdGhpcy5pbWFnZUhlbHBlci5nZXRJbWFnZVByZXZpZXcodGhpcy5wcm9kdWN0KSA6IG5ldyBTY0ltYWdlKHsgaW1hZ2U6IHRoaXMucGF0aEltYWdlTm90Rm91bmQsIGFsdDogYNCi0L7QstCw0YAg0L3QtSDQvdCw0LnQtNC10L1gIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC80LDRgdGB0LjQsiDQv9GA0LXQstGM0Y4t0LjQt9C+0LHRgNCw0LbQtdC90LjQuSDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQntCx0YrQtdC60YIg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXJkSW1hZ2VQcmV2aWV3TGlzdChwcm9kdWN0OiBTY1Byb2R1Y3QpOiBTY0lJbWFnZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW1hZ2VIZWxwZXIuZ2V0UHJvZHVjdEltYWdlUHJldmlld0xpc3QocHJvZHVjdCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LrQvtC80L/QvtC90LXQvdGCINCyINC+0YfQtdGA0LXQtNGMINC90LAg0L7QsdC90L7QstC70LXQvdC40LUuXG4gICAgICovXG4gICAgcHVibGljIG1hcmtGb3JDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuIl19
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtc2MtcHJpY2UtY2FyZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZGlyZWN0aXZlcy9hYnN0cmFjdC1wcmljZS1jYXJkL2Fic3RyYWN0LXNjLXByaWNlLWNhcmQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUV6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxFQUFZLE9BQU8sRUFBRSxhQUFhLEVBQTBCLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0SyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc5Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUF5Q0k7O1dBRUc7UUFDYSxhQUFRLEdBQVksTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTFEOztXQUVHO1FBQ0ksb0JBQWUsR0FBK0IsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRWhIOztXQUVHO1FBQ2EsZUFBVSxHQUE0QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEU7O1dBRUc7UUFDYSx1QkFBa0IsR0FBNEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVFOztXQUVHO1FBQ2EsZ0JBQVcsR0FBd0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXpGOztXQUVHO1FBQ2EsWUFBTyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU5Qzs7V0FFRztRQUVJLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQVE1Qzs7V0FFRztRQUVhLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWxGOztXQUVHO1FBRWEsd0JBQW1CLEdBQTRCLElBQUksWUFBWSxFQUFhLENBQUM7UUFFN0Y7O1dBRUc7UUFFYSxvQkFBZSxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO1FBRTdGOztXQUVHO1FBRWEsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU5RTs7V0FFRztRQUVhLDJCQUFzQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXRGOztXQUVHO1FBRWEseUJBQW9CLEdBQThCLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO1FBRXBHOztXQUVHO1FBQ2EsNEJBQXVCLEdBQTRCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqRjs7V0FFRztRQUNnQixrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUVqRDs7V0FFRztRQUNnQixnQkFBVyxHQUFrQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEU7O1dBRUc7UUFDYyxzQkFBaUIsR0FBVyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUU3RTs7V0FFRztRQUNjLFFBQUcsR0FBc0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0EyQ3ZFO0lBckxHOzs7O09BSUc7SUFDSCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDVyxTQUFTLENBQUMsS0FBOEI7UUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFFeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLElBQUksSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csT0FBTyxDQUFDLEtBQTRCO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFxSEQ7O09BRUc7SUFDSCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksbUJBQW1CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNsSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLHVCQUF1QixDQUFDLE9BQWtCO1FBQzdDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWTtRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQzsrR0FyTFEsbUJBQW1CO21HQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1AsSUFBSSxFQUFFLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRTtpQkFDcEM7OEJBaUJjLFNBQVM7c0JBRG5CLEtBQUs7Z0JBbUJLLE9BQU87c0JBRGpCLEtBQUs7Z0JBdUNDLG1CQUFtQjtzQkFEekIsS0FBSztnQkFPQyxJQUFJO3NCQURWLEtBQUs7Z0JBT1Usa0JBQWtCO3NCQURqQyxNQUFNO2dCQU9TLG1CQUFtQjtzQkFEbEMsTUFBTTtnQkFPUyxlQUFlO3NCQUQ5QixNQUFNO2dCQU9TLGNBQWM7c0JBRDdCLE1BQU07Z0JBT1Msc0JBQXNCO3NCQURyQyxNQUFNO2dCQU9TLG9CQUFvQjtzQkFEbkMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVyc2NvcmUtZGFuZ2xlICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNDX1BBVEhfSU1BR0VfTk9UX0ZPVU5ELCBTY0F1dGhTZXJ2aWNlLCBTY0lJbWFnZSwgU2NJbWFnZSwgU2NJbWFnZUhlbHBlciwgU2NPcmRlckl0ZW0sIFNjUHJvZHVjdCwgU2NVbml0c0hlbHBlciwgU0VBUkNIX1RFUk0gfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFRVSV9JU19NT0JJTEUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQlNC40YDQtdC60YLQuNCy0LAg0LDQsdGB0YLRgNCw0LrRgtC90L7QuSDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgaG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJyB9LFxufSkgLy8g0JDQsdGB0YLRgNCw0LrRgtC90YvQuSDQutC70LDRgdGBINC40LzQtdC10YIg0LTQtdC60L7RgNCw0YLQvtGAIEBEaXJlY3RpdmUoKSDQtNC70Y8g0LLQvdC10LTRgNC10L3QuNGPINC10LPQviDQsiBESSwg0YEg0YbQtdC70YzRjiDQv9C+0LvRg9GH0LXQvdC40Y8g0YTRg9C90LrRhtC40L7QvdCw0LvQsCBpbmplY3Qg0LLQvdGD0YLRgNC4INCw0LHRgdGC0YDQsNC60YbQuNC4LCDQuCDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INC/0L7Qu9GD0YfQsNGC0Ywg0L/QvtGC0L7QvNC60L7QsiDRh9C10YDQtdC3IERJINC40LvQuCDRh9C10YDQtdC3INC00LXQutC+0YDQsNGC0L7RgCBAVmlld0NoaWxkLlxuZXhwb3J0IGNsYXNzIEFic3RyYWN0U2NQcmljZUNhcmQge1xuICAgIC8qKlxuICAgICAqINCf0L7Qt9C40YbQuNGPINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3QtS5cbiAgICAgKlxuICAgICAqIFRPRE86INCh0LTQtdC70LDRgtGMINGC0L7QstCw0YAg0LIg0LrQvtGA0LfQuNC90LUg0L3QsNCx0LvRjtC00LDQtdC80L7QuSDQv9C10YDQtdC80LXQvdC90L7QuSDQv9C+0YHQu9C1INGA0LXQsNC70LjQt9Cw0YbQuNC4IFRBU0s6WyM3MTQ0XS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IG9yZGVySXRlbSgpOiBTY09yZGVySXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcmRlckl0ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QvtC30LjRhtC40Y8g0YLQvtCy0LDRgNCwINCyINC60L7RgNC30LjQvdC1XG4gICAgICpcbiAgICAgKiBUT0RPOiDQodC00LXQu9Cw0YLRjCDRgtC+0LLQsNGAINCyINC60L7RgNC30LjQvdC1INC90LDQsdC70Y7QtNCw0LXQvNC+0Lkg0L/QtdGA0LXQvNC10L3QvdC+0Lkg0L/QvtGB0LvQtSDRgNC10LDQu9C40LfQsNGG0LjQuCBUQVNLOlsjNzE0NF0uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IG9yZGVySXRlbSh2YWx1ZTogU2NPcmRlckl0ZW0gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fb3JkZXJJdGVtID0gdmFsdWU7XG5cbiAgICAgICAgdGhpcy5xdWFudGl0eUNvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLl9vcmRlckl0ZW0/LnF1YW50aXR5ID8/IG51bGwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyLnNldChmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGK0LXQutGCINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHByb2R1Y3QoKTogU2NQcm9kdWN0IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2R1Y3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGK0LXQutGCINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgcHJvZHVjdCh2YWx1ZTogU2NQcm9kdWN0IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX3Byb2R1Y3QgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0YfRgtC+INGN0YLQvtGCINC60L7QvNC/0L7QvdC10L3RgiDQvtGC0L7QsdGA0LDQttCw0LXRgtGB0Y8g0L3QsCDQvNC+0LHQuNC70YzQvdC+0Lwg0YPRgdGC0YDQvtC50YHRgtCy0LUuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIEZvcm1Db250cm9sfSDQv9C+0LvRjyDQstCy0L7QtNCwINC60L7Qu9C40YfQtdGB0YLQstCwINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3QtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcXVhbnRpdHlDb250cm9sOiBGb3JtQ29udHJvbDxudW1iZXIgfCBudWxsPiA9IG5ldyBGb3JtQ29udHJvbDxudW1iZXIgfCBudWxsPihudWxsLCB7IHVwZGF0ZU9uOiAnYmx1cicgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINC70L7QsNC00LXRgCDQtNC70Y8g0L/QvtC70Y8g0LLQstC+0LTQsCDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHNob3dMb2FkZXI6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LfQuNGC0Ywg0LvQvtCw0LTQtdGAINC00LvRjyDQutC90L7Qv9C60Lgg0LjQt9Cx0YDQsNC90L3Ri9GFINGC0L7QstCw0YDQvtCyINC4INC60LDRgtC10LPQvtGA0LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZmF2b3JpdGVTaG93TG9hZGVyOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0YLQsNGC0YPRgdCwINCw0LLRgtC+0YDQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF1dGhTdGF0dXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gaW5qZWN0KFNjQXV0aFNlcnZpY2UpLmdldEF1dGhDaGFuZ2UoKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQv9C+0LjRgdC60LAg0YLQtdGA0LzQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoJCA9IGluamVjdChTRUFSQ0hfVEVSTSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINC/0L7Qu9C1INCy0LLQvtC00LAg0LrQvtC70LjRh9C10YHRgtCy0LAg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dRdWFudGl0eUNvbnRyb2w6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwINGB0YLRgNCw0L3QuNGG0YMg0YLQvtCy0LDRgNCwLiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LjQvNC10L3QvdC+IGBocmVmYCwg0YLQsNC6INC60LDQuiDQvtGB0YLQsNC90L7QstC40YLRjCDRgdC+0LHRi9GC0LjQtSDQutC70LjQutCwINC00LvRjyBgcm91dGVyTGlua2Ag0L3QtSDQstGL0YjQu9C+LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhyZWY/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCSINC40LfQsdGA0LDQvdC90L7QtVwiLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBjbGlja0Zhdm9yaXRlRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDIFwi0JIg0LrQvtGA0LfQuNC90YNcIi5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2xpY2tBZGRUb0NhcnRFdmVudDogRXZlbnRFbWl0dGVyPFNjUHJvZHVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjUHJvZHVjdD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC+0YfQuNGB0YLQutC4INC60L7Qu9C40YfQtdGB0YLQstCwINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2xpY2tDbGVhckV2ZW50OiBFdmVudEVtaXR0ZXI8U2NPcmRlckl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY09yZGVySXRlbT4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQsNGA0YLQvtGH0LrRgyDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNsaWNrQ2FyZEV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC40YHRgtC+0YDQuNGOINGG0LXQvS5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2xpY2tQcmljZUhpc3RvcnlFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IHF1YW50aXR5VmFsdWVDaGFuZ2VzOiBPYnNlcnZhYmxlPG51bWJlciB8IG51bGw+ID0gdGhpcy5xdWFudGl0eUNvbnRyb2wudmFsdWVDaGFuZ2VzO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQsNCy0YLQvtC80LDRgtC40YfQtdGB0Lgg0LLRi9GB0YLQsNCy0LjRgtGMINGE0L7QutGD0YEg0L3QsCDQv9C+0LvQtSDQstCy0L7QtNCwINC60L7Qu9C70LjRh9C10YHRgtCy0LAg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdXRvRm9jdXNlUXVhbnRpdHlJbnB1dDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICog0JrQu9Cw0YHRgS3Qv9C+0LzQvtGJ0L3QuNC6INC00LvRjyDRgNCw0LHQvtGC0Ysg0YHQviDQt9C90LDRh9C10L3QuNGP0LzQuCDQtdC00LjQvdC40YYg0LjQt9C80LXRgNC10L3QuNGPINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgU2NVbml0c0hlbHBlciA9IFNjVW5pdHNIZWxwZXI7XG5cbiAgICAvKipcbiAgICAgKiDQpdC10LvQv9C10YAg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQuNC30L7QsdGA0LDQttC10L3QuNGP0LzQuCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGltYWdlSGVscGVyOiBTY0ltYWdlSGVscGVyID0gaW5qZWN0KFNjSW1hZ2VIZWxwZXIpO1xuXG4gICAgLyoqXG4gICAgICog0J/Rg9GC0Ywg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPICfQotC+0LLQsNGAINC90LUg0L3QsNC50LTQtdC9Jy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhdGhJbWFnZU5vdEZvdW5kOiBzdHJpbmcgPSBpbmplY3QoU0NfUEFUSF9JTUFHRV9OT1RfRk9VTkQpO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGK0LXQutGCINGB0LvQtdC20LXQvdC40Y8g0LfQsCDQuNC30LzQtdC90LXQvdC40Y/QvNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YrQtdC60YIg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3Byb2R1Y3Q6IFNjUHJvZHVjdCB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqINCf0L7Qt9C40YbQuNGPINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3QtS5cbiAgICAgKlxuICAgICAqIFRPRE86INCh0LTQtdC70LDRgtGMINGC0L7QstCw0YAg0LIg0LrQvtGA0LfQuNC90LUg0L3QsNCx0LvRjtC00LDQtdC80L7QuSDQv9C10YDQtdC80LXQvdC90L7QuSDQv9C+0YHQu9C1INGA0LXQsNC70LjQt9Cw0YbQuNC4IFRBU0s6WyM3MTQ0XS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9vcmRlckl0ZW06IFNjT3JkZXJJdGVtIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdGD0LbQvdC+INC/0L7QutCw0LfQsNGC0Ywg0YHQutC10LvQtdGC0L7QvS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHNrZWxldG9uVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnByb2R1Y3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LTQsNC90L3Ri9C1INC00LvRjyBwcmV2aWV3LdC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LrQsNGA0YLQvtGH0LrQuCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldENhcmRJbWFnZVByZXZpZXcoKTogU2NJSW1hZ2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9kdWN0ID8gdGhpcy5pbWFnZUhlbHBlci5nZXRJbWFnZVByZXZpZXcodGhpcy5wcm9kdWN0KSA6IG5ldyBTY0ltYWdlKHsgaW1hZ2U6IHRoaXMucGF0aEltYWdlTm90Rm91bmQsIGFsdDogYNCi0L7QstCw0YAg0L3QtSDQvdCw0LnQtNC10L1gIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC80LDRgdGB0LjQsiDQv9GA0LXQstGM0Y4t0LjQt9C+0LHRgNCw0LbQtdC90LjQuSDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQntCx0YrQtdC60YIg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXJkSW1hZ2VQcmV2aWV3TGlzdChwcm9kdWN0OiBTY1Byb2R1Y3QpOiBTY0lJbWFnZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW1hZ2VIZWxwZXIuZ2V0UHJvZHVjdEltYWdlUHJldmlld0xpc3QocHJvZHVjdCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LrQvtC80L/QvtC90LXQvdGCINCyINC+0YfQtdGA0LXQtNGMINC90LAg0L7QsdC90L7QstC70LXQvdC40LUuXG4gICAgICovXG4gICAgcHVibGljIG1hcmtGb3JDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuIl19