simpo-component-library 3.6.131 → 3.6.132
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 +24 -24
- package/esm2022/lib/components/delete-hover-element/delete-hover-element.component.mjs +5 -5
- package/esm2022/lib/components/document/document.component.mjs +5 -5
- package/esm2022/lib/components/hover-elements/hover-elements.component.mjs +4 -4
- package/esm2022/lib/components/image-loading/image-loading.component.mjs +5 -5
- package/esm2022/lib/components/index.mjs +5 -5
- package/esm2022/lib/components/input-fields/input-fields.component.mjs +4 -4
- package/esm2022/lib/components/payment-details/payment-details.component.mjs +5 -5
- package/esm2022/lib/components/trasport-availability/trasport-availability.component.mjs +4 -4
- package/esm2022/lib/constants/business.constant.mjs +1 -1
- package/esm2022/lib/directive/alignment.directive.mjs +4 -4
- package/esm2022/lib/directive/animation-directive.mjs +4 -4
- package/esm2022/lib/directive/background-directive.mjs +5 -4
- package/esm2022/lib/directive/banner-content-fit-directive.mjs +4 -4
- package/esm2022/lib/directive/blur-content.directive.mjs +4 -4
- package/esm2022/lib/directive/border-directive.mjs +4 -4
- package/esm2022/lib/directive/borderlessImage.directive.mjs +4 -4
- package/esm2022/lib/directive/button-directive.directive.mjs +28 -29
- package/esm2022/lib/directive/button-editor.directive.mjs +6 -6
- package/esm2022/lib/directive/color.directive.mjs +4 -4
- package/esm2022/lib/directive/column-directive.directive.mjs +4 -4
- package/esm2022/lib/directive/container-alignment.directive.mjs +4 -4
- package/esm2022/lib/directive/container-fir.directive.mjs +4 -4
- package/esm2022/lib/directive/content-alignment-directive.mjs +4 -4
- package/esm2022/lib/directive/content-fit-directive.mjs +4 -4
- package/esm2022/lib/directive/content-title-spacing.directive.mjs +4 -4
- package/esm2022/lib/directive/contenteditable.directive.mjs +4 -4
- package/esm2022/lib/directive/corner-directive.mjs +4 -4
- package/esm2022/lib/directive/footer-layout-directive.mjs +4 -4
- package/esm2022/lib/directive/height.directive.mjs +4 -4
- package/esm2022/lib/directive/hover-animation.directive.mjs +4 -5
- package/esm2022/lib/directive/hover-element-directive.mjs +4 -4
- package/esm2022/lib/directive/hoverborder.directive.mjs +4 -4
- package/esm2022/lib/directive/image-container.directive.mjs +4 -4
- package/esm2022/lib/directive/image-directive.directive.mjs +4 -4
- package/esm2022/lib/directive/image-editor.directive.mjs +4 -4
- package/esm2022/lib/directive/image-position.directive.mjs +4 -4
- package/esm2022/lib/directive/overlay-directive.mjs +4 -4
- package/esm2022/lib/directive/position-layout-directive.directive.mjs +4 -4
- package/esm2022/lib/directive/removeCarousel-directive.mjs +4 -4
- package/esm2022/lib/directive/set-dynamic-background.directive.mjs +4 -4
- package/esm2022/lib/directive/spacing-around.directive.mjs +4 -4
- package/esm2022/lib/directive/spacing-horizontal.directive.mjs +4 -4
- package/esm2022/lib/directive/spacing.directive.mjs +4 -4
- package/esm2022/lib/directive/sticky-directive.mjs +4 -4
- package/esm2022/lib/directive/text-background-directive.directive.mjs +4 -4
- package/esm2022/lib/directive/text-size.directive.mjs +4 -4
- package/esm2022/lib/directive/translate-onhover.directive.mjs +4 -4
- package/esm2022/lib/directive/wrap-containers.directive.mjs +4 -4
- package/esm2022/lib/ecommerce/sections/address/address.component.mjs +6 -6
- package/esm2022/lib/ecommerce/sections/authenticate-user/authenticate-user.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.component.mjs +7 -5
- package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/cart/cart.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/category-product/category-product.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/category-product/category-product.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/checkout/checkout.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/checkout/checkout.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/customer-review/customer-review.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/customer-review/customer-review.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/featured-category/featured-category.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/featured-category/featured-category.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/featured-category/featured-collection.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +15 -7
- package/esm2022/lib/ecommerce/sections/featured-products/featured-products.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/item-varient/item-varient.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/new-collection/new-collection.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/new-collection/new-collection.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/order-details/order-details.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/pagnination/pagnination.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/product-category-list/product-category-list.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/product-category-list/product-category-list.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +6 -5
- package/esm2022/lib/ecommerce/sections/product-desc/product-desc.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/product-list/product-list.component.mjs +16 -18
- package/esm2022/lib/ecommerce/sections/product-list/product-list.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/small-product-listing/small-product-listing.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/store-list/store-list.component.mjs +8 -5
- package/esm2022/lib/ecommerce/sections/store-list/store-list.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/store-page/store-page.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/store-page/store-page.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/user-basic-info/user-basic-info.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/user-profile/user-profile.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/user-profile/user-profile.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/whislist/whislist.component.mjs +5 -5
- package/esm2022/lib/ecommerce/styles/BaseCollection.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/Collection.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/OrderedItems.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/PincodeLocation.model.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/PincodeLocationInter.model.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/cart.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/category.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/order.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/product.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/review.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/user.modal.mjs +1 -1
- package/esm2022/lib/elements/add-section/add-section.component.mjs +5 -6
- package/esm2022/lib/elements/address-list/address-list.component.mjs +5 -5
- package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +6 -14
- package/esm2022/lib/elements/button/button.component.mjs +5 -5
- package/esm2022/lib/elements/button/button.model.mjs +1 -1
- package/esm2022/lib/elements/card-skeleton-loader/card-skeleton-loader.component.mjs +5 -5
- package/esm2022/lib/elements/covering-image-card/covering-image-card.component.mjs +5 -5
- package/esm2022/lib/elements/editor-service.service.mjs +4 -4
- package/esm2022/lib/elements/heading-element/heading-element.component.mjs +5 -5
- package/esm2022/lib/elements/image-editor/image-editor.component.mjs +5 -6
- package/esm2022/lib/elements/index.mjs +5 -5
- package/esm2022/lib/elements/link-editor/link-editor.component.mjs +12 -23
- package/esm2022/lib/elements/media-selector/media-selector.component.mjs +5 -7
- package/esm2022/lib/elements/navbar-button-element/navbar-button-element.component.mjs +4 -5
- package/esm2022/lib/elements/portfolio/portfolio.component.mjs +5 -5
- package/esm2022/lib/elements/pricing-s1/pricing-s1.component.mjs +5 -5
- package/esm2022/lib/elements/property/property.component.mjs +5 -5
- package/esm2022/lib/elements/simpo-button/simpo-button.component.mjs +5 -5
- package/esm2022/lib/elements/socia-icons/socia-icons.component.mjs +4 -4
- package/esm2022/lib/elements/svg-divider/svg-divider.component.mjs +5 -5
- package/esm2022/lib/elements/text/text.component.mjs +5 -5
- package/esm2022/lib/elements/text-editor/text-editor.component.mjs +22 -5
- package/esm2022/lib/elements/top-of-image-card/top-of-image-card.component.mjs +5 -5
- package/esm2022/lib/pipes/amount.pipe.mjs +4 -4
- package/esm2022/lib/pipes/gender.pipe.mjs +4 -4
- package/esm2022/lib/sections/BaseSection.mjs +1 -1
- package/esm2022/lib/sections/add-new-section/add-new-section.component.mjs +5 -5
- package/esm2022/lib/sections/appointment-form/appointment-form.component.mjs +110 -37
- package/esm2022/lib/sections/appointment-form/appointment-form.model.mjs +1 -1
- package/esm2022/lib/sections/banner-carousel/banner-carousel.component.mjs +5 -30
- package/esm2022/lib/sections/banner-carousel/banner-carousel.model.mjs +1 -1
- package/esm2022/lib/sections/banner-grid-section/banner-grid-section.component.mjs +5 -6
- package/esm2022/lib/sections/banner-section/banner-section.component.mjs +4 -5
- package/esm2022/lib/sections/blog-list/blog-list.component.mjs +5 -5
- package/esm2022/lib/sections/blog-list/blog-list.model.mjs +1 -1
- package/esm2022/lib/sections/carousel-banner/carousel-banner.component.mjs +4 -4
- package/esm2022/lib/sections/choose-us-section/choose-us-section.component.mjs +5 -5
- package/esm2022/lib/sections/choose-us-section/choose-us-section.model.mjs +1 -1
- package/esm2022/lib/sections/contact-us/contact-us.component.mjs +4 -4
- package/esm2022/lib/sections/faq-section/faq-section.component.mjs +5 -5
- package/esm2022/lib/sections/faq-section/faq-section.modal.mjs +1 -1
- package/esm2022/lib/sections/features-section/features-section.component.mjs +5 -5
- package/esm2022/lib/sections/features-section/features-section.model.mjs +1 -1
- package/esm2022/lib/sections/footer/footer.component.mjs +5 -8
- package/esm2022/lib/sections/footer/footer.modal.mjs +1 -1
- package/esm2022/lib/sections/footer-section/footer-section.component.mjs +4 -4
- package/esm2022/lib/sections/header-section/header-section.component.mjs +5 -5
- package/esm2022/lib/sections/header-section/header-section.model.mjs +1 -1
- package/esm2022/lib/sections/header-text/header-text.component.mjs +5 -5
- package/esm2022/lib/sections/header-text/header-text.model.mjs +1 -1
- package/esm2022/lib/sections/image-carousel-section/image-carousel-section.component.mjs +5 -22
- package/esm2022/lib/sections/image-carousel-section/image-carousel.model.mjs +1 -1
- package/esm2022/lib/sections/image-grid-section/image-grid-section.component.mjs +5 -5
- package/esm2022/lib/sections/image-grid-section/image-grid-section.model.mjs +1 -1
- package/esm2022/lib/sections/image-section/image-section.component.mjs +5 -5
- package/esm2022/lib/sections/image-section/image-section.model.mjs +1 -1
- package/esm2022/lib/sections/location-section/location-section.component.mjs +5 -5
- package/esm2022/lib/sections/location-section/location-section.modal.mjs +1 -1
- package/esm2022/lib/sections/logo-gallery/logo-gallery.component.mjs +4 -4
- package/esm2022/lib/sections/logo-showcase/logo-showcase.component.mjs +5 -5
- package/esm2022/lib/sections/logo-showcase/logo-showcase.modal.mjs +1 -1
- package/esm2022/lib/sections/moving-text/moving-text.component.mjs +5 -5
- package/esm2022/lib/sections/moving-text/moving-text.modal.mjs +1 -1
- package/esm2022/lib/sections/navbar-section/navbar-section.component.mjs +4 -4
- package/esm2022/lib/sections/new-services/new-services.component.mjs +5 -5
- package/esm2022/lib/sections/new-services/new-services.model.mjs +1 -1
- package/esm2022/lib/sections/new-testimonials/new-testimonials.component.mjs +5 -6
- package/esm2022/lib/sections/new-testimonials/new-testimonials.model.mjs +1 -1
- package/esm2022/lib/sections/news-letter-component/news-letter-component.component.mjs +5 -5
- package/esm2022/lib/sections/news-letter-component/news-letter.modal.mjs +1 -1
- package/esm2022/lib/sections/pricing-section/pricing-section.component.mjs +5 -5
- package/esm2022/lib/sections/pricing-section/pricing-section.modal.mjs +1 -1
- package/esm2022/lib/sections/process-modern/process-modern.component.mjs +5 -5
- package/esm2022/lib/sections/process-modern/process-modern.model.mjs +1 -1
- package/esm2022/lib/sections/process-section/process-section.component.mjs +5 -5
- package/esm2022/lib/sections/process-section/process-section.modal.mjs +1 -1
- package/esm2022/lib/sections/property-component/property-component.component.mjs +5 -5
- package/esm2022/lib/sections/property-component/property-component.modal.mjs +1 -1
- package/esm2022/lib/sections/property-list/property-list.component.mjs +5 -5
- package/esm2022/lib/sections/property-list/property-list.modal.mjs +1 -1
- package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.component.mjs +5 -5
- package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.model.mjs +1 -1
- package/esm2022/lib/sections/registration-form/registration-form.component.mjs +6 -6
- package/esm2022/lib/sections/registration-form/registrationForm.model.mjs +1 -1
- package/esm2022/lib/sections/service-section/service-section.component.mjs +5 -5
- package/esm2022/lib/sections/service-section/service-section.model.mjs +1 -1
- package/esm2022/lib/sections/skeleton-loader-section/skeleton-loader-section.component.mjs +5 -5
- package/esm2022/lib/sections/team-member-section/team-member-section.component.mjs +5 -5
- package/esm2022/lib/sections/team-member-section/team-member-section.model.mjs +1 -1
- package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.mjs +5 -5
- package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.model.mjs +1 -1
- package/esm2022/lib/sections/testimonial-section/testimonial-section.component.mjs +5 -5
- package/esm2022/lib/sections/testimonial-section/testimonial-section.model.mjs +1 -1
- package/esm2022/lib/sections/testimonial-video/testimonial-video.component.mjs +5 -5
- package/esm2022/lib/sections/testimonial-video/testimonial-video.model.mjs +1 -1
- package/esm2022/lib/sections/text-image-section/text-image-section.component.mjs +4 -4
- package/esm2022/lib/sections/text-section/text-section.component.mjs +4 -4
- package/esm2022/lib/sections/text-section/text-section.model.mjs +1 -1
- package/esm2022/lib/sections/usp-video-section/usp-video-section.component.mjs +5 -5
- package/esm2022/lib/sections/usp-video-section/usp-video-section.model.mjs +1 -1
- package/esm2022/lib/sections/video-section/video-section.component.mjs +5 -5
- package/esm2022/lib/sections/video-section/video-section.model.mjs +1 -1
- package/esm2022/lib/sections/view-blog/view-blog.component.mjs +5 -5
- package/esm2022/lib/services/cart.service.mjs +4 -38
- package/esm2022/lib/services/endUser.service.mjs +4 -4
- package/esm2022/lib/services/events.service.mjs +4 -11
- package/esm2022/lib/services/image-upload-service.service.mjs +4 -4
- package/esm2022/lib/services/rest.service.mjs +4 -47
- package/esm2022/lib/services/sanitizeHtml.mjs +4 -4
- package/esm2022/lib/services/storage.service.mjs +4 -45
- package/esm2022/lib/styles/index.mjs +1 -1
- package/esm2022/lib/styles/style.model.mjs +1 -1
- package/esm2022/lib/styles/types.mjs +1 -1
- package/esm2022/lib/tokens/api-token.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/simpo-component-library.mjs +763 -913
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +1 -1
- package/lib/ecommerce/sections/featured-products/featured-products.component.d.ts +2 -0
- package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +1 -1
- package/lib/ecommerce/sections/product-list/product-list.component.d.ts +2 -2
- package/lib/ecommerce/sections/store-list/store-list.component.d.ts +2 -0
- package/lib/elements/text-editor/text-editor.component.d.ts +2 -0
- package/lib/sections/appointment-form/appointment-form.component.d.ts +5 -2
- package/lib/services/cart.service.d.ts +0 -6
- package/lib/services/events.service.d.ts +0 -6
- package/lib/services/rest.service.d.ts +0 -14
- package/lib/services/storage.service.d.ts +0 -6
- package/lib/styles/style.model.d.ts +5 -0
- package/package.json +1 -1
- package/simpo-component-library-3.6.132.tgz +0 -0
- package/src/lib/styles/global-styles.css +242 -242
- package/simpo-component-library-3.6.131.tgz +0 -0
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1saXN0Lm1vZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvcHJvZHVjdC1saXN0L3Byb2R1Y3QtbGlzdC5tb2RhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZHVjdENhcmRUaGVtZSB9IGZyb20gXCIuLi8uLi8uLi9zdHlsZXMvaW5kZXhcIjtcbmltcG9ydCB7IEFjdGlvbk1vZGVsLCBBbmltYXRpb25Nb2RlbCwgQmFja2dyb3VuZE1vZGVsLCBMYXlPdXRNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9zdHlsZXMvc3R5bGUubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0TGlzdE1vZGFsIHtcbiAgaWQ6IHN0cmluZztcbiAgc2VjdGlvblR5cGU6IHN0cmluZztcbiAgc2VjdGlvbk5hbWU6IHN0cmluZztcbiAgY29udGVudDogUHJvZHVjdExpc3RDb250ZW50TW9kYWw7XG4gIHN0eWxlczogUHJvZHVjdExpc3RTdHlsZXNNb2RhbDtcbiAgYWN0aW9uOiBBY3Rpb25Nb2RlbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RMaXN0U3R5bGVzTW9kYWwge1xuICBsYXlvdXQ6IExheU91dE1vZGVsO1xuICBiYWNrZ3JvdW5kOiBCYWNrZ3JvdW5kTW9kZWw7XG4gIGVsZW1lbnRJblJvdzogbnVtYmVyO1xuICBtb2JpbGVDb2x1bW46IG51bWJlcjtcbiAgbWF4UHJpY2U6IG51bWJlcjtcbiAgbWluUHJpY2U6IG51bWJlcjtcbiAgYW5pbWF0aW9uOiBBbmltYXRpb25Nb2RlbDtcbiAgdGhlbWU6IFByb2R1Y3RDYXJkVGhlbWVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0TGlzdENvbnRlbnRNb2RhbCB7XG4gIGRpc3BsYXk6IERpc3BsYXk7XG4gIGJ1dHRvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3BsYXkge1xuICBzaG93QnV0dG9uOiBib29sZWFuO1xufVxuXG4iXX0=
|
package/esm2022/lib/ecommerce/sections/small-product-listing/small-product-listing.component.mjs
CHANGED
@@ -129,10 +129,10 @@ export class SmallProductListingComponent {
|
|
129
129
|
return noofratings;
|
130
130
|
}
|
131
131
|
}
|
132
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
133
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SmallProductListingComponent, deps: [{ token: i1.CartService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
133
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SmallProductListingComponent, isStandalone: true, selector: "simpo-small-product-listing", inputs: { product: "product", data: "data", isScrollable: "isScrollable", isCategoryProductList: "isCategoryProductList", customClass: "customClass", index: "index" }, ngImport: i0, template: "<div class=\"product hover-effect\" [ngClass]=\"{'width' : isScrollable, 'adjustHeightWidth': isCategoryProductList}\"\n [style.opacity]=\"product?.itemInventory?.openingStock == 0 ? 0.5 : 1\" [attr.style]=\"customClass\">\n <div class=\"prod-img\" [class.fade-out]=\"imageIndex == index\">\n <image-loading [imageUrl]=\"getProductImages(product)\" [hash]=\"product.itemImages?.[0]?.blurhash\"\n (click)=\"goToProductDetail(product)\" [theme]=\"data?.styles?.theme\"></image-loading>\n <div class=\"discount\" [style.backgroundColor]=\"data?.styles?.background?.color\"\n [simpoColor]=\"data?.styles?.background?.color\" *ngIf=\"getPercentage(product) > '0'\">{{getPercentage(product)}}%\n off</div>\n <div class=\"carousel-buttons\" *ngIf=\"(product?.itemImages?.length || 0) > 1\">\n <div><mat-icon (click)=\"changeImage(product, 'PREV')\">keyboard_arrow_left</mat-icon></div>\n <div><mat-icon (click)=\"changeImage(product, 'NEXT')\">keyboard_arrow_right</mat-icon></div>\n </div>\n </div>\n <div class=\"p-2 h-40\" (click)=\"goToProductDetail(product)\">\n <span class=\"trim-text color\">{{product.name}}</span>\n <div class=\"bottom\">\n <span class=\"m-1\">\n <span class=\"color\" *ngIf=\"product?.price?.discountedPrice && product.price.discountedPrice > 0\"><span\n [innerHTML]=\"currency\"></span> {{product?.price?.discountedPrice ?? 0}}</span>\n <span class=\"color\"\n [ngClass]=\"{'strike-through' : product?.price?.discountedPrice && product.price.discountedPrice > 0 }\"><span\n [innerHTML]=\"currency\"></span> {{product?.price?.sellingPrice ?? 0}}</span>\n </span>\n <div class=\"review-rating d-flex gap-2 align-items-center justify-content-between\" *ngIf=\"product?.averageRating\">\n <p-rating [(ngModel)]=\"product.averageRating\" [cancel]=\"false\" [readonly]=\"true\" />\n <div class=\"total-ratings\">{{\n getRatings(product?.totalReviewCount)}}</div>\n </div>\n <div class=\"add-to-cart\" [style.borderColor]=\"data.styles?.background?.accentColor\" *ngIf=\"data?.content?.display?.showButton\"\n [ngClass]=\"{'justify-content-between p-0 d-flex': product.quantity, 'justify-content-center': !product.quantity}\"\n (click)=\"removeDefault($event)\">\n <ng-container *ngIf=\"product?.itemInventory?.openingStock\">\n <ng-container *ngIf=\"!product.quantity\">\n <div (click)=\"addItemToCart($event, product, 'ADD')\" [style.color]=\"data.styles?.background?.accentColor\">\n Add to Cart</div>\n </ng-container>\n <ng-container *ngIf=\"product.quantity\">\n <span class=\"quantity-btn\" (click)=\"addItemToCart($event, product, 'SUBSTRACT')\"\n [style.backgroundColor]=\"getSupportingColor(data.styles?.background?.accentColor)\"\n [style.color]=\"data.styles?.background?.accentColor\">-</span>\n <span class=\"quantity\" [style.color]=\"data.styles?.background?.accentColor\">{{product.quantity}}</span>\n <span class=\"quantity-btn\" (click)=\"addItemToCart($event, product, 'ADD')\"\n [style.backgroundColor]=\"getSupportingColor(data.styles?.background?.accentColor)\"\n [style.color]=\"data.styles?.background?.accentColor\">+</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!product?.itemInventory?.openingStock\">\n <span class=\"d-flex align-items-center justify-content-center w-100\">\n <mat-icon>notification_important</mat-icon>\n <span class=\"ml-2\">Notify</span>\n </span>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n\n<!-- <ng-template #loadingScreen>\n <ngx-skeleton-loader *ngIf=\"filterLoading\" count=\"1\" appearance=\"circle\" [theme]=\"{\n width: '100%',\n height: '100%',\n 'border-radius': '10px',\n 'position': 'relative',\n 'right': '5px'\n }\" />\n</ng-template> -->", styles: [".product{position:relative;display:flex;flex-direction:column;cursor:pointer;margin-bottom:10px;border-radius:10px;overflow:hidden;height:350px;background-color:#fff}.product .prod-img{position:relative;height:55%;width:100%;overflow:hidden;border:1.8px solid;border-radius:10px;border-color:#e5e7eb}.product .prod-img img{height:100%;width:100%;object-fit:cover}.width{margin-right:10px;min-width:195px;max-width:195px}.styling{height:30px;width:30px;border-radius:50%;background-color:#fff;position:absolute;bottom:0;right:-12px}.strike-through{text-decoration:line-through;color:#d3d3d3;font-size:12px;margin-left:5px;position:relative}.add-to-cart{width:100%;cursor:pointer;background-color:#fff;border:1.5px solid transparent;border-radius:5px;padding:5px;text-align:center;align-items:center}.add-to-cart .quantity-btn{padding:5px 10px;font-weight:700}.discount{position:absolute;top:0;padding:5px;width:60px;text-align:center;font-size:12px;border-bottom-right-radius:3px}@media screen and (max-width: 475px){.width{max-width:160px;min-width:160px;height:300px}.adjustHeightWidth{max-width:100%;min-width:100%}}.h-40{height:45%;position:relative}.bottom{position:absolute;bottom:10px;width:93%;display:flex;flex-direction:column}.discount-price{font-weight:600;font-size:14px}.color{color:#000}.trim-text{text-align:inherit!important}.product-img.fade-out{opacity:0;transform:scale(.95)}.gap-15{gap:15px}.flex-wrap{flex-wrap:wrap}.carousel-buttons{display:flex;gap:10px;position:absolute;bottom:10px;left:10px;transform:translateY(-50%);pointer-events:none}.carousel-buttons div{background:#fff;display:flex;align-items:center;border-radius:100%;height:30px;width:30px;justify-content:center;pointer-events:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ImageLoadingComponent, selector: "image-loading", inputs: ["hash", "imageUrl", "index", "product", "theme"] }, { kind: "directive", type: ColorDirective, selector: "[simpoColor]", inputs: ["simpoColor"] }, { kind: "ngmodule", type: RatingModule }, { kind: "component", type: i4.Rating, selector: "p-rating", inputs: ["disabled", "readonly", "stars", "cancel", "iconOnClass", "iconOnStyle", "iconOffClass", "iconOffStyle", "iconCancelClass", "iconCancelStyle", "autofocus"], outputs: ["onRate", "onCancel", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
134
134
|
}
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SmallProductListingComponent, decorators: [{
|
136
136
|
type: Component,
|
137
137
|
args: [{ selector: 'simpo-small-product-listing', standalone: true, imports: [
|
138
138
|
CommonModule,
|
@@ -141,7 +141,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
141
141
|
ColorDirective,
|
142
142
|
RatingModule,
|
143
143
|
FormsModule
|
144
|
-
], template: "<div class=\"product hover-effect\" [ngClass]=\"{'width' : isScrollable, 'adjustHeightWidth': isCategoryProductList}\"\
|
144
|
+
], template: "<div class=\"product hover-effect\" [ngClass]=\"{'width' : isScrollable, 'adjustHeightWidth': isCategoryProductList}\"\n [style.opacity]=\"product?.itemInventory?.openingStock == 0 ? 0.5 : 1\" [attr.style]=\"customClass\">\n <div class=\"prod-img\" [class.fade-out]=\"imageIndex == index\">\n <image-loading [imageUrl]=\"getProductImages(product)\" [hash]=\"product.itemImages?.[0]?.blurhash\"\n (click)=\"goToProductDetail(product)\" [theme]=\"data?.styles?.theme\"></image-loading>\n <div class=\"discount\" [style.backgroundColor]=\"data?.styles?.background?.color\"\n [simpoColor]=\"data?.styles?.background?.color\" *ngIf=\"getPercentage(product) > '0'\">{{getPercentage(product)}}%\n off</div>\n <div class=\"carousel-buttons\" *ngIf=\"(product?.itemImages?.length || 0) > 1\">\n <div><mat-icon (click)=\"changeImage(product, 'PREV')\">keyboard_arrow_left</mat-icon></div>\n <div><mat-icon (click)=\"changeImage(product, 'NEXT')\">keyboard_arrow_right</mat-icon></div>\n </div>\n </div>\n <div class=\"p-2 h-40\" (click)=\"goToProductDetail(product)\">\n <span class=\"trim-text color\">{{product.name}}</span>\n <div class=\"bottom\">\n <span class=\"m-1\">\n <span class=\"color\" *ngIf=\"product?.price?.discountedPrice && product.price.discountedPrice > 0\"><span\n [innerHTML]=\"currency\"></span> {{product?.price?.discountedPrice ?? 0}}</span>\n <span class=\"color\"\n [ngClass]=\"{'strike-through' : product?.price?.discountedPrice && product.price.discountedPrice > 0 }\"><span\n [innerHTML]=\"currency\"></span> {{product?.price?.sellingPrice ?? 0}}</span>\n </span>\n <div class=\"review-rating d-flex gap-2 align-items-center justify-content-between\" *ngIf=\"product?.averageRating\">\n <p-rating [(ngModel)]=\"product.averageRating\" [cancel]=\"false\" [readonly]=\"true\" />\n <div class=\"total-ratings\">{{\n getRatings(product?.totalReviewCount)}}</div>\n </div>\n <div class=\"add-to-cart\" [style.borderColor]=\"data.styles?.background?.accentColor\" *ngIf=\"data?.content?.display?.showButton\"\n [ngClass]=\"{'justify-content-between p-0 d-flex': product.quantity, 'justify-content-center': !product.quantity}\"\n (click)=\"removeDefault($event)\">\n <ng-container *ngIf=\"product?.itemInventory?.openingStock\">\n <ng-container *ngIf=\"!product.quantity\">\n <div (click)=\"addItemToCart($event, product, 'ADD')\" [style.color]=\"data.styles?.background?.accentColor\">\n Add to Cart</div>\n </ng-container>\n <ng-container *ngIf=\"product.quantity\">\n <span class=\"quantity-btn\" (click)=\"addItemToCart($event, product, 'SUBSTRACT')\"\n [style.backgroundColor]=\"getSupportingColor(data.styles?.background?.accentColor)\"\n [style.color]=\"data.styles?.background?.accentColor\">-</span>\n <span class=\"quantity\" [style.color]=\"data.styles?.background?.accentColor\">{{product.quantity}}</span>\n <span class=\"quantity-btn\" (click)=\"addItemToCart($event, product, 'ADD')\"\n [style.backgroundColor]=\"getSupportingColor(data.styles?.background?.accentColor)\"\n [style.color]=\"data.styles?.background?.accentColor\">+</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!product?.itemInventory?.openingStock\">\n <span class=\"d-flex align-items-center justify-content-center w-100\">\n <mat-icon>notification_important</mat-icon>\n <span class=\"ml-2\">Notify</span>\n </span>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n\n<!-- <ng-template #loadingScreen>\n <ngx-skeleton-loader *ngIf=\"filterLoading\" count=\"1\" appearance=\"circle\" [theme]=\"{\n width: '100%',\n height: '100%',\n 'border-radius': '10px',\n 'position': 'relative',\n 'right': '5px'\n }\" />\n</ng-template> -->", styles: [".product{position:relative;display:flex;flex-direction:column;cursor:pointer;margin-bottom:10px;border-radius:10px;overflow:hidden;height:350px;background-color:#fff}.product .prod-img{position:relative;height:55%;width:100%;overflow:hidden;border:1.8px solid;border-radius:10px;border-color:#e5e7eb}.product .prod-img img{height:100%;width:100%;object-fit:cover}.width{margin-right:10px;min-width:195px;max-width:195px}.styling{height:30px;width:30px;border-radius:50%;background-color:#fff;position:absolute;bottom:0;right:-12px}.strike-through{text-decoration:line-through;color:#d3d3d3;font-size:12px;margin-left:5px;position:relative}.add-to-cart{width:100%;cursor:pointer;background-color:#fff;border:1.5px solid transparent;border-radius:5px;padding:5px;text-align:center;align-items:center}.add-to-cart .quantity-btn{padding:5px 10px;font-weight:700}.discount{position:absolute;top:0;padding:5px;width:60px;text-align:center;font-size:12px;border-bottom-right-radius:3px}@media screen and (max-width: 475px){.width{max-width:160px;min-width:160px;height:300px}.adjustHeightWidth{max-width:100%;min-width:100%}}.h-40{height:45%;position:relative}.bottom{position:absolute;bottom:10px;width:93%;display:flex;flex-direction:column}.discount-price{font-weight:600;font-size:14px}.color{color:#000}.trim-text{text-align:inherit!important}.product-img.fade-out{opacity:0;transform:scale(.95)}.gap-15{gap:15px}.flex-wrap{flex-wrap:wrap}.carousel-buttons{display:flex;gap:10px;position:absolute;bottom:10px;left:10px;transform:translateY(-50%);pointer-events:none}.carousel-buttons div{background:#fff;display:flex;align-items:center;border-radius:100%;height:30px;width:30px;justify-content:center;pointer-events:auto}\n"] }]
|
145
145
|
}], ctorParameters: () => [{ type: i1.CartService }, { type: i2.Router }], propDecorators: { product: [{
|
146
146
|
type: Input
|
147
147
|
}], data: [{
|
@@ -155,4 +155,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
155
155
|
}], index: [{
|
156
156
|
type: Input
|
157
157
|
}] } });
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hbGwtcHJvZHVjdC1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3NlY3Rpb25zL3NtYWxsLXByb2R1Y3QtbGlzdGluZy9zbWFsbC1wcm9kdWN0LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvc21hbGwtcHJvZHVjdC1saXN0aW5nL3NtYWxsLXByb2R1Y3QtbGlzdGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQWdCN0MsTUFBTSxPQUFPLDRCQUE0QjtJQUV2QyxZQUNtQixXQUF3QixFQUN4QixNQUFjO1FBRGQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUd6QixjQUFTLEdBQTBCLElBQUksQ0FBQztRQUl2QywwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUE2RmhELGVBQVUsR0FBVyxDQUFDLENBQUMsQ0FBQztJQW5HckIsQ0FBQztJQVVKLFFBQVE7SUFFUixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWdDLEVBQUUsT0FBZ0IsRUFBRSxJQUF5QjtRQUN6Rix3Q0FBd0M7UUFDeEMsa0pBQWtKO1FBQ2xKLFlBQVk7UUFDWixJQUFJO1FBRUosSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRO1lBQ3BCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7YUFDSSxDQUFDO1lBQ0osT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNqQyxNQUFNLFdBQVcsR0FBdUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3hGLElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2hCLFdBQVcsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRSxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckIsSUFBSSxTQUFTLEdBQVksS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBa0IsRUFBRSxFQUFFO2dCQUM3QyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7b0JBQ2pDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ25CLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQTtZQUNGLElBQUksQ0FBQyxTQUFTO2dCQUNaLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0csQ0FBQztRQUNELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWdDO1FBQzVDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWdCLEVBQUUsU0FBaUI7UUFDaEQsSUFBSSxlQUFlLEdBQXVCLElBQUksQ0FBQztRQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQW9CLEVBQUUsRUFBRTtZQUNyRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksU0FBUztnQkFDaEMsZUFBZSxHQUFHLE9BQU8sQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQTtRQUVGLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxhQUFhLENBQUMsT0FBZ0I7UUFDNUIsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksR0FBRyxPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsQ0FBQyxHQUFHLE9BQU8sRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlILENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxPQUFnQjtRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUNELGtCQUFrQixDQUFDLEtBQWE7UUFDOUIsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxHQUFHO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFNUIsSUFBSSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFFckIsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sa0JBQWtCLENBQUMsUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFZO1FBQzNCLElBQUcsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7WUFDOUIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRW5DLElBQUksVUFBVSxHQUFVLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUN2RixPQUFPLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFBO0lBQ3RELENBQUM7SUFHRCxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQVksRUFBRSxNQUF1QjtRQUNyRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDN0IsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV2RCxJQUFHLE1BQU0sS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUNyQixPQUFPLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztZQUUvQixJQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUM7Z0JBQ2pDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELFVBQVUsQ0FBQyxXQUFpQjtRQUMxQixJQUFHLFdBQVcsSUFBSSxJQUFJLElBQUksV0FBVyxJQUFJLEtBQUssRUFBQyxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxXQUFXLEdBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUM5QyxDQUFDO2FBQ0ksSUFBRyxXQUFXLEdBQUcsS0FBSyxJQUFJLFdBQVcsSUFBSSxNQUFNLEVBQUMsQ0FBQztZQUNwRCxPQUFPLENBQUMsV0FBVyxHQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDL0MsQ0FBQzthQUNJLElBQUcsV0FBVyxHQUFHLE1BQU0sSUFBSSxXQUFXLElBQUksT0FBTyxFQUFDLENBQUM7WUFDdEQsT0FBTyxDQUFDLFdBQVcsR0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2hELENBQUM7YUFDSSxJQUFHLFdBQVcsR0FBRyxPQUFPLEVBQUMsQ0FBQztZQUM3QixPQUFPLENBQUMsV0FBVyxHQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDakQsQ0FBQzthQUNHLENBQUM7WUFDSCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQzs4R0F2SVUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsK1BDM0J6QyxtbklBaUVrQixrdkREaERkLFlBQVksaU9BQ1osT0FBTywySUFDUCxxQkFBcUIscUhBQ3JCLGNBQWMsZ0ZBQ2QsWUFBWSx3VEFDWixXQUFXOzsyRkFLRiw0QkFBNEI7a0JBZHhDLFNBQVM7K0JBQ0UsNkJBQTZCLGNBQzNCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLE9BQU87d0JBQ1AscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osV0FBVztxQkFDWjtxR0FZUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEl0ZW1WYXJpYW50LCBQcm9kdWN0IH0gZnJvbSAnLi4vLi4vc3R5bGVzL3Byb2R1Y3QubW9kYWwnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBCVVNJTkVTU19DT05TVEFOVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYnVzaW5lc3MuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE9yZGVyZWRJdGVtcyB9IGZyb20gJy4uLy4uL3N0eWxlcy9PcmRlcmVkSXRlbXMubW9kYWwnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2NvbG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEltYWdlTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvaW1hZ2UtbG9hZGluZy9pbWFnZS1sb2FkaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJhdGluZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmF0aW5nJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXNtYWxsLXByb2R1Y3QtbGlzdGluZycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRJY29uLFxyXG4gICAgSW1hZ2VMb2FkaW5nQ29tcG9uZW50LFxyXG4gICAgQ29sb3JEaXJlY3RpdmUsXHJcbiAgICBSYXRpbmdNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYWxsLXByb2R1Y3QtbGlzdGluZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3NtYWxsLXByb2R1Y3QtbGlzdGluZy5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hbGxQcm9kdWN0TGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXHJcbiAgKSB7fVxyXG5cclxuICBwcml2YXRlIFVTRVJfQ0FSVDogT3JkZXJlZEl0ZW1zW10gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBwcm9kdWN0ITogUHJvZHVjdDtcclxuICBASW5wdXQoKSBkYXRhPzogYW55O1xyXG4gIEBJbnB1dCgpIGlzU2Nyb2xsYWJsZT86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXNDYXRlZ29yeVByb2R1Y3RMaXN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaW5kZXghOm51bWJlclxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBhZGRJdGVtVG9DYXJ0KGV2ZW50OiBQb2ludGVyRXZlbnQgfCBNb3VzZUV2ZW50LCBwcm9kdWN0OiBQcm9kdWN0LCB0eXBlOiAnQUREJyB8ICdTVUJTVFJBQ1QnKSB7XHJcbiAgICAvLyBpZiAodGhpcy5pc0l0ZW1PdXRPZlN0b2NrKHByb2R1Y3QpKSB7XHJcbiAgICAvLyAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICd3YXJuJywgc3VtbWFyeTogJ0NhcnQnLCBkZXRhaWw6ICdJdGVtIGlzIG5vdCBhdmFpbGFibGUgYXMgb2Ygbm93LiBXZSB3aWxsIG5vdGlmeSB5b3Ugb25jZSBhdmFpbGFibGUnIH0pO1xyXG4gICAgLy8gICByZXR1cm47XHJcbiAgICAvLyB9XHJcblxyXG4gICAgaWYgKCFwcm9kdWN0Py5xdWFudGl0eSlcclxuICAgICAgcHJvZHVjdC5xdWFudGl0eSA9IDA7XHJcbiAgICBpZiAodHlwZSA9PSAnQUREJykge1xyXG4gICAgICBwcm9kdWN0LnF1YW50aXR5ICs9IDE7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcHJvZHVjdC5xdWFudGl0eSAtPSAxO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwcm9kdWN0Py5pdGVtVmFyaWFudD8ubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW1WYXJpZW50OiBJdGVtVmFyaWFudCB8IG51bGwgPSB0aGlzLmdldEl0ZW1WYXJpZW50KHByb2R1Y3QsIHByb2R1Y3QudmFyaWVudElkKTtcclxuICAgICAgaWYgKGl0ZW1WYXJpZW50KSB7XHJcbiAgICAgICAgaXRlbVZhcmllbnQucXVhbnRpdHkgPSBwcm9kdWN0LnF1YW50aXR5O1xyXG4gICAgICAgIHRoaXMuY2FydFNlcnZpY2UuYWRkSXRlbVRvQ2FydChwcm9kdWN0LCBpdGVtVmFyaWVudC52YXJpYW50SWQpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNhcnRTZXJ2aWNlLmFkZEl0ZW1Ub0NhcnQocHJvZHVjdCk7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvZHVjdC5xdWFudGl0eSkge1xyXG4gICAgICBsZXQgaXNQcmVzZW50OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuVVNFUl9DQVJUPy5mb3JFYWNoKChpdGVtOiBPcmRlcmVkSXRlbXMpID0+IHtcclxuICAgICAgICBpZiAoaXRlbS52YXJpZW50SWQgPT0gcHJvZHVjdC52YXJpZW50SWQpIHtcclxuICAgICAgICAgIGl0ZW0ucXVhbnRpdHkgPSBwcm9kdWN0LnF1YW50aXR5O1xyXG4gICAgICAgICAgaXNQcmVzZW50ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICAgIGlmICghaXNQcmVzZW50KVxyXG4gICAgICAgIHRoaXMuVVNFUl9DQVJUPy5wdXNoKG5ldyBPcmRlcmVkSXRlbXMocHJvZHVjdCwgcHJvZHVjdC52YXJpZW50SWQpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuVVNFUl9DQVJUID0gdGhpcy5VU0VSX0NBUlQ/LmZpbHRlcigoaXRlbTogT3JkZXJlZEl0ZW1zKSA9PiBpdGVtLnZhcmllbnRJZCAhPSBwcm9kdWN0LnZhcmllbnRJZCkgPz8gW107XHJcbiAgICB9XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZURlZmF1bHQoZXZlbnQ6IFBvaW50ZXJFdmVudCB8IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbVZhcmllbnQocHJvZHVjdDogUHJvZHVjdCwgdmFyaWVudElkOiBzdHJpbmcpOiBJdGVtVmFyaWFudCB8IG51bGwge1xyXG4gICAgbGV0IHNlbGVjdGVkVmFyaWVudDogSXRlbVZhcmlhbnQgfCBudWxsID0gbnVsbDtcclxuICAgIHByb2R1Y3Q/Lml0ZW1WYXJpYW50Py5mb3JFYWNoKCh2YXJpZW50OiBJdGVtVmFyaWFudCkgPT4ge1xyXG4gICAgICBpZiAodmFyaWVudC52YXJpYW50SWQgPT0gdmFyaWVudElkKVxyXG4gICAgICAgIHNlbGVjdGVkVmFyaWVudCA9IHZhcmllbnQ7XHJcbiAgICB9KVxyXG5cclxuICAgIHJldHVybiBzZWxlY3RlZFZhcmllbnQ7XHJcbiAgfVxyXG4gIGdldFBlcmNlbnRhZ2UocHJvZHVjdDogUHJvZHVjdCkge1xyXG4gICAgcmV0dXJuICgoKHByb2R1Y3Q/LnByaWNlPy5zZWxsaW5nUHJpY2UgLSBwcm9kdWN0Py5wcmljZT8uZGlzY291bnRlZFByaWNlKSAvIHByb2R1Y3Q/LnByaWNlPy5zZWxsaW5nUHJpY2UpICogMTAwKS50b0ZpeGVkKDApO1xyXG4gIH1cclxuICBnb1RvUHJvZHVjdERldGFpbChwcm9kdWN0OiBQcm9kdWN0KSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYGRldGFpbHNgXSwgeyBxdWVyeVBhcmFtczogeyBpZDogcHJvZHVjdC5pdGVtSWQgfSB9KTtcclxuICB9XHJcbiAgZ2V0U3VwcG9ydGluZ0NvbG9yKGNvbG9yOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IGhleCA9IGNvbG9yO1xyXG4gICAgaWYgKCFoZXgpXHJcbiAgICAgIHJldHVybiBjb2xvcjtcclxuICAgIGhleCA9IGhleC5yZXBsYWNlKC9eIy8sICcnKTtcclxuXHJcbiAgICBsZXQgYmlnaW50ID0gcGFyc2VJbnQoaGV4LCAxNik7XHJcbiAgICBsZXQgciA9IChiaWdpbnQgPj4gMTYpICYgMjU1O1xyXG4gICAgbGV0IGcgPSAoYmlnaW50ID4+IDgpICYgMjU1O1xyXG4gICAgbGV0IGIgPSBiaWdpbnQgJiAyNTU7XHJcblxyXG4gICAgcmV0dXJuIGByZ2JhKCR7cn0sICR7Z30sICR7Yn0sIDAuNClgO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGN1cnJlbmN5KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQlVTSU5FU1NfQ09OU1RBTlRTLkNVUlJFTkNZO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvZHVjdEltYWdlcyhwcm9kdWN0OiBhbnkpIHtcclxuICAgIGlmKCFwcm9kdWN0WydjdXJyZW50SW1hZ2VJbmRleCddKVxyXG4gICAgICBwcm9kdWN0WydjdXJyZW50SW1hZ2VJbmRleCddID0gMDtcclxuXHJcbiAgICBsZXQgaW1hZ2VJbmRleDpudW1iZXIgPSBwcm9kdWN0WydjdXJyZW50SW1hZ2VJbmRleCddICUgcHJvZHVjdD8uWydpdGVtSW1hZ2VzJ10/Lmxlbmd0aDtcclxuICAgIHJldHVybiBwcm9kdWN0Py5bJ2l0ZW1JbWFnZXMnXT8uW2ltYWdlSW5kZXhdPy5pbWdVcmxcclxuICB9XHJcblxyXG4gIGltYWdlSW5kZXg6IG51bWJlciA9IC0xO1xyXG4gIGFzeW5jIGNoYW5nZUltYWdlKHByb2R1Y3Q6IGFueSwgYWN0aW9uOiAnUFJFVicgfCAnTkVYVCcpIHtcclxuICAgIHRoaXMuaW1hZ2VJbmRleCA9IHRoaXMuaW5kZXg7XHJcbiAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMzAwKSk7XHJcblxyXG4gICAgaWYoYWN0aW9uID09PSAnTkVYVCcpIHtcclxuICAgICAgcHJvZHVjdFsnY3VycmVudEltYWdlSW5kZXgnXSsrO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcHJvZHVjdFsnY3VycmVudEltYWdlSW5kZXgnXS0tO1xyXG5cclxuICAgICAgaWYocHJvZHVjdFsnY3VycmVudEltYWdlSW5kZXgnXSA8IDApXHJcbiAgICAgICAgcHJvZHVjdFsnY3VycmVudEltYWdlSW5kZXgnXSA9IHByb2R1Y3Q/LlsnaXRlbUltYWdlcyddPy5sZW5ndGggLSAxO1xyXG4gICAgfVxyXG4gICAgICB0aGlzLmltYWdlSW5kZXggPSAtMTtcclxuICB9XHJcbiAgZ2V0UmF0aW5ncyhub29mcmF0aW5ncyA6IGFueSl7XHJcbiAgICBpZihub29mcmF0aW5ncyA+PSAxMDAwICYmIG5vb2ZyYXRpbmdzIDw9IDEwMDAwKXtcclxuICAgICAgcmV0dXJuIChub29mcmF0aW5ncy8xMDAwKS50b0ZpeGVkKDEpICsgXCJLK1wiO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZihub29mcmF0aW5ncyA+IDEwMDAwICYmIG5vb2ZyYXRpbmdzIDw9IDEwMDAwMCl7XHJcbiAgICAgIHJldHVybiAobm9vZnJhdGluZ3MvMTAwMDApLnRvRml4ZWQoMSkgKyBcIksrXCI7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKG5vb2ZyYXRpbmdzID4gMTAwMDAwICYmIG5vb2ZyYXRpbmdzIDw9IDEwMDAwMDApe1xyXG4gICAgICByZXR1cm4gKG5vb2ZyYXRpbmdzLzEwMDAwMCkudG9GaXhlZCgxKSArIFwiTCtcIjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYobm9vZnJhdGluZ3MgPiAxMDAwMDAwKXtcclxuICAgICAgcmV0dXJuIChub29mcmF0aW5ncy8xMDAwMDAwKS50b0ZpeGVkKDEpICsgXCJNK1wiO1xyXG4gICAgfVxyXG4gICAgZWxzZXtcclxuICAgICAgcmV0dXJuIG5vb2ZyYXRpbmdzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicHJvZHVjdCBob3Zlci1lZmZlY3RcIiBbbmdDbGFzc109XCJ7J3dpZHRoJyA6IGlzU2Nyb2xsYWJsZSwgJ2FkanVzdEhlaWdodFdpZHRoJzogaXNDYXRlZ29yeVByb2R1Y3RMaXN0fVwiXHJcbiAgW3N0eWxlLm9wYWNpdHldPVwicHJvZHVjdD8uaXRlbUludmVudG9yeT8ub3BlbmluZ1N0b2NrID09IDAgPyAwLjUgOiAxXCIgW2F0dHIuc3R5bGVdPVwiY3VzdG9tQ2xhc3NcIj5cclxuICA8ZGl2IGNsYXNzPVwicHJvZC1pbWdcIiBbY2xhc3MuZmFkZS1vdXRdPVwiaW1hZ2VJbmRleCA9PSBpbmRleFwiPlxyXG4gICAgPGltYWdlLWxvYWRpbmcgW2ltYWdlVXJsXT1cImdldFByb2R1Y3RJbWFnZXMocHJvZHVjdClcIiBbaGFzaF09XCJwcm9kdWN0Lml0ZW1JbWFnZXM/LlswXT8uYmx1cmhhc2hcIlxyXG4gICAgICAoY2xpY2spPVwiZ29Ub1Byb2R1Y3REZXRhaWwocHJvZHVjdClcIiBbdGhlbWVdPVwiZGF0YT8uc3R5bGVzPy50aGVtZVwiPjwvaW1hZ2UtbG9hZGluZz5cclxuICAgIDxkaXYgY2xhc3M9XCJkaXNjb3VudFwiIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5jb2xvclwiXHJcbiAgICAgIFtzaW1wb0NvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uY29sb3JcIiAqbmdJZj1cImdldFBlcmNlbnRhZ2UocHJvZHVjdCkgPiAnMCdcIj57e2dldFBlcmNlbnRhZ2UocHJvZHVjdCl9fSVcclxuICAgICAgb2ZmPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtYnV0dG9uc1wiICpuZ0lmPVwiKHByb2R1Y3Q/Lml0ZW1JbWFnZXM/Lmxlbmd0aCB8fCAwKSA+IDFcIj5cclxuICAgICAgPGRpdj48bWF0LWljb24gKGNsaWNrKT1cImNoYW5nZUltYWdlKHByb2R1Y3QsICdQUkVWJylcIj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj48L2Rpdj5cclxuICAgICAgPGRpdj48bWF0LWljb24gKGNsaWNrKT1cImNoYW5nZUltYWdlKHByb2R1Y3QsICdORVhUJylcIj5rZXlib2FyZF9hcnJvd19yaWdodDwvbWF0LWljb24+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicC0yIGgtNDBcIiAoY2xpY2spPVwiZ29Ub1Byb2R1Y3REZXRhaWwocHJvZHVjdClcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwidHJpbS10ZXh0IGNvbG9yXCI+e3twcm9kdWN0Lm5hbWV9fTwvc3Bhbj5cclxuICAgIDxkaXYgY2xhc3M9XCJib3R0b21cIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtLTFcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNvbG9yXCIgKm5nSWY9XCJwcm9kdWN0Py5wcmljZT8uZGlzY291bnRlZFByaWNlICYmIHByb2R1Y3QucHJpY2UuZGlzY291bnRlZFByaWNlID4gMFwiPjxzcGFuXHJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiY3VycmVuY3lcIj48L3NwYW4+IHt7cHJvZHVjdD8ucHJpY2U/LmRpc2NvdW50ZWRQcmljZSA/PyAwfX08L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2xvclwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J3N0cmlrZS10aHJvdWdoJyA6IHByb2R1Y3Q/LnByaWNlPy5kaXNjb3VudGVkUHJpY2UgJiYgcHJvZHVjdC5wcmljZS5kaXNjb3VudGVkUHJpY2UgPiAwIH1cIj48c3BhblxyXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cImN1cnJlbmN5XCI+PC9zcGFuPiB7e3Byb2R1Y3Q/LnByaWNlPy5zZWxsaW5nUHJpY2UgPz8gMH19PC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXZpZXctcmF0aW5nIGQtZmxleCBnYXAtMiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIiAqbmdJZj1cInByb2R1Y3Q/LmF2ZXJhZ2VSYXRpbmdcIj5cclxuICAgICAgICA8cC1yYXRpbmcgWyhuZ01vZGVsKV09XCJwcm9kdWN0LmF2ZXJhZ2VSYXRpbmdcIiBbY2FuY2VsXT1cImZhbHNlXCIgW3JlYWRvbmx5XT1cInRydWVcIiAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b3RhbC1yYXRpbmdzXCI+e3tcclxuICAgICAgICAgIGdldFJhdGluZ3MocHJvZHVjdD8udG90YWxSZXZpZXdDb3VudCl9fTwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFkZC10by1jYXJ0XCIgW3N0eWxlLmJvcmRlckNvbG9yXT1cImRhdGEuc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiICpuZ0lmPVwiZGF0YT8uY29udGVudD8uZGlzcGxheT8uc2hvd0J1dHRvblwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieydqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBwLTAgZC1mbGV4JzogcHJvZHVjdC5xdWFudGl0eSwgJ2p1c3RpZnktY29udGVudC1jZW50ZXInOiAhcHJvZHVjdC5xdWFudGl0eX1cIlxyXG4gICAgICAgIChjbGljayk9XCJyZW1vdmVEZWZhdWx0KCRldmVudClcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvZHVjdD8uaXRlbUludmVudG9yeT8ub3BlbmluZ1N0b2NrXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXByb2R1Y3QucXVhbnRpdHlcIj5cclxuICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwiYWRkSXRlbVRvQ2FydCgkZXZlbnQsIHByb2R1Y3QsICdBREQnKVwiIFtzdHlsZS5jb2xvcl09XCJkYXRhLnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj5cclxuICAgICAgICAgICAgICBBZGQgdG8gQ2FydDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvZHVjdC5xdWFudGl0eVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInF1YW50aXR5LWJ0blwiIChjbGljayk9XCJhZGRJdGVtVG9DYXJ0KCRldmVudCwgcHJvZHVjdCwgJ1NVQlNUUkFDVCcpXCJcclxuICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImdldFN1cHBvcnRpbmdDb2xvcihkYXRhLnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3IpXCJcclxuICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiZGF0YS5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+LTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJxdWFudGl0eVwiIFtzdHlsZS5jb2xvcl09XCJkYXRhLnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj57e3Byb2R1Y3QucXVhbnRpdHl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJxdWFudGl0eS1idG5cIiAoY2xpY2spPVwiYWRkSXRlbVRvQ2FydCgkZXZlbnQsIHByb2R1Y3QsICdBREQnKVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJnZXRTdXBwb3J0aW5nQ29sb3IoZGF0YS5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yKVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImRhdGEuc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPis8L3NwYW4+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXByb2R1Y3Q/Lml0ZW1JbnZlbnRvcnk/Lm9wZW5pbmdTdG9ja1wiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgdy0xMDBcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPm5vdGlmaWNhdGlvbl9pbXBvcnRhbnQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTJcIj5Ob3RpZnk8L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSA8bmctdGVtcGxhdGUgI2xvYWRpbmdTY3JlZW4+XHJcbiAgPG5neC1za2VsZXRvbi1sb2FkZXIgKm5nSWY9XCJmaWx0ZXJMb2FkaW5nXCIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXHJcbiAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMHB4JyxcclxuICAgICAgICAgICdwb3NpdGlvbic6ICdyZWxhdGl2ZScsXHJcbiAgICAgICAgICAncmlnaHQnOiAnNXB4J1xyXG4gICAgICAgIH1cIiAvPlxyXG48L25nLXRlbXBsYXRlPiAtLT4iXX0=
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hbGwtcHJvZHVjdC1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3NlY3Rpb25zL3NtYWxsLXByb2R1Y3QtbGlzdGluZy9zbWFsbC1wcm9kdWN0LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvc21hbGwtcHJvZHVjdC1saXN0aW5nL3NtYWxsLXByb2R1Y3QtbGlzdGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQWdCN0MsTUFBTSxPQUFPLDRCQUE0QjtJQUV2QyxZQUNtQixXQUF3QixFQUN4QixNQUFjO1FBRGQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUd6QixjQUFTLEdBQTBCLElBQUksQ0FBQztRQUl2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LElBQUksT0FBTyxFQUFDLENBQUM7WUFDdEQsT0FBTyxDQUFDLFdBQVcsR0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2hELENBQUM7YUFDSSxJQUFHLFdBQVcsR0FBRyxPQUFPLEVBQUMsQ0FBQztZQUM3QixPQUFPLENBQUMsV0FBVyxHQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDakQsQ0FBQzthQUNHLENBQUM7WUFDSCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQzsrR0F2SVUsNEJBQTRCO21HQUE1Qiw0QkFBNEIsK1BDM0J6QyxpL0hBaUVrQixrdkREaERkLFlBQVksaU9BQ1osT0FBTywySUFDUCxxQkFBcUIscUhBQ3JCLGNBQWMsZ0ZBQ2QsWUFBWSx3VEFDWixXQUFXOzs0RkFLRiw0QkFBNEI7a0JBZHhDLFNBQVM7K0JBQ0UsNkJBQTZCLGNBQzNCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLE9BQU87d0JBQ1AscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osV0FBVztxQkFDWjtxR0FZUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdGVtVmFyaWFudCwgUHJvZHVjdCB9IGZyb20gJy4uLy4uL3N0eWxlcy9wcm9kdWN0Lm1vZGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCVVNJTkVTU19DT05TVEFOVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYnVzaW5lc3MuY29uc3RhbnQnO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgT3JkZXJlZEl0ZW1zIH0gZnJvbSAnLi4vLi4vc3R5bGVzL09yZGVyZWRJdGVtcy5tb2RhbCc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBDb2xvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9jb2xvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEltYWdlTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvaW1hZ2UtbG9hZGluZy9pbWFnZS1sb2FkaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSYXRpbmdNb2R1bGUgfSBmcm9tICdwcmltZW5nL3JhdGluZyc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ltcG8tc21hbGwtcHJvZHVjdC1saXN0aW5nJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJY29uLFxuICAgIEltYWdlTG9hZGluZ0NvbXBvbmVudCxcbiAgICBDb2xvckRpcmVjdGl2ZSxcbiAgICBSYXRpbmdNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYWxsLXByb2R1Y3QtbGlzdGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zbWFsbC1wcm9kdWN0LWxpc3RpbmcuY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgU21hbGxQcm9kdWN0TGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgcHJpdmF0ZSBVU0VSX0NBUlQ6IE9yZGVyZWRJdGVtc1tdIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHByb2R1Y3QhOiBQcm9kdWN0O1xuICBASW5wdXQoKSBkYXRhPzogYW55O1xuICBASW5wdXQoKSBpc1Njcm9sbGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBpc0NhdGVnb3J5UHJvZHVjdExpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGluZGV4ITpudW1iZXJcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICB9XG5cbiAgYWRkSXRlbVRvQ2FydChldmVudDogUG9pbnRlckV2ZW50IHwgTW91c2VFdmVudCwgcHJvZHVjdDogUHJvZHVjdCwgdHlwZTogJ0FERCcgfCAnU1VCU1RSQUNUJykge1xuICAgIC8vIGlmICh0aGlzLmlzSXRlbU91dE9mU3RvY2socHJvZHVjdCkpIHtcbiAgICAvLyAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICd3YXJuJywgc3VtbWFyeTogJ0NhcnQnLCBkZXRhaWw6ICdJdGVtIGlzIG5vdCBhdmFpbGFibGUgYXMgb2Ygbm93LiBXZSB3aWxsIG5vdGlmeSB5b3Ugb25jZSBhdmFpbGFibGUnIH0pO1xuICAgIC8vICAgcmV0dXJuO1xuICAgIC8vIH1cblxuICAgIGlmICghcHJvZHVjdD8ucXVhbnRpdHkpXG4gICAgICBwcm9kdWN0LnF1YW50aXR5ID0gMDtcbiAgICBpZiAodHlwZSA9PSAnQUREJykge1xuICAgICAgcHJvZHVjdC5xdWFudGl0eSArPSAxO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHByb2R1Y3QucXVhbnRpdHkgLT0gMTtcbiAgICB9XG5cbiAgICBpZiAocHJvZHVjdD8uaXRlbVZhcmlhbnQ/Lmxlbmd0aCkge1xuICAgICAgY29uc3QgaXRlbVZhcmllbnQ6IEl0ZW1WYXJpYW50IHwgbnVsbCA9IHRoaXMuZ2V0SXRlbVZhcmllbnQocHJvZHVjdCwgcHJvZHVjdC52YXJpZW50SWQpO1xuICAgICAgaWYgKGl0ZW1WYXJpZW50KSB7XG4gICAgICAgIGl0ZW1WYXJpZW50LnF1YW50aXR5ID0gcHJvZHVjdC5xdWFudGl0eTtcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5hZGRJdGVtVG9DYXJ0KHByb2R1Y3QsIGl0ZW1WYXJpZW50LnZhcmlhbnRJZCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FydFNlcnZpY2UuYWRkSXRlbVRvQ2FydChwcm9kdWN0KTtcbiAgICB9XG4gICAgaWYgKHByb2R1Y3QucXVhbnRpdHkpIHtcbiAgICAgIGxldCBpc1ByZXNlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuVVNFUl9DQVJUPy5mb3JFYWNoKChpdGVtOiBPcmRlcmVkSXRlbXMpID0+IHtcbiAgICAgICAgaWYgKGl0ZW0udmFyaWVudElkID09IHByb2R1Y3QudmFyaWVudElkKSB7XG4gICAgICAgICAgaXRlbS5xdWFudGl0eSA9IHByb2R1Y3QucXVhbnRpdHk7XG4gICAgICAgICAgaXNQcmVzZW50ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIGlmICghaXNQcmVzZW50KVxuICAgICAgICB0aGlzLlVTRVJfQ0FSVD8ucHVzaChuZXcgT3JkZXJlZEl0ZW1zKHByb2R1Y3QsIHByb2R1Y3QudmFyaWVudElkKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuVVNFUl9DQVJUID0gdGhpcy5VU0VSX0NBUlQ/LmZpbHRlcigoaXRlbTogT3JkZXJlZEl0ZW1zKSA9PiBpdGVtLnZhcmllbnRJZCAhPSBwcm9kdWN0LnZhcmllbnRJZCkgPz8gW107XG4gICAgfVxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgcmVtb3ZlRGVmYXVsdChldmVudDogUG9pbnRlckV2ZW50IHwgTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgZ2V0SXRlbVZhcmllbnQocHJvZHVjdDogUHJvZHVjdCwgdmFyaWVudElkOiBzdHJpbmcpOiBJdGVtVmFyaWFudCB8IG51bGwge1xuICAgIGxldCBzZWxlY3RlZFZhcmllbnQ6IEl0ZW1WYXJpYW50IHwgbnVsbCA9IG51bGw7XG4gICAgcHJvZHVjdD8uaXRlbVZhcmlhbnQ/LmZvckVhY2goKHZhcmllbnQ6IEl0ZW1WYXJpYW50KSA9PiB7XG4gICAgICBpZiAodmFyaWVudC52YXJpYW50SWQgPT0gdmFyaWVudElkKVxuICAgICAgICBzZWxlY3RlZFZhcmllbnQgPSB2YXJpZW50O1xuICAgIH0pXG5cbiAgICByZXR1cm4gc2VsZWN0ZWRWYXJpZW50O1xuICB9XG4gIGdldFBlcmNlbnRhZ2UocHJvZHVjdDogUHJvZHVjdCkge1xuICAgIHJldHVybiAoKChwcm9kdWN0Py5wcmljZT8uc2VsbGluZ1ByaWNlIC0gcHJvZHVjdD8ucHJpY2U/LmRpc2NvdW50ZWRQcmljZSkgLyBwcm9kdWN0Py5wcmljZT8uc2VsbGluZ1ByaWNlKSAqIDEwMCkudG9GaXhlZCgwKTtcbiAgfVxuICBnb1RvUHJvZHVjdERldGFpbChwcm9kdWN0OiBQcm9kdWN0KSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2BkZXRhaWxzYF0sIHsgcXVlcnlQYXJhbXM6IHsgaWQ6IHByb2R1Y3QuaXRlbUlkIH0gfSk7XG4gIH1cbiAgZ2V0U3VwcG9ydGluZ0NvbG9yKGNvbG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBoZXggPSBjb2xvcjtcbiAgICBpZiAoIWhleClcbiAgICAgIHJldHVybiBjb2xvcjtcbiAgICBoZXggPSBoZXgucmVwbGFjZSgvXiMvLCAnJyk7XG5cbiAgICBsZXQgYmlnaW50ID0gcGFyc2VJbnQoaGV4LCAxNik7XG4gICAgbGV0IHIgPSAoYmlnaW50ID4+IDE2KSAmIDI1NTtcbiAgICBsZXQgZyA9IChiaWdpbnQgPj4gOCkgJiAyNTU7XG4gICAgbGV0IGIgPSBiaWdpbnQgJiAyNTU7XG5cbiAgICByZXR1cm4gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSwgMC40KWA7XG4gIH1cblxuICBnZXQgY3VycmVuY3koKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQlVTSU5FU1NfQ09OU1RBTlRTLkNVUlJFTkNZO1xuICB9XG5cbiAgZ2V0UHJvZHVjdEltYWdlcyhwcm9kdWN0OiBhbnkpIHtcbiAgICBpZighcHJvZHVjdFsnY3VycmVudEltYWdlSW5kZXgnXSlcbiAgICAgIHByb2R1Y3RbJ2N1cnJlbnRJbWFnZUluZGV4J10gPSAwO1xuXG4gICAgbGV0IGltYWdlSW5kZXg6bnVtYmVyID0gcHJvZHVjdFsnY3VycmVudEltYWdlSW5kZXgnXSAlIHByb2R1Y3Q/LlsnaXRlbUltYWdlcyddPy5sZW5ndGg7XG4gICAgcmV0dXJuIHByb2R1Y3Q/LlsnaXRlbUltYWdlcyddPy5baW1hZ2VJbmRleF0/LmltZ1VybFxuICB9XG5cbiAgaW1hZ2VJbmRleDogbnVtYmVyID0gLTE7XG4gIGFzeW5jIGNoYW5nZUltYWdlKHByb2R1Y3Q6IGFueSwgYWN0aW9uOiAnUFJFVicgfCAnTkVYVCcpIHtcbiAgICB0aGlzLmltYWdlSW5kZXggPSB0aGlzLmluZGV4O1xuICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAzMDApKTtcblxuICAgIGlmKGFjdGlvbiA9PT0gJ05FWFQnKSB7XG4gICAgICBwcm9kdWN0WydjdXJyZW50SW1hZ2VJbmRleCddKys7XG4gICAgfSBlbHNlIHtcbiAgICAgIHByb2R1Y3RbJ2N1cnJlbnRJbWFnZUluZGV4J10tLTtcblxuICAgICAgaWYocHJvZHVjdFsnY3VycmVudEltYWdlSW5kZXgnXSA8IDApXG4gICAgICAgIHByb2R1Y3RbJ2N1cnJlbnRJbWFnZUluZGV4J10gPSBwcm9kdWN0Py5bJ2l0ZW1JbWFnZXMnXT8ubGVuZ3RoIC0gMTtcbiAgICB9XG4gICAgICB0aGlzLmltYWdlSW5kZXggPSAtMTtcbiAgfVxuICBnZXRSYXRpbmdzKG5vb2ZyYXRpbmdzIDogYW55KXtcbiAgICBpZihub29mcmF0aW5ncyA+PSAxMDAwICYmIG5vb2ZyYXRpbmdzIDw9IDEwMDAwKXtcbiAgICAgIHJldHVybiAobm9vZnJhdGluZ3MvMTAwMCkudG9GaXhlZCgxKSArIFwiSytcIjtcbiAgICB9XG4gICAgZWxzZSBpZihub29mcmF0aW5ncyA+IDEwMDAwICYmIG5vb2ZyYXRpbmdzIDw9IDEwMDAwMCl7XG4gICAgICByZXR1cm4gKG5vb2ZyYXRpbmdzLzEwMDAwKS50b0ZpeGVkKDEpICsgXCJLK1wiO1xuICAgIH1cbiAgICBlbHNlIGlmKG5vb2ZyYXRpbmdzID4gMTAwMDAwICYmIG5vb2ZyYXRpbmdzIDw9IDEwMDAwMDApe1xuICAgICAgcmV0dXJuIChub29mcmF0aW5ncy8xMDAwMDApLnRvRml4ZWQoMSkgKyBcIkwrXCI7XG4gICAgfVxuICAgIGVsc2UgaWYobm9vZnJhdGluZ3MgPiAxMDAwMDAwKXtcbiAgICAgIHJldHVybiAobm9vZnJhdGluZ3MvMTAwMDAwMCkudG9GaXhlZCgxKSArIFwiTStcIjtcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgIHJldHVybiBub29mcmF0aW5ncztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwcm9kdWN0IGhvdmVyLWVmZmVjdFwiIFtuZ0NsYXNzXT1cInsnd2lkdGgnIDogaXNTY3JvbGxhYmxlLCAnYWRqdXN0SGVpZ2h0V2lkdGgnOiBpc0NhdGVnb3J5UHJvZHVjdExpc3R9XCJcbiAgW3N0eWxlLm9wYWNpdHldPVwicHJvZHVjdD8uaXRlbUludmVudG9yeT8ub3BlbmluZ1N0b2NrID09IDAgPyAwLjUgOiAxXCIgW2F0dHIuc3R5bGVdPVwiY3VzdG9tQ2xhc3NcIj5cbiAgPGRpdiBjbGFzcz1cInByb2QtaW1nXCIgW2NsYXNzLmZhZGUtb3V0XT1cImltYWdlSW5kZXggPT0gaW5kZXhcIj5cbiAgICA8aW1hZ2UtbG9hZGluZyBbaW1hZ2VVcmxdPVwiZ2V0UHJvZHVjdEltYWdlcyhwcm9kdWN0KVwiIFtoYXNoXT1cInByb2R1Y3QuaXRlbUltYWdlcz8uWzBdPy5ibHVyaGFzaFwiXG4gICAgICAoY2xpY2spPVwiZ29Ub1Byb2R1Y3REZXRhaWwocHJvZHVjdClcIiBbdGhlbWVdPVwiZGF0YT8uc3R5bGVzPy50aGVtZVwiPjwvaW1hZ2UtbG9hZGluZz5cbiAgICA8ZGl2IGNsYXNzPVwiZGlzY291bnRcIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uY29sb3JcIlxuICAgICAgW3NpbXBvQ29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5jb2xvclwiICpuZ0lmPVwiZ2V0UGVyY2VudGFnZShwcm9kdWN0KSA+ICcwJ1wiPnt7Z2V0UGVyY2VudGFnZShwcm9kdWN0KX19JVxuICAgICAgb2ZmPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWJ1dHRvbnNcIiAqbmdJZj1cIihwcm9kdWN0Py5pdGVtSW1hZ2VzPy5sZW5ndGggfHwgMCkgPiAxXCI+XG4gICAgICA8ZGl2PjxtYXQtaWNvbiAoY2xpY2spPVwiY2hhbmdlSW1hZ2UocHJvZHVjdCwgJ1BSRVYnKVwiPmtleWJvYXJkX2Fycm93X2xlZnQ8L21hdC1pY29uPjwvZGl2PlxuICAgICAgPGRpdj48bWF0LWljb24gKGNsaWNrKT1cImNoYW5nZUltYWdlKHByb2R1Y3QsICdORVhUJylcIj5rZXlib2FyZF9hcnJvd19yaWdodDwvbWF0LWljb24+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicC0yIGgtNDBcIiAoY2xpY2spPVwiZ29Ub1Byb2R1Y3REZXRhaWwocHJvZHVjdClcIj5cbiAgICA8c3BhbiBjbGFzcz1cInRyaW0tdGV4dCBjb2xvclwiPnt7cHJvZHVjdC5uYW1lfX08L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cImJvdHRvbVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtLTFcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2xvclwiICpuZ0lmPVwicHJvZHVjdD8ucHJpY2U/LmRpc2NvdW50ZWRQcmljZSAmJiBwcm9kdWN0LnByaWNlLmRpc2NvdW50ZWRQcmljZSA+IDBcIj48c3BhblxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJjdXJyZW5jeVwiPjwvc3Bhbj4ge3twcm9kdWN0Py5wcmljZT8uZGlzY291bnRlZFByaWNlID8/IDB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2xvclwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydzdHJpa2UtdGhyb3VnaCcgOiBwcm9kdWN0Py5wcmljZT8uZGlzY291bnRlZFByaWNlICYmIHByb2R1Y3QucHJpY2UuZGlzY291bnRlZFByaWNlID4gMCB9XCI+PHNwYW5cbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiY3VycmVuY3lcIj48L3NwYW4+IHt7cHJvZHVjdD8ucHJpY2U/LnNlbGxpbmdQcmljZSA/PyAwfX08L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwicmV2aWV3LXJhdGluZyBkLWZsZXggZ2FwLTIgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgKm5nSWY9XCJwcm9kdWN0Py5hdmVyYWdlUmF0aW5nXCI+XG4gICAgICAgIDxwLXJhdGluZyBbKG5nTW9kZWwpXT1cInByb2R1Y3QuYXZlcmFnZVJhdGluZ1wiIFtjYW5jZWxdPVwiZmFsc2VcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b3RhbC1yYXRpbmdzXCI+e3tcbiAgICAgICAgICBnZXRSYXRpbmdzKHByb2R1Y3Q/LnRvdGFsUmV2aWV3Q291bnQpfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFkZC10by1jYXJ0XCIgW3N0eWxlLmJvcmRlckNvbG9yXT1cImRhdGEuc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiICpuZ0lmPVwiZGF0YT8uY29udGVudD8uZGlzcGxheT8uc2hvd0J1dHRvblwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnanVzdGlmeS1jb250ZW50LWJldHdlZW4gcC0wIGQtZmxleCc6IHByb2R1Y3QucXVhbnRpdHksICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJzogIXByb2R1Y3QucXVhbnRpdHl9XCJcbiAgICAgICAgKGNsaWNrKT1cInJlbW92ZURlZmF1bHQoJGV2ZW50KVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvZHVjdD8uaXRlbUludmVudG9yeT8ub3BlbmluZ1N0b2NrXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFwcm9kdWN0LnF1YW50aXR5XCI+XG4gICAgICAgICAgICA8ZGl2IChjbGljayk9XCJhZGRJdGVtVG9DYXJ0KCRldmVudCwgcHJvZHVjdCwgJ0FERCcpXCIgW3N0eWxlLmNvbG9yXT1cImRhdGEuc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPlxuICAgICAgICAgICAgICBBZGQgdG8gQ2FydDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9kdWN0LnF1YW50aXR5XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInF1YW50aXR5LWJ0blwiIChjbGljayk9XCJhZGRJdGVtVG9DYXJ0KCRldmVudCwgcHJvZHVjdCwgJ1NVQlNUUkFDVCcpXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJnZXRTdXBwb3J0aW5nQ29sb3IoZGF0YS5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yKVwiXG4gICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJkYXRhLnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj4tPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJxdWFudGl0eVwiIFtzdHlsZS5jb2xvcl09XCJkYXRhLnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj57e3Byb2R1Y3QucXVhbnRpdHl9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicXVhbnRpdHktYnRuXCIgKGNsaWNrKT1cImFkZEl0ZW1Ub0NhcnQoJGV2ZW50LCBwcm9kdWN0LCAnQUREJylcIlxuICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImdldFN1cHBvcnRpbmdDb2xvcihkYXRhLnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3IpXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImRhdGEuc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPis8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXByb2R1Y3Q/Lml0ZW1JbnZlbnRvcnk/Lm9wZW5pbmdTdG9ja1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHctMTAwXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+bm90aWZpY2F0aW9uX2ltcG9ydGFudDwvbWF0LWljb24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTJcIj5Ob3RpZnk8L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tIDxuZy10ZW1wbGF0ZSAjbG9hZGluZ1NjcmVlbj5cbiAgPG5neC1za2VsZXRvbi1sb2FkZXIgKm5nSWY9XCJmaWx0ZXJMb2FkaW5nXCIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMHB4JyxcbiAgICAgICAgICAncG9zaXRpb24nOiAncmVsYXRpdmUnLFxuICAgICAgICAgICdyaWdodCc6ICc1cHgnXG4gICAgICAgIH1cIiAvPlxuPC9uZy10ZW1wbGF0ZT4gLS0+Il19
|
@@ -11,6 +11,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
11
11
|
import { MatIcon } from '@angular/material/icon';
|
12
12
|
import { ContentFitDirective } from '../../../directive/content-fit-directive';
|
13
13
|
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
|
14
|
+
import { ButtonEditorDirective } from '@simpo-ui/directive/button-editor.directive';
|
14
15
|
import * as i0 from "@angular/core";
|
15
16
|
import * as i1 from "../../../services/rest.service";
|
16
17
|
import * as i2 from "@angular/router";
|
@@ -43,6 +44,7 @@ export class StoreListComponent extends BaseSection {
|
|
43
44
|
ngOnInit() {
|
44
45
|
this.styles = this.data?.styles;
|
45
46
|
this.getStoreDetails();
|
47
|
+
this.button = this.data?.action?.buttons[0];
|
46
48
|
}
|
47
49
|
getDataWithPincode() {
|
48
50
|
if (this.pincode.toString().length != 6) {
|
@@ -101,10 +103,10 @@ export class StoreListComponent extends BaseSection {
|
|
101
103
|
}
|
102
104
|
}
|
103
105
|
}
|
104
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
105
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: StoreListComponent, isStandalone: true, selector: "simpo-store-list", inputs: { data: "data", edit: "edit", customClass: "customClass", delete: "delete", index: "index" }, usesInheritance: true, ngImport: i0, template: "<div class=\"total-container position-relative\" simpoHover (hovering)=\"showEditTabs($event)\" [id]=\"data?.id\">\r\n <div class=\"main-container\" [simpoAnimation]=\"styles?.animation\" [id]=\"data?.id\">\r\n <div class=\"top-section w-100 d-flex align-items-center justify-content-center text-center flex-column\"\r\n [simpoBackground]=\"styles?.background\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <ng-container *ngIf=\"!loader\">\r\n <div class=\"store-header mb-3\">\r\n {{ submit && showMessage == true && pincode && pincode.toString().length == 6 ? \"Stores in \" +\r\n pincode :\r\n \"Find a Store Near You\"}}\r\n </div>\r\n <div class=\"sub-text\">\r\n {{ submit && showMessage == true && pincode && pincode.toString().length == 6 ? 'We have ' +\r\n totalCount\r\n + ' stores in this locality, scroll down to view the stores\r\n and browse the designs available.' : 'Locate a store near you \u2014 our presence is expanding every day,\r\n and\r\n we look forward to serving you.' }}\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"loader\">\r\n <div class=\"sub-text\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '35%',\r\n height: '3vh',\r\n 'border-radius': '12px',\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"sub-text w-75\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '35%',\r\n height: '2vh',\r\n 'border-radius': '12px',\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <div class=\"location-container d-flex align-items-center justify-content-between w-25\"\r\n [class.error-border]=\"error\">\r\n <div class=\"d-flex align-items-center w-90\">\r\n <div class=\"d-flex mx-1\"><mat-icon class=\"d-flex align-items-center justify-content-center f-20\"\r\n [style.color]=\"data?.styles?.background?.accentColor\">gps_fixed</mat-icon>\r\n </div>\r\n <input type=\"number\" placeholder=\"Pin Code\" [(ngModel)]=\"pincode\" class=\"w-90\"\r\n [style.backgroundColor]=\"data?.styles?.background?.color\"\r\n [style.color]=\"getTextColor(data?.styles?.background?.color)\"\r\n (ngModelChange)=\"pincode.toString().length != 6 ? submit = false : error = false\" />\r\n </div>\r\n <div (click)=\"getDataWithPincode()\" class=\"f-13 cursor-pointer\">Submit</div>\r\n </div>\r\n <span class=\"f-12 w-25 text-start mt-2\" *ngIf=\"error\" [style.color]=\"'#dc3545'\">Invalid Pincode (Ex:500088)</span>\r\n </div>\r\n <div class=\"bottom-container row w-75 mx-auto mt-3\">\r\n <div class=\"w-100 d-flex align-items-center justify-content-center mb-3\"\r\n *ngIf=\"submit && showMessage == false && pincode && pincode.toString().length ==6 && !loader\">\r\n <div class=\"text-center not-available-text\">We are not available in this location currently</div>\r\n </div>\r\n <ng-container *ngIf=\"loader\">\r\n <div class=\"sub-text w-100 text-center\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '35%',\r\n height: '6vh',\r\n 'border-radius': '12px',\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <div class=\"bottom-sub-text mb-3 w-100 f-20\"> {{ submit && showMessage == true && pincode &&\r\n pincode.toString().length == 6 ? \"Showing \" + totalCount + \" Stores in \" + pincode :\r\n \"Showing All Stores\"}}</div>\r\n <ng-container *ngIf=\"!loader;else loaderScreen\">\r\n <div class=\"col-4 p-2\" style=\"border-radius: 12px; border: none;\"\r\n *ngFor=\"let ele of storesList; let i = index\">\r\n <div class=\"card-body p-4 h-100 position-relative\">\r\n <div class=\"d-flex justify-content-between align-items-start mb-3\">\r\n <div>\r\n <h5 class=\"card-title fw-bold mb-1\">{{ele?.name}}</h5>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <p class=\"mb-1 text-dark fw-medium\">{{ele?.addressDetails?.address}},</p>\r\n <p class=\"mb-1 text-dark fw-medium\">{{ele?.addressDetails?.city}},\r\n {{ele?.addressDetails?.state}},{{ele?.addressDetails?.pincode}},</p>\r\n <p class=\"mb-0\">Phone-<span\r\n [style.color]=\"data?.styles?.background?.accentColor\">{{ele?.phone}}</span></p>\r\n </div>\r\n <div class=\"mb-4\">\r\n <p class=\"mb-0\" [style.color]=\"data?.styles?.background?.accentColor\">STORE HOURS -\r\n {{getTime(ele?.storeHours,'OPEN')}} to {{getTime(ele?.storeHours,'CLOSE')}}\r\n </p>\r\n </div>\r\n <div class=\"d-flex gap-3 align-items-center card-bottom\">\r\n <div class=\"rounded-circle d-flex align-items-center justify-content-center\"\r\n style=\"width: 40px; height: 30px; background-color: #25d366;\"\r\n (click)=\"openWhatsapp(ele?.phone)\">\r\n <i class=\"fab fa-whatsapp text-white fs-5\"></i>\r\n </div>\r\n <!-- <button class=\"btn flex-fill py-2 fw-semibold\"\r\n style=\"background-color: #e8e3ff; color: #6b46c1; border: none; border-radius: 25px;font-size: 12px !important;\">\r\n BOOK A VISIT\r\n </button> -->\r\n <button class=\"btn flex-fill py-2 fw-semibold text-white\"\r\n style=\"background: linear-gradient(135deg, #a855f7, #ec4899); border: none; border-radius: 25px;font-size: 12px !important;\"\r\n (click)=\"viewStore(ele.storeId)\">\r\n VIEW STORE\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-template #loaderScreen>\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let ele of [1,2,3,4,5,6]\">\r\n <ngx-skeleton-loader class=\"col-4\" [theme]=\"{\r\n width: '100%',\r\n height: '40vh',\r\n 'border-radius': '12px',\r\n }\"></ngx-skeleton-loader>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</div>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.store-header{font-size:27px;font-weight:700}.sub-text{font-size:16px;width:35%;margin-bottom:15px}.location-container{border:1px solid;padding:8px;border-radius:12px}.location-container input{border:unset;appearance:unset;outline:unset;font-size:13px}.not-available-text{color:#ff5151;font-weight:600;border-radius:22px;text-align:center;padding:12px;background:#ff51511a;width:35%}.f-20{font-size:20px}.f-13{font-size:13px}.w-90{width:90%}.card-body{border:1px solid;border-radius:18px;height:100%}.cdk-virtual-scroll-viewport{display:unset}.cdk-virtual-scroll-content-wrapper{position:unset!important}.card-bottom{position:absolute;bottom:8px;left:25px;width:90%}.error-border{border:2px solid #dc3545!important}.f-12{font-size:12px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i5.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i6.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "component", type: i7.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }] }); }
|
106
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StoreListComponent, deps: [{ token: i1.RestService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
107
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StoreListComponent, isStandalone: true, selector: "simpo-store-list", inputs: { data: "data", edit: "edit", customClass: "customClass", delete: "delete", index: "index" }, usesInheritance: true, ngImport: i0, template: "<div class=\"total-container position-relative\" simpoHover (hovering)=\"showEditTabs($event)\" [id]=\"data?.id\">\n <div class=\"main-container\" [simpoAnimation]=\"styles?.animation\" [id]=\"data?.id\">\n <div class=\"top-section w-100 d-flex align-items-center justify-content-center text-center flex-column\"\n [simpoBackground]=\"styles?.background\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\n <ng-container *ngIf=\"!loader\">\n <div class=\"store-header mb-3\">\n {{ submit && showMessage == true && pincode && pincode.toString().length == 6 ? \"Stores in \" +\n pincode :\n \"Find a Store Near You\"}}\n </div>\n <div class=\"sub-text\">\n {{ submit && showMessage == true && pincode && pincode.toString().length == 6 ? 'We have ' +\n totalCount\n + ' stores in this locality, scroll down to view the stores\n and browse the designs available.' : 'Locate a store near you \u2014 our presence is expanding every day,\n and\n we look forward to serving you.' }}\n </div>\n </ng-container>\n <ng-container *ngIf=\"loader\">\n <div class=\"sub-text\">\n <ngx-skeleton-loader [theme]=\"{\n width: '35%',\n height: '3vh',\n 'border-radius': '12px',\n }\"></ngx-skeleton-loader>\n </div>\n <div class=\"sub-text w-75\">\n <ngx-skeleton-loader [theme]=\"{\n width: '35%',\n height: '2vh',\n 'border-radius': '12px',\n }\"></ngx-skeleton-loader>\n </div>\n </ng-container>\n <div class=\"location-container d-flex align-items-center justify-content-between w-25\"\n [class.error-border]=\"error\">\n <div class=\"d-flex align-items-center w-90\">\n <div class=\"d-flex mx-1\"><mat-icon class=\"d-flex align-items-center justify-content-center f-20\"\n [style.color]=\"data?.styles?.background?.accentColor\">gps_fixed</mat-icon>\n </div>\n <input type=\"number\" placeholder=\"Pin Code\" [(ngModel)]=\"pincode\" class=\"w-90\"\n [style.backgroundColor]=\"data?.styles?.background?.color\"\n [style.color]=\"getTextColor(data?.styles?.background?.color)\"\n (ngModelChange)=\"pincode.toString().length != 6 ? submit = false : error = false\" />\n </div>\n <div (click)=\"getDataWithPincode()\" class=\"f-13 cursor-pointer\">Submit</div>\n </div>\n <span class=\"f-12 w-25 text-start mt-2\" *ngIf=\"error\" [style.color]=\"'#dc3545'\">Invalid Pincode (Ex:500088)</span>\n </div>\n <div class=\"bottom-container row w-75 mx-auto mt-3\">\n <div class=\"w-100 d-flex align-items-center justify-content-center mb-3\"\n *ngIf=\"submit && showMessage == false && pincode && pincode.toString().length ==6 && !loader\">\n <div class=\"text-center not-available-text\">We are not available in this location currently</div>\n </div>\n <ng-container *ngIf=\"loader\">\n <div class=\"sub-text w-100 text-center\">\n <ngx-skeleton-loader [theme]=\"{\n width: '35%',\n height: '6vh',\n 'border-radius': '12px',\n }\"></ngx-skeleton-loader>\n </div>\n </ng-container>\n <div class=\"bottom-sub-text mb-3 w-100 f-20\"> {{ submit && showMessage == true && pincode &&\n pincode.toString().length == 6 ? \"Showing \" + totalCount + \" Stores in \" + pincode :\n \"Showing All Stores\"}}</div>\n <ng-container *ngIf=\"!loader;else loaderScreen\">\n <div class=\"col-4 p-2\" style=\"border-radius: 12px; border: none;\"\n *ngFor=\"let ele of storesList; let i = index\">\n <div class=\"card-body p-4 h-100 position-relative\">\n <div class=\"d-flex justify-content-between align-items-start mb-3\">\n <div>\n <h5 class=\"card-title fw-bold mb-1\">{{ele?.name}}</h5>\n </div>\n </div>\n <div class=\"mb-3\">\n <p class=\"mb-1 text-dark fw-medium\">{{ele?.addressDetails?.address}},</p>\n <p class=\"mb-1 text-dark fw-medium\">{{ele?.addressDetails?.city}},\n {{ele?.addressDetails?.state}},{{ele?.addressDetails?.pincode}},</p>\n <p class=\"mb-0\">Phone-<span\n [style.color]=\"data?.styles?.background?.accentColor\">{{ele?.phone}}</span></p>\n </div>\n <div class=\"mb-5\">\n <p class=\"mb-0\" [style.color]=\"data?.styles?.background?.accentColor\">STORE HOURS -\n {{getTime(ele?.storeHours,'OPEN')}} to {{getTime(ele?.storeHours,'CLOSE')}}\n </p>\n </div>\n <div class=\"d-flex gap-3 align-items-center card-bottom\">\n <div class=\"rounded-circle d-flex align-items-center justify-content-center\"\n style=\"width: 40px; height: 30px; background-color: #25d366;\"\n (click)=\"openWhatsapp(ele?.phone)\">\n <i class=\"fab fa-whatsapp text-white fs-5\"></i>\n </div>\n <!-- <button class=\"btn flex-fill py-2 fw-semibold\"\n style=\"background-color: #e8e3ff; color: #6b46c1; border: none; border-radius: 25px;font-size: 12px !important;\">\n BOOK A VISIT\n </button> -->\n <!-- <button class=\"btn flex-fill py-2 fw-semibold text-white\"\n style=\"background: linear-gradient(135deg, #a855f7, #ec4899); border: none; border-radius: 25px;font-size: 12px !important;\"\n (click)=\"viewStore(ele.storeId)\">\n VIEW STORE\n </button> -->\n <button class=\"btn\" [buttonData]=\"button?.content\" [buttonStyle]=\"button?.styles\"\n simpoButtonDirective [id]=\"data?.id+(button?.id || '')\" [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"\n [backgroundInfo]=\"data?.styles?.background\" [appButtonEditor]=\"edit ?? false\" [buttonId]=\"button?.id ?? ''\" (click)=\"viewStore(ele.storeId)\">{{button?.content?.label}}</button>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #loaderScreen>\n <div class=\"row\">\n <ng-container *ngFor=\"let ele of [1,2,3,4,5,6]\">\n <ngx-skeleton-loader class=\"col-4\" [theme]=\"{\n width: '100%',\n height: '40vh',\n 'border-radius': '12px',\n }\"></ngx-skeleton-loader>\n </ng-container>\n </div>\n </ng-template>\n </div>\n </div>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n</div>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.store-header{font-size:27px;font-weight:700}.sub-text{font-size:16px;width:35%;margin-bottom:15px}.location-container{border:1px solid;padding:8px;border-radius:12px}.location-container input{border:unset;appearance:unset;outline:unset;font-size:13px}.not-available-text{color:#ff5151;font-weight:600;border-radius:22px;text-align:center;padding:12px;background:#ff51511a;width:35%}.f-20{font-size:20px}.f-13{font-size:13px}.w-90{width:90%}.card-body{border:1px solid;border-radius:18px;height:100%}.cdk-virtual-scroll-viewport{display:unset}.cdk-virtual-scroll-content-wrapper{position:unset!important}.card-bottom{position:absolute;bottom:8px;left:25px;width:90%}.error-border{border:2px solid #dc3545!important}.f-12{font-size:12px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i5.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i6.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "component", type: i7.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: ButtonDirectiveDirective, selector: "[simpoButtonDirective]", inputs: ["buttonStyle", "color", "scrollValue", "backgroundInfo"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }, { kind: "directive", type: ButtonEditorDirective, selector: "button[appButtonEditor]", inputs: ["appButtonEditor", "buttonData", "buttonStyle", "backgroundInfo", "sectionId", "buttonId"] }] }); }
|
106
108
|
}
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StoreListComponent, decorators: [{
|
108
110
|
type: Component,
|
109
111
|
args: [{ selector: 'simpo-store-list', standalone: true, imports: [CommonModule,
|
110
112
|
FormsModule,
|
@@ -118,7 +120,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
118
120
|
ButtonDirectiveDirective,
|
119
121
|
ContentFitDirective,
|
120
122
|
NgxSkeletonLoaderModule,
|
121
|
-
|
123
|
+
ButtonEditorDirective
|
124
|
+
], template: "<div class=\"total-container position-relative\" simpoHover (hovering)=\"showEditTabs($event)\" [id]=\"data?.id\">\n <div class=\"main-container\" [simpoAnimation]=\"styles?.animation\" [id]=\"data?.id\">\n <div class=\"top-section w-100 d-flex align-items-center justify-content-center text-center flex-column\"\n [simpoBackground]=\"styles?.background\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\n <ng-container *ngIf=\"!loader\">\n <div class=\"store-header mb-3\">\n {{ submit && showMessage == true && pincode && pincode.toString().length == 6 ? \"Stores in \" +\n pincode :\n \"Find a Store Near You\"}}\n </div>\n <div class=\"sub-text\">\n {{ submit && showMessage == true && pincode && pincode.toString().length == 6 ? 'We have ' +\n totalCount\n + ' stores in this locality, scroll down to view the stores\n and browse the designs available.' : 'Locate a store near you \u2014 our presence is expanding every day,\n and\n we look forward to serving you.' }}\n </div>\n </ng-container>\n <ng-container *ngIf=\"loader\">\n <div class=\"sub-text\">\n <ngx-skeleton-loader [theme]=\"{\n width: '35%',\n height: '3vh',\n 'border-radius': '12px',\n }\"></ngx-skeleton-loader>\n </div>\n <div class=\"sub-text w-75\">\n <ngx-skeleton-loader [theme]=\"{\n width: '35%',\n height: '2vh',\n 'border-radius': '12px',\n }\"></ngx-skeleton-loader>\n </div>\n </ng-container>\n <div class=\"location-container d-flex align-items-center justify-content-between w-25\"\n [class.error-border]=\"error\">\n <div class=\"d-flex align-items-center w-90\">\n <div class=\"d-flex mx-1\"><mat-icon class=\"d-flex align-items-center justify-content-center f-20\"\n [style.color]=\"data?.styles?.background?.accentColor\">gps_fixed</mat-icon>\n </div>\n <input type=\"number\" placeholder=\"Pin Code\" [(ngModel)]=\"pincode\" class=\"w-90\"\n [style.backgroundColor]=\"data?.styles?.background?.color\"\n [style.color]=\"getTextColor(data?.styles?.background?.color)\"\n (ngModelChange)=\"pincode.toString().length != 6 ? submit = false : error = false\" />\n </div>\n <div (click)=\"getDataWithPincode()\" class=\"f-13 cursor-pointer\">Submit</div>\n </div>\n <span class=\"f-12 w-25 text-start mt-2\" *ngIf=\"error\" [style.color]=\"'#dc3545'\">Invalid Pincode (Ex:500088)</span>\n </div>\n <div class=\"bottom-container row w-75 mx-auto mt-3\">\n <div class=\"w-100 d-flex align-items-center justify-content-center mb-3\"\n *ngIf=\"submit && showMessage == false && pincode && pincode.toString().length ==6 && !loader\">\n <div class=\"text-center not-available-text\">We are not available in this location currently</div>\n </div>\n <ng-container *ngIf=\"loader\">\n <div class=\"sub-text w-100 text-center\">\n <ngx-skeleton-loader [theme]=\"{\n width: '35%',\n height: '6vh',\n 'border-radius': '12px',\n }\"></ngx-skeleton-loader>\n </div>\n </ng-container>\n <div class=\"bottom-sub-text mb-3 w-100 f-20\"> {{ submit && showMessage == true && pincode &&\n pincode.toString().length == 6 ? \"Showing \" + totalCount + \" Stores in \" + pincode :\n \"Showing All Stores\"}}</div>\n <ng-container *ngIf=\"!loader;else loaderScreen\">\n <div class=\"col-4 p-2\" style=\"border-radius: 12px; border: none;\"\n *ngFor=\"let ele of storesList; let i = index\">\n <div class=\"card-body p-4 h-100 position-relative\">\n <div class=\"d-flex justify-content-between align-items-start mb-3\">\n <div>\n <h5 class=\"card-title fw-bold mb-1\">{{ele?.name}}</h5>\n </div>\n </div>\n <div class=\"mb-3\">\n <p class=\"mb-1 text-dark fw-medium\">{{ele?.addressDetails?.address}},</p>\n <p class=\"mb-1 text-dark fw-medium\">{{ele?.addressDetails?.city}},\n {{ele?.addressDetails?.state}},{{ele?.addressDetails?.pincode}},</p>\n <p class=\"mb-0\">Phone-<span\n [style.color]=\"data?.styles?.background?.accentColor\">{{ele?.phone}}</span></p>\n </div>\n <div class=\"mb-5\">\n <p class=\"mb-0\" [style.color]=\"data?.styles?.background?.accentColor\">STORE HOURS -\n {{getTime(ele?.storeHours,'OPEN')}} to {{getTime(ele?.storeHours,'CLOSE')}}\n </p>\n </div>\n <div class=\"d-flex gap-3 align-items-center card-bottom\">\n <div class=\"rounded-circle d-flex align-items-center justify-content-center\"\n style=\"width: 40px; height: 30px; background-color: #25d366;\"\n (click)=\"openWhatsapp(ele?.phone)\">\n <i class=\"fab fa-whatsapp text-white fs-5\"></i>\n </div>\n <!-- <button class=\"btn flex-fill py-2 fw-semibold\"\n style=\"background-color: #e8e3ff; color: #6b46c1; border: none; border-radius: 25px;font-size: 12px !important;\">\n BOOK A VISIT\n </button> -->\n <!-- <button class=\"btn flex-fill py-2 fw-semibold text-white\"\n style=\"background: linear-gradient(135deg, #a855f7, #ec4899); border: none; border-radius: 25px;font-size: 12px !important;\"\n (click)=\"viewStore(ele.storeId)\">\n VIEW STORE\n </button> -->\n <button class=\"btn\" [buttonData]=\"button?.content\" [buttonStyle]=\"button?.styles\"\n simpoButtonDirective [id]=\"data?.id+(button?.id || '')\" [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"\n [backgroundInfo]=\"data?.styles?.background\" [appButtonEditor]=\"edit ?? false\" [buttonId]=\"button?.id ?? ''\" (click)=\"viewStore(ele.storeId)\">{{button?.content?.label}}</button>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #loaderScreen>\n <div class=\"row\">\n <ng-container *ngFor=\"let ele of [1,2,3,4,5,6]\">\n <ngx-skeleton-loader class=\"col-4\" [theme]=\"{\n width: '100%',\n height: '40vh',\n 'border-radius': '12px',\n }\"></ngx-skeleton-loader>\n </ng-container>\n </div>\n </ng-template>\n </div>\n </div>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n</div>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.store-header{font-size:27px;font-weight:700}.sub-text{font-size:16px;width:35%;margin-bottom:15px}.location-container{border:1px solid;padding:8px;border-radius:12px}.location-container input{border:unset;appearance:unset;outline:unset;font-size:13px}.not-available-text{color:#ff5151;font-weight:600;border-radius:22px;text-align:center;padding:12px;background:#ff51511a;width:35%}.f-20{font-size:20px}.f-13{font-size:13px}.w-90{width:90%}.card-body{border:1px solid;border-radius:18px;height:100%}.cdk-virtual-scroll-viewport{display:unset}.cdk-virtual-scroll-content-wrapper{position:unset!important}.card-bottom{position:absolute;bottom:8px;left:25px;width:90%}.error-border{border:2px solid #dc3545!important}.f-12{font-size:12px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
|
122
125
|
}], ctorParameters: () => [{ type: i1.RestService }, { type: i2.Router }], propDecorators: { data: [{
|
123
126
|
type: Input
|
124
127
|
}], edit: [{
|
@@ -130,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
130
133
|
}], index: [{
|
131
134
|
type: Input
|
132
135
|
}] } });
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9zdG9yZS1saXN0L3N0b3JlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvc3RvcmUtbGlzdC9zdG9yZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRy9FLE9BQU8sRUFBOEIsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7O0FBdUIx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LENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUE7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7OEdBN0ZVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLHlNQ3RDL0IsZzBQQStITSwrN0JEekdNLFlBQVksNlZBQ3BCLFdBQVcsZ3hCQUNYLG1CQUFtQiwrQkFDbkIsT0FBTywwSUFDUCxvQkFBb0Isb2hCQUNwQixrQkFBa0IseUZBQ2xCLG1CQUFtQiwwR0FFbkIsY0FBYyxnRkFFZCxtQkFBbUIsa0ZBQ25CLHVCQUF1Qjs7MkZBS2Qsa0JBQWtCO2tCQW5COUIsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWTt3QkFDcEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLE9BQU87d0JBQ1Asb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQix1QkFBdUI7cUJBQ3hCO3FHQU1RLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgTmdNb2R1bGUsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vLi4vLi4vc2VjdGlvbnMvQmFzZVNlY3Rpb24nO1xyXG5pbXBvcnQgeyBTdG9yZUxpc3RNb2RhbCwgU3RvcmVMaXN0U3R5bGVNb2RlbCB9IGZyb20gJy4vc3RvcmUtbGlzdC5tb2RhbCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFuaW1hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9hbmltYXRpb24tZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvcm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9jb3JuZXItZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2luZGV4JztcclxuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBDb250ZW50Rml0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2NvbnRlbnQtZml0LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmVzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmd4U2tlbGV0b25Mb2FkZXJDb21wb25lbnQsIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlIH0gZnJvbSAnbmd4LXNrZWxldG9uLWxvYWRlcic7XHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tc3RvcmUtbGlzdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0SWNvbixcclxuICAgIFNpbXBvQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgQW5pbWF0aW9uRGlyZWN0aXZlLFxyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIENvcm5lckRpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLFxyXG4gICAgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcclxuICAgIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b3JlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zdG9yZS1saXN0LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9yZUxpc3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiB7XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE/OiBTdG9yZUxpc3RNb2RhbFxyXG4gIEBJbnB1dCgpIGVkaXQ/OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuICBASW5wdXQoKSBkZWxldGU/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGluZGV4PzogbnVtYmVyO1xyXG4gIHBhZ2VObzogbnVtYmVyID0gMDtcclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjYXJkU2l6ZTogbnVtYmVyID0gNTA7XHJcblxyXG5cclxuICBzdHlsZXM/OiBTdG9yZUxpc3RTdHlsZU1vZGVsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3R5bGVzID0gdGhpcy5kYXRhPy5zdHlsZXM7XHJcbiAgICB0aGlzLmdldFN0b3JlRGV0YWlscygpO1xyXG4gIH1cclxuICBzdG9yZXNMaXN0OiBhbnkgPSBbXTtcclxuICBwaW5jb2RlOiBhbnk7XHJcbiAgc3RvcmVQYXlsb2FkOiBhbnkgPSB7XHJcbiAgICBidXNpbmVzc0lkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYnVzaW5lc3NJZCcpID8/IFwiXCIsXHJcbiAgICBwYWdlTm86IDAsXHJcbiAgICBwYWdlU2l6ZTogMTVcclxuICB9XHJcbiAgZ2V0RGF0YVdpdGhQaW5jb2RlKCkge1xyXG4gICAgaWYgKHRoaXMucGluY29kZS50b1N0cmluZygpLmxlbmd0aCAhPSA2KSB7XHJcbiAgICAgIHRoaXMuZXJyb3IgPSB0cnVlXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc3RvcmVQYXlsb2FkLnBpbmNvZGUgPSB0aGlzLnBpbmNvZGU7XHJcbiAgICB0aGlzLmdldFN0b3JlRGV0YWlscygpO1xyXG4gIH1cclxuICBzaG93TWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHRvdGFsQ291bnQ6IG51bWJlciA9IDA7XHJcbiAgc3VibWl0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgbG9hZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBnZXRTdG9yZURldGFpbHMoKSB7XHJcbiAgICB0aGlzLnN1Ym1pdCA9IHRydWU7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldEFsbFN0b3Jlcyh0aGlzLnN0b3JlUGF5bG9hZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnN0b3Jlc0xpc3QgPSByZXM/LmRhdGE/LmRhdGE7XHJcbiAgICAgIHRoaXMudG90YWxDb3VudCA9IHJlcz8uZGF0YT8uY291bnQ7XHJcbiAgICAgIGlmICh0aGlzLnBpbmNvZGU/LnRvU3RyaW5nKCkubGVuZ3RoID09IDYpXHJcbiAgICAgICAgdGhpcy5zaG93TWVzc2FnZSA9IHJlcz8uZGF0YT8uc3RvcmVQcmVzZW50O1xyXG4gICAgICB0aGlzLnN0b3JlUGF5bG9hZC5wYWdlTm8rKztcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZVxyXG4gICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgfSxcclxuICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZVxyXG4gICAgICB9KVxyXG4gIH1cclxuICBnZXRUZXh0Q29sb3IoYmdDb2xvcjogYW55KSB7XHJcbiAgICBpZiAoYmdDb2xvcikge1xyXG4gICAgICBjb25zdCB0aHJlc2hvbGQgPSAxMzA7IC8vIEFkanVzdCB0aGlzIHRocmVzaG9sZCBhcyBuZWVkZWRcclxuICAgICAgY29uc3QgciA9IHBhcnNlSW50KGJnQ29sb3Iuc2xpY2UoMSwgMyksIDE2KTtcclxuICAgICAgY29uc3QgZyA9IHBhcnNlSW50KGJnQ29sb3Iuc2xpY2UoMywgNSksIDE2KTtcclxuICAgICAgY29uc3QgYiA9IHBhcnNlSW50KGJnQ29sb3Iuc2xpY2UoNSwgNyksIDE2KTtcclxuICAgICAgY29uc3QgYnJpZ2h0bmVzcyA9IChyICogMjk5ICsgZyAqIDU4NyArIGIgKiAxMTQpIC8gMTAwMDtcclxuXHJcbiAgICAgIHJldHVybiBicmlnaHRuZXNzID4gdGhyZXNob2xkID8gJyMwMDAwMDAnIDogJyNmZmZmZmYnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiI2ZmZmZmZjtcIlxyXG4gIH1cclxuICBvcGVuV2hhdHNhcHAocGhvbmU6IHN0cmluZykge1xyXG4gICAgaWYgKHBob25lKSB7XHJcbiAgICAgIGNvbnN0IHdoYXRzYXBwVXJsID0gYGh0dHBzOi8vd2EubWUvJHtwaG9uZX1gO1xyXG4gICAgICB3aW5kb3cub3Blbih3aGF0c2FwcFVybCwgJ19ibGFuaycpO1xyXG4gICAgfVxyXG4gIH1cclxuICB2aWV3U3RvcmUoc3RvcmVJZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9zdG9yZSddLCB7IHF1ZXJ5UGFyYW1zOiB7IHN0b3JlSWQ6IHN0b3JlSWQgfSB9KTtcclxuICB9XHJcbiAgZ2V0VGltZShzdG9yZUhvdXJzOiBhbnksIHR5cGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc3QgZGF5TmFtZSA9IHRvZGF5LnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tVVMnLCB7IHdlZWtkYXk6ICdsb25nJyB9KS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgZm9yIChsZXQgZWxlIG9mIHN0b3JlSG91cnMpIHtcclxuICAgICAgaWYgKGVsZS5kYXlPZldlZWsgPT0gZGF5TmFtZSkge1xyXG4gICAgICAgIGlmICh0eXBlID09ICdPUEVOJykge1xyXG4gICAgICAgICAgcmV0dXJuIGVsZS5vcGVuaW5nVGltZVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gZWxlLmNsb3NpbmdUaW1lXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0b3RhbC1jb250YWluZXIgcG9zaXRpb24tcmVsYXRpdmVcIiBzaW1wb0hvdmVyIChob3ZlcmluZyk9XCJzaG93RWRpdFRhYnMoJGV2ZW50KVwiIFtpZF09XCJkYXRhPy5pZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGFpbmVyXCIgW3NpbXBvQW5pbWF0aW9uXT1cInN0eWxlcz8uYW5pbWF0aW9uXCIgW2lkXT1cImRhdGE/LmlkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1zZWN0aW9uIHctMTAwIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciB0ZXh0LWNlbnRlciBmbGV4LWNvbHVtblwiXHJcbiAgICAgICAgICAgIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlcz8ubGF5b3V0XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvcmUtaGVhZGVyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBzdWJtaXQgJiYgc2hvd01lc3NhZ2UgPT0gdHJ1ZSAmJiBwaW5jb2RlICYmIHBpbmNvZGUudG9TdHJpbmcoKS5sZW5ndGggPT0gNiA/IFwiU3RvcmVzIGluIFwiICtcclxuICAgICAgICAgICAgICAgICAgICBwaW5jb2RlIDpcclxuICAgICAgICAgICAgICAgICAgICBcIkZpbmQgYSBTdG9yZSBOZWFyIFlvdVwifX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgc3VibWl0ICYmIHNob3dNZXNzYWdlID09IHRydWUgJiYgcGluY29kZSAmJiBwaW5jb2RlLnRvU3RyaW5nKCkubGVuZ3RoID09IDYgPyAnV2UgaGF2ZSAnICtcclxuICAgICAgICAgICAgICAgICAgICB0b3RhbENvdW50XHJcbiAgICAgICAgICAgICAgICAgICAgKyAnIHN0b3JlcyBpbiB0aGlzIGxvY2FsaXR5LCBzY3JvbGwgZG93biB0byB2aWV3IHRoZSBzdG9yZXNcclxuICAgICAgICAgICAgICAgICAgICBhbmQgYnJvd3NlIHRoZSBkZXNpZ25zIGF2YWlsYWJsZS4nIDogJ0xvY2F0ZSBhIHN0b3JlIG5lYXIgeW91IOKAlCBvdXIgcHJlc2VuY2UgaXMgZXhwYW5kaW5nIGV2ZXJ5IGRheSxcclxuICAgICAgICAgICAgICAgICAgICBhbmRcclxuICAgICAgICAgICAgICAgICAgICB3ZSBsb29rIGZvcndhcmQgdG8gc2VydmluZyB5b3UuJyB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLXRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICczNSUnLFxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnM3ZoJyxcclxuICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMTJweCcsXHJcbiAgICAgICAgICAgICAgICAgfVwiPjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi10ZXh0IHctNzVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICczNSUnLFxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnMnZoJyxcclxuICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMTJweCcsXHJcbiAgICAgICAgICAgICAgICAgfVwiPjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvY2F0aW9uLWNvbnRhaW5lciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMjVcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmVycm9yLWJvcmRlcl09XCJlcnJvclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdy05MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXgtMVwiPjxtYXQtaWNvbiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmLTIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+Z3BzX2ZpeGVkPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIHBsYWNlaG9sZGVyPVwiUGluIENvZGVcIiBbKG5nTW9kZWwpXT1cInBpbmNvZGVcIiBjbGFzcz1cInctOTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uY29sb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiZ2V0VGV4dENvbG9yKGRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uY29sb3IpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGluY29kZS50b1N0cmluZygpLmxlbmd0aCAhPSA2ID8gc3VibWl0ID0gZmFsc2UgOiBlcnJvciA9IGZhbHNlXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwiZ2V0RGF0YVdpdGhQaW5jb2RlKClcIiBjbGFzcz1cImYtMTMgY3Vyc29yLXBvaW50ZXJcIj5TdWJtaXQ8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZi0xMiB3LTI1IHRleHQtc3RhcnQgbXQtMlwiICpuZ0lmPVwiZXJyb3JcIiBbc3R5bGUuY29sb3JdPVwiJyNkYzM1NDUnXCI+SW52YWxpZCBQaW5jb2RlIChFeDo1MDAwODgpPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tY29udGFpbmVyIHJvdyB3LTc1IG14LWF1dG8gbXQtM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG1iLTNcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzdWJtaXQgJiYgc2hvd01lc3NhZ2UgPT0gZmFsc2UgJiYgcGluY29kZSAmJiBwaW5jb2RlLnRvU3RyaW5nKCkubGVuZ3RoID09NiAmJiAhbG9hZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbm90LWF2YWlsYWJsZS10ZXh0XCI+V2UgYXJlIG5vdCBhdmFpbGFibGUgaW4gdGhpcyBsb2NhdGlvbiBjdXJyZW50bHk8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItdGV4dCB3LTEwMCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJzM1JScsXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICc2dmgnLFxyXG4gICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMnB4JyxcclxuICAgICAgICAgICAgICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm90dG9tLXN1Yi10ZXh0IG1iLTMgdy0xMDAgZi0yMFwiPiB7eyBzdWJtaXQgJiYgc2hvd01lc3NhZ2UgPT0gdHJ1ZSAmJiBwaW5jb2RlICYmXHJcbiAgICAgICAgICAgICAgICBwaW5jb2RlLnRvU3RyaW5nKCkubGVuZ3RoID09IDYgPyBcIlNob3dpbmcgXCIgKyB0b3RhbENvdW50ICsgXCIgU3RvcmVzIGluIFwiICsgcGluY29kZSA6XHJcbiAgICAgICAgICAgICAgICBcIlNob3dpbmcgQWxsIFN0b3Jlc1wifX08L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkZXI7ZWxzZSBsb2FkZXJTY3JlZW5cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNCBwLTJcIiBzdHlsZT1cImJvcmRlci1yYWRpdXM6IDEycHg7IGJvcmRlcjogbm9uZTtcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlbGUgb2Ygc3RvcmVzTGlzdDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC00IGgtMTAwIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtc3RhcnQgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlIGZ3LWJvbGQgbWItMVwiPnt7ZWxlPy5uYW1lfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0xIHRleHQtZGFyayBmdy1tZWRpdW1cIj57e2VsZT8uYWRkcmVzc0RldGFpbHM/LmFkZHJlc3N9fSw8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTEgdGV4dC1kYXJrIGZ3LW1lZGl1bVwiPnt7ZWxlPy5hZGRyZXNzRGV0YWlscz8uY2l0eX19LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZWxlPy5hZGRyZXNzRGV0YWlscz8uc3RhdGV9fSx7e2VsZT8uYWRkcmVzc0RldGFpbHM/LnBpbmNvZGV9fSw8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj5QaG9uZS08c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPnt7ZWxlPy5waG9uZX19PC9zcGFuPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIiBbc3R5bGUuY29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPlNUT1JFIEhPVVJTIC1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldFRpbWUoZWxlPy5zdG9yZUhvdXJzLCdPUEVOJyl9fSB0byB7e2dldFRpbWUoZWxlPy5zdG9yZUhvdXJzLCdDTE9TRScpfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTMgYWxpZ24taXRlbXMtY2VudGVyIGNhcmQtYm90dG9tXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZC1jaXJjbGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiA0MHB4OyBoZWlnaHQ6IDMwcHg7IGJhY2tncm91bmQtY29sb3I6ICMyNWQzNjY7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbldoYXRzYXBwKGVsZT8ucGhvbmUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWIgZmEtd2hhdHNhcHAgdGV4dC13aGl0ZSBmcy01XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxidXR0b24gY2xhc3M9XCJidG4gZmxleC1maWxsIHB5LTIgZnctc2VtaWJvbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZThlM2ZmOyBjb2xvcjogIzZiNDZjMTsgYm9yZGVyOiBub25lOyBib3JkZXItcmFkaXVzOiAyNXB4O2ZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PSyBBIFZJU0lUXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gZmxleC1maWxsIHB5LTIgZnctc2VtaWJvbGQgdGV4dC13aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjYTg1NWY3LCAjZWM0ODk5KTsgYm9yZGVyOiBub25lOyBib3JkZXItcmFkaXVzOiAyNXB4O2ZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdTdG9yZShlbGUuc3RvcmVJZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWSUVXIFNUT1JFXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGVyU2NyZWVuPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVsZSBvZiBbMSwyLDMsNCw1LDZdXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNsYXNzPVwiY29sLTRcIiBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJzQwdmgnLFxyXG4gICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMnB4JyxcclxuICAgICAgICAgICAgICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cclxuICAgICAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICAgICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9zdG9yZS1saXN0L3N0b3JlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvc3RvcmUtbGlzdC9zdG9yZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRy9FLE9BQU8sRUFBOEIsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRixPQUFPLEVB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RSxDQUFDO1lBQzNCLElBQUksR0FBRyxDQUFDLFNBQVMsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ25CLE9BQU8sR0FBRyxDQUFDLFdBQVcsQ0FBQTtnQkFDeEIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sR0FBRyxDQUFDLFdBQVcsQ0FBQTtnQkFDeEIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0FqR1Usa0JBQWtCO21HQUFsQixrQkFBa0IseU1DekMvQix5alFBa0lNLCs3QkQxR00sWUFBWSw2VkFDcEIsV0FBVyxneEJBQ1gsbUJBQW1CLCtCQUNuQixPQUFPLDBJQUNQLG9CQUFvQixvaEJBQ3BCLGtCQUFrQix5RkFDbEIsbUJBQW1CLDBHQUVuQixjQUFjLGdGQUNkLHdCQUF3QixzSUFDeEIsbUJBQW1CLGtGQUNuQix1QkFBdUIsK0JBQ3ZCLHFCQUFxQjs7NEZBS1osa0JBQWtCO2tCQXBCOUIsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWTt3QkFDcEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLE9BQU87d0JBQ1Asb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLHFCQUFxQjtxQkFDdEI7cUdBTVEsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBOZ01vZHVsZSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vLi4vLi4vc2VjdGlvbnMvQmFzZVNlY3Rpb24nO1xuaW1wb3J0IHsgU3RvcmVMaXN0TW9kYWwsIFN0b3JlTGlzdFN0eWxlTW9kZWwgfSBmcm9tICcuL3N0b3JlLWxpc3QubW9kYWwnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFuaW1hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9hbmltYXRpb24tZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhY2tncm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYmFja2dyb3VuZC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29ybmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2Nvcm5lci1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2luZGV4JztcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9idXR0b24tZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlckNvbXBvbmVudCwgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUgfSBmcm9tICduZ3gtc2tlbGV0b24tbG9hZGVyJztcbmltcG9ydCB7IEJ1dHRvbkVkaXRvckRpcmVjdGl2ZSB9IGZyb20gJ0BzaW1wby11aS9kaXJlY3RpdmUvYnV0dG9uLWVkaXRvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnV0dG9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ltcG8tc3RvcmUtbGlzdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRJY29uLFxuICAgIFNpbXBvQ29tcG9uZW50TW9kdWxlLFxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxuICAgIENvcm5lckRpcmVjdGl2ZSxcbiAgICBIb3ZlckRpcmVjdGl2ZSxcbiAgICBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUsXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcbiAgICBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSxcbiAgICBCdXR0b25FZGl0b3JEaXJlY3RpdmVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b3JlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc3RvcmUtbGlzdC5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBTdG9yZUxpc3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiB7XG5cbiAgQElucHV0KCkgZGF0YT86IFN0b3JlTGlzdE1vZGFsXG4gIEBJbnB1dCgpIGVkaXQ/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlbGV0ZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGluZGV4PzogbnVtYmVyO1xuICBwYWdlTm86IG51bWJlciA9IDA7XG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBjYXJkU2l6ZTogbnVtYmVyID0gNTA7XG5cblxuICBzdHlsZXM/OiBTdG9yZUxpc3RTdHlsZU1vZGVsO1xuICBidXR0b24/OiBCdXR0b25Nb2RlbFxuICBcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzO1xuICAgIHRoaXMuZ2V0U3RvcmVEZXRhaWxzKCk7XG4gICAgdGhpcy5idXR0b24gPSB0aGlzLmRhdGE/LmFjdGlvbj8uYnV0dG9uc1swXTtcblxuICB9XG4gIHN0b3Jlc0xpc3Q6IGFueSA9IFtdO1xuICBwaW5jb2RlOiBhbnk7XG4gIHN0b3JlUGF5bG9hZDogYW55ID0ge1xuICAgIGJ1c2luZXNzSWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdidXNpbmVzc0lkJykgPz8gXCJcIixcbiAgICBwYWdlTm86IDAsXG4gICAgcGFnZVNpemU6IDE1XG4gIH1cbiAgZ2V0RGF0YVdpdGhQaW5jb2RlKCkge1xuICAgIGlmICh0aGlzLnBpbmNvZGUudG9TdHJpbmcoKS5sZW5ndGggIT0gNikge1xuICAgICAgdGhpcy5lcnJvciA9IHRydWVcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdG9yZVBheWxvYWQucGluY29kZSA9IHRoaXMucGluY29kZTtcbiAgICB0aGlzLmdldFN0b3JlRGV0YWlscygpO1xuICB9XG4gIHNob3dNZXNzYWdlOiBib29sZWFuID0gZmFsc2U7XG4gIHRvdGFsQ291bnQ6IG51bWJlciA9IDA7XG4gIHN1Ym1pdDogYm9vbGVhbiA9IGZhbHNlO1xuICBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZ2V0U3RvcmVEZXRhaWxzKCkge1xuICAgIHRoaXMuc3VibWl0ID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRBbGxTdG9yZXModGhpcy5zdG9yZVBheWxvYWQpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuc3RvcmVzTGlzdCA9IHJlcz8uZGF0YT8uZGF0YTtcbiAgICAgIHRoaXMudG90YWxDb3VudCA9IHJlcz8uZGF0YT8uY291bnQ7XG4gICAgICBpZiAodGhpcy5waW5jb2RlPy50b1N0cmluZygpLmxlbmd0aCA9PSA2KVxuICAgICAgICB0aGlzLnNob3dNZXNzYWdlID0gcmVzPy5kYXRhPy5zdG9yZVByZXNlbnQ7XG4gICAgICB0aGlzLnN0b3JlUGF5bG9hZC5wYWdlTm8rKztcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2VcbiAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XG4gICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlXG4gICAgICB9KVxuICB9XG4gIGdldFRleHRDb2xvcihiZ0NvbG9yOiBhbnkpIHtcbiAgICBpZiAoYmdDb2xvcikge1xuICAgICAgY29uc3QgdGhyZXNob2xkID0gMTMwOyAvLyBBZGp1c3QgdGhpcyB0aHJlc2hvbGQgYXMgbmVlZGVkXG4gICAgICBjb25zdCByID0gcGFyc2VJbnQoYmdDb2xvci5zbGljZSgxLCAzKSwgMTYpO1xuICAgICAgY29uc3QgZyA9IHBhcnNlSW50KGJnQ29sb3Iuc2xpY2UoMywgNSksIDE2KTtcbiAgICAgIGNvbnN0IGIgPSBwYXJzZUludChiZ0NvbG9yLnNsaWNlKDUsIDcpLCAxNik7XG4gICAgICBjb25zdCBicmlnaHRuZXNzID0gKHIgKiAyOTkgKyBnICogNTg3ICsgYiAqIDExNCkgLyAxMDAwO1xuXG4gICAgICByZXR1cm4gYnJpZ2h0bmVzcyA+IHRocmVzaG9sZCA/ICcjMDAwMDAwJyA6ICcjZmZmZmZmJztcbiAgICB9XG4gICAgcmV0dXJuIFwiI2ZmZmZmZjtcIlxuICB9XG4gIG9wZW5XaGF0c2FwcChwaG9uZTogc3RyaW5nKSB7XG4gICAgaWYgKHBob25lKSB7XG4gICAgICBjb25zdCB3aGF0c2FwcFVybCA9IGBodHRwczovL3dhLm1lLyR7cGhvbmV9YDtcbiAgICAgIHdpbmRvdy5vcGVuKHdoYXRzYXBwVXJsLCAnX2JsYW5rJyk7XG4gICAgfVxuICB9XG4gIHZpZXdTdG9yZShzdG9yZUlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9zdG9yZSddLCB7IHF1ZXJ5UGFyYW1zOiB7IHN0b3JlSWQ6IHN0b3JlSWQgfSB9KTtcbiAgfVxuICBnZXRUaW1lKHN0b3JlSG91cnM6IGFueSwgdHlwZTogc3RyaW5nKSB7XG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IGRheU5hbWUgPSB0b2RheS50b0xvY2FsZURhdGVTdHJpbmcoJ2VuLVVTJywgeyB3ZWVrZGF5OiAnbG9uZycgfSkudG9VcHBlckNhc2UoKTtcbiAgICBmb3IgKGxldCBlbGUgb2Ygc3RvcmVIb3Vycykge1xuICAgICAgaWYgKGVsZS5kYXlPZldlZWsgPT0gZGF5TmFtZSkge1xuICAgICAgICBpZiAodHlwZSA9PSAnT1BFTicpIHtcbiAgICAgICAgICByZXR1cm4gZWxlLm9wZW5pbmdUaW1lXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGVsZS5jbG9zaW5nVGltZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidG90YWwtY29udGFpbmVyIHBvc2l0aW9uLXJlbGF0aXZlXCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIiBbaWRdPVwiZGF0YT8uaWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250YWluZXJcIiBbc2ltcG9BbmltYXRpb25dPVwic3R5bGVzPy5hbmltYXRpb25cIiBbaWRdPVwiZGF0YT8uaWRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1zZWN0aW9uIHctMTAwIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciB0ZXh0LWNlbnRlciBmbGV4LWNvbHVtblwiXG4gICAgICAgICAgICBbc2ltcG9CYWNrZ3JvdW5kXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0xheW91dF09XCJzdHlsZXM/LmxheW91dFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvcmUtaGVhZGVyIG1iLTNcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgc3VibWl0ICYmIHNob3dNZXNzYWdlID09IHRydWUgJiYgcGluY29kZSAmJiBwaW5jb2RlLnRvU3RyaW5nKCkubGVuZ3RoID09IDYgPyBcIlN0b3JlcyBpbiBcIiArXG4gICAgICAgICAgICAgICAgICAgIHBpbmNvZGUgOlxuICAgICAgICAgICAgICAgICAgICBcIkZpbmQgYSBTdG9yZSBOZWFyIFlvdVwifX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgc3VibWl0ICYmIHNob3dNZXNzYWdlID09IHRydWUgJiYgcGluY29kZSAmJiBwaW5jb2RlLnRvU3RyaW5nKCkubGVuZ3RoID09IDYgPyAnV2UgaGF2ZSAnICtcbiAgICAgICAgICAgICAgICAgICAgdG90YWxDb3VudFxuICAgICAgICAgICAgICAgICAgICArICcgc3RvcmVzIGluIHRoaXMgbG9jYWxpdHksIHNjcm9sbCBkb3duIHRvIHZpZXcgdGhlIHN0b3Jlc1xuICAgICAgICAgICAgICAgICAgICBhbmQgYnJvd3NlIHRoZSBkZXNpZ25zIGF2YWlsYWJsZS4nIDogJ0xvY2F0ZSBhIHN0b3JlIG5lYXIgeW91IOKAlCBvdXIgcHJlc2VuY2UgaXMgZXhwYW5kaW5nIGV2ZXJ5IGRheSxcbiAgICAgICAgICAgICAgICAgICAgYW5kXG4gICAgICAgICAgICAgICAgICAgIHdlIGxvb2sgZm9yd2FyZCB0byBzZXJ2aW5nIHlvdS4nIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgW3RoZW1lXT1cIntcbiAgICAgICAgICAgICAgICB3aWR0aDogJzM1JScsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnM3ZoJyxcbiAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzEycHgnLFxuICAgICAgICAgICAgICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItdGV4dCB3LTc1XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICczNSUnLFxuICAgICAgICAgICAgICAgIGhlaWdodDogJzJ2aCcsXG4gICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMnB4JyxcbiAgICAgICAgICAgICAgICAgfVwiPjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvY2F0aW9uLWNvbnRhaW5lciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMjVcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5lcnJvci1ib3JkZXJdPVwiZXJyb3JcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB3LTkwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXgtMVwiPjxtYXQtaWNvbiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmLTIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPmdwc19maXhlZDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIHBsYWNlaG9sZGVyPVwiUGluIENvZGVcIiBbKG5nTW9kZWwpXT1cInBpbmNvZGVcIiBjbGFzcz1cInctOTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJnZXRUZXh0Q29sb3IoZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5jb2xvcilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGluY29kZS50b1N0cmluZygpLmxlbmd0aCAhPSA2ID8gc3VibWl0ID0gZmFsc2UgOiBlcnJvciA9IGZhbHNlXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJnZXREYXRhV2l0aFBpbmNvZGUoKVwiIGNsYXNzPVwiZi0xMyBjdXJzb3ItcG9pbnRlclwiPlN1Ym1pdDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImYtMTIgdy0yNSB0ZXh0LXN0YXJ0IG10LTJcIiAqbmdJZj1cImVycm9yXCIgW3N0eWxlLmNvbG9yXT1cIicjZGMzNTQ1J1wiPkludmFsaWQgUGluY29kZSAoRXg6NTAwMDg4KTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tY29udGFpbmVyIHJvdyB3LTc1IG14LWF1dG8gbXQtM1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBtYi0zXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInN1Ym1pdCAmJiBzaG93TWVzc2FnZSA9PSBmYWxzZSAmJiBwaW5jb2RlICYmIHBpbmNvZGUudG9TdHJpbmcoKS5sZW5ndGggPT02ICYmICFsb2FkZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbm90LWF2YWlsYWJsZS10ZXh0XCI+V2UgYXJlIG5vdCBhdmFpbGFibGUgaW4gdGhpcyBsb2NhdGlvbiBjdXJyZW50bHk8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItdGV4dCB3LTEwMCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBbdGhlbWVdPVwie1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnMzUlJyxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICc2dmgnLFxuICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMTJweCcsXG4gICAgICAgICAgICAgICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tc3ViLXRleHQgbWItMyB3LTEwMCBmLTIwXCI+IHt7IHN1Ym1pdCAmJiBzaG93TWVzc2FnZSA9PSB0cnVlICYmIHBpbmNvZGUgJiZcbiAgICAgICAgICAgICAgICBwaW5jb2RlLnRvU3RyaW5nKCkubGVuZ3RoID09IDYgPyBcIlNob3dpbmcgXCIgKyB0b3RhbENvdW50ICsgXCIgU3RvcmVzIGluIFwiICsgcGluY29kZSA6XG4gICAgICAgICAgICAgICAgXCJTaG93aW5nIEFsbCBTdG9yZXNcIn19PC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRlcjtlbHNlIGxvYWRlclNjcmVlblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNCBwLTJcIiBzdHlsZT1cImJvcmRlci1yYWRpdXM6IDEycHg7IGJvcmRlcjogbm9uZTtcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZWxlIG9mIHN0b3Jlc0xpc3Q7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTQgaC0xMDAgcG9zaXRpb24tcmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtc3RhcnQgbWItM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGUgZnctYm9sZCBtYi0xXCI+e3tlbGU/Lm5hbWV9fTwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0xIHRleHQtZGFyayBmdy1tZWRpdW1cIj57e2VsZT8uYWRkcmVzc0RldGFpbHM/LmFkZHJlc3N9fSw8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0xIHRleHQtZGFyayBmdy1tZWRpdW1cIj57e2VsZT8uYWRkcmVzc0RldGFpbHM/LmNpdHl9fSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tlbGU/LmFkZHJlc3NEZXRhaWxzPy5zdGF0ZX19LHt7ZWxlPy5hZGRyZXNzRGV0YWlscz8ucGluY29kZX19LDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj5QaG9uZS08c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj57e2VsZT8ucGhvbmV9fTwvc3Bhbj48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCIgW3N0eWxlLmNvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj5TVE9SRSBIT1VSUyAtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0VGltZShlbGU/LnN0b3JlSG91cnMsJ09QRU4nKX19IHRvIHt7Z2V0VGltZShlbGU/LnN0b3JlSG91cnMsJ0NMT1NFJyl9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMyBhbGlnbi1pdGVtcy1jZW50ZXIgY2FyZC1ib3R0b21cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZC1jaXJjbGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogNDBweDsgaGVpZ2h0OiAzMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjVkMzY2O1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuV2hhdHNhcHAoZWxlPy5waG9uZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWIgZmEtd2hhdHNhcHAgdGV4dC13aGl0ZSBmcy01XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cImJ0biBmbGV4LWZpbGwgcHktMiBmdy1zZW1pYm9sZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZThlM2ZmOyBjb2xvcjogIzZiNDZjMTsgYm9yZGVyOiBub25lOyBib3JkZXItcmFkaXVzOiAyNXB4O2ZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJPT0sgQSBWSVNJVFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cImJ0biBmbGV4LWZpbGwgcHktMiBmdy1zZW1pYm9sZCB0ZXh0LXdoaXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjYTg1NWY3LCAjZWM0ODk5KTsgYm9yZGVyOiBub25lOyBib3JkZXItcmFkaXVzOiAyNXB4O2ZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3U3RvcmUoZWxlLnN0b3JlSWQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZJRVcgU1RPUkVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0blwiIFtidXR0b25EYXRhXT1cImJ1dHRvbj8uY29udGVudFwiIFtidXR0b25TdHlsZV09XCJidXR0b24/LnN0eWxlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2lkXT1cImRhdGE/LmlkKyhidXR0b24/LmlkIHx8ICcnKVwiICBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCIgW2NvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtiYWNrZ3JvdW5kSW5mb109XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmRcIiBbYXBwQnV0dG9uRWRpdG9yXT1cImVkaXQgPz8gZmFsc2VcIiBbYnV0dG9uSWRdPVwiYnV0dG9uPy5pZCA/PyAnJ1wiIChjbGljayk9XCJ2aWV3U3RvcmUoZWxlLnN0b3JlSWQpXCI+e3tidXR0b24/LmNvbnRlbnQ/LmxhYmVsfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsb2FkZXJTY3JlZW4+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbGUgb2YgWzEsMiwzLDQsNSw2XVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY2xhc3M9XCJjb2wtNFwiIFt0aGVtZV09XCJ7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICc0MHZoJyxcbiAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzEycHgnLFxuICAgICAgICAgICAgICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cbiAgICAgICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0RlbGV0ZVwiIFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZGVsZXRlfVwiPlxuICAgICAgICA8c2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiPjwvc2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtbGlzdC5tb2RhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3NlY3Rpb25zL3N0b3JlLWxpc3Qvc3RvcmUtbGlzdC5tb2RhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uTW9kZWwsIEJhbm5lclN0eWxlc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JlTGlzdE1vZGFsIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHNlY3Rpb25UeXBlOiBzdHJpbmc7XG4gICAgc2VjdGlvbk5hbWU6IHN0cmluZztcbiAgICBjb250ZW50OiB7fTtcbiAgICBzdHlsZXM6IFN0b3JlTGlzdFN0eWxlTW9kZWw7XG4gICAgYWN0aW9uOiBBY3Rpb25Nb2RlbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmVMaXN0U3R5bGVNb2RlbCBleHRlbmRzIEJhbm5lclN0eWxlc01vZGVse1xufSAiXX0=
|