ng-easycommerce-v18 0.3.15-beta.1 → 0.3.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +90 -87
- package/assets/decidirFormEc.html +514 -514
- package/assets/ec-i18n/ct.json +281 -281
- package/assets/ec-i18n/en.json +0 -0
- package/assets/ec-i18n/es.json +429 -429
- package/assets/ec-i18n/fr.json +0 -0
- package/assets/ec-i18n/gl.json +281 -281
- package/assets/ec-i18n/pr.json +281 -281
- package/assets/images/cards-occasional.svg +21 -21
- package/assets/recaptcha/recaptcha-site-keys.json +3 -3
- package/assets/recaptcha/recaptcha-sites-prod.json +38 -38
- package/assets/recaptcha/recaptcha-sites.json +52 -52
- package/esm2022/lib/api/connection.service.mjs +1 -1
- package/esm2022/lib/classes/checkout/steps.mjs +1 -1
- package/esm2022/lib/classes/component-helper.mjs +1 -1
- package/esm2022/lib/classes/filters/attributes-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/category-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/dynamics-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/filter-factory.mjs +1 -1
- package/esm2022/lib/classes/filters/filter.mjs +1 -1
- package/esm2022/lib/classes/filters/index.mjs +1 -1
- package/esm2022/lib/classes/filters/price_range-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/sort-filter.mjs +1 -1
- package/esm2022/lib/classes/index.mjs +1 -1
- package/esm2022/lib/classes/user.mjs +1 -1
- package/esm2022/lib/constants/api.constants.service.mjs +1 -1
- package/esm2022/lib/constants/core.constants.service.mjs +1 -1
- package/esm2022/lib/constants/index.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/block-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/index.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/account-ec/account-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/account-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/account-ec/order-ec/order-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/auth-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/password-reset-ec/password-reset-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/blocks-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/cart-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/checkout-ec/checkout-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/index.mjs +1 -1
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +134 -138
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/success-ec/success-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/collection-ec/collection-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/contact-ec/contact-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/coupon-ec/coupon-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/faqs-ec/faqs-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/filters-sort-ec/filters-sort-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/footer-ec/footer-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/home-ec/home-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/index.mjs +1 -1
- package/esm2022/lib/ec-components/price-range-filter/price-range-filter.component.mjs +3 -3
- package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/related-products-ec/related-products-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/reviews-ec/reviews-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/reviews-form-ec/reviews-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/section-container-ec/section-container-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-email-ec/share-email-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-facebook-ec/share-facebook-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-pinterest-ec/share-pinterest-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-twitter-ec/share-twitter-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-whatsapp-ec/share-whatsapp-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/sidebar-ec/sidebar-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/stores-ec/stores-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/variants-ec/variants-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/widgets-ec/loading/index.mjs +1 -1
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/price-ec/price-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/rating-ec/rating-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.mjs +124 -177
- package/esm2022/lib/ec-directive/index.mjs +1 -1
- package/esm2022/lib/ec-directive/product-off.directive.mjs +1 -1
- package/esm2022/lib/ec-directive/product-stock.directive.mjs +1 -1
- package/esm2022/lib/ec-guards/auth.guard.mjs +1 -1
- package/esm2022/lib/ec-pipe/ec-currency-symbol.pipe.mjs +1 -1
- package/esm2022/lib/ec-pipe/ec-safe-html.pipe.mjs +1 -1
- package/esm2022/lib/ec-pipe/index.mjs +1 -1
- package/esm2022/lib/ec-services/addressing.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/analytics.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/doppler.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/facebook-pixel.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/gtm.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/index.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/metricool-pixel.service.mjs +11 -11
- package/esm2022/lib/ec-services/auth.service.mjs +1 -1
- package/esm2022/lib/ec-services/auth.storage.service.mjs +1 -1
- package/esm2022/lib/ec-services/blocks-repository.service.mjs +1 -1
- package/esm2022/lib/ec-services/blocks.service.mjs +1 -1
- package/esm2022/lib/ec-services/cart.service.mjs +1 -1
- package/esm2022/lib/ec-services/channel.service.mjs +1 -1
- package/esm2022/lib/ec-services/checkout.service.mjs +1 -1
- package/esm2022/lib/ec-services/currency.service.mjs +1 -1
- package/esm2022/lib/ec-services/filters.service.mjs +1 -1
- package/esm2022/lib/ec-services/form.service.mjs +1 -1
- package/esm2022/lib/ec-services/index.mjs +1 -1
- package/esm2022/lib/ec-services/local-storage.service.mjs +1 -1
- package/esm2022/lib/ec-services/ngx-local-storage.service.mjs +1 -1
- package/esm2022/lib/ec-services/options.service.mjs +1 -1
- package/esm2022/lib/ec-services/order-utility.service.mjs +1 -1
- package/esm2022/lib/ec-services/orders.service.mjs +1 -1
- package/esm2022/lib/ec-services/pagination.service.mjs +1 -1
- package/esm2022/lib/ec-services/parameters.service.mjs +1 -1
- package/esm2022/lib/ec-services/payment.service.mjs +1 -1
- package/esm2022/lib/ec-services/product-detail.service.mjs +1 -1
- package/esm2022/lib/ec-services/products.service.mjs +1 -1
- package/esm2022/lib/ec-services/re-captcha.service.mjs +1 -1
- package/esm2022/lib/ec-services/reviews.service.mjs +1 -1
- package/esm2022/lib/ec-services/shipment.service.mjs +1 -1
- package/esm2022/lib/ec-services/stores.service.mjs +1 -1
- package/esm2022/lib/ec-services/test.service.mjs +1 -1
- package/esm2022/lib/ec-services/toast.service.mjs +1 -1
- package/esm2022/lib/interceptors/auth.interceptor.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/event-key.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/facebook-pixel-data.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/gtm-config.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/index.mjs +1 -1
- package/esm2022/lib/interfaces/blocks.mjs +1 -1
- package/esm2022/lib/interfaces/checkout.mjs +1 -1
- package/esm2022/lib/interfaces/connection.mjs +1 -1
- package/esm2022/lib/interfaces/coupon.mjs +1 -1
- package/esm2022/lib/interfaces/currency.mjs +1 -1
- package/esm2022/lib/interfaces/deserializable.mjs +1 -1
- package/esm2022/lib/interfaces/environment.mjs +1 -1
- package/esm2022/lib/interfaces/faqs.mjs +1 -1
- package/esm2022/lib/interfaces/filter.mjs +1 -1
- package/esm2022/lib/interfaces/index.mjs +1 -1
- package/esm2022/lib/interfaces/options.mjs +1 -1
- package/esm2022/lib/interfaces/pagination.mjs +1 -1
- package/esm2022/lib/interfaces/parameter.mjs +1 -1
- package/esm2022/lib/interfaces/product.mjs +1 -1
- package/esm2022/lib/interfaces/step.mjs +1 -1
- package/esm2022/lib/interfaces/storage.mjs +1 -1
- package/esm2022/lib/interfaces/store.mjs +1 -1
- package/esm2022/lib/interfaces/types/user.type.mjs +1 -1
- package/esm2022/lib/providers/provideEnvironment.mjs +1 -1
- package/esm2022/lib/stores/currency.store.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/ng-easycommerce-v18.mjs +386 -443
- package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
- package/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.d.ts +38 -20
- package/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.d.ts +24 -12
- package/package.json +1 -1
|
@@ -8,6 +8,12 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
import * as i1 from "@angular/router";
|
|
9
9
|
import * as i2 from "../../../ec-services";
|
|
10
10
|
import * as i3 from "@angular/common";
|
|
11
|
+
/**
|
|
12
|
+
* Catch genérico para redirecciones de pagos.
|
|
13
|
+
* - Normaliza el estado recibido por params/query.
|
|
14
|
+
* - Informa el resultado al opener (postMessage), BroadcastChannel y localStorage.
|
|
15
|
+
* - Intenta cerrarse; si el cierre falla, redirige según el estado.
|
|
16
|
+
*/
|
|
11
17
|
export class RedsysCatchEcComponent extends ComponentHelper {
|
|
12
18
|
activedRoute;
|
|
13
19
|
router;
|
|
@@ -18,8 +24,8 @@ export class RedsysCatchEcComponent extends ComponentHelper {
|
|
|
18
24
|
platformId;
|
|
19
25
|
message = '';
|
|
20
26
|
subscription = null;
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
sid = '';
|
|
28
|
+
bc;
|
|
23
29
|
constructor(activedRoute, router, checkoutService, renderer, elementRef, document, platformId) {
|
|
24
30
|
super();
|
|
25
31
|
this.activedRoute = activedRoute;
|
|
@@ -29,213 +35,154 @@ export class RedsysCatchEcComponent extends ComponentHelper {
|
|
|
29
35
|
this.elementRef = elementRef;
|
|
30
36
|
this.document = document;
|
|
31
37
|
this.platformId = platformId;
|
|
32
|
-
|
|
33
|
-
this.detectMobile();
|
|
34
|
-
this.sessionId = this.generateSessionId();
|
|
35
|
-
// Verificar si debe procesar esta pestaña
|
|
36
|
-
if (this.shouldProcessPayment()) {
|
|
37
|
-
this.hideHeaderFooter();
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
// Si no debe procesar, cerrar esta pestaña y redirigir a la principal
|
|
41
|
-
this.closeRedundantTab();
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
38
|
+
this.hideHeaderFooter();
|
|
45
39
|
this.ecOnConstruct();
|
|
46
40
|
}
|
|
47
|
-
|
|
48
|
-
if (isPlatformBrowser(this.platformId) &&
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
41
|
+
ngOnInit() {
|
|
42
|
+
if (isPlatformBrowser(this.platformId) && 'BroadcastChannel' in window) {
|
|
43
|
+
this.bc = new BroadcastChannel('mp_payment');
|
|
44
|
+
}
|
|
45
|
+
this.subscription = combineLatest([this.activedRoute.params, this.activedRoute.queryParams])
|
|
46
|
+
.subscribe(([routeParams, q]) => {
|
|
47
|
+
let stateStr = routeParams['state'];
|
|
48
|
+
if (stateStr === 'statuspayment')
|
|
49
|
+
stateStr = q['status'];
|
|
50
|
+
const statusParam = (stateStr || q['status'] || q['state'] || '').toString();
|
|
51
|
+
const state = this.normalizeState(statusParam);
|
|
52
|
+
this.sid = (q['sid'] || (isPlatformBrowser(this.platformId) ? localStorage.getItem('mp:sid') : '') || '').toString();
|
|
53
|
+
this.storeTotalAmount(q);
|
|
54
|
+
this.setStateInLocal('Su pago fue procesado con éxito.', state);
|
|
55
|
+
this.signalState(state);
|
|
56
|
+
this.tryCloseSelf(() => {
|
|
57
|
+
const target = (state === 'success' || state === 'pending')
|
|
58
|
+
? ['/checkout/order_success']
|
|
59
|
+
: ['/checkout'];
|
|
60
|
+
setTimeout(() => this.router.navigate(target), 4500);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
this.ecOnInit();
|
|
53
64
|
}
|
|
54
|
-
|
|
55
|
-
|
|
65
|
+
ngOnDestroy() {
|
|
66
|
+
this.subscription?.unsubscribe();
|
|
67
|
+
this.bc?.close();
|
|
68
|
+
this.showHeaderFooter();
|
|
56
69
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
70
|
+
/** Guarda total_amount si viene desde el PSP. */
|
|
71
|
+
storeTotalAmount(queryParams) {
|
|
72
|
+
const totalAmount = queryParams['total_amount'];
|
|
73
|
+
if (totalAmount && isPlatformBrowser(this.platformId)) {
|
|
74
|
+
localStorage.setItem('total_amount', totalAmount);
|
|
60
75
|
}
|
|
61
|
-
|
|
62
|
-
|
|
76
|
+
}
|
|
77
|
+
/** Setea mensaje y estado en storages. */
|
|
78
|
+
setStateInLocal = (mensaje, state) => {
|
|
79
|
+
this.message = mensaje;
|
|
80
|
+
if (!isPlatformBrowser(this.platformId))
|
|
81
|
+
return;
|
|
82
|
+
try {
|
|
83
|
+
localStorage.setItem('state', state);
|
|
63
84
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const processingTabTime = localStorage.getItem('mp_processing_tab_time');
|
|
68
|
-
// Si no hay pestaña procesando o la anterior es muy antigua (más de 30 segundos)
|
|
69
|
-
if (!processingTab || !processingTabTime || (currentTime - parseInt(processingTabTime)) > 30000) {
|
|
70
|
-
// Esta pestaña será la que procese
|
|
71
|
-
localStorage.setItem('mp_processing_tab', this.sessionId);
|
|
72
|
-
localStorage.setItem('mp_processing_tab_time', currentTime.toString());
|
|
73
|
-
return true;
|
|
85
|
+
catch { }
|
|
86
|
+
try {
|
|
87
|
+
sessionStorage.setItem('modalnews', 'false');
|
|
74
88
|
}
|
|
75
|
-
|
|
76
|
-
|
|
89
|
+
catch { }
|
|
90
|
+
};
|
|
91
|
+
/** Normaliza estados heterogéneos de distintos gateways. */
|
|
92
|
+
normalizeState(raw) {
|
|
93
|
+
const v = (raw || '').toLowerCase();
|
|
94
|
+
if (v === '200' || v === 'ok' || v === 'success')
|
|
95
|
+
return 'success';
|
|
96
|
+
if (v === 'pending')
|
|
97
|
+
return 'pending';
|
|
98
|
+
if (v === 'cancel')
|
|
99
|
+
return 'cancel';
|
|
100
|
+
return 'failure'; // failure, 0, error, rejected, chargeback, desconocidos
|
|
77
101
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
102
|
+
/**
|
|
103
|
+
* Informa el resultado: postMessage al opener, BroadcastChannel y localStorage
|
|
104
|
+
* (este último permite polling en la pestaña madre).
|
|
105
|
+
*/
|
|
106
|
+
signalState(state) {
|
|
107
|
+
if (!isPlatformBrowser(this.platformId))
|
|
108
|
+
return;
|
|
109
|
+
const sid = this.sid || localStorage.getItem('mp:sid') || '';
|
|
110
|
+
const payload = { type: 'mp:state', sid, state };
|
|
111
|
+
try {
|
|
112
|
+
window.opener && window.opener.postMessage(payload, '*');
|
|
84
113
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
this.activedRoute.params,
|
|
89
|
-
this.activedRoute.queryParams
|
|
90
|
-
]).subscribe(([queryRouter, queryParams]) => {
|
|
91
|
-
let state;
|
|
92
|
-
state = queryRouter['state'];
|
|
93
|
-
if (state && state === 'statuspayment') {
|
|
94
|
-
state = queryParams['status'];
|
|
95
|
-
}
|
|
96
|
-
console.log('PARAMETROS STATE -> ', state);
|
|
97
|
-
this.handlePaymentState(state, queryParams);
|
|
98
|
-
});
|
|
99
|
-
this.ecOnInit();
|
|
100
|
-
}
|
|
101
|
-
ngOnDestroy() {
|
|
102
|
-
if (this.subscription) {
|
|
103
|
-
this.subscription.unsubscribe();
|
|
114
|
+
catch { }
|
|
115
|
+
try {
|
|
116
|
+
this.bc?.postMessage(payload);
|
|
104
117
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
118
|
+
catch { }
|
|
119
|
+
try {
|
|
120
|
+
localStorage.setItem(`mp:state:${sid}`, state);
|
|
121
|
+
}
|
|
122
|
+
catch { }
|
|
123
|
+
try {
|
|
124
|
+
localStorage.setItem('state', state);
|
|
113
125
|
}
|
|
114
|
-
|
|
126
|
+
catch { }
|
|
115
127
|
}
|
|
128
|
+
/** Intenta cerrar la pestaña actual; si falla, ejecuta el callback de fallback. */
|
|
129
|
+
tryCloseSelf(onFail) {
|
|
130
|
+
if (!isPlatformBrowser(this.platformId))
|
|
131
|
+
return onFail();
|
|
132
|
+
let attempted = false;
|
|
133
|
+
try {
|
|
134
|
+
window.close();
|
|
135
|
+
attempted = true;
|
|
136
|
+
}
|
|
137
|
+
catch { }
|
|
138
|
+
if (!attempted)
|
|
139
|
+
onFail();
|
|
140
|
+
}
|
|
141
|
+
/** Oculta header/footer para esta pantalla mínima. */
|
|
116
142
|
hideHeaderFooter() {
|
|
117
|
-
|
|
143
|
+
if (!isPlatformBrowser(this.platformId))
|
|
144
|
+
return;
|
|
118
145
|
const header = this.document.querySelector('header');
|
|
119
146
|
const footer = this.document.querySelector('footer');
|
|
120
|
-
if (header)
|
|
147
|
+
if (header)
|
|
121
148
|
this.renderer.setStyle(header, 'display', 'none');
|
|
122
|
-
|
|
123
|
-
if (footer) {
|
|
149
|
+
if (footer)
|
|
124
150
|
this.renderer.setStyle(footer, 'display', 'none');
|
|
125
|
-
}
|
|
126
151
|
}
|
|
152
|
+
/** Restaura header/footer al salir. */
|
|
127
153
|
showHeaderFooter() {
|
|
128
|
-
|
|
154
|
+
if (!isPlatformBrowser(this.platformId))
|
|
155
|
+
return;
|
|
129
156
|
const header = this.document.querySelector('header');
|
|
130
157
|
const footer = this.document.querySelector('footer');
|
|
131
|
-
if (header)
|
|
158
|
+
if (header)
|
|
132
159
|
this.renderer.removeStyle(header, 'display');
|
|
133
|
-
|
|
134
|
-
if (footer) {
|
|
160
|
+
if (footer)
|
|
135
161
|
this.renderer.removeStyle(footer, 'display');
|
|
136
|
-
}
|
|
137
162
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (
|
|
141
|
-
console.log('Pestaña no autorizada para procesar el pago, redirigiendo...');
|
|
142
|
-
this.closeRedundantTab();
|
|
163
|
+
setStateInSession(mensaje, state) {
|
|
164
|
+
this.message = mensaje;
|
|
165
|
+
if (!isPlatformBrowser(this.platformId))
|
|
143
166
|
return;
|
|
167
|
+
try {
|
|
168
|
+
sessionStorage.setItem('state', state);
|
|
144
169
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
this.setStateInLocal('Su pago fue procesado con éxito.', 'success');
|
|
148
|
-
this.storeTotalAmount(queryParams);
|
|
149
|
-
this.redirectToSuccess();
|
|
150
|
-
break;
|
|
151
|
-
case 'success':
|
|
152
|
-
this.setStateInLocal('Su pago fue procesado con éxito.', state);
|
|
153
|
-
this.storeTotalAmount(queryParams);
|
|
154
|
-
this.redirectToSuccess();
|
|
155
|
-
break;
|
|
156
|
-
case 'pending':
|
|
157
|
-
this.setStateInLocal('Su pago fue procesado con éxito.', state);
|
|
158
|
-
this.redirectToSuccess();
|
|
159
|
-
break;
|
|
160
|
-
case 'failure':
|
|
161
|
-
this.setStateInLocal('Se ha cancelado el proceso de pago.', state);
|
|
162
|
-
this.storeTotalAmount(queryParams);
|
|
163
|
-
this.redirectToCheckout();
|
|
164
|
-
break;
|
|
165
|
-
case 'cancel':
|
|
166
|
-
this.setStateInLocal('Se ha cancelado el proceso de pago.', state);
|
|
167
|
-
this.redirectToCheckout();
|
|
168
|
-
break;
|
|
169
|
-
case 'ok':
|
|
170
|
-
this.setStateInSesion('Su pago fue procesado con éxito.', state);
|
|
171
|
-
break;
|
|
172
|
-
case 'challenge':
|
|
173
|
-
this.setStateInSesion('Redirigiendo a autenticación del banco emisor.', state);
|
|
174
|
-
break;
|
|
175
|
-
case 'error':
|
|
176
|
-
this.setStateInSesion('Algo no salio bien en la validación de sus datos.', state);
|
|
177
|
-
break;
|
|
178
|
-
case '0':
|
|
179
|
-
this.setStateInLocal('Se ha cancelado el proceso de pago.', 'failure');
|
|
180
|
-
this.redirectToCheckout();
|
|
181
|
-
break;
|
|
182
|
-
default:
|
|
183
|
-
break;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
redirectToSuccess() {
|
|
187
|
-
// Limpiar marcadores de procesamiento
|
|
188
|
-
if (this.isMobile && isPlatformBrowser(this.platformId)) {
|
|
189
|
-
localStorage.removeItem('mp_processing_tab');
|
|
190
|
-
localStorage.removeItem('mp_processing_tab_time');
|
|
191
|
-
}
|
|
192
|
-
// Redirigir después de un breve delay
|
|
193
|
-
setTimeout(() => {
|
|
194
|
-
this.router.navigate(['/checkout/order_success']);
|
|
195
|
-
}, 2000);
|
|
196
|
-
}
|
|
197
|
-
redirectToCheckout() {
|
|
198
|
-
// Limpiar marcadores de procesamiento
|
|
199
|
-
if (this.isMobile && isPlatformBrowser(this.platformId)) {
|
|
200
|
-
localStorage.removeItem('mp_processing_tab');
|
|
201
|
-
localStorage.removeItem('mp_processing_tab_time');
|
|
202
|
-
}
|
|
203
|
-
// Redirigir después de un breve delay
|
|
204
|
-
setTimeout(() => {
|
|
205
|
-
this.router.navigate(['/checkout']);
|
|
206
|
-
}, 2000);
|
|
207
|
-
}
|
|
208
|
-
storeTotalAmount(queryParams) {
|
|
209
|
-
const totalAmount = queryParams['total_amount'];
|
|
210
|
-
if (totalAmount && isPlatformBrowser(this.platformId)) {
|
|
211
|
-
localStorage.setItem('total_amount', totalAmount);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
setStateInLocal = (mensaje, state) => {
|
|
215
|
-
this.message = mensaje;
|
|
216
|
-
if (isPlatformBrowser(this.platformId)) {
|
|
170
|
+
catch { }
|
|
171
|
+
try {
|
|
217
172
|
localStorage.setItem('state', state);
|
|
218
|
-
if (typeof sessionStorage !== 'undefined') {
|
|
219
|
-
sessionStorage.setItem('modalnews', 'false');
|
|
220
|
-
}
|
|
221
173
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
if (isPlatformBrowser(this.platformId)) {
|
|
226
|
-
if (typeof sessionStorage !== 'undefined') {
|
|
227
|
-
sessionStorage.setItem('state', state);
|
|
228
|
-
sessionStorage.setItem('modalnews', 'false');
|
|
229
|
-
}
|
|
230
|
-
localStorage.setItem('state', state);
|
|
174
|
+
catch { }
|
|
175
|
+
try {
|
|
176
|
+
sessionStorage.setItem('modalnews', 'false');
|
|
231
177
|
}
|
|
232
|
-
|
|
178
|
+
catch { }
|
|
179
|
+
}
|
|
233
180
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RedsysCatchEcComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.CheckoutService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
234
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RedsysCatchEcComponent, isStandalone: true, selector: "app-redsys-catch-ec", usesInheritance: true, ngImport: i0, template: "<div id=\"container\">\
|
|
181
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RedsysCatchEcComponent, isStandalone: true, selector: "app-redsys-catch-ec", usesInheritance: true, ngImport: i0, template: "<div id=\"container\">\n <div class=\"row\">\n <div class=\"col align-self-center\">\n <h4 class=\"titpage center-block text-center font-nexa font-lg my-3\">{{ message | uppercase }}</h4>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col align-self-center\">\n <h5 class=\"center-block text-center font-nexa my-3\">Redirigiendo en segundos...</h5>\n <br>\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n </div>\n</div>", styles: [".loader{border:16px solid #f3f3f3;border-top:16px solid #dc3545;border-radius:50%;width:50px;height:50px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.flex-container{display:flex;justify-content:center;align-items:center;height:80vh;width:100%}.flex-container>div{width:90%;height:100px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i3.UpperCasePipe, name: "uppercase" }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }] });
|
|
235
182
|
}
|
|
236
183
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RedsysCatchEcComponent, decorators: [{
|
|
237
184
|
type: Component,
|
|
238
|
-
args: [{ selector: 'app-redsys-catch-ec', standalone: true, imports: [CommonModule, LoadingFullEcComponent], template: "<div id=\"container\">\
|
|
185
|
+
args: [{ selector: 'app-redsys-catch-ec', standalone: true, imports: [CommonModule, LoadingFullEcComponent], template: "<div id=\"container\">\n <div class=\"row\">\n <div class=\"col align-self-center\">\n <h4 class=\"titpage center-block text-center font-nexa font-lg my-3\">{{ message | uppercase }}</h4>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col align-self-center\">\n <h5 class=\"center-block text-center font-nexa my-3\">Redirigiendo en segundos...</h5>\n <br>\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n </div>\n</div>", styles: [".loader{border:16px solid #f3f3f3;border-top:16px solid #dc3545;border-radius:50%;width:50px;height:50px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.flex-container{display:flex;justify-content:center;align-items:center;height:80vh;width:100%}.flex-container>div{width:90%;height:100px}\n"] }]
|
|
239
186
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.CheckoutService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: Document, decorators: [{
|
|
240
187
|
type: Inject,
|
|
241
188
|
args: [DOCUMENT]
|
|
@@ -243,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
243
190
|
type: Inject,
|
|
244
191
|
args: [PLATFORM_ID]
|
|
245
192
|
}] }] });
|
|
246
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkc3lzLWNhdGNoLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL3dpZGdldHMtZWMvcmVkc3lzLWNhdGNoLWVjL3JlZHN5cy1jYXRjaC1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy93aWRnZXRzLWVjL3JlZHN5cy1jYXRjaC1lYy9yZWRzeXMtY2F0Y2gtZWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEMsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsYUFBYSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7QUFTOUYsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGVBQWU7SUFRNUM7SUFDQTtJQUNBO0lBQ0M7SUFDQTtJQUNrQjtJQUNHO0lBWjFCLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDWixZQUFZLEdBQXdCLElBQUksQ0FBQztJQUN6QyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFFdkIsWUFDVyxZQUE0QixFQUM1QixNQUFjLEVBQ2QsZUFBZ0MsRUFDL0IsUUFBbUIsRUFDbkIsVUFBc0IsRUFDSixR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QUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxPQUFPLGNBQWMsS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDeEMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZDLGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2pELENBQUM7WUFDRCxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO3dHQXZQUSxzQkFBc0Isd0pBYW5CLFFBQVEsYUFDUixXQUFXOzRGQWRkLHNCQUFzQixzR0NqQm5DLHlwQkFlTSxtWkRGUSxZQUFZLDRGQUFFLHNCQUFzQjs7NEZBSXJDLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDSSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHNCQUFzQixDQUFDOzswQkFpQjFDLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBFbGVtZW50UmVmLCBJbmplY3QsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcclxuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lYy1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IENoZWNrb3V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VjLXNlcnZpY2VzJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTG9hZGluZ0Z1bGxFY0NvbXBvbmVudCB9IGZyb20gJy4uL2xvYWRpbmcvbG9hZGluZy1mdWxsLWVjL2xvYWRpbmctZnVsbC1lYy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1yZWRzeXMtY2F0Y2gtZWMnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIExvYWRpbmdGdWxsRWNDb21wb25lbnRdLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlZHN5cy1jYXRjaC1lYy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9yZWRzeXMtY2F0Y2gtZWMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVkc3lzQ2F0Y2hFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBwdWJsaWMgbWVzc2FnZSA9ICcnO1xyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gICAgcHJpdmF0ZSBpc01vYmlsZSA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBzZXNzaW9uSWQgPSAnJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgYWN0aXZlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHVibGljIGNoZWNrb3V0U2VydmljZTogQ2hlY2tvdXRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXHJcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnlcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgICAgICAgdGhpcy5kZXRlY3RNb2JpbGUoKTtcclxuICAgICAgICAgICAgdGhpcy5zZXNzaW9uSWQgPSB0aGlzLmdlbmVyYXRlU2Vzc2lvbklkKCk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvLyBWZXJpZmljYXIgc2kgZGViZSBwcm9jZXNhciBlc3RhIHBlc3Rhw7FhXHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNob3VsZFByb2Nlc3NQYXltZW50KCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZUhlYWRlckZvb3RlcigpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gU2kgbm8gZGViZSBwcm9jZXNhciwgY2VycmFyIGVzdGEgcGVzdGHDsWEgeSByZWRpcmlnaXIgYSBsYSBwcmluY2lwYWxcclxuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VSZWR1bmRhbnRUYWIoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRldGVjdE1vYmlsZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICBjb25zdCB1c2VyQWdlbnQgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmlzTW9iaWxlID0gL2FuZHJvaWR8d2Vib3N8aXBob25lfGlwYWR8aXBvZHxibGFja2JlcnJ5fGllbW9iaWxlfG9wZXJhIG1pbml8bW9iaWxlL2kudGVzdCh1c2VyQWdlbnQpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHdpbmRvdy5pbm5lcldpZHRoIDw9IDc2OCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2VuZXJhdGVTZXNzaW9uSWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYGNhdGNoXyR7RGF0ZS5ub3coKX1fJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiwgOSl9YDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNob3VsZFByb2Nlc3NQYXltZW50KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIEVuIGVsIHNlcnZpZG9yIG5vIHByb2Nlc2FyXHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICghdGhpcy5pc01vYmlsZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gRW4gZGVza3RvcCBzaWVtcHJlIHByb2Nlc2FyXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBFbiBtb2JpbGUsIHZlcmlmaWNhciBzaSB5YSBoYXkgb3RyYSBwZXN0YcOxYSBwcm9jZXNhbmRvXHJcbiAgICAgICAgY29uc3QgcHJvY2Vzc2luZ1RhYiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtcF9wcm9jZXNzaW5nX3RhYicpO1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gRGF0ZS5ub3coKTtcclxuICAgICAgICBjb25zdCBwcm9jZXNzaW5nVGFiVGltZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtcF9wcm9jZXNzaW5nX3RhYl90aW1lJyk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gU2kgbm8gaGF5IHBlc3Rhw7FhIHByb2Nlc2FuZG8gbyBsYSBhbnRlcmlvciBlcyBtdXkgYW50aWd1YSAobcOhcyBkZSAzMCBzZWd1bmRvcylcclxuICAgICAgICBpZiAoIXByb2Nlc3NpbmdUYWIgfHwgIXByb2Nlc3NpbmdUYWJUaW1lIHx8IChjdXJyZW50VGltZSAtIHBhcnNlSW50KHByb2Nlc3NpbmdUYWJUaW1lKSkgPiAzMDAwMCkge1xyXG4gICAgICAgICAgICAvLyBFc3RhIHBlc3Rhw7FhIHNlcsOhIGxhIHF1ZSBwcm9jZXNlXHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdtcF9wcm9jZXNzaW5nX3RhYicsIHRoaXMuc2Vzc2lvbklkKTtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ21wX3Byb2Nlc3NpbmdfdGFiX3RpbWUnLCBjdXJyZW50VGltZS50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIFNpIHlhIGhheSBvdHJhIHBlc3Rhw7FhIHByb2Nlc2FuZG9cclxuICAgICAgICByZXR1cm4gcHJvY2Vzc2luZ1RhYiA9PT0gdGhpcy5zZXNzaW9uSWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjbG9zZVJlZHVuZGFudFRhYigpOiB2b2lkIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQ2VycmFuZG8gcGVzdGHDsWEgcmVkdW5kYW50ZS4uLicpO1xyXG4gICAgICAgIC8vIEludGVudGFyIGNlcnJhciBsYSBwZXN0YcOxYVxyXG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgIC8vIFJlZGlyaWdpciBhIGxhIHDDoWdpbmEgcHJpbmNpcGFsIGVuIGx1Z2FyIGRlIGNlcnJhclxyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvY2hlY2tvdXQvb3JkZXJfc3VjY2Vzcyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlZFJvdXRlLnBhcmFtcyxcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVkUm91dGUucXVlcnlQYXJhbXNcclxuICAgICAgICBdKS5zdWJzY3JpYmUoKFtxdWVyeVJvdXRlciwgcXVlcnlQYXJhbXNdKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBzdGF0ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBzdGF0ZSA9IHF1ZXJ5Um91dGVyWydzdGF0ZSddO1xyXG4gICAgICAgICAgICBpZiAoc3RhdGUgJiYgc3RhdGUgPT09ICdzdGF0dXNwYXltZW50Jykge1xyXG4gICAgICAgICAgICAgICAgc3RhdGUgPSBxdWVyeVBhcmFtc1snc3RhdHVzJ107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ1BBUkFNRVRST1MgU1RBVEUgIC0+ICcsIHN0YXRlKTtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVQYXltZW50U3RhdGUoc3RhdGUsIHF1ZXJ5UGFyYW1zKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmVjT25Jbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2hvd0hlYWRlckZvb3RlcigpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIExpbXBpYXIgbWFyY2Fkb3JlcyBkZSBtb2JpbGUgc2kgZXN0YSBwZXN0YcOxYSBlc3RhYmEgcHJvY2VzYW5kb1xyXG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlICYmIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgICAgICAgY29uc3QgcHJvY2Vzc2luZ1RhYiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtcF9wcm9jZXNzaW5nX3RhYicpO1xyXG4gICAgICAgICAgICBpZiAocHJvY2Vzc2luZ1RhYiA9PT0gdGhpcy5zZXNzaW9uSWQpIHtcclxuICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdtcF9wcm9jZXNzaW5nX3RhYicpO1xyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ21wX3Byb2Nlc3NpbmdfdGFiX3RpbWUnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAvLyB0aGlzLmVjT25EZXN0cm95KCk7IC8vIFJlbW92aWRvIHNpIG5vIGV4aXN0ZSBlbiBDb21wb25lbnRIZWxwZXJcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhpZGVIZWFkZXJGb290ZXIoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gVXNhciBSZW5kZXJlcjIgZW4gbHVnYXIgZGUgalF1ZXJ5IHBhcmEgbWFuaXB1bGFyIGVsIERPTVxyXG4gICAgICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaGVhZGVyJyk7XHJcbiAgICAgICAgY29uc3QgZm9vdGVyID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdmb290ZXInKTtcclxuXHJcbiAgICAgICAgaWYgKGhlYWRlcikge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGhlYWRlciwgJ2Rpc3BsYXknLCAnbm9uZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZm9vdGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZm9vdGVyLCAnZGlzcGxheScsICdub25lJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2hvd0hlYWRlckZvb3RlcigpOiB2b2lkIHtcclxuICAgICAgICAvLyBSZXN0YXVyYXIgbGEgdmlzaWJpbGlkYWQgYWwgZGVzdHJ1aXIgZWwgY29tcG9uZW50ZVxyXG4gICAgICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaGVhZGVyJyk7XHJcbiAgICAgICAgY29uc3QgZm9vdGVyID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdmb290ZXInKTtcclxuXHJcbiAgICAgICAgaWYgKGhlYWRlcikge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKGhlYWRlciwgJ2Rpc3BsYXknKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZvb3Rlcikge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKGZvb3RlciwgJ2Rpc3BsYXknKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVQYXltZW50U3RhdGUoc3RhdGU6IHN0cmluZyB8IHVuZGVmaW5lZCwgcXVlcnlQYXJhbXM6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIC8vIFNvbG8gcHJvY2VzYXIgZWwgZXN0YWRvIHNpIGVzdGEgcGVzdGHDsWEgZXN0w6EgYXV0b3JpemFkYVxyXG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlICYmICF0aGlzLnNob3VsZFByb2Nlc3NQYXltZW50KCkpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ1Blc3Rhw7FhIG5vIGF1dG9yaXphZGEgcGFyYSBwcm9jZXNhciBlbCBwYWdvLCByZWRpcmlnaWVuZG8uLi4nKTtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZVJlZHVuZGFudFRhYigpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHN3aXRjaCAoc3RhdGUpIHtcclxuICAgICAgICAgICAgY2FzZSAnMjAwJzpcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGVJbkxvY2FsKCdTdSBwYWdvIGZ1ZSBwcm9jZXNhZG8gY29uIMOpeGl0by4nLCAnc3VjY2VzcycpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZVRvdGFsQW1vdW50KHF1ZXJ5UGFyYW1zKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVkaXJlY3RUb1N1Y2Nlc3MoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdzdWNjZXNzJzpcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGVJbkxvY2FsKCdTdSBwYWdvIGZ1ZSBwcm9jZXNhZG8gY29uIMOpeGl0by4nLCBzdGF0ZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlVG90YWxBbW91bnQocXVlcnlQYXJhbXMpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWRpcmVjdFRvU3VjY2VzcygpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3BlbmRpbmcnOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZUluTG9jYWwoJ1N1IHBhZ28gZnVlIHByb2Nlc2FkbyBjb24gw6l4aXRvLicsIHN0YXRlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVkaXJlY3RUb1N1Y2Nlc3MoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdmYWlsdXJlJzpcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGVJbkxvY2FsKCdTZSBoYSBjYW5jZWxhZG8gZWwgcHJvY2VzbyBkZSBwYWdvLicsIHN0YXRlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmVUb3RhbEFtb3VudChxdWVyeVBhcmFtcyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlZGlyZWN0VG9DaGVja291dCgpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2NhbmNlbCc6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlSW5Mb2NhbCgnU2UgaGEgY2FuY2VsYWRvIGVsIHByb2Nlc28gZGUgcGFnby4nLCBzdGF0ZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlZGlyZWN0VG9DaGVja291dCgpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ29rJzpcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGVJblNlc2lvbignU3UgcGFnbyBmdWUgcHJvY2VzYWRvIGNvbiDDqXhpdG8uJywgc3RhdGUpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2NoYWxsZW5nZSc6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlSW5TZXNpb24oJ1JlZGlyaWdpZW5kbyBhIGF1dGVudGljYWNpw7NuIGRlbCBiYW5jbyBlbWlzb3IuJywgc3RhdGUpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2Vycm9yJzpcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGVJblNlc2lvbignQWxnbyBubyBzYWxpbyBiaWVuIGVuIGxhIHZhbGlkYWNpw7NuIGRlIHN1cyBkYXRvcy4nLCBzdGF0ZSk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnMCc6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlSW5Mb2NhbCgnU2UgaGEgY2FuY2VsYWRvIGVsIHByb2Nlc28gZGUgcGFnby4nLCAnZmFpbHVyZScpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWRpcmVjdFRvQ2hlY2tvdXQoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVkaXJlY3RUb1N1Y2Nlc3MoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gTGltcGlhciBtYXJjYWRvcmVzIGRlIHByb2Nlc2FtaWVudG9cclxuICAgICAgICBpZiAodGhpcy5pc01vYmlsZSAmJiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdtcF9wcm9jZXNzaW5nX3RhYicpO1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnbXBfcHJvY2Vzc2luZ190YWJfdGltZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAvLyBSZWRpcmlnaXIgZGVzcHXDqXMgZGUgdW4gYnJldmUgZGVsYXlcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvY2hlY2tvdXQvb3JkZXJfc3VjY2VzcyddKTtcclxuICAgICAgICB9LCAyMDAwKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlZGlyZWN0VG9DaGVja291dCgpOiB2b2lkIHtcclxuICAgICAgICAvLyBMaW1waWFyIG1hcmNhZG9yZXMgZGUgcHJvY2VzYW1pZW50b1xyXG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlICYmIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ21wX3Byb2Nlc3NpbmdfdGFiJyk7XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdtcF9wcm9jZXNzaW5nX3RhYl90aW1lJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIFJlZGlyaWdpciBkZXNwdcOpcyBkZSB1biBicmV2ZSBkZWxheVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9jaGVja291dCddKTtcclxuICAgICAgICB9LCAyMDAwKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0b3JlVG90YWxBbW91bnQocXVlcnlQYXJhbXM6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRvdGFsQW1vdW50ID0gcXVlcnlQYXJhbXNbJ3RvdGFsX2Ftb3VudCddO1xyXG4gICAgICAgIGlmICh0b3RhbEFtb3VudCAmJiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0b3RhbF9hbW91bnQnLCB0b3RhbEFtb3VudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIHNldFN0YXRlSW5Mb2NhbCA9IChtZW5zYWplOiBzdHJpbmcsIHN0YXRlOiBzdHJpbmcpOiB2b2lkID0+IHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZW5zYWplO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdzdGF0ZScsIHN0YXRlKTtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBzZXNzaW9uU3RvcmFnZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ21vZGFsbmV3cycsICdmYWxzZScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0U3RhdGVJblNlc2lvbiA9IChtZW5zYWplOiBzdHJpbmcsIHN0YXRlOiBzdHJpbmcpOiB2b2lkID0+IHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZW5zYWplO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2Vzc2lvblN0b3JhZ2UgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdzdGF0ZScsIHN0YXRlKTtcclxuICAgICAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ21vZGFsbmV3cycsICdmYWxzZScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdzdGF0ZScsIHN0YXRlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIjxkaXYgaWQ9XCJjb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGFsaWduLXNlbGYtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxoNCBjbGFzcz1cInRpdHBhZ2UgY2VudGVyLWJsb2NrIHRleHQtY2VudGVyIGZvbnQtbmV4YSBmb250LWxnIG15LTNcIj57eyBtZXNzYWdlIHwgdXBwZXJjYXNlIH19PC9oND5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgYWxpZ24tc2VsZi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2VudGVyLWJsb2NrIHRleHQtY2VudGVyIGZvbnQtbmV4YSBteS0zXCI+UmVkaXJpZ2llbmRvIGVuIHNlZ3VuZG9zLi4uPC9oNT5cclxuICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGp1c2l0ZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWxvYWRpbmctZnVsbC1lYz48L2FwcC1sb2FkaW5nLWZ1bGwtZWM+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkc3lzLWNhdGNoLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL3dpZGdldHMtZWMvcmVkc3lzLWNhdGNoLWVjL3JlZHN5cy1jYXRjaC1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy93aWRnZXRzLWVjL3JlZHN5cy1jYXRjaC1lYy9yZWRzeXMtY2F0Y2gtZWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEMsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsYUFBYSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7QUFJOUY7Ozs7O0dBS0c7QUFRSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZUFBZTtJQVE1QztJQUNBO0lBQ0E7SUFDQztJQUNBO0lBQ2tCO0lBQ0c7SUFaMUIsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNaLFlBQVksR0FBd0IsSUFBSSxDQUFDO0lBQ3pDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDVCxFQUFFLENBQW9CO0lBRTlCLFlBQ1csWUFBNEIsRUFDNUIsTUFBYyxFQUNkLGVBQWdDLEVBQy9CLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ0osUUFBa0IsRUFDZixVQUFlO1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBUkQsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQzVCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDL0IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ0osYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNmLGVBQVUsR0FBVixVQUFVLENBQUs7UUFJNUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksa0JBQWtCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDckUsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDdkYsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM1QixJQUFJLFFBQVEsR0FBdUIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hELElBQUksUUFBUSxLQUFLLGVBQWU7Z0JBQUUsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV6RCxNQUFNLFdBQVcsR0FBRyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFL0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXpCLElBQUksQ0FBQyxlQUFlLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV4QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUM7b0JBQ3ZELENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDO29CQUM3QixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDUCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGlEQUFpRDtJQUN6QyxnQkFBZ0IsQ0FBQyxXQUFnQjtRQUNyQyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEQsSUFBSSxXQUFXLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDcEQsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7SUFFRCwwQ0FBMEM7SUFDbEMsZUFBZSxHQUFHLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBUSxFQUFFO1FBQy9ELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQUUsT0FBTztRQUNoRCxJQUFJLENBQUM7WUFBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUFDLENBQUM7UUFBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQztZQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQyxDQUFBO0lBRUQsNERBQTREO0lBQ3BELGNBQWMsQ0FBQyxHQUFXO1FBQzlCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxTQUFTO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDbkUsSUFBSSxDQUFDLEtBQUssU0FBUztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLFFBQVE7WUFBRSxPQUFPLFFBQVEsQ0FBQztRQUNwQyxPQUFPLFNBQVMsQ0FBQyxDQUFDLHdEQUF3RDtJQUM5RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssV0FBVyxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFPO1FBQ2hELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0QsTUFBTSxPQUFPLEdBQUcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUVqRCxJQUFJLENBQUM7WUFBQyxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUFDLENBQUM7UUFBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQztZQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDO1lBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDO1lBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsbUZBQW1GO0lBQzNFLFlBQVksQ0FBQyxNQUFrQjtRQUNuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU8sTUFBTSxFQUFFLENBQUM7UUFDekQsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQztZQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFBQyxDQUFDO1FBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsU0FBUztZQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxzREFBc0Q7SUFDOUMsZ0JBQWdCO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQUUsT0FBTztRQUNoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxJQUFJLE1BQU07WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlELElBQUksTUFBTTtZQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELHVDQUF1QztJQUMvQixnQkFBZ0I7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFPO1FBQ2hELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELElBQUksTUFBTTtZQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6RCxJQUFJLE1BQU07WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVPLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxLQUFjO1FBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQUUsT0FBTztRQUNoRCxJQUFJLENBQUM7WUFBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUFDLENBQUM7UUFBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQztZQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDO1lBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO3dHQWpJUSxzQkFBc0Isd0pBYW5CLFFBQVEsYUFDUixXQUFXOzRGQWRkLHNCQUFzQixzR0N6Qm5DLDJuQkFlTSxtWkRNUSxZQUFZLDRGQUFFLHNCQUFzQjs7NEZBSXJDLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDSSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHNCQUFzQixDQUFDOzswQkFpQjFDLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBFbGVtZW50UmVmLCBJbmplY3QsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgQ2hlY2tvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMb2FkaW5nRnVsbEVjQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGluZy9sb2FkaW5nLWZ1bGwtZWMvbG9hZGluZy1mdWxsLWVjLmNvbXBvbmVudCc7XG5cbnR5cGUgTXBTdGF0ZSA9ICdzdWNjZXNzJyB8ICdwZW5kaW5nJyB8ICdmYWlsdXJlJyB8ICdjYW5jZWwnO1xuXG4vKipcbiAqIENhdGNoIGdlbsOpcmljbyBwYXJhIHJlZGlyZWNjaW9uZXMgZGUgcGFnb3MuXG4gKiAtIE5vcm1hbGl6YSBlbCBlc3RhZG8gcmVjaWJpZG8gcG9yIHBhcmFtcy9xdWVyeS5cbiAqIC0gSW5mb3JtYSBlbCByZXN1bHRhZG8gYWwgb3BlbmVyIChwb3N0TWVzc2FnZSksIEJyb2FkY2FzdENoYW5uZWwgeSBsb2NhbFN0b3JhZ2UuXG4gKiAtIEludGVudGEgY2VycmFyc2U7IHNpIGVsIGNpZXJyZSBmYWxsYSwgcmVkaXJpZ2Ugc2Vnw7puIGVsIGVzdGFkby5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtcmVkc3lzLWNhdGNoLWVjJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIExvYWRpbmdGdWxsRWNDb21wb25lbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZWRzeXMtY2F0Y2gtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JlZHN5cy1jYXRjaC1lYy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlZHN5c0NhdGNoRWNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRIZWxwZXIgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBwdWJsaWMgbWVzc2FnZSA9ICcnO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHNpZCA9ICcnO1xuICAgIHByaXZhdGUgYmM/OiBCcm9hZGNhc3RDaGFubmVsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBhY3RpdmVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHB1YmxpYyBjaGVja291dFNlcnZpY2U6IENoZWNrb3V0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuaGlkZUhlYWRlckZvb3RlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgJ0Jyb2FkY2FzdENoYW5uZWwnIGluIHdpbmRvdykge1xuICAgICAgICAgICAgdGhpcy5iYyA9IG5ldyBCcm9hZGNhc3RDaGFubmVsKCdtcF9wYXltZW50Jyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuYWN0aXZlZFJvdXRlLnBhcmFtcywgdGhpcy5hY3RpdmVkUm91dGUucXVlcnlQYXJhbXNdKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW3JvdXRlUGFyYW1zLCBxXSkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBzdGF0ZVN0cjogc3RyaW5nIHwgdW5kZWZpbmVkID0gcm91dGVQYXJhbXNbJ3N0YXRlJ107XG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlU3RyID09PSAnc3RhdHVzcGF5bWVudCcpIHN0YXRlU3RyID0gcVsnc3RhdHVzJ107XG5cbiAgICAgICAgICAgICAgICBjb25zdCBzdGF0dXNQYXJhbSA9IChzdGF0ZVN0ciB8fCBxWydzdGF0dXMnXSB8fCBxWydzdGF0ZSddIHx8ICcnKS50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5ub3JtYWxpemVTdGF0ZShzdGF0dXNQYXJhbSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnNpZCA9IChxWydzaWQnXSB8fCAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSA/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtcDpzaWQnKSA6ICcnKSB8fCAnJykudG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlVG90YWxBbW91bnQocSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlSW5Mb2NhbCgnU3UgcGFnbyBmdWUgcHJvY2VzYWRvIGNvbiDDqXhpdG8uJywgc3RhdGUpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2lnbmFsU3RhdGUoc3RhdGUpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy50cnlDbG9zZVNlbGYoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSAoc3RhdGUgPT09ICdzdWNjZXNzJyB8fCBzdGF0ZSA9PT0gJ3BlbmRpbmcnKVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBbJy9jaGVja291dC9vcmRlcl9zdWNjZXNzJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogWycvY2hlY2tvdXQnXTtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZSh0YXJnZXQpLCA0NTAwKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLmVjT25Jbml0KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmJjPy5jbG9zZSgpO1xuICAgICAgICB0aGlzLnNob3dIZWFkZXJGb290ZXIoKTtcbiAgICB9XG5cbiAgICAvKiogR3VhcmRhIHRvdGFsX2Ftb3VudCBzaSB2aWVuZSBkZXNkZSBlbCBQU1AuICovXG4gICAgcHJpdmF0ZSBzdG9yZVRvdGFsQW1vdW50KHF1ZXJ5UGFyYW1zOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdG90YWxBbW91bnQgPSBxdWVyeVBhcmFtc1sndG90YWxfYW1vdW50J107XG4gICAgICAgIGlmICh0b3RhbEFtb3VudCAmJiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG90YWxfYW1vdW50JywgdG90YWxBbW91bnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNldGVhIG1lbnNhamUgeSBlc3RhZG8gZW4gc3RvcmFnZXMuICovXG4gICAgcHJpdmF0ZSBzZXRTdGF0ZUluTG9jYWwgPSAobWVuc2FqZTogc3RyaW5nLCBzdGF0ZTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IG1lbnNhamU7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgICAgICB0cnkgeyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc3RhdGUnLCBzdGF0ZSk7IH0gY2F0Y2ggeyB9XG4gICAgICAgIHRyeSB7IHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ21vZGFsbmV3cycsICdmYWxzZScpOyB9IGNhdGNoIHsgfVxuICAgIH1cblxuICAgIC8qKiBOb3JtYWxpemEgZXN0YWRvcyBoZXRlcm9nw6luZW9zIGRlIGRpc3RpbnRvcyBnYXRld2F5cy4gKi9cbiAgICBwcml2YXRlIG5vcm1hbGl6ZVN0YXRlKHJhdzogc3RyaW5nKTogTXBTdGF0ZSB7XG4gICAgICAgIGNvbnN0IHYgPSAocmF3IHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAodiA9PT0gJzIwMCcgfHwgdiA9PT0gJ29rJyB8fCB2ID09PSAnc3VjY2VzcycpIHJldHVybiAnc3VjY2Vzcyc7XG4gICAgICAgIGlmICh2ID09PSAncGVuZGluZycpIHJldHVybiAncGVuZGluZyc7XG4gICAgICAgIGlmICh2ID09PSAnY2FuY2VsJykgcmV0dXJuICdjYW5jZWwnO1xuICAgICAgICByZXR1cm4gJ2ZhaWx1cmUnOyAvLyBmYWlsdXJlLCAwLCBlcnJvciwgcmVqZWN0ZWQsIGNoYXJnZWJhY2ssIGRlc2Nvbm9jaWRvc1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluZm9ybWEgZWwgcmVzdWx0YWRvOiBwb3N0TWVzc2FnZSBhbCBvcGVuZXIsIEJyb2FkY2FzdENoYW5uZWwgeSBsb2NhbFN0b3JhZ2VcbiAgICAgKiAoZXN0ZSDDumx0aW1vIHBlcm1pdGUgcG9sbGluZyBlbiBsYSBwZXN0YcOxYSBtYWRyZSkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzaWduYWxTdGF0ZShzdGF0ZTogTXBTdGF0ZSkge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcbiAgICAgICAgY29uc3Qgc2lkID0gdGhpcy5zaWQgfHwgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ21wOnNpZCcpIHx8ICcnO1xuICAgICAgICBjb25zdCBwYXlsb2FkID0geyB0eXBlOiAnbXA6c3RhdGUnLCBzaWQsIHN0YXRlIH07XG5cbiAgICAgICAgdHJ5IHsgd2luZG93Lm9wZW5lciAmJiB3aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKHBheWxvYWQsICcqJyk7IH0gY2F0Y2ggeyB9XG4gICAgICAgIHRyeSB7IHRoaXMuYmM/LnBvc3RNZXNzYWdlKHBheWxvYWQpOyB9IGNhdGNoIHsgfVxuICAgICAgICB0cnkgeyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShgbXA6c3RhdGU6JHtzaWR9YCwgc3RhdGUpOyB9IGNhdGNoIHsgfVxuICAgICAgICB0cnkgeyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc3RhdGUnLCBzdGF0ZSk7IH0gY2F0Y2ggeyB9XG4gICAgfVxuXG4gICAgLyoqIEludGVudGEgY2VycmFyIGxhIHBlc3Rhw7FhIGFjdHVhbDsgc2kgZmFsbGEsIGVqZWN1dGEgZWwgY2FsbGJhY2sgZGUgZmFsbGJhY2suICovXG4gICAgcHJpdmF0ZSB0cnlDbG9zZVNlbGYob25GYWlsOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuIG9uRmFpbCgpO1xuICAgICAgICBsZXQgYXR0ZW1wdGVkID0gZmFsc2U7XG4gICAgICAgIHRyeSB7IHdpbmRvdy5jbG9zZSgpOyBhdHRlbXB0ZWQgPSB0cnVlOyB9IGNhdGNoIHsgfVxuICAgICAgICBpZiAoIWF0dGVtcHRlZCkgb25GYWlsKCk7XG4gICAgfVxuXG4gICAgLyoqIE9jdWx0YSBoZWFkZXIvZm9vdGVyIHBhcmEgZXN0YSBwYW50YWxsYSBtw61uaW1hLiAqL1xuICAgIHByaXZhdGUgaGlkZUhlYWRlckZvb3RlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG4gICAgICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaGVhZGVyJyk7XG4gICAgICAgIGNvbnN0IGZvb3RlciA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignZm9vdGVyJyk7XG4gICAgICAgIGlmIChoZWFkZXIpIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoaGVhZGVyLCAnZGlzcGxheScsICdub25lJyk7XG4gICAgICAgIGlmIChmb290ZXIpIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZm9vdGVyLCAnZGlzcGxheScsICdub25lJyk7XG4gICAgfVxuXG4gICAgLyoqIFJlc3RhdXJhIGhlYWRlci9mb290ZXIgYWwgc2FsaXIuICovXG4gICAgcHJpdmF0ZSBzaG93SGVhZGVyRm9vdGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcbiAgICAgICAgY29uc3QgaGVhZGVyID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdoZWFkZXInKTtcbiAgICAgICAgY29uc3QgZm9vdGVyID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdmb290ZXInKTtcbiAgICAgICAgaWYgKGhlYWRlcikgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShoZWFkZXIsICdkaXNwbGF5Jyk7XG4gICAgICAgIGlmIChmb290ZXIpIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoZm9vdGVyLCAnZGlzcGxheScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U3RhdGVJblNlc3Npb24obWVuc2FqZTogc3RyaW5nLCBzdGF0ZTogTXBTdGF0ZSkge1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZW5zYWplO1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcbiAgICAgICAgdHJ5IHsgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnc3RhdGUnLCBzdGF0ZSk7IH0gY2F0Y2ggeyB9XG4gICAgICAgIHRyeSB7IGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdzdGF0ZScsIHN0YXRlKTsgfSBjYXRjaCB7IH1cbiAgICAgICAgdHJ5IHsgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnbW9kYWxuZXdzJywgJ2ZhbHNlJyk7IH0gY2F0Y2ggeyB9XG4gICAgfVxuXG5cbn1cbiIsIjxkaXYgaWQ9XCJjb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgYWxpZ24tc2VsZi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxoNCBjbGFzcz1cInRpdHBhZ2UgY2VudGVyLWJsb2NrIHRleHQtY2VudGVyIGZvbnQtbmV4YSBmb250LWxnIG15LTNcIj57eyBtZXNzYWdlIHwgdXBwZXJjYXNlIH19PC9oND5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGFsaWduLXNlbGYtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDUgY2xhc3M9XCJjZW50ZXItYmxvY2sgdGV4dC1jZW50ZXIgZm9udC1uZXhhIG15LTNcIj5SZWRpcmlnaWVuZG8gZW4gc2VndW5kb3MuLi48L2g1PlxuICAgICAgICAgICAgPGJyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXNpdGZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxhcHAtbG9hZGluZy1mdWxsLWVjPjwvYXBwLWxvYWRpbmctZnVsbC1lYz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -7,4 +7,4 @@ export const directives = [
|
|
|
7
7
|
];
|
|
8
8
|
export * from './product-stock.directive';
|
|
9
9
|
export * from './product-off.directive';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtZGlyZWN0aXZlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQUVqQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQVU7SUFDN0IsbUJBQW1CO0lBQ25CLHFCQUFxQjtDQUN4QixDQUFDO0FBRUYsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy9EaXJlY3RpdmVzIGJhc2VcblxuaW1wb3J0IHsgUHJvZHVjdFN0b2NrRGlyZWN0aXZlIH0gZnJvbSAnLi9wcm9kdWN0LXN0b2NrLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQcm9kdWN0T2ZmRGlyZWN0aXZlIH0gZnJvbSAnLi9wcm9kdWN0LW9mZi5kaXJlY3RpdmUnO1xuZXhwb3J0IGNvbnN0IGRpcmVjdGl2ZXM6IGFueVtdID0gW1xuICAgIFByb2R1Y3RPZmZEaXJlY3RpdmUsXG4gICAgUHJvZHVjdFN0b2NrRGlyZWN0aXZlLFxuXTtcblxuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0LXN0b2NrLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2R1Y3Qtb2ZmLmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -116,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
116
116
|
}], customMessage: [{
|
|
117
117
|
type: Input
|
|
118
118
|
}] } });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1vZmYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWRpcmVjdGl2ZS9wcm9kdWN0LW9mZi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFJVCxLQUFLLEVBR0wsTUFBTSxHQUdULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFM0MsTUFBTSxPQUFPLGFBQWE7Q0FFekI7QUFLRCxNQUFNLE9BQU8sbUJBQW1CO0lBb0JFO0lBQ2xCO0lBQ0E7SUFwQkosT0FBTyxDQUFNO0lBQ2IsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQztJQUU3QyxJQUNJLFlBQVksQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUNJLGVBQWUsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUNJLGFBQWEsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQzhCLFFBQWtCLEVBQ3BDLFVBQXNCLEVBQ3RCLFFBQW1CO1FBRkQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVc7SUFDM0IsQ0FBQztJQUVMLFFBQVEsS0FBSyxDQUFDO0lBQ2QsV0FBVyxHQUFHLENBQUMsT0FBK0QsRUFBNkIsRUFBRTtRQUV6RyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1FB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O1lBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGLFdBQVcsS0FBSyxDQUFDO3dHQXBHUixtQkFBbUIsa0JBb0JoQixRQUFROzRGQXBCWCxtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtpQkFDN0I7OzBCQXFCUSxNQUFNOzJCQUFDLFFBQVE7MEZBYmhCLFlBQVk7c0JBRGYsS0FBSztnQkFLRixlQUFlO3NCQURsQixLQUFLO2dCQUtGLGFBQWE7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgRGlyZWN0aXZlLFxyXG4gICAgT25Jbml0LFxyXG4gICAgVmlld0NvbnRhaW5lclJlZixcclxuICAgIE9uRGVzdHJveSxcclxuICAgIElucHV0LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIFJlbmRlcmVyMixcclxuICAgIEluamVjdCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUGFyYW1zQ29udGV4dCB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IFwiW2VjUHJvZHVjdE9mZl1cIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RPZmZEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBwcml2YXRlIHByb2R1Y3Q6IGFueTtcclxuICAgIHByaXZhdGUgY2xhc3NTdHI6IHN0cmluZyA9IFwiXCI7XHJcbiAgICBwcml2YXRlIGN1c3RvbU1lc3NhZ2VTdHIgPSBcIntkaXNjb3VudH0lIE9GRlwiO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgZWNQcm9kdWN0T2ZmKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLnByb2R1Y3QgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgY2xhc3NTdHJTcGFjaW5nKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmNsYXNzU3RyID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGN1c3RvbU1lc3NhZ2UodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTWVzc2FnZVN0ciA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICApIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCkgeyB9XHJcbiAgICBoYXNEaXNjb3VudCA9IChwcm9kdWN0OiB7IHByaWNlOiBzdHJpbmcgfCBudW1iZXI7IHNhbGVwcmljZTogc3RyaW5nIHwgbnVtYmVyIH0pOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0+IHtcclxuXHJcbiAgICAgICAgaWYgKCFwcm9kdWN0LnNhbGVwcmljZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHR5cGVvZiBwcm9kdWN0LnByaWNlID09PSAnc3RyaW5nJyAmJiBwcm9kdWN0LnByaWNlLmluY2x1ZGVzKFwiLVwiKSAmJiBcclxuICAgICAgICAgICAgdHlwZW9mIHByb2R1Y3Quc2FsZXByaWNlID09PSAnc3RyaW5nJyAmJiBwcm9kdWN0LnNhbGVwcmljZS5pbmNsdWRlcyhcIi1cIikpIHtcclxuICAgICAgICAgICAgbGV0IHByaWNlczogc3RyaW5nW10gPSBwcm9kdWN0LnByaWNlLnNwbGl0KCctJyk7XHJcbiAgICAgICAgICAgIGxldCBzYWxlcHJpY2VzOiBzdHJpbmdbXSA9IHByb2R1Y3Quc2FsZXByaWNlLnNwbGl0KCctJyk7XHJcbiAgICAgICAgICAgIGxldCBzYWxlQmY6IG51bWJlciB8IG51bGwgPSB0aGlzLmdlbmVyYXRlRGlzY291bnQocHJpY2VzWzFdPy50cmltKCksIHNhbGVwcmljZXNbMV0/LnRyaW0oKSk7XHJcbiAgICAgICAgICAgIGxldCBzYWxlTHQ6IG51bWJlciB8IG51bGwgPSB0aGlzLmdlbmVyYXRlRGlzY291bnQocHJpY2VzWzBdPy50cmltKCksIHNhbGVwcmljZXNbMF0/LnRyaW0oKSk7XHJcbiAgICAgICAgICAgIGlmICghc2FsZUJmICYmICFzYWxlTHQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChzYWxlQmYgJiYgc2FsZUx0ICYmIHNhbGVCZiA9PT0gc2FsZUx0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7c2FsZUJmfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHNhbGVCZiAmJiAhc2FsZUx0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7c2FsZUJmfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFzYWxlQmYgJiYgc2FsZUx0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7c2FsZUx0fWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGAke3NhbGVCZn0gLSAke3NhbGVMdH1gO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChwYXJzZUludChwcm9kdWN0LnByaWNlIGFzIHN0cmluZykgPiBwYXJzZUludChwcm9kdWN0LnNhbGVwcmljZSBhcyBzdHJpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZURpc2NvdW50KHByb2R1Y3QucHJpY2UsIHByb2R1Y3Quc2FsZXByaWNlKT8udG9TdHJpbmcoKSB8fCBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsOyAvLyBFbnN1cmUgYSByZXR1cm4gdmFsdWUgaW4gYWxsIGNvZGUgcGF0aHNcclxuICAgIH07XHJcblxyXG5cclxuICAgIGdlbmVyYXRlRGlzY291bnQgPSAocHJpY2U6IHN0cmluZyB8IG51bWJlciwgc2FsZXByaWNlOiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIgfCBudWxsID0+IHtcclxuICAgICAgICBcclxuICAgICAgICBpZiAocGFyc2VGbG9hdChwcmljZSBhcyBzdHJpbmcpID4gcGFyc2VGbG9hdChzYWxlcHJpY2UgYXMgc3RyaW5nKSkge1xyXG4gICAgICAgICAgICBsZXQgcmVzdWx0ID1cclxuICAgICAgICAgICAgICAgICgocGFyc2VGbG9hdChwcmljZSBhcyBzdHJpbmcpIC0gcGFyc2VGbG9hdChzYWxlcHJpY2UgYXMgc3RyaW5nKSkgL1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlRmxvYXQocHJpY2UgYXMgc3RyaW5nKSkgKlxyXG4gICAgICAgICAgICAgICAgMTAwO1xyXG4gICAgICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKHJlc3VsdCkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9IGVsc2UgcmV0dXJuIE1hdGgucm91bmQocmVzdWx0KTsgLy9NYXRoLmZsb29yKHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAodGhpcy5wcm9kdWN0LnByaWNlKSB7XHJcbiAgICAgICAgICAgIGxldCBkaXNjb3VudCA9IHRoaXMuaGFzRGlzY291bnQodGhpcy5wcm9kdWN0KTtcclxuICAgICAgICAgICAgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMgYXMgTm9kZUxpc3RPZjxDaGlsZE5vZGU+KS5mb3JFYWNoKChub2RlOiBDaGlsZE5vZGUpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIG5vZGUpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKGRpc2NvdW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmNyZWF0ZUltYWdlKGRpc2NvdW50KSk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIC8vIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlSW1hZ2UgPSAoZGlzY291bnQ6IHN0cmluZyk6IEhUTUxFbGVtZW50ID0+IHtcclxuICAgICAgICBsZXQgcG9wb3ZlcjogSFRNTEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTWVzc2FnZVN0ciA9IHRoaXMuY3VzdG9tTWVzc2FnZVN0ci5yZXBsYWNlKCd7ZGlzY291bnR9JywgZGlzY291bnQpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkocG9wb3ZlciwgXCJpbm5lckhUTUxcIiwgdGhpcy5jdXN0b21NZXNzYWdlU3RyKTtcclxuICAgICAgICB0aGlzLmNsYXNzU3RyPy5zcGxpdChcIiBcIikuZm9yRWFjaCgoY2w6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhwb3BvdmVyLCBjbCk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7IGNvbnNvbGUubG9nKCdhZGQgY2xhc3MgZGlyZWN0aXZlIC0+ICcsIGVycm9yKTsgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBwb3BvdmVyO1xyXG4gICAgfTtcclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHsgfVxyXG59XHJcbiJdfQ==
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1vZmYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWRpcmVjdGl2ZS9wcm9kdWN0LW9mZi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFJVCxLQUFLLEVBR0wsTUFBTSxHQUdULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFM0MsTUFBTSxPQUFPLGFBQWE7Q0FFekI7QUFLRCxNQUFNLE9BQU8sbUJBQW1CO0lBb0JFO0lBQ2xCO0lBQ0E7SUFwQkosT0FBTyxDQUFNO0lBQ2IsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQztJQUU3QyxJQUNJLFlBQVksQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUNJLGVBQWUsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUNJLGFBQWEsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQzhCLFFBQWtCLEVBQ3BDLFVBQXNCLEVBQ3RCLFFBQW1CO1FBRkQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVc7SUFDM0IsQ0FBQztJQUVMLFFBQVEsS0FBSyxDQUFDO0lBQ2QsV0FBVyxHQUFHLENBQUMsT0FBK0QsRUFBNkIsRUFBRTtRQUV6RyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1FB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O1lBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGLFdBQVcsS0FBSyxDQUFDO3dHQXBHUixtQkFBbUIsa0JBb0JoQixRQUFROzRGQXBCWCxtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtpQkFDN0I7OzBCQXFCUSxNQUFNOzJCQUFDLFFBQVE7MEZBYmhCLFlBQVk7c0JBRGYsS0FBSztnQkFLRixlQUFlO3NCQURsQixLQUFLO2dCQUtGLGFBQWE7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBPbkRlc3Ryb3ksXG4gICAgSW5wdXQsXG4gICAgRWxlbWVudFJlZixcbiAgICBSZW5kZXJlcjIsXG4gICAgSW5qZWN0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbmV4cG9ydCBjbGFzcyBQYXJhbXNDb250ZXh0IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltlY1Byb2R1Y3RPZmZdXCIsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RPZmZEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIHByaXZhdGUgcHJvZHVjdDogYW55O1xuICAgIHByaXZhdGUgY2xhc3NTdHI6IHN0cmluZyA9IFwiXCI7XG4gICAgcHJpdmF0ZSBjdXN0b21NZXNzYWdlU3RyID0gXCJ7ZGlzY291bnR9JSBPRkZcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGVjUHJvZHVjdE9mZih2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMucHJvZHVjdCA9IHZhbHVlO1xuICAgIH1cbiAgICBASW5wdXQoKVxuICAgIHNldCBjbGFzc1N0clNwYWNpbmcodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLmNsYXNzU3RyID0gdmFsdWU7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGN1c3RvbU1lc3NhZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmN1c3RvbU1lc3NhZ2VTdHIgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpIHsgfVxuICAgIGhhc0Rpc2NvdW50ID0gKHByb2R1Y3Q6IHsgcHJpY2U6IHN0cmluZyB8IG51bWJlcjsgc2FsZXByaWNlOiBzdHJpbmcgfCBudW1iZXIgfSk6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgPT4ge1xuXG4gICAgICAgIGlmICghcHJvZHVjdC5zYWxlcHJpY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgcHJvZHVjdC5wcmljZSA9PT0gJ3N0cmluZycgJiYgcHJvZHVjdC5wcmljZS5pbmNsdWRlcyhcIi1cIikgJiYgXG4gICAgICAgICAgICB0eXBlb2YgcHJvZHVjdC5zYWxlcHJpY2UgPT09ICdzdHJpbmcnICYmIHByb2R1Y3Quc2FsZXByaWNlLmluY2x1ZGVzKFwiLVwiKSkge1xuICAgICAgICAgICAgbGV0IHByaWNlczogc3RyaW5nW10gPSBwcm9kdWN0LnByaWNlLnNwbGl0KCctJyk7XG4gICAgICAgICAgICBsZXQgc2FsZXByaWNlczogc3RyaW5nW10gPSBwcm9kdWN0LnNhbGVwcmljZS5zcGxpdCgnLScpO1xuICAgICAgICAgICAgbGV0IHNhbGVCZjogbnVtYmVyIHwgbnVsbCA9IHRoaXMuZ2VuZXJhdGVEaXNjb3VudChwcmljZXNbMV0/LnRyaW0oKSwgc2FsZXByaWNlc1sxXT8udHJpbSgpKTtcbiAgICAgICAgICAgIGxldCBzYWxlTHQ6IG51bWJlciB8IG51bGwgPSB0aGlzLmdlbmVyYXRlRGlzY291bnQocHJpY2VzWzBdPy50cmltKCksIHNhbGVwcmljZXNbMF0/LnRyaW0oKSk7XG4gICAgICAgICAgICBpZiAoIXNhbGVCZiAmJiAhc2FsZUx0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2FsZUJmICYmIHNhbGVMdCAmJiBzYWxlQmYgPT09IHNhbGVMdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBgJHtzYWxlQmZ9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzYWxlQmYgJiYgIXNhbGVMdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBgJHtzYWxlQmZ9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghc2FsZUJmICYmIHNhbGVMdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBgJHtzYWxlTHR9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBgJHtzYWxlQmZ9IC0gJHtzYWxlTHR9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChwYXJzZUludChwcm9kdWN0LnByaWNlIGFzIHN0cmluZykgPiBwYXJzZUludChwcm9kdWN0LnNhbGVwcmljZSBhcyBzdHJpbmcpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVEaXNjb3VudChwcm9kdWN0LnByaWNlLCBwcm9kdWN0LnNhbGVwcmljZSk/LnRvU3RyaW5nKCkgfHwgbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDsgLy8gRW5zdXJlIGEgcmV0dXJuIHZhbHVlIGluIGFsbCBjb2RlIHBhdGhzXG4gICAgfTtcblxuXG4gICAgZ2VuZXJhdGVEaXNjb3VudCA9IChwcmljZTogc3RyaW5nIHwgbnVtYmVyLCBzYWxlcHJpY2U6IHN0cmluZyB8IG51bWJlcik6IG51bWJlciB8IG51bGwgPT4ge1xuICAgICAgICBcbiAgICAgICAgaWYgKHBhcnNlRmxvYXQocHJpY2UgYXMgc3RyaW5nKSA+IHBhcnNlRmxvYXQoc2FsZXByaWNlIGFzIHN0cmluZykpIHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPVxuICAgICAgICAgICAgICAgICgocGFyc2VGbG9hdChwcmljZSBhcyBzdHJpbmcpIC0gcGFyc2VGbG9hdChzYWxlcHJpY2UgYXMgc3RyaW5nKSkgL1xuICAgICAgICAgICAgICAgICAgICBwYXJzZUZsb2F0KHByaWNlIGFzIHN0cmluZykpICpcbiAgICAgICAgICAgICAgICAxMDA7XG4gICAgICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKHJlc3VsdCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSByZXR1cm4gTWF0aC5yb3VuZChyZXN1bHQpOyAvL01hdGguZmxvb3IocmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmICh0aGlzLnByb2R1Y3QucHJpY2UpIHtcbiAgICAgICAgICAgIGxldCBkaXNjb3VudCA9IHRoaXMuaGFzRGlzY291bnQodGhpcy5wcm9kdWN0KTtcbiAgICAgICAgICAgICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzIGFzIE5vZGVMaXN0T2Y8Q2hpbGROb2RlPikuZm9yRWFjaCgobm9kZTogQ2hpbGROb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgbm9kZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChkaXNjb3VudCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuY3JlYXRlSW1hZ2UoZGlzY291bnQpKTtcbiAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAvLyBlbHNlIHtcbiAgICAgICAgICAgIC8vICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZUltYWdlID0gKGRpc2NvdW50OiBzdHJpbmcpOiBIVE1MRWxlbWVudCA9PiB7XG4gICAgICAgIGxldCBwb3BvdmVyOiBIVE1MRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudChcImFcIik7XG4gICAgICAgIHRoaXMuY3VzdG9tTWVzc2FnZVN0ciA9IHRoaXMuY3VzdG9tTWVzc2FnZVN0ci5yZXBsYWNlKCd7ZGlzY291bnR9JywgZGlzY291bnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHBvcG92ZXIsIFwiaW5uZXJIVE1MXCIsIHRoaXMuY3VzdG9tTWVzc2FnZVN0cik7XG4gICAgICAgIHRoaXMuY2xhc3NTdHI/LnNwbGl0KFwiIFwiKS5mb3JFYWNoKChjbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MocG9wb3ZlciwgY2wpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsgY29uc29sZS5sb2coJ2FkZCBjbGFzcyBkaXJlY3RpdmUgLT4gJywgZXJyb3IpOyB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcG9wb3ZlcjtcbiAgICB9O1xuXG4gICAgbmdPbkRlc3Ryb3koKSB7IH1cbn1cbiJdfQ==
|
|
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
69
69
|
}], ecProductStock: [{
|
|
70
70
|
type: Input
|
|
71
71
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zdG9jay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtZGlyZWN0aXZlL3Byb2R1Y3Qtc3RvY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUF5RixNQUFNLGVBQWUsQ0FBQzs7QUFPcEosTUFBTSxPQUFPLHFCQUFxQjtJQXVCbEI7SUFDQTtJQXRCSixnQkFBZ0IsR0FBbUIsSUFBSSxDQUFDO0lBR2hELGtCQUFrQixDQUFvQjtJQUV0QyxJQUNJLGNBQWMsQ0FBQyxPQUFnQjtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFBO1FBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ25FLENBQUM7aUJBQUksQ0FBQztnQkFDRixPQUFPLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUNZLFdBQTZCLEVBQzdCLGFBQStCO1FBRC9CLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7SUFDM0MsQ0FBQztJQUVELFFBQVEsS0FBSyxDQUFDO0lBRWQsV0FBVyxLQUFLLENBQUM7SUFFakIsV0FBVyxLQUFLLENBQUM7SUFFakIsYUFBYSxHQUFHLEdBQVksRUFBRTtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7WUFDM0gsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ1QsT0FBTyxLQUFLLENBQUMsQ0FBQywrQkFBK0I7UUFDakQsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3RDLENBQUM7SUFDTCxDQUFDLENBQUE7SUFFRCxtQkFBbUIsR0FBRyxHQUFZLEVBQUU7UUFDaEMsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXRCLHFCQUFxQjtRQUNyQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDdEQsSUFBSSxZQUFZLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRSxDQUFDO29CQUN2QyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUNyQixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdEMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUNWLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVO2dCQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUNuRSxLQUFLLFNBQVM7Z0JBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQzdFLENBQUM7UUFDTixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQyxDQUFBO3dHQXBFUSxxQkFBcUI7NEZBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO2lCQUMvQjsrR0FNRyxrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSUYsY0FBYztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgUmVuZGVyZXIyLCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcHJvZHVjdCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltlY1Byb2R1Y3RTdG9ja11cIlxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0U3RvY2tEaXJlY3RpdmUge1xuXG4gICAgcHJpdmF0ZSBwcm9kdWN0RGlyZWN0aXZlOiBQcm9kdWN0IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIGVjUHJvZHVjdFN0b2NrRWxzZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBlY1Byb2R1Y3RTdG9jayhwcm9kdWN0OiBQcm9kdWN0KSB7XG4gICAgICAgIHRoaXMucHJvZHVjdERpcmVjdGl2ZSA9IHByb2R1Y3RcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgICAgIGlmICh0aGlzLnZhbGlkYXRlU3RvY2soKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZWNQcm9kdWN0U3RvY2tFbHNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmVjUHJvZHVjdFN0b2NrRWxzZSk7XG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdmYWx0YSBkZWZpbmlyIGVsIHRlbXBsYXRlIGRlIGFnb3RhZG8nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLCApIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHsgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7IH1cblxuICAgIG5nT25DaGFuZ2VzKCkgeyB9XG5cbiAgICB2YWxpZGF0ZVN0b2NrID0gKCk6IGJvb2xlYW4gPT4ge1xuICAgICAgICBpZiAoIXRoaXMucHJvZHVjdERpcmVjdGl2ZSB8fCB0aGlzLnByb2R1Y3REaXJlY3RpdmUuc3BlY2lhbF9tYXJrID09IHVuZGVmaW5lZCB8fCB0aGlzLnByb2R1Y3REaXJlY3RpdmUudmFyaWFudHMgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRlU3RvY2soKTtcbiAgICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBFbnN1cmUgYSBib29sZWFuIGlzIHJldHVybmVkXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja1ZhbHVlc0ZvclN0b2NrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja1ZhbHVlc0ZvclN0b2NrID0gKCk6IGJvb2xlYW4gPT4ge1xuICAgICAgICBsZXQgZXhpc3RNYXJrID0gZmFsc2U7XG5cbiAgICAgICAgLy8gQ2hlY2sgc3BlY2lhbF9tYXJrXG4gICAgICAgIGlmICh0aGlzLnByb2R1Y3REaXJlY3RpdmU/LnNwZWNpYWxfbWFyaykge1xuICAgICAgICAgICAgdGhpcy5wcm9kdWN0RGlyZWN0aXZlLnNwZWNpYWxfbWFyay5mb3JFYWNoKHNwZWNpYWxfbWFyayA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHNwZWNpYWxfbWFyay50eXBlID09PSAnb3V0X29mX3N0b2NrJykge1xuICAgICAgICAgICAgICAgICAgICBleGlzdE1hcmsgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2sgdmFyaWFudHNcbiAgICAgICAgaWYgKCFleGlzdE1hcmsgJiYgdGhpcy5wcm9kdWN0RGlyZWN0aXZlKSB7XG4gICAgICAgICAgICBleGlzdE1hcmsgPSAhIShcbiAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3REaXJlY3RpdmUudmFyaWFudF9pZFxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMucHJvZHVjdERpcmVjdGl2ZS52YXJpYW50cz8uZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAgIHYgPT4gdi5jb2RlID09PSB0aGlzLnByb2R1Y3REaXJlY3RpdmU/LnZhcmlhbnRfaWQgJiYgdi5zdG9jayA+IDBcbiAgICAgICAgICAgICAgICAgICAgKSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5wcm9kdWN0RGlyZWN0aXZlLnZhcmlhbnRzPy5maW5kKHYgPT4gdi5zdG9jayA+IDApID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZXhpc3RNYXJrO1xuICAgIH1cbn0iXX0=
|
|
@@ -15,4 +15,4 @@ export const authGuard = (route, state) => {
|
|
|
15
15
|
router.navigateByUrl(redirectTo);
|
|
16
16
|
return authService.isAuthenticated();
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1ndWFyZHMvYXV0aC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBeUMsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFrQixDQUFDLEtBQTRCLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDL0UsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3ZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsQ0FBQTtJQUVsRCxJQUFHLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRTtRQUNoQyxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBRWpDLE9BQU8sV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO0FBQ3RDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGVGbiwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vZWMtc2VydmljZXMnO1xuLyoqXG4gKiBHdWFyZGEgcXVlIGNvbnRyb2xhIHF1ZSBlbCB1c3VhcmlvIGVzdGUgbG9ndWVhZG8gYSBuby5cbiAqIEBwYXJhbSByb3V0ZSBcbiAqIEBwYXJhbSBzdGF0ZSBcbiAqIEByZXR1cm5zIFxuICovXG5leHBvcnQgY29uc3QgYXV0aEd1YXJkOiBDYW5BY3RpdmF0ZUZuID0gKHJvdXRlOkFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlKSA9PiB7XG5cdGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKVxuXHRjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblx0Y29uc3QgcmVkaXJlY3RUbyA9IHJvdXRlLmRhdGFbXCJyZWRpcmVjdFRvXCJdIHx8ICcvJ1xuXG5cdGlmKCFhdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKSlcblx0XHRyb3V0ZXIubmF2aWdhdGVCeVVybChyZWRpcmVjdFRvKVxuXG5cdHJldHVybiBhdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKTtcbn07XG4iXX0=
|
|
@@ -101,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
101
101
|
}], ctorParameters: () => [], propDecorators: { ecAddActionRedirect: [{
|
|
102
102
|
type: Input
|
|
103
103
|
}] } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWMtY3VycmVuY3ktc3ltYm9sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtcGlwZS9lYy1jdXJyZW5jeS1zeW1ib2wucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBQ3BEOzs7R0FHRztBQUtILE1BQU0sT0FBTyxvQkFBb0I7SUFDaEM7O09BRUc7SUFDSyxRQUFRLENBQU07SUFDdEI7O09BRUc7SUFDSyxlQUFlLEdBQW9CLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUNsRTs7T0FFRztJQUNLLE1BQU0sR0FBeUIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFFbkUsTUFBTSxDQUFLO0lBQ1IsSUFDSSxtQkFBbUIsQ0FBQyxLQUFVO1FBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFDSjtRQUNDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUE7SUFDckUsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsS0FBVTtRQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RixJQUFJLGNBQWMsR0FBRyxFQUFFLENBQUE7UUFDdkIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNYLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQzFGLGNBQWMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQ2pGLENBQUM7UUFDRCxPQUFPLGNBQWMsQ0FBQztJQUN2QixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILHFCQUFxQixDQUFDLEtBQVU7UUFDL0IsSUFBSSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsRixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ25ELE9BQU8sS0FBSyxDQUFBO1FBQ2IsQ0FBQztJQUNGLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLEtBQVUsSUFBSSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUN6RDs7OztPQUlHO0lBQ0gsY0FBYyxDQUFDLEtBQVU7UUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLE1BQU07WUFDN0YsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzVDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBRTlDLENBQUM7SUFDRDs7Ozs7T0FLRztJQUNILHVCQUF1QixDQUFDLEtBQWE7UUFDcEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQyxJQUFJLEdBQUcsR0FBRyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2IsNkVBQTZFO1FBQzlFLENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxHQUFHLEdBQUcsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUE7WUFDM0UsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE9BQU8sS0FBSyxDQUFBO1FBQ2IsQ0FBQztJQUNGLENBQUM7d0dBbkZXLG9CQUFvQjtzR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUpoQyxJQUFJO21CQUFDO29CQUNMLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNoQjt3REFpQk8sbUJBQW1CO3NCQUR0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgQ29yZUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuLyoqXG4gKiBGb3JtYXRlYSBlbCBwcmVjaW8gZGUgdW4gcHJvZHVjdG8uXG4gKiBAaW1wbGVtZW50cyB7UGlwZVRyYW5zZm9ybX1cbiAqL1xuQFBpcGUoe1xuXHRuYW1lOiAnZWNDdXJyZW5jeVN5bWJvbCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVjQ3VycmVuY3lTeW1ib2xQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cdC8qKlxuXHQgKiBDb250aWVuZSBlbCB2YWxvciBkZSBsYSBtb25lZGEgYWN0dWFsXG5cdCAqL1xuXHRwcml2YXRlIGN1cnJlbmN5OiBhbnk7XG5cdC8qKlxuXHQgKiBTZXJ2aWNpbyBkZSBDdXJyZW5jeSAocGFyYSBtYW5lamFyIGxhIG1vbmVkYSlcblx0ICovXG5cdHByaXZhdGUgY3VycmVuY3lTZXJ2aWNlOiBDdXJyZW5jeVNlcnZpY2UgPSBpbmplY3QoQ3VycmVuY3lTZXJ2aWNlKVxuXHQvKipcblx0ICogQ29uc3RhbnRlcyBkZWwgY29yZVxuXHQgKi9cblx0cHJpdmF0ZSBjb25zdHM6IENvcmVDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KENvcmVDb25zdGFudHNTZXJ2aWNlKVxuXG5cdGJhbm5lcjphbnk7XG4gICAgQElucHV0KClcbiAgICBzZXQgZWNBZGRBY3Rpb25SZWRpcmVjdCh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuYmFubmVyID0gdmFsdWU7XG4gICAgfVxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLmN1cnJlbmN5U2VydmljZS5jdXJyZW5jeSQuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLmN1cnJlbmN5ID0gcmVzKVxuXHR9XG5cdC8qKlxuXHQgKiBUcmFuc2Zvcm1hIGVsIHZhbG9yIHBhc2FkbyB5IGRldnVlbHZlIHVuIHN0cmluZyBjb24gbG9zIGZvcm1hdG9zIGFwbGljYWRvc1xuXHQgKiBAcGFyYW0gdmFsdWUgUHJlY2lvIGRlbCBwcm9kdWN0b1xuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdHRyYW5zZm9ybSh2YWx1ZTogYW55KTogc3RyaW5nIHtcblx0XHRjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2RlLURFJywgeyBzdHlsZTogJ2N1cnJlbmN5JywgY3VycmVuY3k6ICdVU0QnIH0pO1xuXHRcdGxldCB2YWx1ZVRyYW5zZm9ybSA9ICcnXG5cdFx0aWYgKHZhbHVlKSB7XG5cdFx0XHR2YWx1ZSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmNhbGN1bGF0ZUNvbnZldGliaWxpdHkodmFsdWUsIHRoaXMuY3VycmVuY3kucmF0aW8pLnRvU3RyaW5nKClcblx0XHRcdHZhbHVlVHJhbnNmb3JtID0gdGhpcy5jaGFuZ2VTeW1ib2xUcmFuc2Zvcm0oZm9ybWF0dGVyLmZvcm1hdCh2YWx1ZSk/LnRvU3RyaW5nKCkpXG5cdFx0fVxuXHRcdHJldHVybiB2YWx1ZVRyYW5zZm9ybTtcblx0fVxuXHQvKipcblx0ICogR2VuZXJhIGVsIHByZWNpbyBmb3JtYXRlYWRvIGNvbiBlbCBzaW1ib2xvIHkgbG8gcXVlIGxhcyBjb25maWd1cmFjaW9uZXMgcmVxdWllcmFuLlxuXHQgKiBAcGFyYW0gdmFsb3IgXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0Y2hhbmdlU3ltYm9sVHJhbnNmb3JtKHZhbG9yOiBhbnkpIHtcblx0XHR0cnkge1xuXHRcdFx0cmV0dXJuIHRoaXMucG9zaXRpb25TeW1ib2wodGhpcy5jaGVja2luZ1dpdGhvdXREZWNpbWFscyh0aGlzLmNsZWFyU3ltYm9sKHZhbG9yKSkpXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdGNvbnNvbGUuZXJyb3IoJ0Vycm9yZXMgZW4gY3VzdG9tIHBpcGUgLT4gJywgZXJyb3IpO1xuXHRcdFx0cmV0dXJuIHZhbG9yXG5cdFx0fVxuXHR9XG5cdC8qKlxuXHQgKiBMaW1waWEgZWwgc2ltYm9sbyBkZSBwZXNvIHBhcmEgb2J0ZW5lciBzb2xvIGVsIG7Dum1lcm8uXG5cdCAqIEBwYXJhbSB2YWx1ZSBcblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRjbGVhclN5bWJvbCh2YWx1ZTogYW55KSB7IHJldHVybiB2YWx1ZS5yZXBsYWNlKCckJywgJycpIH1cblx0LyoqXG5cdCAqIEFwbGljYSBlbCBzaW1ib2xvIGRlIGxhIG1vbmVkYSwgc2VndW4gbGEgY29uZmlndXJhY2nDs24sIGRlbCBsYWRvIGRlcmVjaG8gbyBkZWwgbGFkbyBpenF1aWVyZG8uXG5cdCAqIEBwYXJhbSB2YWx1ZSBcblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRwb3NpdGlvblN5bWJvbCh2YWx1ZTogYW55KSB7XG5cdFx0cmV0dXJuIHRoaXMuY29uc3RzLmN1cnJlbmN5LnBvc2l0aW9uICYmIHRoaXMuY29uc3RzPy5jdXJyZW5jeS5wb3NpdGlvbi50b1VwcGVyQ2FzZSgpID09ICdMRUZUJ1xuXHRcdFx0PyBgJHt0aGlzLmN1cnJlbmN5LnN5bWJvbH0gJHt2YWx1ZT8udHJpbSgpfWBcblx0XHRcdDogYCR7dmFsdWU/LnRyaW0oKX0gJHt0aGlzLmN1cnJlbmN5LnN5bWJvbH1gXG5cblx0fVxuXHQvKipcblx0ICogU2kgZWwgcGFyYW1ldHJvIGB3aXRob3V0RGVjaW1hbGAgZGUgY3VycmVuY3kgZXMgYHRydWVgIGxlIHNhY2EgbG9zIGRlY2ltYWxlcywgXG5cdCAqIGRlIGxvIGNvbnRyYXJpbyBzZSBsb3MgYWdyZWdhIGZvcm1hdGVhZG9zLlxuXHQgKiBAcGFyYW0gdmFsdWUgXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0Y2hlY2tpbmdXaXRob3V0RGVjaW1hbHModmFsdWU6IHN0cmluZykge1xuXHRcdGlmICh0aGlzLmNvbnN0cz8uY3VycmVuY3kud2l0aG91dERlY2ltYWwpIHtcblx0XHRcdGxldCB2YWwgPSB2YWx1ZT8uc3BsaXQoJywnKTtcblx0XHRcdHJldHVybiB2YWxbMF1cblx0XHRcdC8vPy50cmltKCkgPT0gXCIwMFwiICYmIHZhbHVlLnRyaW0oKS5zbGljZSgwLCB2YWx1ZS50cmltKCkubGVuZ3RoIC0gMykgfHwgdmFsdWVcblx0XHR9IGVsc2Uge1xuXHRcdFx0bGV0IHZhbCA9IHZhbHVlPy5zcGxpdCgnLCcpO1xuXHRcdFx0KHZhbFsxXSAmJiB2YWxbMV0ubGVuZ3RoID4gMikgPyB2YWxbMV0gPSB2YWxbMV0uc2xpY2UoMCwgMikgOiB2YWxbMV0gPSBcIjAwXCJcblx0XHRcdHZhbHVlID0gdmFsWzBdICsgJywnICsgdmFsWzFdO1xuXHRcdFx0cmV0dXJuIHZhbHVlXG5cdFx0fVxuXHR9XG5cblx0XG5cbn1cbiJdfQ==
|