@snabcentr/client-ui 0.0.19 → 0.0.21
Sign up to get free protection for your applications and to get access to all the features.
- package/catalog/price-card/sc-price-card.component.d.ts +40 -12
- package/esm2020/catalog/price-card/sc-price-card.component.mjs +48 -11
- package/esm2020/icons/sc-client-ui-icons-name.mjs +11 -1
- package/esm2020/news/news-card/sc-news-card.component.mjs +9 -3
- package/esm2020/share-button/sc-share-button.component.mjs +26 -6
- package/esm2020/share-button/sc-share-button.module.mjs +5 -4
- package/fesm2015/snabcentr-client-ui.mjs +92 -20
- package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
- package/fesm2020/snabcentr-client-ui.mjs +91 -19
- package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
- package/icons/sc-client-ui-icons-name.d.ts +1 -0
- package/icons/svg-pack/scIconAddProfile.svg +1 -1
- package/icons/svg-pack/scIconApplication.svg +1 -1
- package/icons/svg-pack/scIconArrowDown.svg +1 -1
- package/icons/svg-pack/scIconArrowDownLarge.svg +1 -1
- package/icons/svg-pack/scIconArrowDownLargeEnd.svg +1 -1
- package/icons/svg-pack/scIconArrowLeft.svg +1 -1
- package/icons/svg-pack/scIconArrowReturn.svg +1 -1
- package/icons/svg-pack/scIconArrowRight.svg +1 -1
- package/icons/svg-pack/scIconArrowUp.svg +1 -1
- package/icons/svg-pack/scIconAttention.svg +1 -1
- package/icons/svg-pack/scIconBag.svg +1 -1
- package/icons/svg-pack/scIconBasket.svg +1 -1
- package/icons/svg-pack/scIconBell.svg +1 -1
- package/icons/svg-pack/scIconBook.svg +1 -1
- package/icons/svg-pack/scIconBubble.svg +1 -1
- package/icons/svg-pack/scIconCalendar.svg +1 -1
- package/icons/svg-pack/scIconCancel.svg +1 -1
- package/icons/svg-pack/scIconCart.svg +1 -1
- package/icons/svg-pack/scIconCatalog.svg +1 -1
- package/icons/svg-pack/scIconClients.svg +1 -1
- package/icons/svg-pack/scIconClip.svg +1 -1
- package/icons/svg-pack/scIconClock.svg +1 -1
- package/icons/svg-pack/scIconConfigurator.svg +1 -1
- package/icons/svg-pack/scIconContacts.svg +1 -1
- package/icons/svg-pack/scIconCross.svg +1 -1
- package/icons/svg-pack/scIconDeleteProfile.svg +1 -1
- package/icons/svg-pack/scIconDone.svg +1 -1
- package/icons/svg-pack/scIconDownloading.svg +1 -1
- package/icons/svg-pack/scIconEdit.svg +1 -1
- package/icons/svg-pack/scIconError.svg +1 -1
- package/icons/svg-pack/scIconExcelFile.svg +1 -1
- package/icons/svg-pack/scIconEye.svg +1 -1
- package/icons/svg-pack/scIconFavorite.svg +1 -1
- package/icons/svg-pack/scIconFavoriteFill.svg +1 -1
- package/icons/svg-pack/scIconFile.svg +1 -1
- package/icons/svg-pack/scIconFilter.svg +1 -1
- package/icons/svg-pack/scIconFolder.svg +1 -1
- package/icons/svg-pack/scIconFolderOpen.svg +1 -1
- package/icons/svg-pack/scIconFolderPlus.svg +1 -1
- package/icons/svg-pack/scIconGraph.svg +1 -1
- package/icons/svg-pack/scIconHamburger.svg +1 -1
- package/icons/svg-pack/scIconHeart.svg +1 -1
- package/icons/svg-pack/scIconHeartFill.svg +1 -1
- package/icons/svg-pack/scIconHistory.svg +1 -1
- package/icons/svg-pack/scIconHome.svg +1 -1
- package/icons/svg-pack/scIconImage.svg +1 -1
- package/icons/svg-pack/scIconLike.svg +1 -1
- package/icons/svg-pack/scIconList.svg +1 -1
- package/icons/svg-pack/scIconLocation.svg +1 -1
- package/icons/svg-pack/scIconLock.svg +1 -1
- package/icons/svg-pack/scIconLockOpen.svg +1 -1
- package/icons/svg-pack/scIconLogIn.svg +1 -1
- package/icons/svg-pack/scIconLogOut.svg +1 -1
- package/icons/svg-pack/scIconLogOut2.svg +1 -1
- package/icons/svg-pack/scIconMail.svg +1 -1
- package/icons/svg-pack/scIconMinus.svg +1 -1
- package/icons/svg-pack/scIconMoney.svg +1 -1
- package/icons/svg-pack/scIconMoney2.svg +1 -1
- package/icons/svg-pack/scIconNews.svg +1 -1
- package/icons/svg-pack/scIconOffer.svg +1 -1
- package/icons/svg-pack/scIconPalette.svg +1 -1
- package/icons/svg-pack/scIconPdfFile.svg +1 -1
- package/icons/svg-pack/scIconPercentage.svg +1 -1
- package/icons/svg-pack/scIconPhone.svg +1 -1
- package/icons/svg-pack/scIconPlus.svg +1 -1
- package/icons/svg-pack/scIconPrice.svg +1 -1
- package/icons/svg-pack/scIconProfile.svg +1 -1
- package/icons/svg-pack/scIconQRCodeScan.svg +1 -1
- package/icons/svg-pack/scIconQuestion.svg +1 -1
- package/icons/svg-pack/scIconReclamation.svg +1 -1
- package/icons/svg-pack/scIconRefresh.svg +1 -1
- package/icons/svg-pack/scIconRepeat.svg +1 -1
- package/icons/svg-pack/scIconRequisites.svg +1 -1
- package/icons/svg-pack/scIconRocket.svg +1 -1
- package/icons/svg-pack/scIconSave.svg +1 -1
- package/icons/svg-pack/scIconSearch.svg +1 -1
- package/icons/svg-pack/scIconSend.svg +1 -1
- package/icons/svg-pack/scIconSettings.svg +1 -1
- package/icons/svg-pack/scIconShare.svg +1 -1
- package/icons/svg-pack/scIconSocialCopy.svg +13 -0
- package/icons/svg-pack/scIconSocialEmail.svg +13 -0
- package/icons/svg-pack/scIconSocialFacebook.svg +12 -0
- package/icons/svg-pack/scIconSocialInstagram.svg +33 -0
- package/icons/svg-pack/scIconSocialQR.svg +12 -0
- package/icons/svg-pack/scIconSocialTelegram.svg +20 -0
- package/icons/svg-pack/scIconSocialViber.svg +16 -0
- package/icons/svg-pack/scIconSocialVk.svg +12 -0
- package/icons/svg-pack/scIconSocialWhatsapp.svg +12 -0
- package/icons/svg-pack/scIconStar.svg +1 -1
- package/icons/svg-pack/scIconSuitcase.svg +1 -1
- package/icons/svg-pack/scIconTasks.svg +1 -1
- package/icons/svg-pack/scIconTick.svg +1 -1
- package/icons/svg-pack/scIconTop.svg +1 -1
- package/icons/svg-pack/scIconVerticalThreeDots.svg +1 -1
- package/icons/svg-pack/scIconViewGrid.svg +1 -1
- package/icons/svg-pack/scIconViewInline.svg +1 -1
- package/icons/svg-pack/scIconViewTree.svg +1 -1
- package/icons/svg-pack/scIconWallet.svg +1 -1
- package/icons/svg-pack/scIconWarning.svg +1 -1
- package/icons/svg-pack/scIconWordFile.svg +1 -1
- package/news/news-card/sc-news-card.component.d.ts +5 -1
- package/package.json +1 -1
- package/share-button/sc-share-button.component.d.ts +15 -1
- package/share-button/sc-share-button.module.d.ts +2 -1
- package/styles/tailwind/tailwind.scss +1 -1
@@ -1,17 +1,37 @@
|
|
1
|
-
import { EventEmitter
|
1
|
+
import { EventEmitter } from '@angular/core';
|
2
2
|
import { FormControl } from '@angular/forms';
|
3
|
-
import { ScAuthService, ScIUrls, ScProduct, ScWarehouse, ScWarehouseService } from '@snabcentr/client-core';
|
3
|
+
import { ScAuthService, ScCartItem, ScIUrls, ScProduct, ScWarehouse, ScWarehouseService } from '@snabcentr/client-core';
|
4
4
|
import { TuiSizeS } from '@taiga-ui/core';
|
5
5
|
import { Observable } from 'rxjs';
|
6
6
|
import * as i0 from "@angular/core";
|
7
7
|
/**
|
8
8
|
* Компонент карточки товара.
|
9
9
|
*/
|
10
|
-
export declare class ScPriceCardComponent
|
10
|
+
export declare class ScPriceCardComponent {
|
11
11
|
private readonly authService;
|
12
12
|
private readonly warehouseService;
|
13
13
|
private readonly urls;
|
14
14
|
private readonly pathImageNotFound;
|
15
|
+
/**
|
16
|
+
* Признак, что необходимо отобразить лоадер для поля ввода количества товара.
|
17
|
+
*/
|
18
|
+
quantityShowLoader: boolean;
|
19
|
+
/**
|
20
|
+
* Признак, что необходимо отобразить поле ввода количества товара.
|
21
|
+
*/
|
22
|
+
showQuantityControl: boolean;
|
23
|
+
/**
|
24
|
+
* Позиция товара в корзине.
|
25
|
+
*
|
26
|
+
* TODO: Сделать товар в корзине наблюдаемой переменной после реализации TASK:[#7144].
|
27
|
+
*/
|
28
|
+
get cartItem(): ScCartItem | undefined;
|
29
|
+
/**
|
30
|
+
* Позиция товара в корзине
|
31
|
+
*
|
32
|
+
* TODO: Сделать товар в корзине наблюдаемой переменной после реализации TASK:[#7144].
|
33
|
+
*/
|
34
|
+
set cartItem(value: ScCartItem | undefined);
|
15
35
|
/**
|
16
36
|
* Объект товара.
|
17
37
|
*
|
@@ -25,15 +45,15 @@ export declare class ScPriceCardComponent implements OnInit {
|
|
25
45
|
/**
|
26
46
|
* Событие нажатия на кнопку "В корзину".
|
27
47
|
*/
|
28
|
-
clickAddToCartEvent: EventEmitter<
|
48
|
+
clickAddToCartEvent: EventEmitter<ScProduct>;
|
29
49
|
/**
|
30
|
-
* Событие нажатия на
|
50
|
+
* Событие нажатия на кнопку очистки количества товара.
|
31
51
|
*/
|
32
|
-
|
52
|
+
clickClearEvent: EventEmitter<ScCartItem>;
|
33
53
|
/**
|
34
|
-
*
|
54
|
+
* Событие нажатия на карточку товара.
|
35
55
|
*/
|
36
|
-
|
56
|
+
clickCardEvent: EventEmitter<void>;
|
37
57
|
/**
|
38
58
|
* {@link Observable} изменения выбранного склада.
|
39
59
|
*/
|
@@ -41,7 +61,11 @@ export declare class ScPriceCardComponent implements OnInit {
|
|
41
61
|
/**
|
42
62
|
* {@link FormControl} поля ввода количества товара в корзине.
|
43
63
|
*/
|
44
|
-
quantityControl
|
64
|
+
quantityControl: FormControl<number | null>;
|
65
|
+
/**
|
66
|
+
* {@link Observable} изменения количества товара в корзине.
|
67
|
+
*/
|
68
|
+
quantityValueChanges: Observable<number | null>;
|
45
69
|
/**
|
46
70
|
* {@link Observable} изменения статуса авторизации.
|
47
71
|
*/
|
@@ -50,6 +74,12 @@ export declare class ScPriceCardComponent implements OnInit {
|
|
50
74
|
* Размер компонента.
|
51
75
|
*/
|
52
76
|
size: TuiSizeS;
|
77
|
+
/**
|
78
|
+
* Позиция товара в корзине.
|
79
|
+
*
|
80
|
+
* TODO: Сделать товар в корзине наблюдаемой переменной после реализации TASK:[#7144].
|
81
|
+
*/
|
82
|
+
private _cartItem?;
|
53
83
|
/**
|
54
84
|
* Инициирует экземпляр класса {@link ScPriceCardComponent}.
|
55
85
|
*
|
@@ -63,12 +93,10 @@ export declare class ScPriceCardComponent implements OnInit {
|
|
63
93
|
* Признак, что нужно показать скелетон.
|
64
94
|
*/
|
65
95
|
get skeletonVisible(): boolean;
|
66
|
-
/** @inheritDoc */
|
67
|
-
ngOnInit(): void;
|
68
96
|
/**
|
69
97
|
* Возвращает ссылку на изображение карточки товара.
|
70
98
|
*/
|
71
99
|
getCardImage(): string;
|
72
100
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScPriceCardComponent, never>;
|
73
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ScPriceCardComponent, "sc-price-card", never, { "product": "product"; "size": "size"; }, { "clickFavoriteEvent": "clickFavoriteEvent"; "clickAddToCartEvent": "clickAddToCartEvent"; "clickCardEvent": "clickCardEvent"; "quantityValueChanges": "quantityValueChanges"; }, never, never, false>;
|
101
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScPriceCardComponent, "sc-price-card", never, { "showQuantityControl": "showQuantityControl"; "cartItem": "cartItem"; "product": "product"; "size": "size"; }, { "clickFavoriteEvent": "clickFavoriteEvent"; "clickAddToCartEvent": "clickAddToCartEvent"; "clickClearEvent": "clickClearEvent"; "clickCardEvent": "clickCardEvent"; "quantityValueChanges": "quantityValueChanges"; }, never, never, false>;
|
74
102
|
}
|
@@ -26,6 +26,14 @@ export class ScPriceCardComponent {
|
|
26
26
|
this.warehouseService = warehouseService;
|
27
27
|
this.urls = urls;
|
28
28
|
this.pathImageNotFound = pathImageNotFound;
|
29
|
+
/**
|
30
|
+
* Признак, что необходимо отобразить лоадер для поля ввода количества товара.
|
31
|
+
*/
|
32
|
+
this.quantityShowLoader = false;
|
33
|
+
/**
|
34
|
+
* Признак, что необходимо отобразить поле ввода количества товара.
|
35
|
+
*/
|
36
|
+
this.showQuantityControl = false;
|
29
37
|
/**
|
30
38
|
* Событие нажатия на кнопку "В избранное".
|
31
39
|
*/
|
@@ -34,6 +42,10 @@ export class ScPriceCardComponent {
|
|
34
42
|
* Событие нажатия на кнопку "В корзину".
|
35
43
|
*/
|
36
44
|
this.clickAddToCartEvent = new EventEmitter();
|
45
|
+
/**
|
46
|
+
* Событие нажатия на кнопку очистки количества товара.
|
47
|
+
*/
|
48
|
+
this.clickClearEvent = new EventEmitter();
|
37
49
|
/**
|
38
50
|
* Событие нажатия на карточку товара.
|
39
51
|
*/
|
@@ -42,6 +54,14 @@ export class ScPriceCardComponent {
|
|
42
54
|
* {@link Observable} изменения выбранного склада.
|
43
55
|
*/
|
44
56
|
this.warehouseSelect$ = this.warehouseService.getWarehouseSelectChange$();
|
57
|
+
/**
|
58
|
+
* {@link FormControl} поля ввода количества товара в корзине.
|
59
|
+
*/
|
60
|
+
this.quantityControl = new FormControl(null);
|
61
|
+
/**
|
62
|
+
* {@link Observable} изменения количества товара в корзине.
|
63
|
+
*/
|
64
|
+
this.quantityValueChanges = this.quantityControl.valueChanges;
|
45
65
|
/**
|
46
66
|
* {@link Observable} изменения статуса авторизации.
|
47
67
|
*/
|
@@ -51,19 +71,30 @@ export class ScPriceCardComponent {
|
|
51
71
|
*/
|
52
72
|
this.size = 'm';
|
53
73
|
}
|
74
|
+
/**
|
75
|
+
* Позиция товара в корзине.
|
76
|
+
*
|
77
|
+
* TODO: Сделать товар в корзине наблюдаемой переменной после реализации TASK:[#7144].
|
78
|
+
*/
|
79
|
+
get cartItem() {
|
80
|
+
return this._cartItem;
|
81
|
+
}
|
82
|
+
/**
|
83
|
+
* Позиция товара в корзине
|
84
|
+
*
|
85
|
+
* TODO: Сделать товар в корзине наблюдаемой переменной после реализации TASK:[#7144].
|
86
|
+
*/
|
87
|
+
set cartItem(value) {
|
88
|
+
this._cartItem = value;
|
89
|
+
this.quantityControl.patchValue(this._cartItem?.quantity ?? null, { emitEvent: false });
|
90
|
+
this.quantityShowLoader = false;
|
91
|
+
}
|
54
92
|
/**
|
55
93
|
* Признак, что нужно показать скелетон.
|
56
94
|
*/
|
57
95
|
get skeletonVisible() {
|
58
96
|
return !this.product;
|
59
97
|
}
|
60
|
-
/** @inheritDoc */
|
61
|
-
ngOnInit() {
|
62
|
-
if (this.product?.cartItem) {
|
63
|
-
this.quantityControl = new FormControl(this.product.cartItem.quantity);
|
64
|
-
this.quantityValueChanges = this.quantityControl.valueChanges;
|
65
|
-
}
|
66
|
-
}
|
67
98
|
/**
|
68
99
|
* Возвращает ссылку на изображение карточки товара.
|
69
100
|
*/
|
@@ -72,22 +103,28 @@ export class ScPriceCardComponent {
|
|
72
103
|
}
|
73
104
|
}
|
74
105
|
ScPriceCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceCardComponent, deps: [{ token: i1.ScAuthService }, { token: i1.ScWarehouseService }, { token: SC_URLS }, { token: SC_PATH_IMAGE_NOT_FOUND }], target: i0.ɵɵFactoryTarget.Component });
|
75
|
-
ScPriceCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceCardComponent, selector: "sc-price-card", inputs: { product: "product", size: "size" }, outputs: { clickFavoriteEvent: "clickFavoriteEvent", clickAddToCartEvent: "clickAddToCartEvent", clickCardEvent: "clickCardEvent", quantityValueChanges: "quantityValueChanges" }, host: { properties: { "attr.data-size": "this.size" } }, ngImport: i0, template: "<div *ngIf=\"product; else skeleton\" class=\"card-wrapper flex flex-col w-40 h-64 bg-tui-base-03 rounded-xl shadow-sc-2 overflow-hidden text-xs\">\n <!-- \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 -->\n <div class=\"flex flex-col grow overflow-hidden\">\n <div class=\"flex justify-center items-center grow overflow-hidden relative\">\n <img (click)=\"clickCardEvent.emit()\" [src]=\"getCardImage()\" [alt]=\"product.name\" [class.p-12]=\"!product.images?.length\" class=\"cursor-pointer\" />\n <tui-svg *ngIf=\"
|
106
|
+
ScPriceCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceCardComponent, selector: "sc-price-card", inputs: { showQuantityControl: "showQuantityControl", cartItem: "cartItem", product: "product", size: "size" }, outputs: { clickFavoriteEvent: "clickFavoriteEvent", clickAddToCartEvent: "clickAddToCartEvent", clickClearEvent: "clickClearEvent", clickCardEvent: "clickCardEvent", quantityValueChanges: "quantityValueChanges" }, host: { properties: { "attr.data-size": "this.size" } }, ngImport: i0, template: "<div *ngIf=\"product; else skeleton\" class=\"card-wrapper flex flex-col w-40 h-64 bg-tui-base-03 rounded-xl shadow-sc-2 overflow-hidden text-xs\">\n <!-- \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 -->\n <div class=\"flex flex-col grow overflow-hidden\">\n <div class=\"flex justify-center items-center grow overflow-hidden relative\">\n <img (click)=\"clickCardEvent.emit()\" [src]=\"getCardImage()\" [alt]=\"product.name\" [class.p-12]=\"!product.images?.length\" class=\"cursor-pointer\" />\n <tui-svg *ngIf=\"cartItem\" src=\"tuiIconCheck\" class=\"!h-5 !w-5 bg-tui-primary text-white rounded-md absolute right-2 top-2\"></tui-svg>\n <sc-favorite-btn *ngIf=\"authStatus$ | async\" [class.!block]=\"product.isFavorite\" class=\"top-1 left-1 absolute hidden group-hover:block\"></sc-favorite-btn>\n </div>\n </div>\n\n <!-- \u041A\u0440\u0430\u0442\u043A\u0430\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0442\u043E\u0432\u0430\u0440\u0435 -->\n <div class=\"bg-white relative shrink-0\">\n <div class=\"wrapper-info flex flex-col content-between flex-auto justify-between\">\n <a class=\"name !transition-all !duration-500\" tuiLink iconAlign=\"left\" (click)=\"clickCardEvent.emit()\">\n <span class=\"font-bold\">{{ product.name }}</span>\n </a>\n <div class=\"info text-tui-text-02 overflow-hidden duration-500\">\n <p *ngIf=\"product.pack\">\u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}</p>\n <div class=\"sub-info\">\n <p>\u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}</p>\n <p *ngIf=\"(authStatus$ | async) && product.costDate\" class=\"text-tui-link hover:text-tui-link-hover cursor-pointer\">\u0414\u0430\u0442\u0430: {{ product.costDate }}</p>\n </div>\n </div>\n <div *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"flex flex-col\">\n <span *ngIf=\"product.discount\" class=\"flex items-center text-tui-text-02\">\n <span class=\"line-through\">{{ product.discountCostString }}</span> \n <span class=\"text-tui-success-fill font-bold\"> -{{ product.discount.percent }}% </span>\n <tui-svg src=\"tuiIconInfoLarge\" [tuiHint]=\"discountHint\" [tuiHintShowDelay]=\"100\" tuiHintDirection=\"top\" class=\"text-black !text-xs !h-4\"></tui-svg>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"product.discount.expiredAt as expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </span>\n <span [class.text-tui-text-02]=\"!product.isWarehouseStockExist(warehouseSelect.id)\" class=\"cost font-bold\">{{ product.costRubString }}</span>\n <span *ngIf=\"!product.priceInRub\" class=\"text-xs font-bold text-tui-text-02 hidden group-hover:block\">{{ product.costString }}</span>\n <sc-price-warehouse-stock [product]=\"product\"></sc-price-warehouse-stock>\n </div>\n </div>\n <div class=\"button-wrapper overflow-hidden duration-500\">\n <button *ngIf=\"!showQuantityControl\" tuiButton (click)=\"clickAddToCartEvent.emit(product)\" [showLoader]=\"quantityShowLoader\" [size]=\"size\" class=\"w-full\">\n <span class=\"font-bold\"> <tui-svg src=\"scIconCart\"></tui-svg> \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443</span>\n </button>\n <sc-input-quantity\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n [quantityUnit]=\"product.quantityUnit\"\n [size]=\"size === 'm' ? 'l' : 'm'\"\n [step]=\"product.minCount || 1\"\n [showLoader]=\"quantityShowLoader\"\n (clickClearEvent)=\"clickClearEvent.emit(cartItem)\"\n ></sc-input-quantity>\n </div>\n <div *ngIf=\"product.isPreviouslyOrdered\" matTooltip=\"\u0422\u043E\u0432\u0430\u0440 \u0438\u0437 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u043F\u043E\u043A\u0443\u043F\u043E\u043A\" class=\"rotate-45 z-10 absolute bg-tui-error-fill -bottom-4 -right-4 h-8 w-8\"></div>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"flex flex-col card-wrapper bg-white rounded-xl overflow-hidden shadow-sc-1\">\n <!-- \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 -->\n <div class=\"w-full h-3/5 rounded-t bg-tui-base-02\"></div>\n <!-- \u041A\u0440\u0430\u0442\u043A\u0430\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0442\u043E\u0432\u0430\u0440\u0435 -->\n <div class=\"flex flex-col grow gap-2.5 bg-white rounded-b p-5\">\n <div class=\"w-full h-4 rounded bg-tui-base-02\"></div>\n <div class=\"w-3/5 h-4 rounded bg-tui-base-02\"></div>\n <div class=\"w-full h-4 rounded bg-tui-base-02\"></div>\n </div>\n </div>\n</ng-template>\n", styles: [":host[data-size=s] .card-wrapper{width:10rem;height:16rem}:host[data-size=s] .card-wrapper .wrapper-info{padding:8px}:host[data-size=s] .card-wrapper .wrapper-info .cost{font-size:.875rem;line-height:1.25rem}:host[data-size=s] .card-wrapper .button-wrapper tui-svg{font-size:.75rem;line-height:1rem;width:1rem}:host[data-size=m] .card-wrapper{width:12.5rem;height:20rem}:host[data-size=m] .card-wrapper .wrapper-info{padding-inline:16px;padding-block:8px}:host[data-size=m] .card-wrapper .name{font-size:.875rem;line-height:1.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:3rem}:host[data-size=m] .card-wrapper .info{max-height:1rem}:host[data-size=m] .card-wrapper .cost{font-size:1.125rem;line-height:1.75rem}:host[data-size=m] .card-wrapper .button-wrapper{max-height:0px;font-size:.75rem;line-height:1rem}:host[data-size=m] .card-wrapper:hover .name{-webkit-line-clamp:unset;max-height:6rem}:host[data-size=m] .card-wrapper:hover .info{max-height:3rem}:host[data-size=m] .card-wrapper:hover .button-wrapper{max-height:3rem}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "component", type: i3.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { kind: "directive", type: i3.TuiHintDriverDirective, selector: "[tuiHint]" }, { kind: "directive", type: i3.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { kind: "directive", type: i3.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: ["tuiHintDirection"] }, { kind: "component", type: i3.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { kind: "component", type: i5.ScFavoriteBtnComponent, selector: "sc-favorite-btn", outputs: ["clickEvent"] }, { kind: "component", type: i6.ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "quantityUnit", "showLoader", "showCross", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }, { kind: "component", type: i7.ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
76
107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceCardComponent, decorators: [{
|
77
108
|
type: Component,
|
78
|
-
args: [{ selector: 'sc-price-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"product; else skeleton\" class=\"card-wrapper flex flex-col w-40 h-64 bg-tui-base-03 rounded-xl shadow-sc-2 overflow-hidden text-xs\">\n <!-- \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 -->\n <div class=\"flex flex-col grow overflow-hidden\">\n <div class=\"flex justify-center items-center grow overflow-hidden relative\">\n <img (click)=\"clickCardEvent.emit()\" [src]=\"getCardImage()\" [alt]=\"product.name\" [class.p-12]=\"!product.images?.length\" class=\"cursor-pointer\" />\n <tui-svg *ngIf=\"
|
109
|
+
args: [{ selector: 'sc-price-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"product; else skeleton\" class=\"card-wrapper flex flex-col w-40 h-64 bg-tui-base-03 rounded-xl shadow-sc-2 overflow-hidden text-xs\">\n <!-- \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 -->\n <div class=\"flex flex-col grow overflow-hidden\">\n <div class=\"flex justify-center items-center grow overflow-hidden relative\">\n <img (click)=\"clickCardEvent.emit()\" [src]=\"getCardImage()\" [alt]=\"product.name\" [class.p-12]=\"!product.images?.length\" class=\"cursor-pointer\" />\n <tui-svg *ngIf=\"cartItem\" src=\"tuiIconCheck\" class=\"!h-5 !w-5 bg-tui-primary text-white rounded-md absolute right-2 top-2\"></tui-svg>\n <sc-favorite-btn *ngIf=\"authStatus$ | async\" [class.!block]=\"product.isFavorite\" class=\"top-1 left-1 absolute hidden group-hover:block\"></sc-favorite-btn>\n </div>\n </div>\n\n <!-- \u041A\u0440\u0430\u0442\u043A\u0430\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0442\u043E\u0432\u0430\u0440\u0435 -->\n <div class=\"bg-white relative shrink-0\">\n <div class=\"wrapper-info flex flex-col content-between flex-auto justify-between\">\n <a class=\"name !transition-all !duration-500\" tuiLink iconAlign=\"left\" (click)=\"clickCardEvent.emit()\">\n <span class=\"font-bold\">{{ product.name }}</span>\n </a>\n <div class=\"info text-tui-text-02 overflow-hidden duration-500\">\n <p *ngIf=\"product.pack\">\u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}</p>\n <div class=\"sub-info\">\n <p>\u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}</p>\n <p *ngIf=\"(authStatus$ | async) && product.costDate\" class=\"text-tui-link hover:text-tui-link-hover cursor-pointer\">\u0414\u0430\u0442\u0430: {{ product.costDate }}</p>\n </div>\n </div>\n <div *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"flex flex-col\">\n <span *ngIf=\"product.discount\" class=\"flex items-center text-tui-text-02\">\n <span class=\"line-through\">{{ product.discountCostString }}</span> \n <span class=\"text-tui-success-fill font-bold\"> -{{ product.discount.percent }}% </span>\n <tui-svg src=\"tuiIconInfoLarge\" [tuiHint]=\"discountHint\" [tuiHintShowDelay]=\"100\" tuiHintDirection=\"top\" class=\"text-black !text-xs !h-4\"></tui-svg>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"product.discount.expiredAt as expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </span>\n <span [class.text-tui-text-02]=\"!product.isWarehouseStockExist(warehouseSelect.id)\" class=\"cost font-bold\">{{ product.costRubString }}</span>\n <span *ngIf=\"!product.priceInRub\" class=\"text-xs font-bold text-tui-text-02 hidden group-hover:block\">{{ product.costString }}</span>\n <sc-price-warehouse-stock [product]=\"product\"></sc-price-warehouse-stock>\n </div>\n </div>\n <div class=\"button-wrapper overflow-hidden duration-500\">\n <button *ngIf=\"!showQuantityControl\" tuiButton (click)=\"clickAddToCartEvent.emit(product)\" [showLoader]=\"quantityShowLoader\" [size]=\"size\" class=\"w-full\">\n <span class=\"font-bold\"> <tui-svg src=\"scIconCart\"></tui-svg> \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443</span>\n </button>\n <sc-input-quantity\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n [quantityUnit]=\"product.quantityUnit\"\n [size]=\"size === 'm' ? 'l' : 'm'\"\n [step]=\"product.minCount || 1\"\n [showLoader]=\"quantityShowLoader\"\n (clickClearEvent)=\"clickClearEvent.emit(cartItem)\"\n ></sc-input-quantity>\n </div>\n <div *ngIf=\"product.isPreviouslyOrdered\" matTooltip=\"\u0422\u043E\u0432\u0430\u0440 \u0438\u0437 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u043F\u043E\u043A\u0443\u043F\u043E\u043A\" class=\"rotate-45 z-10 absolute bg-tui-error-fill -bottom-4 -right-4 h-8 w-8\"></div>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"flex flex-col card-wrapper bg-white rounded-xl overflow-hidden shadow-sc-1\">\n <!-- \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 -->\n <div class=\"w-full h-3/5 rounded-t bg-tui-base-02\"></div>\n <!-- \u041A\u0440\u0430\u0442\u043A\u0430\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0442\u043E\u0432\u0430\u0440\u0435 -->\n <div class=\"flex flex-col grow gap-2.5 bg-white rounded-b p-5\">\n <div class=\"w-full h-4 rounded bg-tui-base-02\"></div>\n <div class=\"w-3/5 h-4 rounded bg-tui-base-02\"></div>\n <div class=\"w-full h-4 rounded bg-tui-base-02\"></div>\n </div>\n </div>\n</ng-template>\n", styles: [":host[data-size=s] .card-wrapper{width:10rem;height:16rem}:host[data-size=s] .card-wrapper .wrapper-info{padding:8px}:host[data-size=s] .card-wrapper .wrapper-info .cost{font-size:.875rem;line-height:1.25rem}:host[data-size=s] .card-wrapper .button-wrapper tui-svg{font-size:.75rem;line-height:1rem;width:1rem}:host[data-size=m] .card-wrapper{width:12.5rem;height:20rem}:host[data-size=m] .card-wrapper .wrapper-info{padding-inline:16px;padding-block:8px}:host[data-size=m] .card-wrapper .name{font-size:.875rem;line-height:1.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:3rem}:host[data-size=m] .card-wrapper .info{max-height:1rem}:host[data-size=m] .card-wrapper .cost{font-size:1.125rem;line-height:1.75rem}:host[data-size=m] .card-wrapper .button-wrapper{max-height:0px;font-size:.75rem;line-height:1rem}:host[data-size=m] .card-wrapper:hover .name{-webkit-line-clamp:unset;max-height:6rem}:host[data-size=m] .card-wrapper:hover .info{max-height:3rem}:host[data-size=m] .card-wrapper:hover .button-wrapper{max-height:3rem}\n"] }]
|
79
110
|
}], ctorParameters: function () { return [{ type: i1.ScAuthService }, { type: i1.ScWarehouseService }, { type: undefined, decorators: [{
|
80
111
|
type: Inject,
|
81
112
|
args: [SC_URLS]
|
82
113
|
}] }, { type: undefined, decorators: [{
|
83
114
|
type: Inject,
|
84
115
|
args: [SC_PATH_IMAGE_NOT_FOUND]
|
85
|
-
}] }]; }, propDecorators: {
|
116
|
+
}] }]; }, propDecorators: { showQuantityControl: [{
|
117
|
+
type: Input
|
118
|
+
}], cartItem: [{
|
119
|
+
type: Input
|
120
|
+
}], product: [{
|
86
121
|
type: Input
|
87
122
|
}], clickFavoriteEvent: [{
|
88
123
|
type: Output
|
89
124
|
}], clickAddToCartEvent: [{
|
90
125
|
type: Output
|
126
|
+
}], clickClearEvent: [{
|
127
|
+
type: Output
|
91
128
|
}], clickCardEvent: [{
|
92
129
|
type: Output
|
93
130
|
}], quantityValueChanges: [{
|
@@ -98,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
98
135
|
type: HostBinding,
|
99
136
|
args: ['attr.data-size']
|
100
137
|
}] } });
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9wcmljZS1jYXJkL3NjLXByaWNlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBc0UsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7O0FBSTlJOztHQUVHO0FBT0gsTUFBTSxPQUFPLG9CQUFvQjtJQXVEN0I7Ozs7Ozs7T0FPRztJQUNILFlBQ3FCLFdBQTBCLEVBQzFCLGdCQUFvQyxFQUNuQixJQUFhLEVBQ0csaUJBQXlCO1FBSDFELGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQTFEL0U7O1dBRUc7UUFFSSx1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV6RTs7V0FFRztRQUVJLHdCQUFtQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTFFOztXQUVHO1FBRUksbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQVFyRTs7V0FFRztRQUNJLHFCQUFnQixHQUFtQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQU81Rzs7V0FFRztRQUNhLGdCQUFXLEdBQXdCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFcEY7O1dBRUc7UUFHSSxTQUFJLEdBQWEsR0FBRyxDQUFDO0lBZXpCLENBQUM7SUFFSjs7T0FFRztJQUNILElBQVcsZUFBZTtRQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsUUFBUTtRQUNYLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUM7U0FDakU7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxZQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNwRixDQUFDOztpSEExRlEsb0JBQW9CLGlGQWtFakIsT0FBTyxhQUNQLHVCQUF1QjtxR0FuRTFCLG9CQUFvQiwrVUNmakMsaW5LQWtFQTsyRkRuRGEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs7MEJBb0UxQyxNQUFNOzJCQUFDLE9BQU87OzBCQUNkLE1BQU07MkJBQUMsdUJBQXVCOzRDQTVENUIsT0FBTztzQkFEYixLQUFLO2dCQU9DLGtCQUFrQjtzQkFEeEIsTUFBTTtnQkFPQSxtQkFBbUI7c0JBRHpCLE1BQU07Z0JBT0EsY0FBYztzQkFEcEIsTUFBTTtnQkFPQSxvQkFBb0I7c0JBRDFCLE1BQU07Z0JBdUJBLElBQUk7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTQ19QQVRIX0lNQUdFX05PVF9GT1VORCwgU0NfVVJMUywgU2NBdXRoU2VydmljZSwgU2NJVXJscywgU2NQcm9kdWN0LCBTY1dhcmVob3VzZSwgU2NXYXJlaG91c2VTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlTaXplUyB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LrQsNGA0YLQvtGH0LrQuCDRgtC+0LLQsNGA0LAuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtcHJpY2UtY2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByaWNlLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NjLXByaWNlLWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcmljZUNhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqINCe0LHRitC10LrRgiDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiBUT0RPOiDQodC00LXQu9Cw0YLRjCDRgtC+0LLQsNGAINC90LDQsdC70Y7QtNCw0LXQvNC+0Lkg0L/QtdGA0LXQvNC10L3QvdC+0Lkg0L/QvtGB0LvQtSDRgNC10LDQu9C40LfQsNGG0LjQuCBUQVNLOlsjNzE0NF0uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcHJvZHVjdD86IFNjUHJvZHVjdDtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDIFwi0JIg0LjQt9Cx0YDQsNC90L3QvtC1XCIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrRmF2b3JpdGVFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMgXCLQkiDQutC+0YDQt9C40L3Rg1wiLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbGlja0FkZFRvQ2FydEV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60LDRgNGC0L7Rh9C60YMg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbGlja0NhcmRFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHF1YW50aXR5VmFsdWVDaGFuZ2VzPzogT2JzZXJ2YWJsZTxudW1iZXIgfCBudWxsPjtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0LLRi9Cx0YDQsNC90L3QvtCz0L4g0YHQutC70LDQtNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyB3YXJlaG91c2VTZWxlY3QkOiBPYnNlcnZhYmxlPFNjV2FyZWhvdXNlIHwgbnVsbD4gPSB0aGlzLndhcmVob3VzZVNlcnZpY2UuZ2V0V2FyZWhvdXNlU2VsZWN0Q2hhbmdlJCgpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIEZvcm1Db250cm9sfSDQv9C+0LvRjyDQstCy0L7QtNCwINC60L7Qu9C40YfQtdGB0YLQstCwINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3QtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcXVhbnRpdHlDb250cm9sPzogRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD47XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0YLQsNGC0YPRgdCwINCw0LLRgtC+0YDQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF1dGhTdGF0dXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoQ2hhbmdlKCk7XG5cbiAgICAvKipcbiAgICAgKiDQoNCw0LfQvNC10YAg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBwdWJsaWMgc2l6ZTogVHVpU2l6ZVMgPSAnbSc7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1ByaWNlQ2FyZENvbXBvbmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXV0aFNlcnZpY2Ug0KHQtdGA0LLQuNGBINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICogQHBhcmFtIHdhcmVob3VzZVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YHQviDRgdC60LvQsNC00LDQvNC4LlxuICAgICAqIEBwYXJhbSB1cmxzINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L3QsCDRgNCw0LfQtNC10LvRiyBiYWNrZW5kJ2EuXG4gICAgICogQHBhcmFtIHBhdGhJbWFnZU5vdEZvdW5kINCf0YPRgtGMINC00L4g0LjQt9C+0LHRgNCw0LbQtdC90LjRjyAn0KLQvtCy0LDRgCDQvdC1INC90LDQudC00LXQvScuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBTY0F1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHdhcmVob3VzZVNlcnZpY2U6IFNjV2FyZWhvdXNlU2VydmljZSxcbiAgICAgICAgQEluamVjdChTQ19VUkxTKSBwcml2YXRlIHJlYWRvbmx5IHVybHM6IFNjSVVybHMsXG4gICAgICAgIEBJbmplY3QoU0NfUEFUSF9JTUFHRV9OT1RfRk9VTkQpIHByaXZhdGUgcmVhZG9ubHkgcGF0aEltYWdlTm90Rm91bmQ6IHN0cmluZ1xuICAgICkge31cblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3Rg9C20L3QviDQv9C+0LrQsNC30LDRgtGMINGB0LrQtdC70LXRgtC+0L0uXG4gICAgICovXG4gICAgcHVibGljIGdldCBza2VsZXRvblZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5wcm9kdWN0O1xuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucHJvZHVjdD8uY2FydEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMucXVhbnRpdHlDb250cm9sID0gbmV3IEZvcm1Db250cm9sKHRoaXMucHJvZHVjdC5jYXJ0SXRlbS5xdWFudGl0eSk7XG4gICAgICAgICAgICB0aGlzLnF1YW50aXR5VmFsdWVDaGFuZ2VzID0gdGhpcy5xdWFudGl0eUNvbnRyb2wudmFsdWVDaGFuZ2VzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHRgdGL0LvQutGDINC90LAg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2FyZEltYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2R1Y3Q/LmdldEltYWdlKHRoaXMudXJscy5pbWdTZXJ2ZXJVcmwpID8/IHRoaXMucGF0aEltYWdlTm90Rm91bmQ7XG4gICAgfVxufVxuIiwiPGRpdiAqbmdJZj1cInByb2R1Y3Q7IGVsc2Ugc2tlbGV0b25cIiBjbGFzcz1cImNhcmQtd3JhcHBlciBmbGV4IGZsZXgtY29sIHctNDAgaC02NCBiZy10dWktYmFzZS0wMyByb3VuZGVkLXhsIHNoYWRvdy1zYy0yIG92ZXJmbG93LWhpZGRlbiB0ZXh0LXhzXCI+XG4gICAgPCEtLSDQmNC30L7QsdGA0LDQttC10L3QuNC1INGC0L7QstCw0YDQsCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBncm93IG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgZ3JvdyBvdmVyZmxvdy1oaWRkZW4gcmVsYXRpdmVcIj5cbiAgICAgICAgICAgIDxpbWcgKGNsaWNrKT1cImNsaWNrQ2FyZEV2ZW50LmVtaXQoKVwiIFtzcmNdPVwiZ2V0Q2FyZEltYWdlKClcIiBbYWx0XT1cInByb2R1Y3QubmFtZVwiIFtjbGFzcy5wLTEyXT1cIiFwcm9kdWN0LmltYWdlcz8ubGVuZ3RoXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIC8+XG4gICAgICAgICAgICA8dHVpLXN2ZyAqbmdJZj1cInByb2R1Y3QuY2FydEl0ZW1cIiBzcmM9XCJ0dWlJY29uQ2hlY2tcIiBjbGFzcz1cIiFoLTUgIXctNSBiZy10dWktcHJpbWFyeSB0ZXh0LXdoaXRlIHJvdW5kZWQtbWQgYWJzb2x1dGUgcmlnaHQtMiB0b3AtMlwiPjwvdHVpLXN2Zz5cbiAgICAgICAgICAgIDxzYy1mYXZvcml0ZS1idG4gKm5nSWY9XCJhdXRoU3RhdHVzJCB8IGFzeW5jXCIgW2NsYXNzLiFibG9ja109XCJwcm9kdWN0LmlzRmF2b3JpdGVcIiBjbGFzcz1cInRvcC0xIGxlZnQtMSBhYnNvbHV0ZSBoaWRkZW4gZ3JvdXAtaG92ZXI6YmxvY2tcIj48L3NjLWZhdm9yaXRlLWJ0bj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tINCa0YDQsNGC0LrQsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINC+INGC0L7QstCw0YDQtSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYmctd2hpdGUgcmVsYXRpdmUgc2hyaW5rLTBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXItaW5mbyBmbGV4IGZsZXgtY29sIGNvbnRlbnQtYmV0d2VlbiBmbGV4LWF1dG8ganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICA8YSBjbGFzcz1cIm5hbWUgIXRyYW5zaXRpb24tYWxsICFkdXJhdGlvbi01MDBcIiB0dWlMaW5rIGljb25BbGlnbj1cImxlZnRcIiAoY2xpY2spPVwiY2xpY2tDYXJkRXZlbnQuZW1pdCgpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj57eyBwcm9kdWN0Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mbyB0ZXh0LXR1aS10ZXh0LTAyIG92ZXJmbG93LWhpZGRlbiBkdXJhdGlvbi01MDBcIj5cbiAgICAgICAgICAgICAgICA8cCAqbmdJZj1cInByb2R1Y3QucGFja1wiPtCd0L7RgNC80LAg0YPQv9Cw0LrQvtCy0LrQuDoge3sgcHJvZHVjdC5wYWNrIH19PC9wPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItaW5mb1wiPlxuICAgICAgICAgICAgICAgICAgICA8cD7QkNGA0YLQuNC60YPQuzoge3sgcHJvZHVjdC5jb2RlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIihhdXRoU3RhdHVzJCB8IGFzeW5jKSAmJiBwcm9kdWN0LmNvc3REYXRlXCIgY2xhc3M9XCJ0ZXh0LXR1aS1saW5rIGhvdmVyOnRleHQtdHVpLWxpbmstaG92ZXIgY3Vyc29yLXBvaW50ZXJcIj7QlNCw0YLQsDoge3sgcHJvZHVjdC5jb3N0RGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIndhcmVob3VzZVNlbGVjdCQgfCBhc3luYyBhcyB3YXJlaG91c2VTZWxlY3RcIiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInByb2R1Y3QuZGlzY291bnRcIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHRleHQtdHVpLXRleHQtMDJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsaW5lLXRocm91Z2hcIj57eyBwcm9kdWN0LmRpc2NvdW50Q29zdFN0cmluZyB9fTwvc3Bhbj4gJm5ic3A7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10dWktc3VjY2Vzcy1maWxsIGZvbnQtYm9sZFwiPiAte3sgcHJvZHVjdC5kaXNjb3VudC5wZXJjZW50IH19JSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDx0dWktc3ZnIHNyYz1cInR1aUljb25JbmZvTGFyZ2VcIiBbdHVpSGludF09XCJkaXNjb3VudEhpbnRcIiBbdHVpSGludFNob3dEZWxheV09XCIxMDBcIiB0dWlIaW50RGlyZWN0aW9uPVwidG9wXCIgY2xhc3M9XCJ0ZXh0LWJsYWNrICF0ZXh0LXhzICFoLTRcIj48L3R1aS1zdmc+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGlzY291bnRIaW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvbnQtYm9sZFwiPnt7IHByb2R1Y3QuZGlzY291bnQubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb2R1Y3QuZGlzY291bnQuZXhwaXJlZEF0IGFzIGV4cGlyZWRBdFwiPtCU0LDRgtCwINC+0LrQvtC90YfQsNC90LjRjzoge3sgZXhwaXJlZEF0IH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzcy50ZXh0LXR1aS10ZXh0LTAyXT1cIiFwcm9kdWN0LmlzV2FyZWhvdXNlU3RvY2tFeGlzdCh3YXJlaG91c2VTZWxlY3QuaWQpXCIgY2xhc3M9XCJjb3N0IGZvbnQtYm9sZFwiPnt7IHByb2R1Y3QuY29zdFJ1YlN0cmluZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFwcm9kdWN0LnByaWNlSW5SdWJcIiBjbGFzcz1cInRleHQteHMgZm9udC1ib2xkIHRleHQtdHVpLXRleHQtMDIgaGlkZGVuIGdyb3VwLWhvdmVyOmJsb2NrXCI+e3sgcHJvZHVjdC5jb3N0U3RyaW5nIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzYy1wcmljZS13YXJlaG91c2Utc3RvY2sgW3Byb2R1Y3RdPVwicHJvZHVjdFwiPjwvc2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXdyYXBwZXIgb3ZlcmZsb3ctaGlkZGVuIGR1cmF0aW9uLTUwMFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFxdWFudGl0eUNvbnRyb2xcIiB0dWlCdXR0b24gW3NpemVdPVwic2l6ZVwiIGNsYXNzPVwidy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj4gPHR1aS1zdmcgc3JjPVwic2NJY29uQ2FydFwiPjwvdHVpLXN2Zz4g0JIg0LrQvtGA0LfQuNC90YM8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxzYy1pbnB1dC1xdWFudGl0eVxuICAgICAgICAgICAgICAgICpuZ0lmPVwicXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgICAgICBbcXVhbnRpdHlVbml0XT1cInByb2R1Y3QucXVhbnRpdHlVbml0XCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCJzaXplID09PSAnbScgPyAnbCcgOiAnbSdcIlxuICAgICAgICAgICAgICAgIFtzdGVwXT1cInByb2R1Y3QubWluQ291bnQgfHwgMVwiXG4gICAgICAgICAgICA+PC9zYy1pbnB1dC1xdWFudGl0eT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJwcm9kdWN0LmlzUHJldmlvdXNseU9yZGVyZWRcIiBtYXRUb29sdGlwPVwi0KLQvtCy0LDRgCDQuNC3INC40YHRgtC+0YDQuNC4INC/0L7QutGD0L/QvtC6XCIgY2xhc3M9XCJyb3RhdGUtNDUgei0xMCBhYnNvbHV0ZSBiZy10dWktZXJyb3ItZmlsbCAtYm90dG9tLTQgLXJpZ2h0LTQgaC04IHctOFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2tlbGV0b24+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgY2FyZC13cmFwcGVyIGJnLXdoaXRlIHJvdW5kZWQteGwgb3ZlcmZsb3ctaGlkZGVuIHNoYWRvdy1zYy0xXCI+XG4gICAgICAgIDwhLS0g0JjQt9C+0LHRgNCw0LbQtdC90LjQtSDRgtC+0LLQsNGA0LAgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC0zLzUgcm91bmRlZC10IGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgIDwhLS0g0JrRgNCw0YLQutCw0Y8g0LjQvdGE0L7RgNC80LDRhtC40Y8g0L4g0YLQvtCy0LDRgNC1IC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBncm93IGdhcC0yLjUgYmctd2hpdGUgcm91bmRlZC1iIHAtNVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBoLTQgcm91bmRlZCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMy81IGgtNCByb3VuZGVkIGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIGgtNCByb3VuZGVkIGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9wcmljZS1jYXJkL3NjLXByaWNlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBa0YsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7O0FBSTFKOztHQUVHO0FBT0gsTUFBTSxPQUFPLG9CQUFvQjtJQXFHN0I7Ozs7Ozs7T0FPRztJQUNILFlBQ3FCLFdBQTBCLEVBQzFCLGdCQUFvQyxFQUNuQixJQUFhLEVBQ0csaUJBQXlCO1FBSDFELGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQWhIL0U7O1dBRUc7UUFDSSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFM0M7O1dBRUc7UUFFSSx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFnQzVDOztXQUVHO1FBRUksdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFekU7O1dBRUc7UUFFSSx3QkFBbUIsR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUVwRjs7V0FFRztRQUVJLG9CQUFlLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFFbEY7O1dBRUc7UUFFSSxtQkFBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJFOztXQUVHO1FBQ0kscUJBQWdCLEdBQW1DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBRTVHOztXQUVHO1FBQ0ksb0JBQWUsR0FBK0IsSUFBSSxXQUFXLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBRTFGOztXQUVHO1FBRUkseUJBQW9CLEdBQThCLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO1FBRTNGOztXQUVHO1FBQ2EsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVwRjs7V0FFRztRQUdJLFNBQUksR0FBYSxHQUFHLENBQUM7SUFzQnpCLENBQUM7SUF0R0o7Ozs7T0FJRztJQUNILElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQ1csUUFBUSxDQUFDLEtBQTZCO1FBQzdDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXZCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxJQUFJLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQW9GRDs7T0FFRztJQUNILElBQVcsZUFBZTtRQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxZQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNwRixDQUFDOztpSEFoSVEsb0JBQW9CLGlGQWdIakIsT0FBTyxhQUNQLHVCQUF1QjtxR0FqSDFCLG9CQUFvQixxYkNmakMsOHpLQW9FQTsyRkRyRGEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs7MEJBa0gxQyxNQUFNOzJCQUFDLE9BQU87OzBCQUNkLE1BQU07MkJBQUMsdUJBQXVCOzRDQXZHNUIsbUJBQW1CO3NCQUR6QixLQUFLO2dCQWtCSyxRQUFRO3NCQURsQixLQUFLO2dCQWNDLE9BQU87c0JBRGIsS0FBSztnQkFPQyxrQkFBa0I7c0JBRHhCLE1BQU07Z0JBT0EsbUJBQW1CO3NCQUR6QixNQUFNO2dCQU9BLGVBQWU7c0JBRHJCLE1BQU07Z0JBT0EsY0FBYztzQkFEcEIsTUFBTTtnQkFpQkEsb0JBQW9CO3NCQUQxQixNQUFNO2dCQWFBLElBQUk7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU0NfUEFUSF9JTUFHRV9OT1RfRk9VTkQsIFNDX1VSTFMsIFNjQXV0aFNlcnZpY2UsIFNjQ2FydEl0ZW0sIFNjSVVybHMsIFNjUHJvZHVjdCwgU2NXYXJlaG91c2UsIFNjV2FyZWhvdXNlU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVHVpU2l6ZVMgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC60LDRgNGC0L7Rh9C60Lgg0YLQvtCy0LDRgNCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJpY2VDYXJkQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINC70L7QsNC00LXRgCDQtNC70Y8g0L/QvtC70Y8g0LLQstC+0LTQsCDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIHF1YW50aXR5U2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0L7QsdGA0LDQt9C40YLRjCDQv9C+0LvQtSDQstCy0L7QtNCwINC60L7Qu9C40YfQtdGB0YLQstCwINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93UXVhbnRpdHlDb250cm9sOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LfQuNGG0LjRjyDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICpcbiAgICAgKiBUT0RPOiDQodC00LXQu9Cw0YLRjCDRgtC+0LLQsNGAINCyINC60L7RgNC30LjQvdC1INC90LDQsdC70Y7QtNCw0LXQvNC+0Lkg0L/QtdGA0LXQvNC10L3QvdC+0Lkg0L/QvtGB0LvQtSDRgNC10LDQu9C40LfQsNGG0LjQuCBUQVNLOlsjNzE0NF0uXG4gICAgICovXG4gICAgcHVibGljIGdldCBjYXJ0SXRlbSgpOiBTY0NhcnRJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhcnRJdGVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0L7Qt9C40YbQuNGPINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3QtVxuICAgICAqXG4gICAgICogVE9ETzog0KHQtNC10LvQsNGC0Ywg0YLQvtCy0LDRgCDQsiDQutC+0YDQt9C40L3QtSDQvdCw0LHQu9GO0LTQsNC10LzQvtC5INC/0LXRgNC10LzQtdC90L3QvtC5INC/0L7RgdC70LUg0YDQtdCw0LvQuNC30LDRhtC40LggVEFTSzpbIzcxNDRdLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBjYXJ0SXRlbSh2YWx1ZTogU2NDYXJ0SXRlbSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9jYXJ0SXRlbSA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMucXVhbnRpdHlDb250cm9sLnBhdGNoVmFsdWUodGhpcy5fY2FydEl0ZW0/LnF1YW50aXR5ID8/IG51bGwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgdGhpcy5xdWFudGl0eVNob3dMb2FkZXIgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YrQtdC60YIg0YLQvtCy0LDRgNCwLlxuICAgICAqXG4gICAgICogVE9ETzog0KHQtNC10LvQsNGC0Ywg0YLQvtCy0LDRgCDQvdCw0LHQu9GO0LTQsNC10LzQvtC5INC/0LXRgNC10LzQtdC90L3QvtC5INC/0L7RgdC70LUg0YDQtdCw0LvQuNC30LDRhtC40LggVEFTSzpbIzcxNDRdLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHByb2R1Y3Q/OiBTY1Byb2R1Y3Q7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCSINC40LfQsdGA0LDQvdC90L7QtVwiLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbGlja0Zhdm9yaXRlRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDIFwi0JIg0LrQvtGA0LfQuNC90YNcIi5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tBZGRUb0NhcnRFdmVudDogRXZlbnRFbWl0dGVyPFNjUHJvZHVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjUHJvZHVjdD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC+0YfQuNGB0YLQutC4INC60L7Qu9C40YfQtdGB0YLQstCwINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tDbGVhckV2ZW50OiBFdmVudEVtaXR0ZXI8U2NDYXJ0SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjQ2FydEl0ZW0+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60LDRgNGC0L7Rh9C60YMg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbGlja0NhcmRFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDQstGL0LHRgNCw0L3QvdC+0LPQviDRgdC60LvQsNC00LAuXG4gICAgICovXG4gICAgcHVibGljIHdhcmVob3VzZVNlbGVjdCQ6IE9ic2VydmFibGU8U2NXYXJlaG91c2UgfCBudWxsPiA9IHRoaXMud2FyZWhvdXNlU2VydmljZS5nZXRXYXJlaG91c2VTZWxlY3RDaGFuZ2UkKCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgRm9ybUNvbnRyb2x9INC/0L7Qu9GPINCy0LLQvtC00LAg0LrQvtC70LjRh9C10YHRgtCy0LAg0YLQvtCy0LDRgNCwINCyINC60L7RgNC30LjQvdC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBxdWFudGl0eUNvbnRyb2w6IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+ID0gbmV3IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+KG51bGwpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHF1YW50aXR5VmFsdWVDaGFuZ2VzOiBPYnNlcnZhYmxlPG51bWJlciB8IG51bGw+ID0gdGhpcy5xdWFudGl0eUNvbnRyb2wudmFsdWVDaGFuZ2VzO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdGC0LDRgtGD0YHQsCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdXRoU3RhdHVzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aENoYW5nZSgpO1xuXG4gICAgLyoqXG4gICAgICog0KDQsNC30LzQtdGAINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgcHVibGljIHNpemU6IFR1aVNpemVTID0gJ20nO1xuXG4gICAgLyoqXG4gICAgICog0J/QvtC30LjRhtC40Y8g0YLQvtCy0LDRgNCwINCyINC60L7RgNC30LjQvdC1LlxuICAgICAqXG4gICAgICogVE9ETzog0KHQtNC10LvQsNGC0Ywg0YLQvtCy0LDRgCDQsiDQutC+0YDQt9C40L3QtSDQvdCw0LHQu9GO0LTQsNC10LzQvtC5INC/0LXRgNC10LzQtdC90L3QvtC5INC/0L7RgdC70LUg0YDQtdCw0LvQuNC30LDRhtC40LggVEFTSzpbIzcxNDRdLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2NhcnRJdGVtPzogU2NDYXJ0SXRlbSB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjUHJpY2VDYXJkQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhdXRoU2VydmljZSDQodC10YDQstC40YEg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKiBAcGFyYW0gd2FyZWhvdXNlU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgdC+INGB0LrQu9Cw0LTQsNC80LguXG4gICAgICogQHBhcmFtIHVybHMg0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGA0LDQt9C00LXQu9GLIGJhY2tlbmQnYS5cbiAgICAgKiBAcGFyYW0gcGF0aEltYWdlTm90Rm91bmQg0J/Rg9GC0Ywg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPICfQotC+0LLQsNGAINC90LUg0L3QsNC50LTQtdC9Jy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IFNjQXV0aFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgd2FyZWhvdXNlU2VydmljZTogU2NXYXJlaG91c2VTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgQEluamVjdChTQ19QQVRIX0lNQUdFX05PVF9GT1VORCkgcHJpdmF0ZSByZWFkb25seSBwYXRoSW1hZ2VOb3RGb3VuZDogc3RyaW5nXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdGD0LbQvdC+INC/0L7QutCw0LfQsNGC0Ywg0YHQutC10LvQtdGC0L7QvS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHNrZWxldG9uVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnByb2R1Y3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHRgdGL0LvQutGDINC90LAg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2FyZEltYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2R1Y3Q/LmdldEltYWdlKHRoaXMudXJscy5pbWdTZXJ2ZXJVcmwpID8/IHRoaXMucGF0aEltYWdlTm90Rm91bmQ7XG4gICAgfVxufVxuIiwiPGRpdiAqbmdJZj1cInByb2R1Y3Q7IGVsc2Ugc2tlbGV0b25cIiBjbGFzcz1cImNhcmQtd3JhcHBlciBmbGV4IGZsZXgtY29sIHctNDAgaC02NCBiZy10dWktYmFzZS0wMyByb3VuZGVkLXhsIHNoYWRvdy1zYy0yIG92ZXJmbG93LWhpZGRlbiB0ZXh0LXhzXCI+XG4gICAgPCEtLSDQmNC30L7QsdGA0LDQttC10L3QuNC1INGC0L7QstCw0YDQsCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBncm93IG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgZ3JvdyBvdmVyZmxvdy1oaWRkZW4gcmVsYXRpdmVcIj5cbiAgICAgICAgICAgIDxpbWcgKGNsaWNrKT1cImNsaWNrQ2FyZEV2ZW50LmVtaXQoKVwiIFtzcmNdPVwiZ2V0Q2FyZEltYWdlKClcIiBbYWx0XT1cInByb2R1Y3QubmFtZVwiIFtjbGFzcy5wLTEyXT1cIiFwcm9kdWN0LmltYWdlcz8ubGVuZ3RoXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIC8+XG4gICAgICAgICAgICA8dHVpLXN2ZyAqbmdJZj1cImNhcnRJdGVtXCIgc3JjPVwidHVpSWNvbkNoZWNrXCIgY2xhc3M9XCIhaC01ICF3LTUgYmctdHVpLXByaW1hcnkgdGV4dC13aGl0ZSByb3VuZGVkLW1kIGFic29sdXRlIHJpZ2h0LTIgdG9wLTJcIj48L3R1aS1zdmc+XG4gICAgICAgICAgICA8c2MtZmF2b3JpdGUtYnRuICpuZ0lmPVwiYXV0aFN0YXR1cyQgfCBhc3luY1wiIFtjbGFzcy4hYmxvY2tdPVwicHJvZHVjdC5pc0Zhdm9yaXRlXCIgY2xhc3M9XCJ0b3AtMSBsZWZ0LTEgYWJzb2x1dGUgaGlkZGVuIGdyb3VwLWhvdmVyOmJsb2NrXCI+PC9zYy1mYXZvcml0ZS1idG4+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSDQmtGA0LDRgtC60LDRjyDQuNC90YTQvtGA0LzQsNGG0LjRjyDQviDRgtC+0LLQsNGA0LUgLS0+XG4gICAgPGRpdiBjbGFzcz1cImJnLXdoaXRlIHJlbGF0aXZlIHNocmluay0wXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyLWluZm8gZmxleCBmbGV4LWNvbCBjb250ZW50LWJldHdlZW4gZmxleC1hdXRvIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgPGEgY2xhc3M9XCJuYW1lICF0cmFuc2l0aW9uLWFsbCAhZHVyYXRpb24tNTAwXCIgdHVpTGluayBpY29uQWxpZ249XCJsZWZ0XCIgKGNsaWNrKT1cImNsaWNrQ2FyZEV2ZW50LmVtaXQoKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkXCI+e3sgcHJvZHVjdC5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8gdGV4dC10dWktdGV4dC0wMiBvdmVyZmxvdy1oaWRkZW4gZHVyYXRpb24tNTAwXCI+XG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJwcm9kdWN0LnBhY2tcIj7QndC+0YDQvNCwINGD0L/QsNC60L7QstC60Lg6IHt7IHByb2R1Y3QucGFjayB9fTwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLWluZm9cIj5cbiAgICAgICAgICAgICAgICAgICAgPHA+0JDRgNGC0LjQutGD0Ls6IHt7IHByb2R1Y3QuY29kZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCIoYXV0aFN0YXR1cyQgfCBhc3luYykgJiYgcHJvZHVjdC5jb3N0RGF0ZVwiIGNsYXNzPVwidGV4dC10dWktbGluayBob3Zlcjp0ZXh0LXR1aS1saW5rLWhvdmVyIGN1cnNvci1wb2ludGVyXCI+0JTQsNGC0LA6IHt7IHByb2R1Y3QuY29zdERhdGUgfX08L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ3YXJlaG91c2VTZWxlY3QkIHwgYXN5bmMgYXMgd2FyZWhvdXNlU2VsZWN0XCIgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwcm9kdWN0LmRpc2NvdW50XCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LXR1aS10ZXh0LTAyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGluZS10aHJvdWdoXCI+e3sgcHJvZHVjdC5kaXNjb3VudENvc3RTdHJpbmcgfX08L3NwYW4+ICZuYnNwO1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdHVpLXN1Y2Nlc3MtZmlsbCBmb250LWJvbGRcIj4gLXt7IHByb2R1Y3QuZGlzY291bnQucGVyY2VudCB9fSUgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8dHVpLXN2ZyBzcmM9XCJ0dWlJY29uSW5mb0xhcmdlXCIgW3R1aUhpbnRdPVwiZGlzY291bnRIaW50XCIgW3R1aUhpbnRTaG93RGVsYXldPVwiMTAwXCIgdHVpSGludERpcmVjdGlvbj1cInRvcFwiIGNsYXNzPVwidGV4dC1ibGFjayAhdGV4dC14cyAhaC00XCI+PC90dWktc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Rpc2NvdW50SGludD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGRcIj57eyBwcm9kdWN0LmRpc2NvdW50Lm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9kdWN0LmRpc2NvdW50LmV4cGlyZWRBdCBhcyBleHBpcmVkQXRcIj7QlNCw0YLQsCDQvtC60L7QvdGH0LDQvdC40Y86IHt7IGV4cGlyZWRBdCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBbY2xhc3MudGV4dC10dWktdGV4dC0wMl09XCIhcHJvZHVjdC5pc1dhcmVob3VzZVN0b2NrRXhpc3Qod2FyZWhvdXNlU2VsZWN0LmlkKVwiIGNsYXNzPVwiY29zdCBmb250LWJvbGRcIj57eyBwcm9kdWN0LmNvc3RSdWJTdHJpbmcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhcHJvZHVjdC5wcmljZUluUnViXCIgY2xhc3M9XCJ0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LXR1aS10ZXh0LTAyIGhpZGRlbiBncm91cC1ob3ZlcjpibG9ja1wiPnt7IHByb2R1Y3QuY29zdFN0cmluZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrIFtwcm9kdWN0XT1cInByb2R1Y3RcIj48L3NjLXByaWNlLXdhcmVob3VzZS1zdG9jaz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi13cmFwcGVyIG92ZXJmbG93LWhpZGRlbiBkdXJhdGlvbi01MDBcIj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhc2hvd1F1YW50aXR5Q29udHJvbFwiIHR1aUJ1dHRvbiAoY2xpY2spPVwiY2xpY2tBZGRUb0NhcnRFdmVudC5lbWl0KHByb2R1Y3QpXCIgW3Nob3dMb2FkZXJdPVwicXVhbnRpdHlTaG93TG9hZGVyXCIgW3NpemVdPVwic2l6ZVwiIGNsYXNzPVwidy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj4gPHR1aS1zdmcgc3JjPVwic2NJY29uQ2FydFwiPjwvdHVpLXN2Zz4g0JIg0LrQvtGA0LfQuNC90YM8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxzYy1pbnB1dC1xdWFudGl0eVxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd1F1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInF1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgW3F1YW50aXR5VW5pdF09XCJwcm9kdWN0LnF1YW50aXR5VW5pdFwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwic2l6ZSA9PT0gJ20nID8gJ2wnIDogJ20nXCJcbiAgICAgICAgICAgICAgICBbc3RlcF09XCJwcm9kdWN0Lm1pbkNvdW50IHx8IDFcIlxuICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cInF1YW50aXR5U2hvd0xvYWRlclwiXG4gICAgICAgICAgICAgICAgKGNsaWNrQ2xlYXJFdmVudCk9XCJjbGlja0NsZWFyRXZlbnQuZW1pdChjYXJ0SXRlbSlcIlxuICAgICAgICAgICAgPjwvc2MtaW5wdXQtcXVhbnRpdHk+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvZHVjdC5pc1ByZXZpb3VzbHlPcmRlcmVkXCIgbWF0VG9vbHRpcD1cItCi0L7QstCw0YAg0LjQtyDQuNGB0YLQvtGA0LjQuCDQv9C+0LrRg9C/0L7QulwiIGNsYXNzPVwicm90YXRlLTQ1IHotMTAgYWJzb2x1dGUgYmctdHVpLWVycm9yLWZpbGwgLWJvdHRvbS00IC1yaWdodC00IGgtOCB3LThcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NrZWxldG9uPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGNhcmQtd3JhcHBlciBiZy13aGl0ZSByb3VuZGVkLXhsIG92ZXJmbG93LWhpZGRlbiBzaGFkb3ctc2MtMVwiPlxuICAgICAgICA8IS0tINCY0LfQvtCx0YDQsNC20LXQvdC40LUg0YLQvtCy0LDRgNCwIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIGgtMy81IHJvdW5kZWQtdCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICA8IS0tINCa0YDQsNGC0LrQsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINC+INGC0L7QstCw0YDQtSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ3JvdyBnYXAtMi41IGJnLXdoaXRlIHJvdW5kZWQtYiBwLTVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC00IHJvdW5kZWQgYmctdHVpLWJhc2UtMDJcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTMvNSBoLTQgcm91bmRlZCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBoLTQgcm91bmRlZCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
@@ -1,5 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* Список иконок.
|
3
|
+
* TODO: TASK[#7779] Добавить иконки отдельных значков для соц. сетей после добавления их в кит дизайна.
|
3
4
|
*/
|
4
5
|
export const scClientUiIconsName = [
|
5
6
|
'scIconCalendar',
|
@@ -93,5 +94,14 @@ export const scClientUiIconsName = [
|
|
93
94
|
'scIconArrowDown',
|
94
95
|
'scIconApplication',
|
95
96
|
'scIconAddProfile',
|
97
|
+
'scIconSocialCopy',
|
98
|
+
'scIconSocialEmail',
|
99
|
+
'scIconSocialFacebook',
|
100
|
+
'scIconSocialInstagram',
|
101
|
+
'scIconSocialQR',
|
102
|
+
'scIconSocialTelegram',
|
103
|
+
'scIconSocialViber',
|
104
|
+
'scIconSocialVk',
|
105
|
+
'scIconSocialWhatsapp',
|
96
106
|
];
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2xpZW50LXVpLWljb25zLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvaWNvbnMvc2MtY2xpZW50LXVpLWljb25zLW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDL0IsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIsV0FBVztJQUNYLFlBQVk7SUFDWixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixjQUFjO0lBQ2QsWUFBWTtJQUNaLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsYUFBYTtJQUNiLFlBQVk7SUFDWixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixlQUFlO0lBQ2YsYUFBYTtJQUNiLFlBQVk7SUFDWixjQUFjO0lBQ2QsYUFBYTtJQUNiLFlBQVk7SUFDWixlQUFlO0lBQ2YsY0FBYztJQUNkLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osWUFBWTtJQUNaLGFBQWE7SUFDYixZQUFZO0lBQ1osZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxjQUFjO0lBQ2QsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixZQUFZO0lBQ1osZUFBZTtJQUNmLGVBQWU7SUFDZixZQUFZO0lBQ1osY0FBYztJQUNkLGNBQWM7SUFDZCxZQUFZO0lBQ1osWUFBWTtJQUNaLGNBQWM7SUFDZCxXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQix5QkFBeUI7SUFDekIsc0JBQXNCO0lBQ3RCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixnQkFBZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsc0JBQXNCO0NBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCh0L/QuNGB0L7QuiDQuNC60L7QvdC+0LouXG4gKiBUT0RPOiBUQVNLWyM3Nzc5XSDQlNC+0LHQsNCy0LjRgtGMINC40LrQvtC90LrQuCDQvtGC0LTQtdC70YzQvdGL0YUg0LfQvdCw0YfQutC+0LIg0LTQu9GPINGB0L7Rhi4g0YHQtdGC0LXQuSDQv9C+0YHQu9C1INC00L7QsdCw0LLQu9C10L3QuNGPINC40YUg0LIg0LrQuNGCINC00LjQt9Cw0LnQvdCwLlxuICovXG5leHBvcnQgY29uc3Qgc2NDbGllbnRVaUljb25zTmFtZSA9IFtcbiAgICAnc2NJY29uQ2FsZW5kYXInLFxuICAgICdzY0ljb25Xb3JkRmlsZScsXG4gICAgJ3NjSWNvbldhcm5pbmcnLFxuICAgICdzY0ljb25XYWxsZXQnLFxuICAgICdzY0ljb25WaWV3VHJlZScsXG4gICAgJ3NjSWNvbk1pbnVzJyxcbiAgICAnc2NJY29uVmlld0lubGluZScsXG4gICAgJ3NjSWNvblZpZXdHcmlkJyxcbiAgICAnc2NJY29uVmVydGljYWxUaHJlZURvdHMnLFxuICAgICdzY0ljb25Ub3AnLFxuICAgICdzY0ljb25UaWNrJyxcbiAgICAnc2NJY29uVGFza3MnLFxuICAgICdzY0ljb25TdWl0Y2FzZScsXG4gICAgJ3NjSWNvblN0YXInLFxuICAgICdzY0ljb25TaGFyZScsXG4gICAgJ3NjSWNvblNldHRpbmdzJyxcbiAgICAnc2NJY29uU2VuZCcsXG4gICAgJ3NjSWNvblNlYXJjaCcsXG4gICAgJ3NjSWNvblNhdmUnLFxuICAgICdzY0ljb25Sb2NrZXQnLFxuICAgICdzY0ljb25SZXF1aXNpdGVzJyxcbiAgICAnc2NJY29uUmVwZWF0JyxcbiAgICAnc2NJY29uUmVmcmVzaCcsXG4gICAgJ3NjSWNvblJlY2xhbWF0aW9uJyxcbiAgICAnc2NJY29uUXVlc3Rpb24nLFxuICAgICdzY0ljb25RUkNvZGVTY2FuJyxcbiAgICAnc2NJY29uUHJvZmlsZScsXG4gICAgJ3NjSWNvblByaWNlJyxcbiAgICAnc2NJY29uUGx1cycsXG4gICAgJ3NjSWNvblBob25lJyxcbiAgICAnc2NJY29uUGVyY2VudGFnZScsXG4gICAgJ3NjSWNvblBkZkZpbGUnLFxuICAgICdzY0ljb25QYWxldHRlJyxcbiAgICAnc2NJY29uT2ZmZXInLFxuICAgICdzY0ljb25OZXdzJyxcbiAgICAnc2NJY29uTW9uZXkyJyxcbiAgICAnc2NJY29uTW9uZXknLFxuICAgICdzY0ljb25NYWlsJyxcbiAgICAnc2NJY29uTG9nT3V0MicsXG4gICAgJ3NjSWNvbkxvZ091dCcsXG4gICAgJ3NjSWNvbkxvZ0luJyxcbiAgICAnc2NJY29uTG9ja09wZW4nLFxuICAgICdzY0ljb25Mb2NrJyxcbiAgICAnc2NJY29uTG9jYXRpb24nLFxuICAgICdzY0ljb25MaXN0JyxcbiAgICAnc2NJY29uTGlrZScsXG4gICAgJ3NjSWNvbkltYWdlJyxcbiAgICAnc2NJY29uSG9tZScsXG4gICAgJ3NjSWNvbkhpc3RvcnknLFxuICAgICdzY0ljb25IZWFydEZpbGwnLFxuICAgICdzY0ljb25IZWFydCcsXG4gICAgJ3NjSWNvbkhhbWJ1cmdlcicsXG4gICAgJ3NjSWNvbkdyYXBoJyxcbiAgICAnc2NJY29uRm9sZGVyUGx1cycsXG4gICAgJ3NjSWNvbkZvbGRlck9wZW4nLFxuICAgICdzY0ljb25Gb2xkZXInLFxuICAgICdzY0ljb25GaWx0ZXInLFxuICAgICdzY0ljb25GaWxlJyxcbiAgICAnc2NJY29uRmF2b3JpdGVGaWxsJyxcbiAgICAnc2NJY29uRmF2b3JpdGUnLFxuICAgICdzY0ljb25FeWUnLFxuICAgICdzY0ljb25FeGNlbEZpbGUnLFxuICAgICdzY0ljb25FcnJvcicsXG4gICAgJ3NjSWNvbkVkaXQnLFxuICAgICdzY0ljb25Eb3dubG9hZGluZycsXG4gICAgJ3NjSWNvbkRvbmUnLFxuICAgICdzY0ljb25EZWxldGVQcm9maWxlJyxcbiAgICAnc2NJY29uQ3Jvc3MnLFxuICAgICdzY0ljb25Db250YWN0cycsXG4gICAgJ3NjSWNvbkNvbmZpZ3VyYXRvcicsXG4gICAgJ3NjSWNvbkNsb2NrJyxcbiAgICAnc2NJY29uQ2xpcCcsXG4gICAgJ3NjSWNvbkNsaWVudHMnLFxuICAgICdzY0ljb25DYXRhbG9nJyxcbiAgICAnc2NJY29uQ2FydCcsXG4gICAgJ3NjSWNvbkNhbmNlbCcsXG4gICAgJ3NjSWNvbkJ1YmJsZScsXG4gICAgJ3NjSWNvbkJvb2snLFxuICAgICdzY0ljb25CZWxsJyxcbiAgICAnc2NJY29uQmFza2V0JyxcbiAgICAnc2NJY29uQmFnJyxcbiAgICAnc2NJY29uQXR0ZW50aW9uJyxcbiAgICAnc2NJY29uQXJyb3dVcCcsXG4gICAgJ3NjSWNvbkFycm93UmlnaHQnLFxuICAgICdzY0ljb25BcnJvd1JldHVybicsXG4gICAgJ3NjSWNvbkFycm93TGVmdCcsXG4gICAgJ3NjSWNvbkFycm93RG93bkxhcmdlRW5kJyxcbiAgICAnc2NJY29uQXJyb3dEb3duTGFyZ2UnLFxuICAgICdzY0ljb25BcnJvd0Rvd24nLFxuICAgICdzY0ljb25BcHBsaWNhdGlvbicsXG4gICAgJ3NjSWNvbkFkZFByb2ZpbGUnLFxuICAgICdzY0ljb25Tb2NpYWxDb3B5JyxcbiAgICAnc2NJY29uU29jaWFsRW1haWwnLFxuICAgICdzY0ljb25Tb2NpYWxGYWNlYm9vaycsXG4gICAgJ3NjSWNvblNvY2lhbEluc3RhZ3JhbScsXG4gICAgJ3NjSWNvblNvY2lhbFFSJyxcbiAgICAnc2NJY29uU29jaWFsVGVsZWdyYW0nLFxuICAgICdzY0ljb25Tb2NpYWxWaWJlcicsXG4gICAgJ3NjSWNvblNvY2lhbFZrJyxcbiAgICAnc2NJY29uU29jaWFsV2hhdHNhcHAnLFxuXTtcbiJdfQ==
|
@@ -10,16 +10,22 @@ export class ScNewsCardComponent {
|
|
10
10
|
* Событие клика по карточке новости.
|
11
11
|
*/
|
12
12
|
this.clickCardEvent = new EventEmitter();
|
13
|
+
/**
|
14
|
+
* Событие клика по кнопке "Поделиться" карточки новости.
|
15
|
+
*/
|
16
|
+
this.clickShareEvent = new EventEmitter();
|
13
17
|
}
|
14
18
|
}
|
15
19
|
ScNewsCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScNewsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
16
|
-
ScNewsCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScNewsCardComponent, selector: "sc-news-card", inputs: { news: "news" }, outputs: { clickCardEvent: "clickCardEvent" }, ngImport: i0, template: "<div (click)=\"clickCardEvent.emit(news)\" class=\"block relative h-82 w-70 cursor-pointer shadow-sc-2 rounded-lg overflow-hidden bg-white\">\n <div [style.background-image]=\"'url(' + news.image + ')'\" class=\"bg-no-repeat bg-center bg-cover bg-tui-base-02 w-full h-50\"></div>\n <div class=\"px-6 py-4.5 h-32 w-full bg-white overflow-hidden\">\n <div class=\"w-full flex justify-between align-baseline mb-2.5\">\n <p class=\"text-sm text-tui-text-02\">{{ news.created_at }}</p>\n <sc-share-button></sc-share-button>\n </div>\n <p>\n <a class=\"text-sm font-bold text-black line-clamp-3\">{{ news.subject }}</a>\n </p>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i1.ScShareButtonComponent, selector: "sc-share-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
20
|
+
ScNewsCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScNewsCardComponent, selector: "sc-news-card", inputs: { news: "news" }, outputs: { clickCardEvent: "clickCardEvent", clickShareEvent: "clickShareEvent" }, ngImport: i0, template: "<div (click)=\"clickCardEvent.emit(news)\" class=\"block relative h-82 w-70 cursor-pointer shadow-sc-2 rounded-lg overflow-hidden bg-white\">\n <div [style.background-image]=\"'url(' + news.image + ')'\" class=\"bg-no-repeat bg-center bg-cover bg-tui-base-02 w-full h-50\"></div>\n <div class=\"px-6 py-4.5 h-32 w-full bg-white overflow-hidden\">\n <div class=\"w-full flex justify-between align-baseline mb-2.5\">\n <p class=\"text-sm text-tui-text-02\">{{ news.created_at }}</p>\n <sc-share-button (clickShareEvent)=\"clickShareEvent.emit()\"></sc-share-button>\n </div>\n <p>\n <a class=\"text-sm font-bold text-black line-clamp-3\">{{ news.subject }}</a>\n </p>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i1.ScShareButtonComponent, selector: "sc-share-button", inputs: ["appearance", "size"], outputs: ["clickShareEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
17
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScNewsCardComponent, decorators: [{
|
18
22
|
type: Component,
|
19
|
-
args: [{ selector: 'sc-news-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div (click)=\"clickCardEvent.emit(news)\" class=\"block relative h-82 w-70 cursor-pointer shadow-sc-2 rounded-lg overflow-hidden bg-white\">\n <div [style.background-image]=\"'url(' + news.image + ')'\" class=\"bg-no-repeat bg-center bg-cover bg-tui-base-02 w-full h-50\"></div>\n <div class=\"px-6 py-4.5 h-32 w-full bg-white overflow-hidden\">\n <div class=\"w-full flex justify-between align-baseline mb-2.5\">\n <p class=\"text-sm text-tui-text-02\">{{ news.created_at }}</p>\n <sc-share-button></sc-share-button>\n </div>\n <p>\n <a class=\"text-sm font-bold text-black line-clamp-3\">{{ news.subject }}</a>\n </p>\n </div>\n</div>\n" }]
|
23
|
+
args: [{ selector: 'sc-news-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div (click)=\"clickCardEvent.emit(news)\" class=\"block relative h-82 w-70 cursor-pointer shadow-sc-2 rounded-lg overflow-hidden bg-white\">\n <div [style.background-image]=\"'url(' + news.image + ')'\" class=\"bg-no-repeat bg-center bg-cover bg-tui-base-02 w-full h-50\"></div>\n <div class=\"px-6 py-4.5 h-32 w-full bg-white overflow-hidden\">\n <div class=\"w-full flex justify-between align-baseline mb-2.5\">\n <p class=\"text-sm text-tui-text-02\">{{ news.created_at }}</p>\n <sc-share-button (clickShareEvent)=\"clickShareEvent.emit()\"></sc-share-button>\n </div>\n <p>\n <a class=\"text-sm font-bold text-black line-clamp-3\">{{ news.subject }}</a>\n </p>\n </div>\n</div>\n" }]
|
20
24
|
}], propDecorators: { news: [{
|
21
25
|
type: Input
|
22
26
|
}], clickCardEvent: [{
|
23
27
|
type: Output
|
28
|
+
}], clickShareEvent: [{
|
29
|
+
type: Output
|
24
30
|
}] } });
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3cy1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9uZXdzL25ld3MtY2FyZC9zYy1uZXdzLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL25ld3MvbmV3cy1jYXJkL3NjLW5ld3MtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHaEc7O0dBRUc7QUFNSCxNQUFNLE9BQU8sbUJBQW1CO0lBTGhDO1FBWUk7O1dBRUc7UUFFSSxtQkFBYyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBRWpGOztXQUVHO1FBRUksb0JBQWUsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQUN6RTs7Z0hBbEJZLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGlLQ1hoQyxvdkJBWUE7MkZERGEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNJLGNBQWMsbUJBRVAsdUJBQXVCLENBQUMsTUFBTTs4QkFPeEMsSUFBSTtzQkFEVixLQUFLO2dCQU9DLGNBQWM7c0JBRHBCLE1BQU07Z0JBT0EsZUFBZTtzQkFEckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NOZXdzVGlsZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQutCw0YDRgtC+0YfQutC4INC90L7QstC+0YHRgtC4LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLW5ld3MtY2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLW5ld3MtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjTmV3c0NhcmRDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCY0L3RhNC+0YDQvNCw0YbQuNGPINC+INC90L7QstC+0YHRgtC4LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5ld3M6IFNjTmV3c1RpbGU7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQutC70LjQutCwINC/0L4g0LrQsNGA0YLQvtGH0LrQtSDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tDYXJkRXZlbnQ6IEV2ZW50RW1pdHRlcjxTY05ld3NUaWxlPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NOZXdzVGlsZT4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC60LvQuNC60LAg0L/QviDQutC90L7Qv9C60LUgXCLQn9C+0LTQtdC70LjRgtGM0YHRj1wiINC60LDRgNGC0L7Rh9C60Lgg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrU2hhcmVFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xufVxuIiwiPGRpdiAoY2xpY2spPVwiY2xpY2tDYXJkRXZlbnQuZW1pdChuZXdzKVwiIGNsYXNzPVwiYmxvY2sgcmVsYXRpdmUgaC04MiB3LTcwIGN1cnNvci1wb2ludGVyIHNoYWRvdy1zYy0yIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuIGJnLXdoaXRlXCI+XG4gICAgPGRpdiBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCIndXJsKCcgKyBuZXdzLmltYWdlICsgJyknXCIgY2xhc3M9XCJiZy1uby1yZXBlYXQgYmctY2VudGVyIGJnLWNvdmVyIGJnLXR1aS1iYXNlLTAyIHctZnVsbCBoLTUwXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInB4LTYgcHktNC41IGgtMzIgdy1mdWxsIGJnLXdoaXRlIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIGZsZXgganVzdGlmeS1iZXR3ZWVuIGFsaWduLWJhc2VsaW5lIG1iLTIuNVwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtIHRleHQtdHVpLXRleHQtMDJcIj57eyBuZXdzLmNyZWF0ZWRfYXQgfX08L3A+XG4gICAgICAgICAgICA8c2Mtc2hhcmUtYnV0dG9uIChjbGlja1NoYXJlRXZlbnQpPVwiY2xpY2tTaGFyZUV2ZW50LmVtaXQoKVwiPjwvc2Mtc2hhcmUtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHA+XG4gICAgICAgICAgICA8YSBjbGFzcz1cInRleHQtc20gZm9udC1ib2xkIHRleHQtYmxhY2sgbGluZS1jbGFtcC0zXCI+e3sgbmV3cy5zdWJqZWN0IH19PC9hPlxuICAgICAgICA8L3A+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
@@ -1,15 +1,35 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
2
2
|
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "@taiga-ui/core";
|
3
4
|
/**
|
4
5
|
* Компонент кнопки "Поделиться".
|
5
6
|
*/
|
6
|
-
/* TODO: TASK[#6895] Реализовать логику компонента кнопки "Поделиться".*/
|
7
7
|
export class ScShareButtonComponent {
|
8
|
+
constructor() {
|
9
|
+
/**
|
10
|
+
* Формат внешнего вида кнопки.
|
11
|
+
*/
|
12
|
+
this.appearance = 'secondary';
|
13
|
+
/**
|
14
|
+
* Размер кнопки.
|
15
|
+
*/
|
16
|
+
this.size = 'm';
|
17
|
+
/**
|
18
|
+
* Событие клика по кнопке "Поделиться".
|
19
|
+
*/
|
20
|
+
this.clickShareEvent = new EventEmitter();
|
21
|
+
}
|
8
22
|
}
|
9
23
|
ScShareButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScShareButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
10
|
-
ScShareButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScShareButtonComponent, selector: "sc-share-button",
|
24
|
+
ScShareButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScShareButtonComponent, selector: "sc-share-button", inputs: { appearance: "appearance", size: "size" }, outputs: { clickShareEvent: "clickShareEvent" }, ngImport: i0, template: "<button tuiIconButton icon=\"scIconShare\" [appearance]=\"appearance\" [size]=\"size\" (click)=\"clickShareEvent.emit()\"></button>\n", dependencies: [{ kind: "component", type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
11
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScShareButtonComponent, decorators: [{
|
12
26
|
type: Component,
|
13
|
-
args: [{ selector: 'sc-share-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "
|
14
|
-
}]
|
15
|
-
|
27
|
+
args: [{ selector: 'sc-share-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button tuiIconButton icon=\"scIconShare\" [appearance]=\"appearance\" [size]=\"size\" (click)=\"clickShareEvent.emit()\"></button>\n" }]
|
28
|
+
}], propDecorators: { appearance: [{
|
29
|
+
type: Input
|
30
|
+
}], size: [{
|
31
|
+
type: Input
|
32
|
+
}], clickShareEvent: [{
|
33
|
+
type: Output
|
34
|
+
}] } });
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2hhcmUtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zaGFyZS1idXR0b24vc2Mtc2hhcmUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zaGFyZS1idXR0b24vc2Mtc2hhcmUtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUdoRzs7R0FFRztBQU1ILE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNSTs7V0FFRztRQUVJLGVBQVUsR0FBaUQsV0FBVyxDQUFDO1FBRTlFOztXQUVHO1FBRUksU0FBSSxHQUFtQyxHQUFHLENBQUM7UUFFbEQ7O1dBRUc7UUFFSSxvQkFBZSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0tBQ3pFOzttSEFsQlksc0JBQXNCO3VHQUF0QixzQkFBc0IsNEpDWG5DLHVJQUNBOzJGRFVhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDSSxpQkFBaUIsbUJBRVYsdUJBQXVCLENBQUMsTUFBTTs4QkFPeEMsVUFBVTtzQkFEaEIsS0FBSztnQkFPQyxJQUFJO3NCQURWLEtBQUs7Z0JBT0MsZUFBZTtzQkFEckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHVpU2l6ZUwsIFR1aVNpemVNLCBUdWlTaXplUyB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LrQvdC+0L/QutC4IFwi0J/QvtC00LXQu9C40YLRjNGB0Y9cIi5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1zaGFyZS1idXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1zaGFyZS1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1NoYXJlQnV0dG9uQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQpNC+0YDQvNCw0YIg0LLQvdC10YjQvdC10LPQviDQstC40LTQsCDQutC90L7Qv9C60LguXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYXBwZWFyYW5jZTogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnb3V0bGluZScgfCAnZmxhdCcgPSAnc2Vjb25kYXJ5JztcblxuICAgIC8qKlxuICAgICAqINCg0LDQt9C80LXRgCDQutC90L7Qv9C60LguXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2l6ZTogVHVpU2l6ZUwgfCBUdWlTaXplTSB8IFR1aVNpemVTID0gJ20nO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0LrQu9C40LrQsCDQv9C+INC60L3QvtC/0LrQtSBcItCf0L7QtNC10LvQuNGC0YzRgdGPXCIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrU2hhcmVFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xufVxuIiwiPGJ1dHRvbiB0dWlJY29uQnV0dG9uIGljb249XCJzY0ljb25TaGFyZVwiIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIiBbc2l6ZV09XCJzaXplXCIgKGNsaWNrKT1cImNsaWNrU2hhcmVFdmVudC5lbWl0KClcIj48L2J1dHRvbj5cbiJdfQ==
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { NgModule } from '@angular/core';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
3
|
import { ScShareButtonComponent } from './sc-share-button.component';
|
4
|
+
import { TuiButtonModule } from '@taiga-ui/core';
|
4
5
|
import * as i0 from "@angular/core";
|
5
6
|
/**
|
6
7
|
* Модуль работы кнопки "Поделиться".
|
@@ -8,14 +9,14 @@ import * as i0 from "@angular/core";
|
|
8
9
|
export class ScShareButtonModule {
|
9
10
|
}
|
10
11
|
ScShareButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScShareButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
11
|
-
ScShareButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ScShareButtonModule, declarations: [ScShareButtonComponent], imports: [CommonModule], exports: [ScShareButtonComponent] });
|
12
|
-
ScShareButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScShareButtonModule, imports: [CommonModule] });
|
12
|
+
ScShareButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ScShareButtonModule, declarations: [ScShareButtonComponent], imports: [CommonModule, TuiButtonModule], exports: [ScShareButtonComponent] });
|
13
|
+
ScShareButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScShareButtonModule, imports: [CommonModule, TuiButtonModule] });
|
13
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScShareButtonModule, decorators: [{
|
14
15
|
type: NgModule,
|
15
16
|
args: [{
|
16
17
|
declarations: [ScShareButtonComponent],
|
17
|
-
imports: [CommonModule],
|
18
|
+
imports: [CommonModule, TuiButtonModule],
|
18
19
|
exports: [ScShareButtonComponent],
|
19
20
|
}]
|
20
21
|
}] });
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2hhcmUtYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zaGFyZS1idXR0b24vc2Mtc2hhcmUtYnV0dG9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRWpEOztHQUVHO0FBTUgsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLGlCQUpiLHNCQUFzQixhQUMzQixZQUFZLEVBQUUsZUFBZSxhQUM3QixzQkFBc0I7aUhBRXZCLG1CQUFtQixZQUhsQixZQUFZLEVBQUUsZUFBZTsyRkFHOUIsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNjU2hhcmVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3NjLXNoYXJlLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHVpQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG4vKipcbiAqINCc0L7QtNGD0LvRjCDRgNCw0LHQvtGC0Ysg0LrQvdC+0L/QutC4IFwi0J/QvtC00LXQu9C40YLRjNGB0Y9cIi5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtTY1NoYXJlQnV0dG9uQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUdWlCdXR0b25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtTY1NoYXJlQnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2NTaGFyZUJ1dHRvbk1vZHVsZSB7fVxuIl19
|