ng-easycommerce-v18 0.3.17-beta.3 → 0.3.18-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 +97 -98
- package/assets/decidirFormEc.html +514 -514
- package/assets/ec-i18n/ct.json +282 -281
- package/assets/ec-i18n/en.json +87 -83
- package/assets/ec-i18n/es.json +433 -429
- package/assets/ec-i18n/fr.json +1 -0
- package/assets/ec-i18n/gl.json +282 -281
- package/assets/ec-i18n/pr.json +282 -281
- package/assets/images/cards-occasional.svg +21 -21
- package/assets/recaptcha/recaptcha-site-keys.json +3 -3
- package/assets/recaptcha/recaptcha-sites-prod.json +38 -38
- package/assets/recaptcha/recaptcha-sites.json +52 -52
- package/esm2022/lib/api/connection.service.mjs +1 -1
- package/esm2022/lib/classes/checkout/steps.mjs +1 -1
- package/esm2022/lib/classes/component-helper.mjs +1 -1
- package/esm2022/lib/classes/filters/attributes-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/category-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/dynamics-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/filter-factory.mjs +1 -1
- package/esm2022/lib/classes/filters/filter.mjs +2 -27
- package/esm2022/lib/classes/filters/index.mjs +1 -1
- package/esm2022/lib/classes/filters/price_range-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/sort-filter.mjs +1 -1
- package/esm2022/lib/classes/index.mjs +1 -1
- package/esm2022/lib/classes/user.mjs +1 -1
- package/esm2022/lib/constants/api.constants.service.mjs +53 -46
- package/esm2022/lib/constants/core.constants.service.mjs +1 -1
- package/esm2022/lib/constants/index.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/block-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/index.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +1 -17
- 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 +11 -5
- package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/blocks-ec/blocks-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/cart-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/checkout-ec/checkout-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/index.mjs +1 -1
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +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 +3 -3
- package/esm2022/lib/ec-components/contact-ec/contact-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/coupon-ec/coupon-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/faqs-ec/faqs-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +7 -32
- 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 +36 -6
- package/esm2022/lib/ec-components/home-ec/home-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/index.mjs +1 -1
- package/esm2022/lib/ec-components/price-range-filter/price-range-filter.component.mjs +3 -3
- package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/related-products-ec/related-products-ec.component.mjs +6 -8
- 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 +4 -6
- 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 +2 -4
- package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +3 -5
- 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/base-api.service.mjs +148 -0
- 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 +4 -2
- package/esm2022/lib/ec-services/currency.service.mjs +1 -1
- package/esm2022/lib/ec-services/filters.service.mjs +1 -1
- package/esm2022/lib/ec-services/form.service.mjs +1 -1
- package/esm2022/lib/ec-services/index.mjs +3 -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 +3 -27
- package/esm2022/lib/ec-services/order-utility.service.mjs +11 -5
- package/esm2022/lib/ec-services/orders.service.mjs +1 -1
- package/esm2022/lib/ec-services/pagination.service.mjs +1 -1
- package/esm2022/lib/ec-services/parameters.service.mjs +1 -1
- package/esm2022/lib/ec-services/payment.service.mjs +1 -1
- package/esm2022/lib/ec-services/product-detail.service.mjs +1 -1
- package/esm2022/lib/ec-services/products.service.mjs +1 -1
- package/esm2022/lib/ec-services/re-captcha.service.mjs +1 -1
- package/esm2022/lib/ec-services/reviews.service.mjs +1 -1
- package/esm2022/lib/ec-services/runtime-config.service.mjs +149 -0
- 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 +2 -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/runtime-config.mjs +2 -0
- 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/index.mjs +2 -1
- package/esm2022/lib/providers/provideEnvironment.mjs +1 -1
- package/esm2022/lib/providers/provideRuntimeConfig.mjs +39 -0
- package/esm2022/lib/stores/currency.store.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/ng-easycommerce-v18.mjs +596 -320
- package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
- package/lib/constants/api.constants.service.d.ts +25 -13
- package/lib/ec-components/abstractions-components/menu-ec.component.d.ts +0 -12
- package/lib/ec-components/filters-ec/filters-ec.component.d.ts +4 -12
- package/lib/ec-components/header-ec/header-ec.component.d.ts +14 -5
- package/lib/ec-services/base-api.service.d.ts +64 -0
- package/lib/ec-services/index.d.ts +2 -0
- package/lib/ec-services/options.service.d.ts +0 -4
- package/lib/ec-services/runtime-config.service.d.ts +56 -0
- package/lib/interfaces/environment.d.ts +1 -0
- package/lib/interfaces/filter.d.ts +0 -1
- package/lib/interfaces/index.d.ts +1 -0
- package/lib/interfaces/options.d.ts +0 -2
- package/lib/interfaces/runtime-config.d.ts +22 -0
- package/lib/providers/index.d.ts +1 -0
- package/lib/providers/provideRuntimeConfig.d.ts +12 -0
- package/package.json +1 -1
|
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
62
62
|
providedIn: 'root'
|
|
63
63
|
}]
|
|
64
64
|
}], ctorParameters: () => [] });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3BhcmFtZXRlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUVyRjs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFDN0I7O09BRUc7SUFDSyxZQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDbEQ7O09BRUc7SUFDSyxVQUFVLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFOUMsVUFBVTtJQUNWOzs7T0FHRztJQUNLLG1CQUFtQixLQUFLLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sYUFBYSxDQUFBLENBQUMsQ0FBQztJQUVuSCxhQUFhO0lBQ2I7O09BRUc7SUFDSyxpQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBcUIsSUFBSSxDQUFDLENBQUM7SUFDbEUsV0FBVyxHQUFtQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFNUYsU0FBUztJQUNUOzs7T0FHRztJQUNJLGFBQWE7UUFDbkIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ25ELFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFDZCxHQUFHLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBQ3JDLE9BQU8sUUFBUSxDQUFBO1lBQ2hCLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsS0FBSyxFQUFFLENBQUMsQ0FBQTtnQkFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFDL0IsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7WUFDZCxDQUFDLENBQUMsQ0FDRixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQTtJQUN4QixDQUFDO0lBQ0Q7Ozs7O09BS0c7SUFDSSxTQUFTLENBQUMsTUFBVyxFQUFFLElBQVksSUFBUyxPQUFPLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUV6SixnQkFBZ0IsQ0FBQzt3R0FyREwsaUJBQWlCOzRHQUFqQixpQkFBaUIsY0FGakIsTUFBTTs7NEZBRU4saUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNhdGNoRXJyb3IsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhcmFtZXRlciB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG4vKipcclxuICogU2VydmljaW8gcXVlIG1hbmVqYSBsb3MgcGFyYW1ldHJvcyBkZSBsYSBhcGxpY2FjacOzbi5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhcmFtZXRlcnNTZXJ2aWNlIHtcclxuXHQvKipcclxuXHQgKiBDb25zdGFudGVzIGRlIGxhIEFQSVxyXG5cdCAqL1xyXG5cdHByaXZhdGUgYXBpQ29uc3RhbnRzID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpXHJcblx0LyoqXHJcblx0ICogTWFuZWphIGxhcyBwZXRpY2lvbmVzIGEgbGEgQVBJXHJcblx0ICovXHJcblx0cHJpdmF0ZSBjb25uZWN0aW9uID0gaW5qZWN0KENvbm5lY3Rpb25TZXJ2aWNlKVxyXG5cclxuXHQvL0FQSSBVUkxTXHJcblx0LyoqXHJcblx0ICogRGV2dWVsdmUgbGEgVVJMIHBhcmEgb2J0ZW5lciB0b2RvcyBsb3MgcGFyYW1ldHJvcy5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIGdldEFsbFBhcmFtZXRlcnNBUEkoKSB7IHJldHVybiBgJHt0aGlzLmFwaUNvbnN0YW50cy5TSE9QX0FQSV9VUkx9JHt0aGlzLmFwaUNvbnN0YW50cy5DSEFOTkVMfS9wYXJhbWV0ZXJzYCB9XHJcblxyXG5cdC8vT0JTRVJWQUJMRVNcclxuXHQvKipcclxuXHQgKiBTdWJqZWN0IHBhcmEgbWFuZWphciBsb3MgY2FtYmlvcyBlbiBsb3MgZGF0b3MgZGUgbG9zIHBhcmFtZXRyb3NcclxuXHQgKi9cclxuXHRwcml2YXRlIHBhcmFtZXRlcnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbWV0ZXJbXSB8IG51bGw+KG51bGwpO1xyXG5cdHByaXZhdGUgcGFyYW1ldGVycyQ6IE9ic2VydmFibGU8UGFyYW1ldGVyW10gfCBudWxsPiA9IHRoaXMucGFyYW1ldGVyc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdC8vTUVUSE9EU1xyXG5cdC8qKlxyXG5cdCAqIE9idGllbmUgbG9zIHBhcsOhbWV0cm9zIGRlbCBiYWNrZW5kLiBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0UGFyYW1ldGVycygpOiBPYnNlcnZhYmxlPFBhcmFtZXRlcltdIHwgbnVsbD4ge1xyXG5cdFx0aWYgKHRoaXMucGFyYW1ldGVyc1N1YmplY3QuZ2V0VmFsdWUoKSA9PT0gbnVsbCkge1xyXG5cdFx0XHR0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMuZ2V0QWxsUGFyYW1ldGVyc0FQSSgpKS5waXBlKFxyXG5cdFx0XHRcdHNoYXJlUmVwbGF5KDEpLFxyXG5cdFx0XHRcdG1hcCgocmVzcG9uc2U6IFBhcmFtZXRlcltdKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnBhcmFtZXRlcnNTdWJqZWN0Lm5leHQocmVzcG9uc2UpXHJcblx0XHRcdFx0XHRyZXR1cm4gcmVzcG9uc2VcclxuXHRcdFx0XHR9KSwgY2F0Y2hFcnJvcigoZXJyb3I6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coYEVycm9yOiAke2Vycm9yfWApXHJcblx0XHRcdFx0XHR0aGlzLnBhcmFtZXRlcnNTdWJqZWN0Lm5leHQoW10pXHJcblx0XHRcdFx0XHRyZXR1cm4gb2YoW10pXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLnBhcmFtZXRlcnMkXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIENvbXBydWViYSBzaSBlbCBjw7NkaWdvIGRlIHVuIHBhcsOhbWV0cm8gZXhpc3RlIGVuIGxhIGxpc3RhIGRlIHBhcsOhbWV0cm9zLlxyXG5cdCAqIEBwYXJhbSBwYXJhbXMgTGlzdGEgZGUgcGFyw6FtZXRyb3NcclxuXHQgKiBAcGFyYW0gY29kZSBDw7NkaWdvIGRlbCBwYXLDoW1ldHJvIGEgYnVzY2FyXHJcblx0ICogQHJldHVybnMgRWwgb2JqZXRvIGNvbiBsb3MgZGF0b3MgZGVsIHBhcsOhbWV0cm8gZW5jb250cmFkbywgc2lubyByZXRvcm5hIGBudWxsYFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBoYXNQYXJhbXMocGFyYW1zOiBhbnksIGNvZGU6IHN0cmluZyk6IGFueSB7IHJldHVybiBwYXJhbXMgJiYgcGFyYW1zLmZpbmQoKHBhcmFtOiBhbnkpID0+IHBhcmFtLmNvZGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoY29kZS50b0xvd2VyQ2FzZSgpKSkgfVxyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
53
53
|
providedIn: 'root'
|
|
54
54
|
}]
|
|
55
55
|
}], ctorParameters: () => [] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3BheW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBS3JELE1BQU0sT0FBTyxjQUFjO0lBRWxCLGtCQUFrQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxhQUFhLEdBQWlCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuRCxVQUFVLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzlELFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELGlCQUFpQixHQUFxQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRCxnQkFBZ0IsR0FBb0IsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRTVELHFCQUFxQixHQUFHLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELFFBQVEsR0FBRyxJQUFJ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QUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFakUsZUFBZSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7d0dBcEQxRCxjQUFjOzRHQUFkLGNBQWMsY0FGZCxNQUFNOzs0RkFFTixjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0VmFsdWVGcm9tLCBtYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuL3RvYXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuL2NhcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuL2FuYWx5dGljcyc7XHJcbmltcG9ydCB7IENoZWNrb3V0U2VydmljZSB9IGZyb20gJy4vY2hlY2tvdXQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXltZW50U2VydmljZSB7XHJcblxyXG5cdHByaXZhdGUgX2Nvbm5lY3Rpb25TZXJ2aWNlOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9hcGlDb25zdHM6IEFwaUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlID0gaW5qZWN0KENhcnRTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9hbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlID0gaW5qZWN0KEFuYWx5dGljc1NlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2NoZWNrb3V0U2VydmljZTogQ2hlY2tvdXRTZXJ2aWNlID0gaW5qZWN0KENoZWNrb3V0U2VydmljZSk7XHJcblxyXG5cdHByaXZhdGUgcGF5bWVudE1ldGhvZHNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xyXG5cdHB1YmxpYyBtZXRob2RzJCA9IHRoaXMucGF5bWVudE1ldGhvZHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHQvL0FQSSBVUkxcclxuXHRiYXNlQXBpKCkgeyByZXR1cm4gJ3Nob3AtYXBpLycgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvJyArICdjaGVja291dC8nICsgdGhpcy5fY2FydFNlcnZpY2UuZ2V0Q2FydFRva2VuKCk7IH1cclxuXHRnZXRQYXltZW50TWV0aG9kc0FwaSgpIHsgcmV0dXJuIHRoaXMuYmFzZUFwaSgpICsgJy9wYXltZW50JzsgfVxyXG5cdHB1dFBheW1lbnRBcGkobWV0aG9kOiBzdHJpbmcpIHsgcmV0dXJuIHRoaXMuYmFzZUFwaSgpICsgJy9wYXltZW50LycgKyBtZXRob2Q7IH1cclxuXHRnZXRQcmVmZXJlbmNlQXBpICgpeyByZXR1cm4gJ3Nob3AtYXBpLycgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvbWVyY2Fkby1wYWdvLycgKyB0aGlzLl9jYXJ0U2VydmljZS5nZXRDYXJ0VG9rZW4oKSArICcvcHJlZmVyZW5jZSc7IH1cclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLmdldFBheW1lbnRNZXRob2RzKCk7XHJcblx0fVxyXG5cclxuXHRnZXRQYXltZW50TWV0aG9kcygpIHtcclxuXHRcdHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uU2VydmljZS5nZXQodGhpcy5nZXRQYXltZW50TWV0aG9kc0FwaSgpKSkudGhlbihcclxuXHRcdFx0cmVzID0+IHJlcy5wYXltZW50cz8ubGVuZ3RoICYmIHRoaXMucGF5bWVudE1ldGhvZHNTdWJqZWN0Lm5leHQoT2JqZWN0LmtleXMocmVzLnBheW1lbnRzWzBdLm1ldGhvZHMpLm1hcChrZXkgPT4gcmVzLnBheW1lbnRzWzBdLm1ldGhvZHNba2V5XSkpLFxyXG5cdFx0XHRlcnIgPT4gdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ29wZXJhdGlvbi1lcnJvcicpXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cHV0UGF5bWVudChtZXRob2Q6IGFueSkge1xyXG5cdFx0cmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2Nvbm5lY3Rpb25TZXJ2aWNlXHJcblx0XHRcdC5wdXQodGhpcy5wdXRQYXltZW50QXBpKG1ldGhvZCksIHsgbWV0aG9kIH0pKS50aGVuKFxyXG5cdFx0XHRcdHJlcyA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLl9hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgnYWRkX3BheW1lbnRfaW5mbycsIHJlcyk7XHJcblx0XHRcdFx0XHRyZXR1cm4gcmVzXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRlcnIgPT4ge1xyXG5cdFx0XHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHJlamVjdChuZXcgRXJyb3IoZXJyLmVycm9yKSkpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVycikpXHJcblx0fVxyXG5cclxuXHRnZXRQcmVmZXJlbmNlKHNoaXBtZW50X2RhdGE6YW55KXtcclxuXHRcdHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uU2VydmljZS5wb3N0KHRoaXMuZ2V0UHJlZmVyZW5jZUFwaSgpLCBzaGlwbWVudF9kYXRhKS5waXBlKG1hcChyZXMgPT4gKHJlcy5wcmVmZXJlbmNlIHx8IHJlcykpKSk7XHJcblx0fVxyXG5cclxuXHRzZXRQYXltZW50KGRhdGE6YW55KSB7XHJcblx0XHRyZXR1cm4gIHRoaXMuX2NoZWNrb3V0U2VydmljZS5zZXRTdGVwRGF0YSgncGF5bWVudCcsZGF0YSk7XHJcblx0fVxyXG5cclxuXHRnZXRVc2VyRGF0YSA9ICgpID0+IHRoaXMuX2NoZWNrb3V0U2VydmljZS5nZXRTdGVwRGF0YSgnYWRkcmVzcycpO1xyXG5cclxuXHRnZXRTaGlwbWVudERhdGEgPSAoKSA9PiB0aGlzLl9jaGVja291dFNlcnZpY2UuZ2V0U3RlcERhdGEoJ3NoaXBtZW50Jyk7XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -310,4 +310,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
310
310
|
providedIn: 'root'
|
|
311
311
|
}]
|
|
312
312
|
}], ctorParameters: () => [] });
|
|
313
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9wcm9kdWN0LWRldGFpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUs3QyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLGdCQUFnQixHQUFvQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDNUQsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkQsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFaEQsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFpQixFQUFFLENBQUMsQ0FBQztJQUMxRCxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7SUFDL0Msc0JBQXNCLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFekYsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsZUFBZSxHQUFHLElBQUksQ0FB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QUFhLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUE7WUFDbkcsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFBO1lBQ25HLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ1osQ0FBQyxDQUFBO3dHQXBUVyxvQkFBb0I7NEdBQXBCLG9CQUFvQixjQUZwQixNQUFNOzs0RkFFTixvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuL3Byb2R1Y3RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3B0aW9ucywgT3B0aW9uVmFsdWUsIFByb2R1Y3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4vdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4vY2FydC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdERldGFpbFNlcnZpY2Uge1xuXHRwcml2YXRlIF9wcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSA9IGluamVjdChQcm9kdWN0c1NlcnZpY2UpO1xuXHRwcml2YXRlIF90b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuXHRwcml2YXRlIF9jYXJ0U2VydmljZTogQ2FydFNlcnZpY2UgPSBpbmplY3QoQ2FydFNlcnZpY2UpO1xuXG5cdHByaXZhdGUgX3Byb2R1Y3RTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQcm9kdWN0IHwgbnVsbD4oe30pO1xuXHRwcml2YXRlIF9vcHRpb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih7fSk7XG5cdHByaXZhdGUgX2Fzc29jaWF0ZWREYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih7IHByaWNlOiAnJywgc3RvY2s6IDAsIHBpY3R1cmU6ICcnIH0pO1xuXG5cdHB1YmxpYyBwcm9kdWN0JCA9IHRoaXMuX3Byb2R1Y3RTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXHRwdWJsaWMgb3B0aW9ucyQgPSB0aGlzLl9vcHRpb25zU3ViamVjdC5hc09ic2VydmFibGUoKTtcblx0cHVibGljIGFzc29jaWF0ZWREYXRhJCA9IHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuXHRwcml2YXRlIHZhcmlhbnRzOiBhbnlbXSA9IFtdXG5cblx0Y29uc3RydWN0b3IoKSB7IH1cblx0LyoqXG5cdCAqIE9idGVuZ28gZWwgcHJvZHVjdG8gYSB0cmF2ZXMgZGUgc3UgY29kaWdvIGUgaW5pY2lhbGl6byBsYSBjb25maWd1cmFjacOzblxuXHQgKiBkZWwgU2VydmljaW8uXG5cdCAqIEBwYXJhbSBjb2RlIFxuXHQgKiBAcGFyYW0gdmFyaWFudCBcblx0ICovXG5cdGxvYWRQcm9kdWN0KGNvZGU6IHN0cmluZywgdmFyaWFudDogYm9vbGVhbiA9IGZhbHNlKSB7XG5cdFx0Zmlyc3RWYWx1ZUZyb20odGhpcy5fcHJvZHVjdHNTZXJ2aWNlLmdldFByb2R1Y3RCeUNvZGUoY29kZSwgdmFyaWFudCkpXG5cdFx0XHQudGhlbihyZXMgPT4ge1xuXHRcdFx0XHR2YXJpYW50ID8gdGhpcy5pbml0aWFsaXplKHJlcywgY29kZSkgOiB0aGlzLmluaXRpYWxpemUocmVzKVxuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChlcnIgPT4geyBjb25zb2xlLmxvZyhlcnIpOyB0aGlzLl9wcm9kdWN0U3ViamVjdC5uZXh0KG51bGwpIH0pO1xuXHR9XG5cdC8qKlxuXHQgKiBDYXJnYSBlbCBwcm9kdWN0byBlbiBlbCBvYnNlcnZhYmxlIHkgbGEgY29uZmlndXJhY2nDs24gZGUgbGFzIHZhcmlhbnRlcy5cblx0ICogQHBhcmFtIHByb2R1Y3QgXG5cdCAqIEBwYXJhbSB2YXJpYW50Q29kZSBcblx0ICovXG5cdHByaXZhdGUgaW5pdGlhbGl6ZShwcm9kdWN0OiBQcm9kdWN0LCB2YXJpYW50Q29kZT86IHN0cmluZykge1xuXHRcdHRoaXMuX3Byb2R1Y3RTdWJqZWN0Lm5leHQocHJvZHVjdCk7XG5cdFx0Y29uc3QgYXV4OiBQcm9kdWN0WydvcHRpb25zJ10gPSBwcm9kdWN0Lm9wdGlvbnMgfHwgW107XG5cdFx0Y29uc3Qgb3B0aW9ucyA9IGF1eD8ubWFwKG9wdGlvbiA9PiB0aGlzLnRvT3B0aW9uKG9wdGlvbikpXG5cdFx0dGhpcy5fb3B0aW9uc1N1YmplY3QubmV4dChvcHRpb25zKTtcblx0XHR2YXJpYW50Q29kZSA/IHRoaXMudXBkYXRlVmFyaWFudHModmFyaWFudENvZGUpIDogdGhpcy51cGRhdGVWYXJpYW50cygpO1xuXHRcdHRoaXMudmFyaWFudHMubGVuZ3RoICYmIHRoaXMuZ2VuZXJhdGVBc3NvY2lhdGVkRGF0YUZyb21WYXJpYW50cygpO1xuXHR9XG5cdC8qKlxuXHQgKiBGb3JtYXRlIGxvcyBkYXRvcyBwYXJhIGxhcyBvcGNpb25lcyBkZWwgcHJvZHVjdG8uXG5cdCAqIEBwYXJhbSBvcHRpb24gXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHJpdmF0ZSB0b09wdGlvbihvcHRpb246IE9wdGlvbnMpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0bmFtZTogb3B0aW9uLmxhYmVsLFxuXHRcdFx0Y29kZTogb3B0aW9uLmNvZGUsXG5cdFx0XHR0eXBlOiBvcHRpb24udHlwZSxcblx0XHRcdHZhbHVlczogb3B0aW9uLnZhbHVlcy5tYXAoKHZhbHVlOiBhbnkpID0+ICh7IG5hbWU6IHZhbHVlLmNvZGUsIGRlc2NyaXB0aW9uOiB2YWx1ZS5uYW1lLCBpbWFnZTogdmFsdWUuaW1hZ2UsIG1vYmlsZUltYWdlOiB2YWx1ZS5tb2JpbGVJbWFnZSwgc2VsZWN0ZWQ6IGZhbHNlIH0pKVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBDYW1iaWEgbGFzIG9wY2lvbmVzLCBvYnRpZW5lIGVsIHByb2R1Y3RvIGFzb2NpYWRvIGEgbGEgb3BjaW9uIGVsZWdpZGEuXG5cdCAqL1xuXHRzZXRPcHRpb24ob3B0aW9uQ29kZTogYW55LCBvcHRpb25WYWx1ZTogYW55KSB7XG5cdFx0Y29uc3Qgb3B0aW9ucyA9IHRoaXMuX29wdGlvbnNTdWJqZWN0LnZhbHVlO1xuXHRcdGNvbnN0IG9wdGlvbiA9IG9wdGlvbnMuZmluZCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50LmNvZGUgPT0gb3B0aW9uQ29kZSkudmFsdWVzLmZpbmQoKHZhbHVlOiBhbnkpID0+IHZhbHVlLm5hbWUgPT0gb3B0aW9uVmFsdWUpO1xuXHRcdG9wdGlvbi5zZWxlY3RlZCA9ICFvcHRpb24uc2VsZWN0ZWQ7XG5cdFx0b3B0aW9ucy5maW5kKChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQuY29kZSA9PSBvcHRpb25Db2RlKS52YWx1ZXMuZm9yRWFjaChcblx0XHRcdCh2YWx1ZTogYW55KSA9PiB7IGlmICh2YWx1ZS5uYW1lICE9IG9wdGlvbi5uYW1lKSB2YWx1ZS5zZWxlY3RlZCA9IGZhbHNlIH1cblx0XHQpO1xuXHRcdHRoaXMuX29wdGlvbnNTdWJqZWN0Lm5leHQob3B0aW9ucyk7XG5cdFx0dGhpcy51cGRhdGVWYXJpYW50cygpO1xuXHRcdHRoaXMudmFyaWFudHMubGVuZ3RoID4gMCA/IHRoaXMuZ2VuZXJhdGVBc3NvY2lhdGVkRGF0YUZyb21WYXJpYW50cygpIDogdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ3NlbGVjdGlvbi1ub3QtYXZhaWxhYmxlJylcblx0fVxuXHQvKipcbiAqIEFjdHVhbGl6YSBlbCBvYnNlcnZhYmxlIGRlIGBhc3NvY2lhdGVkRGF0YWAgZWwgY3VhbCBzZSB1dGlsaXphIHBhcmEgbW9zdHJhciBsb3MgZGF0b3NcbiAqIGVuIGVsIGZyb250ZW5kIHNlZ8O6biBlbCBwcm9kdWN0byB5L28gdmFyaWFudGUgZWxlZ2lkYS5cbiAqIE9idGllbmUgbG9zIGRhdG9zIGRlIGxhIHZhcmlhbnRlIHkgbG9zIGZvcm1hdGVhLlxuICovXG5cdGdlbmVyYXRlQXNzb2NpYXRlZERhdGFGcm9tVmFyaWFudHMoKTogdm9pZCB7XG5cdFx0Y29uc3QgYXNzb2NpYXRlZDogYW55ID0ge307XG5cblx0XHQvLyBTaSBzw7NsbyBoYXkgdW5hIHZhcmlhbnRlLCB0b21hbW9zIHRvZG9zIHN1cyBkYXRvcyBkaXJlY3RhbWVudGVcblx0XHRpZiAodGhpcy52YXJpYW50cy5sZW5ndGggPT09IDEpIHtcblx0XHRcdGNvbnN0IHYgPSB0aGlzLnZhcmlhbnRzWzBdO1xuXG5cdFx0XHRhc3NvY2lhdGVkLnN0b2NrID0gdi5zdG9jaztcblx0XHRcdC8vIFByZWNpbzogc2kgdmllbmUgdGF4TGVnZW5kSW5mbyB1c2Ftb3Mgc3UgcHJpY2UsIHNpIG5vIGVsIHYucHJpY2Vcblx0XHRcdGNvbnN0IHJhd1ByaWNlID0gdi50YXhMZWdlbmRJbmZvPy5wcmljZSA/PyB2LnByaWNlO1xuXHRcdFx0YXNzb2NpYXRlZC5wcmljZSA9IHJhd1ByaWNlLnRvU3RyaW5nKCk7XG5cdFx0XHRjb25zdCByYXdTYWxlUHJpY2UgPSB2LnRheExlZ2VuZEluZm8/LnNhbGVwcmljZSA/PyB2LnNhbGVwcmljZTtcblx0XHRcdGFzc29jaWF0ZWQuc2FsZXByaWNlID0gcmF3U2FsZVByaWNlID8gcmF3U2FsZVByaWNlLnRvU3RyaW5nKCkgOiB1bmRlZmluZWQ7XG5cdFx0XHRhc3NvY2lhdGVkLmRpc2NvdW50ID0gdi5kaXNjb3VudCA/PyB1bmRlZmluZWQ7XG5cdFx0XHRhc3NvY2lhdGVkLnByb3BlcnRpZXMgPSB2LnByb3BlcnRpZXMgPyB0aGlzLmJlYXV0aWZ5UHJvcGVydGllcyh2LnByb3BlcnRpZXMpIDogdW5kZWZpbmVkO1xuXHRcdFx0YXNzb2NpYXRlZC51bmlxdWVFeHRlcm5hbENvZGUgPSB2LnVuaXF1ZUV4dGVybmFsQ29kZSA/PyB1bmRlZmluZWQ7XG5cdFx0XHRhc3NvY2lhdGVkLm11bHRpcGxlUXVhbnRpdHkgPSB2Lm11bHRpcGxlUXVhbnRpdHkgPz8gdW5kZWZpbmVkO1xuXG5cdFx0XHQvLyBMw61taXRlcyBkZSBjYW50aWRhZC9zdG9ja1xuXHRcdFx0YXNzb2NpYXRlZC5tYXhpbXVtQW1vdW50ID0gdi5tYXhpbXVtQW1vdW50ID8/IDA7XG5cdFx0XHRhc3NvY2lhdGVkLm1pbmltdW1BbW91bnQgPSB2Lm1pbmltdW1BbW91bnQgPz8gMDtcblx0XHRcdGFzc29jaWF0ZWQubWF4aW11bUl0ZW1zUXVhbnRpdHkgPSB2LnN0b2NrID4gMCAmJiAnbWF4aW11bUl0ZW1zUXVhbnRpdHknIGluIHZcblx0XHRcdFx0PyB2Lm1heGltdW1JdGVtc1F1YW50aXR5XG5cdFx0XHRcdDogdi5zdG9jaztcblx0XHRcdGFzc29jaWF0ZWQubWluaW11bUl0ZW1zUXVhbnRpdHkgPSB2LnN0b2NrID4gMCAmJiAnbWluaW11bUl0ZW1zUXVhbnRpdHknIGluIHYgJiYgdi5taW5pbXVtSXRlbXNRdWFudGl0eSEgPiAwXG5cdFx0XHRcdD8gdi5taW5pbXVtSXRlbXNRdWFudGl0eVxuXHRcdFx0XHQ6ICh2Lm11bHRpcGxlUXVhbnRpdHkgPz8gMSk7XG5cblx0XHRcdC8vIFByZWNpb3MgYWwgY29uc3VtaWRvciBmaW5hbFxuXHRcdFx0YXNzb2NpYXRlZC5maW5hbENvbnN1bWVyID0ge1xuXHRcdFx0XHRmaW5hbENvbnN1bWVyUHJpY2U6IHYuZmluYWxfY29uc3VtZXJfcHJpY2UsXG5cdFx0XHRcdG9yaWdpbmFsRmluYWxDb25zdW1lclByaWNlOiB2Lm9yaWdpbmFsX2ZpbmFsX2NvbnN1bWVyX3ByaWNlXG5cdFx0XHR9O1xuXG5cdFx0XHQvLyBJbXB1ZXN0b3Ncblx0XHRcdGFzc29jaWF0ZWQudGF4ZXMgPSB7XG5cdFx0XHRcdHRheEluY2x1ZGVkOiB2LnRheEluY2x1ZGVkLFxuXHRcdFx0XHR0YXhDYXRlZ29yeTogdi50YXhDYXRlZ29yeVxuXHRcdFx0fTtcblx0XHRcdC8vIFNlZ3VuIHZlcnNpb24gZGVsIGJhY2tlbmRcblx0XHRcdGlmICh2LnRheExlZ2VuZEluZm8pIHtcblx0XHRcdFx0Ly8gTnVldm8gYmFja2VuZFxuXHRcdFx0XHRhc3NvY2lhdGVkLnByaWNlV2l0aG91dFRheGVzID0gdi50YXhMZWdlbmRJbmZvLnByaWNlV2l0aG91dFRheGVzO1xuXHRcdFx0XHRhc3NvY2lhdGVkLnRheGVBbW91bnQgPSB2LnRheExlZ2VuZEluZm8udGF4ZXM7XG5cdFx0XHRcdGFzc29jaWF0ZWQudGF4UmF0ZSA9IHYudGF4TGVnZW5kSW5mby50YXhSYXRlO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Ly8gQmFja2VuZCBhbnRpZ3VvXG5cdFx0XHRcdGFzc29jaWF0ZWQucHJpY2VXaXRob3V0VGF4ZXMgPSB2LnByaWNlV2l0aG91dFRheGVzID8/IHVuZGVmaW5lZDtcblx0XHRcdFx0YXNzb2NpYXRlZC50YXhlQW1vdW50ID0gdi50YXhlcyA/PyB1bmRlZmluZWQ7XG5cdFx0XHRcdGFzc29jaWF0ZWQudGF4UmF0ZSA9IHYudGF4UmF0ZSA/PyB1bmRlZmluZWQ7XG5cdFx0XHR9XG5cblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gU2kgaGF5IHZhcmlhcyB2YXJpYW50ZXMsIHJlc3VtaW1vc1xuXHRcdFx0YXNzb2NpYXRlZC5wcmljZSA9IHRoaXMuY3JlYXRlUHJpY2UoKTtcblx0XHRcdGFzc29jaWF0ZWQuc2FsZXByaWNlID0gdGhpcy5jcmVhdGVTYWxlUHJpY2UoKTtcblx0XHRcdGFzc29jaWF0ZWQuc3RvY2sgPSB0aGlzLnZhcmlhbnRzLm1hcCh2ID0+IHYuc3RvY2spLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApO1xuXHRcdFx0YXNzb2NpYXRlZC5kaXNjb3VudCA9IHRoaXMuY3JlYXRlRGlzY291bnQoKTtcblx0XHR9XG5cblx0XHQvLyBJbWFnZW4gcHJpbmNpcGFsXG5cdFx0Y29uc3QgZmlyc3QgPSB0aGlzLnZhcmlhbnRzWzBdO1xuXHRcdGlmICgnaW1hZ2VzJyBpbiBmaXJzdCAmJiBmaXJzdC5pbWFnZXMubGVuZ3RoID4gMCkge1xuXHRcdFx0YXNzb2NpYXRlZC5waWN0dXJlID0gZmlyc3QuaW1hZ2VzWzBdO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRhc3NvY2lhdGVkLnBpY3R1cmUgPSB0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWU/LnBpY3R1cmVcblx0XHRcdFx0Pz8gdGhpcy5fcHJvZHVjdFN1YmplY3QudmFsdWU/LnBpY3R1cmVzZGVmYXVsdD8uWzBdO1xuXHRcdH1cblxuXHRcdC8vIEVtaXRpbW9zIGVsIG9iamV0byBjb21wbGV0b1xuXHRcdHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC5uZXh0KGFzc29jaWF0ZWQpO1xuXHR9XG5cdC8qKlxuXHQgKiBNZWpvcmEgbG9zIGRhdG9zIGRlIGxhcyBgcHJvcGVydGllc2AuXG5cdCAqIEBwYXJhbSBwcm9wZXJ0aWVzIFxuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdGJlYXV0aWZ5UHJvcGVydGllcyhwcm9wZXJ0aWVzOiBhbnkpOiBhbnkge1xuXHRcdGxldCBiZWF1dGlmeURhdGE6IGFueSA9IFtdO1xuXHRcdHByb3BlcnRpZXMuZm9yRWFjaCgocHJvcDogYW55KSA9PiB7XG5cdFx0XHRmb3IgKGxldCBrZXkgaW4gcHJvcCkge1xuXHRcdFx0XHRiZWF1dGlmeURhdGEucHVzaCh7IG5hbWU6IGtleSwgdmFsdWU6IHByb3Bba2V5XSB9KVxuXHRcdFx0fVxuXHRcdH0pXG5cdFx0cmV0dXJuIGJlYXV0aWZ5RGF0YVxuXHR9XG5cdC8qKlxuXHQgKiBEZXZ1ZWx2ZSB1biBkZXNjdWVudG8gZW4gY2FzbyBkZSBleGlzdGlyLlxuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdGNyZWF0ZURpc2NvdW50KCk6IGFueSB7XG5cdFx0bGV0IGFsbERpc2NvdW50czogc3RyaW5nID0gJyc7XG5cdFx0dGhpcy52YXJpYW50cy5mb3JFYWNoKHZhcmlhbnQgPT4ge1xuXHRcdFx0dmFyaWFudC5kaXNjb3VudCAmJiAoYWxsRGlzY291bnRzICs9ICcsICcgKyB2YXJpYW50LmRpc2NvdW50KTtcblx0XHR9KVxuXHRcdGlmIChhbGxEaXNjb3VudHMgPT0gJycpIHJldHVybiB1bmRlZmluZWQ7XG5cdFx0cmV0dXJuIGFsbERpc2NvdW50cztcblx0fVxuXHQvKipcblx0ICogRGV2dWVsdmUgZWwgcHJlY2lvIGRlIHZlbnRhLlxuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdGNyZWF0ZVNhbGVQcmljZSgpOiBhbnkge1xuXHRcdGxldCBtaW5QcmljZTogbnVtYmVyID0gMDtcblx0XHRsZXQgbWF4UHJpY2U6IG51bWJlciA9IDA7XG5cdFx0bGV0IGFsbFByaWNlczogYW55ID0gdGhpcy52YXJpYW50cy5tYXAodiA9PiB2LnNhbGVwcmljZSkuZmlsdGVyKGUgPT4gZSAhPT0gdW5kZWZpbmVkKTtcblx0XHRpZiAoYWxsUHJpY2VzLmxlbmd0aCA9PSAwKSB7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkXG5cdFx0fVxuXHRcdG1pblByaWNlID0gYWxsUHJpY2VzLnJlZHVjZSgoYTogbnVtYmVyLCBiOiBudW1iZXIpID0+IE1hdGgubWluKGEsIGIpKTtcblx0XHRtYXhQcmljZSA9IGFsbFByaWNlcy5yZWR1Y2UoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBNYXRoLm1heChhLCBiKSk7XG5cdFx0cmV0dXJuIG1pblByaWNlID09IG1heFByaWNlID8gbWF4UHJpY2UudG9TdHJpbmcoKSA6IG1pblByaWNlICsgJyAtICcgKyBtYXhQcmljZTtcblx0fVxuXHQvKipcblx0ICogRGV2dWVsdmUgZWwgcHJlY2lvIG8gbG9zIHByZWNpb3MgZW4gY2FzbyBkZSB0ZW5lciB2YXJpYXMgdmFyaWFudGVzIGNvbiBkaXN0aW50b3MgcHJlY2lvcy5cblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRjcmVhdGVQcmljZSgpOiBhbnkge1xuXHRcdGxldCBtaW5QcmljZTogbnVtYmVyID0gMDtcblx0XHRsZXQgbWF4UHJpY2U6IG51bWJlciA9IDA7XG5cdFx0bGV0IGFsbFByaWNlOiBhbnkgPSB0aGlzLnZhcmlhbnRzLm1hcCh2ID0+IHYucHJpY2UpXG5cdFx0bWluUHJpY2UgPSBhbGxQcmljZS5yZWR1Y2UoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBNYXRoLm1pbihhLCBiKSk7XG5cdFx0bWF4UHJpY2UgPSBhbGxQcmljZS5yZWR1Y2UoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBNYXRoLm1heChhLCBiKSk7XG5cdFx0cmV0dXJuIG1pblByaWNlID09IG1heFByaWNlID8gbWF4UHJpY2UudG9TdHJpbmcoKSA6IG1pblByaWNlICsgJyAtICcgKyBtYXhQcmljZTtcblx0fVxuXHQvKipcblx0ICogQWN0dWFsaXphIGxhcyB2YXJpYW50ZXMuXG5cdCAqIEBwYXJhbSBjb2RlIFxuXHQgKi9cblx0dXBkYXRlVmFyaWFudHMgPSAoY29kZT86IHN0cmluZykgPT4ge1xuXHRcdGxldCB2YXJpYW50cyA9IHRoaXMuX3Byb2R1Y3RTdWJqZWN0LnZhbHVlPy52YXJpYW50c1xuXHRcdC8vY29uc29sZS5sb2codmFyaWFudHMpXG5cdFx0aWYgKCFjb2RlKSB7XG5cdFx0XHR0aGlzLl9vcHRpb25zU3ViamVjdC52YWx1ZS5mb3JFYWNoKChvcHRpb246IGFueSkgPT4ge1xuXHRcdFx0XHRvcHRpb24udmFsdWVzLmZvckVhY2goKHZhbHVlOiBhbnkpID0+IHtcblx0XHRcdFx0XHRpZiAodmFsdWUuc2VsZWN0ZWQpIHtcblx0XHRcdFx0XHRcdHZhcmlhbnRzID0gdmFyaWFudHM/LmZpbHRlcih2YXJpYW50ID0+IHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHZhcmlhbnQub3B0aW9ucy5zb21lKCh2YXJpYW50T3B0aW9uOiBhbnkpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gKG9wdGlvbi5jb2RlIGluIHZhcmlhbnRPcHRpb24gJiYgdmFyaWFudE9wdGlvbltvcHRpb24uY29kZV0gPT0gdmFsdWUubmFtZSk7XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0pXG5cdFx0fSBlbHNlIHtcblx0XHRcdHZhcmlhbnRzID0gdmFyaWFudHM/LmZpbHRlcih2YXJpYW50ID0+IHZhcmlhbnQuY29kZSA9PSBjb2RlKTtcblx0XHR9XG5cdFx0dGhpcy52YXJpYW50cyA9IHZhcmlhbnRzIHx8IFtdO1xuXHRcdGNvZGUgJiYgdGhpcy51cGRhdGVPcHRpb25zKCk7XG5cdH1cblx0LyoqXG5cdCAqIEFjdHVhbGl6YSBsYXMgb3BjaW9uZXNcblx0ICovXG5cdHByaXZhdGUgdXBkYXRlT3B0aW9ucyA9ICgpID0+IHtcblx0XHRsZXQgeyBvcHRpb25zIH0gPSB0aGlzLnZhcmlhbnRzLmxlbmd0aCAmJiB0aGlzLnZhcmlhbnRzWzBdO1xuXHRcdG9wdGlvbnMgJiYgb3B0aW9ucy5mb3JFYWNoKChvcHRpb246IGFueSkgPT4gT2JqZWN0LmtleXMob3B0aW9uKS5mb3JFYWNoKGtleSA9PiB0aGlzLnNldE9wdGlvbihrZXksIG9wdGlvbltrZXldKSkpXG5cdH1cblx0LyoqXG5cdCAqIEFncmVnYSBlbCBwcm9kdWN0byBhbCBjYXJyaXRvLlxuXHQgKiBAcGFyYW0gcXVhbnRpdHkgQ2FudGlkYWQgZGVsIHByb2R1Y3RvIGEgYWdyZWdhclxuXHQgKiBAcGFyYW0gdmFyaWFudENvZGUgQ29kaWdvIGRlIGxhIHZhcmlhbnRlLlxuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdGFkZFRvQ2FydChxdWFudGl0eTogbnVtYmVyLCB2YXJpYW50Q29kZT86IHN0cmluZykge1xuXG5cblx0XHRpZiAoIXRoaXMudmFyaWFudHMubGVuZ3RoKSB7XG5cblx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdjYW50LWJ1eScpXG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0bGV0IHByb2R1Y3RTZWxlY3RlZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoKHRoaXMuX3Byb2R1Y3RTdWJqZWN0LmdldFZhbHVlKCkpKSk7XG5cblx0XHRsZXQgdmFyaWFudDogYW55O1xuXHRcdHN3aXRjaCAodGhpcy52YXJpYW50cy5sZW5ndGgpIHtcblx0XHRcdGNhc2UgMDpcblx0XHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ25vLXZhcmlhbnRzJyk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAxOlxuXG5cdFx0XHRcdHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC52YWx1ZS5zdG9jayA9PSAwXG5cdFx0XHRcdFx0PyB0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrJylcblx0XHRcdFx0XHQ6IHZhcmlhbnQgPSB0aGlzLnZhcmlhbnRzWzBdXG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0aWYgKHZhcmlhbnRDb2RlKSB7XG5cdFx0XHRcdFx0dmFyaWFudCA9IHRoaXMudmFyaWFudHMuZmluZCh2YXJpYW50ID0+IHZhcmlhbnQuY29kZSA9PT0gdmFyaWFudENvZGUpXG5cdFx0XHRcdFx0aWYgKHZhcmlhbnQuc3RvY2sgPT0gMCkge1xuXHRcdFx0XHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jaycpXG5cdFx0XHRcdFx0XHR2YXJpYW50ID0gdW5kZWZpbmVkXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCd2YXJpYW50cy1sZWZ0Jylcblx0XHRcdFx0fVxuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cdFx0aWYgKCF2YXJpYW50KSByZXR1cm47XG5cdFx0aWYgKCF0aGlzLnZhbGlkYXRlUXVhbnRpdHkocXVhbnRpdHkpKSByZXR1cm47XG5cdFx0Ly9hZ3JlZ2FyIGFsIHNlcnZpY2lvIGRlbCBjYXJyaXRvXG5cdFx0dGhpcy5fY2FydFNlcnZpY2UuYWRkVG9DYXJ0KHRoaXMubWFrZUFmZm9yZGFibGVQcm9kdWN0KHByb2R1Y3RTZWxlY3RlZCksIHF1YW50aXR5LCB2YXJpYW50LmNvZGUpO1xuXHR9XG5cdC8qKlxuXHQgKiBHZW5lcmEgdW4gcHJvZHVjdG8gcGFyYSBoYWNlciBtYXMgZmFjw61sIGVsIGVudmlvIGRlbCBlbGVtZW50byBhbCBiYWNrZW5kLlxuXHQgKiBAcGFyYW0gcHJvZHVjdFNlbGVjdGVkIFxuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdHByaXZhdGUgbWFrZUFmZm9yZGFibGVQcm9kdWN0KHByb2R1Y3RTZWxlY3RlZDogUHJvZHVjdCkge1xuXHRcdHByb2R1Y3RTZWxlY3RlZC5wcmljZSA9IHBhcnNlRmxvYXQodGhpcy5fYXNzb2NpYXRlZERhdGFTdWJqZWN0LnZhbHVlLnByaWNlKTtcblx0XHRwcm9kdWN0U2VsZWN0ZWQuc2FsZXByaWNlID0gcGFyc2VGbG9hdCh0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWUucHJpY2UpO1xuXHRcdHByb2R1Y3RTZWxlY3RlZC5vcHRpb25zID0gW107XG5cdFx0dGhpcy52YXJpYW50c1swXS5vcHRpb25zLmZvckVhY2goKG9wdGlvbjogYW55KSA9PiBwcm9kdWN0U2VsZWN0ZWQub3B0aW9ucyA9IHsgLi4ucHJvZHVjdFNlbGVjdGVkLm9wdGlvbnMsIC4uLm9wdGlvbiB9KVxuXHRcdHJldHVybiBwcm9kdWN0U2VsZWN0ZWQ7XG5cdH1cblx0LyoqXG5cdCAqIFZhbGlkYSBsYSBjYW50aWRhZCBxdWUgc2UgcXVpZXJlIGFncmVnYXIgZGUgdW4gcHJvZHVjdG8uXG5cdCAqIFJldmlzYSBxdWUgbm8gc3VwZXJlIGVsIHN0b2NrLCBlbCBtYXhpbW8gZGUgaXRlbXMgcXVlIHNlIHB1ZWRlIGFncmVnYXJcblx0ICogYXNpIGNvbW8gZWwgbWluaW1vLlxuXHQgKiBAcGFyYW0gcXVhbnRpdHkgXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHJpdmF0ZSB2YWxpZGF0ZVF1YW50aXR5ID0gKHF1YW50aXR5OiBudW1iZXIpID0+IHtcblx0XHRjb25zdCBhY3R1YWxRdWFudGl0eSA9IHRoaXMuX2NhcnRTZXJ2aWNlLmdldENvdW50RnJvbUl0ZW1JbkNhcnQodGhpcy52YXJpYW50c1swXS5jb2RlKTtcblx0XHRjb25zdCBhc29jaWF0ZWREYXRhID0gdGhpcy5fYXNzb2NpYXRlZERhdGFTdWJqZWN0LnZhbHVlO1xuXHRcdGlmICgoYWN0dWFsUXVhbnRpdHkgKyBxdWFudGl0eSkgPiBhc29jaWF0ZWREYXRhLm1heGltdW1JdGVtc1F1YW50aXR5KSB7XG5cdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnbWF4aW11bS1pdGVtcy1xdWFudGl0eScsIHsgcXVhbnRpdHk6IGFzb2NpYXRlZERhdGEubWF4aW11bUl0ZW1zUXVhbnRpdHkgfSlcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0aWYgKChhY3R1YWxRdWFudGl0eSArIHF1YW50aXR5KSA8IGFzb2NpYXRlZERhdGEubWluaW11bUl0ZW1zUXVhbnRpdHkpIHtcblx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdtaW5pbXVtLWl0ZW1zLXF1YW50aXR5JywgeyBxdWFudGl0eTogYXNvY2lhdGVkRGF0YS5taW5pbXVtSXRlbXNRdWFudGl0eSB9KVxuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHRyZXR1cm4gdHJ1ZVxuXHR9XG59XG4iXX0=
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9wcm9kdWN0LWRldGFpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUs3QyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLGdCQUFnQixHQUFvQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDNUQsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkQsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFaEQsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFpQixFQUFFLENBQUMsQ0FBQztJQUMxRCxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7SUFDL0Msc0JBQXNCLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFekYsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsZUFBZSxHQUFHLElBQUksQ0FB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QUFhLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUE7WUFDbkcsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFBO1lBQ25HLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ1osQ0FBQyxDQUFBO3dHQXBUVyxvQkFBb0I7NEdBQXBCLG9CQUFvQixjQUZwQixNQUFNOzs0RkFFTixvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4vcHJvZHVjdHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgT3B0aW9ucywgT3B0aW9uVmFsdWUsIFByb2R1Y3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi90b2FzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuL2NhcnQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0RGV0YWlsU2VydmljZSB7XHJcblx0cHJpdmF0ZSBfcHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UgPSBpbmplY3QoUHJvZHVjdHNTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF90b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2NhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSk7XHJcblxyXG5cdHByaXZhdGUgX3Byb2R1Y3RTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQcm9kdWN0IHwgbnVsbD4oe30pO1xyXG5cdHByaXZhdGUgX29wdGlvbnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHt9KTtcclxuXHRwcml2YXRlIF9hc3NvY2lhdGVkRGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oeyBwcmljZTogJycsIHN0b2NrOiAwLCBwaWN0dXJlOiAnJyB9KTtcclxuXHJcblx0cHVibGljIHByb2R1Y3QkID0gdGhpcy5fcHJvZHVjdFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0cHVibGljIG9wdGlvbnMkID0gdGhpcy5fb3B0aW9uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0cHVibGljIGFzc29jaWF0ZWREYXRhJCA9IHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0cHJpdmF0ZSB2YXJpYW50czogYW55W10gPSBbXVxyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHsgfVxyXG5cdC8qKlxyXG5cdCAqIE9idGVuZ28gZWwgcHJvZHVjdG8gYSB0cmF2ZXMgZGUgc3UgY29kaWdvIGUgaW5pY2lhbGl6byBsYSBjb25maWd1cmFjacOzblxyXG5cdCAqIGRlbCBTZXJ2aWNpby5cclxuXHQgKiBAcGFyYW0gY29kZSBcclxuXHQgKiBAcGFyYW0gdmFyaWFudCBcclxuXHQgKi9cclxuXHRsb2FkUHJvZHVjdChjb2RlOiBzdHJpbmcsIHZhcmlhbnQ6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG5cdFx0Zmlyc3RWYWx1ZUZyb20odGhpcy5fcHJvZHVjdHNTZXJ2aWNlLmdldFByb2R1Y3RCeUNvZGUoY29kZSwgdmFyaWFudCkpXHJcblx0XHRcdC50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0dmFyaWFudCA/IHRoaXMuaW5pdGlhbGl6ZShyZXMsIGNvZGUpIDogdGhpcy5pbml0aWFsaXplKHJlcylcclxuXHRcdFx0fSlcclxuXHRcdFx0LmNhdGNoKGVyciA9PiB7IGNvbnNvbGUubG9nKGVycik7IHRoaXMuX3Byb2R1Y3RTdWJqZWN0Lm5leHQobnVsbCkgfSk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIENhcmdhIGVsIHByb2R1Y3RvIGVuIGVsIG9ic2VydmFibGUgeSBsYSBjb25maWd1cmFjacOzbiBkZSBsYXMgdmFyaWFudGVzLlxyXG5cdCAqIEBwYXJhbSBwcm9kdWN0IFxyXG5cdCAqIEBwYXJhbSB2YXJpYW50Q29kZSBcclxuXHQgKi9cclxuXHRwcml2YXRlIGluaXRpYWxpemUocHJvZHVjdDogUHJvZHVjdCwgdmFyaWFudENvZGU/OiBzdHJpbmcpIHtcclxuXHRcdHRoaXMuX3Byb2R1Y3RTdWJqZWN0Lm5leHQocHJvZHVjdCk7XHJcblx0XHRjb25zdCBhdXg6IFByb2R1Y3RbJ29wdGlvbnMnXSA9IHByb2R1Y3Qub3B0aW9ucyB8fCBbXTtcclxuXHRcdGNvbnN0IG9wdGlvbnMgPSBhdXg/Lm1hcChvcHRpb24gPT4gdGhpcy50b09wdGlvbihvcHRpb24pKVxyXG5cdFx0dGhpcy5fb3B0aW9uc1N1YmplY3QubmV4dChvcHRpb25zKTtcclxuXHRcdHZhcmlhbnRDb2RlID8gdGhpcy51cGRhdGVWYXJpYW50cyh2YXJpYW50Q29kZSkgOiB0aGlzLnVwZGF0ZVZhcmlhbnRzKCk7XHJcblx0XHR0aGlzLnZhcmlhbnRzLmxlbmd0aCAmJiB0aGlzLmdlbmVyYXRlQXNzb2NpYXRlZERhdGFGcm9tVmFyaWFudHMoKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogRm9ybWF0ZSBsb3MgZGF0b3MgcGFyYSBsYXMgb3BjaW9uZXMgZGVsIHByb2R1Y3RvLlxyXG5cdCAqIEBwYXJhbSBvcHRpb24gXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSB0b09wdGlvbihvcHRpb246IE9wdGlvbnMpIHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdG5hbWU6IG9wdGlvbi5sYWJlbCxcclxuXHRcdFx0Y29kZTogb3B0aW9uLmNvZGUsXHJcblx0XHRcdHR5cGU6IG9wdGlvbi50eXBlLFxyXG5cdFx0XHR2YWx1ZXM6IG9wdGlvbi52YWx1ZXMubWFwKCh2YWx1ZTogYW55KSA9PiAoeyBuYW1lOiB2YWx1ZS5jb2RlLCBkZXNjcmlwdGlvbjogdmFsdWUubmFtZSwgaW1hZ2U6IHZhbHVlLmltYWdlLCBtb2JpbGVJbWFnZTogdmFsdWUubW9iaWxlSW1hZ2UsIHNlbGVjdGVkOiBmYWxzZSB9KSlcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENhbWJpYSBsYXMgb3BjaW9uZXMsIG9idGllbmUgZWwgcHJvZHVjdG8gYXNvY2lhZG8gYSBsYSBvcGNpb24gZWxlZ2lkYS5cclxuXHQgKi9cclxuXHRzZXRPcHRpb24ob3B0aW9uQ29kZTogYW55LCBvcHRpb25WYWx1ZTogYW55KSB7XHJcblx0XHRjb25zdCBvcHRpb25zID0gdGhpcy5fb3B0aW9uc1N1YmplY3QudmFsdWU7XHJcblx0XHRjb25zdCBvcHRpb24gPSBvcHRpb25zLmZpbmQoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudC5jb2RlID09IG9wdGlvbkNvZGUpLnZhbHVlcy5maW5kKCh2YWx1ZTogYW55KSA9PiB2YWx1ZS5uYW1lID09IG9wdGlvblZhbHVlKTtcclxuXHRcdG9wdGlvbi5zZWxlY3RlZCA9ICFvcHRpb24uc2VsZWN0ZWQ7XHJcblx0XHRvcHRpb25zLmZpbmQoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudC5jb2RlID09IG9wdGlvbkNvZGUpLnZhbHVlcy5mb3JFYWNoKFxyXG5cdFx0XHQodmFsdWU6IGFueSkgPT4geyBpZiAodmFsdWUubmFtZSAhPSBvcHRpb24ubmFtZSkgdmFsdWUuc2VsZWN0ZWQgPSBmYWxzZSB9XHJcblx0XHQpO1xyXG5cdFx0dGhpcy5fb3B0aW9uc1N1YmplY3QubmV4dChvcHRpb25zKTtcclxuXHRcdHRoaXMudXBkYXRlVmFyaWFudHMoKTtcclxuXHRcdHRoaXMudmFyaWFudHMubGVuZ3RoID4gMCA/IHRoaXMuZ2VuZXJhdGVBc3NvY2lhdGVkRGF0YUZyb21WYXJpYW50cygpIDogdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ3NlbGVjdGlvbi1ub3QtYXZhaWxhYmxlJylcclxuXHR9XHJcblx0LyoqXHJcbiAqIEFjdHVhbGl6YSBlbCBvYnNlcnZhYmxlIGRlIGBhc3NvY2lhdGVkRGF0YWAgZWwgY3VhbCBzZSB1dGlsaXphIHBhcmEgbW9zdHJhciBsb3MgZGF0b3NcclxuICogZW4gZWwgZnJvbnRlbmQgc2Vnw7puIGVsIHByb2R1Y3RvIHkvbyB2YXJpYW50ZSBlbGVnaWRhLlxyXG4gKiBPYnRpZW5lIGxvcyBkYXRvcyBkZSBsYSB2YXJpYW50ZSB5IGxvcyBmb3JtYXRlYS5cclxuICovXHJcblx0Z2VuZXJhdGVBc3NvY2lhdGVkRGF0YUZyb21WYXJpYW50cygpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGFzc29jaWF0ZWQ6IGFueSA9IHt9O1xyXG5cclxuXHRcdC8vIFNpIHPDs2xvIGhheSB1bmEgdmFyaWFudGUsIHRvbWFtb3MgdG9kb3Mgc3VzIGRhdG9zIGRpcmVjdGFtZW50ZVxyXG5cdFx0aWYgKHRoaXMudmFyaWFudHMubGVuZ3RoID09PSAxKSB7XHJcblx0XHRcdGNvbnN0IHYgPSB0aGlzLnZhcmlhbnRzWzBdO1xyXG5cclxuXHRcdFx0YXNzb2NpYXRlZC5zdG9jayA9IHYuc3RvY2s7XHJcblx0XHRcdC8vIFByZWNpbzogc2kgdmllbmUgdGF4TGVnZW5kSW5mbyB1c2Ftb3Mgc3UgcHJpY2UsIHNpIG5vIGVsIHYucHJpY2VcclxuXHRcdFx0Y29uc3QgcmF3UHJpY2UgPSB2LnRheExlZ2VuZEluZm8/LnByaWNlID8/IHYucHJpY2U7XHJcblx0XHRcdGFzc29jaWF0ZWQucHJpY2UgPSByYXdQcmljZS50b1N0cmluZygpO1xyXG5cdFx0XHRjb25zdCByYXdTYWxlUHJpY2UgPSB2LnRheExlZ2VuZEluZm8/LnNhbGVwcmljZSA/PyB2LnNhbGVwcmljZTtcclxuXHRcdFx0YXNzb2NpYXRlZC5zYWxlcHJpY2UgPSByYXdTYWxlUHJpY2UgPyByYXdTYWxlUHJpY2UudG9TdHJpbmcoKSA6IHVuZGVmaW5lZDtcclxuXHRcdFx0YXNzb2NpYXRlZC5kaXNjb3VudCA9IHYuZGlzY291bnQgPz8gdW5kZWZpbmVkO1xyXG5cdFx0XHRhc3NvY2lhdGVkLnByb3BlcnRpZXMgPSB2LnByb3BlcnRpZXMgPyB0aGlzLmJlYXV0aWZ5UHJvcGVydGllcyh2LnByb3BlcnRpZXMpIDogdW5kZWZpbmVkO1xyXG5cdFx0XHRhc3NvY2lhdGVkLnVuaXF1ZUV4dGVybmFsQ29kZSA9IHYudW5pcXVlRXh0ZXJuYWxDb2RlID8/IHVuZGVmaW5lZDtcclxuXHRcdFx0YXNzb2NpYXRlZC5tdWx0aXBsZVF1YW50aXR5ID0gdi5tdWx0aXBsZVF1YW50aXR5ID8/IHVuZGVmaW5lZDtcclxuXHJcblx0XHRcdC8vIEzDrW1pdGVzIGRlIGNhbnRpZGFkL3N0b2NrXHJcblx0XHRcdGFzc29jaWF0ZWQubWF4aW11bUFtb3VudCA9IHYubWF4aW11bUFtb3VudCA/PyAwO1xyXG5cdFx0XHRhc3NvY2lhdGVkLm1pbmltdW1BbW91bnQgPSB2Lm1pbmltdW1BbW91bnQgPz8gMDtcclxuXHRcdFx0YXNzb2NpYXRlZC5tYXhpbXVtSXRlbXNRdWFudGl0eSA9IHYuc3RvY2sgPiAwICYmICdtYXhpbXVtSXRlbXNRdWFudGl0eScgaW4gdlxyXG5cdFx0XHRcdD8gdi5tYXhpbXVtSXRlbXNRdWFudGl0eVxyXG5cdFx0XHRcdDogdi5zdG9jaztcclxuXHRcdFx0YXNzb2NpYXRlZC5taW5pbXVtSXRlbXNRdWFudGl0eSA9IHYuc3RvY2sgPiAwICYmICdtaW5pbXVtSXRlbXNRdWFudGl0eScgaW4gdiAmJiB2Lm1pbmltdW1JdGVtc1F1YW50aXR5ISA+IDBcclxuXHRcdFx0XHQ/IHYubWluaW11bUl0ZW1zUXVhbnRpdHlcclxuXHRcdFx0XHQ6ICh2Lm11bHRpcGxlUXVhbnRpdHkgPz8gMSk7XHJcblxyXG5cdFx0XHQvLyBQcmVjaW9zIGFsIGNvbnN1bWlkb3IgZmluYWxcclxuXHRcdFx0YXNzb2NpYXRlZC5maW5hbENvbnN1bWVyID0ge1xyXG5cdFx0XHRcdGZpbmFsQ29uc3VtZXJQcmljZTogdi5maW5hbF9jb25zdW1lcl9wcmljZSxcclxuXHRcdFx0XHRvcmlnaW5hbEZpbmFsQ29uc3VtZXJQcmljZTogdi5vcmlnaW5hbF9maW5hbF9jb25zdW1lcl9wcmljZVxyXG5cdFx0XHR9O1xyXG5cclxuXHRcdFx0Ly8gSW1wdWVzdG9zXHJcblx0XHRcdGFzc29jaWF0ZWQudGF4ZXMgPSB7XHJcblx0XHRcdFx0dGF4SW5jbHVkZWQ6IHYudGF4SW5jbHVkZWQsXHJcblx0XHRcdFx0dGF4Q2F0ZWdvcnk6IHYudGF4Q2F0ZWdvcnlcclxuXHRcdFx0fTtcclxuXHRcdFx0Ly8gU2VndW4gdmVyc2lvbiBkZWwgYmFja2VuZFxyXG5cdFx0XHRpZiAodi50YXhMZWdlbmRJbmZvKSB7XHJcblx0XHRcdFx0Ly8gTnVldm8gYmFja2VuZFxyXG5cdFx0XHRcdGFzc29jaWF0ZWQucHJpY2VXaXRob3V0VGF4ZXMgPSB2LnRheExlZ2VuZEluZm8ucHJpY2VXaXRob3V0VGF4ZXM7XHJcblx0XHRcdFx0YXNzb2NpYXRlZC50YXhlQW1vdW50ID0gdi50YXhMZWdlbmRJbmZvLnRheGVzO1xyXG5cdFx0XHRcdGFzc29jaWF0ZWQudGF4UmF0ZSA9IHYudGF4TGVnZW5kSW5mby50YXhSYXRlO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdC8vIEJhY2tlbmQgYW50aWd1b1xyXG5cdFx0XHRcdGFzc29jaWF0ZWQucHJpY2VXaXRob3V0VGF4ZXMgPSB2LnByaWNlV2l0aG91dFRheGVzID8/IHVuZGVmaW5lZDtcclxuXHRcdFx0XHRhc3NvY2lhdGVkLnRheGVBbW91bnQgPSB2LnRheGVzID8/IHVuZGVmaW5lZDtcclxuXHRcdFx0XHRhc3NvY2lhdGVkLnRheFJhdGUgPSB2LnRheFJhdGUgPz8gdW5kZWZpbmVkO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Ly8gU2kgaGF5IHZhcmlhcyB2YXJpYW50ZXMsIHJlc3VtaW1vc1xyXG5cdFx0XHRhc3NvY2lhdGVkLnByaWNlID0gdGhpcy5jcmVhdGVQcmljZSgpO1xyXG5cdFx0XHRhc3NvY2lhdGVkLnNhbGVwcmljZSA9IHRoaXMuY3JlYXRlU2FsZVByaWNlKCk7XHJcblx0XHRcdGFzc29jaWF0ZWQuc3RvY2sgPSB0aGlzLnZhcmlhbnRzLm1hcCh2ID0+IHYuc3RvY2spLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApO1xyXG5cdFx0XHRhc3NvY2lhdGVkLmRpc2NvdW50ID0gdGhpcy5jcmVhdGVEaXNjb3VudCgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEltYWdlbiBwcmluY2lwYWxcclxuXHRcdGNvbnN0IGZpcnN0ID0gdGhpcy52YXJpYW50c1swXTtcclxuXHRcdGlmICgnaW1hZ2VzJyBpbiBmaXJzdCAmJiBmaXJzdC5pbWFnZXMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRhc3NvY2lhdGVkLnBpY3R1cmUgPSBmaXJzdC5pbWFnZXNbMF07XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRhc3NvY2lhdGVkLnBpY3R1cmUgPSB0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWU/LnBpY3R1cmVcclxuXHRcdFx0XHQ/PyB0aGlzLl9wcm9kdWN0U3ViamVjdC52YWx1ZT8ucGljdHVyZXNkZWZhdWx0Py5bMF07XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gRW1pdGltb3MgZWwgb2JqZXRvIGNvbXBsZXRvXHJcblx0XHR0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QubmV4dChhc3NvY2lhdGVkKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogTWVqb3JhIGxvcyBkYXRvcyBkZSBsYXMgYHByb3BlcnRpZXNgLlxyXG5cdCAqIEBwYXJhbSBwcm9wZXJ0aWVzIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGJlYXV0aWZ5UHJvcGVydGllcyhwcm9wZXJ0aWVzOiBhbnkpOiBhbnkge1xyXG5cdFx0bGV0IGJlYXV0aWZ5RGF0YTogYW55ID0gW107XHJcblx0XHRwcm9wZXJ0aWVzLmZvckVhY2goKHByb3A6IGFueSkgPT4ge1xyXG5cdFx0XHRmb3IgKGxldCBrZXkgaW4gcHJvcCkge1xyXG5cdFx0XHRcdGJlYXV0aWZ5RGF0YS5wdXNoKHsgbmFtZToga2V5LCB2YWx1ZTogcHJvcFtrZXldIH0pXHJcblx0XHRcdH1cclxuXHRcdH0pXHJcblx0XHRyZXR1cm4gYmVhdXRpZnlEYXRhXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIERldnVlbHZlIHVuIGRlc2N1ZW50byBlbiBjYXNvIGRlIGV4aXN0aXIuXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0Y3JlYXRlRGlzY291bnQoKTogYW55IHtcclxuXHRcdGxldCBhbGxEaXNjb3VudHM6IHN0cmluZyA9ICcnO1xyXG5cdFx0dGhpcy52YXJpYW50cy5mb3JFYWNoKHZhcmlhbnQgPT4ge1xyXG5cdFx0XHR2YXJpYW50LmRpc2NvdW50ICYmIChhbGxEaXNjb3VudHMgKz0gJywgJyArIHZhcmlhbnQuZGlzY291bnQpO1xyXG5cdFx0fSlcclxuXHRcdGlmIChhbGxEaXNjb3VudHMgPT0gJycpIHJldHVybiB1bmRlZmluZWQ7XHJcblx0XHRyZXR1cm4gYWxsRGlzY291bnRzO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBlbCBwcmVjaW8gZGUgdmVudGEuXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0Y3JlYXRlU2FsZVByaWNlKCk6IGFueSB7XHJcblx0XHRsZXQgbWluUHJpY2U6IG51bWJlciA9IDA7XHJcblx0XHRsZXQgbWF4UHJpY2U6IG51bWJlciA9IDA7XHJcblx0XHRsZXQgYWxsUHJpY2VzOiBhbnkgPSB0aGlzLnZhcmlhbnRzLm1hcCh2ID0+IHYuc2FsZXByaWNlKS5maWx0ZXIoZSA9PiBlICE9PSB1bmRlZmluZWQpO1xyXG5cdFx0aWYgKGFsbFByaWNlcy5sZW5ndGggPT0gMCkge1xyXG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkXHJcblx0XHR9XHJcblx0XHRtaW5QcmljZSA9IGFsbFByaWNlcy5yZWR1Y2UoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBNYXRoLm1pbihhLCBiKSk7XHJcblx0XHRtYXhQcmljZSA9IGFsbFByaWNlcy5yZWR1Y2UoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBNYXRoLm1heChhLCBiKSk7XHJcblx0XHRyZXR1cm4gbWluUHJpY2UgPT0gbWF4UHJpY2UgPyBtYXhQcmljZS50b1N0cmluZygpIDogbWluUHJpY2UgKyAnIC0gJyArIG1heFByaWNlO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBlbCBwcmVjaW8gbyBsb3MgcHJlY2lvcyBlbiBjYXNvIGRlIHRlbmVyIHZhcmlhcyB2YXJpYW50ZXMgY29uIGRpc3RpbnRvcyBwcmVjaW9zLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGNyZWF0ZVByaWNlKCk6IGFueSB7XHJcblx0XHRsZXQgbWluUHJpY2U6IG51bWJlciA9IDA7XHJcblx0XHRsZXQgbWF4UHJpY2U6IG51bWJlciA9IDA7XHJcblx0XHRsZXQgYWxsUHJpY2U6IGFueSA9IHRoaXMudmFyaWFudHMubWFwKHYgPT4gdi5wcmljZSlcclxuXHRcdG1pblByaWNlID0gYWxsUHJpY2UucmVkdWNlKChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gTWF0aC5taW4oYSwgYikpO1xyXG5cdFx0bWF4UHJpY2UgPSBhbGxQcmljZS5yZWR1Y2UoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBNYXRoLm1heChhLCBiKSk7XHJcblx0XHRyZXR1cm4gbWluUHJpY2UgPT0gbWF4UHJpY2UgPyBtYXhQcmljZS50b1N0cmluZygpIDogbWluUHJpY2UgKyAnIC0gJyArIG1heFByaWNlO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBY3R1YWxpemEgbGFzIHZhcmlhbnRlcy5cclxuXHQgKiBAcGFyYW0gY29kZSBcclxuXHQgKi9cclxuXHR1cGRhdGVWYXJpYW50cyA9IChjb2RlPzogc3RyaW5nKSA9PiB7XHJcblx0XHRsZXQgdmFyaWFudHMgPSB0aGlzLl9wcm9kdWN0U3ViamVjdC52YWx1ZT8udmFyaWFudHNcclxuXHRcdC8vY29uc29sZS5sb2codmFyaWFudHMpXHJcblx0XHRpZiAoIWNvZGUpIHtcclxuXHRcdFx0dGhpcy5fb3B0aW9uc1N1YmplY3QudmFsdWUuZm9yRWFjaCgob3B0aW9uOiBhbnkpID0+IHtcclxuXHRcdFx0XHRvcHRpb24udmFsdWVzLmZvckVhY2goKHZhbHVlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdGlmICh2YWx1ZS5zZWxlY3RlZCkge1xyXG5cdFx0XHRcdFx0XHR2YXJpYW50cyA9IHZhcmlhbnRzPy5maWx0ZXIodmFyaWFudCA9PiB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHZhcmlhbnQub3B0aW9ucy5zb21lKCh2YXJpYW50T3B0aW9uOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiAob3B0aW9uLmNvZGUgaW4gdmFyaWFudE9wdGlvbiAmJiB2YXJpYW50T3B0aW9uW29wdGlvbi5jb2RlXSA9PSB2YWx1ZS5uYW1lKTtcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0pXHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR2YXJpYW50cyA9IHZhcmlhbnRzPy5maWx0ZXIodmFyaWFudCA9PiB2YXJpYW50LmNvZGUgPT0gY29kZSk7XHJcblx0XHR9XHJcblx0XHR0aGlzLnZhcmlhbnRzID0gdmFyaWFudHMgfHwgW107XHJcblx0XHRjb2RlICYmIHRoaXMudXBkYXRlT3B0aW9ucygpO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBY3R1YWxpemEgbGFzIG9wY2lvbmVzXHJcblx0ICovXHJcblx0cHJpdmF0ZSB1cGRhdGVPcHRpb25zID0gKCkgPT4ge1xyXG5cdFx0bGV0IHsgb3B0aW9ucyB9ID0gdGhpcy52YXJpYW50cy5sZW5ndGggJiYgdGhpcy52YXJpYW50c1swXTtcclxuXHRcdG9wdGlvbnMgJiYgb3B0aW9ucy5mb3JFYWNoKChvcHRpb246IGFueSkgPT4gT2JqZWN0LmtleXMob3B0aW9uKS5mb3JFYWNoKGtleSA9PiB0aGlzLnNldE9wdGlvbihrZXksIG9wdGlvbltrZXldKSkpXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEFncmVnYSBlbCBwcm9kdWN0byBhbCBjYXJyaXRvLlxyXG5cdCAqIEBwYXJhbSBxdWFudGl0eSBDYW50aWRhZCBkZWwgcHJvZHVjdG8gYSBhZ3JlZ2FyXHJcblx0ICogQHBhcmFtIHZhcmlhbnRDb2RlIENvZGlnbyBkZSBsYSB2YXJpYW50ZS5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRhZGRUb0NhcnQocXVhbnRpdHk6IG51bWJlciwgdmFyaWFudENvZGU/OiBzdHJpbmcpIHtcclxuXHJcblxyXG5cdFx0aWYgKCF0aGlzLnZhcmlhbnRzLmxlbmd0aCkge1xyXG5cclxuXHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ2NhbnQtYnV5JylcclxuXHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdGxldCBwcm9kdWN0U2VsZWN0ZWQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KCh0aGlzLl9wcm9kdWN0U3ViamVjdC5nZXRWYWx1ZSgpKSkpO1xyXG5cclxuXHRcdGxldCB2YXJpYW50OiBhbnk7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmFyaWFudHMubGVuZ3RoKSB7XHJcblx0XHRcdGNhc2UgMDpcclxuXHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnbm8tdmFyaWFudHMnKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAxOlxyXG5cclxuXHRcdFx0XHR0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWUuc3RvY2sgPT0gMFxyXG5cdFx0XHRcdFx0PyB0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrJylcclxuXHRcdFx0XHRcdDogdmFyaWFudCA9IHRoaXMudmFyaWFudHNbMF1cclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRpZiAodmFyaWFudENvZGUpIHtcclxuXHRcdFx0XHRcdHZhcmlhbnQgPSB0aGlzLnZhcmlhbnRzLmZpbmQodmFyaWFudCA9PiB2YXJpYW50LmNvZGUgPT09IHZhcmlhbnRDb2RlKVxyXG5cdFx0XHRcdFx0aWYgKHZhcmlhbnQuc3RvY2sgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrJylcclxuXHRcdFx0XHRcdFx0dmFyaWFudCA9IHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygndmFyaWFudHMtbGVmdCcpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0fVxyXG5cdFx0aWYgKCF2YXJpYW50KSByZXR1cm47XHJcblx0XHRpZiAoIXRoaXMudmFsaWRhdGVRdWFudGl0eShxdWFudGl0eSkpIHJldHVybjtcclxuXHRcdC8vYWdyZWdhciBhbCBzZXJ2aWNpbyBkZWwgY2Fycml0b1xyXG5cdFx0dGhpcy5fY2FydFNlcnZpY2UuYWRkVG9DYXJ0KHRoaXMubWFrZUFmZm9yZGFibGVQcm9kdWN0KHByb2R1Y3RTZWxlY3RlZCksIHF1YW50aXR5LCB2YXJpYW50LmNvZGUpO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBHZW5lcmEgdW4gcHJvZHVjdG8gcGFyYSBoYWNlciBtYXMgZmFjw61sIGVsIGVudmlvIGRlbCBlbGVtZW50byBhbCBiYWNrZW5kLlxyXG5cdCAqIEBwYXJhbSBwcm9kdWN0U2VsZWN0ZWQgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSBtYWtlQWZmb3JkYWJsZVByb2R1Y3QocHJvZHVjdFNlbGVjdGVkOiBQcm9kdWN0KSB7XHJcblx0XHRwcm9kdWN0U2VsZWN0ZWQucHJpY2UgPSBwYXJzZUZsb2F0KHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC52YWx1ZS5wcmljZSk7XHJcblx0XHRwcm9kdWN0U2VsZWN0ZWQuc2FsZXByaWNlID0gcGFyc2VGbG9hdCh0aGlzLl9hc3NvY2lhdGVkRGF0YVN1YmplY3QudmFsdWUucHJpY2UpO1xyXG5cdFx0cHJvZHVjdFNlbGVjdGVkLm9wdGlvbnMgPSBbXTtcclxuXHRcdHRoaXMudmFyaWFudHNbMF0ub3B0aW9ucy5mb3JFYWNoKChvcHRpb246IGFueSkgPT4gcHJvZHVjdFNlbGVjdGVkLm9wdGlvbnMgPSB7IC4uLnByb2R1Y3RTZWxlY3RlZC5vcHRpb25zLCAuLi5vcHRpb24gfSlcclxuXHRcdHJldHVybiBwcm9kdWN0U2VsZWN0ZWQ7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIFZhbGlkYSBsYSBjYW50aWRhZCBxdWUgc2UgcXVpZXJlIGFncmVnYXIgZGUgdW4gcHJvZHVjdG8uXHJcblx0ICogUmV2aXNhIHF1ZSBubyBzdXBlcmUgZWwgc3RvY2ssIGVsIG1heGltbyBkZSBpdGVtcyBxdWUgc2UgcHVlZGUgYWdyZWdhclxyXG5cdCAqIGFzaSBjb21vIGVsIG1pbmltby5cclxuXHQgKiBAcGFyYW0gcXVhbnRpdHkgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSB2YWxpZGF0ZVF1YW50aXR5ID0gKHF1YW50aXR5OiBudW1iZXIpID0+IHtcclxuXHRcdGNvbnN0IGFjdHVhbFF1YW50aXR5ID0gdGhpcy5fY2FydFNlcnZpY2UuZ2V0Q291bnRGcm9tSXRlbUluQ2FydCh0aGlzLnZhcmlhbnRzWzBdLmNvZGUpO1xyXG5cdFx0Y29uc3QgYXNvY2lhdGVkRGF0YSA9IHRoaXMuX2Fzc29jaWF0ZWREYXRhU3ViamVjdC52YWx1ZTtcclxuXHRcdGlmICgoYWN0dWFsUXVhbnRpdHkgKyBxdWFudGl0eSkgPiBhc29jaWF0ZWREYXRhLm1heGltdW1JdGVtc1F1YW50aXR5KSB7XHJcblx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdtYXhpbXVtLWl0ZW1zLXF1YW50aXR5JywgeyBxdWFudGl0eTogYXNvY2lhdGVkRGF0YS5tYXhpbXVtSXRlbXNRdWFudGl0eSB9KVxyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0XHRpZiAoKGFjdHVhbFF1YW50aXR5ICsgcXVhbnRpdHkpIDwgYXNvY2lhdGVkRGF0YS5taW5pbXVtSXRlbXNRdWFudGl0eSkge1xyXG5cdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnbWluaW11bS1pdGVtcy1xdWFudGl0eScsIHsgcXVhbnRpdHk6IGFzb2NpYXRlZERhdGEubWluaW11bUl0ZW1zUXVhbnRpdHkgfSlcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRydWVcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -191,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
191
191
|
providedIn: 'root'
|
|
192
192
|
}]
|
|
193
193
|
}], ctorParameters: () => [] });
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9wcm9kdWN0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsTUFBTSxFQUFFLFVBQVUsRUFBeUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxlQUFlLEVBQTBELE1BQU0sTUFBTSxDQUFDO0FBRS9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7QUFLbEQsTUFBTSxPQUFPLGVBQWU7SUFFaEIsV0FBVyxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMzRCxVQUFVLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzlELGVBQWUsR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pELGtCQUFrQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxPQUFPLEdBQXlCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTdELGdCQUFnQixHQUErQixJQUFJLGVBQWUsQ0FBWSxFQUFFLENBQUMsQ0FBQTtJQUNsRixTQUFTLEdBQTBCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FB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Q0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELDhEQUE4RDtRQUM5RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO3dHQTNNUSxlQUFlOzRHQUFmLGVBQWUsY0FGWixNQUFNOzs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdCwgSW5qZWN0YWJsZSwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEZWZhdWx0RmlsdGVyLCBGaWx0ZXJFbGVtZW50LCBGaWx0ZXJUeXBlLCBJRmlsdGVyLCBPcHRpb25zLCBQYWdpbmF0aW9uU2V0dGluZ3MsIFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQsIFByb2R1Y3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UsIENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9vcHRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnaW5hdGlvblNlcnZpY2UgfSBmcm9tICcuL3BhZ2luYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXIsIEZpbHRlckZhY3RvcnksIH0gZnJvbSAnLi4vY2xhc3Nlcyc7XG5pbXBvcnQgeyBQcmljZVJhbmdlRmlsdGVyIH0gZnJvbSAnLi4vY2xhc3Nlcy9maWx0ZXJzL3ByaWNlX3JhbmdlLWZpbHRlcic7XG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4vZmlsdGVycy5zZXJ2aWNlJ1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RzU2VydmljZSB7XG5cbiAgICBwcml2YXRlIF9jb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSBfYXBpQ29uc3RzOiBBcGlDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSA9IGluamVjdChPcHRpb25zU2VydmljZSk7XG4gICAgcHJpdmF0ZSBfcGFnaW5hdGlvblNlcnZpY2U6IFBhZ2luYXRpb25TZXJ2aWNlID0gaW5qZWN0KFBhZ2luYXRpb25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIF9jb25zdHM6IENvcmVDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KENvcmVDb25zdGFudHNTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgX3Byb2R1Y3RzU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PFByb2R1Y3RbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByb2R1Y3RbXT4oW10pXG4gICAgcHVibGljIHByb2R1Y3RzJDogT2JzZXJ2YWJsZTxQcm9kdWN0W10+ID0gdGhpcy5fcHJvZHVjdHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSA9IGluamVjdChGaWx0ZXJzU2VydmljZSlcbiAgICBwcml2YXRlIGZpbHRlcnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8RmlsdGVyW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJbXT4oW10pO1xuICAgIHB1YmxpYyBmaWx0ZXJzJCA9IHRoaXMuZmlsdGVyc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIHNlYXJjaFZhbHVlID0gc2lnbmFsPHN0cmluZz4oJycpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLnJlc2V0JC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3Byb2R1Y3RzU3ViamVjdC5uZXh0KFtdKVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5wYWdpbmF0aW9uRGF0YSQuc3Vic2NyaWJlKFxuICAgICAgICAgICAgcHJvZHVjdHMgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSB0aGlzLl9jb25zdHMuZ2V0UHJvZHVjdFdpdGhVbmlxdWVWYXJpYW50KCk7XG4gICAgICAgICAgICAgICAgaWYgKHByb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQpXG4gICAgICAgICAgICAgICAgICAgIHByb2R1Y3RzID0gdGhpcy5nZXRQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50KHByb2R1Y3RzLCB0aGlzLmdldE9iamVjdFdpdGhWYXJpYW50KCkpXG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFByb2R1Y3RzID0gdGhpcy5fcHJvZHVjdHNTdWJqZWN0LnZhbHVlO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Byb2R1Y3RzU3ViamVjdC5uZXh0KFsuLi5jdXJyZW50UHJvZHVjdHMsIC4uLnByb2R1Y3RzXSk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICApXG4gICAgICAgIC8vIFN1c2NyaWJpcnNlIGEgbG9zIGNhbWJpb3MgZW4gZWwgcmFuZ28gZGUgcHJlY2lvc1xuICAgICAgICB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5wcmljZVJhbmdlJC5zdWJzY3JpYmUocmFuZ2UgPT4ge1xuICAgICAgICAgICAgbGV0IG1pbiA9IE1hdGguZmxvb3IocmFuZ2UucHJpY2VfbWluKTtcbiAgICAgICAgICAgIGxldCBtYXggPSBNYXRoLmNlaWwocmFuZ2UucHJpY2VfbWF4KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUHJpY2VSYW5nZUZpbHRlcihtaW4sIG1heCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9maWx0ZXJzU2VydmljZS5maWx0ZXJzJC5zdWJzY3JpYmUoZmlsdGVycyA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcnNTdWJqZWN0Lm5leHQoZmlsdGVycyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJpY2VSYW5nZUZpbHRlcihtaW46IG51bWJlciwgbWF4OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgZmluYWxfZmlsdGVyczogRmlsdGVyW10gPSB0aGlzLmZpbHRlcnNTdWJqZWN0LnZhbHVlO1xuICAgICAgICBjb25zdCBwcmljZVJhbmdlRmlsdGVyID0gZmluYWxfZmlsdGVycy5maW5kKGZpbHRlciA9PiBmaWx0ZXIgaW5zdGFuY2VvZiBQcmljZVJhbmdlRmlsdGVyKTtcblxuICAgICAgICBpZiAocHJpY2VSYW5nZUZpbHRlcikge1xuICAgICAgICAgICAgKHByaWNlUmFuZ2VGaWx0ZXIgYXMgUHJpY2VSYW5nZUZpbHRlcikudXBkYXRlUHJpY2VzKG1pbiwgbWF4KTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyc1N1YmplY3QubmV4dChmaW5hbF9maWx0ZXJzKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICAvL0FQSSBVUkxcbiAgICBwcml2YXRlIF9zaG9wQXBpVXJsID0gdGhpcy5fYXBpQ29uc3RzLlNIT1BfQVBJX1VSTDtcbiAgICBwcm9kdWN0QnlDb2RlQXBpKGNvZGU6IHN0cmluZywgdmFyaWFudDogYm9vbGVhbikgeyByZXR1cm4gdGhpcy5fc2hvcEFwaVVybCArIHRoaXMuX2FwaUNvbnN0cy5DSEFOTkVMICsgJy9wcm9kdWN0cy9ieS1jb2RlLycgKyAodmFyaWFudCA/ICd2YXJpYW50LycgOiAnJykgKyBjb2RlICsgJz9sb2NhbGU9JyArIHRoaXMuX2FwaUNvbnN0cy5MT0NBTEU7IH1cbiAgICAvLyByZXZpZXdcbiAgICBzYXZlUHJvZHVjdFJldmlld3NBcGkoY29kZTogc3RyaW5nKSB7IHJldHVybiB0aGlzLl9zaG9wQXBpVXJsICsgdGhpcy5fYXBpQ29uc3RzLkNIQU5ORUwgKyAnL3Byb2R1Y3RzL2J5LWNvZGUvJyArIGNvZGUgKyAnL3Jldmlld3MnOyB9XG4gICAgLy9yZWxhdGVkIHByb2R1Y3RzXG4gICAgcmVsYXRlZFByb2R1Y3RzQXBpID0gKGtleTogc3RyaW5nKTogc3RyaW5nID0+ICdzaG9wLWFwaS8nICsgdGhpcy5fYXBpQ29uc3RzLkNIQU5ORUwgKyAnL3Byb2R1Y3RzL3JlbGF0ZWQvYnktY29kZS8nICsga2V5ICsgJz9sb2NhbGU9JyArIHRoaXMuX2FwaUNvbnN0cy5MT0NBTEU7XG5cbiAgICAvKipcbiAgICAgKiBTZXRlYSBsb3MgZmlsdHJvcyBwYXJhIG9idGVuZXIgbG9zIHByb2R1Y3Rvcy5cbiAgICAgKiBAcGFyYW0gcGFnaW5hdGlvblNldHRpbmdzIFxuICAgICAqIEBwYXJhbSBzZWFyY2hWYWx1ZSBcbiAgICAgKi9cbiAgICBnZXRQcm9kdWN0c0ZvckZpbHRlcihwYWdpbmF0aW9uU2V0dGluZ3M/OiBQYWdpbmF0aW9uU2V0dGluZ3MsIHNlYXJjaFZhbHVlPzogYW55KTogYW55IHtcbiAgICAgICAgc2VhcmNoVmFsdWUgPyB0aGlzLnNlYXJjaFZhbHVlLnNldChzZWFyY2hWYWx1ZSkgOiB0aGlzLnNlYXJjaFZhbHVlLnNldCgnJyk7XG4gICAgICAgIHBhZ2luYXRpb25TZXR0aW5ncyAmJiB0aGlzLl9maWx0ZXJzU2VydmljZS5zZXRGaWx0ZXJzKHBhZ2luYXRpb25TZXR0aW5ncylcbiAgICB9XG4gICAgLyoqXG4gICAgICogQWN0dWFsaXphIGxvcyBwcm9kdWN0b3MgY29uIGxvcyBkZSBsYSBzaWd1aWVudGUgcGFnaW5hLlxuICAgICAqL1xuICAgIHVwZGF0ZVByb2R1Y3RzKCkge1xuICAgICAgICBpZiAoIXRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLmdldFdhaXRpbmcoKSkge1xuICAgICAgICAgICAgdGhpcy5fcGFnaW5hdGlvblNlcnZpY2UuZ2V0TmV4dCgpXG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogRGV2dWVsdmUgZWwgcHJvZHVjdG8gcG9yIGNvZGlnby5cbiAgICAgKiBAcGFyYW0gY29kZSBDb2RpZ28gZGVsIHByb2R1Y3RvXG4gICAgICogQHBhcmFtIHZhcmlhbnQgUGFyYSBpbmRpY2FyIHNpIGVzIHZhcmlhbnRlIG8gbm8uXG4gICAgICogQHJldHVybnMgXG4gICAgICovXG4gICAgZ2V0UHJvZHVjdEJ5Q29kZShjb2RlOiBzdHJpbmcsIHZhcmlhbnQ6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFByb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb24uZ2V0KHRoaXMucHJvZHVjdEJ5Q29kZUFwaShjb2RlLCB2YXJpYW50KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgKiBAZGVzY3JpcHRpb24gR3VhcmRhIGxhIHJlc2XDsWEgZGUgdW4gcHJvZHVjdG8uXG4gICAgKiBAcGFyYW0gY29kZVxuICAgICogQHBhcmFtIGZvcm1fZGF0YVxuICAgICogQHJldHVybnNcbiAgICAqL1xuICAgIHNhdmVSZXZpZXdzID0gKGNvZGU6IHN0cmluZywgZm9ybV9kYXRhOiBhbnkpID0+IHRoaXMuX2Nvbm5lY3Rpb24ucG9zdCh0aGlzLnNhdmVQcm9kdWN0UmV2aWV3c0FwaShjb2RlKSwgZm9ybV9kYXRhKVxuXG5cbiAgICAvKipcbiAgICAgKiBSZWNpYmUgdW5hIGxpc3RhIGRlIHByb2R1Y3RvcyB5IHJldG9ybmEgbG9zIG1pc21vcyBwcm9kdWN0b3MgdGFudGFzIHZlY2VzIGNvbW8gdmFyaWFudGVzIHRlbmdhLlxuICAgICAqIGNhZGEgcHJvZHVjdG8gcmV0b3JuYWRvIHRlbmRyw6EgdW5hIMO6bmljYSB2YXJpYW50ZS5cbiAgICAgKiBAcGFyYW0gcHJvZHVjdHMgIEFycmF5LiBMaXN0YSBkZSBwcm9kdWN0b3MuXG4gICAgICogQHBhcmFtIHdpdGhPcHRpb24gJ3R5cGUnIHRpcG8gZGUgb3BjacOzbiwgY29kZTogY8OzZGlnbyBkZSBsYSBvcGNpw7NuLiAnZGVmYXVsdEZpcnN0T3B0aW9uJzogZW4gY2FzbyBkZSBxdWUgbm8gc2UgcHVlZGEgZGVzZG9ibGFyIHBvciBsYSBvcGNpw7NuIGluZGljYWRhIHNpIGVsIHZhbG9yIGVzIHZlcmRhZGVybyBzZSBpbnRlbnRhcmEgZGVzZG9ibGFyIHBvciBsYSBwcmltZXJhIG9wY2nDs24gYXNvY2lhZGEgYWwgcHJvZHVjdG8uXG4gICAgICogJ2NoZWNrSWZTdG9jayc6IGVuIGNhc28gZGUgcXVlIGVzdGEgdmFsb3Igc2VhIHZlcmRhZGVybyBzZSByZWFsaXphIHVuIGNvbnRyb2wgZGUgcXVlIGxhIHZhcmlhbnRlcyBjdWVudGVuIGNvbiBzdG9jayBwYXJhIHNlciB1biBwcm9kdWN0byBkZXNkb2JsYWRvIHBvciBsYSB2YXJpYW50ZSwgc2kgZWwgdmFsb3IgZXMgZmFsc28gbm8gc2UgcmVhbGl6YSBkaWNobyBjb250cm9sIHkgZWwgcHJvZHVjdG8gc2UgZGVzZG9ibGFyYSBjb24gc3RvY2sgZW4gMC5cbiAgICAgKiBAcmV0dXJucyBhcnJlZ2xvIGNvbiBsb3MgcHJvZHVjdG9zIGRlc2RvYmxhZG9zIHBvciBsYSBvcGNpw7NuIHNvbGljaXRhZGEuXG4gICAgICogKG9wY2nDs24gcG9yIGRlZmVjdG8gcXVlIHNlIGludGVudGEgaGFjZXIgZWwgZGVzZG9ibGFtaWVudG8gJ2NvbG9yJywgbyBiaWVuIHNpIGVuIGxlIHBhcsOhbWV0cm8gd2l0aE9wdGlvbiBlbCBhdHJpYnV0byAnZGVmYXVsdEZpcnN0T3B0aW9uJyBlcyB2ZXJkYWRlcm8gc2UgZGVzZG9ibGEgcG9yIGxhIHByaW1lcmEgb3BjacOzbiBhc29jaWFkYSBhbCBwcm9kdWN0bylcbiAgICAgKi9cbiAgICBnZXRQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50ID0gKHByb2R1Y3RzOiBQcm9kdWN0W10sIHdpdGhPcHRpb246IFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSB7IHR5cGU6ICdjb2xvcicsIGNvZGU6ICdjb2xvcicsIGRlZmF1bHRGaXJzdE9wdGlvbjogZmFsc2UsIGNoZWNrSWZTdG9jazogdHJ1ZSB9KSA9PiB7XG5cbiAgICAgICAgIXdpdGhPcHRpb25bJ2NvZGUnXSAmJiB3aXRoT3B0aW9uWyd0eXBlJ10gJiYgKHdpdGhPcHRpb25bJ2NvZGUnXSA9IHdpdGhPcHRpb25bJ3R5cGUnXSkgfHwgIXdpdGhPcHRpb25bJ2NvZGUnXSAmJiAod2l0aE9wdGlvblsnY29kZSddID0gJ2NvbG9yJylcbiAgICAgICAgIXdpdGhPcHRpb25bJ3R5cGUnXSAmJiB3aXRoT3B0aW9uWydjb2RlJ10gJiYgKHdpdGhPcHRpb25bJ3R5cGUnXSA9IHdpdGhPcHRpb25bJ2NvZGUnXSkgfHwgIXdpdGhPcHRpb25bJ3R5cGUnXSAmJiAod2l0aE9wdGlvblsndHlwZSddID0gJ2NvbG9yJylcbiAgICAgICAgIXdpdGhPcHRpb24uaGFzT3duUHJvcGVydHkoJ2RlZmF1bHRGaXJzdE9wdGlvbicpICYmICh3aXRoT3B0aW9uWydkZWZhdWx0Rmlyc3RPcHRpb24nXSA9IGZhbHNlKVxuICAgICAgICAhd2l0aE9wdGlvbi5oYXNPd25Qcm9wZXJ0eSgnY2hlY2tJZlN0b2NrJykgJiYgKHdpdGhPcHRpb25bJ2NoZWNrSWZTdG9jayddID0gdHJ1ZSlcblxuICAgICAgICBsZXQgcHJvZHVjdHNVbmlxdWVWYXJpYW50OiBhbnlbXSA9IFtdO1xuICAgICAgICBwcm9kdWN0cy5mb3JFYWNoKChwcm9kdWN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxldCB2YXJpYW50cyA9IFsuLi5wcm9kdWN0Py52YXJpYW50c107XG4gICAgICAgICAgICBsZXQgb3B0aW9uID0gcHJvZHVjdC5vcHRpb25zLmZpbmQoKG9wdDogYW55KSA9PiBvcHQudHlwZS50b0xvd2VyQ2FzZSgpID09PSB3aXRoT3B0aW9uLnR5cGU/LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgICAgICAgIG9wdGlvbi52YWx1ZXMuZm9yRWFjaCgob3B0aW9uVmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbW9kaWZpZWRfcHJvZHVjdCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocHJvZHVjdCkpO1xuICAgICAgICAgICAgICAgICAgICBtb2RpZmllZF9wcm9kdWN0Lm9wdGlvbnMuZmluZCgob3B0aW9uOiBhbnkpID0+IG9wdGlvbi50eXBlLnRvTG93ZXJDYXNlKCkgPT0gd2l0aE9wdGlvbi50eXBlPy50b0xvd2VyQ2FzZSgpKS52YWx1ZXMgPSBbeyBjb2RlOiBvcHRpb25WYWx1ZS5jb2RlLCBuYW1lOiBvcHRpb25WYWx1ZS5uYW1lIH1dO1xuICAgICAgICAgICAgICAgICAgICAvL2J1c2NvIHVuYSB2YXJpYW50ZSBjb24gZXNlIGNvZGUgcGFyYSBhc2lnbmFybGUgbGEgbGlzdGEgZGUgaW1hZ2VuZXNcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhcmlhbnRBdXggPSB2YXJpYW50cy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudCA9PiAoKHdpdGhPcHRpb24uY2hlY2tJZlN0b2NrICYmIHZhcmlhbnQuc3RvY2sgPiAwKSB8fCB3aXRoT3B0aW9uLmNoZWNrSWZTdG9jayA9PSBmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiB2YXJpYW50Lm9wdGlvbnMubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgdmFyaWFudC5vcHRpb25zLnNvbWUoKG9wOiBhbnkpID0+IChvcC5oYXNPd25Qcm9wZXJ0eSh3aXRoT3B0aW9uLmNvZGU/LnRvTG93ZXJDYXNlKCkpIHx8IG9wLmhhc093blByb3BlcnR5KHdpdGhPcHRpb24uY29kZT8udG9VcHBlckNhc2UoKSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIChvcFtgJHt3aXRoT3B0aW9uLmNvZGU/LnRvTG93ZXJDYXNlKCl9YF0gfHwgb3BbYCR7d2l0aE9wdGlvbi5jb2RlPy50b1VwcGVyQ2FzZSgpfWBdKSA9PT0gb3B0aW9uVmFsdWUuY29kZSlcblxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKFwiLS0tXCIsdmFyaWFudEF1eCk7XG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnRBdXggJiYgcHJvZHVjdHNVbmlxdWVWYXJpYW50LnB1c2godGhpcy5wcm9kdWN0V2l0aFZhcmlhbnRWYWx1ZXMobW9kaWZpZWRfcHJvZHVjdCwgdmFyaWFudEF1eCwgb3B0aW9uVmFsdWUpKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBzZSBtb2RpZmljYSBlbCBjYXNvIHBhcmEgY3VhbmRvIHNlIHRvbWEgZWwgcHJpbWVyIGBvcHRpb25gIGRlbCBwcm9kdWN0byBwYXJhXG4gICAgICAgICAgICAgICAgICogYXJtYXIgbGEgbGlzdGEgZGUgcHJvZHVjdG9zIGNvbiB2YXJpYW50ZXMuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgaWYgKHdpdGhPcHRpb24uZGVmYXVsdEZpcnN0T3B0aW9uICYmIHByb2R1Y3Qub3B0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBmaXJzdE9wdGlvbnMgPSBwcm9kdWN0Lm9wdGlvbnNbMF1cbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdC5vcHRpb25zWzBdLnZhbHVlcy5mb3JFYWNoKChvcHRpb25WYWx1ZTogYW55KSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtb2RpZmllZF9wcm9kdWN0ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwcm9kdWN0KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllZF9wcm9kdWN0Lm9wdGlvbnMuZmluZCgob3B0aW9uOiBPcHRpb25zKSA9PiBvcHRpb24udHlwZSA9PSBmaXJzdE9wdGlvbnMudHlwZSkudmFsdWVzID0gW3sgY29kZTogb3B0aW9uVmFsdWUuY29kZSwgbmFtZTogb3B0aW9uVmFsdWUubmFtZSB9XTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhcmlhbnRBdXggPSB2YXJpYW50cy5maW5kKHZhcmlhbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YXJpYW50Lm9wdGlvbnMuZmluZCgoZWxlbTogYW55KSA9PiBlbGVtW2ZpcnN0T3B0aW9ucy5jb2RlXSA9PSBvcHRpb25WYWx1ZS5jb2RlKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhcmlhbnRBdXggJiYgdmFyaWFudEF1eC5pbWFnZXMubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50QXV4LmltYWdlcyA9IHByb2R1Y3QucGljdHVyZXNkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3aXRoT3B0aW9uLmNoZWNrSWZTdG9jaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YXJpYW50QXV4ICYmIHZhcmlhbnRBdXguc3RvY2sgPiAwKSA/IHByb2R1Y3RzVW5pcXVlVmFyaWFudC5wdXNoKHRoaXMucHJvZHVjdFdpdGhWYXJpYW50VmFsdWVzKG1vZGlmaWVkX3Byb2R1Y3QsIHZhcmlhbnRBdXgsIG9wdGlvblZhbHVlKSkgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50QXV4ICYmIHByb2R1Y3RzVW5pcXVlVmFyaWFudC5wdXNoKHRoaXMucHJvZHVjdFdpdGhWYXJpYW50VmFsdWVzKG1vZGlmaWVkX3Byb2R1Y3QsIHZhcmlhbnRBdXgsIG9wdGlvblZhbHVlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHByb2R1Y3RzVW5pcXVlVmFyaWFudC5wdXNoKHByb2R1Y3QpXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIHJldHVybiBwcm9kdWN0c1VuaXF1ZVZhcmlhbnQubGVuZ3RoID4gMCA/IHByb2R1Y3RzVW5pcXVlVmFyaWFudCA6IHByb2R1Y3RzO1xuICAgIH1cblxuICAgIHByb2R1Y3RXaXRoVmFyaWFudFZhbHVlcyA9IChwcm9kdWN0OiBQcm9kdWN0LCB2YXJpYW50OiBhbnksIG9wdGlvblZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgcHJvZHVjdC5waWN0dXJlc2RlZmF1bHQgPSBbLi4udmFyaWFudC5pbWFnZXNdXG4gICAgICAgIHByb2R1Y3QudmFyaWFudF9pZCA9IHZhcmlhbnQuY29kZTsgLy9sbyBkZWpvIGFjYSBoYXN0YSBhc2VndXJhcm5vcyBkZSBxdWUgbm8gc2UgZXN0YWJhIHVzYW5kbyBlbiBvdHJhIHBhcnRlLlxuICAgICAgICBwcm9kdWN0LnN0b2NrID0gdmFyaWFudC5zdG9jayB8fCAwOyAvL2xvIGRlam8gYWNhIGhhc3RhIGFzZWd1cmFybm9zIGRlIHF1ZSBubyBzZSBlc3RhYmEgdXNhbmRvIGVuIG90cmEgcGFydGUuXG4gICAgICAgIHByb2R1Y3QucHJpY2UgPSB2YXJpYW50LnByaWNlLnRvU3RyaW5nKCkgfHwgJzAnO1xuICAgICAgICBwcm9kdWN0LmN1cnJlbnRPcHRpb24gPSB7XG4gICAgICAgICAgICAuLi5vcHRpb25WYWx1ZSxcbiAgICAgICAgICAgIHByb2R1Y3RDb2RlOiBwcm9kdWN0LmlkLFxuICAgICAgICAgICAgdmFyaWFudENvZGU6IHZhcmlhbnQuY29kZSxcbiAgICAgICAgICAgIHN0b2NrOiB2YXJpYW50LnN0b2NrIHx8IDAsXG4gICAgICAgICAgICBmaW5hbFByaWNlOiB2YXJpYW50LnNhbGVwcmljZSB8fCB2YXJpYW50LnByaWNlIHx8IDAsXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByb2R1Y3RcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9iamVjdFdpdGhWYXJpYW50ID0gKCk6IFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uc3RzLmdldFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQoKVxuICAgIH1cblxuICAgIGdldFJlbGF0ZWRQcm9kdWN0cyhwcm9kdWN0X2lkOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb24uZ2V0KHRoaXMucmVsYXRlZFByb2R1Y3RzQXBpKHByb2R1Y3RfaWQpKTtcbiAgICB9XG4gICAgXG4gICAgaGFzU3RvY2socHJvZHVjdDogUHJvZHVjdCk6IGJvb2xlYW4ge1xuICAgICAgICAvLyBTaSBlbCBwcm9kdWN0byB0aWVuZSBsYSBwcm9waWVkYWQgJ3N0b2NrJyB5IGVzIG1heW9yIGEgMFxuICAgICAgICBpZiAodHlwZW9mIHByb2R1Y3Quc3RvY2sgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvZHVjdC5zdG9jayA+IDA7XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2kgZWwgcHJvZHVjdG8gdGllbmUgdmFyaWFudGVzLCB2ZXJpZmljYSBzaSBhbGd1bmEgdGllbmUgc3RvY2tcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocHJvZHVjdC52YXJpYW50cykpIHtcbiAgICAgICAgICAgIHJldHVybiBwcm9kdWN0LnZhcmlhbnRzLnNvbWUodmFyaWFudCA9PiB2YXJpYW50LnN0b2NrID4gMCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2kgbm8gdGllbmUgaW5mb3JtYWNpw7NuIGRlIHN0b2NrLCBhc3VtaW1vcyBxdWUgbm8gaGF5IHN0b2NrXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9wcm9kdWN0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsTUFBTSxFQUFFLFVBQVUsRUFBeUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxlQUFlLEVBQTBELE1BQU0sTUFBTSxDQUFDO0FBRS9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7QUFLbEQsTUFBTSxPQUFPLGVBQWU7SUFFaEIsV0FBVyxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMzRCxVQUFVLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzlELGVBQWUsR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pELGtCQUFrQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxPQUFPLEdBQXlCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTdELGdCQUFnQixHQUErQixJQUFJLGVBQWUsQ0FBWSxFQUFFLENBQUMsQ0FBQTtJQUNsRixTQUFTLEdBQTBCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2RSxlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN4RCxjQUFjLEdBQThCLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRTdDLFdBQVcsR0FBRyxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7SUFFekM7UUFDSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ2xDLENBQUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQzdDLFFBQVEsQ0FBQyxFQUFFO1lBQ1AsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDN0UsSUFBSSx5QkFBeUI7Z0JBQ3pCLFFBQVEsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUE7WUFDdkYsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUNwRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRWxFLENBQUMsQ0FFSixDQUFBO1FBQ0QsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDbkQsTUFBTSxhQUFhLEdBQWEsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDMUQsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxZQUFZLGdCQUFnQixDQUFDLENBQUM7UUFFMUYsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2xCLGdCQUFxQyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNMLENBQUM7SUFJRCxTQUFTO0lBQ0QsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO0lBQ25ELGdCQUFnQixDQUFDLElBQVksRUFBRSxPQUFnQixJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxvQkFBb0IsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN6TSxTQUFTO0lBQ1QscUJBQXFCLENBQUMsSUFBWSxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNySSxrQkFBa0I7SUFDbEIsa0JBQWtCLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyw0QkFBNEIsR0FBRyxHQUFHLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBRS9KOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxrQkFBdUMsRUFBRSxXQUFpQjtRQUMzRSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzRSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFDRDs7T0FFRztJQUNILGNBQWM7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ3JDLENBQUM7SUFDTCxDQUFDO0lBQ0Q7Ozs7O09BS0c7SUFDSCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsT0FBZ0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7OztNQUtFO0lBQ0YsV0FBVyxHQUFHLENBQUMsSUFBWSxFQUFFLFNBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBR2xIOzs7Ozs7OztPQVFHO0lBQ0gsNEJBQTRCLEdBQUcsQ0FBQyxRQUFtQixFQUFFLGFBQThDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtRQUVsTCxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUE7UUFDL0ksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFBO1FBQy9JLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUE7UUFDOUYsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO1FBRWpGLElBQUkscUJBQXFCLEdBQVUsRUFBRSxDQUFDO1FBQ3RDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUM5QixJQUFJLFFBQVEsR0FBRyxDQUFDLEdBQUcsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3RDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUMzRyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNULE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBZ0IsRUFBRSxFQUFFO29CQUN2QyxJQUFJLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUMzRCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDMUsscUVBQXFFO29CQUNyRSxJQUFJLFVBQVUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUMxQixPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUM7MkJBQ3hGLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTTsyQkFDdEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7K0JBQ3RJLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxXQUFXLENBQUMsSUFBSSxDQUFDLENBRXhILENBQUM7b0JBQ0YsZ0NBQWdDO29CQUNoQyxVQUFVLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDdkgsQ0FBQyxDQUFDLENBQUE7WUFDTixDQUFDO2lCQUFNLENBQUM7Z0JBQ0o7OzttQkFHRztnQkFDSCxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUMzRCxJQUFJLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUNyQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFnQixFQUFFLEVBQUU7d0JBRW5ELElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7d0JBQzNELGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFlLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO3dCQUVuSixJQUFJLFVBQVUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFOzRCQUNyQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTt3QkFDM0YsQ0FBQyxDQUFDLENBQUE7d0JBRUYsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7NEJBQzlDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQTt3QkFDL0MsQ0FBQzt3QkFFRCxJQUFJLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQzs0QkFDMUIsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO3dCQUN2SixDQUFDOzZCQUFNLENBQUM7NEJBQ0osVUFBVSxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUE7d0JBQ3RILENBQUM7b0JBRUwsQ0FBQyxDQUFDLENBQUE7Z0JBQ04sQ0FBQztxQkFBTSxDQUFDO29CQUNKLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtnQkFDdkMsQ0FBQztZQUVMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8scUJBQXFCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUMvRSxDQUFDLENBQUE7SUFFRCx3QkFBd0IsR0FBRyxDQUFDLE9BQWdCLEVBQUUsT0FBWSxFQUFFLFdBQWdCLEVBQUUsRUFBRTtRQUM1RSxPQUFPLENBQUMsZUFBZSxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDN0MsT0FBTyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMseUVBQXlFO1FBQzVHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyx5RUFBeUU7UUFDN0csT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBQztRQUNoRCxPQUFPLENBQUMsYUFBYSxHQUFHO1lBQ3BCLEdBQUcsV0FBVztZQUNkLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRTtZQUN2QixXQUFXLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDekIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQztZQUN6QixVQUFVLEVBQUUsT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUM7U0FDdEQsQ0FBQTtRQUNELE9BQU8sT0FBTyxDQUFBO0lBQ2xCLENBQUMsQ0FBQTtJQUVPLG9CQUFvQixHQUFHLEdBQW9DLEVBQUU7UUFDakUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGtDQUFrQyxFQUFFLENBQUE7SUFDNUQsQ0FBQyxDQUFBO0lBRUQsa0JBQWtCLENBQUMsVUFBZTtRQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxRQUFRLENBQUMsT0FBZ0I7UUFDckIsMkRBQTJEO1FBQzNELElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLE9BQU8sT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELGlFQUFpRTtRQUNqRSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELDhEQUE4RDtRQUM5RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO3dHQTNNUSxlQUFlOzRHQUFmLGVBQWUsY0FGWixNQUFNOzs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdCwgSW5qZWN0YWJsZSwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRGVmYXVsdEZpbHRlciwgRmlsdGVyRWxlbWVudCwgRmlsdGVyVHlwZSwgSUZpbHRlciwgT3B0aW9ucywgUGFnaW5hdGlvblNldHRpbmdzLCBQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50LCBQcm9kdWN0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpJztcclxuaW1wb3J0IHsgQXBpQ29uc3RhbnRzU2VydmljZSwgQ29yZUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4vb3B0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvblNlcnZpY2UgfSBmcm9tICcuL3BhZ2luYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbHRlciwgRmlsdGVyRmFjdG9yeSwgfSBmcm9tICcuLi9jbGFzc2VzJztcclxuaW1wb3J0IHsgUHJpY2VSYW5nZUZpbHRlciB9IGZyb20gJy4uL2NsYXNzZXMvZmlsdGVycy9wcmljZV9yYW5nZS1maWx0ZXInO1xyXG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4vZmlsdGVycy5zZXJ2aWNlJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0c1NlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgX2Nvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlID0gaW5qZWN0KENvbm5lY3Rpb25TZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgX2FwaUNvbnN0czogQXBpQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChBcGlDb25zdGFudHNTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSA9IGluamVjdChPcHRpb25zU2VydmljZSk7XHJcbiAgICBwcml2YXRlIF9wYWdpbmF0aW9uU2VydmljZTogUGFnaW5hdGlvblNlcnZpY2UgPSBpbmplY3QoUGFnaW5hdGlvblNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBfY29uc3RzOiBDb3JlQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSk7XHJcblxyXG4gICAgcHJpdmF0ZSBfcHJvZHVjdHNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8UHJvZHVjdFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UHJvZHVjdFtdPihbXSlcclxuICAgIHB1YmxpYyBwcm9kdWN0cyQ6IE9ic2VydmFibGU8UHJvZHVjdFtdPiA9IHRoaXMuX3Byb2R1Y3RzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSA9IGluamVjdChGaWx0ZXJzU2VydmljZSlcclxuICAgIHByaXZhdGUgZmlsdGVyc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlcltdPihbXSk7XHJcbiAgICBwdWJsaWMgZmlsdGVycyQgPSB0aGlzLmZpbHRlcnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByaXZhdGUgc2VhcmNoVmFsdWUgPSBzaWduYWw8c3RyaW5nPignJyk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5fcGFnaW5hdGlvblNlcnZpY2UucmVzZXQkLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9wcm9kdWN0c1N1YmplY3QubmV4dChbXSlcclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLnBhZ2luYXRpb25EYXRhJC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIHByb2R1Y3RzID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHByb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSB0aGlzLl9jb25zdHMuZ2V0UHJvZHVjdFdpdGhVbmlxdWVWYXJpYW50KCk7XHJcbiAgICAgICAgICAgICAgICBpZiAocHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudClcclxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0cyA9IHRoaXMuZ2V0UHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudChwcm9kdWN0cywgdGhpcy5nZXRPYmplY3RXaXRoVmFyaWFudCgpKVxyXG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFByb2R1Y3RzID0gdGhpcy5fcHJvZHVjdHNTdWJqZWN0LnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvZHVjdHNTdWJqZWN0Lm5leHQoWy4uLmN1cnJlbnRQcm9kdWN0cywgLi4ucHJvZHVjdHNdKTtcclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC8vIFN1c2NyaWJpcnNlIGEgbG9zIGNhbWJpb3MgZW4gZWwgcmFuZ28gZGUgcHJlY2lvc1xyXG4gICAgICAgIHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLnByaWNlUmFuZ2UkLnN1YnNjcmliZShyYW5nZSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBtaW4gPSBNYXRoLmZsb29yKHJhbmdlLnByaWNlX21pbik7XHJcbiAgICAgICAgICAgIGxldCBtYXggPSBNYXRoLmNlaWwocmFuZ2UucHJpY2VfbWF4KTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVQcmljZVJhbmdlRmlsdGVyKG1pbiwgbWF4KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9maWx0ZXJzU2VydmljZS5maWx0ZXJzJC5zdWJzY3JpYmUoZmlsdGVycyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyc1N1YmplY3QubmV4dChmaWx0ZXJzKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZVByaWNlUmFuZ2VGaWx0ZXIobWluOiBudW1iZXIsIG1heDogbnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3QgZmluYWxfZmlsdGVyczogRmlsdGVyW10gPSB0aGlzLmZpbHRlcnNTdWJqZWN0LnZhbHVlO1xyXG4gICAgICAgIGNvbnN0IHByaWNlUmFuZ2VGaWx0ZXIgPSBmaW5hbF9maWx0ZXJzLmZpbmQoZmlsdGVyID0+IGZpbHRlciBpbnN0YW5jZW9mIFByaWNlUmFuZ2VGaWx0ZXIpO1xyXG5cclxuICAgICAgICBpZiAocHJpY2VSYW5nZUZpbHRlcikge1xyXG4gICAgICAgICAgICAocHJpY2VSYW5nZUZpbHRlciBhcyBQcmljZVJhbmdlRmlsdGVyKS51cGRhdGVQcmljZXMobWluLCBtYXgpO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlcnNTdWJqZWN0Lm5leHQoZmluYWxfZmlsdGVycyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLy9BUEkgVVJMXHJcbiAgICBwcml2YXRlIF9zaG9wQXBpVXJsID0gdGhpcy5fYXBpQ29uc3RzLlNIT1BfQVBJX1VSTDtcclxuICAgIHByb2R1Y3RCeUNvZGVBcGkoY29kZTogc3RyaW5nLCB2YXJpYW50OiBib29sZWFuKSB7IHJldHVybiB0aGlzLl9zaG9wQXBpVXJsICsgdGhpcy5fYXBpQ29uc3RzLkNIQU5ORUwgKyAnL3Byb2R1Y3RzL2J5LWNvZGUvJyArICh2YXJpYW50ID8gJ3ZhcmlhbnQvJyA6ICcnKSArIGNvZGUgKyAnP2xvY2FsZT0nICsgdGhpcy5fYXBpQ29uc3RzLkxPQ0FMRTsgfVxyXG4gICAgLy8gcmV2aWV3XHJcbiAgICBzYXZlUHJvZHVjdFJldmlld3NBcGkoY29kZTogc3RyaW5nKSB7IHJldHVybiB0aGlzLl9zaG9wQXBpVXJsICsgdGhpcy5fYXBpQ29uc3RzLkNIQU5ORUwgKyAnL3Byb2R1Y3RzL2J5LWNvZGUvJyArIGNvZGUgKyAnL3Jldmlld3MnOyB9XHJcbiAgICAvL3JlbGF0ZWQgcHJvZHVjdHNcclxuICAgIHJlbGF0ZWRQcm9kdWN0c0FwaSA9IChrZXk6IHN0cmluZyk6IHN0cmluZyA9PiAnc2hvcC1hcGkvJyArIHRoaXMuX2FwaUNvbnN0cy5DSEFOTkVMICsgJy9wcm9kdWN0cy9yZWxhdGVkL2J5LWNvZGUvJyArIGtleSArICc/bG9jYWxlPScgKyB0aGlzLl9hcGlDb25zdHMuTE9DQUxFO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0ZWEgbG9zIGZpbHRyb3MgcGFyYSBvYnRlbmVyIGxvcyBwcm9kdWN0b3MuXHJcbiAgICAgKiBAcGFyYW0gcGFnaW5hdGlvblNldHRpbmdzIFxyXG4gICAgICogQHBhcmFtIHNlYXJjaFZhbHVlIFxyXG4gICAgICovXHJcbiAgICBnZXRQcm9kdWN0c0ZvckZpbHRlcihwYWdpbmF0aW9uU2V0dGluZ3M/OiBQYWdpbmF0aW9uU2V0dGluZ3MsIHNlYXJjaFZhbHVlPzogYW55KTogYW55IHtcclxuICAgICAgICBzZWFyY2hWYWx1ZSA/IHRoaXMuc2VhcmNoVmFsdWUuc2V0KHNlYXJjaFZhbHVlKSA6IHRoaXMuc2VhcmNoVmFsdWUuc2V0KCcnKTtcclxuICAgICAgICBwYWdpbmF0aW9uU2V0dGluZ3MgJiYgdGhpcy5fZmlsdGVyc1NlcnZpY2Uuc2V0RmlsdGVycyhwYWdpbmF0aW9uU2V0dGluZ3MpXHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEFjdHVhbGl6YSBsb3MgcHJvZHVjdG9zIGNvbiBsb3MgZGUgbGEgc2lndWllbnRlIHBhZ2luYS5cclxuICAgICAqL1xyXG4gICAgdXBkYXRlUHJvZHVjdHMoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5nZXRXYWl0aW5nKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5fcGFnaW5hdGlvblNlcnZpY2UuZ2V0TmV4dCgpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBEZXZ1ZWx2ZSBlbCBwcm9kdWN0byBwb3IgY29kaWdvLlxyXG4gICAgICogQHBhcmFtIGNvZGUgQ29kaWdvIGRlbCBwcm9kdWN0b1xyXG4gICAgICogQHBhcmFtIHZhcmlhbnQgUGFyYSBpbmRpY2FyIHNpIGVzIHZhcmlhbnRlIG8gbm8uXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgZ2V0UHJvZHVjdEJ5Q29kZShjb2RlOiBzdHJpbmcsIHZhcmlhbnQ6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFByb2R1Y3Q+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29ubmVjdGlvbi5nZXQodGhpcy5wcm9kdWN0QnlDb2RlQXBpKGNvZGUsIHZhcmlhbnQpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICogQGRlc2NyaXB0aW9uIEd1YXJkYSBsYSByZXNlw7FhIGRlIHVuIHByb2R1Y3RvLlxyXG4gICAgKiBAcGFyYW0gY29kZVxyXG4gICAgKiBAcGFyYW0gZm9ybV9kYXRhXHJcbiAgICAqIEByZXR1cm5zXHJcbiAgICAqL1xyXG4gICAgc2F2ZVJldmlld3MgPSAoY29kZTogc3RyaW5nLCBmb3JtX2RhdGE6IGFueSkgPT4gdGhpcy5fY29ubmVjdGlvbi5wb3N0KHRoaXMuc2F2ZVByb2R1Y3RSZXZpZXdzQXBpKGNvZGUpLCBmb3JtX2RhdGEpXHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVjaWJlIHVuYSBsaXN0YSBkZSBwcm9kdWN0b3MgeSByZXRvcm5hIGxvcyBtaXNtb3MgcHJvZHVjdG9zIHRhbnRhcyB2ZWNlcyBjb21vIHZhcmlhbnRlcyB0ZW5nYS5cclxuICAgICAqIGNhZGEgcHJvZHVjdG8gcmV0b3JuYWRvIHRlbmRyw6EgdW5hIMO6bmljYSB2YXJpYW50ZS5cclxuICAgICAqIEBwYXJhbSBwcm9kdWN0cyAgQXJyYXkuIExpc3RhIGRlIHByb2R1Y3Rvcy5cclxuICAgICAqIEBwYXJhbSB3aXRoT3B0aW9uICd0eXBlJyB0aXBvIGRlIG9wY2nDs24sIGNvZGU6IGPDs2RpZ28gZGUgbGEgb3BjacOzbi4gJ2RlZmF1bHRGaXJzdE9wdGlvbic6IGVuIGNhc28gZGUgcXVlIG5vIHNlIHB1ZWRhIGRlc2RvYmxhciBwb3IgbGEgb3BjacOzbiBpbmRpY2FkYSBzaSBlbCB2YWxvciBlcyB2ZXJkYWRlcm8gc2UgaW50ZW50YXJhIGRlc2RvYmxhciBwb3IgbGEgcHJpbWVyYSBvcGNpw7NuIGFzb2NpYWRhIGFsIHByb2R1Y3RvLlxyXG4gICAgICogJ2NoZWNrSWZTdG9jayc6IGVuIGNhc28gZGUgcXVlIGVzdGEgdmFsb3Igc2VhIHZlcmRhZGVybyBzZSByZWFsaXphIHVuIGNvbnRyb2wgZGUgcXVlIGxhIHZhcmlhbnRlcyBjdWVudGVuIGNvbiBzdG9jayBwYXJhIHNlciB1biBwcm9kdWN0byBkZXNkb2JsYWRvIHBvciBsYSB2YXJpYW50ZSwgc2kgZWwgdmFsb3IgZXMgZmFsc28gbm8gc2UgcmVhbGl6YSBkaWNobyBjb250cm9sIHkgZWwgcHJvZHVjdG8gc2UgZGVzZG9ibGFyYSBjb24gc3RvY2sgZW4gMC5cclxuICAgICAqIEByZXR1cm5zIGFycmVnbG8gY29uIGxvcyBwcm9kdWN0b3MgZGVzZG9ibGFkb3MgcG9yIGxhIG9wY2nDs24gc29saWNpdGFkYS5cclxuICAgICAqIChvcGNpw7NuIHBvciBkZWZlY3RvIHF1ZSBzZSBpbnRlbnRhIGhhY2VyIGVsIGRlc2RvYmxhbWllbnRvICdjb2xvcicsIG8gYmllbiBzaSBlbiBsZSBwYXLDoW1ldHJvIHdpdGhPcHRpb24gZWwgYXRyaWJ1dG8gJ2RlZmF1bHRGaXJzdE9wdGlvbicgZXMgdmVyZGFkZXJvIHNlIGRlc2RvYmxhIHBvciBsYSBwcmltZXJhIG9wY2nDs24gYXNvY2lhZGEgYWwgcHJvZHVjdG8pXHJcbiAgICAgKi9cclxuICAgIGdldFByb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSAocHJvZHVjdHM6IFByb2R1Y3RbXSwgd2l0aE9wdGlvbjogUGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9IHsgdHlwZTogJ2NvbG9yJywgY29kZTogJ2NvbG9yJywgZGVmYXVsdEZpcnN0T3B0aW9uOiBmYWxzZSwgY2hlY2tJZlN0b2NrOiB0cnVlIH0pID0+IHtcclxuXHJcbiAgICAgICAgIXdpdGhPcHRpb25bJ2NvZGUnXSAmJiB3aXRoT3B0aW9uWyd0eXBlJ10gJiYgKHdpdGhPcHRpb25bJ2NvZGUnXSA9IHdpdGhPcHRpb25bJ3R5cGUnXSkgfHwgIXdpdGhPcHRpb25bJ2NvZGUnXSAmJiAod2l0aE9wdGlvblsnY29kZSddID0gJ2NvbG9yJylcclxuICAgICAgICAhd2l0aE9wdGlvblsndHlwZSddICYmIHdpdGhPcHRpb25bJ2NvZGUnXSAmJiAod2l0aE9wdGlvblsndHlwZSddID0gd2l0aE9wdGlvblsnY29kZSddKSB8fCAhd2l0aE9wdGlvblsndHlwZSddICYmICh3aXRoT3B0aW9uWyd0eXBlJ10gPSAnY29sb3InKVxyXG4gICAgICAgICF3aXRoT3B0aW9uLmhhc093blByb3BlcnR5KCdkZWZhdWx0Rmlyc3RPcHRpb24nKSAmJiAod2l0aE9wdGlvblsnZGVmYXVsdEZpcnN0T3B0aW9uJ10gPSBmYWxzZSlcclxuICAgICAgICAhd2l0aE9wdGlvbi5oYXNPd25Qcm9wZXJ0eSgnY2hlY2tJZlN0b2NrJykgJiYgKHdpdGhPcHRpb25bJ2NoZWNrSWZTdG9jayddID0gdHJ1ZSlcclxuXHJcbiAgICAgICAgbGV0IHByb2R1Y3RzVW5pcXVlVmFyaWFudDogYW55W10gPSBbXTtcclxuICAgICAgICBwcm9kdWN0cy5mb3JFYWNoKChwcm9kdWN0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgbGV0IHZhcmlhbnRzID0gWy4uLnByb2R1Y3Q/LnZhcmlhbnRzXTtcclxuICAgICAgICAgICAgbGV0IG9wdGlvbiA9IHByb2R1Y3Qub3B0aW9ucy5maW5kKChvcHQ6IGFueSkgPT4gb3B0LnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gd2l0aE9wdGlvbi50eXBlPy50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgICAgaWYgKG9wdGlvbikge1xyXG4gICAgICAgICAgICAgICAgb3B0aW9uLnZhbHVlcy5mb3JFYWNoKChvcHRpb25WYWx1ZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGlmaWVkX3Byb2R1Y3QgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHByb2R1Y3QpKTtcclxuICAgICAgICAgICAgICAgICAgICBtb2RpZmllZF9wcm9kdWN0Lm9wdGlvbnMuZmluZCgob3B0aW9uOiBhbnkpID0+IG9wdGlvbi50eXBlLnRvTG93ZXJDYXNlKCkgPT0gd2l0aE9wdGlvbi50eXBlPy50b0xvd2VyQ2FzZSgpKS52YWx1ZXMgPSBbeyBjb2RlOiBvcHRpb25WYWx1ZS5jb2RlLCBuYW1lOiBvcHRpb25WYWx1ZS5uYW1lIH1dO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vYnVzY28gdW5hIHZhcmlhbnRlIGNvbiBlc2UgY29kZSBwYXJhIGFzaWduYXJsZSBsYSBsaXN0YSBkZSBpbWFnZW5lc1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YXJpYW50QXV4ID0gdmFyaWFudHMuZmluZChcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudCA9PiAoKHdpdGhPcHRpb24uY2hlY2tJZlN0b2NrICYmIHZhcmlhbnQuc3RvY2sgPiAwKSB8fCB3aXRoT3B0aW9uLmNoZWNrSWZTdG9jayA9PSBmYWxzZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHZhcmlhbnQub3B0aW9ucy5sZW5ndGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHZhcmlhbnQub3B0aW9ucy5zb21lKChvcDogYW55KSA9PiAob3AuaGFzT3duUHJvcGVydHkod2l0aE9wdGlvbi5jb2RlPy50b0xvd2VyQ2FzZSgpKSB8fCBvcC5oYXNPd25Qcm9wZXJ0eSh3aXRoT3B0aW9uLmNvZGU/LnRvVXBwZXJDYXNlKCkpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIChvcFtgJHt3aXRoT3B0aW9uLmNvZGU/LnRvTG93ZXJDYXNlKCl9YF0gfHwgb3BbYCR7d2l0aE9wdGlvbi5jb2RlPy50b1VwcGVyQ2FzZSgpfWBdKSA9PT0gb3B0aW9uVmFsdWUuY29kZSlcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKFwiLS0tXCIsdmFyaWFudEF1eCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudEF1eCAmJiBwcm9kdWN0c1VuaXF1ZVZhcmlhbnQucHVzaCh0aGlzLnByb2R1Y3RXaXRoVmFyaWFudFZhbHVlcyhtb2RpZmllZF9wcm9kdWN0LCB2YXJpYW50QXV4LCBvcHRpb25WYWx1ZSkpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgICAgICogc2UgbW9kaWZpY2EgZWwgY2FzbyBwYXJhIGN1YW5kbyBzZSB0b21hIGVsIHByaW1lciBgb3B0aW9uYCBkZWwgcHJvZHVjdG8gcGFyYVxyXG4gICAgICAgICAgICAgICAgICogYXJtYXIgbGEgbGlzdGEgZGUgcHJvZHVjdG9zIGNvbiB2YXJpYW50ZXMuXHJcbiAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgIGlmICh3aXRoT3B0aW9uLmRlZmF1bHRGaXJzdE9wdGlvbiAmJiBwcm9kdWN0Lm9wdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBmaXJzdE9wdGlvbnMgPSBwcm9kdWN0Lm9wdGlvbnNbMF1cclxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0Lm9wdGlvbnNbMF0udmFsdWVzLmZvckVhY2goKG9wdGlvblZhbHVlOiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtb2RpZmllZF9wcm9kdWN0ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwcm9kdWN0KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkX3Byb2R1Y3Qub3B0aW9ucy5maW5kKChvcHRpb246IE9wdGlvbnMpID0+IG9wdGlvbi50eXBlID09IGZpcnN0T3B0aW9ucy50eXBlKS52YWx1ZXMgPSBbeyBjb2RlOiBvcHRpb25WYWx1ZS5jb2RlLCBuYW1lOiBvcHRpb25WYWx1ZS5uYW1lIH1dO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhcmlhbnRBdXggPSB2YXJpYW50cy5maW5kKHZhcmlhbnQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhcmlhbnQub3B0aW9ucy5maW5kKChlbGVtOiBhbnkpID0+IGVsZW1bZmlyc3RPcHRpb25zLmNvZGVdID09IG9wdGlvblZhbHVlLmNvZGUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFyaWFudEF1eCAmJiB2YXJpYW50QXV4LmltYWdlcy5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudEF1eC5pbWFnZXMgPSBwcm9kdWN0LnBpY3R1cmVzZGVmYXVsdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAod2l0aE9wdGlvbi5jaGVja0lmU3RvY2spIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YXJpYW50QXV4ICYmIHZhcmlhbnRBdXguc3RvY2sgPiAwKSA/IHByb2R1Y3RzVW5pcXVlVmFyaWFudC5wdXNoKHRoaXMucHJvZHVjdFdpdGhWYXJpYW50VmFsdWVzKG1vZGlmaWVkX3Byb2R1Y3QsIHZhcmlhbnRBdXgsIG9wdGlvblZhbHVlKSkgOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudEF1eCAmJiBwcm9kdWN0c1VuaXF1ZVZhcmlhbnQucHVzaCh0aGlzLnByb2R1Y3RXaXRoVmFyaWFudFZhbHVlcyhtb2RpZmllZF9wcm9kdWN0LCB2YXJpYW50QXV4LCBvcHRpb25WYWx1ZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHNVbmlxdWVWYXJpYW50LnB1c2gocHJvZHVjdClcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiBwcm9kdWN0c1VuaXF1ZVZhcmlhbnQubGVuZ3RoID4gMCA/IHByb2R1Y3RzVW5pcXVlVmFyaWFudCA6IHByb2R1Y3RzO1xyXG4gICAgfVxyXG5cclxuICAgIHByb2R1Y3RXaXRoVmFyaWFudFZhbHVlcyA9IChwcm9kdWN0OiBQcm9kdWN0LCB2YXJpYW50OiBhbnksIG9wdGlvblZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICBwcm9kdWN0LnBpY3R1cmVzZGVmYXVsdCA9IFsuLi52YXJpYW50LmltYWdlc11cclxuICAgICAgICBwcm9kdWN0LnZhcmlhbnRfaWQgPSB2YXJpYW50LmNvZGU7IC8vbG8gZGVqbyBhY2EgaGFzdGEgYXNlZ3VyYXJub3MgZGUgcXVlIG5vIHNlIGVzdGFiYSB1c2FuZG8gZW4gb3RyYSBwYXJ0ZS5cclxuICAgICAgICBwcm9kdWN0LnN0b2NrID0gdmFyaWFudC5zdG9jayB8fCAwOyAvL2xvIGRlam8gYWNhIGhhc3RhIGFzZWd1cmFybm9zIGRlIHF1ZSBubyBzZSBlc3RhYmEgdXNhbmRvIGVuIG90cmEgcGFydGUuXHJcbiAgICAgICAgcHJvZHVjdC5wcmljZSA9IHZhcmlhbnQucHJpY2UudG9TdHJpbmcoKSB8fCAnMCc7XHJcbiAgICAgICAgcHJvZHVjdC5jdXJyZW50T3B0aW9uID0ge1xyXG4gICAgICAgICAgICAuLi5vcHRpb25WYWx1ZSxcclxuICAgICAgICAgICAgcHJvZHVjdENvZGU6IHByb2R1Y3QuaWQsXHJcbiAgICAgICAgICAgIHZhcmlhbnRDb2RlOiB2YXJpYW50LmNvZGUsXHJcbiAgICAgICAgICAgIHN0b2NrOiB2YXJpYW50LnN0b2NrIHx8IDAsXHJcbiAgICAgICAgICAgIGZpbmFsUHJpY2U6IHZhcmlhbnQuc2FsZXByaWNlIHx8IHZhcmlhbnQucHJpY2UgfHwgMCxcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb2R1Y3RcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldE9iamVjdFdpdGhWYXJpYW50ID0gKCk6IFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25zdHMuZ2V0UGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCgpXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmVsYXRlZFByb2R1Y3RzKHByb2R1Y3RfaWQ6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25uZWN0aW9uLmdldCh0aGlzLnJlbGF0ZWRQcm9kdWN0c0FwaShwcm9kdWN0X2lkKSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGhhc1N0b2NrKHByb2R1Y3Q6IFByb2R1Y3QpOiBib29sZWFuIHtcclxuICAgICAgICAvLyBTaSBlbCBwcm9kdWN0byB0aWVuZSBsYSBwcm9waWVkYWQgJ3N0b2NrJyB5IGVzIG1heW9yIGEgMFxyXG4gICAgICAgIGlmICh0eXBlb2YgcHJvZHVjdC5zdG9jayA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb2R1Y3Quc3RvY2sgPiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTaSBlbCBwcm9kdWN0byB0aWVuZSB2YXJpYW50ZXMsIHZlcmlmaWNhIHNpIGFsZ3VuYSB0aWVuZSBzdG9ja1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHByb2R1Y3QudmFyaWFudHMpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9kdWN0LnZhcmlhbnRzLnNvbWUodmFyaWFudCA9PiB2YXJpYW50LnN0b2NrID4gMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFNpIG5vIHRpZW5lIGluZm9ybWFjacOzbiBkZSBzdG9jaywgYXN1bWltb3MgcXVlIG5vIGhheSBzdG9ja1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
111
111
|
providedIn: 'root'
|
|
112
112
|
}]
|
|
113
113
|
}], ctorParameters: () => [] });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmUtY2FwdGNoYS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3JlLWNhcHRjaGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUtuRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXBCLFdBQVcsR0FBc0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0QsY0FBYyxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5RCxVQUFVLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRTlELGlCQUFpQixHQUF1QyxJQUFJLGVBQWUsQ0FBb0IsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqSCxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRWxELE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9DLE1BQU0sQ0FBTTtJQUVYLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0IsT0FBTyxHQUFXLGNBQWMsQ0FBQTtJQUNoQyxxQkFBcUIsR0FBWSxLQUFLLENBQUM7SUFFdkMsb0JBQW9CLEdBQUcsNkNBQTZDLENBQUM7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OzRHQUFoQixnQkFBZ0IsY0FGaEIsTUFBTTs7NEZBRU4sZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWNhcHRjaGFTZXR0aW5ncyB9IGZyb20gJ25nLXJlY2FwdGNoYS0yJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29uY2F0TWFwLCBmaXJzdFZhbHVlRnJvbSwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJzU2VydmljZSB9IGZyb20gJy4vcGFyYW1ldGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSZUNhcHRjaGFTZXJ2aWNlIHtcblxuXHRwcml2YXRlIF9jb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSk7XG5cdHByaXZhdGUgX3BhcmFtc1NlcnZpY2U6IFBhcmFtZXRlcnNTZXJ2aWNlID0gaW5qZWN0KFBhcmFtZXRlcnNTZXJ2aWNlKTtcblx0cHJpdmF0ZSBfYXBpQ29uc3RzOiBBcGlDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xuXG5cdHByaXZhdGUgX3JlY2FwdGNoYVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxSZWNhcHRjaGFTZXR0aW5ncz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlY2FwdGNoYVNldHRpbmdzPih7IHNpdGVLZXk6ICcnIH0pO1xuXHRwdWJsaWMgcmVjYXB0Y2hhJCA9IHRoaXMuX3JlY2FwdGNoYVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cblx0cHJpdmF0ZSBwYXJhbXMkID0gdGhpcy5fcGFyYW1zU2VydmljZS5nZXRQYXJhbWV0ZXJzKCk7XG5cdHB1YmxpYyBwYXJhbXM6IGFueTtcblxuXHRwcml2YXRlIHVybEJhc2VGb3JtYXQ6IHN0cmluZyA9ICcnO1xuXHRwcml2YXRlIHRlc3Rpbmc6IHN0cmluZyA9IFwiZWFzeWNvbW1lcmNlXCJcblx0cHJpdmF0ZSBwcm9kdWN0aW9uRW52aXJvbm1lbnQ6IEJvb2xlYW4gPSBmYWxzZTtcblxuXHRwcml2YXRlIHJlY2FwdGNoYVNpdGVLZXlzVXJsID0gJy4vYXNzZXRzL3JlY2FwdGNoYS9yZWNhcHRjaGEtc2l0ZS1rZXlzLmpzb24nO1xuXHRwcml2YXRlIHJlY2FwdGNoYVNpdGVzVXJsID0gJy4vYXNzZXRzL3JlY2FwdGNoYS9yZWNhcHRjaGEtc2l0ZXMuanNvbic7XG5cdHByaXZhdGUgcmVjYXB0Y2hhU2l0ZXNVcmxQcm9kID0gJy4vYXNzZXRzL3JlY2FwdGNoYS9yZWNhcHRjaGEtc2l0ZXMtcHJvZC5qc29uJ1xuXG5cdHByaXZhdGUgUkVDQVBUQ0hBX1NJVEVfS0VZUzogYW55ID0gW11cblx0cHJpdmF0ZSBSRUNBUFRDSEFfU0lURVM6IGFueSA9IFtdXG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5wYXJhbXMkLnN1YnNjcmliZShwYXJhbXMgPT4gdGhpcy5wYXJhbXMgPSBwYXJhbXMpO1x0XG5cdFx0dGhpcy5pbml0aWFsaXplcigpO1xuXHRcdGFmdGVyTmV4dFJlbmRlcigoKT0+IHtcblx0XHRcdHRoaXMudXJsQmFzZUZvcm1hdCA9IHRoaXMuZm9ybWF0VXJsKGxvY2F0aW9uLmhyZWYpO1xuXHRcdFx0dGhpcy5wcm9kdWN0aW9uRW52aXJvbm1lbnQgPSB0aGlzLmlzUHJvZCgpO1xuXHRcdH0pXG5cdH1cblx0LyoqXG4gICAgICogRGV2dWVsdmUgdHJ1ZSBzaSBsYSB1cmwgZXMgZGUgcHJvZHVjY2lvbiwgZmFsc2UgZW4gY2FzbyBjb250cmFyaW8uIFxuICAgICAqIEByZXR1cm5zIHtCb29sZWFufVxuICAgICAqL1xuXHRwcml2YXRlIGlzUHJvZCgpOiBCb29sZWFuIHtcblx0XHRyZXR1cm4gIXRoaXMudXJsQmFzZUZvcm1hdC5pbmNsdWRlcyh0aGlzLnRlc3RpbmcpXG5cdH1cblx0LyoqXG4gICAgICogUmVjaWJlIHVuYSB1cmwgeSBzZSBlbmNhcmdhIGRlIHF1aXRhcmxlIFwiaHR0cFwiLCBcIi9cIiB5IGxhcyBkZW1hcyBydXRhcywgcGFyYSBkZXZvbHZlciBsYSB1cmxcbiAgICAgKiBkZWwgc2l0aW8gY29uIHVuYSBmb3JtYXRvIGxpbXBpby4gRWplbXBsbyBcImh0dHBzOi8vZWplbXBsby5jb20uYXIvcnV0YTEvcnV0YTIvXCIgYSBcImVqZW1wbG8uY29tLmFyXCIgXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHVybCB1cmwgcXVlIHNlcmEgZm9ybWF0ZWFkYSBcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSB1cmwgZm9ybWF0ZWFkYVxuICAgICAqL1xuXHRwcml2YXRlIGZvcm1hdFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHVybC5zcGxpdChcIi9cIikuZmlsdGVyKGUgPT4gZSAhPSBcIi9cIikuZmlsdGVyKGUgPT4gIWUuaW5jbHVkZXMoXCJodHRwXCIpKS5maWx0ZXIoZSA9PiBlLmxlbmd0aCkuc2xpY2UoMCwxKS5wb3AoKSB8fCAnJ1xuXHR9XG5cblx0LyoqXG4gICAgICogUGF0aCBxdWUgY29udGllbmUgbGEgZGlyZWNjaW9uIGRlbCBlbmRwb2ludCByZWZlcmlkbyBhbCBjYXB0Y2hhXG4gICAgICogQHJldHVybnMge3N0cmluZ30gXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYXB0Y2hhQXBpKCk6c3RyaW5nIHsgcmV0dXJuIGAke3RoaXMuX2FwaUNvbnN0cy5TSE9QX0FQSV9VUkx9Y2hhbm5lbHNgO31cblx0LyoqXG4gICAgICogUHJpb3JpemEgc2kgZXhpc3RlIHVuIHBhcmFtZXRybyBkZXNkZSBlbCBiYWNrZW5kIGRlIG5vbWJyZSAncmVjYXB0Y2hhX2tleV9jYW5hbCcsIFxuICAgICAqIGRlIG5vIGV4aXN0aXIgZXN0ZSBidXNjYSB1bm8gZGUgdGlwbyBnZW5lcmFsIGRlIG5vbWJyZSAncmVjYXB0Y2hhX2tleScsXG4gICAgICogeSBlbiBjYXNvIGRlIHF1ZSBlc3RlIG5vIGV4aXN0YSBzZSByZWFsaXphIGxvIHNpZ3VpZW50ZTogXG4gICAgICogY2FyZ2EgbGFzIHZhcmlhYmxlcyBSRUNBUFRDSEFfU0lURVMgeSBSRUNBUFRDSEFfU0lURV9LRVlTLCBjb24gbG9zIHZhbG9yZXNcbiAgICAgKiBkZSBsb3MgSnNvbiBlc3RhdGljb3MsIHBhcmEgcG9zdGVyaW9ybWVudGUgb2J0ZW5lciBsYSBcInNpdGVLZXlcIihjbGF2ZSBkZWwgY2FwdGNoYSkgZW4gY2Fzb1xuICAgICAqIGRlIHF1ZSBubyB2ZW5nYSBkZXNkZSBlbCBiYWNrZW5kLiBcbiAgICAgKi9cblx0cHJpdmF0ZSBpbml0aWFsaXplcigpOiB2b2lkIHtcblx0XHRsZXQgcGFyYW1UaGlzQ2hhbm5lbCA9IHRoaXMucGFyYW1zLmZpbmQoKHBhcmFtOmFueSkgPT4gcGFyYW0uY29kZSA9PT0gYHJlY2FwdGNoYV9rZXlfJHt0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTH1gKVxuXHRcdGlmKHBhcmFtVGhpc0NoYW5uZWwpe1xuXHRcdFx0dGhpcy5fcmVjYXB0Y2hhU3ViamVjdC5uZXh0KHtzaXRlS2V5OiBwYXJhbVRoaXNDaGFubmVsLnZhbHVlfSk7XG5cdFx0fWVsc2V7XG5cdFx0XHRsZXQgcGFyYW1HZW5lcmFsID0gdGhpcy5wYXJhbXMuZmluZCgocGFyYW06YW55KSA9PiBwYXJhbS5jb2RlID09PSAncmVjYXB0Y2hhX2tleScpXG5cdFx0XHRpZihwYXJhbUdlbmVyYWwpe1xuXHRcdFx0XHR0aGlzLl9yZWNhcHRjaGFTdWJqZWN0Lm5leHQoe3NpdGVLZXk6IHBhcmFtR2VuZXJhbC52YWx1ZX0pO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5nZXRSZWNhcHRjaGFTaXRlcygpLnBpcGUoXG5cdFx0XHRcdFx0bWFwKChyZXM6YW55KSA9PiB0aGlzLlJFQ0FQVENIQV9TSVRFUyA9IHJlcyksXG5cdFx0XHRcdFx0Y29uY2F0TWFwKCByZXMgPT4gdGhpcy5nZXRSZWNhcHRjaGFTaXRlS2V5cygpLnBpcGUoXG5cdFx0XHRcdFx0XHRtYXAocmVzPT4gdGhpcy5SRUNBUFRDSEFfU0lURV9LRVlTID0gcmVzKVxuXHRcdFx0XHRcdCkpXG5cdFx0XHRcdCkuc3Vic2NyaWJlKFxuXHRcdFx0XHRcdGUgPT4gdGhpcy5nZXRTaXRlS2V5KClcblx0XHRcdFx0KVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuICAgICAqIE9idGllbmUgbG9zIGRhdG9zIGRlbCBhcmNoaXZvIC5qc29uIGVuIGRvbmRlIHNlIGd1YXJkYW4gbGFzIGNsYXZlcy5cbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxhbnk+fSBEYXRvcyBvYnRlbmlkb3MgZGVsIGFyY2hpdm8gY29uIGxhcyBjbGF2ZXMgY2FwdGNoYVxuICAgICAqL1xuXHRwcml2YXRlIGdldFJlY2FwdGNoYVNpdGVLZXlzKCk6IE9ic2VydmFibGU8YW55Pntcblx0XHRyZXR1cm4gdGhpcy5fY29ubmVjdGlvbi5nZXRXaXRoRnVsbFVybCh0aGlzLnJlY2FwdGNoYVNpdGVLZXlzVXJsKVxuXHR9XG5cdC8qKlxuICAgICAqIFNlIG9idGllbmUgbG9zIGRhdG9zIHNlZ3VuIGVsIGVudG9ybm8gZW4gcXVlIHNlIGVqZWN1dGVcbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxhbnk+fSBEYXRvcyBvYnRlbmlkb3MgZGVsIGFyY2hpdm8gY29uIGxhcyB1cmwgZGUgbG9zIHNpdGlvc1xuICAgICAqL1xuXHRwcml2YXRlIGdldFJlY2FwdGNoYVNpdGVzKCk6IE9ic2VydmFibGU8YW55Pntcblx0XHRyZXR1cm4gdGhpcy5wcm9kdWN0aW9uRW52aXJvbm1lbnQgPyBcblx0XHRcdHRoaXMuX2Nvbm5lY3Rpb24uZ2V0V2l0aEZ1bGxVcmwodGhpcy5yZWNhcHRjaGFTaXRlc1VybFByb2QpIDpcblx0XHRcdHRoaXMuX2Nvbm5lY3Rpb24uZ2V0V2l0aEZ1bGxVcmwodGhpcy5yZWNhcHRjaGFTaXRlc1VybCk7XG5cdH1cblx0LyoqXG4gICAgICogR2VuZXJhIHVuYSBwZXRpY2lvbiBwYXJhIHJlY2liaXIgbGEgY2xhdmUgZGVsIHJlY2FwdGNoYS4gRW4gY2FzbyBkZSBubyB0ZW5lciBleGl0byxcbiAgICAgKiB1dGlsaXphIGxvcyBhcmNoaXZvcyBlc3RhdGljb3MgcGFyYSByZXRvcm5hciB1bmEgY2xhdmUgcG9yIGRlZmVjdG8uIFJlbGxlbmEgZWwgT2JzZXJ2YWJsZSBjb25cbiAgICAgKiBsb3MgZGF0b3MgZ2VuZXJhZG9zLlxuICAgICAqL1xuXHRwcml2YXRlIGdldFNpdGVLZXkoKXtcblx0XHRmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uLmdldCh0aGlzLmNhcHRjaGFBcGkoKSkpLnRoZW4oXG5cdFx0XHQocmVzOiBhbnkpID0+IHtcblx0XHRcdFx0dGhpcy5fcmVjYXB0Y2hhU3ViamVjdC5uZXh0KCB7XG5cdFx0XHRcdFx0c2l0ZUtleTogcmVzLnNpdGVLZXkgPyByZXMuc2l0ZUtleSA6IHRoaXMuUkVDQVBUQ0hBX1NJVEVfS0VZU1t0aGlzLlJFQ0FQVENIQV9TSVRFU1t0aGlzLnVybEJhc2VGb3JtYXRdXVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdChlcnI6IGFueSkgPT4ge1xuXHRcdFx0XHR0aGlzLl9yZWNhcHRjaGFTdWJqZWN0Lm5leHQoeyBzaXRlS2V5OiB0aGlzLlJFQ0FQVENIQV9TSVRFX0tFWVNbdGhpcy5SRUNBUFRDSEFfU0lURVNbdGhpcy51cmxCYXNlRm9ybWF0XV19KVxuXHRcdFx0fVxuXHRcdClcblx0fVxufVxuIl19
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmUtY2FwdGNoYS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3JlLWNhcHRjaGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUtuRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXBCLFdBQVcsR0FBc0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0QsY0FBYyxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5RCxVQUFVLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRTlELGlCQUFpQixHQUF1QyxJQUFJLGVBQWUsQ0FBb0IsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqSCxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRWxELE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9DLE1BQU0sQ0FBTTtJQUVYLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0IsT0FBTyxHQUFXLGNBQWMsQ0FBQTtJQUNoQyxxQkFBcUIsR0FBWSxLQUFLLENBQUM7SUFFdkMsb0JBQW9CLEdBQUcsNkNBQTZDLENBQUM7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OzRHQUFoQixnQkFBZ0IsY0FGaEIsTUFBTTs7NEZBRU4sZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlY2FwdGNoYVNldHRpbmdzIH0gZnJvbSAnbmctcmVjYXB0Y2hhLTInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbmNhdE1hcCwgZmlyc3RWYWx1ZUZyb20sIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XHJcbmltcG9ydCB7IFBhcmFtZXRlcnNTZXJ2aWNlIH0gZnJvbSAnLi9wYXJhbWV0ZXJzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlQ2FwdGNoYVNlcnZpY2Uge1xyXG5cclxuXHRwcml2YXRlIF9jb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfcGFyYW1zU2VydmljZTogUGFyYW1ldGVyc1NlcnZpY2UgPSBpbmplY3QoUGFyYW1ldGVyc1NlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2FwaUNvbnN0czogQXBpQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChBcGlDb25zdGFudHNTZXJ2aWNlKTtcclxuXHJcblx0cHJpdmF0ZSBfcmVjYXB0Y2hhU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PFJlY2FwdGNoYVNldHRpbmdzPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVjYXB0Y2hhU2V0dGluZ3M+KHsgc2l0ZUtleTogJycgfSk7XHJcblx0cHVibGljIHJlY2FwdGNoYSQgPSB0aGlzLl9yZWNhcHRjaGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcml2YXRlIHBhcmFtcyQgPSB0aGlzLl9wYXJhbXNTZXJ2aWNlLmdldFBhcmFtZXRlcnMoKTtcclxuXHRwdWJsaWMgcGFyYW1zOiBhbnk7XHJcblxyXG5cdHByaXZhdGUgdXJsQmFzZUZvcm1hdDogc3RyaW5nID0gJyc7XHJcblx0cHJpdmF0ZSB0ZXN0aW5nOiBzdHJpbmcgPSBcImVhc3ljb21tZXJjZVwiXHJcblx0cHJpdmF0ZSBwcm9kdWN0aW9uRW52aXJvbm1lbnQ6IEJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0cHJpdmF0ZSByZWNhcHRjaGFTaXRlS2V5c1VybCA9ICcuL2Fzc2V0cy9yZWNhcHRjaGEvcmVjYXB0Y2hhLXNpdGUta2V5cy5qc29uJztcclxuXHRwcml2YXRlIHJlY2FwdGNoYVNpdGVzVXJsID0gJy4vYXNzZXRzL3JlY2FwdGNoYS9yZWNhcHRjaGEtc2l0ZXMuanNvbic7XHJcblx0cHJpdmF0ZSByZWNhcHRjaGFTaXRlc1VybFByb2QgPSAnLi9hc3NldHMvcmVjYXB0Y2hhL3JlY2FwdGNoYS1zaXRlcy1wcm9kLmpzb24nXHJcblxyXG5cdHByaXZhdGUgUkVDQVBUQ0hBX1NJVEVfS0VZUzogYW55ID0gW11cclxuXHRwcml2YXRlIFJFQ0FQVENIQV9TSVRFUzogYW55ID0gW11cclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLnBhcmFtcyQuc3Vic2NyaWJlKHBhcmFtcyA9PiB0aGlzLnBhcmFtcyA9IHBhcmFtcyk7XHRcclxuXHRcdHRoaXMuaW5pdGlhbGl6ZXIoKTtcclxuXHRcdGFmdGVyTmV4dFJlbmRlcigoKT0+IHtcclxuXHRcdFx0dGhpcy51cmxCYXNlRm9ybWF0ID0gdGhpcy5mb3JtYXRVcmwobG9jYXRpb24uaHJlZik7XHJcblx0XHRcdHRoaXMucHJvZHVjdGlvbkVudmlyb25tZW50ID0gdGhpcy5pc1Byb2QoKTtcclxuXHRcdH0pXHJcblx0fVxyXG5cdC8qKlxyXG4gICAgICogRGV2dWVsdmUgdHJ1ZSBzaSBsYSB1cmwgZXMgZGUgcHJvZHVjY2lvbiwgZmFsc2UgZW4gY2FzbyBjb250cmFyaW8uIFxyXG4gICAgICogQHJldHVybnMge0Jvb2xlYW59XHJcbiAgICAgKi9cclxuXHRwcml2YXRlIGlzUHJvZCgpOiBCb29sZWFuIHtcclxuXHRcdHJldHVybiAhdGhpcy51cmxCYXNlRm9ybWF0LmluY2x1ZGVzKHRoaXMudGVzdGluZylcclxuXHR9XHJcblx0LyoqXHJcbiAgICAgKiBSZWNpYmUgdW5hIHVybCB5IHNlIGVuY2FyZ2EgZGUgcXVpdGFybGUgXCJodHRwXCIsIFwiL1wiIHkgbGFzIGRlbWFzIHJ1dGFzLCBwYXJhIGRldm9sdmVyIGxhIHVybFxyXG4gICAgICogZGVsIHNpdGlvIGNvbiB1bmEgZm9ybWF0byBsaW1waW8uIEVqZW1wbG8gXCJodHRwczovL2VqZW1wbG8uY29tLmFyL3J1dGExL3J1dGEyL1wiIGEgXCJlamVtcGxvLmNvbS5hclwiIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHVybCB1cmwgcXVlIHNlcmEgZm9ybWF0ZWFkYSBcclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IHVybCBmb3JtYXRlYWRhXHJcbiAgICAgKi9cclxuXHRwcml2YXRlIGZvcm1hdFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdXJsLnNwbGl0KFwiL1wiKS5maWx0ZXIoZSA9PiBlICE9IFwiL1wiKS5maWx0ZXIoZSA9PiAhZS5pbmNsdWRlcyhcImh0dHBcIikpLmZpbHRlcihlID0+IGUubGVuZ3RoKS5zbGljZSgwLDEpLnBvcCgpIHx8ICcnXHJcblx0fVxyXG5cclxuXHQvKipcclxuICAgICAqIFBhdGggcXVlIGNvbnRpZW5lIGxhIGRpcmVjY2lvbiBkZWwgZW5kcG9pbnQgcmVmZXJpZG8gYWwgY2FwdGNoYVxyXG4gICAgICogQHJldHVybnMge3N0cmluZ30gXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgY2FwdGNoYUFwaSgpOnN0cmluZyB7IHJldHVybiBgJHt0aGlzLl9hcGlDb25zdHMuU0hPUF9BUElfVVJMfWNoYW5uZWxzYDt9XHJcblx0LyoqXHJcbiAgICAgKiBQcmlvcml6YSBzaSBleGlzdGUgdW4gcGFyYW1ldHJvIGRlc2RlIGVsIGJhY2tlbmQgZGUgbm9tYnJlICdyZWNhcHRjaGFfa2V5X2NhbmFsJywgXHJcbiAgICAgKiBkZSBubyBleGlzdGlyIGVzdGUgYnVzY2EgdW5vIGRlIHRpcG8gZ2VuZXJhbCBkZSBub21icmUgJ3JlY2FwdGNoYV9rZXknLFxyXG4gICAgICogeSBlbiBjYXNvIGRlIHF1ZSBlc3RlIG5vIGV4aXN0YSBzZSByZWFsaXphIGxvIHNpZ3VpZW50ZTogXHJcbiAgICAgKiBjYXJnYSBsYXMgdmFyaWFibGVzIFJFQ0FQVENIQV9TSVRFUyB5IFJFQ0FQVENIQV9TSVRFX0tFWVMsIGNvbiBsb3MgdmFsb3Jlc1xyXG4gICAgICogZGUgbG9zIEpzb24gZXN0YXRpY29zLCBwYXJhIHBvc3Rlcmlvcm1lbnRlIG9idGVuZXIgbGEgXCJzaXRlS2V5XCIoY2xhdmUgZGVsIGNhcHRjaGEpIGVuIGNhc29cclxuICAgICAqIGRlIHF1ZSBubyB2ZW5nYSBkZXNkZSBlbCBiYWNrZW5kLiBcclxuICAgICAqL1xyXG5cdHByaXZhdGUgaW5pdGlhbGl6ZXIoKTogdm9pZCB7XHJcblx0XHRsZXQgcGFyYW1UaGlzQ2hhbm5lbCA9IHRoaXMucGFyYW1zLmZpbmQoKHBhcmFtOmFueSkgPT4gcGFyYW0uY29kZSA9PT0gYHJlY2FwdGNoYV9rZXlfJHt0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTH1gKVxyXG5cdFx0aWYocGFyYW1UaGlzQ2hhbm5lbCl7XHJcblx0XHRcdHRoaXMuX3JlY2FwdGNoYVN1YmplY3QubmV4dCh7c2l0ZUtleTogcGFyYW1UaGlzQ2hhbm5lbC52YWx1ZX0pO1xyXG5cdFx0fWVsc2V7XHJcblx0XHRcdGxldCBwYXJhbUdlbmVyYWwgPSB0aGlzLnBhcmFtcy5maW5kKChwYXJhbTphbnkpID0+IHBhcmFtLmNvZGUgPT09ICdyZWNhcHRjaGFfa2V5JylcclxuXHRcdFx0aWYocGFyYW1HZW5lcmFsKXtcclxuXHRcdFx0XHR0aGlzLl9yZWNhcHRjaGFTdWJqZWN0Lm5leHQoe3NpdGVLZXk6IHBhcmFtR2VuZXJhbC52YWx1ZX0pO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMuZ2V0UmVjYXB0Y2hhU2l0ZXMoKS5waXBlKFxyXG5cdFx0XHRcdFx0bWFwKChyZXM6YW55KSA9PiB0aGlzLlJFQ0FQVENIQV9TSVRFUyA9IHJlcyksXHJcblx0XHRcdFx0XHRjb25jYXRNYXAoIHJlcyA9PiB0aGlzLmdldFJlY2FwdGNoYVNpdGVLZXlzKCkucGlwZShcclxuXHRcdFx0XHRcdFx0bWFwKHJlcz0+IHRoaXMuUkVDQVBUQ0hBX1NJVEVfS0VZUyA9IHJlcylcclxuXHRcdFx0XHRcdCkpXHJcblx0XHRcdFx0KS5zdWJzY3JpYmUoXHJcblx0XHRcdFx0XHRlID0+IHRoaXMuZ2V0U2l0ZUtleSgpXHJcblx0XHRcdFx0KVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuICAgICAqIE9idGllbmUgbG9zIGRhdG9zIGRlbCBhcmNoaXZvIC5qc29uIGVuIGRvbmRlIHNlIGd1YXJkYW4gbGFzIGNsYXZlcy5cclxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGFueT59IERhdG9zIG9idGVuaWRvcyBkZWwgYXJjaGl2byBjb24gbGFzIGNsYXZlcyBjYXB0Y2hhXHJcbiAgICAgKi9cclxuXHRwcml2YXRlIGdldFJlY2FwdGNoYVNpdGVLZXlzKCk6IE9ic2VydmFibGU8YW55PntcclxuXHRcdHJldHVybiB0aGlzLl9jb25uZWN0aW9uLmdldFdpdGhGdWxsVXJsKHRoaXMucmVjYXB0Y2hhU2l0ZUtleXNVcmwpXHJcblx0fVxyXG5cdC8qKlxyXG4gICAgICogU2Ugb2J0aWVuZSBsb3MgZGF0b3Mgc2VndW4gZWwgZW50b3JubyBlbiBxdWUgc2UgZWplY3V0ZVxyXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8YW55Pn0gRGF0b3Mgb2J0ZW5pZG9zIGRlbCBhcmNoaXZvIGNvbiBsYXMgdXJsIGRlIGxvcyBzaXRpb3NcclxuICAgICAqL1xyXG5cdHByaXZhdGUgZ2V0UmVjYXB0Y2hhU2l0ZXMoKTogT2JzZXJ2YWJsZTxhbnk+e1xyXG5cdFx0cmV0dXJuIHRoaXMucHJvZHVjdGlvbkVudmlyb25tZW50ID8gXHJcblx0XHRcdHRoaXMuX2Nvbm5lY3Rpb24uZ2V0V2l0aEZ1bGxVcmwodGhpcy5yZWNhcHRjaGFTaXRlc1VybFByb2QpIDpcclxuXHRcdFx0dGhpcy5fY29ubmVjdGlvbi5nZXRXaXRoRnVsbFVybCh0aGlzLnJlY2FwdGNoYVNpdGVzVXJsKTtcclxuXHR9XHJcblx0LyoqXHJcbiAgICAgKiBHZW5lcmEgdW5hIHBldGljaW9uIHBhcmEgcmVjaWJpciBsYSBjbGF2ZSBkZWwgcmVjYXB0Y2hhLiBFbiBjYXNvIGRlIG5vIHRlbmVyIGV4aXRvLFxyXG4gICAgICogdXRpbGl6YSBsb3MgYXJjaGl2b3MgZXN0YXRpY29zIHBhcmEgcmV0b3JuYXIgdW5hIGNsYXZlIHBvciBkZWZlY3RvLiBSZWxsZW5hIGVsIE9ic2VydmFibGUgY29uXHJcbiAgICAgKiBsb3MgZGF0b3MgZ2VuZXJhZG9zLlxyXG4gICAgICovXHJcblx0cHJpdmF0ZSBnZXRTaXRlS2V5KCl7XHJcblx0XHRmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uLmdldCh0aGlzLmNhcHRjaGFBcGkoKSkpLnRoZW4oXHJcblx0XHRcdChyZXM6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX3JlY2FwdGNoYVN1YmplY3QubmV4dCgge1xyXG5cdFx0XHRcdFx0c2l0ZUtleTogcmVzLnNpdGVLZXkgPyByZXMuc2l0ZUtleSA6IHRoaXMuUkVDQVBUQ0hBX1NJVEVfS0VZU1t0aGlzLlJFQ0FQVENIQV9TSVRFU1t0aGlzLnVybEJhc2VGb3JtYXRdXVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdChlcnI6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX3JlY2FwdGNoYVN1YmplY3QubmV4dCh7IHNpdGVLZXk6IHRoaXMuUkVDQVBUQ0hBX1NJVEVfS0VZU1t0aGlzLlJFQ0FQVENIQV9TSVRFU1t0aGlzLnVybEJhc2VGb3JtYXRdXX0pXHJcblx0XHRcdH1cclxuXHRcdClcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
95
95
|
providedIn: 'root'
|
|
96
96
|
}]
|
|
97
97
|
}], ctorParameters: () => [{ type: i1.ConnectionService }, { type: i2.CoreConstantsService }, { type: i3.PaginationService }] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aWV3cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3Jldmlld3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBUW5ELE1BQU0sT0FBTyxjQUFjO0lBVUY7SUFBdUM7SUFBeUM7SUFSN0YsY0FBYyxHQUF5QixJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUUvRCxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVyRCxTQUFTO0lBQ1QsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxHQUFHLG9CQUFvQixHQUFHLElBQUksR0FBRyxVQUFVLENBQUM7SUFDbEksZ0JBQWdCLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxHQUFHLG9CQUFvQixHQUFHLElBQUksR0FBRyxVQUFVLENBQUM7SUFFbEksWUFBcUIsVUFBNkIsRUFBVSxTQUErQixFQUFVLFVBQTZCO1FBQTdHLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBc0I7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFtQjtJQUFJLENBQUM7SUFFdkk7Ozs7T0FJRztJQUNILGdCQUFnQixHQUFHLENBQUMsSUFBWSxFQUFDLEVBQUUsQ0FDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBRSxDQUFBO0lBRXRHOzs7O09BSUc7SUFDSCxtQkFBbUIsR0FBRyxDQUFDLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRW5FOzs7O09BSUc7SUFDSCxhQUFhLEdBQUcsQ0FBQyxHQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTFEOzs7O09BSUc7SUFDSCxVQUFVLEdBQUcsQ0FBQyxTQUFjLE1BQU0sRUFBRSxFQUFFLENBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBRSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUV4Rzs7Ozs7O09BTUc7SUFDSCxnQkFBZ0IsR0FBRyxDQUFDLElBQVcsRUFBRSxJQUFXLEVBQUUsS0FBWSxFQUFFLEVBQUUsQ0FDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFFM0g7Ozs7Ozs7OztPQVNHO0lBQ0ssZ0JBQWdCLEdBQUcsQ0FBQyxNQUFhLEVBQUUsRUFBRTtRQUN6QyxRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2IsS0FBSyxNQUFNO2dCQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNwRSxLQUFLLE9BQU87Z0JBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3JFLEtBQUssTUFBTTtnQkFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDcEU7Z0JBQ0ksT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hFLENBQUM7SUFDTCxDQUFDLENBQUE7SUFFRDs7Ozs7O09BTUc7SUFDSyx3QkFBd0IsR0FBRyxDQUFDLElBQVcsRUFBRSxJQUFXLEVBQUUsS0FBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxHQUFDLElBQUksR0FBQyxTQUFTLEdBQUMsS0FBSyxDQUFDO0lBRXpJOzs7O09BSUc7SUFDSyxTQUFTLEdBQUcsQ0FBQyxHQUFVLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7d0dBekZ2QyxjQUFjOzRHQUFkLGNBQWMsY0FGWCxNQUFNOzs0RkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL2Nvbm5lY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvcmUuY29uc3RhbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJy4vcGFnaW5hdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUmV2aWV3c1NlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgcmV2aWV3c1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSlcclxuXHJcbiAgICBwdWJsaWMgcmV2aWV3cyQgPSB0aGlzLnJldmlld3NTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIC8vLS1BcGktLVxyXG4gICAgcmV2aWV3c0J5Q29kZUFwaSA9IChjb2RlOiBzdHJpbmcpOiBzdHJpbmcgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkgKyAnL3Byb2R1Y3RzL2J5LWNvZGUvJyArIGNvZGUgKyAnL3Jldmlld3MnO1xyXG4gICAgcmV2aWV3c0J5U2x1Z0FwaSA9IChzbHVnOiBzdHJpbmcpOiBzdHJpbmcgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkgKyAnL3Byb2R1Y3RzL2J5LXNsdWcvJyArIHNsdWcgKyAnL3Jldmlld3MnO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCBwcml2YXRlIGNvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlLCBwcml2YXRlIGNvbnN0YW50czogQ29yZUNvbnN0YW50c1NlcnZpY2UsIHByaXZhdGUgcGFnaW5hdGlvbjogUGFnaW5hdGlvblNlcnZpY2UpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIG9idGllbmUgbGFzIHJldmlld3MgcG9yIGVsIGNvZGlnbyBkZWwgcHJvZHVjdG8uXHJcbiAgICAgKiBAcGFyYW0gY29kZSBjb2RpZ28gZGVsIHByb2R1Y3RvIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIGdldFJldmlld3NCeUNvZGUgPSAoY29kZTogc3RyaW5nKT0+XHJcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLnJldmlld3NCeUNvZGVBcGkoY29kZSkpLnRvUHJvbWlzZSgpLnRoZW4ocmVzID0+IHRoaXMudXBkYXRlUmV2aWV3cyhyZXMpIClcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gYWN0dWFsaXphIGxhcyByZXZpZXdzIHBvciBjb2RpZ29cclxuICAgICAqIEBwYXJhbSBjb2RlIGNvZGlnbyBkZWwgcHJvZHVjdG9cclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICB1cGRhdGVSZXZpZXdzQnlDb2RlID0gKGNvZGU6c3RyaW5nKSA9PiB0aGlzLmdldFJldmlld3NCeUNvZGUoY29kZSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gYWN0dWFsaXphIGxhcyByZXZpZXdzXHJcbiAgICAgKiBAcGFyYW0gcmVzIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHVwZGF0ZVJldmlld3MgPSAocmVzOmFueSkgPT4gdGhpcy5yZXZpZXdzU3ViamVjdC5uZXh0KHJlcylcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBvYnRpZW5lIGxhcyByZXZpZXdzIHV0aWxpemFuZG8gbGFzIHVybCBkZWwgYXRyaWJ1dG8gbGlua3MgZGUgbGFzIHJldmlld3MuXHJcbiAgICAgKiBAcGFyYW0gYWN0aW9uIHNlbGYoZGVmZWN0bykgfCBuZXh0IHwgZmlyc3QgfCBsYXN0XHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgZ2V0UmV2aWV3cyA9IChhY3Rpb246c3RyaW5nPSdzZWxmJykgPT4gXHJcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLmdlbmVyYXRlRmluYWxBcGkoYWN0aW9uKSkudG9Qcm9taXNlKCkudGhlbiggcmVzID0+IHRoaXMudXBkYXRlUmV2aWV3cyhyZXMpKVxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBvYnRpZW5lIGxhcyByZXZpZXdzIGRlIHVuYSBwYWdpbmEgZW4gZXNwZWNpYWwuXHJcbiAgICAgKiBAcGFyYW0gY29kZSBjb2RpZ28gZGVsIHByb2R1Y3RvXHJcbiAgICAgKiBAcGFyYW0gcGFnZSBuw7ptZXJvIGRlIHBhZ2luYVxyXG4gICAgICogQHBhcmFtIGxpbWl0IGNhbnRpZGFkIGxpbWl0ZSBkZSBwYWdpbmFzXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgZ2V0UmV2aWV3c0J5UGFnZSA9IChjb2RlOnN0cmluZywgcGFnZTpudW1iZXIsIGxpbWl0Om51bWJlcikgPT5cclxuICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZ2V0KCB0aGlzLmdlbmVyYXRlRmluYWxBcGlXaXRoUGFnZShjb2RlLHBhZ2UsIGxpbWl0KSkudG9Qcm9taXNlKCkudGhlbiggcmVzID0+IHRoaXMudXBkYXRlUmV2aWV3cyhyZXMpKVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIGdlbmVyYSB1bmEgdXJsIHF1ZSBzZXJhIHV0aWxpemEgY29tbyBlbmRwb2ludCBwYXJhIHBlZGlyIGxhcyByZXZpZXdzIHV0aWxpemFuZG8gbG9zIGRhdG9zIFxyXG4gICAgICogcXVlIHZpZW5lIGVuIGVsIGF0cmlidXRvIGxpbmtzLiBcclxuICAgICAqICduZXh0JyA9PiB1dGlsaXphIGVsIGF0cmlidXRvIG5leHQgZGUgbGlua3NcclxuICAgICAqICdmaXJzdCcgPT4gdXRpbGl6YSBlbCBhdHJpYnV0byBmaXJzdCBkZSBsaW5rc1xyXG4gICAgICogJ2xhc3QnID0+IHV0aWxpemEgZWwgYXRyaWJ1dG8gbGFzdCBkZSBsaW5rc1xyXG4gICAgICogZGVmYXVsdCA9PiBjdWFscXVpZXIgb3RybyBjYXNvLCB1dGlsaXphIGVsIGF0cmlidXRvIHNlbGYgZGUgbGlua3MuXHJcbiAgICAgKiBAcGFyYW0gYWN0aW9uIG5leHQgfCBmaXJzdCB8IGxhc3QgXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUZpbmFsQXBpID0gKGFjdGlvbjpzdHJpbmcpID0+e1xyXG4gICAgICAgIHN3aXRjaCAoYWN0aW9uKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ25leHQnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0VXJsKHRoaXMucmV2aWV3c1N1YmplY3QuZ2V0VmFsdWUoKS5saW5rcy5uZXh0KVxyXG4gICAgICAgICAgICBjYXNlICdmaXJzdCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRVcmwodGhpcy5yZXZpZXdzU3ViamVjdC5nZXRWYWx1ZSgpLmxpbmtzLmZpcnN0KVxyXG4gICAgICAgICAgICBjYXNlICdsYXN0JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFVybCh0aGlzLnJldmlld3NTdWJqZWN0LmdldFZhbHVlKCkubGlua3MubGFzdCkgXHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRVcmwodGhpcy5yZXZpZXdzU3ViamVjdC5nZXRWYWx1ZSgpLmxpbmtzLnNlbGYpIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBvYnRpZW5lIGxhcyByZXZpZXdzIGRlIHVuYSBwYWdpbmEgZW4gZXNwZWNpZmljb1xyXG4gICAgICogQHBhcmFtIGNvZGUgY29kaWdvIGRlbCBwcm9kdWN0b1xyXG4gICAgICogQHBhcmFtIHBhZ2UgbnVtZXJvIGRlIHBhZ2luYVxyXG4gICAgICogQHBhcmFtIGxpbWl0IGNhbnRpZGFkIGxpbWl0ZSBkZSBwYWdpbmFzXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUZpbmFsQXBpV2l0aFBhZ2UgPSAoY29kZTpzdHJpbmcsIHBhZ2U6bnVtYmVyLCBsaW1pdDpudW1iZXIpID0+IHRoaXMucmV2aWV3c0J5Q29kZUFwaShjb2RlKSsnP3BhZ2U9JytwYWdlKycmbGltaXQ9JytsaW1pdDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBmb3JtYXRlYSBsYSB1cmwgcXVlIHNlcmEgdXRpbGl6YWRhIGRlIGVuZHBvaW50IHBhcmEgb2J0ZW5lciBsYXMgcmV2aWV3c1xyXG4gICAgICogQHBhcmFtIHVybCBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGZvcm1hdFVybCA9ICh1cmw6c3RyaW5nKSA9PiB1cmwuc2xpY2UoMSlcclxufVxyXG4iXX0=
|