ng-easycommerce-v18 0.3.22-beta.2 → 0.3.23-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +107 -101
- package/assets/decidirFormEc.html +514 -514
- package/assets/ec-i18n/ct.json +282 -282
- package/assets/ec-i18n/en.json +0 -0
- package/assets/ec-i18n/es.json +433 -433
- package/assets/ec-i18n/fr.json +0 -0
- package/assets/ec-i18n/gl.json +282 -282
- package/assets/ec-i18n/pr.json +282 -282
- 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 +74 -4
- package/esm2022/lib/classes/filters/category-filter.mjs +105 -26
- package/esm2022/lib/classes/filters/dynamics-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/filter-factory.mjs +7 -3
- 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 +3 -3
- 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 +12 -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 +11 -4
- 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 +3 -3
- 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 +43 -19
- 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 +44 -11
- 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 +14 -8
- 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 +15 -4
- 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 +3 -3
- 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 +124 -18
- 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 +70 -22
- 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 +5 -3
- 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 +632 -233
- package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
- package/lib/classes/filters/attributes-filter.d.ts +24 -0
- package/lib/classes/filters/category-filter.d.ts +30 -3
- package/lib/constants/core.constants.service.d.ts +7 -0
- package/lib/ec-components/collection-ec/collection-ec.component.d.ts +5 -4
- package/lib/ec-components/filters-ec/filters-ec.component.d.ts +13 -0
- package/lib/ec-components/price-range-filter/price-range-filter.component.d.ts +2 -0
- package/lib/ec-services/filters.service.d.ts +18 -1
- package/lib/ec-services/pagination.service.d.ts +21 -5
- package/lib/ec-services/products.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
80
80
|
providedIn: 'root'
|
|
81
81
|
}]
|
|
82
82
|
}], ctorParameters: () => [] });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL2NoYW5uZWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQWMsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFDbkU7OztHQUdHO0FBSUgsTUFBTSxPQUFPLGNBQWM7SUFDMUI7O09BRUc7SUFDSyxTQUFTLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3JFOztPQUVHO0lBQ0ssTUFBTSxHQUF5QixNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUNuRTs7T0FFRztJQUNLLFVBQVUsR0FBc0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDakU7O09BRUc7SUFDSyxjQUFjLEdBQUcsSUFBSSxhQUFhLEVBQU8sQ0FBQTtJQUNqRDs7T0FFRztJQUNJLFFBQVEsR0FBb0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUNyRTs7T0FFRztJQUNJLGFBQWEsQ0FBTTtJQUMxQjs7T0FFRztJQUNJLFdBQVcsQ0FBTTtJQUV4QixTQUFTO0lBQ1Q7OztPQUdHO0lBQ0ssVUFBVSxLQUFLLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQztJQUVsRyxnQkFBZ0IsQ0FBQztJQUNqQjs7O09BR0c7SUFDSSxVQUFVLEdBQUcsR0FBb0IsRUFBRTtRQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFDZCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNqQyxPQUFPLFFBQVEsQ0FBQTtRQUNoQixDQUFDLENBQUMsQ0FDRixDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3RCLENBQUMsQ0FBQTtJQUNEOzs7T0FHRztJQUNJLGNBQWMsQ0FBQyxVQUFlO1FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUE7UUFDL0IsZ0lBQWdJO0lBQ2pJLENBQUM7SUFDRDs7O09BR0c7SUFDSSxnQkFBZ0IsS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO3dHQXBFNUMsY0FBYzs0R0FBZCxjQUFjLGNBRmQsTUFBTTs7NEZBRU4sY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXBpQ29uc3RhbnRzU2VydmljZSwgQ29yZUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcclxuLyoqXHJcbiAqIFNlcnZpY2lvIHBhcmEgbWFuZWphciBsb3MgY2FuYWxlcyBkZSBsYSBhcGxpY2FjacOzblxyXG4gKiBAY2xhc3MgQ2hhbm5lbFNlcnZpY2VcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENoYW5uZWxTZXJ2aWNlIHtcclxuXHQvKipcclxuXHQgKiBDb25zdGFudGVzIGRlIGxhIEFQSVxyXG5cdCAqL1xyXG5cdHByaXZhdGUgYXBpQ29uc3RzOiBBcGlDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xyXG5cdC8qKlxyXG5cdCAqIENvbnN0YW50ZXMgZGVsIGNvcmVcclxuXHQgKi9cclxuXHRwcml2YXRlIGNvbnN0czogQ29yZUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQ29yZUNvbnN0YW50c1NlcnZpY2UpXHJcblx0LyoqXHJcblx0ICogTWFuZWphIGxhcyBwZXRpY2lvbmVzIGEgbGEgQVBJXHJcblx0ICovXHJcblx0cHJpdmF0ZSBjb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSlcclxuXHQvKipcclxuXHQgKiBTdWJqZWN0IHBhcmEgbWFuZWphciBsb3MgY2FtYmlvcyBlbiBsb3MgY2FuYWxlcy5cclxuXHQgKi9cclxuXHRwcml2YXRlIGNoYW5uZWxTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8YW55PigpXHJcblx0LyoqXHJcblx0ICogT2JzZXJ2YWJsZSBkZSBjYW5hbGVzLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBjaGFubmVsJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5jaGFubmVsU3ViamVjdC5hc09ic2VydmFibGUoKVxyXG5cdC8qKlxyXG5cdCAqIEFsbWFjZW5hIGVsIGNhbmFsIGFjdGl2byBlbiBsYSBhcGxpY2FjacOzbi5cclxuXHQgKi9cclxuXHRwdWJsaWMgYWN0aXZlQ2hhbm5lbDogYW55O1xyXG5cdC8qKlxyXG5cdCAqIEFsbWFjZW5hIGVsIHRpcG8gZGUgY2FuYWwuXHJcblx0ICovXHJcblx0cHVibGljIGNoYW5uZWxUeXBlOiBhbnk7XHJcblxyXG5cdC8vQVBJIFVSTFxyXG5cdC8qKlxyXG5cdCAqIERldnVlbHZlIGxhIHVybCBwYXJhIG9idGVuZXIgbG9zIGRhdG9zIGRlIHVuIGNhbmFsLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgY2hhbm5lbEFwaSgpIHsgcmV0dXJuIGAke3RoaXMuYXBpQ29uc3RzLlNIT1BfQVBJX1VSTH0ke3RoaXMuYXBpQ29uc3RzLkNIQU5ORUx9L2NoYW5uZWxgOyB9XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblx0LyoqXHJcblx0ICogT2J0aWVuZSBlbCBjYW5hbCBkZSBsYSBBUElcclxuXHQgKiBAcmV0dXJucyBPYnNlcnZhYmxlIGNvbiBlbCBjYW5hbC5cclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0Q2hhbm5lbCA9ICgpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG5cdFx0dGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLmNoYW5uZWxBcGkoKSkucGlwZShcclxuXHRcdFx0c2hhcmVSZXBsYXkoMSksXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuc2V0Q2hhbm5lbEluZm8ocmVzcG9uc2UpO1xyXG5cdFx0XHRcdHRoaXMuY2hhbm5lbFN1YmplY3QubmV4dChyZXNwb25zZSk7XHJcblx0XHRcdFx0dGhpcy5jaGFubmVsVHlwZSA9IHJlc3BvbnNlLnR5cGU7XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlXHJcblx0XHRcdH0pLFxyXG5cdFx0KS5zdWJzY3JpYmUoKVxyXG5cdFx0cmV0dXJuIHRoaXMuY2hhbm5lbCQ7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIENhbWJpYSBsYSBjb25maWd1cmFjacOzbiBkZWwgY2FuYWwgY29uIHVuIGNhbmFsIG51ZXZvLlxyXG5cdCAqIEBwYXJhbSBjaGFubmVsT2JqIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBzZXRDaGFubmVsSW5mbyhjaGFubmVsT2JqOiBhbnkpIHtcclxuXHRcdHRoaXMuYXBpQ29uc3RzLnNldENoYW5uZWwoY2hhbm5lbE9iai5jb2RlKVxyXG5cdFx0dGhpcy5jb25zdHMuc2V0Q3VycmVuY3koY2hhbm5lbE9iai5iYXNlQ3VycmVuY3kpXHJcblx0XHR0aGlzLmFjdGl2ZUNoYW5uZWwgPSBjaGFubmVsT2JqXHJcblx0XHQvL3RoaXMuaW5qZWN0b3IuZ2V0KEFkZHJlc3NpbmdTZXJ2aWNlKS5zZXRUeXBlU2VsZWN0QWRkcmVzcyhjaGFubmVsT2JqLmhlYWRxdWFydGVyU2VsZWN0aW9uT25seSB8fCAnTE9BRF9BRERSRVNTX0FORF9TRUxFQ1RJT04nKVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBlbCBjYW5hbCBhY3Rpdm8gZW4gbGEgYXBsaWNhY2nDs24uXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIGdldEFjdGl2ZUNoYW5uZWwoKSB7IHJldHVybiB0aGlzLmFjdGl2ZUNoYW5uZWw7IH1cclxufVxyXG4iXX0=
|
|
@@ -213,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
213
213
|
providedIn: 'root'
|
|
214
214
|
}]
|
|
215
215
|
}], ctorParameters: () => [] });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9jaGVja291dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQVEsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSy9DLE1BQU0sT0FBTyxlQUFlO0lBRW5CLFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELFdBQVcsR0FBc0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0QsaUJBQWlCLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9ELE9BQU8sR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDM0QsWUFBWSxHQUFn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QUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQztRQUNyRixPQUFPLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDLENBQUE7SUFFRCxXQUFXLEdBQUcsQ0FBQyxTQUFtQixFQUFFLElBQVMsRUFBRSxFQUFFO1FBQ2hELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQztRQUM5RSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCOzs7WUFHSTtJQUNMLENBQUMsQ0FBQTtJQUVELHNEQUFzRDtJQUM5QyxrQkFBa0IsR0FBRyxHQUFHLEVBQUU7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQTt3R0F6TlcsZUFBZTs0R0FBZixlQUFlLGNBRmYsTUFBTTs7NEZBRU4sZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hlY2tvdXREYXRhLCBJU3RlcCwgU3RlcFR5cGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuL2FuYWx5dGljcyc7XG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFN0ZXAsIFVzZXIgfSBmcm9tICcuLi9jbGFzc2VzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3JkZXJVdGlsaXR5U2VydmljZSB9IGZyb20gJy4vb3JkZXItdXRpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuL3RvYXN0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGVja291dFNlcnZpY2Uge1xuXG5cdHByaXZhdGUgX2NhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSk7XG5cdHByaXZhdGUgX2Nvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlID0gaW5qZWN0KENvbm5lY3Rpb25TZXJ2aWNlKTtcblx0cHJpdmF0ZSBfYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSA9IGluamVjdChBbmFseXRpY3NTZXJ2aWNlKTtcblx0cHJpdmF0ZSBfY29uc3RzOiBBcGlDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xuXHRwcml2YXRlIF9hdXRoU2VydmljZTogQXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuXHRwcml2YXRlIF9vcmRlclV0aWxpdHlTZXJ2aWNlOiBPcmRlclV0aWxpdHlTZXJ2aWNlID0gaW5qZWN0KE9yZGVyVXRpbGl0eVNlcnZpY2UpO1xuXHRwcml2YXRlIF9yb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXHRwcml2YXRlIF90b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuXG5cdHByaXZhdGUgX2NhbkNoZWNrb3V0U3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KCk7XG5cdHByaXZhdGUgX3N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RlcFtdPihbXSlcblx0cHJpdmF0ZSBfbGFzdFN0ZXBTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cdHByaXZhdGUgX2xvYWRpbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cdHByaXZhdGUgX29yZGVyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcblx0cHJpdmF0ZSBfYXNzb2NpYXRlZERhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDaGVja291dERhdGFbXSB8IG51bGw+KG51bGwpO1xuXHRwcml2YXRlIF9sb2FkaW5nU3RlcFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuXHRwdWJsaWMgY2FuQ2hlY2tvdXQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fY2FuQ2hlY2tvdXRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXHRwdWJsaWMgc3RhdGUkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLl9zdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cdHB1YmxpYyBpc0xhc3RTdGVwJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2xhc3RTdGVwU3ViamVjdC5hc09ic2VydmFibGUoKTtcblx0cHVibGljIGFzc29jaWF0ZWREYXRhJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5fYXNzb2NpYXRlZERhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXHRwdWJsaWMgb3JkZXIkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLl9vcmRlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cdHB1YmxpYyBsb2FkaW5nU3RlcCQ6T2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2xvYWRpbmdTdGVwU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuXHRwdWJsaWMgdG90YWw6IGFueTtcblx0cHVibGljIGNhcnRMb2NhbDogYW55O1xuXHRwcml2YXRlIGNoZWNrb3V0RGF0YTogYW55ID0ge307XG5cdHByaXZhdGUgb3JkZXI6IGFueTtcblxuXHQvL0FQSSBNZXRob2RzXG5cdGJhc2VBcGkgPSAoKSA9PiAnc2hvcC1hcGkvJyArIHRoaXMuX2NvbnN0cy5DSEFOTkVMICsgJy9jaGVja291dC8nICsgdGhpcy5fY2FydFNlcnZpY2UuZ2V0Q2FydFRva2VuKCk7XG5cdGdldEhhc1B1cmNoYXNlQ29uZGl0aW9ucygpIHsgcmV0dXJuICdzaG9wLWFwaS8nICsgdGhpcy5fY29uc3RzLkNIQU5ORUwgKyAnL2NhcnRzLycgKyB0aGlzLl9jYXJ0U2VydmljZS5nZXRDYXJ0VG9rZW4oKSArICcvaGFzX3B1cmNoYXNlX2NvbmRpdGlvbnMnIH07XG5cdGNvbXBsZXRlQXBpKCkgeyByZXR1cm4gdGhpcy5iYXNlQXBpKCkgKyAnL2NvbXBsZXRlJyB9O1xuXG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29tYmluZUxhdGVzdChbdGhpcy5fY2FydFNlcnZpY2UuY2FydEl0ZW1zJCwgdGhpcy5fY2FydFNlcnZpY2UubG9hZGluZyRdKS5zdWJzY3JpYmUoKFtpdGVtcywgbG9hZGluZ10pID0+IHtcblx0XHRcdGlmICghbG9hZGluZyAmJiBpdGVtcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdHRoaXMuX2NhbkNoZWNrb3V0U3ViamVjdC5uZXh0KHRydWUpO1xuXHRcdFx0XHR0aGlzLl9jYXJ0U2VydmljZS5nZXRUb3RhbEFtb3VudCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcblx0XHRcdFx0XHR0aGlzLnRvdGFsID0gcmVzO1xuXHRcdFx0XHR9KVxuXHRcdFx0fVxuXHRcdH0pXG5cdFx0dGhpcy5fY2FydFNlcnZpY2UuY2FydCQuc3Vic2NyaWJlKGNhcnQgPT4gY2FydCAmJiAodGhpcy5jYXJ0TG9jYWwgPSBjYXJ0KSAmJiB0aGlzLnVwZGF0ZUFzb2NpYXRlZERhdGEoY2FydCkpO1xuXHRcdHRoaXMub3JkZXIkLnN1YnNjcmliZShvcmRlciA9PiBvcmRlciAmJiB0aGlzLnVwZGF0ZUFzb2NpYXRlZERhdGEob3JkZXIpKVxuXHR9XG5cblx0c2V0U3RlcHMoc3RlcHM6IElTdGVwW10pIHtcblx0XHRsZXQgZmluYWxfc3RlcHM6IFN0ZXBbXSA9IFtdO1xuXHRcdHN0ZXBzLmZvckVhY2goKHN0ZXAsIGkpID0+IGZpbmFsX3N0ZXBzLnB1c2gobmV3IFN0ZXAoc3RlcC5uYW1lLCBzdGVwLnByaW9yaXR5IHx8IChpICsgMSksIHN0ZXAubGFiZWwsIHN0ZXAuc3RhdGUpKSk7XG5cdFx0dGhpcy5fc3RhdGVTdWJqZWN0Lm5leHQoZmluYWxfc3RlcHMpO1xuXHRcdGlmIChmaW5hbF9zdGVwcy5sZW5ndGggPT0gMSkge1xuXHRcdFx0dGhpcy5fbGFzdFN0ZXBTdWJqZWN0Lm5leHQodHJ1ZSk7XG5cdFx0fVxuXHRcdC8vIGNvbnNvbGUubG9nKGZpbmFsX3N0ZXBzKTtcblx0XHRmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uLmdldCh0aGlzLmdldEhhc1B1cmNoYXNlQ29uZGl0aW9ucygpKSkudGhlbihcblx0XHRcdHJlcyA9PiB7XG5cdFx0XHRcdHRoaXMuX2FuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCdjaGVja291dF9pbml0JywgeyAuLi50aGlzLmNhcnRMb2NhbCwgY3VycmVuY3k6IHRoaXMuY2FydExvY2FsPy5jdXJyZW5jeSwgdmFsdWU6IHRoaXMuY2FydExvY2FsPy50b3RhbCB9KVxuXHRcdFx0fVxuXHRcdClcblx0fVxuXG5cdG5leHQoKSB7XG5cdFx0dGhpcy5fbG9hZGluZ1N0ZXBTdWJqZWN0Lm5leHQodHJ1ZSk7XG5cdFx0Y29uc3Qgc3RlcHMgPSB0aGlzLl9zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKVxuXHRcdGNvbnN0IHJlYWR5U3RlcCA9IHN0ZXBzLmZpbmRJbmRleChzdGVwID0+IHN0ZXAuc3RhdGUgPT09ICdyZWFkeScpO1xuXHRcdGlmIChzdGVwc1tyZWFkeVN0ZXAgKyAxXSkge1xuXHRcdFx0c3RlcHNbcmVhZHlTdGVwXS5zdGF0ZSA9ICdkb2luZydcblx0XHRcdHN0ZXBzW3JlYWR5U3RlcCArIDFdLnN0YXRlID0gJ3JlYWR5Jztcblx0XHRcdGlmICghc3RlcHNbcmVhZHlTdGVwICsgMl0pIHRoaXMuX2xhc3RTdGVwU3ViamVjdC5uZXh0KHRydWUpO1xuXHRcdFx0dGhpcy5fbG9hZGluZ1N0ZXBTdWJqZWN0Lm5leHQoZmFsc2UpXG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY29tcGxldGUoKS50aGVuKFxuXHRcdFx0XHRyZXMgPT4ge1xuXHRcdFx0XHRcdGlmIChyZXMub2spIHtcblx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2NoZWNrb3V0L29yZGVyX3N1Y2Nlc3MnXSlcblx0XHRcdFx0XHRcdCB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdvcGVyYXRpb24tZXJyb3InKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHR0aGlzLl9sb2FkaW5nU3RlcFN1YmplY3QubmV4dChmYWxzZSlcblx0XHRcdFx0fSxcblx0XHRcdFx0ZXJyID0+IHtcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhlcnIpXG5cdFx0XHRcdFx0dGhpcy5fbG9hZGluZ1N0ZXBTdWJqZWN0Lm5leHQoZmFsc2UpXG5cdFx0XHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ29wZXJhdGlvbi1lcnJvcicpXG5cdFx0XHRcdH1cblx0XHRcdClcblx0XHR9XG5cdH1cblxuXHRiYWNrKCkge1xuXHRcdGNvbnN0IHN0ZXBzID0gdGhpcy5fc3RhdGVTdWJqZWN0LmdldFZhbHVlKClcblx0XHRjb25zdCByZWFkeVN0ZXAgPSBzdGVwcy5maW5kSW5kZXgoc3RlcCA9PiBzdGVwLnN0YXRlID09PSAncmVhZHknKTtcblx0XHR0aGlzLl9sYXN0U3RlcFN1YmplY3QubmV4dChmYWxzZSk7XG5cdFx0aWYgKHN0ZXBzW3JlYWR5U3RlcCAtIDFdKSB7XG5cdFx0XHRzdGVwc1tyZWFkeVN0ZXBdLnN0YXRlID0gJ3BlbmRpbmcnXG5cdFx0XHRzdGVwc1tyZWFkeVN0ZXAgLSAxXS5zdGF0ZSA9ICdyZWFkeSc7XG5cdFx0fVxuXHR9XG5cblx0c2V0T3JkZXIgPSAob3JkZXI6IGFueSkgPT4geyB0aGlzLm9yZGVyID0gb3JkZXIsIHRoaXMuX29yZGVyU3ViamVjdC5uZXh0KG9yZGVyKSB9O1xuXHQvL2dldE9yZGVyID0gKCkgPT4gdGhpcy5vcmRlciB8fCB0aGlzLm9yZGVyU3ViamVjdC52YWx1ZTtcblxuXHRwcml2YXRlIGNvbXBsZXRlT3JkZXIgPSAoKSA9PiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uLnB1dCh0aGlzLmNvbXBsZXRlQXBpKCksIHsgZW1haWw6IHRoaXMuY2hlY2tvdXREYXRhLmVtYWlsLCBub3RlczogdGhpcy5jaGVja291dERhdGEubm90ZXMgfHwgJycgfSkpO1xuXG5cdGNvbXBsZXRlID0gYXN5bmMgKCkgPT4ge1xuXHRcdHRyeSB7XG5cdFx0XHR0aGlzLl9sb2FkaW5nU3ViamVjdC5uZXh0KHRydWUpO1xuXHRcdFx0bGV0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29tcGxldGVPcmRlcigpO1xuXHRcdFx0XG5cdFx0XHRpZiAocmVzdWx0ICYmIHJlc3VsdC5lcnJvcikge1xuXHRcdFx0XHR0aGlzLl9jYXJ0U2VydmljZS5jaGFuZ2VIYXZlVG9VcGRhdGUoZmFsc2UpO1xuXHRcdFx0XHR0aGlzLl9sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcblx0XHRcdFx0cmV0dXJuICh7IG9rOiBmYWxzZSwgcmVxdWlyZV9sb2dpbjogdHJ1ZSwgbWVzc2FnZTogJ25vdC1jb21wbGV0ZWQnIH0pO1xuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLnNldE9yZGVyKHJlc3VsdCk7XG5cdFx0XHR0aGlzLl9hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgncHVyY2hhc2UnLCB7IC4uLnJlc3VsdCwgY3VycmVuY3k6IHJlc3VsdC5jdXJyZW5jeSwgdmFsdWU6IHJlc3VsdC50b3RhbCB9KTtcblx0XHRcdHRoaXMuX2NhcnRTZXJ2aWNlLmNsZWFyQW5kUmVzZXRDYXJ0KCk7XG5cdFx0XHR0aGlzLl9jYW5DaGVja291dFN1YmplY3QubmV4dChmYWxzZSk7XG5cdFx0XHQvL3RoaXMuX29uUmVhZHlTdWJqZWN0Lm5leHQoZmFsc2UpO1xuXHRcdFx0dGhpcy5fbG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSk7XG5cdFx0XHRcblx0XHRcdC8vIOKaoO+4jyBGSVg6IFJlc2V0IGNoZWNrb3V0IGRhdGEgYWZ0ZXIgb3JkZXIgY29tcGxldGlvblxuXHRcdFx0dGhpcy5yZXNldENoZWNrb3V0U3RhdGUoKTtcblxuXHRcdFx0cmV0dXJuICh7IG9rOiB0cnVlLCByZXF1aXJlX2xvZ2luOiBmYWxzZSwgbWVzc2FnZTogJycgfSk7XG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdHRoaXMuX2xvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuXHRcdFx0Y29uc29sZS5lcnJvcignRXJyb3IgaW4gY29tcGxldGU6JywgZXJyb3IpO1xuXG5cdFx0XHRyZXR1cm4geyBvazogZmFsc2UsIHJlcXVpcmVfbG9naW46IGZhbHNlLCBtZXNzYWdlOiAnQW4gZXJyb3Igb2NjdXJyZWQnIH07XG5cdFx0fVxuXG5cdH1cblxuXHQvLyB1cGRhdGVBc29jaWF0ZWREYXRhID0gKGNhcnQ6IGFueSkgPT4ge1xuXHQvLyBcdGxldCByZXN1bHQgPSB0aGlzLl9vcmRlclV0aWxpdHlTZXJ2aWNlLmdldFByb21vdGlvbnMoY2FydCk7XG5cdC8vIFx0Y29uc3QgdXNlclByb2ZpbGU6IFVzZXIgPSBVc2VyLmZyb21Kc29uKHRoaXMuX2F1dGhTZXJ2aWNlLmdldFVzZXJQcm9maWxlQXNVc2VyKCkpO1xuXHQvLyBcdGlmIChyZXN1bHQpIHtcblx0Ly8gXHRcdGlmICh1c2VyUHJvZmlsZS5pc1dob2xlc2FsZXIoKSAmJiBjYXJ0LnRvdGFscy50YXhlcyAhPSAwKSB7XG5cdC8vIFx0XHRcdGxldCB0b3RhbCA9IHsgLi4ucmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXSB9O1xuXHQvLyBcdFx0XHRyZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdID0ge1xuXHQvLyBcdFx0XHRcdHR5cGU6ICd0YXhlcycsXG5cdC8vIFx0XHRcdFx0bmFtZTogJ3RheGVzJyxcblx0Ly8gXHRcdFx0XHRhbW91bnQ6IGNhcnQudG90YWxzLnRheGVzXG5cdC8vIFx0XHRcdH1cblx0Ly8gXHRcdFx0cmVzdWx0LnB1c2godG90YWwpO1xuXHQvLyBcdFx0fVxuXHQvLyBcdFx0bGV0IHNoaXBtZW50ID0gcmVzdWx0Py5maW5kKChwcm9tb3Rpb246IGFueSkgPT4gcHJvbW90aW9uLnR5cGUgPT0gXCJzaGlwbWVudFwiKTtcblx0Ly8gXHRcdGlmICghc2hpcG1lbnQgJiYgY2FydC50b3RhbHMuc2hpcHBpbmcgIT0gMCkge1xuXG5cdC8vIFx0XHRcdGlmIChyZXN1bHQ/Lmxlbmd0aCAmJiAhcmVzdWx0LmZpbmQoKGl0ZW06IGFueSkgPT4gaXRlbS50eXBlID09PSBcInNoaXBtZW50XCIpKSB7XG5cdC8vIFx0XHRcdFx0bGV0IHRvdGFsID0geyAuLi5yZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdIH07XG5cdC8vIFx0XHRcdFx0cmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXSA9IHtcblx0Ly8gXHRcdFx0XHRcdHR5cGU6ICdzaGlwbWVudCcsXG5cdC8vIFx0XHRcdFx0XHRuYW1lOiAnc2hpcG1lbnQnLFxuXHQvLyBcdFx0XHRcdFx0YW1vdW50OiBjYXJ0LnRvdGFscy5zaGlwcGluZ1xuXHQvLyBcdFx0XHRcdH1cblx0Ly8gXHRcdFx0XHRyZXN1bHQucHVzaCh0b3RhbCk7XG5cdC8vIFx0XHRcdH1cblx0Ly8gXHRcdH1cblx0Ly8gXHRcdHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC5uZXh0KHJlc3VsdCk7XG5cdC8vIFx0fVxuXHQvLyB9XG5cdHVwZGF0ZUFzb2NpYXRlZERhdGEgPSAoY2FydDogYW55KSA9PiB7XG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLl9vcmRlclV0aWxpdHlTZXJ2aWNlLmdldFByb21vdGlvbnMoY2FydCk7XG5cdFx0aWYgKGNhcnQudG90YWxzLnRheGVzICE9IDAgJiYgcmVzdWx0ICYmIHJlc3VsdC5sZW5ndGggPiAwKSB7XG5cdFx0XHRsZXQgdG90YWwgPSB7IC4uLnJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gfTtcblx0XHRcdHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gPSB7XG5cdFx0XHRcdHR5cGU6ICd0YXhlcycsXG5cdFx0XHRcdG5hbWU6ICd0YXhlcycsXG5cdFx0XHRcdGFtb3VudDogY2FydC50b3RhbHMudGF4ZXNcblx0XHRcdH1cblx0XHRcdHJlc3VsdC5wdXNoKHRvdGFsKTtcblx0XHR9XG4gICAgICAgIGxldCBzaGlwbWVudCA9IHJlc3VsdD8uZmluZChwcm9tb3Rpb24gPT4gcHJvbW90aW9uLnR5cGUgPT0gXCJzaGlwbWVudFwiKTtcbiAgICAgICAgaWYgKCFzaGlwbWVudCAmJiBjYXJ0LnRvdGFscy5zaGlwcGluZyAhPSAwKSB7XG5cbiAgICAgICAgICAgIGlmIChyZXN1bHQ/Lmxlbmd0aCAmJiAhcmVzdWx0LmZpbmQoaXRlbSA9PiBpdGVtLnR5cGUgPT09IFwic2hpcG1lbnRcIikpIHtcbiAgICAgICAgICAgICAgICBsZXQgdG90YWwgPSB7IC4uLnJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gfTtcbiAgICAgICAgICAgICAgICByZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdID0ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc2hpcG1lbnQnLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnc2hpcG1lbnQnLFxuICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IGNhcnQudG90YWxzLnNoaXBwaW5nXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRvdGFsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXHRcdHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC5uZXh0KHJlc3VsdCA/PyBudWxsKTtcbiAgICB9XG5cblx0Z2V0U3RlcERhdGEgPSAoc3RlcF9uYW1lOiBTdGVwVHlwZSkgPT4ge1xuXHRcdGxldCBzdGVwX3Jlc3VsdCA9IHRoaXMuX3N0YXRlU3ViamVjdC5nZXRWYWx1ZSgpLmZpbmQoc3RlcCA9PiBzdGVwLm5hbWUgPT0gc3RlcF9uYW1lKTtcblx0XHRyZXR1cm4gKHN0ZXBfcmVzdWx0ICYmIHN0ZXBfcmVzdWx0LmRhdGEpO1xuXHR9XG5cblx0c2V0U3RlcERhdGEgPSAoc3RlcF9uYW1lOiBTdGVwVHlwZSwgZGF0YTogYW55KSA9PiB7XG5cdFx0bGV0IHN0ZXAgPSB0aGlzLl9zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKS5maW5kKHN0ZXAgPT4gc3RlcC5uYW1lID09IHN0ZXBfbmFtZSk7XG5cdFx0c3RlcD8ucmVhZHkoZGF0YSk7XG5cdFx0LyogaWYgKGRhdGEpIHtcblx0XHRcdHRoaXMuX29yZGVyU3ViamVjdC5uZXh0KGRhdGEpO1xuXHRcdFx0dGhpcy50b3RhbCA9IGRhdGEudG90YWxzLnRvdGFsO1xuXHRcdH0gKi9cblx0fVxuXG5cdC8vIOKaoO+4jyBGSVg6IFJlc2V0IGNoZWNrb3V0IHN0YXRlIGFmdGVyIG9yZGVyIGNvbXBsZXRpb25cblx0cHJpdmF0ZSByZXNldENoZWNrb3V0U3RhdGUgPSAoKSA9PiB7XG5cdFx0dGhpcy5jaGVja291dERhdGEgPSB7fTtcblx0XHR0aGlzLm9yZGVyID0gbnVsbDtcblx0XHR0aGlzLl9zdGF0ZVN1YmplY3QubmV4dChbXSk7XG5cdFx0dGhpcy5fYXNzb2NpYXRlZERhdGFTdWJqZWN0Lm5leHQobnVsbCk7XG5cdFx0dGhpcy5fbGFzdFN0ZXBTdWJqZWN0Lm5leHQoZmFsc2UpO1xuXHR9XG59XG4iXX0=
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9jaGVja291dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQVEsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSy9DLE1BQU0sT0FBTyxlQUFlO0lBRW5CLFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELFdBQVcsR0FBc0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0QsaUJBQWlCLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9ELE9BQU8sR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDM0QsWUFBWSxHQUFn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QUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQztRQUNyRixPQUFPLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDLENBQUE7SUFFRCxXQUFXLEdBQUcsQ0FBQyxTQUFtQixFQUFFLElBQVMsRUFBRSxFQUFFO1FBQ2hELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQztRQUM5RSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCOzs7WUFHSTtJQUNMLENBQUMsQ0FBQTtJQUVELHNEQUFzRDtJQUM5QyxrQkFBa0IsR0FBRyxHQUFHLEVBQUU7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQTt3R0F6TlcsZUFBZTs0R0FBZixlQUFlLGNBRmYsTUFBTTs7NEZBRU4sZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4vY2FydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hlY2tvdXREYXRhLCBJU3RlcCwgU3RlcFR5cGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9hbmFseXRpY3MnO1xyXG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgU3RlcCwgVXNlciB9IGZyb20gJy4uL2NsYXNzZXMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3JkZXJVdGlsaXR5U2VydmljZSB9IGZyb20gJy4vb3JkZXItdXRpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi90b2FzdC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrb3V0U2VydmljZSB7XHJcblxyXG5cdHByaXZhdGUgX2NhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSk7XHJcblx0cHJpdmF0ZSBfY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UgPSBpbmplY3QoQ29ubmVjdGlvblNlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2FuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UgPSBpbmplY3QoQW5hbHl0aWNzU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfY29uc3RzOiBBcGlDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfb3JkZXJVdGlsaXR5U2VydmljZTogT3JkZXJVdGlsaXR5U2VydmljZSA9IGluamVjdChPcmRlclV0aWxpdHlTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9yb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG5cdHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XHJcblxyXG5cdHByaXZhdGUgX2NhbkNoZWNrb3V0U3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblx0cHJpdmF0ZSBfc3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGVwW10+KFtdKVxyXG5cdHByaXZhdGUgX2xhc3RTdGVwU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHByaXZhdGUgX2xvYWRpbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblx0cHJpdmF0ZSBfb3JkZXJTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG5cdHByaXZhdGUgX2Fzc29jaWF0ZWREYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2hlY2tvdXREYXRhW10gfCBudWxsPihudWxsKTtcclxuXHRwcml2YXRlIF9sb2FkaW5nU3RlcFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcblx0cHVibGljIGNhbkNoZWNrb3V0JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2NhbkNoZWNrb3V0U3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHRwdWJsaWMgc3RhdGUkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLl9zdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0cHVibGljIGlzTGFzdFN0ZXAkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fbGFzdFN0ZXBTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cdHB1YmxpYyBhc3NvY2lhdGVkRGF0YSQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHRwdWJsaWMgb3JkZXIkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLl9vcmRlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0cHVibGljIGxvYWRpbmdTdGVwJDpPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fbG9hZGluZ1N0ZXBTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwdWJsaWMgdG90YWw6IGFueTtcclxuXHRwdWJsaWMgY2FydExvY2FsOiBhbnk7XHJcblx0cHJpdmF0ZSBjaGVja291dERhdGE6IGFueSA9IHt9O1xyXG5cdHByaXZhdGUgb3JkZXI6IGFueTtcclxuXHJcblx0Ly9BUEkgTWV0aG9kc1xyXG5cdGJhc2VBcGkgPSAoKSA9PiAnc2hvcC1hcGkvJyArIHRoaXMuX2NvbnN0cy5DSEFOTkVMICsgJy9jaGVja291dC8nICsgdGhpcy5fY2FydFNlcnZpY2UuZ2V0Q2FydFRva2VuKCk7XHJcblx0Z2V0SGFzUHVyY2hhc2VDb25kaXRpb25zKCkgeyByZXR1cm4gJ3Nob3AtYXBpLycgKyB0aGlzLl9jb25zdHMuQ0hBTk5FTCArICcvY2FydHMvJyArIHRoaXMuX2NhcnRTZXJ2aWNlLmdldENhcnRUb2tlbigpICsgJy9oYXNfcHVyY2hhc2VfY29uZGl0aW9ucycgfTtcclxuXHRjb21wbGV0ZUFwaSgpIHsgcmV0dXJuIHRoaXMuYmFzZUFwaSgpICsgJy9jb21wbGV0ZScgfTtcclxuXHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0Y29tYmluZUxhdGVzdChbdGhpcy5fY2FydFNlcnZpY2UuY2FydEl0ZW1zJCwgdGhpcy5fY2FydFNlcnZpY2UubG9hZGluZyRdKS5zdWJzY3JpYmUoKFtpdGVtcywgbG9hZGluZ10pID0+IHtcclxuXHRcdFx0aWYgKCFsb2FkaW5nICYmIGl0ZW1zLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHR0aGlzLl9jYW5DaGVja291dFN1YmplY3QubmV4dCh0cnVlKTtcclxuXHRcdFx0XHR0aGlzLl9jYXJ0U2VydmljZS5nZXRUb3RhbEFtb3VudCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMudG90YWwgPSByZXM7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fVxyXG5cdFx0fSlcclxuXHRcdHRoaXMuX2NhcnRTZXJ2aWNlLmNhcnQkLnN1YnNjcmliZShjYXJ0ID0+IGNhcnQgJiYgKHRoaXMuY2FydExvY2FsID0gY2FydCkgJiYgdGhpcy51cGRhdGVBc29jaWF0ZWREYXRhKGNhcnQpKTtcclxuXHRcdHRoaXMub3JkZXIkLnN1YnNjcmliZShvcmRlciA9PiBvcmRlciAmJiB0aGlzLnVwZGF0ZUFzb2NpYXRlZERhdGEob3JkZXIpKVxyXG5cdH1cclxuXHJcblx0c2V0U3RlcHMoc3RlcHM6IElTdGVwW10pIHtcclxuXHRcdGxldCBmaW5hbF9zdGVwczogU3RlcFtdID0gW107XHJcblx0XHRzdGVwcy5mb3JFYWNoKChzdGVwLCBpKSA9PiBmaW5hbF9zdGVwcy5wdXNoKG5ldyBTdGVwKHN0ZXAubmFtZSwgc3RlcC5wcmlvcml0eSB8fCAoaSArIDEpLCBzdGVwLmxhYmVsLCBzdGVwLnN0YXRlKSkpO1xyXG5cdFx0dGhpcy5fc3RhdGVTdWJqZWN0Lm5leHQoZmluYWxfc3RlcHMpO1xyXG5cdFx0aWYgKGZpbmFsX3N0ZXBzLmxlbmd0aCA9PSAxKSB7XHJcblx0XHRcdHRoaXMuX2xhc3RTdGVwU3ViamVjdC5uZXh0KHRydWUpO1xyXG5cdFx0fVxyXG5cdFx0Ly8gY29uc29sZS5sb2coZmluYWxfc3RlcHMpO1xyXG5cdFx0Zmlyc3RWYWx1ZUZyb20odGhpcy5fY29ubmVjdGlvbi5nZXQodGhpcy5nZXRIYXNQdXJjaGFzZUNvbmRpdGlvbnMoKSkpLnRoZW4oXHJcblx0XHRcdHJlcyA9PiB7XHJcblx0XHRcdFx0dGhpcy5fYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ2NoZWNrb3V0X2luaXQnLCB7IC4uLnRoaXMuY2FydExvY2FsLCBjdXJyZW5jeTogdGhpcy5jYXJ0TG9jYWw/LmN1cnJlbmN5LCB2YWx1ZTogdGhpcy5jYXJ0TG9jYWw/LnRvdGFsIH0pXHJcblx0XHRcdH1cclxuXHRcdClcclxuXHR9XHJcblxyXG5cdG5leHQoKSB7XHJcblx0XHR0aGlzLl9sb2FkaW5nU3RlcFN1YmplY3QubmV4dCh0cnVlKTtcclxuXHRcdGNvbnN0IHN0ZXBzID0gdGhpcy5fc3RhdGVTdWJqZWN0LmdldFZhbHVlKClcclxuXHRcdGNvbnN0IHJlYWR5U3RlcCA9IHN0ZXBzLmZpbmRJbmRleChzdGVwID0+IHN0ZXAuc3RhdGUgPT09ICdyZWFkeScpO1xyXG5cdFx0aWYgKHN0ZXBzW3JlYWR5U3RlcCArIDFdKSB7XHJcblx0XHRcdHN0ZXBzW3JlYWR5U3RlcF0uc3RhdGUgPSAnZG9pbmcnXHJcblx0XHRcdHN0ZXBzW3JlYWR5U3RlcCArIDFdLnN0YXRlID0gJ3JlYWR5JztcclxuXHRcdFx0aWYgKCFzdGVwc1tyZWFkeVN0ZXAgKyAyXSkgdGhpcy5fbGFzdFN0ZXBTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcblx0XHRcdHRoaXMuX2xvYWRpbmdTdGVwU3ViamVjdC5uZXh0KGZhbHNlKVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5jb21wbGV0ZSgpLnRoZW4oXHJcblx0XHRcdFx0cmVzID0+IHtcclxuXHRcdFx0XHRcdGlmIChyZXMub2spIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnY2hlY2tvdXQvb3JkZXJfc3VjY2VzcyddKVxyXG5cdFx0XHRcdFx0XHQgd2luZG93LnNjcm9sbFRvKDAsIDApO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ29wZXJhdGlvbi1lcnJvcicpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0aGlzLl9sb2FkaW5nU3RlcFN1YmplY3QubmV4dChmYWxzZSlcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGVyciA9PiB7XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhlcnIpXHJcblx0XHRcdFx0XHR0aGlzLl9sb2FkaW5nU3RlcFN1YmplY3QubmV4dChmYWxzZSlcclxuXHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdvcGVyYXRpb24tZXJyb3InKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0KVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YmFjaygpIHtcclxuXHRcdGNvbnN0IHN0ZXBzID0gdGhpcy5fc3RhdGVTdWJqZWN0LmdldFZhbHVlKClcclxuXHRcdGNvbnN0IHJlYWR5U3RlcCA9IHN0ZXBzLmZpbmRJbmRleChzdGVwID0+IHN0ZXAuc3RhdGUgPT09ICdyZWFkeScpO1xyXG5cdFx0dGhpcy5fbGFzdFN0ZXBTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG5cdFx0aWYgKHN0ZXBzW3JlYWR5U3RlcCAtIDFdKSB7XHJcblx0XHRcdHN0ZXBzW3JlYWR5U3RlcF0uc3RhdGUgPSAncGVuZGluZydcclxuXHRcdFx0c3RlcHNbcmVhZHlTdGVwIC0gMV0uc3RhdGUgPSAncmVhZHknO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c2V0T3JkZXIgPSAob3JkZXI6IGFueSkgPT4geyB0aGlzLm9yZGVyID0gb3JkZXIsIHRoaXMuX29yZGVyU3ViamVjdC5uZXh0KG9yZGVyKSB9O1xyXG5cdC8vZ2V0T3JkZXIgPSAoKSA9PiB0aGlzLm9yZGVyIHx8IHRoaXMub3JkZXJTdWJqZWN0LnZhbHVlO1xyXG5cclxuXHRwcml2YXRlIGNvbXBsZXRlT3JkZXIgPSAoKSA9PiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uLnB1dCh0aGlzLmNvbXBsZXRlQXBpKCksIHsgZW1haWw6IHRoaXMuY2hlY2tvdXREYXRhLmVtYWlsLCBub3RlczogdGhpcy5jaGVja291dERhdGEubm90ZXMgfHwgJycgfSkpO1xyXG5cclxuXHRjb21wbGV0ZSA9IGFzeW5jICgpID0+IHtcclxuXHRcdHRyeSB7XHJcblx0XHRcdHRoaXMuX2xvYWRpbmdTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcblx0XHRcdGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLmNvbXBsZXRlT3JkZXIoKTtcclxuXHRcdFx0XHJcblx0XHRcdGlmIChyZXN1bHQgJiYgcmVzdWx0LmVycm9yKSB7XHJcblx0XHRcdFx0dGhpcy5fY2FydFNlcnZpY2UuY2hhbmdlSGF2ZVRvVXBkYXRlKGZhbHNlKTtcclxuXHRcdFx0XHR0aGlzLl9sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcclxuXHRcdFx0XHRyZXR1cm4gKHsgb2s6IGZhbHNlLCByZXF1aXJlX2xvZ2luOiB0cnVlLCBtZXNzYWdlOiAnbm90LWNvbXBsZXRlZCcgfSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRoaXMuc2V0T3JkZXIocmVzdWx0KTtcclxuXHRcdFx0dGhpcy5fYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ3B1cmNoYXNlJywgeyAuLi5yZXN1bHQsIGN1cnJlbmN5OiByZXN1bHQuY3VycmVuY3ksIHZhbHVlOiByZXN1bHQudG90YWwgfSk7XHJcblx0XHRcdHRoaXMuX2NhcnRTZXJ2aWNlLmNsZWFyQW5kUmVzZXRDYXJ0KCk7XHJcblx0XHRcdHRoaXMuX2NhbkNoZWNrb3V0U3ViamVjdC5uZXh0KGZhbHNlKTtcclxuXHRcdFx0Ly90aGlzLl9vblJlYWR5U3ViamVjdC5uZXh0KGZhbHNlKTtcclxuXHRcdFx0dGhpcy5fbG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSk7XHJcblx0XHRcdFxyXG5cdFx0XHQvLyDimqDvuI8gRklYOiBSZXNldCBjaGVja291dCBkYXRhIGFmdGVyIG9yZGVyIGNvbXBsZXRpb25cclxuXHRcdFx0dGhpcy5yZXNldENoZWNrb3V0U3RhdGUoKTtcclxuXHJcblx0XHRcdHJldHVybiAoeyBvazogdHJ1ZSwgcmVxdWlyZV9sb2dpbjogZmFsc2UsIG1lc3NhZ2U6ICcnIH0pO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcclxuXHRcdFx0dGhpcy5fbG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSk7XHJcblx0XHRcdGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIGNvbXBsZXRlOicsIGVycm9yKTtcclxuXHJcblx0XHRcdHJldHVybiB7IG9rOiBmYWxzZSwgcmVxdWlyZV9sb2dpbjogZmFsc2UsIG1lc3NhZ2U6ICdBbiBlcnJvciBvY2N1cnJlZCcgfTtcclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHQvLyB1cGRhdGVBc29jaWF0ZWREYXRhID0gKGNhcnQ6IGFueSkgPT4ge1xyXG5cdC8vIFx0bGV0IHJlc3VsdCA9IHRoaXMuX29yZGVyVXRpbGl0eVNlcnZpY2UuZ2V0UHJvbW90aW9ucyhjYXJ0KTtcclxuXHQvLyBcdGNvbnN0IHVzZXJQcm9maWxlOiBVc2VyID0gVXNlci5mcm9tSnNvbih0aGlzLl9hdXRoU2VydmljZS5nZXRVc2VyUHJvZmlsZUFzVXNlcigpKTtcclxuXHQvLyBcdGlmIChyZXN1bHQpIHtcclxuXHQvLyBcdFx0aWYgKHVzZXJQcm9maWxlLmlzV2hvbGVzYWxlcigpICYmIGNhcnQudG90YWxzLnRheGVzICE9IDApIHtcclxuXHQvLyBcdFx0XHRsZXQgdG90YWwgPSB7IC4uLnJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gfTtcclxuXHQvLyBcdFx0XHRyZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdID0ge1xyXG5cdC8vIFx0XHRcdFx0dHlwZTogJ3RheGVzJyxcclxuXHQvLyBcdFx0XHRcdG5hbWU6ICd0YXhlcycsXHJcblx0Ly8gXHRcdFx0XHRhbW91bnQ6IGNhcnQudG90YWxzLnRheGVzXHJcblx0Ly8gXHRcdFx0fVxyXG5cdC8vIFx0XHRcdHJlc3VsdC5wdXNoKHRvdGFsKTtcclxuXHQvLyBcdFx0fVxyXG5cdC8vIFx0XHRsZXQgc2hpcG1lbnQgPSByZXN1bHQ/LmZpbmQoKHByb21vdGlvbjogYW55KSA9PiBwcm9tb3Rpb24udHlwZSA9PSBcInNoaXBtZW50XCIpO1xyXG5cdC8vIFx0XHRpZiAoIXNoaXBtZW50ICYmIGNhcnQudG90YWxzLnNoaXBwaW5nICE9IDApIHtcclxuXHJcblx0Ly8gXHRcdFx0aWYgKHJlc3VsdD8ubGVuZ3RoICYmICFyZXN1bHQuZmluZCgoaXRlbTogYW55KSA9PiBpdGVtLnR5cGUgPT09IFwic2hpcG1lbnRcIikpIHtcclxuXHQvLyBcdFx0XHRcdGxldCB0b3RhbCA9IHsgLi4ucmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXSB9O1xyXG5cdC8vIFx0XHRcdFx0cmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXSA9IHtcclxuXHQvLyBcdFx0XHRcdFx0dHlwZTogJ3NoaXBtZW50JyxcclxuXHQvLyBcdFx0XHRcdFx0bmFtZTogJ3NoaXBtZW50JyxcclxuXHQvLyBcdFx0XHRcdFx0YW1vdW50OiBjYXJ0LnRvdGFscy5zaGlwcGluZ1xyXG5cdC8vIFx0XHRcdFx0fVxyXG5cdC8vIFx0XHRcdFx0cmVzdWx0LnB1c2godG90YWwpO1xyXG5cdC8vIFx0XHRcdH1cclxuXHQvLyBcdFx0fVxyXG5cdC8vIFx0XHR0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QubmV4dChyZXN1bHQpO1xyXG5cdC8vIFx0fVxyXG5cdC8vIH1cclxuXHR1cGRhdGVBc29jaWF0ZWREYXRhID0gKGNhcnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLl9vcmRlclV0aWxpdHlTZXJ2aWNlLmdldFByb21vdGlvbnMoY2FydCk7XHJcblx0XHRpZiAoY2FydC50b3RhbHMudGF4ZXMgIT0gMCAmJiByZXN1bHQgJiYgcmVzdWx0Lmxlbmd0aCA+IDApIHtcclxuXHRcdFx0bGV0IHRvdGFsID0geyAuLi5yZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdIH07XHJcblx0XHRcdHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gPSB7XHJcblx0XHRcdFx0dHlwZTogJ3RheGVzJyxcclxuXHRcdFx0XHRuYW1lOiAndGF4ZXMnLFxyXG5cdFx0XHRcdGFtb3VudDogY2FydC50b3RhbHMudGF4ZXNcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXN1bHQucHVzaCh0b3RhbCk7XHJcblx0XHR9XHJcbiAgICAgICAgbGV0IHNoaXBtZW50ID0gcmVzdWx0Py5maW5kKHByb21vdGlvbiA9PiBwcm9tb3Rpb24udHlwZSA9PSBcInNoaXBtZW50XCIpO1xyXG4gICAgICAgIGlmICghc2hpcG1lbnQgJiYgY2FydC50b3RhbHMuc2hpcHBpbmcgIT0gMCkge1xyXG5cclxuICAgICAgICAgICAgaWYgKHJlc3VsdD8ubGVuZ3RoICYmICFyZXN1bHQuZmluZChpdGVtID0+IGl0ZW0udHlwZSA9PT0gXCJzaGlwbWVudFwiKSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IHRvdGFsID0geyAuLi5yZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdIH07XHJcbiAgICAgICAgICAgICAgICByZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzaGlwbWVudCcsXHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3NoaXBtZW50JyxcclxuICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IGNhcnQudG90YWxzLnNoaXBwaW5nXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh0b3RhbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblx0XHR0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QubmV4dChyZXN1bHQgPz8gbnVsbCk7XHJcbiAgICB9XHJcblxyXG5cdGdldFN0ZXBEYXRhID0gKHN0ZXBfbmFtZTogU3RlcFR5cGUpID0+IHtcclxuXHRcdGxldCBzdGVwX3Jlc3VsdCA9IHRoaXMuX3N0YXRlU3ViamVjdC5nZXRWYWx1ZSgpLmZpbmQoc3RlcCA9PiBzdGVwLm5hbWUgPT0gc3RlcF9uYW1lKTtcclxuXHRcdHJldHVybiAoc3RlcF9yZXN1bHQgJiYgc3RlcF9yZXN1bHQuZGF0YSk7XHJcblx0fVxyXG5cclxuXHRzZXRTdGVwRGF0YSA9IChzdGVwX25hbWU6IFN0ZXBUeXBlLCBkYXRhOiBhbnkpID0+IHtcclxuXHRcdGxldCBzdGVwID0gdGhpcy5fc3RhdGVTdWJqZWN0LmdldFZhbHVlKCkuZmluZChzdGVwID0+IHN0ZXAubmFtZSA9PSBzdGVwX25hbWUpO1xyXG5cdFx0c3RlcD8ucmVhZHkoZGF0YSk7XHJcblx0XHQvKiBpZiAoZGF0YSkge1xyXG5cdFx0XHR0aGlzLl9vcmRlclN1YmplY3QubmV4dChkYXRhKTtcclxuXHRcdFx0dGhpcy50b3RhbCA9IGRhdGEudG90YWxzLnRvdGFsO1xyXG5cdFx0fSAqL1xyXG5cdH1cclxuXHJcblx0Ly8g4pqg77iPIEZJWDogUmVzZXQgY2hlY2tvdXQgc3RhdGUgYWZ0ZXIgb3JkZXIgY29tcGxldGlvblxyXG5cdHByaXZhdGUgcmVzZXRDaGVja291dFN0YXRlID0gKCkgPT4ge1xyXG5cdFx0dGhpcy5jaGVja291dERhdGEgPSB7fTtcclxuXHRcdHRoaXMub3JkZXIgPSBudWxsO1xyXG5cdFx0dGhpcy5fc3RhdGVTdWJqZWN0Lm5leHQoW10pO1xyXG5cdFx0dGhpcy5fYXNzb2NpYXRlZERhdGFTdWJqZWN0Lm5leHQobnVsbCk7XHJcblx0XHR0aGlzLl9sYXN0U3RlcFN1YmplY3QubmV4dChmYWxzZSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -174,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
174
174
|
providedIn: 'root'
|
|
175
175
|
}]
|
|
176
176
|
}], ctorParameters: () => [] });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9jdXJyZW5jeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBQzFDOzs7R0FHRztBQUlILE1BQU0sT0FBTyxlQUFlO0lBQ3hCOztPQUVHO0lBQ0ssT0FBTyxHQUF5QixNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUNwRTs7T0FFRztJQUNLLFVBQVUsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDckU7O09BRUc7SUFDSyxXQUFXLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ2xFOztPQUVHO0lBQ0ssUUFBUSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDekQ7O09BRUc7SUFDSyxTQUFTLEdBQW9CLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDaEU7O09BRUc7SUFDSyxnQkFBZ0IsR0FBb0MsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbkY7O09BRUc7SUFDSyxvQkFBb0IsR0FBeUIsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUE7SUFD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YSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xELElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDOUMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDckQsQ0FBQztJQUNMLENBQUM7d0dBbktRLGVBQWU7NEdBQWYsZUFBZSxjQUZaLE1BQU07OzRGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlLCBDb3JlQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDdXJyZW5jeUNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuL2NoYW5uZWwuc2VydmljZSc7XG5pbXBvcnQgeyBDdXJyZW5jeVN0b3JlIH0gZnJvbSAnLi4vc3RvcmVzJztcbi8qKlxuICogU2VydmljaW8gZW5jYXJnYWRvIGRlIG1hbmVqYXIgdG9kbyBsbyBxdWUgZXN0ZSByZWxhY2lvbmFkbyBhIGxhIG1vbmVkYVxuICogcXVlIG1hbmVqYSBsYSBhcGxpY2FjacOzbi5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeVNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIENvbnN0YW50ZXMgZGUgY29yZVxuICAgICAqL1xuICAgIHByaXZhdGUgX2NvbnN0czogQ29yZUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQ29yZUNvbnN0YW50c1NlcnZpY2UpXG4gICAgLyoqXG4gICAgICogQ29uc3RhbnRlcyBkZSBsYSBBUElcbiAgICAgKi9cbiAgICBwcml2YXRlIF9hcGlDb25zdHM6IEFwaUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSlcbiAgICAvKipcbiAgICAgKiBNYW5lamEgbGFzIHBldGljaW9uZXMgYSBsYSBBUElcbiAgICAgKi9cbiAgICBwcml2YXRlIF9jb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSlcbiAgICAvKipcbiAgICAgKiBTZXJ2aWNpbyBkZSBjYW5hbGVzXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY2hhbm5lbDogQ2hhbm5lbFNlcnZpY2UgPSBpbmplY3QoQ2hhbm5lbFNlcnZpY2UpXG4gICAgLyoqXG4gICAgICogQ29udGllbmUgZWwgY2FuYWwgYWN0aXZvIGRlIGxhIEFQSS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jaGFubmVsJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5fY2hhbm5lbC5nZXRDaGFubmVsKCk7XG4gICAgLyoqXG4gICAgICogU3ViamVjdCBwYXJhIG1hbmVqYXIgbGEgbW9uZWRhIGFjdHVhbC5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jdXJyZW5jeVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxDdXJyZW5jeUNvbmZpZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KVxuICAgIC8qKlxuICAgICAqIFN1YmplY3QgcGFyYSBtYW5lamFyIGxhIGxpc3RhIGRlIG1vbmVkYXMgZGUgbGEgYXBsaWNhY2nDs24uXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY3VycmVuY3lMaXN0U3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKVxuICAgIC8qKlxuICAgICAqIFN1YmplY3QgcGFyYSBpbmRpY2FyIGxhIGFjdHVhbGl6YWNpw7NuIGRlIHVuIGVzdGFkby5cbiAgICAgKi9cbiAgICBwcml2YXRlIF91cGRhdGVTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKVxuXG4gICAgcHVibGljIGN1cnJlbmN5JDogT2JzZXJ2YWJsZTxDdXJyZW5jeUNvbmZpZz4gPSB0aGlzLl9jdXJyZW5jeVN1YmplY3QuYXNPYnNlcnZhYmxlKClcbiAgICBwdWJsaWMgY3VycmVuY3lMaXN0JDogT2JzZXJ2YWJsZTxhbnlbXT4gPSB0aGlzLl9jdXJyZW5jeUxpc3RTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXG4gICAgcHVibGljIHVwZGF0ZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl91cGRhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLy9BUEkgVVJMXG4gICAgLyoqXG4gICAgICogRGV2dWVsdmUgbGEgVVJMIHBhcmEgb2J0ZW5lciBsaXN0YSBkZSBtb25lZGFzIGRlIGxhIGFwbGljYWNpw7NuLlxuICAgICAqIEByZXR1cm5zIFxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0Q3VycmVuY3lMaXN0QXBpKCkgeyByZXR1cm4gYCR7dGhpcy5fYXBpQ29uc3RzLlNIT1BfQVBJX1VSTH0vY3VycmVuY2llc2AgfTtcbiAgICAvKipcbiAgICAgKiBEZXZ1ZWx2ZSBsYSBVUkwgcGFyYSBvYnRlbmVyIGxhIGNvbnZlcnRpYmlsaWRhZCBkZSB1bmEgbW9uZWRhLiBcbiAgICAgKiBAcGFyYW0gYmFzZUN1cnJlbmN5IE1vbmVkYSBiYXNlXG4gICAgICogQHBhcmFtIHRhcmdldEN1cnJlbmN5IE1vbmVkYSBkZXN0aW5vXG4gICAgICogQHJldHVybnMgXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRDb252ZXJ0aWJpbGl0eUFwaShiYXNlQ3VycmVuY3k6IGFueSwgdGFyZ2V0Q3VycmVuY3k6IGFueSkgeyByZXR1cm4gYCR7dGhpcy5fYXBpQ29uc3RzLlNIT1BfQVBJX1VSTH0vY3VycmVuY2llcz9iYXNlQ3VycmVuY3k9JHtiYXNlQ3VycmVuY3l9JnRhcmdldEN1cnJlbmN5PSR7dGFyZ2V0Q3VycmVuY3l9YCB9XG4gICAgLyoqXG4gICAgICogU3RvcmUgcXVlIGd1YXJkYXJhIGxhIG1vbmVkYSBhY3R1YWwgcXVlIG1hbmVqYSBsYSBhcGxpY2FjacOzbi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY3VycmVuY3lTdG9yZSA9IGluamVjdChDdXJyZW5jeVN0b3JlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl9jaGFubmVsJC5zdWJzY3JpYmUoY2hhbm5lbCA9PiB7XG4gICAgICAgICAgICBjaGFubmVsLmFwcGx5Q3VycmVuY3lFeGNoYW5nZSA/IHRoaXMubG9hZEN1cnJlbmN5TGlzdCgpIDogdGhpcy5sb2FkRGVmYXVsdEN1cnJlbmN5KGNoYW5uZWwuYmFzZUN1cnJlbmN5KTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgICAqICBTZSBjYXJnYSBsYSBtb25lZGEgcG9yIGRlZmVjdG8uXG4gICAgICAgKi9cbiAgICBwcml2YXRlIGxvYWREZWZhdWx0Q3VycmVuY3koY3VycmVuY3k6IGFueSkge1xuICAgICAgICB0aGlzLl9jb25zdHMuc2V0Q3VycmVuY3koY3VycmVuY3kpO1xuICAgICAgICB0aGlzLmxvYWQoKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBDYXJnYSBsYSBsaXN0YSBkZSBtb25lZGFzL2N1cnJlbmNpZXMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkQ3VycmVuY3lMaXN0KCkge1xuICAgICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uLmdldCh0aGlzLmdldEN1cnJlbmN5TGlzdEFwaSgpKSlcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY3VycmVuY3lMaXN0U3ViamVjdC5uZXh0KHJlcylcbiAgICAgICAgICAgICAgICB0aGlzLl9jb25zdHMuc2V0Q3VycmVuY3lUeXBlQ29uZmlnKHJlcylcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWQoKVxuICAgICAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgY2FsY3VsYSBsYSBjb252ZXRpYmlsaWRhZCBkZWwgcHJlY2lvICBwYXNhZG8gcG9yIHBhcmFtZW50cm8gc2VndW4gZXN0YSBmb3JtdWxhOlxuICAgICAqICoqYyA9IGEgKiBiKiogZG9uZGUgKmM9bW9uZWRhIGRlc3B1ZXMgZGVsIGNhbWJpbyosICphPXZhbG9yIHF1ZSBxdWllcm8gY2FtYmlhciogeSAqYj1yYXRpbyBkZSBjYW1iaW8qLiBcbiAgICAgKiBAcGFyYW0gcHJpY2UgUHJlY2lvIGEgY2FtYmlhclxuICAgICAqIEBwYXJhbSByYXRpbyBSYXRpbyBkZSBjYW1iaW9cbiAgICAgKiBAcmV0dXJucyBTaSBlbCByYXRpbyBubyBlcyBudWxsLCByZXRvcm5hIGVsIHByZWNpbyBjYW1iaWFkbywgc2lubyByZXRvcm5hIGVsIHByZWNpbyBzaW4gY2FtYmlvcy4gXG4gICAgICovXG4gICAgcHVibGljIGNhbGN1bGF0ZUNvbnZldGliaWxpdHkocHJpY2U6IG51bWJlciwgcmF0aW86IG51bWJlcikge1xuICAgICAgICByZXR1cm4gcmF0aW8gPyBwcmljZSAqIHJhdGlvIDogcHJpY2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIGdlbmVyYSBsYSBjYXJnYSB5IGNvbmZpZ3VyYWNpw7NuIGRlIGxhIG1vbmVkYSBlbGVnaWRhIHBhcmEgbGEgY29udmVyc2lvbi5cbiAgICAgKiBAcGFyYW0gY3VycmVuY3kgTW9uZWRhIGEgY29udmVydGlyLlxuICAgICAqL1xuICAgIHByaXZhdGUgbG9hZEN1cnJlbmN5KGN1cnJlbmN5OiBhbnkpIHtcbiAgICAgICAgdGhpcy5fY3VycmVuY3lTdWJqZWN0Lm5leHQoY3VycmVuY3kpO1xuICAgICAgICB0aGlzLl9jb25zdHMuc2V0Q3VycmVuY3koY3VycmVuY3kuY29kZSk7XG4gICAgICAgIGxldCB1cGRhdGUgPSB0aGlzLl91cGRhdGVTdWJqZWN0LmdldFZhbHVlKClcbiAgICAgICAgdGhpcy5fdXBkYXRlU3ViamVjdC5uZXh0KCF1cGRhdGUpXG4gICAgICAgIHRoaXMuY3VycmVuY3lTdG9yZS5hZGQodGhpcy5fY29uc3RzLmN1cnJlbmN5KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYSBsYSBjb252ZXJ0aWJpbGlkYWQgZGUgbGEgbW9uZWRhIGJhc2UgYSBsYSBudWV2YS4gU2kgYmFzZUN1cnJlbmN5IG5vIHRpZW5lIHZhbG9yIFxuICAgICAqIGVudG9uY2VzIHV0aWxpemEgbGEgbW9uZWRhIGJhc2UgZGVsIGNhbmFsLlxuICAgICAqIEBwYXJhbSBjdXJyZW5jeSBPYmpldG8gZGUgbGEgbW9uZWRhIGRlc3Rpbm8uXG4gICAgICogQHBhcmFtIGJhc2VDdXJyZW5jeSBDb2RpZ28gZGUgbGEgbW9uZWRhIGJhc2UuICpFajogVVNEIHwgQVJTIHwgRVVSIHwuLi4qXG4gICAgICovXG4gICAgYXN5bmMgZ2VuZXJhdGVDb252ZXJ0aWJpbGl0eShjdXJyZW5jeTogYW55LCBiYXNlQ3VycmVuY3k/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCFiYXNlQ3VycmVuY3kpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYmFzZUN1cnJlbmN5ID0gYXdhaXQgdGhpcy5fY2hhbm5lbC5nZXRBY3RpdmVDaGFubmVsKCkuYmFzZUN1cnJlbmN5O1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAvL2NvbnNvbGUuZXJyb3IoZXJyb3IpXG4gICAgICAgICAgICAgICAgYmFzZUN1cnJlbmN5ID0gJ1VTRCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkJDXCIsIGJhc2VDdXJyZW5jeSk7XG4gICAgICAgIGlmIChjdXJyZW5jeS5jb2RlID09IGJhc2VDdXJyZW5jeSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkQ3VycmVuY3koY3VycmVuY3kpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5nZXRDb252ZXJ0aWJpbGl0eShiYXNlQ3VycmVuY3ksIGN1cnJlbmN5LmNvZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT2J0aWVuZSBsYSBjb252ZXJzaW9uIGRlc2RlIGxhIG1vbmVkYSBiYXNlIGEgbGEgZGVzdGluby4gUmVjaWJlIHVuIG9iamV0byBkZSB0aXBvIEN1cnJlbmN5Q29uZmlnLlxuICAgICAqIFNpIGxhIGNvbnZlcnNpb24gcmV0b3JuYSByZXN1bHRhZG8gcmVhbGl6YSBlbCBjYW1iaW8sIGRlIGxvIGNvbnRyYXJpbyBlbWl0ZSB1biBtZW5zYWplIGRlIGVycm9yLlxuICAgICAqIEBwYXJhbSBiYXNlQ3VycmVuY3kgQ29kaWdvIGRlIGxhIG1vbmVkYSBiYXNlLlxuICAgICAqIEBwYXJhbSB0YXJnZXRDdXJyZW5jeSBDb2RpZ28gZGUgbGEgbW9uZWRhIGRlc3Rpbm8uXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRDb252ZXJ0aWJpbGl0eShiYXNlQ3VycmVuY3k6IGFueSwgdGFyZ2V0Q3VycmVuY3k6IGFueSkge1xuICAgICAgICB0aGlzLl9jb25uZWN0aW9uLmdldCh0aGlzLmdldENvbnZlcnRpYmlsaXR5QXBpKGJhc2VDdXJyZW5jeSwgdGFyZ2V0Q3VycmVuY3kpKVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpLnRoZW4oXG4gICAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRlbXBDdXJyZW5jeSA9IHJlc1swXVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkQ3VycmVuY3kodGVtcEN1cnJlbmN5KVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbGEgdmFyaWFibGUgcmVzIG5vIGNvbnRpZW5lIHZhbG9yLCBhc2VndXJlc2UgZGUgcXVlIGVzdGEgY29udmVyc2nDs24gZXN0ZSBjb25maWd1cmFkYSBlbiBlbCBiYWNrb2ZmaWNlJylcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vdGhpcy50b2FzdHIuc2hvdygnZXJyb3ItY29udmVydGliaWxpdHknKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKS5jYXRjaChlcnIgPT4gY29uc29sZS5sb2coZXJyKSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYXJnYSBsYSBtb25lZGEsIHNpIGhheSB1bmEgZW4gZWwgbG9jYWxzdG9yYWdlIHRvbWEgZXNhIHkgcmVhbGl6YSBsYSBjb252ZXJzaW9uLlxuICAgICAqIGRlIGxvIGNvbnRyYXJpbyBzb2xvIHNldGVhIGVuIGVsIG9ic2VydmFibGUgY3VycmVuY3lTdWJqZWN0IGVsIHZhbG9yIHBvciBkZWZlY3RvIGNhcmdhZG8gZW4gbGFzIGNvbnN0YW50ZXMuIFxuICAgICAqL1xuICAgIHByaXZhdGUgbG9hZCgpIHtcbiAgICAgICAgbGV0IHN0b3JlQ3VycmVuY3kgPSB0aGlzLmN1cnJlbmN5U3RvcmUuY3VycmVuY3koKTtcbiAgICAgICAgaWYgKHN0b3JlQ3VycmVuY3kgJiYgc3RvcmVDdXJyZW5jeS5jb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlQ29udmVydGliaWxpdHkoc3RvcmVDdXJyZW5jeSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbmN5U3ViamVjdC5uZXh0KHRoaXMuX2NvbnN0cy5jdXJyZW5jeSlcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9jdXJyZW5jeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBQzFDOzs7R0FHRztBQUlILE1BQU0sT0FBTyxlQUFlO0lBQ3hCOztPQUVHO0lBQ0ssT0FBTyxHQUF5QixNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUNwRTs7T0FFRztJQUNLLFVBQVUsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDckU7O09BRUc7SUFDSyxXQUFXLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ2xFOztPQUVHO0lBQ0ssUUFBUSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDekQ7O09BRUc7SUFDSyxTQUFTLEdBQW9CLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDaEU7O09BRUc7SUFDSyxnQkFBZ0IsR0FBb0MsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbkY7O09BRUc7SUFDSyxvQkFBb0IsR0FBeUIsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUE7SUFD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YSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xELElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDOUMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDckQsQ0FBQztJQUNMLENBQUM7d0dBbktRLGVBQWU7NEdBQWYsZUFBZSxjQUZaLE1BQU07OzRGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UsIENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEN1cnJlbmN5Q29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi9jaGFubmVsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXJyZW5jeVN0b3JlIH0gZnJvbSAnLi4vc3RvcmVzJztcclxuLyoqXHJcbiAqIFNlcnZpY2lvIGVuY2FyZ2FkbyBkZSBtYW5lamFyIHRvZG8gbG8gcXVlIGVzdGUgcmVsYWNpb25hZG8gYSBsYSBtb25lZGFcclxuICogcXVlIG1hbmVqYSBsYSBhcGxpY2FjacOzbi5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lTZXJ2aWNlIHtcclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RhbnRlcyBkZSBjb3JlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2NvbnN0czogQ29yZUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQ29yZUNvbnN0YW50c1NlcnZpY2UpXHJcbiAgICAvKipcclxuICAgICAqIENvbnN0YW50ZXMgZGUgbGEgQVBJXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2FwaUNvbnN0czogQXBpQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChBcGlDb25zdGFudHNTZXJ2aWNlKVxyXG4gICAgLyoqXHJcbiAgICAgKiBNYW5lamEgbGFzIHBldGljaW9uZXMgYSBsYSBBUElcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UgPSBpbmplY3QoQ29ubmVjdGlvblNlcnZpY2UpXHJcbiAgICAvKipcclxuICAgICAqIFNlcnZpY2lvIGRlIGNhbmFsZXNcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfY2hhbm5lbDogQ2hhbm5lbFNlcnZpY2UgPSBpbmplY3QoQ2hhbm5lbFNlcnZpY2UpXHJcbiAgICAvKipcclxuICAgICAqIENvbnRpZW5lIGVsIGNhbmFsIGFjdGl2byBkZSBsYSBBUEkuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2NoYW5uZWwkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLl9jaGFubmVsLmdldENoYW5uZWwoKTtcclxuICAgIC8qKlxyXG4gICAgICogU3ViamVjdCBwYXJhIG1hbmVqYXIgbGEgbW9uZWRhIGFjdHVhbC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfY3VycmVuY3lTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8Q3VycmVuY3lDb25maWc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSlcclxuICAgIC8qKlxyXG4gICAgICogU3ViamVjdCBwYXJhIG1hbmVqYXIgbGEgbGlzdGEgZGUgbW9uZWRhcyBkZSBsYSBhcGxpY2FjacOzbi5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfY3VycmVuY3lMaXN0U3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKVxyXG4gICAgLyoqXHJcbiAgICAgKiBTdWJqZWN0IHBhcmEgaW5kaWNhciBsYSBhY3R1YWxpemFjacOzbiBkZSB1biBlc3RhZG8uXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3VwZGF0ZVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpXHJcblxyXG4gICAgcHVibGljIGN1cnJlbmN5JDogT2JzZXJ2YWJsZTxDdXJyZW5jeUNvbmZpZz4gPSB0aGlzLl9jdXJyZW5jeVN1YmplY3QuYXNPYnNlcnZhYmxlKClcclxuICAgIHB1YmxpYyBjdXJyZW5jeUxpc3QkOiBPYnNlcnZhYmxlPGFueVtdPiA9IHRoaXMuX2N1cnJlbmN5TGlzdFN1YmplY3QuYXNPYnNlcnZhYmxlKClcclxuICAgIHB1YmxpYyB1cGRhdGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fdXBkYXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICAvL0FQSSBVUkxcclxuICAgIC8qKlxyXG4gICAgICogRGV2dWVsdmUgbGEgVVJMIHBhcmEgb2J0ZW5lciBsaXN0YSBkZSBtb25lZGFzIGRlIGxhIGFwbGljYWNpw7NuLlxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0Q3VycmVuY3lMaXN0QXBpKCkgeyByZXR1cm4gYCR7dGhpcy5fYXBpQ29uc3RzLlNIT1BfQVBJX1VSTH0vY3VycmVuY2llc2AgfTtcclxuICAgIC8qKlxyXG4gICAgICogRGV2dWVsdmUgbGEgVVJMIHBhcmEgb2J0ZW5lciBsYSBjb252ZXJ0aWJpbGlkYWQgZGUgdW5hIG1vbmVkYS4gXHJcbiAgICAgKiBAcGFyYW0gYmFzZUN1cnJlbmN5IE1vbmVkYSBiYXNlXHJcbiAgICAgKiBAcGFyYW0gdGFyZ2V0Q3VycmVuY3kgTW9uZWRhIGRlc3Rpbm9cclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldENvbnZlcnRpYmlsaXR5QXBpKGJhc2VDdXJyZW5jeTogYW55LCB0YXJnZXRDdXJyZW5jeTogYW55KSB7IHJldHVybiBgJHt0aGlzLl9hcGlDb25zdHMuU0hPUF9BUElfVVJMfS9jdXJyZW5jaWVzP2Jhc2VDdXJyZW5jeT0ke2Jhc2VDdXJyZW5jeX0mdGFyZ2V0Q3VycmVuY3k9JHt0YXJnZXRDdXJyZW5jeX1gIH1cclxuICAgIC8qKlxyXG4gICAgICogU3RvcmUgcXVlIGd1YXJkYXJhIGxhIG1vbmVkYSBhY3R1YWwgcXVlIG1hbmVqYSBsYSBhcGxpY2FjacOzbi5cclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGN1cnJlbmN5U3RvcmUgPSBpbmplY3QoQ3VycmVuY3lTdG9yZSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5fY2hhbm5lbCQuc3Vic2NyaWJlKGNoYW5uZWwgPT4ge1xyXG4gICAgICAgICAgICBjaGFubmVsLmFwcGx5Q3VycmVuY3lFeGNoYW5nZSA/IHRoaXMubG9hZEN1cnJlbmN5TGlzdCgpIDogdGhpcy5sb2FkRGVmYXVsdEN1cnJlbmN5KGNoYW5uZWwuYmFzZUN1cnJlbmN5KTtcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICAgKiAgU2UgY2FyZ2EgbGEgbW9uZWRhIHBvciBkZWZlY3RvLlxyXG4gICAgICAgKi9cclxuICAgIHByaXZhdGUgbG9hZERlZmF1bHRDdXJyZW5jeShjdXJyZW5jeTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5fY29uc3RzLnNldEN1cnJlbmN5KGN1cnJlbmN5KTtcclxuICAgICAgICB0aGlzLmxvYWQoKVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogIENhcmdhIGxhIGxpc3RhIGRlIG1vbmVkYXMvY3VycmVuY2llcy5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkQ3VycmVuY3lMaXN0KCkge1xyXG4gICAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuX2Nvbm5lY3Rpb24uZ2V0KHRoaXMuZ2V0Q3VycmVuY3lMaXN0QXBpKCkpKVxyXG4gICAgICAgICAgICAudGhlbihyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY3VycmVuY3lMaXN0U3ViamVjdC5uZXh0KHJlcylcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbnN0cy5zZXRDdXJyZW5jeVR5cGVDb25maWcocmVzKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkKClcclxuICAgICAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqICBjYWxjdWxhIGxhIGNvbnZldGliaWxpZGFkIGRlbCBwcmVjaW8gIHBhc2FkbyBwb3IgcGFyYW1lbnRybyBzZWd1biBlc3RhIGZvcm11bGE6XHJcbiAgICAgKiAqKmMgPSBhICogYioqIGRvbmRlICpjPW1vbmVkYSBkZXNwdWVzIGRlbCBjYW1iaW8qLCAqYT12YWxvciBxdWUgcXVpZXJvIGNhbWJpYXIqIHkgKmI9cmF0aW8gZGUgY2FtYmlvKi4gXHJcbiAgICAgKiBAcGFyYW0gcHJpY2UgUHJlY2lvIGEgY2FtYmlhclxyXG4gICAgICogQHBhcmFtIHJhdGlvIFJhdGlvIGRlIGNhbWJpb1xyXG4gICAgICogQHJldHVybnMgU2kgZWwgcmF0aW8gbm8gZXMgbnVsbCwgcmV0b3JuYSBlbCBwcmVjaW8gY2FtYmlhZG8sIHNpbm8gcmV0b3JuYSBlbCBwcmVjaW8gc2luIGNhbWJpb3MuIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2FsY3VsYXRlQ29udmV0aWJpbGl0eShwcmljZTogbnVtYmVyLCByYXRpbzogbnVtYmVyKSB7XHJcbiAgICAgICAgcmV0dXJuIHJhdGlvID8gcHJpY2UgKiByYXRpbyA6IHByaWNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogIGdlbmVyYSBsYSBjYXJnYSB5IGNvbmZpZ3VyYWNpw7NuIGRlIGxhIG1vbmVkYSBlbGVnaWRhIHBhcmEgbGEgY29udmVyc2lvbi5cclxuICAgICAqIEBwYXJhbSBjdXJyZW5jeSBNb25lZGEgYSBjb252ZXJ0aXIuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgbG9hZEN1cnJlbmN5KGN1cnJlbmN5OiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9jdXJyZW5jeVN1YmplY3QubmV4dChjdXJyZW5jeSk7XHJcbiAgICAgICAgdGhpcy5fY29uc3RzLnNldEN1cnJlbmN5KGN1cnJlbmN5LmNvZGUpO1xyXG4gICAgICAgIGxldCB1cGRhdGUgPSB0aGlzLl91cGRhdGVTdWJqZWN0LmdldFZhbHVlKClcclxuICAgICAgICB0aGlzLl91cGRhdGVTdWJqZWN0Lm5leHQoIXVwZGF0ZSlcclxuICAgICAgICB0aGlzLmN1cnJlbmN5U3RvcmUuYWRkKHRoaXMuX2NvbnN0cy5jdXJyZW5jeSlcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdlbmVyYSBsYSBjb252ZXJ0aWJpbGlkYWQgZGUgbGEgbW9uZWRhIGJhc2UgYSBsYSBudWV2YS4gU2kgYmFzZUN1cnJlbmN5IG5vIHRpZW5lIHZhbG9yIFxyXG4gICAgICogZW50b25jZXMgdXRpbGl6YSBsYSBtb25lZGEgYmFzZSBkZWwgY2FuYWwuXHJcbiAgICAgKiBAcGFyYW0gY3VycmVuY3kgT2JqZXRvIGRlIGxhIG1vbmVkYSBkZXN0aW5vLlxyXG4gICAgICogQHBhcmFtIGJhc2VDdXJyZW5jeSBDb2RpZ28gZGUgbGEgbW9uZWRhIGJhc2UuICpFajogVVNEIHwgQVJTIHwgRVVSIHwuLi4qXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIGdlbmVyYXRlQ29udmVydGliaWxpdHkoY3VycmVuY3k6IGFueSwgYmFzZUN1cnJlbmN5Pzogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKCFiYXNlQ3VycmVuY3kpIHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGJhc2VDdXJyZW5jeSA9IGF3YWl0IHRoaXMuX2NoYW5uZWwuZ2V0QWN0aXZlQ2hhbm5lbCgpLmJhc2VDdXJyZW5jeTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIC8vY29uc29sZS5lcnJvcihlcnJvcilcclxuICAgICAgICAgICAgICAgIGJhc2VDdXJyZW5jeSA9ICdVU0QnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJCQ1wiLCBiYXNlQ3VycmVuY3kpO1xyXG4gICAgICAgIGlmIChjdXJyZW5jeS5jb2RlID09IGJhc2VDdXJyZW5jeSkge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRDdXJyZW5jeShjdXJyZW5jeSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRDb252ZXJ0aWJpbGl0eShiYXNlQ3VycmVuY3ksIGN1cnJlbmN5LmNvZGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9idGllbmUgbGEgY29udmVyc2lvbiBkZXNkZSBsYSBtb25lZGEgYmFzZSBhIGxhIGRlc3Rpbm8uIFJlY2liZSB1biBvYmpldG8gZGUgdGlwbyBDdXJyZW5jeUNvbmZpZy5cclxuICAgICAqIFNpIGxhIGNvbnZlcnNpb24gcmV0b3JuYSByZXN1bHRhZG8gcmVhbGl6YSBlbCBjYW1iaW8sIGRlIGxvIGNvbnRyYXJpbyBlbWl0ZSB1biBtZW5zYWplIGRlIGVycm9yLlxyXG4gICAgICogQHBhcmFtIGJhc2VDdXJyZW5jeSBDb2RpZ28gZGUgbGEgbW9uZWRhIGJhc2UuXHJcbiAgICAgKiBAcGFyYW0gdGFyZ2V0Q3VycmVuY3kgQ29kaWdvIGRlIGxhIG1vbmVkYSBkZXN0aW5vLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldENvbnZlcnRpYmlsaXR5KGJhc2VDdXJyZW5jeTogYW55LCB0YXJnZXRDdXJyZW5jeTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5fY29ubmVjdGlvbi5nZXQodGhpcy5nZXRDb252ZXJ0aWJpbGl0eUFwaShiYXNlQ3VycmVuY3ksIHRhcmdldEN1cnJlbmN5KSlcclxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpLnRoZW4oXHJcbiAgICAgICAgICAgICAgICByZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRlbXBDdXJyZW5jeSA9IHJlc1swXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRDdXJyZW5jeSh0ZW1wQ3VycmVuY3kpXHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbGEgdmFyaWFibGUgcmVzIG5vIGNvbnRpZW5lIHZhbG9yLCBhc2VndXJlc2UgZGUgcXVlIGVzdGEgY29udmVyc2nDs24gZXN0ZSBjb25maWd1cmFkYSBlbiBlbCBiYWNrb2ZmaWNlJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy90aGlzLnRvYXN0ci5zaG93KCdlcnJvci1jb252ZXJ0aWJpbGl0eScpXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApLmNhdGNoKGVyciA9PiBjb25zb2xlLmxvZyhlcnIpKVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FyZ2EgbGEgbW9uZWRhLCBzaSBoYXkgdW5hIGVuIGVsIGxvY2Fsc3RvcmFnZSB0b21hIGVzYSB5IHJlYWxpemEgbGEgY29udmVyc2lvbi5cclxuICAgICAqIGRlIGxvIGNvbnRyYXJpbyBzb2xvIHNldGVhIGVuIGVsIG9ic2VydmFibGUgY3VycmVuY3lTdWJqZWN0IGVsIHZhbG9yIHBvciBkZWZlY3RvIGNhcmdhZG8gZW4gbGFzIGNvbnN0YW50ZXMuIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGxvYWQoKSB7XHJcbiAgICAgICAgbGV0IHN0b3JlQ3VycmVuY3kgPSB0aGlzLmN1cnJlbmN5U3RvcmUuY3VycmVuY3koKTtcclxuICAgICAgICBpZiAoc3RvcmVDdXJyZW5jeSAmJiBzdG9yZUN1cnJlbmN5LmNvZGUpIHtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUNvbnZlcnRpYmlsaXR5KHN0b3JlQ3VycmVuY3kpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fY3VycmVuY3lTdWJqZWN0Lm5leHQodGhpcy5fY29uc3RzLmN1cnJlbmN5KVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -2,6 +2,7 @@ import { EnvironmentInjector, inject, Injectable, runInInjectionContext } from '
|
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
3
|
import { FilterFactory } from '../classes';
|
|
4
4
|
import { ApiConstantsService, CoreConstantsService } from '../constants';
|
|
5
|
+
import { PriceRangeFilter } from '../classes/filters/price_range-filter';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class FiltersService {
|
|
7
8
|
_apiConsts = inject(ApiConstantsService);
|
|
@@ -21,6 +22,7 @@ export class FiltersService {
|
|
|
21
22
|
limit: 0
|
|
22
23
|
};
|
|
23
24
|
_filtersInitialized = false;
|
|
25
|
+
_lastRouteQuery = null;
|
|
24
26
|
constructor() {
|
|
25
27
|
//this._defaultFilters = this._consts.getDefaultFilters()
|
|
26
28
|
}
|
|
@@ -41,10 +43,20 @@ export class FiltersService {
|
|
|
41
43
|
let extra_params = '';
|
|
42
44
|
this._filtersSubject.value.forEach(filter => {
|
|
43
45
|
const extra = filter.toUrlParams();
|
|
44
|
-
extra.split('=')[1]
|
|
46
|
+
if (extra && extra.split('=')[1] !== '') {
|
|
47
|
+
extra_params += extra;
|
|
48
|
+
}
|
|
45
49
|
});
|
|
46
|
-
|
|
47
|
-
|
|
50
|
+
// Si en la URL ya venía `attributeCodes` pero aún ningún filtro lo agregó,
|
|
51
|
+
// lo volvemos a sumar a mano. Esto evita que al refrescar (SSR) se pierda el filtro
|
|
52
|
+
// aunque el AttributesFilter todavía no haya terminado de hidratarse.
|
|
53
|
+
const attributeCodesFromRoute = this._lastRouteQuery?.['attributeCodes'];
|
|
54
|
+
if (attributeCodesFromRoute && !extra_params.includes('attributeCodes=')) {
|
|
55
|
+
extra_params += `&attributeCodes=${attributeCodesFromRoute}`;
|
|
56
|
+
}
|
|
57
|
+
if (search_value) {
|
|
58
|
+
extra_params += '&criteria[search][type]=contains&criteria[search][value]=' + search_value;
|
|
59
|
+
}
|
|
48
60
|
return this.productsFilterApi(extra_params);
|
|
49
61
|
}
|
|
50
62
|
isUpdated(paginationSettings) {
|
|
@@ -60,7 +72,7 @@ export class FiltersService {
|
|
|
60
72
|
this._paginationSettings = paginationSettings;
|
|
61
73
|
return change;
|
|
62
74
|
}
|
|
63
|
-
setFilters(paginationSettings, search_value) {
|
|
75
|
+
setFilters(paginationSettings, search_value, routeQueryParams) {
|
|
64
76
|
this._paginationSettings = paginationSettings;
|
|
65
77
|
let final_filters = [];
|
|
66
78
|
let filtersToProcess = this._optionsFilters?.includes('all')
|
|
@@ -73,15 +85,30 @@ export class FiltersService {
|
|
|
73
85
|
if (filter) {
|
|
74
86
|
final_filters.push(filter);
|
|
75
87
|
}
|
|
76
|
-
else {
|
|
77
|
-
// console.warn(`❌ Failed to create filter for type: ${filterType}`);
|
|
78
|
-
}
|
|
79
88
|
});
|
|
80
89
|
});
|
|
81
90
|
this._defaultFilters?.forEach(filterDefault => {
|
|
82
91
|
let filter = final_filters.find(filter => filter.type() == filterDefault.filter_type);
|
|
83
92
|
filter && filterDefault.codes.forEach(value => filter.setSelected(value));
|
|
84
93
|
});
|
|
94
|
+
// hidratar price_range desde la URL
|
|
95
|
+
if (routeQueryParams) {
|
|
96
|
+
const pr = final_filters.find(f => f.type() === 'price_range');
|
|
97
|
+
if (pr) {
|
|
98
|
+
const rawMin = routeQueryParams['price_min'];
|
|
99
|
+
const rawMax = routeQueryParams['price_max'];
|
|
100
|
+
const min = rawMin != null ? Number(rawMin) : null;
|
|
101
|
+
const max = rawMax != null ? Number(rawMax) : null;
|
|
102
|
+
if ((min != null && !Number.isNaN(min)) || (max != null && !Number.isNaN(max))) {
|
|
103
|
+
if (min != null && !Number.isNaN(min)) {
|
|
104
|
+
pr.currentMinPrice = min;
|
|
105
|
+
}
|
|
106
|
+
if (max != null && !Number.isNaN(max)) {
|
|
107
|
+
pr.currentMaxPrice = max;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
85
112
|
this._filtersSubject.next(final_filters);
|
|
86
113
|
}
|
|
87
114
|
getFilters(paginationSettings) {
|
|
@@ -96,9 +123,7 @@ export class FiltersService {
|
|
|
96
123
|
runInInjectionContext(this.environmentInjector, () => {
|
|
97
124
|
const filterFactory = new FilterFactory();
|
|
98
125
|
filtersToProcess?.forEach(filterType => {
|
|
99
|
-
// console.log('Creating filter for type:', filterType);
|
|
100
126
|
const filter = filterFactory.create(filterType, settings);
|
|
101
|
-
// console.log('Created filter:', filter);
|
|
102
127
|
if (filter) {
|
|
103
128
|
final_filters.push(filter);
|
|
104
129
|
}
|
|
@@ -123,7 +148,6 @@ export class FiltersService {
|
|
|
123
148
|
if (filterObj.type() !== 'price_range') {
|
|
124
149
|
let index = final_filters.findIndex(filter => filter.type() == filterObj.type());
|
|
125
150
|
final_filters[index].setSelected(filterElem, filterElem.value || filterElem.code);
|
|
126
|
-
console.log(index, final_filters);
|
|
127
151
|
}
|
|
128
152
|
this._filtersSubject.next(final_filters);
|
|
129
153
|
// }
|
|
@@ -133,13 +157,6 @@ export class FiltersService {
|
|
|
133
157
|
runInInjectionContext(this.environmentInjector, () => {
|
|
134
158
|
const filterFactory = new FilterFactory();
|
|
135
159
|
const filter = [];
|
|
136
|
-
/* claves.forEach((key:any) => {
|
|
137
|
-
filter.push(filterFactory.create(key))
|
|
138
|
-
paginationFilters[key].forEach((value:any) => {
|
|
139
|
-
console.log(filter[0].createElement(value,paginationFilters[key]));
|
|
140
|
-
})
|
|
141
|
-
|
|
142
|
-
}) */
|
|
143
160
|
this._filtersSubject.value.forEach((value) => {
|
|
144
161
|
if (value.type() == "attributes") {
|
|
145
162
|
//value.data = [];
|
|
@@ -159,6 +176,95 @@ export class FiltersService {
|
|
|
159
176
|
pr.setSelected(min, max);
|
|
160
177
|
this._filtersSubject.next([...filters]);
|
|
161
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Fuerza a emitir de nuevo los filtros actuales.
|
|
181
|
+
* Útil cuando un filtro async (categorías, atributos) termina de cargarse
|
|
182
|
+
* y necesitamos que PaginationService vuelva a armar la URL.
|
|
183
|
+
*/
|
|
184
|
+
refreshFilters() {
|
|
185
|
+
const current = this._filtersSubject.value;
|
|
186
|
+
// Emitimos una copia para que los subscribers detecten el cambio
|
|
187
|
+
this._filtersSubject.next([...current]);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Punto central donde se hidratan los filtros a partir de la URL:
|
|
191
|
+
* - Lee type/value de la ruta (ej. /collection/categories/:value).
|
|
192
|
+
* - Lee query params (category, price_min, price_max, attributeCodes, search, etc.).
|
|
193
|
+
* - Crea instancias de filtros y les delega la hidratación específica.
|
|
194
|
+
*
|
|
195
|
+
* Este método se llama tanto en SSR como en navegador.
|
|
196
|
+
*/
|
|
197
|
+
hydrateFromRoute(paginationSettings, routeParams, routeQuery) {
|
|
198
|
+
// hidratar search desde la URL ===
|
|
199
|
+
const searchFromUrl = routeQuery?.['search'];
|
|
200
|
+
if (typeof searchFromUrl === 'string' && searchFromUrl.trim() !== '') {
|
|
201
|
+
// Guardamos el valor para que otros componentes (Header, Collection) lo reutilicen
|
|
202
|
+
this._consts.searchValue = searchFromUrl.trim();
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
// Si no viene `search` en la URL, limpiamos el estado global para no arrastrar búsquedas viejas
|
|
206
|
+
this._consts.searchValue = '';
|
|
207
|
+
}
|
|
208
|
+
// Guardamos la última query completa para usarla en generateFinalApi (parche attributeCodes)
|
|
209
|
+
this._lastRouteQuery = routeQuery;
|
|
210
|
+
// Guardamos las settings actuales (type, value, limit, etc.)
|
|
211
|
+
this._paginationSettings = paginationSettings;
|
|
212
|
+
// Creamos los filtros base (attributes, categories, dynamics, sort, price_range, etc.)
|
|
213
|
+
let final_filters = [];
|
|
214
|
+
let filtersToProcess = this._optionsFilters?.includes('all')
|
|
215
|
+
? ['attributes', 'categories', 'dynamics', 'sort', 'price_range']
|
|
216
|
+
: this._optionsFilters;
|
|
217
|
+
runInInjectionContext(this.environmentInjector, () => {
|
|
218
|
+
const filterFactory = new FilterFactory();
|
|
219
|
+
filtersToProcess?.forEach(filterType => {
|
|
220
|
+
const filter = filterFactory.create(filterType, paginationSettings);
|
|
221
|
+
if (filter) {
|
|
222
|
+
final_filters.push(filter);
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
// Aplicamos defaultFilters si corresponde
|
|
227
|
+
this._defaultFilters?.forEach(filterDefault => {
|
|
228
|
+
const filter = final_filters.find(f => f.type() === filterDefault.filter_type);
|
|
229
|
+
filter && filterDefault.codes.forEach(value => filter.setSelected(value));
|
|
230
|
+
});
|
|
231
|
+
// Hidratar filtros con slug y query params genéricos
|
|
232
|
+
final_filters.forEach(f => {
|
|
233
|
+
const anyFilter = f;
|
|
234
|
+
// type/value en la URL: /collection/categories/:value
|
|
235
|
+
const urlType = routeParams['type'];
|
|
236
|
+
const urlValue = routeParams['value'];
|
|
237
|
+
// Por ejemplo, el CategoryFilter implementa setFromSlug para marcar la categoría correcta
|
|
238
|
+
if (urlType === 'categories' && urlValue && typeof anyFilter.setFromSlug === 'function') {
|
|
239
|
+
anyFilter.setFromSlug(urlValue);
|
|
240
|
+
}
|
|
241
|
+
// query params genéricos: ?category=0101&price_min=...&price_max=...&attributeCodes=...
|
|
242
|
+
// Cada filtro que lo soporte implementa hydrateFromQuery y decide qué leer.
|
|
243
|
+
if (typeof anyFilter.hydrateFromQuery === 'function') {
|
|
244
|
+
anyFilter.hydrateFromQuery(routeQuery);
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
// Hidratar específicamente el PriceRangeFilter desde la URL
|
|
248
|
+
const priceFilter = final_filters.find((f) => f instanceof PriceRangeFilter);
|
|
249
|
+
if (priceFilter && routeQuery) {
|
|
250
|
+
const minFromUrl = routeQuery['price_min'];
|
|
251
|
+
const maxFromUrl = routeQuery['price_max'];
|
|
252
|
+
if (minFromUrl != null || maxFromUrl != null) {
|
|
253
|
+
const min = minFromUrl != null ? Number(minFromUrl) : priceFilter.minPrice;
|
|
254
|
+
const max = maxFromUrl != null ? Number(maxFromUrl) : priceFilter.maxPrice;
|
|
255
|
+
// usamos la API del filtro para setear el rango
|
|
256
|
+
priceFilter.setSelected(min, max);
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
// si no hay nada en la URL, lo reseteamos
|
|
260
|
+
priceFilter.reset();
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
// Emitimos filtros ya hidratados para que PaginationService y Collection reaccionen
|
|
264
|
+
this._filtersSubject.next(final_filters);
|
|
265
|
+
// Marcamos que el sistema de filtros está listo (útil para mostrar spinners, etc.)
|
|
266
|
+
this._readySubject.next(true);
|
|
267
|
+
}
|
|
162
268
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FiltersService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
163
269
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FiltersService, providedIn: 'root' });
|
|
164
270
|
}
|
|
@@ -168,4 +274,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
168
274
|
providedIn: 'root'
|
|
169
275
|
}]
|
|
170
276
|
}], ctorParameters: () => [] });
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL2ZpbHRlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBVSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQU16RSxNQUFNLE9BQU8sY0FBYztJQUNmLFVBQVUsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDOUQsT0FBTyxHQUF5QixNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM3RCxlQUFlLEdBQThCLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2hGLFFBQVEsR0FBeUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVwRSxjQUFjLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLE9BQU8sR0FBdUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVoRSxhQUFhLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQy9FLE1BQU0sR0FBd0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUUvRCxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUVqRCxlQUFlLEdBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsZUFBZSxHQUFvQixFQUFFLENB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QUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLGFBQWEsQ0FBaUMsQ0FBQztRQUN6RixJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU87UUFDaEIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQzt3R0F2S1EsY0FBYzs0R0FBZCxjQUFjLGNBRlgsTUFBTTs7NEZBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudEluamVjdG9yLCBpbmplY3QsIEluamVjdGFibGUsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWx0ZXIsIEZpbHRlckZhY3RvcnkgfSBmcm9tICcuLi9jbGFzc2VzJztcbmltcG9ydCB7IERlZmF1bHRGaWx0ZXIsIEZpbHRlckVsZW1lbnQsIFBhZ2luYXRpb25TZXR0aW5ncywgRmlsdGVyVHlwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXBpQ29uc3RhbnRzU2VydmljZSwgQ29yZUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUHJpY2VSYW5nZUZpbHRlciB9IGZyb20gJy4uL2NsYXNzZXMvZmlsdGVycy9wcmljZV9yYW5nZS1maWx0ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlcnNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9hcGlDb25zdHM6IEFwaUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSk7XG4gICAgcHJpdmF0ZSBfY29uc3RzOiBDb3JlQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSk7XG4gICAgcHJpdmF0ZSBfZmlsdGVyc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlcltdPihbXSk7XG4gICAgcHVibGljIGZpbHRlcnMkOiBPYnNlcnZhYmxlPEZpbHRlcltdPiA9IHRoaXMuX2ZpbHRlcnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBfYXBpVXJsU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHB1YmxpYyBhcGlVcmwkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLl9hcGlVcmxTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBfcmVhZHlTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwdWJsaWMgcmVhZHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fcmVhZHlTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBlbnZpcm9ubWVudEluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpXG5cbiAgICBwcml2YXRlIF9vcHRpb25zRmlsdGVyczogKEZpbHRlclR5cGUgfCAnYWxsJylbXSA9IFsnYWxsJ107XG4gICAgcHJpdmF0ZSBfZGVmYXVsdEZpbHRlcnM6IERlZmF1bHRGaWx0ZXJbXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBfcGFnaW5hdGlvblNldHRpbmdzOiBQYWdpbmF0aW9uU2V0dGluZ3MgPSB7XG4gICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgdHlwZTogJycsXG4gICAgICAgIGxpbWl0OiAwXG4gICAgfTtcblxuICAgIHByaXZhdGUgX2ZpbHRlcnNJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8vdGhpcy5fZGVmYXVsdEZpbHRlcnMgPSB0aGlzLl9jb25zdHMuZ2V0RGVmYXVsdEZpbHRlcnMoKVxuICAgIH1cblxuICAgIC8vQVBJIFVSTFxuICAgIC8qKlxuICAgICAqIFJldG9ybmEgbGEgdXJsIHBhcmEgZWwgZmlsdHJhZG9cbiAgICAgKiBAcGFyYW0gZmlsdGVycyBcbiAgICAgKiBAcmV0dXJucyBcbiAgICAgKi9cbiAgICBwcm9kdWN0c0ZpbHRlckFwaShmaWx0ZXJzID0gJycpIHsgcmV0dXJuICdzaG9wLWFwaS8nICsgdGhpcy5fYXBpQ29uc3RzLkNIQU5ORUwgKyAnL3Byb2R1Y3Qtc2VhcmNoLycgKyAnP2xvY2FsZT0nICsgdGhpcy5fYXBpQ29uc3RzLkxPQ0FMRSArIGZpbHRlcnMgfTtcbiAgICAvKipcbiAgICAgKiBBcm1hIGxvcyBmaWx0cm9zIHkgcmV0b3JuYSBsYSB1cmwgY29tcGxldGEgY29uIGxvcyBmaWx0cm9zIGFwbGljYWRvcy5cbiAgICAgKiBAcGFyYW0gc2VhcmNoX3ZhbHVlIHZhbG9yIGEgYnVzY2FyXG4gICAgICogQHJldHVybnMgXG4gICAgICovXG4gICAgZ2VuZXJhdGVGaW5hbEFwaShzZWFyY2hfdmFsdWU/OiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IGV4dHJhX3BhcmFtcyA9ICcnO1xuICAgICAgICB0aGlzLl9maWx0ZXJzU3ViamVjdC52YWx1ZS5mb3JFYWNoKGZpbHRlciA9PiB7XG4gICAgICAgICAgICBjb25zdCBleHRyYSA9IGZpbHRlci50b1VybFBhcmFtcygpO1xuICAgICAgICAgICAgZXh0cmEuc3BsaXQoJz0nKVsxXSAhPSAnJyA/IGV4dHJhX3BhcmFtcyArPSBleHRyYSA6IG51bGw7XG4gICAgICAgIH0pXG4gICAgICAgIGlmIChzZWFyY2hfdmFsdWUpIGV4dHJhX3BhcmFtcyArPSAoJyZjcml0ZXJpYVtzZWFyY2hdW3R5cGVdPWNvbnRhaW5zJmNyaXRlcmlhW3NlYXJjaF1bdmFsdWVdPScgKyBzZWFyY2hfdmFsdWUpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnByb2R1Y3RzRmlsdGVyQXBpKGV4dHJhX3BhcmFtcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1VwZGF0ZWQocGFnaW5hdGlvblNldHRpbmdzOiBQYWdpbmF0aW9uU2V0dGluZ3MpIHtcbiAgICAgICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhwYWdpbmF0aW9uU2V0dGluZ3MpO1xuICAgICAgICBsZXQgY2hhbmdlOiBib29sZWFuID0gZmFsc2U7XG4gICAgICAgIGtleXMuZm9yRWFjaCgoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gKHBhZ2luYXRpb25TZXR0aW5ncyBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KVtrZXldO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUyID0gKHRoaXMuX3BhZ2luYXRpb25TZXR0aW5ncyBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KVtrZXldO1xuICAgICAgICAgICAgaWYgKHZhbHVlICE9IHZhbHVlMikgY2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGNoYW5nZSkgdGhpcy5fcGFnaW5hdGlvblNldHRpbmdzID0gcGFnaW5hdGlvblNldHRpbmdzO1xuICAgICAgICByZXR1cm4gY2hhbmdlO1xuICAgIH1cblxuICAgIHNldEZpbHRlcnMocGFnaW5hdGlvblNldHRpbmdzOiBQYWdpbmF0aW9uU2V0dGluZ3MsIHNlYXJjaF92YWx1ZT86IHN0cmluZykge1xuICAgICAgICB0aGlzLl9wYWdpbmF0aW9uU2V0dGluZ3MgPSBwYWdpbmF0aW9uU2V0dGluZ3M7XG4gICAgICAgIGxldCBmaW5hbF9maWx0ZXJzOiBGaWx0ZXJbXSA9IFtdO1xuICAgICAgICBsZXQgZmlsdGVyc1RvUHJvY2VzcyA9IHRoaXMuX29wdGlvbnNGaWx0ZXJzPy5pbmNsdWRlcygnYWxsJylcbiAgICAgICAgICAgID8gKFsnYXR0cmlidXRlcycsICdjYXRlZ29yaWVzJywgJ2R5bmFtaWNzJywgJ3NvcnQnLCAncHJpY2VfcmFuZ2UnXSBhcyBGaWx0ZXJUeXBlW10pXG4gICAgICAgICAgICA6IHRoaXMuX29wdGlvbnNGaWx0ZXJzO1xuXG4gICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmVudmlyb25tZW50SW5qZWN0b3IsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlckZhY3RvcnkgPSBuZXcgRmlsdGVyRmFjdG9yeSgpO1xuICAgICAgICAgICAgZmlsdGVyc1RvUHJvY2Vzcz8uZm9yRWFjaChmaWx0ZXJUeXBlID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJGYWN0b3J5LmNyZWF0ZShmaWx0ZXJUeXBlLCBwYWdpbmF0aW9uU2V0dGluZ3MpO1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgZmluYWxfZmlsdGVycy5wdXNoKGZpbHRlcik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS53YXJuKGDinYwgRmFpbGVkIHRvIGNyZWF0ZSBmaWx0ZXIgZm9yIHR5cGU6ICR7ZmlsdGVyVHlwZX1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlcblxuICAgICAgICB0aGlzLl9kZWZhdWx0RmlsdGVycz8uZm9yRWFjaChmaWx0ZXJEZWZhdWx0ID0+IHtcbiAgICAgICAgICAgIGxldCBmaWx0ZXIgPSBmaW5hbF9maWx0ZXJzLmZpbmQoZmlsdGVyID0+IGZpbHRlci50eXBlKCkgPT0gZmlsdGVyRGVmYXVsdC5maWx0ZXJfdHlwZSk7XG4gICAgICAgICAgICBmaWx0ZXIgJiYgZmlsdGVyRGVmYXVsdC5jb2Rlcy5mb3JFYWNoKHZhbHVlID0+IGZpbHRlci5zZXRTZWxlY3RlZCh2YWx1ZSkpO1xuICAgICAgICB9KVxuICAgICAgICB0aGlzLl9maWx0ZXJzU3ViamVjdC5uZXh0KGZpbmFsX2ZpbHRlcnMpO1xuICAgIH1cblxuICAgIGdldEZpbHRlcnMocGFnaW5hdGlvblNldHRpbmdzPzogUGFnaW5hdGlvblNldHRpbmdzKSB7XG4gICAgICAgIGlmICh0aGlzLl9maWx0ZXJzSW5pdGlhbGl6ZWQpIHJldHVybjtcbiAgICAgICAgdGhpcy5fZmlsdGVyc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgY29uc3Qgc2V0dGluZ3MgPSBwYWdpbmF0aW9uU2V0dGluZ3MgfHwgdGhpcy5fcGFnaW5hdGlvblNldHRpbmdzO1xuICAgICAgICBsZXQgZmluYWxfZmlsdGVyczogRmlsdGVyW10gPSBbXTtcbiAgICAgICAgbGV0IGZpbHRlcnNUb1Byb2Nlc3MgPSB0aGlzLl9vcHRpb25zRmlsdGVycz8uaW5jbHVkZXMoJ2FsbCcpXG4gICAgICAgICAgICA/IChbJ2F0dHJpYnV0ZXMnLCAnY2F0ZWdvcmllcycsICdkeW5hbWljcycsICdzb3J0JywgJ3ByaWNlX3JhbmdlJ10gYXMgRmlsdGVyVHlwZVtdKVxuICAgICAgICAgICAgOiB0aGlzLl9vcHRpb25zRmlsdGVycztcblxuICAgICAgICBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5lbnZpcm9ubWVudEluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJGYWN0b3J5ID0gbmV3IEZpbHRlckZhY3RvcnkoKTtcbiAgICAgICAgICAgIGZpbHRlcnNUb1Byb2Nlc3M/LmZvckVhY2goZmlsdGVyVHlwZSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ0NyZWF0aW5nIGZpbHRlciBmb3IgdHlwZTonLCBmaWx0ZXJUeXBlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJGYWN0b3J5LmNyZWF0ZShmaWx0ZXJUeXBlLCBzZXR0aW5ncyk7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ0NyZWF0ZWQgZmlsdGVyOicsIGZpbHRlcik7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgICAgICAgICAgICBmaW5hbF9maWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLndhcm4oYEZhaWxlZCB0byBjcmVhdGUgZmlsdGVyIGZvciB0eXBlOiAke2ZpbHRlclR5cGV9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2RlZmF1bHRGaWx0ZXJzPy5mb3JFYWNoKGZpbHRlckRlZmF1bHQgPT4ge1xuICAgICAgICAgICAgbGV0IGZpbHRlciA9IGZpbmFsX2ZpbHRlcnMuZmluZChmaWx0ZXIgPT4gZmlsdGVyLnR5cGUoKSA9PSBmaWx0ZXJEZWZhdWx0LmZpbHRlcl90eXBlKTtcbiAgICAgICAgICAgIGZpbHRlciAmJiBmaWx0ZXJEZWZhdWx0LmNvZGVzLmZvckVhY2godmFsdWUgPT4gZmlsdGVyLnNldFNlbGVjdGVkKHZhbHVlKSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9maWx0ZXJzU3ViamVjdC5uZXh0KGZpbmFsX2ZpbHRlcnMpO1xuICAgICAgICByZXR1cm4gZmluYWxfZmlsdGVycztcbiAgICB9XG5cbiAgICBnZXRTcGVjaWZpY0ZpbHRlcnModHlwZXM6IEZpbHRlclR5cGVbXSk6IEZpbHRlcltdIHtcbiAgICAgICAgY29uc3QgZmlsdGVyczogRmlsdGVyW10gPSB0aGlzLl9maWx0ZXJzU3ViamVjdC52YWx1ZS5maWx0ZXIoZmlsdGVyID0+IHR5cGVzLmluY2x1ZGVzKGZpbHRlci50eXBlKCkpKVxuICAgICAgICByZXR1cm4gZmlsdGVycztcbiAgICB9XG5cbiAgICBzZXRGaWx0ZXJTZWxlY3RlZChmaWx0ZXJPYmo6IEZpbHRlciwgZmlsdGVyRWxlbTogRmlsdGVyRWxlbWVudCkge1xuICAgICAgICBsZXQgZmluYWxfZmlsdGVyczogRmlsdGVyW10gPSB0aGlzLl9maWx0ZXJzU3ViamVjdC52YWx1ZTtcbiAgICAgICAgaWYgKGZpbHRlck9iai50eXBlKCkgIT09ICdwcmljZV9yYW5nZScpIHtcbiAgICAgICAgICAgIGxldCBpbmRleCA9IGZpbmFsX2ZpbHRlcnMuZmluZEluZGV4KGZpbHRlciA9PiBmaWx0ZXIudHlwZSgpID09IGZpbHRlck9iai50eXBlKCkpO1xuICAgICAgICAgICAgZmluYWxfZmlsdGVyc1tpbmRleF0uc2V0U2VsZWN0ZWQoZmlsdGVyRWxlbSwgZmlsdGVyRWxlbS52YWx1ZSB8fCBmaWx0ZXJFbGVtLmNvZGUpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coaW5kZXgsIGZpbmFsX2ZpbHRlcnMpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZmlsdGVyc1N1YmplY3QubmV4dChmaW5hbF9maWx0ZXJzKTtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIHVwZGF0ZUZpbHRlcnMocGFnaW5hdGlvbkZpbHRlcnM6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjbGF2ZXMgPSBPYmplY3Qua2V5cyhwYWdpbmF0aW9uRmlsdGVycylcbiAgICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuZW52aXJvbm1lbnRJbmplY3RvciwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyRmFjdG9yeSA9IG5ldyBGaWx0ZXJGYWN0b3J5KCk7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXI6IEZpbHRlcltdID0gW11cbiAgICAgICAgICAgIC8qIGNsYXZlcy5mb3JFYWNoKChrZXk6YW55KSA9PiB7XG4gICAgICAgICAgICAgICAgZmlsdGVyLnB1c2goZmlsdGVyRmFjdG9yeS5jcmVhdGUoa2V5KSlcbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uRmlsdGVyc1trZXldLmZvckVhY2goKHZhbHVlOmFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZmlsdGVyWzBdLmNyZWF0ZUVsZW1lbnQodmFsdWUscGFnaW5hdGlvbkZpbHRlcnNba2V5XSkpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH0pICovXG4gICAgICAgICAgICB0aGlzLl9maWx0ZXJzU3ViamVjdC52YWx1ZS5mb3JFYWNoKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLnR5cGUoKSA9PSBcImF0dHJpYnV0ZXNcIikge1xuICAgICAgICAgICAgICAgICAgICAvL3ZhbHVlLmRhdGEgPSBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8qKiBcbiAgICAgKiBBY3R1YWxpemEgaW50ZXJuYW1lbnRlIGVsIHJhbmdvIGRlIHByZWNpbyB5IHJlLWVtaXRlIFxuICAgICAqIGVsIGFycmF5IGRlIGZpbHRyb3MgcGFyYSBxdWUgUGFnaW5hdGlvblNlcnZpY2UgdnVlbHZhIGEgbGxhbWFyIFxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVQcmljZVJhbmdlRmlsdGVyKG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWx0ZXJzID0gdGhpcy5fZmlsdGVyc1N1YmplY3QudmFsdWU7XG4gICAgICAgIGNvbnN0IHByID0gZmlsdGVycy5maW5kKGYgPT4gZi50eXBlKCkgPT09ICdwcmljZV9yYW5nZScpIGFzIFByaWNlUmFuZ2VGaWx0ZXIgfCB1bmRlZmluZWQ7XG4gICAgICAgIGlmICghcHIpIHJldHVybjtcbiAgICAgICAgcHIuc2V0U2VsZWN0ZWQobWluLCBtYXgpO1xuICAgICAgICB0aGlzLl9maWx0ZXJzU3ViamVjdC5uZXh0KFsuLi5maWx0ZXJzXSk7XG4gICAgfVxufVxuXG4vLyBleHBvcnQgdHlwZSBGaWx0ZXJUeXBlID0gJ2F0dHJpYnV0ZXMnIHwgJ2NhdGVnb3JpZXMnIHwgJ2R5bmFtaWNzJyB8ICdzb3J0JyB8ICdwcmljZV9yYW5nZSc7IC8vIFVzZSBpbXBvcnRlZCBGaWx0ZXJUeXBlIGluc3RlYWRcbiJdfQ==
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL2ZpbHRlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBVSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQU16RSxNQUFNLE9BQU8sY0FBYztJQUNmLFVBQVUsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDOUQsT0FBTyxHQUF5QixNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM3RCxlQUFlLEdBQThCLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2hGLFFBQVEsR0FBeUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVwRSxjQUFjLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLE9BQU8sR0FBdUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVoRSxhQUFhLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQy9FLE1BQU0sR0FBd0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUUvRCxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUVqRCxlQUFlLEdBQTJC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LElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO2dCQUMzRSxNQUFNLEdBQUcsR0FBRyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7Z0JBRTNFLGdEQUFnRDtnQkFDaEQsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLDBDQUEwQztnQkFDMUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hCLENBQUM7UUFDTCxDQUFDO1FBRUQsb0ZBQW9GO1FBQ3BGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXpDLG1GQUFtRjtRQUNuRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO3dHQWxUUSxjQUFjOzRHQUFkLGNBQWMsY0FGWCxNQUFNOzs0RkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdCwgSW5qZWN0YWJsZSwgcnVuSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGaWx0ZXIsIEZpbHRlckZhY3RvcnkgfSBmcm9tICcuLi9jbGFzc2VzJztcclxuaW1wb3J0IHsgRGVmYXVsdEZpbHRlciwgRmlsdGVyRWxlbWVudCwgUGFnaW5hdGlvblNldHRpbmdzLCBGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UsIENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgUHJpY2VSYW5nZUZpbHRlciB9IGZyb20gJy4uL2NsYXNzZXMvZmlsdGVycy9wcmljZV9yYW5nZS1maWx0ZXInO1xyXG5pbXBvcnQgeyBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJzU2VydmljZSB7XHJcbiAgICBwcml2YXRlIF9hcGlDb25zdHM6IEFwaUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSk7XHJcbiAgICBwcml2YXRlIF9jb25zdHM6IENvcmVDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KENvcmVDb25zdGFudHNTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgX2ZpbHRlcnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8RmlsdGVyW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJbXT4oW10pO1xyXG4gICAgcHVibGljIGZpbHRlcnMkOiBPYnNlcnZhYmxlPEZpbHRlcltdPiA9IHRoaXMuX2ZpbHRlcnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByaXZhdGUgX2FwaVVybFN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcclxuICAgIHB1YmxpYyBhcGlVcmwkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLl9hcGlVcmxTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByaXZhdGUgX3JlYWR5U3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwdWJsaWMgcmVhZHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fcmVhZHlTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByaXZhdGUgZW52aXJvbm1lbnRJbmplY3RvciA9IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKVxyXG5cclxuICAgIHByaXZhdGUgX29wdGlvbnNGaWx0ZXJzOiAoRmlsdGVyVHlwZSB8ICdhbGwnKVtdID0gWydhbGwnXTtcclxuICAgIHByaXZhdGUgX2RlZmF1bHRGaWx0ZXJzOiBEZWZhdWx0RmlsdGVyW10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIF9wYWdpbmF0aW9uU2V0dGluZ3M6IFBhZ2luYXRpb25TZXR0aW5ncyA9IHtcclxuICAgICAgICB2YWx1ZTogJycsXHJcbiAgICAgICAgdHlwZTogJycsXHJcbiAgICAgICAgbGltaXQ6IDBcclxuICAgIH07XHJcblxyXG4gICAgcHJpdmF0ZSBfZmlsdGVyc0luaXRpYWxpemVkID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9sYXN0Um91dGVRdWVyeTogUGFyYW1zIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgLy90aGlzLl9kZWZhdWx0RmlsdGVycyA9IHRoaXMuX2NvbnN0cy5nZXREZWZhdWx0RmlsdGVycygpXHJcbiAgICB9XHJcblxyXG4gICAgLy9BUEkgVVJMXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgbGEgdXJsIHBhcmEgZWwgZmlsdHJhZG9cclxuICAgICAqIEBwYXJhbSBmaWx0ZXJzIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHByb2R1Y3RzRmlsdGVyQXBpKGZpbHRlcnMgPSAnJykgeyByZXR1cm4gJ3Nob3AtYXBpLycgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvcHJvZHVjdC1zZWFyY2gvJyArICc/bG9jYWxlPScgKyB0aGlzLl9hcGlDb25zdHMuTE9DQUxFICsgZmlsdGVycyB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBBcm1hIGxvcyBmaWx0cm9zIHkgcmV0b3JuYSBsYSB1cmwgY29tcGxldGEgY29uIGxvcyBmaWx0cm9zIGFwbGljYWRvcy5cclxuICAgICAqIEBwYXJhbSBzZWFyY2hfdmFsdWUgdmFsb3IgYSBidXNjYXJcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBnZW5lcmF0ZUZpbmFsQXBpKHNlYXJjaF92YWx1ZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IGV4dHJhX3BhcmFtcyA9ICcnO1xyXG5cclxuICAgICAgICB0aGlzLl9maWx0ZXJzU3ViamVjdC52YWx1ZS5mb3JFYWNoKGZpbHRlciA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV4dHJhID0gZmlsdGVyLnRvVXJsUGFyYW1zKCk7XHJcbiAgICAgICAgICAgIGlmIChleHRyYSAmJiBleHRyYS5zcGxpdCgnPScpWzFdICE9PSAnJykge1xyXG4gICAgICAgICAgICAgICAgZXh0cmFfcGFyYW1zICs9IGV4dHJhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIFNpIGVuIGxhIFVSTCB5YSB2ZW7DrWEgYGF0dHJpYnV0ZUNvZGVzYCBwZXJvIGHDum4gbmluZ8O6biBmaWx0cm8gbG8gYWdyZWfDsyxcclxuICAgICAgICAvLyBsbyB2b2x2ZW1vcyBhIHN1bWFyIGEgbWFuby4gRXN0byBldml0YSBxdWUgYWwgcmVmcmVzY2FyIChTU1IpIHNlIHBpZXJkYSBlbCBmaWx0cm9cclxuICAgICAgICAvLyBhdW5xdWUgZWwgQXR0cmlidXRlc0ZpbHRlciB0b2RhdsOtYSBubyBoYXlhIHRlcm1pbmFkbyBkZSBoaWRyYXRhcnNlLlxyXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZUNvZGVzRnJvbVJvdXRlID0gdGhpcy5fbGFzdFJvdXRlUXVlcnk/LlsnYXR0cmlidXRlQ29kZXMnXTtcclxuICAgICAgICBpZiAoYXR0cmlidXRlQ29kZXNGcm9tUm91dGUgJiYgIWV4dHJhX3BhcmFtcy5pbmNsdWRlcygnYXR0cmlidXRlQ29kZXM9JykpIHtcclxuICAgICAgICAgICAgZXh0cmFfcGFyYW1zICs9IGAmYXR0cmlidXRlQ29kZXM9JHthdHRyaWJ1dGVDb2Rlc0Zyb21Sb3V0ZX1gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHNlYXJjaF92YWx1ZSkge1xyXG4gICAgICAgICAgICBleHRyYV9wYXJhbXMgKz0gJyZjcml0ZXJpYVtzZWFyY2hdW3R5cGVdPWNvbnRhaW5zJmNyaXRlcmlhW3NlYXJjaF1bdmFsdWVdPScgKyBzZWFyY2hfdmFsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5wcm9kdWN0c0ZpbHRlckFwaShleHRyYV9wYXJhbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNVcGRhdGVkKHBhZ2luYXRpb25TZXR0aW5nczogUGFnaW5hdGlvblNldHRpbmdzKSB7XHJcbiAgICAgICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhwYWdpbmF0aW9uU2V0dGluZ3MpO1xyXG4gICAgICAgIGxldCBjaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgICBrZXlzLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gKHBhZ2luYXRpb25TZXR0aW5ncyBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KVtrZXldO1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZTIgPSAodGhpcy5fcGFnaW5hdGlvblNldHRpbmdzIGFzIFJlY29yZDxzdHJpbmcsIGFueT4pW2tleV07XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSAhPSB2YWx1ZTIpIGNoYW5nZSA9IHRydWU7XHJcbiAgICAgICAgfSlcclxuICAgICAgICBpZiAoY2hhbmdlKSB0aGlzLl9wYWdpbmF0aW9uU2V0dGluZ3MgPSBwYWdpbmF0aW9uU2V0dGluZ3M7XHJcbiAgICAgICAgcmV0dXJuIGNoYW5nZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRGaWx0ZXJzKFxyXG4gICAgICAgIHBhZ2luYXRpb25TZXR0aW5nczogUGFnaW5hdGlvblNldHRpbmdzLFxyXG4gICAgICAgIHNlYXJjaF92YWx1ZT86IHN0cmluZyxcclxuICAgICAgICByb3V0ZVF1ZXJ5UGFyYW1zPzogYW55XHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLl9wYWdpbmF0aW9uU2V0dGluZ3MgPSBwYWdpbmF0aW9uU2V0dGluZ3M7XHJcbiAgICAgICAgbGV0IGZpbmFsX2ZpbHRlcnM6IEZpbHRlcltdID0gW107XHJcbiAgICAgICAgbGV0IGZpbHRlcnNUb1Byb2Nlc3MgPSB0aGlzLl9vcHRpb25zRmlsdGVycz8uaW5jbHVkZXMoJ2FsbCcpXHJcbiAgICAgICAgICAgID8gKFsnYXR0cmlidXRlcycsICdjYXRlZ29yaWVzJywgJ2R5bmFtaWNzJywgJ3NvcnQnLCAncHJpY2VfcmFuZ2UnXSBhcyBGaWx0ZXJUeXBlW10pXHJcbiAgICAgICAgICAgIDogdGhpcy5fb3B0aW9uc0ZpbHRlcnM7XHJcblxyXG4gICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmVudmlyb25tZW50SW5qZWN0b3IsICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyRmFjdG9yeSA9IG5ldyBGaWx0ZXJGYWN0b3J5KCk7XHJcbiAgICAgICAgICAgIGZpbHRlcnNUb1Byb2Nlc3M/LmZvckVhY2goZmlsdGVyVHlwZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJGYWN0b3J5LmNyZWF0ZShmaWx0ZXJUeXBlLCBwYWdpbmF0aW9uU2V0dGluZ3MpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbmFsX2ZpbHRlcnMucHVzaChmaWx0ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5fZGVmYXVsdEZpbHRlcnM/LmZvckVhY2goZmlsdGVyRGVmYXVsdCA9PiB7XHJcbiAgICAgICAgICAgIGxldCBmaWx0ZXIgPSBmaW5hbF9maWx0ZXJzLmZpbmQoZmlsdGVyID0+IGZpbHRlci50eXBlKCkgPT0gZmlsdGVyRGVmYXVsdC5maWx0ZXJfdHlwZSk7XHJcbiAgICAgICAgICAgIGZpbHRlciAmJiBmaWx0ZXJEZWZhdWx0LmNvZGVzLmZvckVhY2godmFsdWUgPT4gZmlsdGVyLnNldFNlbGVjdGVkKHZhbHVlKSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIGhpZHJhdGFyIHByaWNlX3JhbmdlIGRlc2RlIGxhIFVSTFxyXG4gICAgICAgIGlmIChyb3V0ZVF1ZXJ5UGFyYW1zKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHByID0gZmluYWxfZmlsdGVycy5maW5kKGYgPT4gZi50eXBlKCkgPT09ICdwcmljZV9yYW5nZScpIGFzIFByaWNlUmFuZ2VGaWx0ZXIgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIGlmIChwcikge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmF3TWluID0gcm91dGVRdWVyeVBhcmFtc1sncHJpY2VfbWluJ107XHJcbiAgICAgICAgICAgICAgICBjb25zdCByYXdNYXggPSByb3V0ZVF1ZXJ5UGFyYW1zWydwcmljZV9tYXgnXTtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBtaW4gPSByYXdNaW4gIT0gbnVsbCA/IE51bWJlcihyYXdNaW4pIDogbnVsbDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1heCA9IHJhd01heCAhPSBudWxsID8gTnVtYmVyKHJhd01heCkgOiBudWxsO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICgobWluICE9IG51bGwgJiYgIU51bWJlci5pc05hTihtaW4pKSB8fCAobWF4ICE9IG51bGwgJiYgIU51bWJlci5pc05hTihtYXgpKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChtaW4gIT0gbnVsbCAmJiAhTnVtYmVyLmlzTmFOKG1pbikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHIuY3VycmVudE1pblByaWNlID0gbWluO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAobWF4ICE9IG51bGwgJiYgIU51bWJlci5pc05hTihtYXgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByLmN1cnJlbnRNYXhQcmljZSA9IG1heDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2ZpbHRlcnNTdWJqZWN0Lm5leHQoZmluYWxfZmlsdGVycyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RmlsdGVycyhwYWdpbmF0aW9uU2V0dGluZ3M/OiBQYWdpbmF0aW9uU2V0dGluZ3MpIHtcclxuICAgICAgICBpZiAodGhpcy5fZmlsdGVyc0luaXRpYWxpemVkKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5fZmlsdGVyc0luaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgICAgICBjb25zdCBzZXR0aW5ncyA9IHBhZ2luYXRpb25TZXR0aW5ncyB8fCB0aGlzLl9wYWdpbmF0aW9uU2V0dGluZ3M7XHJcbiAgICAgICAgbGV0IGZpbmFsX2ZpbHRlcnM6IEZpbHRlcltdID0gW107XHJcbiAgICAgICAgbGV0IGZpbHRlcnNUb1Byb2Nlc3MgPSB0aGlzLl9vcHRpb25zRmlsdGVycz8uaW5jbHVkZXMoJ2FsbCcpXHJcbiAgICAgICAgICAgID8gKFsnYXR0cmlidXRlcycsICdjYXRlZ29yaWVzJywgJ2R5bmFtaWNzJywgJ3NvcnQnLCAncHJpY2VfcmFuZ2UnXSBhcyBGaWx0ZXJUeXBlW10pXHJcbiAgICAgICAgICAgIDogdGhpcy5fb3B0aW9uc0ZpbHRlcnM7XHJcblxyXG4gICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmVudmlyb25tZW50SW5qZWN0b3IsICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyRmFjdG9yeSA9IG5ldyBGaWx0ZXJGYWN0b3J5KCk7XHJcbiAgICAgICAgICAgIGZpbHRlcnNUb1Byb2Nlc3M/LmZvckVhY2goZmlsdGVyVHlwZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJGYWN0b3J5LmNyZWF0ZShmaWx0ZXJUeXBlLCBzZXR0aW5ncyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmluYWxfZmlsdGVycy5wdXNoKGZpbHRlcik7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUud2FybihgRmFpbGVkIHRvIGNyZWF0ZSBmaWx0ZXIgZm9yIHR5cGU6ICR7ZmlsdGVyVHlwZX1gKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuX2RlZmF1bHRGaWx0ZXJzPy5mb3JFYWNoKGZpbHRlckRlZmF1bHQgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZmlsdGVyID0gZmluYWxfZmlsdGVycy5maW5kKGZpbHRlciA9PiBmaWx0ZXIudHlwZSgpID09IGZpbHRlckRlZmF1bHQuZmlsdGVyX3R5cGUpO1xyXG4gICAgICAgICAgICBmaWx0ZXIgJiYgZmlsdGVyRGVmYXVsdC5jb2Rlcy5mb3JFYWNoKHZhbHVlID0+IGZpbHRlci5zZXRTZWxlY3RlZCh2YWx1ZSkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2ZpbHRlcnNTdWJqZWN0Lm5leHQoZmluYWxfZmlsdGVycyk7XHJcbiAgICAgICAgcmV0dXJuIGZpbmFsX2ZpbHRlcnM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U3BlY2lmaWNGaWx0ZXJzKHR5cGVzOiBGaWx0ZXJUeXBlW10pOiBGaWx0ZXJbXSB7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyczogRmlsdGVyW10gPSB0aGlzLl9maWx0ZXJzU3ViamVjdC52YWx1ZS5maWx0ZXIoZmlsdGVyID0+IHR5cGVzLmluY2x1ZGVzKGZpbHRlci50eXBlKCkpKVxyXG4gICAgICAgIHJldHVybiBmaWx0ZXJzO1xyXG4gICAgfVxyXG5cclxuICAgIHNldEZpbHRlclNlbGVjdGVkKGZpbHRlck9iajogRmlsdGVyLCBmaWx0ZXJFbGVtOiBGaWx0ZXJFbGVtZW50KSB7XHJcbiAgICAgICAgbGV0IGZpbmFsX2ZpbHRlcnM6IEZpbHRlcltdID0gdGhpcy5fZmlsdGVyc1N1YmplY3QudmFsdWU7XHJcbiAgICAgICAgaWYgKGZpbHRlck9iai50eXBlKCkgIT09ICdwcmljZV9yYW5nZScpIHtcclxuICAgICAgICAgICAgbGV0IGluZGV4ID0gZmluYWxfZmlsdGVycy5maW5kSW5kZXgoZmlsdGVyID0+IGZpbHRlci50eXBlKCkgPT0gZmlsdGVyT2JqLnR5cGUoKSk7XHJcbiAgICAgICAgICAgIGZpbmFsX2ZpbHRlcnNbaW5kZXhdLnNldFNlbGVjdGVkKGZpbHRlckVsZW0sIGZpbHRlckVsZW0udmFsdWUgfHwgZmlsdGVyRWxlbS5jb2RlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fZmlsdGVyc1N1YmplY3QubmV4dChmaW5hbF9maWx0ZXJzKTtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlRmlsdGVycyhwYWdpbmF0aW9uRmlsdGVyczogYW55KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY2xhdmVzID0gT2JqZWN0LmtleXMocGFnaW5hdGlvbkZpbHRlcnMpXHJcbiAgICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuZW52aXJvbm1lbnRJbmplY3RvciwgKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJGYWN0b3J5ID0gbmV3IEZpbHRlckZhY3RvcnkoKTtcclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyOiBGaWx0ZXJbXSA9IFtdXHJcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlcnNTdWJqZWN0LnZhbHVlLmZvckVhY2goKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS50eXBlKCkgPT0gXCJhdHRyaWJ1dGVzXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAvL3ZhbHVlLmRhdGEgPSBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBcclxuICAgICAqIEFjdHVhbGl6YSBpbnRlcm5hbWVudGUgZWwgcmFuZ28gZGUgcHJlY2lvIHkgcmUtZW1pdGUgXHJcbiAgICAgKiBlbCBhcnJheSBkZSBmaWx0cm9zIHBhcmEgcXVlIFBhZ2luYXRpb25TZXJ2aWNlIHZ1ZWx2YSBhIGxsYW1hciBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHVwZGF0ZVByaWNlUmFuZ2VGaWx0ZXIobWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZmlsdGVycyA9IHRoaXMuX2ZpbHRlcnNTdWJqZWN0LnZhbHVlO1xyXG4gICAgICAgIGNvbnN0IHByID0gZmlsdGVycy5maW5kKGYgPT4gZi50eXBlKCkgPT09ICdwcmljZV9yYW5nZScpIGFzIFByaWNlUmFuZ2VGaWx0ZXIgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKCFwcikgcmV0dXJuO1xyXG4gICAgICAgIHByLnNldFNlbGVjdGVkKG1pbiwgbWF4KTtcclxuICAgICAgICB0aGlzLl9maWx0ZXJzU3ViamVjdC5uZXh0KFsuLi5maWx0ZXJzXSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGdWVyemEgYSBlbWl0aXIgZGUgbnVldm8gbG9zIGZpbHRyb3MgYWN0dWFsZXMuXHJcbiAgICAgKiDDmnRpbCBjdWFuZG8gdW4gZmlsdHJvIGFzeW5jIChjYXRlZ29yw61hcywgYXRyaWJ1dG9zKSB0ZXJtaW5hIGRlIGNhcmdhcnNlXHJcbiAgICAgKiB5IG5lY2VzaXRhbW9zIHF1ZSBQYWdpbmF0aW9uU2VydmljZSB2dWVsdmEgYSBhcm1hciBsYSBVUkwuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWZyZXNoRmlsdGVycygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5fZmlsdGVyc1N1YmplY3QudmFsdWU7XHJcbiAgICAgICAgLy8gRW1pdGltb3MgdW5hIGNvcGlhIHBhcmEgcXVlIGxvcyBzdWJzY3JpYmVycyBkZXRlY3RlbiBlbCBjYW1iaW9cclxuICAgICAgICB0aGlzLl9maWx0ZXJzU3ViamVjdC5uZXh0KFsuLi5jdXJyZW50XSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQdW50byBjZW50cmFsIGRvbmRlIHNlIGhpZHJhdGFuIGxvcyBmaWx0cm9zIGEgcGFydGlyIGRlIGxhIFVSTDpcclxuICAgICAqIC0gTGVlIHR5cGUvdmFsdWUgZGUgbGEgcnV0YSAoZWouIC9jb2xsZWN0aW9uL2NhdGVnb3JpZXMvOnZhbHVlKS5cclxuICAgICAqIC0gTGVlIHF1ZXJ5IHBhcmFtcyAoY2F0ZWdvcnksIHByaWNlX21pbiwgcHJpY2VfbWF4LCBhdHRyaWJ1dGVDb2Rlcywgc2VhcmNoLCBldGMuKS5cclxuICAgICAqIC0gQ3JlYSBpbnN0YW5jaWFzIGRlIGZpbHRyb3MgeSBsZXMgZGVsZWdhIGxhIGhpZHJhdGFjacOzbiBlc3BlY8OtZmljYS5cclxuICAgICAqXHJcbiAgICAgKiBFc3RlIG3DqXRvZG8gc2UgbGxhbWEgdGFudG8gZW4gU1NSIGNvbW8gZW4gbmF2ZWdhZG9yLlxyXG4gICAgICovXHJcbiAgICBoeWRyYXRlRnJvbVJvdXRlKFxyXG4gICAgICAgIHBhZ2luYXRpb25TZXR0aW5nczogUGFnaW5hdGlvblNldHRpbmdzLFxyXG4gICAgICAgIHJvdXRlUGFyYW1zOiBQYXJhbXMsXHJcbiAgICAgICAgcm91dGVRdWVyeTogUGFyYW1zXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICAvLyBoaWRyYXRhciBzZWFyY2ggZGVzZGUgbGEgVVJMID09PVxyXG4gICAgICAgIGNvbnN0IHNlYXJjaEZyb21VcmwgPSByb3V0ZVF1ZXJ5Py5bJ3NlYXJjaCddO1xyXG4gICAgICAgIGlmICh0eXBlb2Ygc2VhcmNoRnJvbVVybCA9PT0gJ3N0cmluZycgJiYgc2VhcmNoRnJvbVVybC50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIC8vIEd1YXJkYW1vcyBlbCB2YWxvciBwYXJhIHF1ZSBvdHJvcyBjb21wb25lbnRlcyAoSGVhZGVyLCBDb2xsZWN0aW9uKSBsbyByZXV0aWxpY2VuXHJcbiAgICAgICAgICAgIHRoaXMuX2NvbnN0cy5zZWFyY2hWYWx1ZSA9IHNlYXJjaEZyb21VcmwudHJpbSgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFNpIG5vIHZpZW5lIGBzZWFyY2hgIGVuIGxhIFVSTCwgbGltcGlhbW9zIGVsIGVzdGFkbyBnbG9iYWwgcGFyYSBubyBhcnJhc3RyYXIgYsO6c3F1ZWRhcyB2aWVqYXNcclxuICAgICAgICAgICAgdGhpcy5fY29uc3RzLnNlYXJjaFZhbHVlID0gJyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBHdWFyZGFtb3MgbGEgw7psdGltYSBxdWVyeSBjb21wbGV0YSBwYXJhIHVzYXJsYSBlbiBnZW5lcmF0ZUZpbmFsQXBpIChwYXJjaGUgYXR0cmlidXRlQ29kZXMpXHJcbiAgICAgICAgdGhpcy5fbGFzdFJvdXRlUXVlcnkgPSByb3V0ZVF1ZXJ5O1xyXG5cclxuICAgICAgICAvLyBHdWFyZGFtb3MgbGFzIHNldHRpbmdzIGFjdHVhbGVzICh0eXBlLCB2YWx1ZSwgbGltaXQsIGV0Yy4pXHJcbiAgICAgICAgdGhpcy5fcGFnaW5hdGlvblNldHRpbmdzID0gcGFnaW5hdGlvblNldHRpbmdzO1xyXG5cclxuICAgICAgICAvLyBDcmVhbW9zIGxvcyBmaWx0cm9zIGJhc2UgKGF0dHJpYnV0ZXMsIGNhdGVnb3JpZXMsIGR5bmFtaWNzLCBzb3J0LCBwcmljZV9yYW5nZSwgZXRjLilcclxuICAgICAgICBsZXQgZmluYWxfZmlsdGVyczogRmlsdGVyW10gPSBbXTtcclxuICAgICAgICBsZXQgZmlsdGVyc1RvUHJvY2VzcyA9IHRoaXMuX29wdGlvbnNGaWx0ZXJzPy5pbmNsdWRlcygnYWxsJylcclxuICAgICAgICAgICAgPyAoWydhdHRyaWJ1dGVzJywgJ2NhdGVnb3JpZXMnLCAnZHluYW1pY3MnLCAnc29ydCcsICdwcmljZV9yYW5nZSddIGFzIEZpbHRlclR5cGVbXSlcclxuICAgICAgICAgICAgOiB0aGlzLl9vcHRpb25zRmlsdGVycztcclxuXHJcbiAgICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuZW52aXJvbm1lbnRJbmplY3RvciwgKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJGYWN0b3J5ID0gbmV3IEZpbHRlckZhY3RvcnkoKTtcclxuICAgICAgICAgICAgZmlsdGVyc1RvUHJvY2Vzcz8uZm9yRWFjaChmaWx0ZXJUeXBlID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IGZpbHRlckZhY3RvcnkuY3JlYXRlKGZpbHRlclR5cGUsIHBhZ2luYXRpb25TZXR0aW5ncyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmluYWxfZmlsdGVycy5wdXNoKGZpbHRlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvLyBBcGxpY2Ftb3MgZGVmYXVsdEZpbHRlcnMgc2kgY29ycmVzcG9uZGVcclxuICAgICAgICB0aGlzLl9kZWZhdWx0RmlsdGVycz8uZm9yRWFjaChmaWx0ZXJEZWZhdWx0ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyID0gZmluYWxfZmlsdGVycy5maW5kKGYgPT4gZi50eXBlKCkgPT09IGZpbHRlckRlZmF1bHQuZmlsdGVyX3R5cGUpO1xyXG4gICAgICAgICAgICBmaWx0ZXIgJiYgZmlsdGVyRGVmYXVsdC5jb2Rlcy5mb3JFYWNoKHZhbHVlID0+IGZpbHRlci5zZXRTZWxlY3RlZCh2YWx1ZSkpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvLyBIaWRyYXRhciBmaWx0cm9zIGNvbiBzbHVnIHkgcXVlcnkgcGFyYW1zIGdlbsOpcmljb3NcclxuICAgICAgICBmaW5hbF9maWx0ZXJzLmZvckVhY2goZiA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFueUZpbHRlciA9IGYgYXMgYW55O1xyXG5cclxuICAgICAgICAgICAgLy8gdHlwZS92YWx1ZSBlbiBsYSBVUkw6IC9jb2xsZWN0aW9uL2NhdGVnb3JpZXMvOnZhbHVlXHJcbiAgICAgICAgICAgIGNvbnN0IHVybFR5cGUgPSByb3V0ZVBhcmFtc1sndHlwZSddO1xyXG4gICAgICAgICAgICBjb25zdCB1cmxWYWx1ZSA9IHJvdXRlUGFyYW1zWyd2YWx1ZSddO1xyXG5cclxuICAgICAgICAgICAgLy8gUG9yIGVqZW1wbG8sIGVsIENhdGVnb3J5RmlsdGVyIGltcGxlbWVudGEgc2V0RnJvbVNsdWcgcGFyYSBtYXJjYXIgbGEgY2F0ZWdvcsOtYSBjb3JyZWN0YVxyXG4gICAgICAgICAgICBpZiAodXJsVHlwZSA9PT0gJ2NhdGVnb3JpZXMnICYmIHVybFZhbHVlICYmIHR5cGVvZiBhbnlGaWx0ZXIuc2V0RnJvbVNsdWcgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgIGFueUZpbHRlci5zZXRGcm9tU2x1Zyh1cmxWYWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIHF1ZXJ5IHBhcmFtcyBnZW7DqXJpY29zOiA/Y2F0ZWdvcnk9MDEwMSZwcmljZV9taW49Li4uJnByaWNlX21heD0uLi4mYXR0cmlidXRlQ29kZXM9Li4uXHJcbiAgICAgICAgICAgIC8vIENhZGEgZmlsdHJvIHF1ZSBsbyBzb3BvcnRlIGltcGxlbWVudGEgaHlkcmF0ZUZyb21RdWVyeSB5IGRlY2lkZSBxdcOpIGxlZXIuXHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYW55RmlsdGVyLmh5ZHJhdGVGcm9tUXVlcnkgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgIGFueUZpbHRlci5oeWRyYXRlRnJvbVF1ZXJ5KHJvdXRlUXVlcnkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIEhpZHJhdGFyIGVzcGVjw61maWNhbWVudGUgZWwgUHJpY2VSYW5nZUZpbHRlciBkZXNkZSBsYSBVUkxcclxuICAgICAgICBjb25zdCBwcmljZUZpbHRlciA9IGZpbmFsX2ZpbHRlcnMuZmluZChcclxuICAgICAgICAgICAgKGY6IEZpbHRlcikgPT4gZiBpbnN0YW5jZW9mIFByaWNlUmFuZ2VGaWx0ZXJcclxuICAgICAgICApIGFzIFByaWNlUmFuZ2VGaWx0ZXIgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgICAgIGlmIChwcmljZUZpbHRlciAmJiByb3V0ZVF1ZXJ5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1pbkZyb21VcmwgPSByb3V0ZVF1ZXJ5WydwcmljZV9taW4nXTtcclxuICAgICAgICAgICAgY29uc3QgbWF4RnJvbVVybCA9IHJvdXRlUXVlcnlbJ3ByaWNlX21heCddO1xyXG5cclxuICAgICAgICAgICAgaWYgKG1pbkZyb21VcmwgIT0gbnVsbCB8fCBtYXhGcm9tVXJsICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1pbiA9IG1pbkZyb21VcmwgIT0gbnVsbCA/IE51bWJlcihtaW5Gcm9tVXJsKSA6IHByaWNlRmlsdGVyLm1pblByaWNlO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWF4ID0gbWF4RnJvbVVybCAhPSBudWxsID8gTnVtYmVyKG1heEZyb21VcmwpIDogcHJpY2VGaWx0ZXIubWF4UHJpY2U7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gdXNhbW9zIGxhIEFQSSBkZWwgZmlsdHJvIHBhcmEgc2V0ZWFyIGVsIHJhbmdvXHJcbiAgICAgICAgICAgICAgICBwcmljZUZpbHRlci5zZXRTZWxlY3RlZChtaW4sIG1heCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBzaSBubyBoYXkgbmFkYSBlbiBsYSBVUkwsIGxvIHJlc2V0ZWFtb3NcclxuICAgICAgICAgICAgICAgIHByaWNlRmlsdGVyLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEVtaXRpbW9zIGZpbHRyb3MgeWEgaGlkcmF0YWRvcyBwYXJhIHF1ZSBQYWdpbmF0aW9uU2VydmljZSB5IENvbGxlY3Rpb24gcmVhY2Npb25lblxyXG4gICAgICAgIHRoaXMuX2ZpbHRlcnNTdWJqZWN0Lm5leHQoZmluYWxfZmlsdGVycyk7XHJcblxyXG4gICAgICAgIC8vIE1hcmNhbW9zIHF1ZSBlbCBzaXN0ZW1hIGRlIGZpbHRyb3MgZXN0w6EgbGlzdG8gKMO6dGlsIHBhcmEgbW9zdHJhciBzcGlubmVycywgZXRjLilcclxuICAgICAgICB0aGlzLl9yZWFkeVN1YmplY3QubmV4dCh0cnVlKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gZXhwb3J0IHR5cGUgRmlsdGVyVHlwZSA9ICdhdHRyaWJ1dGVzJyB8ICdjYXRlZ29yaWVzJyB8ICdkeW5hbWljcycgfCAnc29ydCcgfCAncHJpY2VfcmFuZ2UnOyAvLyBVc2UgaW1wb3J0ZWQgRmlsdGVyVHlwZSBpbnN0ZWFkXHJcbiJdfQ==
|
|
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
90
90
|
providedIn: 'root'
|
|
91
91
|
}]
|
|
92
92
|
}], ctorParameters: () => [] });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL2Zvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFckU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBVztJQUNmLFNBQVMsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDNUQsVUFBVSxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUV2RCxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztJQUNsRCxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztJQUMvQyxvQkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztJQUU1RCxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9DLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVwRSxTQUFTO0lBQ1Q7OztPQUdHO0lBQ0ksc0JBQXNCLEtBQUssT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSx3QkFB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QUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFBO0lBQ0Q7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxZQUFpQjtRQUM1QixPQUFPLFlBQVksQ0FBQTtJQUNwQixDQUFDO3dHQXRGVyxXQUFXOzRHQUFYLFdBQVcsY0FGWCxNQUFNOzs0RkFFTixXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNpbyBlbmNhcmdhZG8gZGUgbWFuZWphciB0b2RvIGFxdWVsbG8gcmVsYWNpb25hZG8gY29uIGxvcyBmb3JtdWxhcmlvcyBkZW50cm8gZGUgbGEgYXBsaWNhY2nDs24uXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtU2VydmljZSB7XHJcblx0cHJpdmF0ZSBhcGlDb25zdHM6IEFwaUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSlcclxuXHRwcml2YXRlIGNvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlID0gaW5qZWN0KENvbm5lY3Rpb25TZXJ2aWNlKVxyXG4gXHRcclxuXHRwcm90ZWN0ZWQgY291bnRyaWVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcclxuXHRwcm90ZWN0ZWQgcHJvdmluY2VzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcclxuICAgIHByb3RlY3RlZCBkb2N1bWVudFR5cGVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcclxuXHRcclxuXHRwdWJsaWMgY291bnRyaWVzJCA9IHRoaXMuY291bnRyaWVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIHB1YmxpYyBwcm92aW5jZXMkID0gdGhpcy5wcm92aW5jZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgcHVibGljIGRvY3VtZW50VHlwZXMkID0gdGhpcy5kb2N1bWVudFR5cGVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0Ly9BUEkgVVJMXHJcblx0LyoqXHJcblx0ICogUmV0b3JuYSB1bmEgdXJsIHBhcmEgZW52aWFyIGxvcyBkYXRvcyBkZSB1biBmb3JtdWxhcmlvIGRlIGNvbnRhY3RvLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBjb250YWN0Rm9ybVJlc3BvbnNlQVBJKCkgeyByZXR1cm4gYCR7dGhpcy5hcGlDb25zdHMuQ01TX1VSTH0ke3RoaXMuYXBpQ29uc3RzLkxPQ0FMRX0vY29udGFjdC1mb3JtL3Jlc3BvbnNlYCB9XHJcblx0LyoqXHJcblx0ICogUmV0b3JuYSB1bmEgdXJsIHBhcmEgZWwgZW5kcG9pbnQgcXVlIG9idGluZW4gbG9zIHBhaXNlcy5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgY291bnRyaWVzQXBpKCkgeyByZXR1cm4gJ3Nob3AtYXBpLycgKyB0aGlzLmFwaUNvbnN0cy5DSEFOTkVMICsgJy9jb3VudHJpZXMnIH07XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblx0LyoqXHJcblx0ICogRW52aWEgZW4gZm9ybXVsYXJpby5cclxuXHQgKiBAcGFyYW0gcmVzcG9uc2Vfb2JqIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHNlbmRSZXNwb25zZShyZXNwb25zZV9vYmo6IGFueSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuY29ubmVjdGlvbi5wb3N0KHRoaXMuY29udGFjdEZvcm1SZXNwb25zZUFQSSgpLCB0aGlzLnByZXBhcmVEYXRhKHJlc3BvbnNlX29iaikpXHJcblx0fVxyXG5cclxuXHQvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBjb250aWVuZSB1biBhcnJlZ2xvIGRlIHN0cmluZyBjdXlvIGNvbnRlbmlkbyBzb24gbG9zIGNvZGlnb3MgZGUgbG9zIHBhaXNlcyBhIGV4Y2x1aXIuXHJcbiAgICAgKiBAZXhhbXBsZSBbJ0dCJ11cclxuICAgICAqL1xyXG4gICAgcHVibGljIGV4Y2x1ZGVkQ291bnRyaWVzOiBzdHJpbmdbXSA9IFtdXHJcbiBcdHB1YmxpYyBhbGxvd2VkQ291bnRyaWVzOiBzdHJpbmdbXSA9IFtdO1xyXG5cdC8qKlxyXG5cdCAqIE9idGllbmUgbG9zIHBhaXNlcyB5IGxvcyBndWFyZGEgZW4gdW4gb2JzZXJ2YWJsZS5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRnZXRDb3VudHJpZXNEYXRhKCk6T2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHRoaXMuY29ubmVjdGlvbi5nZXQodGhpcy5jb3VudHJpZXNBcGkoKSkucGlwZShcclxuXHRcdFx0c2hhcmVSZXBsYXkoMSksXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6YW55KSA9PiB7XHJcblx0XHRcdFx0Ly9jb25zb2xlLmxvZyhyZXNwb25zZSk7XHJcblx0XHRcdFx0Y29uc3QgZGF0YSA9IHJlc3BvbnNlLl9lbWJlZGRlZC5pdGVtcztcclxuXHRcdFx0XHR0aGlzLmNvdW50cmllc1N1YmplY3QubmV4dChkYXRhKVxyXG5cdFx0XHRcdGNvbnN0IGRvY3VtZW50VHlwZXNMb2NhbGUgPSBkYXRhLmZpbmQoKHJlczogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRyZXR1cm4gcmVzLmNvZGUudG9Mb2NhbGVMb3dlckNhc2UoKSA9PSB0aGlzLmFwaUNvbnN0cy5MT0NBTEUudG9Mb2NhbGVMb3dlckNhc2UoKS5zcGxpdCgnXycpWzFdXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRjb25zdCBkb2N1bWVudFR5cGVzRGF0YSA9IGRvY3VtZW50VHlwZXNMb2NhbGVbJ2RvY3VtZW50VHlwZXMnXVxyXG5cdFx0XHRcdHRoaXMuZG9jdW1lbnRUeXBlc1N1YmplY3QubmV4dChkb2N1bWVudFR5cGVzRGF0YSlcclxuXHRcdFx0fSkpLnN1YnNjcmliZSgpO1xyXG5cclxuXHRcdFx0aWYodGhpcy5leGNsdWRlZENvdW50cmllcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0dGhpcy5jb3VudHJpZXMkID0gdGhpcy5jb3VudHJpZXMkLnBpcGUoXHJcblx0XHRcdFx0XHRtYXAoY291bnRyaWVzID0+IGNvdW50cmllcy5maWx0ZXIoY291bnRyeSA9PiAhdGhpcy5leGNsdWRlZENvdW50cmllcy5pbmNsdWRlcyhjb3VudHJ5LmNvZGUpKSlcclxuXHRcdFx0XHQpXHJcblx0XHRcdH1cclxuXHRcdFx0aWYodGhpcy5hbGxvd2VkQ291bnRyaWVzLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHR0aGlzLmNvdW50cmllcyQgPSB0aGlzLmNvdW50cmllcyQucGlwZShcclxuXHRcdFx0XHRcdG1hcChjb3VudHJpZXMgPT4gY291bnRyaWVzLmZpbHRlcihjb3VudHJ5ID0+IHRoaXMuYWxsb3dlZENvdW50cmllcy5pbmNsdWRlcyhjb3VudHJ5LmNvZGUpKSlcclxuXHRcdFx0XHQpXHJcblx0XHRcdH1cclxuXHRcdFxyXG5cdFx0cmV0dXJuIHRoaXMuY291bnRyaWVzJDtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQ2FtYmlhIGxhIGxpc3RhIGRlIHByb3ZpbmNpYXMgc2VndW4gZWwgY29kaWdvIGRlbCBwYcOtcy5cclxuXHQgKiBAcGFyYW0gY29kZSBcclxuXHQgKi9cclxuXHRvbkNvdW50cnlTZWxlY3RlZCA9IChjb2RlOnN0cmluZykgPT4ge1xyXG5cdFx0Y29uc3QgcHJvdmluY2VzID0gdGhpcy5jb3VudHJpZXNTdWJqZWN0LnZhbHVlLmZpbmQocHJvdmluY2UgPT4gcHJvdmluY2UuY29kZSA9PSBjb2RlKS5wcm92aW5jZXM7XHJcblx0XHR0aGlzLnByb3ZpbmNlc1N1YmplY3QubmV4dChwcm92aW5jZXMpO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBQYXJhIGVsIGZ1dHVybywgY3VhbmRvIGhheWEgcXVlIGFwbGljYXIgYWxndW4gZm9ybWF0byBhbnRlcyBkZSBlbnZpYXIgZWwgZm9ybXVsYXJpby5cclxuXHQgKiBAcGFyYW0gcmVzcG9uc2Vfb2JqIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByZXBhcmVEYXRhKHJlc3BvbnNlX29iajogYW55KSB7XHJcblx0XHRyZXR1cm4gcmVzcG9uc2Vfb2JqXHJcblx0fVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -24,4 +24,4 @@ export * from './order-utility.service';
|
|
|
24
24
|
export * from './payment.service';
|
|
25
25
|
export * from './test.service';
|
|
26
26
|
export * from './orders.service';
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb3B0aW9ucy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wYXJhbWV0ZXJzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Jsb2Nrcy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9ibG9ja3MtcmVwb3NpdG9yeS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9hbmFseXRpY3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2N1cnJlbmN5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoYW5uZWwuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9hc3Quc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmUtY2FwdGNoYS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9mb3JtLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0cy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlcnMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1kZXRhaWwuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2FydC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9uZ3gtbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGVja291dC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9hZGRyZXNzaW5nLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2F1dGguc3RvcmFnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zaGlwbWVudC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9vcmRlci11dGlsaXR5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BheW1lbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGVzdC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9vcmRlcnMuc2VydmljZSc7Il19
|