@snabcentr/client-ui 2.7.0 → 2.8.1
Sign up to get free protection for your applications and to get access to all the features.
- package/banner/sc-banner.component.d.ts +1 -1
- package/cart/cart-item-mobile/sc-cart-item-mobile.component.d.ts +0 -2
- package/catalog/categories-list/sc-categories-list.component.d.ts +1 -1
- package/catalog/category-card/sc-category-card.component.d.ts +2 -2
- package/catalog/index.d.ts +1 -1
- package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +2 -2
- package/catalog/sc-catalog.module.d.ts +2 -2
- package/catalog/{sc-favorite-btn/sc-favorite-btn.component.d.ts → sc-favorite-button/sc-favorite-button.component.d.ts} +3 -3
- package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +1 -1
- package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +2 -2
- package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +2 -2
- package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +3 -3
- package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +1 -1
- package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +2 -2
- package/esm2022/accordion/sc-accordion-content.directive.mjs +4 -4
- package/esm2022/accordion/sc-accordion.component.mjs +4 -4
- package/esm2022/accordion/sc-accordion.module.mjs +5 -5
- package/esm2022/auth/sc-auth.module.mjs +5 -5
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +5 -4
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +5 -4
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +4 -4
- package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +8 -5
- package/esm2022/banner/sc-banner.component.mjs +8 -6
- package/esm2022/banner/sc-banner.module.mjs +5 -5
- package/esm2022/brands-list/sc-brands-list.component.mjs +4 -4
- package/esm2022/brands-list/sc-brands-list.module.mjs +5 -5
- package/esm2022/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +4 -6
- package/esm2022/cart/sc-cart.module.mjs +5 -5
- package/esm2022/catalog/categories-list/sc-categories-list.component.mjs +6 -6
- package/esm2022/catalog/category-card/sc-category-card.component.mjs +7 -7
- package/esm2022/catalog/index.mjs +2 -2
- package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +4 -4
- package/esm2022/catalog/price-card/sc-price-card.component.mjs +6 -6
- package/esm2022/catalog/price-history/sc-price-history.component.mjs +4 -4
- package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +4 -4
- package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +6 -6
- package/esm2022/catalog/sc-catalog.module.mjs +6 -6
- package/esm2022/catalog/sc-favorite-button/sc-favorite-button.component.mjs +42 -0
- package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +5 -4
- package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +6 -6
- package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +5 -5
- package/esm2022/contacts/sc-contacts.module.mjs +5 -5
- package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +5 -4
- package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +9 -6
- package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +5 -5
- package/esm2022/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +6 -6
- package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +5 -5
- package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +13 -8
- package/esm2022/contragents/sc-contragents.module.mjs +5 -5
- package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +7 -6
- package/esm2022/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +6 -6
- package/esm2022/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +6 -6
- package/esm2022/delivery-address/sc-delivery-address.module.mjs +5 -5
- package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +4 -4
- package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +4 -4
- package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +5 -5
- package/esm2022/directives/tel-link/sc-tel-link.directive.mjs +4 -4
- package/esm2022/directives/tel-link/sc-tel-link.module.mjs +5 -5
- package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +4 -4
- package/esm2022/files/directives/tree-top.directive.mjs +4 -4
- package/esm2022/files/directives/tree.directive.mjs +5 -5
- package/esm2022/files/file-tree-item/file-tree-item.component.mjs +4 -4
- package/esm2022/files/files-and-documents/files-and-documents.component.mjs +4 -4
- package/esm2022/files/files-and-documents.module.mjs +5 -5
- package/esm2022/files/services/tree-icon.service.mjs +4 -4
- package/esm2022/files/services/tree-loader.service.mjs +7 -5
- package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +16 -7
- package/esm2022/form-fields/form-fields.module.mjs +5 -5
- package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +4 -4
- package/esm2022/helpers/sc-px-converter.mjs +5 -5
- package/esm2022/masks/sc-account-number-mask.mjs +2 -2
- package/esm2022/masks/sc-bic-mask.mjs +2 -2
- package/esm2022/masks/sc-correspondent-account-mask.mjs +2 -2
- package/esm2022/masks/sc-inn-mask.mjs +3 -3
- package/esm2022/masks/sc-kpp-mask.mjs +2 -2
- package/esm2022/masks/sc-okpo-mask.mjs +3 -3
- package/esm2022/masks/sc-phone-verification-code-mask.mjs +2 -2
- package/esm2022/news/news-card/sc-news-card.component.mjs +4 -4
- package/esm2022/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +4 -4
- package/esm2022/news/sc-news.module.mjs +5 -5
- package/esm2022/order/order-item-mobile/sc-order-item-mobile.component.mjs +4 -4
- package/esm2022/order/sc-order.module.mjs +5 -5
- package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +5 -5
- package/esm2022/pipes/sc-formatted-phone.mjs +4 -4
- package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +6 -6
- package/esm2022/profile/sc-profile.module.mjs +5 -5
- package/esm2022/providers/index.mjs +2 -2
- package/esm2022/providers/sc-user-providers.mjs +27 -0
- package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +4 -4
- package/esm2022/qrcode/sc-qrcode.module.mjs +5 -5
- package/esm2022/samples/ask-to-sample-form/sc-ask-to-sample-form.component.mjs +5 -5
- package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +5 -5
- package/esm2022/samples/sc-sample.module.mjs +5 -5
- package/esm2022/share-button/sc-share-button.component.mjs +4 -4
- package/esm2022/share-button/sc-share-button.module.mjs +5 -5
- package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +9 -5
- package/esm2022/user/sc-user.module.mjs +5 -5
- package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +6 -5
- package/esm2022/user/user-managers/sc-user-managers.component.mjs +4 -4
- package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +7 -6
- package/esm2022/validators/index.mjs +4 -4
- package/esm2022/validators/sc-bic-validator.mjs +10 -0
- package/esm2022/validators/sc-correspondent-account-validator.mjs +10 -0
- package/esm2022/validators/step-validator.mjs +18 -0
- package/esm2022/verification/sc-verification.module.mjs +5 -5
- package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +5 -5
- package/fesm2022/snabcentr-client-ui.mjs +355 -316
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/files/directives/tree.directive.d.ts +6 -6
- package/files/services/tree-loader.service.d.ts +1 -1
- package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +0 -1
- package/news/news-card/sc-news-card.component.d.ts +1 -1
- package/package.json +28 -27
- package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +2 -2
- package/providers/index.d.ts +1 -1
- package/release_notes.tmp +2 -8
- package/samples/ask-to-sample-form/sc-ask-to-sample-form.component.d.ts +1 -1
- package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +1 -1
- package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +1 -1
- package/validators/index.d.ts +3 -3
- package/validators/{scBicValidator.d.ts → sc-bic-validator.d.ts} +3 -0
- package/validators/{scCorrespondentAccountValidator.d.ts → sc-correspondent-account-validator.d.ts} +3 -0
- package/esm2022/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +0 -42
- package/esm2022/providers/scUserProviders.mjs +0 -27
- package/esm2022/validators/scBicValidator.mjs +0 -7
- package/esm2022/validators/scCorrespondentAccountValidator.mjs +0 -7
- package/esm2022/validators/stepValidator.mjs +0 -18
- /package/providers/{scUserProviders.d.ts → sc-user-providers.d.ts} +0 -0
- /package/validators/{stepValidator.d.ts → step-validator.d.ts} +0 -0
@@ -29,13 +29,13 @@ export class ScUserManagersComponent {
|
|
29
29
|
*/
|
30
30
|
this.qrClickEvent = new EventEmitter();
|
31
31
|
}
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScUserManagersComponent, deps: [{ token: i1.ScUserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ScUserManagersComponent, selector: "sc-user-managers", outputs: { qrClickEvent: "qrClickEvent" }, ngImport: i0, template: "<p class=\"mb-2 font-extrabold\">\u0412\u0430\u0448\u0438 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0435 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u044B:</p>\n<ng-container *ngFor=\"let manager of managers$ | async; let last = last\">\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col gap-1 !font-medium text-tui-text-02\">\n {{ manager.name }}\n <a\n tuiLink\n [pseudo]=\"true\"\n href=\"mailto:{{ manager.contacts.email }}\"\n iconStart=\"@tui.mail\"\n >\n {{ manager.contacts.email }}\n </a>\n <a\n tuiLink\n [scTelLink]=\"manager.contacts.phone\"\n [pseudo]=\"true\"\n href=\"tel:{{ manager.contacts.phone | scFormatePhone }}\"\n iconStart=\"@tui.phone\"\n >\n {{ manager.contacts.phone | scFormatePhone }}\n </a>\n </div>\n <button\n tuiIconButton\n size=\"m\"\n appearance=\"secondary\"\n iconStart=\"@tui.scan-qr-code\"\n (click)=\"qrClickEvent.emit(manager)\"\n ></button>\n </div>\n <hr\n *ngIf=\"!last\"\n class=\"my-2 h-px border-0 bg-tui-base-04\"\n />\n</ng-container>\n", styles: ["a[tuiLink][data-mode=onLight]._pseudo{color:var(--tui-text-secondary)}a[tuiLink][data-mode=onLight]._pseudo:hover{color:var(--tui-text-tertiary)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i3.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i4.ScTerminalLinkDirective, selector: "a[href]" }, { kind: "directive", type: i5.ScTelLinkDirective, selector: "[scTelLink]", inputs: ["scTelLink"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.ScFormatePhonePipe, name: "scFormatePhone" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
34
34
|
}
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScUserManagersComponent, decorators: [{
|
36
36
|
type: Component,
|
37
37
|
args: [{ selector: 'sc-user-managers', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p class=\"mb-2 font-extrabold\">\u0412\u0430\u0448\u0438 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0435 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u044B:</p>\n<ng-container *ngFor=\"let manager of managers$ | async; let last = last\">\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col gap-1 !font-medium text-tui-text-02\">\n {{ manager.name }}\n <a\n tuiLink\n [pseudo]=\"true\"\n href=\"mailto:{{ manager.contacts.email }}\"\n iconStart=\"@tui.mail\"\n >\n {{ manager.contacts.email }}\n </a>\n <a\n tuiLink\n [scTelLink]=\"manager.contacts.phone\"\n [pseudo]=\"true\"\n href=\"tel:{{ manager.contacts.phone | scFormatePhone }}\"\n iconStart=\"@tui.phone\"\n >\n {{ manager.contacts.phone | scFormatePhone }}\n </a>\n </div>\n <button\n tuiIconButton\n size=\"m\"\n appearance=\"secondary\"\n iconStart=\"@tui.scan-qr-code\"\n (click)=\"qrClickEvent.emit(manager)\"\n ></button>\n </div>\n <hr\n *ngIf=\"!last\"\n class=\"my-2 h-px border-0 bg-tui-base-04\"\n />\n</ng-container>\n", styles: ["a[tuiLink][data-mode=onLight]._pseudo{color:var(--tui-text-secondary)}a[tuiLink][data-mode=onLight]._pseudo:hover{color:var(--tui-text-tertiary)}\n"] }]
|
38
38
|
}], ctorParameters: () => [{ type: i1.ScUserService }], propDecorators: { qrClickEvent: [{
|
39
39
|
type: Output
|
40
40
|
}] } });
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci1tYW5hZ2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdXNlci91c2VyLW1hbmFnZXJzL3NjLXVzZXItbWFuYWdlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvdXNlci1tYW5hZ2Vycy9zYy11c2VyLW1hbmFnZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQUV2Qzs7R0FFRztBQU9ILE1BQU0sT0FBTyx1QkFBdUI7SUFjaEM7Ozs7T0FJRztJQUNILFlBQW9DLFdBQTBCO1FBQTFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBbEI5RDs7V0FFRztRQUNhLGNBQVMsR0FBeUMsSUFBSSxDQUFDLFdBQVc7YUFDN0UsY0FBYyxFQUFFO2FBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBYSxFQUFFLENBQWEsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTdJOztXQUVHO1FBRWEsaUJBQVksR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQU92QixDQUFDOytHQW5CekQsdUJBQXVCO21HQUF2Qix1QkFBdUIsbUdDYnBDLDIyQ0FvQ0E7OzRGRHZCYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07a0ZBYy9CLFlBQVk7c0JBRDNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NJTWFuYWdlciwgU2NVc2VyU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0LXRgNGB0L7QvdCw0LvRjNC90YvRhSDQvNC10L3QtdC00LbQtdGA0L7QsiDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtdXNlci1tYW5hZ2VycycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXVzZXItbWFuYWdlcnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NjLXVzZXItbWFuYWdlcnMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NVc2VyTWFuYWdlcnNDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCf0LXRgNGB0L7QvdCw0LvRjNC90YvQtSDQvNC10L3QtdC00LbQtdGA0Ysg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBtYW5hZ2VycyQ6IE9ic2VydmFibGU8U2NJTWFuYWdlcltdIHwgdW5kZWZpbmVkPiA9IHRoaXMudXNlclNlcnZpY2VcbiAgICAgICAgLmdldFVzZXJDaGFuZ2UkKClcbiAgICAgICAgLnBpcGUobWFwKCh1c2VyKSA9PiB1c2VyLm1hbmFnZXJzPy5zb3J0KChhOiBTY0lNYW5hZ2VyLCBiOiBTY0lNYW5hZ2VyKSA9PiBOdW1iZXIoQm9vbGVhbihiLmlzUHJpbWFyeSkpIC0gTnVtYmVyKEJvb2xlYW4oYS5pc1ByaW1hcnkpKSkpKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDIFFSINC60L7QtNCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBxckNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxTY0lNYW5hZ2VyPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NJTWFuYWdlcj4oKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NVc2VyTWFuYWdlcnNDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXJTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNCw0L3QvdGL0YUg0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHVzZXJTZXJ2aWNlOiBTY1VzZXJTZXJ2aWNlKSB7fVxufVxuIiwiPHAgY2xhc3M9XCJtYi0yIGZvbnQtZXh0cmFib2xkXCI+0JLQsNGI0Lgg0L/QtdGA0YHQvtC90LDQu9GM0L3Ri9C1INC80LXQvdC10LTQttC10YDRizo8L3A+XG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtYW5hZ2VyIG9mIG1hbmFnZXJzJCB8IGFzeW5jOyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTEgIWZvbnQtbWVkaXVtIHRleHQtdHVpLXRleHQtMDJcIj5cbiAgICAgICAgICAgIHt7IG1hbmFnZXIubmFtZSB9fVxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBocmVmPVwibWFpbHRvOnt7IG1hbmFnZXIuY29udGFjdHMuZW1haWwgfX1cIlxuICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkubWFpbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbWFuYWdlci5jb250YWN0cy5lbWFpbCB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgW3NjVGVsTGlua109XCJtYW5hZ2VyLmNvbnRhY3RzLnBob25lXCJcbiAgICAgICAgICAgICAgICBbcHNldWRvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGhyZWY9XCJ0ZWw6e3sgbWFuYWdlci5jb250YWN0cy5waG9uZSB8IHNjRm9ybWF0ZVBob25lIH19XCJcbiAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnBob25lXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBtYW5hZ2VyLmNvbnRhY3RzLnBob25lIHwgc2NGb3JtYXRlUGhvbmUgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5zY2FuLXFyLWNvZGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInFyQ2xpY2tFdmVudC5lbWl0KG1hbmFnZXIpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxoclxuICAgICAgICAqbmdJZj1cIiFsYXN0XCJcbiAgICAgICAgY2xhc3M9XCJteS0yIGgtcHggYm9yZGVyLTAgYmctdHVpLWJhc2UtMDRcIlxuICAgIC8+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
@@ -7,7 +7,7 @@ import { ScUserMetrikaGoalsEnum } from '@snabcentr/client-core';
|
|
7
7
|
import { tuiIsFalsy } from '@taiga-ui/cdk';
|
8
8
|
import { POLYMORPHEUS_CONTEXT } from '@taiga-ui/polymorpheus';
|
9
9
|
import { catchError, filter, map, of, share, startWith, Subject, switchMap, tap } from 'rxjs';
|
10
|
-
import { SC_USER_INFO, SC_USER_PROVIDERS } from '../../providers/
|
10
|
+
import { SC_USER_INFO, SC_USER_PROVIDERS } from '../../providers/sc-user-providers';
|
11
11
|
import * as i0 from "@angular/core";
|
12
12
|
import * as i1 from "@snabcentr/client-core";
|
13
13
|
import * as i2 from "@angular/common";
|
@@ -26,7 +26,7 @@ export class ScUserPhoneApproveDialogComponent {
|
|
26
26
|
*
|
27
27
|
* @param verificationService Сервис верификации.
|
28
28
|
* @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
|
29
|
-
* @param user$ Поток
|
29
|
+
* @param user$ Поток данных о текущем пользователе.
|
30
30
|
* @param userService Сервис данных о пользователе.
|
31
31
|
* @param context Контекст диалогового окна, в котором открыт компонент.
|
32
32
|
*/
|
@@ -59,6 +59,7 @@ export class ScUserPhoneApproveDialogComponent {
|
|
59
59
|
const { errors, message } = error.error;
|
60
60
|
for (const key in errors) {
|
61
61
|
if (Object.hasOwn(errors, key)) {
|
62
|
+
// eslint-disable-next-line security/detect-object-injection
|
62
63
|
this.form.get(key)?.setErrors({ serverResponse: errors[key] });
|
63
64
|
}
|
64
65
|
}
|
@@ -84,10 +85,10 @@ export class ScUserPhoneApproveDialogComponent {
|
|
84
85
|
target: ScUserMetrikaGoalsEnum.userProfileApprovePhoneShow,
|
85
86
|
});
|
86
87
|
}
|
87
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
88
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
88
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScUserPhoneApproveDialogComponent, deps: [{ token: i1.ScVerificationService }, { token: i1.ScUserMetrikaService }, { token: SC_USER_INFO }, { token: i1.ScUserService }, { token: POLYMORPHEUS_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
89
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ScUserPhoneApproveDialogComponent, selector: "sc-user-phone-approve-dialog", providers: [SC_USER_PROVIDERS], ngImport: i0, template: "<ng-container *ngIf=\"user$ | async as user\">\n <form\n [formGroup]=\"form\"\n *tuiLet=\"!!(loading$ | async) as loadingApproveCode\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-3\"\n >\n <sc-verification-phone-check-form\n [(haveCode)]=\"haveCode\"\n [shouldBeConfirmed]=\"false\"\n [showCodeFields]=\"!user.contacts.phone.isApproved\"\n [readOnly]=\"true\"\n class=\"w-full\"\n ></sc-verification-phone-check-form>\n <div\n *ngIf=\"user.contacts.phone.isApproved || haveCode\"\n class=\"flex justify-center gap-4\"\n >\n <button\n *ngIf=\"user.contacts.phone.isApproved && context\"\n tuiButton\n (click)=\"context.$implicit.complete()\"\n type=\"button\"\n appearance=\"secondary\"\n >\n \u0417\u0430\u043A\u0440\u044B\u0442\u044C\n </button>\n <button\n *ngIf=\"haveCode\"\n tuiButton\n type=\"submit\"\n [loading]=\"loadingApproveCode\"\n [disabled]=\"form.invalid || loadingApproveCode\"\n iconStart=\"@tui.sc.send\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C\n </button>\n </div>\n </form>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i5.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: i6.ScVerificationPhoneCheckFormComponent, selector: "sc-verification-phone-check-form", inputs: ["showCodeFields", "readOnly", "shouldBeBusy", "shouldBeConfirmed", "haveCode"], outputs: ["haveCodeChange"] }, { kind: "component", type: i7.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
89
90
|
}
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScUserPhoneApproveDialogComponent, decorators: [{
|
91
92
|
type: Component,
|
92
93
|
args: [{ selector: 'sc-user-phone-approve-dialog', providers: [SC_USER_PROVIDERS], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"user$ | async as user\">\n <form\n [formGroup]=\"form\"\n *tuiLet=\"!!(loading$ | async) as loadingApproveCode\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-3\"\n >\n <sc-verification-phone-check-form\n [(haveCode)]=\"haveCode\"\n [shouldBeConfirmed]=\"false\"\n [showCodeFields]=\"!user.contacts.phone.isApproved\"\n [readOnly]=\"true\"\n class=\"w-full\"\n ></sc-verification-phone-check-form>\n <div\n *ngIf=\"user.contacts.phone.isApproved || haveCode\"\n class=\"flex justify-center gap-4\"\n >\n <button\n *ngIf=\"user.contacts.phone.isApproved && context\"\n tuiButton\n (click)=\"context.$implicit.complete()\"\n type=\"button\"\n appearance=\"secondary\"\n >\n \u0417\u0430\u043A\u0440\u044B\u0442\u044C\n </button>\n <button\n *ngIf=\"haveCode\"\n tuiButton\n type=\"submit\"\n [loading]=\"loadingApproveCode\"\n [disabled]=\"form.invalid || loadingApproveCode\"\n iconStart=\"@tui.sc.send\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C\n </button>\n </div>\n </form>\n</ng-container>\n" }]
|
93
94
|
}], ctorParameters: () => [{ type: i1.ScVerificationService }, { type: i1.ScUserMetrikaService }, { type: i8.Observable, decorators: [{
|
@@ -99,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
99
100
|
type: Inject,
|
100
101
|
args: [POLYMORPHEUS_CONTEXT]
|
101
102
|
}] }] });
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci1waG9uZS1hcHByb3ZlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdXNlci91c2VyLXBob25lLWFwcHJvdmUtZGlhbG9nL3NjLXVzZXItcGhvbmUtYXBwcm92ZS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvdXNlci1waG9uZS1hcHByb3ZlLWRpYWxvZy9zYy11c2VyLXBob25lLWFwcHJvdmUtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBaUQsc0JBQXNCLEVBQThELE1BQU0sd0JBQXdCLENBQUM7QUFDM0ssT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHMUcsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7O0FBRWxGOztH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LENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUs7YUFDbkMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsZUFBZTtRQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7WUFDekMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLDJCQUEyQjtTQUM3RCxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXhGUSxpQ0FBaUMsMkZBcUU5QixZQUFZLDBDQUlaLG9CQUFvQjtrR0F6RXZCLGlDQUFpQyx1REFIL0IsQ0FBQyxpQkFBaUIsQ0FBQywwQkNyQmxDLG04Q0F3Q0E7OzJGRGhCYSxpQ0FBaUM7a0JBTjdDLFNBQVM7K0JBQ0ksOEJBQThCLGFBRTdCLENBQUMsaUJBQWlCLENBQUMsbUJBQ2IsdUJBQXVCLENBQUMsTUFBTTs7MEJBdUUxQyxNQUFNOzJCQUFDLFlBQVk7OzBCQUduQixRQUFROzswQkFDUixNQUFNOzJCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4LEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZCAqL1xuXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTY0FwcHJvdmVkRGF0YSwgU2NJUGhvbmVPbkRhdGFBcHByb3ZlLCBTY1VzZXIsIFNjVXNlck1ldHJpa2FHb2Fsc0VudW0sIFNjVXNlck1ldHJpa2FTZXJ2aWNlLCBTY1VzZXJTZXJ2aWNlLCBTY1ZlcmlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUlzRmFsc3kgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aURpYWxvZ0NvbnRleHQgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBQT0xZTU9SUEhFVVNfQ09OVEVYVCB9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIG9mLCBzaGFyZSwgc3RhcnRXaXRoLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBcGlFcnJvclJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vYXV0aC9pbnRlcmZhY2VzL2FwaS1lcnJvci1yZXNwb25zZSc7XG5pbXBvcnQgeyBTQ19VU0VSX0lORk8sIFNDX1VTRVJfUFJPVklERVJTIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3NjVXNlclByb3ZpZGVycyc7XG5cbi8qKlxuICog0JTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4g0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtdXNlci1waG9uZS1hcHByb3ZlLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXVzZXItcGhvbmUtYXBwcm92ZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1NDX1VTRVJfUFJPVklERVJTXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NVc2VyUGhvbmVBcHByb3ZlRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAgICog0J3QsNC70LjRh9C40LUg0LrQvtC00LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0YMg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyBoYXZlQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0JPRgNGD0L/Qv9CwINC/0L7Qu9C10Lkg0LLQstC+0LTQsCDQtNC70Y8g0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgcGhvbmU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMTIpXSksXG4gICAgICAgIHZlcmlmaWNhdGlvbkNvZGU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNildKSxcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBTdWJqZWN0fSDRgdC+0LHRi9GC0LjRjyDQvtGC0L/RgNCw0LLQutC4INGE0L7RgNC80YsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9uU3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3QkID0gdGhpcy5vblN1Ym1pdC5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5mb3JtLnZhbGlkKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuZm9ybS52YWx1ZSBhcyBTY0lQaG9uZU9uRGF0YUFwcHJvdmUpLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgdGhpcy52ZXJpZmljYXRpb25TZXJ2aWNlLmFwcHJvdmVQaG9uZSh2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy51c2VyU2VydmljZS51cGRhdGVVc2VyQ2hhbmdlJCgpKSxcbiAgICAgICAgICAgICAgICB0YXAoKHVzZXIpID0+IHRoaXMuY29udGV4dD8uY29tcGxldGVXaXRoKHVzZXIuY29udGFjdHMucGhvbmUpKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBlcnJvcnMsIG1lc3NhZ2UgfSA9IGVycm9yLmVycm9yIGFzIEFwaUVycm9yUmVzcG9uc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGVycm9ycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChPYmplY3QuaGFzT3duKGVycm9ycywga2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uZ2V0KGtleSk/LnNldEVycm9ycyh7IHNlcnZlclJlc3BvbnNlOiBlcnJvcnNba2V5XSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZXJyb3JzICYmIG1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IFttZXNzYWdlXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih7fSBhcyBTY1VzZXIpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQv9GA0L7RgdCwINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINC90L7QvNC10YDQsCDRgtC10LvQtdGE0L7QvdCwLi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnJlcXVlc3QkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NVc2VyUGhvbmVBcHByb3ZlRGlhbG9nQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB2ZXJpZmljYXRpb25TZXJ2aWNlINCh0LXRgNCy0LjRgSDQstC10YDQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqIEBwYXJhbSB1c2VyTWV0cmlrYVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICogQHBhcmFtIHVzZXIkINCf0L7RgtC+0Log0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqIEBwYXJhbSB1c2VyU2VydmljZSDQodC10YDQstC40YEg0LTQsNC90L3Ri9GFINC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKiBAcGFyYW0gY29udGV4dCDQmtC+0L3RgtC10LrRgdGCINC00LjQsNC70L7Qs9C+0LLQvtCz0L4g0L7QutC90LAsINCyINC60L7RgtC+0YDQvtC8INC+0YLQutGA0YvRgiDQutC+0LzQv9C+0L3QtdC90YIuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHZlcmlmaWNhdGlvblNlcnZpY2U6IFNjVmVyaWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNDX1VTRVJfSU5GTylcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHVzZXIkOiBPYnNlcnZhYmxlPFNjVXNlcj4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFNjVXNlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoUE9MWU1PUlBIRVVTX0NPTlRFWFQpXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBjb250ZXh0PzogVHVpRGlhbG9nQ29udGV4dDxTY0FwcHJvdmVkRGF0YSwgU2NVc2VyUGhvbmVBcHByb3ZlRGlhbG9nQ29tcG9uZW50PlxuICAgICkge1xuICAgICAgICB0aGlzLnVzZXIkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgIHBob25lOiB1c2VyLmNvbnRhY3RzLnBob25lLnZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdGRvYyAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS51c2VyUHJvZmlsZUFwcHJvdmVQaG9uZVNob3csXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VyJCB8IGFzeW5jIGFzIHVzZXJcIj5cbiAgICA8Zm9ybVxuICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICAgICAqdHVpTGV0PVwiISEobG9hZGluZyQgfCBhc3luYykgYXMgbG9hZGluZ0FwcHJvdmVDb2RlXCJcbiAgICAgICAgKG5nU3VibWl0KT1cIm9uU3VibWl0Lm5leHQoKVwiXG4gICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiXG4gICAgPlxuICAgICAgICA8c2MtdmVyaWZpY2F0aW9uLXBob25lLWNoZWNrLWZvcm1cbiAgICAgICAgICAgIFsoaGF2ZUNvZGUpXT1cImhhdmVDb2RlXCJcbiAgICAgICAgICAgIFtzaG91bGRCZUNvbmZpcm1lZF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbc2hvd0NvZGVGaWVsZHNdPVwiIXVzZXIuY29udGFjdHMucGhvbmUuaXNBcHByb3ZlZFwiXG4gICAgICAgICAgICBbcmVhZE9ubHldPVwidHJ1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgID48L3NjLXZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInVzZXIuY29udGFjdHMucGhvbmUuaXNBcHByb3ZlZCB8fCBoYXZlQ29kZVwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgZ2FwLTRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VyLmNvbnRhY3RzLnBob25lLmlzQXBwcm92ZWQgJiYgY29udGV4dFwiXG4gICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbnRleHQuJGltcGxpY2l0LmNvbXBsZXRlKClcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCX0LDQutGA0YvRgtGMXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImhhdmVDb2RlXCJcbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nQXBwcm92ZUNvZGVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWQgfHwgbG9hZGluZ0FwcHJvdmVDb2RlXCJcbiAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnNjLnNlbmRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCf0L7QtNGC0LLQtdGA0LTQuNGC0YxcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci1waG9uZS1hcHByb3ZlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdXNlci91c2VyLXBob25lLWFwcHJvdmUtZGlhbG9nL3NjLXVzZXItcGhvbmUtYXBwcm92ZS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvdXNlci1waG9uZS1hcHByb3ZlLWRpYWxvZy9zYy11c2VyLXBob25lLWFwcHJvdmUtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBaUQsc0JBQXNCLEVBQThELE1BQU0sd0JBQXdCLENBQUM7QUFDM0ssT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHMUcsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7O0FBRXBGOztH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SUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSzthQUNuQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxlQUFlO1FBQ2xCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztZQUN6QyxNQUFNLEVBQUUsc0JBQXNCLENBQUMsMkJBQTJCO1NBQzdELENBQUMsQ0FBQztJQUNQLENBQUM7K0dBekZRLGlDQUFpQywyRkFzRTlCLFlBQVksMENBSVosb0JBQW9CO21HQTFFdkIsaUNBQWlDLHVEQUgvQixDQUFDLGlCQUFpQixDQUFDLDBCQ3JCbEMsbThDQXdDQTs7NEZEaEJhLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDSSw4QkFBOEIsYUFFN0IsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFDYix1QkFBdUIsQ0FBQyxNQUFNOzswQkF3RTFDLE1BQU07MkJBQUMsWUFBWTs7MEJBR25CLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kICovXG5cbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNjQXBwcm92ZWREYXRhLCBTY0lQaG9uZU9uRGF0YUFwcHJvdmUsIFNjVXNlciwgU2NVc2VyTWV0cmlrYUdvYWxzRW51bSwgU2NVc2VyTWV0cmlrYVNlcnZpY2UsIFNjVXNlclNlcnZpY2UsIFNjVmVyaWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgdHVpSXNGYWxzeSB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpRGlhbG9nQ29udGV4dCB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFBPTFlNT1JQSEVVU19DT05URVhUIH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlLCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFwaUVycm9yUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9hdXRoL2ludGVyZmFjZXMvYXBpLWVycm9yLXJlc3BvbnNlJztcbmltcG9ydCB7IFNDX1VTRVJfSU5GTywgU0NfVVNFUl9QUk9WSURFUlMgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvc2MtdXNlci1wcm92aWRlcnMnO1xuXG4vKipcbiAqINCU0LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+INC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINC90L7QvNC10YDQsCDRgtC10LvQtdGE0L7QvdCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXVzZXItcGhvbmUtYXBwcm92ZS1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy11c2VyLXBob25lLWFwcHJvdmUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtTQ19VU0VSX1BST1ZJREVSU10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjVXNlclBob25lQXBwcm92ZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKlxuICAgICAqINCd0LDQu9C40YfQuNC1INC60L7QtNCwINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINGDINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGF2ZUNvZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCT0YDRg9C/0L/QsCDQv9C+0LvQtdC5INCy0LLQvtC00LAg0LTQu9GPINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINC90L7QvNC10YDQsCDRgtC10LvQtdGE0L7QvdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBmb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIHBob25lOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEyKV0pLFxuICAgICAgICB2ZXJpZmljYXRpb25Db2RlOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDYpXSksXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0YHQvtCx0YvRgtC40Y8g0L7RgtC/0YDQsNCy0LrQuCDRhNC+0YDQvNGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBvblN1Ym1pdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0JCA9IHRoaXMub25TdWJtaXQucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuZm9ybS52YWxpZCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm0udmFsdWUgYXMgU2NJUGhvbmVPbkRhdGFBcHByb3ZlKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMudmVyaWZpY2F0aW9uU2VydmljZS5hcHByb3ZlUGhvbmUodmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMudXNlclNlcnZpY2UudXBkYXRlVXNlckNoYW5nZSQoKSksXG4gICAgICAgICAgICAgICAgdGFwKCh1c2VyKSA9PiB0aGlzLmNvbnRleHQ/LmNvbXBsZXRlV2l0aCh1c2VyLmNvbnRhY3RzLnBob25lKSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZXJyb3JzLCBtZXNzYWdlIH0gPSBlcnJvci5lcnJvciBhcyBBcGlFcnJvclJlc3BvbnNlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBlcnJvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0Lmhhc093bihlcnJvcnMsIGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlY3VyaXR5L2RldGVjdC1vYmplY3QtaW5qZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5nZXQoa2V5KT8uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IGVycm9yc1trZXldIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlcnJvcnMgJiYgbWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogW21lc3NhZ2VdIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHt9IGFzIFNjVXNlcik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpXG4gICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHNoYXJlKClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNC/0YDQvtGB0LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMucmVxdWVzdCQucGlwZShtYXAodHVpSXNGYWxzeSkpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1VzZXJQaG9uZUFwcHJvdmVEaWFsb2dDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHZlcmlmaWNhdGlvblNlcnZpY2Ug0KHQtdGA0LLQuNGBINCy0LXRgNC40YTQuNC60LDRhtC40LguXG4gICAgICogQHBhcmFtIHVzZXJNZXRyaWthU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKiBAcGFyYW0gdXNlciQg0J/QvtGC0L7QuiDQtNCw0L3QvdGL0YUg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqIEBwYXJhbSB1c2VyU2VydmljZSDQodC10YDQstC40YEg0LTQsNC90L3Ri9GFINC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKiBAcGFyYW0gY29udGV4dCDQmtC+0L3RgtC10LrRgdGCINC00LjQsNC70L7Qs9C+0LLQvtCz0L4g0L7QutC90LAsINCyINC60L7RgtC+0YDQvtC8INC+0YLQutGA0YvRgiDQutC+0LzQv9C+0L3QtdC90YIuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHZlcmlmaWNhdGlvblNlcnZpY2U6IFNjVmVyaWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNDX1VTRVJfSU5GTylcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHVzZXIkOiBPYnNlcnZhYmxlPFNjVXNlcj4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFNjVXNlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoUE9MWU1PUlBIRVVTX0NPTlRFWFQpXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBjb250ZXh0PzogVHVpRGlhbG9nQ29udGV4dDxTY0FwcHJvdmVkRGF0YSwgU2NVc2VyUGhvbmVBcHByb3ZlRGlhbG9nQ29tcG9uZW50PlxuICAgICkge1xuICAgICAgICB0aGlzLnVzZXIkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgIHBob25lOiB1c2VyLmNvbnRhY3RzLnBob25lLnZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdGRvYyAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS51c2VyUHJvZmlsZUFwcHJvdmVQaG9uZVNob3csXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VyJCB8IGFzeW5jIGFzIHVzZXJcIj5cbiAgICA8Zm9ybVxuICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICAgICAqdHVpTGV0PVwiISEobG9hZGluZyQgfCBhc3luYykgYXMgbG9hZGluZ0FwcHJvdmVDb2RlXCJcbiAgICAgICAgKG5nU3VibWl0KT1cIm9uU3VibWl0Lm5leHQoKVwiXG4gICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiXG4gICAgPlxuICAgICAgICA8c2MtdmVyaWZpY2F0aW9uLXBob25lLWNoZWNrLWZvcm1cbiAgICAgICAgICAgIFsoaGF2ZUNvZGUpXT1cImhhdmVDb2RlXCJcbiAgICAgICAgICAgIFtzaG91bGRCZUNvbmZpcm1lZF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbc2hvd0NvZGVGaWVsZHNdPVwiIXVzZXIuY29udGFjdHMucGhvbmUuaXNBcHByb3ZlZFwiXG4gICAgICAgICAgICBbcmVhZE9ubHldPVwidHJ1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgID48L3NjLXZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInVzZXIuY29udGFjdHMucGhvbmUuaXNBcHByb3ZlZCB8fCBoYXZlQ29kZVwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgZ2FwLTRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VyLmNvbnRhY3RzLnBob25lLmlzQXBwcm92ZWQgJiYgY29udGV4dFwiXG4gICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbnRleHQuJGltcGxpY2l0LmNvbXBsZXRlKClcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCX0LDQutGA0YvRgtGMXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImhhdmVDb2RlXCJcbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nQXBwcm92ZUNvZGVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWQgfHwgbG9hZGluZ0FwcHJvdmVDb2RlXCJcbiAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnNjLnNlbmRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCf0L7QtNGC0LLQtdGA0LTQuNGC0YxcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
@@ -1,5 +1,5 @@
|
|
1
|
-
export * from './
|
2
|
-
export * from './
|
1
|
+
export * from './sc-bic-validator';
|
2
|
+
export * from './sc-correspondent-account-validator';
|
3
3
|
export * from './sc-password-confirm-matching-validator';
|
4
|
-
export * from './
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
4
|
+
export * from './step-validator';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYy1iaWMtdmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtY29ycmVzcG9uZGVudC1hY2NvdW50LXZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3NjLXBhc3N3b3JkLWNvbmZpcm0tbWF0Y2hpbmctdmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc3RlcC12YWxpZGF0b3InO1xuIl19
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/**
|
2
|
+
* Проверяет БИК.
|
3
|
+
*
|
4
|
+
* @param root0 Проверяемое значение.
|
5
|
+
* @param root0.value Проверяемое значение.
|
6
|
+
*/
|
7
|
+
export const scBicValidator = ({ value }) => {
|
8
|
+
return !value || /^0[,14]\d{7}$/.test(value) ? null : { bic: true };
|
9
|
+
};
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYmljLXZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS92YWxpZGF0b3JzL3NjLWJpYy12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWdCLENBQUMsRUFBRSxLQUFLLEVBQWtDLEVBQTJCLEVBQUU7SUFDOUcsT0FBTyxDQUFDLEtBQUssSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3hFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICog0J/RgNC+0LLQtdGA0Y/QtdGCINCR0JjQmi5cbiAqXG4gKiBAcGFyYW0gcm9vdDAg0J/RgNC+0LLQtdGA0Y/QtdC80L7QtSDQt9C90LDRh9C10L3QuNC1LlxuICogQHBhcmFtIHJvb3QwLnZhbHVlINCf0YDQvtCy0LXRgNGP0LXQvNC+0LUg0LfQvdCw0YfQtdC90LjQtS5cbiAqL1xuZXhwb3J0IGNvbnN0IHNjQmljVmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9ICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbDxzdHJpbmcgfCBudWxsPik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICByZXR1cm4gIXZhbHVlIHx8IC9eMFssMTRdXFxkezd9JC8udGVzdCh2YWx1ZSkgPyBudWxsIDogeyBiaWM6IHRydWUgfTtcbn07XG4iXX0=
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/**
|
2
|
+
* Проверяет корреспондентский счет.
|
3
|
+
*
|
4
|
+
* @param root0 Проверяемое значение.
|
5
|
+
* @param root0.value Проверяемое значение.
|
6
|
+
*/
|
7
|
+
export const scCorrespondentAccountValidator = ({ value }) => {
|
8
|
+
return !value || /^[,34]01\d{17}$|^03\d{18}$/.test(value) ? null : { correspondentAccount: true };
|
9
|
+
};
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY29ycmVzcG9uZGVudC1hY2NvdW50LXZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS92YWxpZGF0b3JzL3NjLWNvcnJlc3BvbmRlbnQtYWNjb3VudC12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBa0MsRUFBMkIsRUFBRTtJQUMvSCxPQUFPLENBQUMsS0FBSyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3RHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICog0J/RgNC+0LLQtdGA0Y/QtdGCINC60L7RgNGA0LXRgdC/0L7QvdC00LXQvdGC0YHQutC40Lkg0YHRh9C10YIuXG4gKlxuICogQHBhcmFtIHJvb3QwINCf0YDQvtCy0LXRgNGP0LXQvNC+0LUg0LfQvdCw0YfQtdC90LjQtS5cbiAqIEBwYXJhbSByb290MC52YWx1ZSDQn9GA0L7QstC10YDRj9C10LzQvtC1INC30L3QsNGH0LXQvdC40LUuXG4gKi9cbmV4cG9ydCBjb25zdCBzY0NvcnJlc3BvbmRlbnRBY2NvdW50VmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9ICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbDxzdHJpbmcgfCBudWxsPik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICByZXR1cm4gIXZhbHVlIHx8IC9eWywzNF0wMVxcZHsxN30kfF4wM1xcZHsxOH0kLy50ZXN0KHZhbHVlKSA/IG51bGwgOiB7IGNvcnJlc3BvbmRlbnRBY2NvdW50OiB0cnVlIH07XG59O1xuIl19
|
@@ -0,0 +1,18 @@
|
|
1
|
+
/**
|
2
|
+
* Проверяет кратность значения.
|
3
|
+
*
|
4
|
+
* @param step Шаг кратности.
|
5
|
+
* @param precision Точность, количество чисел после запятой.
|
6
|
+
*/
|
7
|
+
export function stepValidator(step, precision = 3) {
|
8
|
+
return ({ value }) => {
|
9
|
+
if (!step) {
|
10
|
+
return null;
|
11
|
+
}
|
12
|
+
if (value) {
|
13
|
+
return Number((value / step).toFixed(precision)) % 1 === 0 ? null : { error: `Число не кратно ${step}` };
|
14
|
+
}
|
15
|
+
return null;
|
16
|
+
};
|
17
|
+
}
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdmFsaWRhdG9ycy9zdGVwLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWSxFQUFFLFlBQW9CLENBQUM7SUFDN0QsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFrQyxFQUEyQixFQUFFO1FBQzFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNSLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxNQUFNLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxtQkFBbUIsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUM3RyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICog0J/RgNC+0LLQtdGA0Y/QtdGCINC60YDQsNGC0L3QvtGB0YLRjCDQt9C90LDRh9C10L3QuNGPLlxuICpcbiAqIEBwYXJhbSBzdGVwINCo0LDQsyDQutGA0LDRgtC90L7RgdGC0LguXG4gKiBAcGFyYW0gcHJlY2lzaW9uINCi0L7Rh9C90L7RgdGC0YwsINC60L7Qu9C40YfQtdGB0YLQstC+INGH0LjRgdC10Lsg0L/QvtGB0LvQtSDQt9Cw0L/Rj9GC0L7QuS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0ZXBWYWxpZGF0b3Ioc3RlcDogbnVtYmVyLCBwcmVjaXNpb246IG51bWJlciA9IDMpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbDxudW1iZXIgfCBudWxsPik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgaWYgKCFzdGVwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlcigodmFsdWUgLyBzdGVwKS50b0ZpeGVkKHByZWNpc2lvbikpICUgMSA9PT0gMCA/IG51bGwgOiB7IGVycm9yOiBg0KfQuNGB0LvQviDQvdC1INC60YDQsNGC0L3QviAke3N0ZXB9YCB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbn1cbiJdfQ==
|
@@ -12,8 +12,8 @@ import * as i0 from "@angular/core";
|
|
12
12
|
* Модуль отправки кодов подтверждения (номера телефона, адреса эл. почты и т.д.).
|
13
13
|
*/
|
14
14
|
export class ScVerificationModule {
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
16
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScVerificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
16
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: ScVerificationModule, declarations: [ScVerificationPhoneCheckFormComponent], imports: [CommonModule,
|
17
17
|
FormsModule,
|
18
18
|
ReactiveFormsModule,
|
19
19
|
TuiInputPasswordModule,
|
@@ -29,7 +29,7 @@ export class ScVerificationModule {
|
|
29
29
|
TuiInputPhoneModule,
|
30
30
|
MaskitoDirective,
|
31
31
|
TuiButtonLoading], exports: [ScVerificationPhoneCheckFormComponent] }); }
|
32
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
32
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScVerificationModule, imports: [CommonModule,
|
33
33
|
FormsModule,
|
34
34
|
ReactiveFormsModule,
|
35
35
|
TuiInputPasswordModule,
|
@@ -40,7 +40,7 @@ export class ScVerificationModule {
|
|
40
40
|
TuiInputPhoneModule,
|
41
41
|
TuiButtonLoading] }); }
|
42
42
|
}
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScVerificationModule, decorators: [{
|
44
44
|
type: NgModule,
|
45
45
|
args: [{
|
46
46
|
imports: [
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
65
65
|
declarations: [ScVerificationPhoneCheckFormComponent],
|
66
66
|
}]
|
67
67
|
}] });
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdmVyaWZpY2F0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS92ZXJpZmljYXRpb24vc2MtdmVyaWZpY2F0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0gsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7O0FBRW5JOztHQUVHO0FBdUJILE1BQU0sT0FBTyxvQkFBb0I7K0dBQXBCLG9CQUFvQjtnSEFBcEIsb0JBQW9CLGlCQUZkLHFDQUFxQyxhQWxCaEQsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLGNBQWM7WUFDZCw0QkFBNEI7WUFDNUIsT0FBTztZQUNQLFNBQVM7WUFDVCxRQUFRO1lBQ1IsaUJBQWlCO1lBQ2pCLFFBQVE7WUFDUixNQUFNO1lBQ04sU0FBUztZQUNULG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsZ0JBQWdCLGFBRVYscUNBQXFDO2dIQUd0QyxvQkFBb0IsWUFwQnpCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0QixjQUFjO1lBQ2QsNEJBQTRCO1lBSzVCLFFBQVE7WUFFUixTQUFTO1lBQ1QsbUJBQW1CO1lBRW5CLGdCQUFnQjs7NEZBS1gsb0JBQW9CO2tCQXRCaEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixjQUFjO3dCQUNkLDRCQUE0Qjt3QkFDNUIsT0FBTzt3QkFDUCxTQUFTO3dCQUNULFFBQVE7d0JBQ1IsaUJBQWlCO3dCQUNqQixRQUFRO3dCQUNSLE1BQU07d0JBQ04sU0FBUzt3QkFDVCxtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztvQkFDaEQsWUFBWSxFQUFFLENBQUMscUNBQXFDLENBQUM7aUJBQ3hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hc2tpdG9EaXJlY3RpdmUgfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB7IFR1aUxldCB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlFcnJvciwgVHVpTGFiZWwsIFR1aUxpbmssIFR1aUxvYWRlciB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUJ1dHRvbkxvYWRpbmcsIFR1aUZpZWxkRXJyb3JQaXBlIH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQgeyBUdWlJbnB1dE1vZHVsZSwgVHVpSW5wdXRQYXNzd29yZE1vZHVsZSwgVHVpSW5wdXRQaG9uZU1vZHVsZSwgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3knO1xuXG5pbXBvcnQgeyBTY1ZlcmlmaWNhdGlvblBob25lQ2hlY2tGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi92ZXJpZmljYXRpb24tcGhvbmUtY2hlY2stZm9ybS9zYy12ZXJpZmljYXRpb24tcGhvbmUtY2hlY2stZm9ybS5jb21wb25lbnQnO1xuXG4vKipcbiAqINCc0L7QtNGD0LvRjCDQvtGC0L/RgNCw0LLQutC4INC60L7QtNC+0LIg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8gKNC90L7QvNC10YDQsCDRgtC10LvQtdGE0L7QvdCwLCDQsNC00YDQtdGB0LAg0Y3Quy4g0L/QvtGH0YLRiyDQuCDRgi7QtC4pLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVHVpSW5wdXRQYXNzd29yZE1vZHVsZSxcbiAgICAgICAgVHVpSW5wdXRNb2R1bGUsXG4gICAgICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgICAgIFR1aUxpbmssXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpTGFiZWwsXG4gICAgICAgIFR1aUZpZWxkRXJyb3JQaXBlLFxuICAgICAgICBUdWlFcnJvcixcbiAgICAgICAgVHVpTGV0LFxuICAgICAgICBUdWlMb2FkZXIsXG4gICAgICAgIFR1aUlucHV0UGhvbmVNb2R1bGUsXG4gICAgICAgIE1hc2tpdG9EaXJlY3RpdmUsXG4gICAgICAgIFR1aUJ1dHRvbkxvYWRpbmcsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbU2NWZXJpZmljYXRpb25QaG9uZUNoZWNrRm9ybUNvbXBvbmVudF0sXG4gICAgZGVjbGFyYXRpb25zOiBbU2NWZXJpZmljYXRpb25QaG9uZUNoZWNrRm9ybUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjVmVyaWZpY2F0aW9uTW9kdWxlIHt9XG4iXX0=
|
@@ -74,7 +74,7 @@ export class ScVerificationPhoneCheckFormComponent {
|
|
74
74
|
if (error instanceof HttpErrorResponse) {
|
75
75
|
const errorResponse = error.error;
|
76
76
|
const regex = /(\d{2}):\d{2}/;
|
77
|
-
const match = errorResponse.message
|
77
|
+
const match = regex.exec(errorResponse.message);
|
78
78
|
if (match && match.length > 1) {
|
79
79
|
const timeParts = match[0].split(':');
|
80
80
|
const seconds = Number.parseInt(timeParts[1], 10);
|
@@ -173,10 +173,10 @@ export class ScVerificationPhoneCheckFormComponent {
|
|
173
173
|
this.haveCode = haveCode;
|
174
174
|
this.haveCodeChange.emit(haveCode);
|
175
175
|
}
|
176
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
177
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
176
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScVerificationPhoneCheckFormComponent, deps: [{ token: i1.ScVerificationService }, { token: FormGroupDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
177
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ScVerificationPhoneCheckFormComponent, selector: "sc-verification-phone-check-form", inputs: { showCodeFields: "showCodeFields", readOnly: "readOnly", shouldBeBusy: "shouldBeBusy", shouldBeConfirmed: "shouldBeConfirmed", haveCode: "haveCode" }, outputs: { haveCodeChange: "haveCodeChange" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n *tuiLet=\"loadingApproveCode$ | async as loadingApproveCode\"\n class=\"flex flex-col gap-3\"\n>\n <label tuiLabel\n >\u041D\u043E\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430\n <tui-input-phone\n formControlName=\"phone\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldCustomContent]=\"checkingPhone\"\n >\n \u041D\u043E\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430\n <input\n tuiTextfieldLegacy\n autocomplete=\"phone\"\n />\n </tui-input-phone>\n <tui-error\n formControlName=\"phone\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <ng-container *ngIf=\"showCodeFields && form.enabled\">\n <label\n *ngIf=\"loadingApproveCode === false && haveCode\"\n tuiLabel\n >\u041A\u043E\u0434 \u0438\u0437 \u0421\u041C\u0421\n <tui-input formControlName=\"verificationCode\">\n \u041A\u043E\u0434 \u0438\u0437 \u0421\u041C\u0421\n <input\n tuiTextfieldLegacy\n [maskito]=\"verificationCodeMask\"\n autocomplete=\"new-password\"\n />\n </tui-input>\n <tui-error\n formControlName=\"verificationCode\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n\n <div\n *tuiLet=\"!!loadingApproveCode as loadingApproveCode\"\n class=\"flex justify-center gap-4\"\n >\n <button\n *ngIf=\"!haveCode\"\n tuiButton\n (click)=\"onSendCode.next()\"\n [disabled]=\"loadingApproveCode || !!!(phoneCheck$ | async) || phoneControl.invalid\"\n [loading]=\"loadingApproveCode\"\n iconStart=\"@tui.sc.send\"\n >\n \u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043A\u043E\u0434\n </button>\n <button\n *ngIf=\"!loadingApproveCode && !haveCode\"\n tuiLink\n [pseudo]=\"true\"\n [disabled]=\"!!!(phoneCheck$ | async) || phoneControl.invalid\"\n (click)=\"setHaveCode(true)\"\n >\n \u0423 \u043C\u0435\u043D\u044F \u0435\u0441\u0442\u044C \u043A\u043E\u0434\n </button>\n\n <ng-container *tuiLet=\"timer$ | async as timer\">\n <tui-loader\n *ngIf=\"haveCode\"\n [showLoader]=\"loadingApproveCode\"\n >\n <button\n tuiLink\n [pseudo]=\"true\"\n [disabled]=\"loadingApproveCode || timer\"\n (click)=\"onSendCode.next()\"\n >\n \u041F\u043E\u0432\u0442\u043E\u0440\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u0434\n <ng-container\n *ngIf=\"timer\"\n class=\"!text-tui-base-08\"\n >(\u0447\u0435\u0440\u0435\u0437 {{ timer }})</ng-container\n >\n </button>\n </tui-loader>\n </ng-container>\n </div>\n </ng-container>\n</form>\n\n<ng-template #checkingPhone>\n <tui-loader\n *ngIf=\"!!!(phoneCheck$ | async) && phoneControl.valid\"\n class=\"size-4\"\n >\n </tui-loader>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.TuiTextfieldComponent, selector: "input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]" }, { kind: "component", type: i5.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i5.TuiInputDirective, selector: "tui-input" }, { kind: "directive", type: i5.TuiTextfieldCustomContentDirective, selector: "[tuiTextfieldCustomContent]", inputs: ["tuiTextfieldCustomContent"] }, { kind: "directive", type: i6.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i6.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i6.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i6.TuiError, selector: "tui-error", inputs: ["error"] }, { kind: "directive", type: i7.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: i6.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "component", type: i5.TuiInputPhoneComponent, selector: "tui-input-phone", inputs: ["phoneMaskAfterCountryCode", "allowText", "search", "countryCode"], outputs: ["searchChange"] }, { kind: "directive", type: i5.TuiInputPhoneDirective, selector: "tui-input-phone" }, { kind: "directive", type: i8.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: i9.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
178
178
|
}
|
179
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScVerificationPhoneCheckFormComponent, decorators: [{
|
180
180
|
type: Component,
|
181
181
|
args: [{ selector: 'sc-verification-phone-check-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n [formGroup]=\"form\"\n *tuiLet=\"loadingApproveCode$ | async as loadingApproveCode\"\n class=\"flex flex-col gap-3\"\n>\n <label tuiLabel\n >\u041D\u043E\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430\n <tui-input-phone\n formControlName=\"phone\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldCustomContent]=\"checkingPhone\"\n >\n \u041D\u043E\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430\n <input\n tuiTextfieldLegacy\n autocomplete=\"phone\"\n />\n </tui-input-phone>\n <tui-error\n formControlName=\"phone\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <ng-container *ngIf=\"showCodeFields && form.enabled\">\n <label\n *ngIf=\"loadingApproveCode === false && haveCode\"\n tuiLabel\n >\u041A\u043E\u0434 \u0438\u0437 \u0421\u041C\u0421\n <tui-input formControlName=\"verificationCode\">\n \u041A\u043E\u0434 \u0438\u0437 \u0421\u041C\u0421\n <input\n tuiTextfieldLegacy\n [maskito]=\"verificationCodeMask\"\n autocomplete=\"new-password\"\n />\n </tui-input>\n <tui-error\n formControlName=\"verificationCode\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n\n <div\n *tuiLet=\"!!loadingApproveCode as loadingApproveCode\"\n class=\"flex justify-center gap-4\"\n >\n <button\n *ngIf=\"!haveCode\"\n tuiButton\n (click)=\"onSendCode.next()\"\n [disabled]=\"loadingApproveCode || !!!(phoneCheck$ | async) || phoneControl.invalid\"\n [loading]=\"loadingApproveCode\"\n iconStart=\"@tui.sc.send\"\n >\n \u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043A\u043E\u0434\n </button>\n <button\n *ngIf=\"!loadingApproveCode && !haveCode\"\n tuiLink\n [pseudo]=\"true\"\n [disabled]=\"!!!(phoneCheck$ | async) || phoneControl.invalid\"\n (click)=\"setHaveCode(true)\"\n >\n \u0423 \u043C\u0435\u043D\u044F \u0435\u0441\u0442\u044C \u043A\u043E\u0434\n </button>\n\n <ng-container *tuiLet=\"timer$ | async as timer\">\n <tui-loader\n *ngIf=\"haveCode\"\n [showLoader]=\"loadingApproveCode\"\n >\n <button\n tuiLink\n [pseudo]=\"true\"\n [disabled]=\"loadingApproveCode || timer\"\n (click)=\"onSendCode.next()\"\n >\n \u041F\u043E\u0432\u0442\u043E\u0440\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u0434\n <ng-container\n *ngIf=\"timer\"\n class=\"!text-tui-base-08\"\n >(\u0447\u0435\u0440\u0435\u0437 {{ timer }})</ng-container\n >\n </button>\n </tui-loader>\n </ng-container>\n </div>\n </ng-container>\n</form>\n\n<ng-template #checkingPhone>\n <tui-loader\n *ngIf=\"!!!(phoneCheck$ | async) && phoneControl.valid\"\n class=\"size-4\"\n >\n </tui-loader>\n</ng-template>\n" }]
|
182
182
|
}], ctorParameters: () => [{ type: i1.ScVerificationService }, { type: i3.FormGroupDirective, decorators: [{
|
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
195
195
|
}], haveCodeChange: [{
|
196
196
|
type: Output
|
197
197
|
}] } });
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdmVyaWZpY2F0aW9uLXBob25lLWNoZWNrLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3ZlcmlmaWNhdGlvbi92ZXJpZmljYXRpb24tcGhvbmUtY2hlY2stZm9ybS9zYy12ZXJpZmljYXRpb24tcGhvbmUtY2hlY2stZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdmVyaWZpY2F0aW9uL3ZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtL3NjLXZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUVoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQTBCLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczSyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7O0FBRTFEOztHQUVHO0FBTUgsTUFBTSxPQUFPLHFDQUFxQztJQUM5Qzs7T0FFRztJQUNILElBQ1cs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O1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OEdBMU9RLHFDQUFxQyx1REFnSmxDLGtCQUFrQjtrR0FoSnJCLHFDQUFxQyx1UkNyQmxELDZwSEFpR0E7OzJGRDVFYSxxQ0FBcUM7a0JBTGpELFNBQVM7K0JBQ0ksa0NBQWtDLG1CQUUzQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFrSjFDLE1BQU07MkJBQUMsa0JBQWtCO3lDQTNJbkIsY0FBYztzQkFEeEIsS0FBSztnQkFpQkMsUUFBUTtzQkFEZCxLQUFLO2dCQU9DLFlBQVk7c0JBRGxCLEtBQUs7Z0JBT0MsaUJBQWlCO3NCQUR2QixLQUFLO2dCQU9DLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxjQUFjO3NCQURwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdW5kZXJzY29yZS1kYW5nbGUsbG9kYXNoL3ByZWZlci1jb25zdGFudCAqL1xuXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1Hcm91cERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hc2tpdG9PcHRpb25zIH0gZnJvbSAnQG1hc2tpdG8vY29yZSc7XG5pbXBvcnQgeyBTY1ZlcmlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUNvbnRyb2xWYWx1ZSB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGVuZFdpdGgsIGZpbHRlciwgZmluYWxpemUsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNjYW4sIHNoYXJlLCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFrZVdoaWxlLCB0YXAsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFwaUVycm9yUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9hdXRoL2ludGVyZmFjZXMvYXBpLWVycm9yLXJlc3BvbnNlJztcbmltcG9ydCB7IHNjUGhvbmVWZXJpZmljYXRpb25Db2RlTWFzayB9IGZyb20gJy4uLy4uL21hc2tzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YTQvtGA0LzRiyDQv9GA0L7QstC10YDQutC4INGC0LXQu9C10YTQvtC90LAg0Lgg0L/QvtC70YPRh9C10L3QuNGPINC60L7QtNCwINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtdmVyaWZpY2F0aW9uLXBob25lLWNoZWNrLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1ZlcmlmaWNhdGlvblBob25lQ2hlY2tGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YHQu9C10LTRg9C10YIg0LvQuCDQvtGC0L7QsdGA0LDQttCw0YLRjCDRhNGD0L3QutGG0LjQvtC90LDQuyDQutC+0LTQsCDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc2hvd0NvZGVGaWVsZHMoc2hvd0NvZGVGaWVsZHM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd0NvZGVGaWVsZHMgPSBzaG93Q29kZUZpZWxkcztcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnZlcmlmaWNhdGlvbkNvZGVbc2hvd0NvZGVGaWVsZHMgPyAnZW5hYmxlJyA6ICdkaXNhYmxlJ10oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YHQu9C10LTRg9C10YIg0LvQuCDQvtGC0L7QsdGA0LDQttCw0YLRjCDRhNGD0L3QutGG0LjQvtC90LDQuyDQutC+0LTQsCDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHNob3dDb2RlRmllbGRzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NvZGVGaWVsZHM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQv9C+0LvQtSDQstCy0L7QtNCwINGC0LXQu9C10YTQvtC90LAg0YLQvtC70YzQutC+INC00LvRjyDRh9GC0LXQvdC40Y8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRgdC70LXQtNGD0LXRgiDQu9C4INGC0LXQu9C10YTQvtC90YMg0LHRi9GC0Ywg0LIg0YHQuNGB0YLQtdC80LUuINCe0YIg0Y3RgtC+0LPQviDQv9GA0LjQt9C90LDQutCwINC30LDQstC40YHQuNGCINCyINC60LDQutC40YUg0YHQu9GD0YfQsNGP0YUg0LLRi9C00LDQstCw0YLRjCDQvtGI0LjQsdC60YMg0L/RgNC4INC/0YDQvtCy0LXRgNC60Lgg0LfQsNC90Y/RgtC+0YHRgtC4INGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvdWxkQmVCdXN5OiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRgdC70LXQtNGD0LXRgiDQu9C4INC/0YDQvtCy0LXRgNGP0YLRjCDQv9C+0LTRgtCy0LXRgNC20LTRkdC9INC70Lgg0YLQtdC70LXRhNC+0L3QsCDQsiDRgdC40YHRgtC10LzQtS4g0J/RgNC4IGB0cnVlYCDQsdGD0LTQtdGCINCy0YvQt9GL0LLQsNGC0Ywg0L7RiNC40LHQutGDINC/0YDQuCDQvdCw0LvQuNGH0LjQtSDRgtC10LvQtdGE0L7QvdCwINCyINGB0LjRgdGC0LXQvNC1INCx0LXQtyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG91bGRCZUNvbmZpcm1lZD86IGJvb2xlYW4gPSB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiDQndCw0LvQuNGH0LjQtSDQutC+0LTQsCDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDRgyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGF2ZUNvZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC00LvRjyDQvtCx0YDQsNGC0L3QvtC5INC/0YDQuNCy0Y/Qt9C60Lgg0L3QsNC70LjRh9C40Y8g0LrQvtC00LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y9cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaGF2ZUNvZGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0L/RgNC+0LLQtdGA0LrQuCDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcGhvbmVDaGVjayQ/OiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBudWxsPjtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBTdWJqZWN0fSDRgdC+0LHRi9GC0LjRjyDQvtGC0L/RgNCw0LLQutC4INC60L7QtNCwINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBvblNlbmRDb2RlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQtNCw0L3QvdGL0YUg0L/QvtC70YPRh9C10L3QuNGPINC60L7QtNCwINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nQXBwcm92ZUNvZGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5vblNlbmRDb2RlLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLnBob25lQ29udHJvbC52YWx1ZSksXG4gICAgICAgIGZpbHRlcigodmFsdWUpOiB2YWx1ZSBpcyBzdHJpbmcgPT4gdGhpcy5waG9uZUNvbnRyb2wudmFsaWQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgdGhpcy52ZXJpZmljYXRpb25TZXJ2aWNlLnNlbmRQaG9uZUFwcHJvdmVDb2RlKHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVsb2FkVGltZXIkLm5leHQoNjApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiBmYWxzZSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yUmVzcG9uc2UgPSBlcnJvci5lcnJvciBhcyBBcGlFcnJvclJlc3BvbnNlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWdleCA9IC8oXFxkezJ9KTpcXGR7Mn0vO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSBlcnJvclJlc3BvbnNlLm1lc3NhZ2UubWF0Y2gocmVnZXgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2ggJiYgbWF0Y2gubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpbWVQYXJ0cyA9IG1hdGNoWzBdLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Vjb25kcyA9IE51bWJlci5wYXJzZUludCh0aW1lUGFydHNbMV0sIDEwKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVsb2FkVGltZXIkLm5leHQoc2Vjb25kcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGhvbmVDb250cm9sLnNldEVycm9ycyh7IHNlcnZlclJlc3BvbnNlOiBlcnJvclJlc3BvbnNlLmVycm9ycz8uWydwaG9uZSddID8/IFtlcnJvclJlc3BvbnNlLm1lc3NhZ2VdIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0SGF2ZUNvZGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRydWUpXG4gICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgICAgIHNoYXJlKClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICog0JzQsNGB0LrQsCDQv9C+0LvRjyDQstCy0L7QtNCwINC60L7QtNCwINC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdmVyaWZpY2F0aW9uQ29kZU1hc2s6IE1hc2tpdG9PcHRpb25zID0gc2NQaG9uZVZlcmlmaWNhdGlvbkNvZGVNYXNrO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFN1YmplY3R9INGB0L7QsdGL0YLQuNGPINC30LDQv9GD0YHQutCwL9C+0YHRgtCw0L3QvtCy0LrQuCDRgtCw0LnQvNC10YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVsb2FkVGltZXIkOiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0KLQsNC50LzQtdGA0LAuXG4gICAgICpcbiAgICAgKiBUT0RPOiDQktGL0L3QtdGB0YLQuCDRgtCw0LnQvNC10YAg0LIg0L7RgtC00LXQu9GM0L3Rg9GOINC00LjRgNC10LrRgtC40LLRgyBUQVNLOlsjOTI2MF0uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHRpbWVyJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiA9IHRoaXMucmVsb2FkVGltZXIkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoc2VjKSA9PlxuICAgICAgICAgICAgdGltZXIoMCwgMTAwMCkucGlwZShcbiAgICAgICAgICAgICAgICBzY2FuKCh0b3RhbCkgPT4gLTEgKyB0b3RhbCwgc2VjKSxcbiAgICAgICAgICAgICAgICB0YWtlV2hpbGUoKHRvdGFsKSA9PiB0b3RhbCA+PSAwKSxcbiAgICAgICAgICAgICAgICBtYXAoKHRvdGFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKHRvdGFsIC8gNjApO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWNvbmRzID0gdG90YWwgJSA2MDtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7TWF0aC5yb3VuZChtaW51dGVzKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9OiR7TWF0aC5yb3VuZChzZWNvbmRzKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9YDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBlbmRXaXRoKG51bGwpLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGB0LvQtdC00YPQtdGCINC70Lgg0L7RgtC+0LHRgNCw0LbQsNGC0Ywg0YTRg9C90LrRhtC40L7QvdCw0Lsg0LrQvtC00LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2hvd0NvZGVGaWVsZHM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1ZlcmlmaWNhdGlvblBob25lQ2hlY2tGb3JtQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB2ZXJpZmljYXRpb25TZXJ2aWNlINCh0LXRgNCy0LjRgSDQstC10YDQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqIEBwYXJhbSBmb3JtR3JvdXBEaXJlY3RpdmUg0JTQuNGA0LXQutGC0LjQstCwIGMgYEZvcm1Hcm91cGAg0LjQtyBET00uXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHZlcmlmaWNhdGlvblNlcnZpY2U6IFNjVmVyaWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgQEluamVjdChGb3JtR3JvdXBEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUdyb3VwRGlyZWN0aXZlPzogRm9ybUdyb3VwRGlyZWN0aXZlXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICog0JPRgNGD0L/Qv9CwINC/0L7Qu9C10Lkg0LLQstC+0LTQsCDQtNC70Y8g0YTQvtGA0LzRiyDCq9CS0YXQvtC0INC90LAg0YHQsNC50YLCuy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGZvcm0oKTogRm9ybUdyb3VwPHtcbiAgICAgICAgcGhvbmU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICB2ZXJpZmljYXRpb25Db2RlOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbiAgICB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cERpcmVjdGl2ZT8uZm9ybSBhcyBGb3JtR3JvdXA8e1xuICAgICAgICAgICAgcGhvbmU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICAgICAgdmVyaWZpY2F0aW9uQ29kZTogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIH0+O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9C1INCy0LLQvtC00LAgJ9Cd0L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsCcuXG4gICAgICovXG4gICAgcHVibGljIGdldCBwaG9uZUNvbnRyb2woKTogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzLnBob25lO1xuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5waG9uZUNoZWNrJCA9IHR1aUNvbnRyb2xWYWx1ZTxzdHJpbmcgfCBudWxsPih0aGlzLnBob25lQ29udHJvbCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWxvYWRUaW1lciQubmV4dCgwKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBob25lQ29udHJvbC52YWxpZCAmJiAhIXZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZlcmlmaWNhdGlvblNlcnZpY2UuZ2V0UGhvbmVDaGVjayQodmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnNob3VsZEJlQnVzeSAhPT0gcmVzdWx0LmlzQnVzeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBob25lQ29udHJvbC5zZXRFcnJvcnMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyUmVzcG9uc2U6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQuaXNCdXN5ID8gJ9Cf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDRgSDRgtCw0LrQuNC8INC90L7QvNC10YDQvtC8INGC0LXQu9C10YTQvtC90LAg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCJyA6ICfQn9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0YEg0YLQsNC60LjQvCDQvdC+0LzQtdGA0L7QvCDRgtC10LvQtdGE0L7QvdCwINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGhvbmVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2hvdWxkQmVDb25maXJtZWQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnNob3VsZEJlQ29uZmlybWVkICE9PSByZXN1bHQuaXNDb25maXJtZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5waG9uZUNvbnRyb2wuc2V0RXJyb3JzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclJlc3BvbnNlOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmlzQ29uZmlybWVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ9Ci0LXQu9C10YTQvtC9INGD0LbQtSDQv9C+0LTRgtCy0LXRgNC20LTRkdC9J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICfQndC+0LzQtdGAINGC0LXQu9C10YTQvtC90LAg0L3QtSDQv9C+0LTRgtCy0LXRgNC20LTRkdC9INC40LvQuCDQstGF0L7QtCDQv9C+INC90LXQvNGDINC90LXQstC+0LfQvNC+0LbQtdC9LiDQntCx0YDQsNGC0LjRgtC10YHRjCDQuiDQstCw0YjQtdC80YMg0L/QtdGA0YHQvtC90LDQu9GM0L3QvtC80YMg0LzQtdC90LXQtNC20LXRgNGDINC40LvQuCDQstC+0LnQtNC40YLQtSDRgSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtdC8IGUtbWFpbCDQuCDQv9Cw0YDQvtC70Y8uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBob25lQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yUmVzcG9uc2UgPSBlcnJvci5lcnJvciBhcyBBcGlFcnJvclJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBob25lQ29udHJvbC5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogZXJyb3JSZXNwb25zZS5lcnJvcnM/LlsncGhvbmUnXSA/PyBbZXJyb3JSZXNwb25zZS5tZXNzYWdlXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnNldEhhdmVDb2RlKGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHNoYXJlKClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnNldEhhdmVDb2RlKGZhbHNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDRgdC+0YHRgtC+0Y/QvdC40LUg0L3QsNC70LjRh9C40Y8g0LrQvtC00LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0YMg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqXG4gICAgICogQHBhcmFtIGhhdmVDb2RlINCf0YDQuNC30L3QsNC6INGC0L7Qs9C+INC10YHRgtGMINC70Lgg0LrQvtC0INC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINC40LvQuCDQvdC10YIuXG4gICAgICovXG4gICAgcHVibGljIHNldEhhdmVDb2RlKGhhdmVDb2RlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGF2ZUNvZGUgPSBoYXZlQ29kZTtcbiAgICAgICAgdGhpcy5oYXZlQ29kZUNoYW5nZS5lbWl0KGhhdmVDb2RlKTtcbiAgICB9XG59XG4iLCI8Zm9ybVxuICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgKnR1aUxldD1cImxvYWRpbmdBcHByb3ZlQ29kZSQgfCBhc3luYyBhcyBsb2FkaW5nQXBwcm92ZUNvZGVcIlxuICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiXG4+XG4gICAgPGxhYmVsIHR1aUxhYmVsXG4gICAgICAgID7QndC+0LzQtdGAINGC0LXQu9C10YTQvtC90LBcbiAgICAgICAgPHR1aS1pbnB1dC1waG9uZVxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGhvbmVcIlxuICAgICAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRDdXN0b21Db250ZW50XT1cImNoZWNraW5nUGhvbmVcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQndC+0LzQtdGAINGC0LXQu9C10YTQvtC90LBcbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR1aVRleHRmaWVsZExlZ2FjeVxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cInBob25lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvdHVpLWlucHV0LXBob25lPlxuICAgICAgICA8dHVpLWVycm9yXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwaG9uZVwiXG4gICAgICAgICAgICBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIlxuICAgICAgICA+PC90dWktZXJyb3I+XG4gICAgPC9sYWJlbD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0NvZGVGaWVsZHMgJiYgZm9ybS5lbmFibGVkXCI+XG4gICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgKm5nSWY9XCJsb2FkaW5nQXBwcm92ZUNvZGUgPT09IGZhbHNlICYmIGhhdmVDb2RlXCJcbiAgICAgICAgICAgIHR1aUxhYmVsXG4gICAgICAgICAgICA+0JrQvtC0INC40Lcg0KHQnNChXG4gICAgICAgICAgICA8dHVpLWlucHV0IGZvcm1Db250cm9sTmFtZT1cInZlcmlmaWNhdGlvbkNvZGVcIj5cbiAgICAgICAgICAgICAgICDQmtC+0LQg0LjQtyDQodCc0KFcbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkTGVnYWN5XG4gICAgICAgICAgICAgICAgICAgIFttYXNraXRvXT1cInZlcmlmaWNhdGlvbkNvZGVNYXNrXCJcbiAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC90dWktaW5wdXQ+XG4gICAgICAgICAgICA8dHVpLWVycm9yXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidmVyaWZpY2F0aW9uQ29kZVwiXG4gICAgICAgICAgICAgICAgW2Vycm9yXT1cIltdIHwgdHVpRmllbGRFcnJvciB8IGFzeW5jXCJcbiAgICAgICAgICAgID48L3R1aS1lcnJvcj5cbiAgICAgICAgPC9sYWJlbD5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqdHVpTGV0PVwiISFsb2FkaW5nQXBwcm92ZUNvZGUgYXMgbG9hZGluZ0FwcHJvdmVDb2RlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBnYXAtNFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFoYXZlQ29kZVwiXG4gICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VuZENvZGUubmV4dCgpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZ0FwcHJvdmVDb2RlIHx8ICEhIShwaG9uZUNoZWNrJCB8IGFzeW5jKSB8fCBwaG9uZUNvbnRyb2wuaW52YWxpZFwiXG4gICAgICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ0FwcHJvdmVDb2RlXCJcbiAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnNjLnNlbmRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCf0L7Qu9GD0YfQuNGC0Ywg0LrQvtC0XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFsb2FkaW5nQXBwcm92ZUNvZGUgJiYgIWhhdmVDb2RlXCJcbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiISEhKHBob25lQ2hlY2skIHwgYXN5bmMpIHx8IHBob25lQ29udHJvbC5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0SGF2ZUNvZGUodHJ1ZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCjINC80LXQvdGPINC10YHRgtGMINC60L7QtFxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnR1aUxldD1cInRpbWVyJCB8IGFzeW5jIGFzIHRpbWVyXCI+XG4gICAgICAgICAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoYXZlQ29kZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cImxvYWRpbmdBcHByb3ZlQ29kZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICBbcHNldWRvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdBcHByb3ZlQ29kZSB8fCB0aW1lclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZW5kQ29kZS5uZXh0KClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICDQn9C+0LLRgtC+0YDQvdC+INC+0YLQv9GA0LDQstC40YLRjCDQutC+0LRcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRpbWVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIiF0ZXh0LXR1aS1iYXNlLTA4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+KNGH0LXRgNC10Lcge3sgdGltZXIgfX0pPC9uZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC90dWktbG9hZGVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9mb3JtPlxuXG48bmctdGVtcGxhdGUgI2NoZWNraW5nUGhvbmU+XG4gICAgPHR1aS1sb2FkZXJcbiAgICAgICAgKm5nSWY9XCIhISEocGhvbmVDaGVjayQgfCBhc3luYykgJiYgcGhvbmVDb250cm9sLnZhbGlkXCJcbiAgICAgICAgY2xhc3M9XCJzaXplLTRcIlxuICAgID5cbiAgICA8L3R1aS1sb2FkZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdmVyaWZpY2F0aW9uLXBob25lLWNoZWNrLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3ZlcmlmaWNhdGlvbi92ZXJpZmljYXRpb24tcGhvbmUtY2hlY2stZm9ybS9zYy12ZXJpZmljYXRpb24tcGhvbmUtY2hlY2stZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdmVyaWZpY2F0aW9uL3ZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtL3NjLXZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUVoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQTBCLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczSyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7O0FBRTFEOztHQUVHO0FBTUgsTUFBTSxPQUFPLHFDQUFxQztJQUM5Qzs7T0FFRztJQUNILElBQ1cs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O1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7K0dBMU9RLHFDQUFxQyx1REFnSmxDLGtCQUFrQjttR0FoSnJCLHFDQUFxQyx1UkNyQmxELDZwSEFpR0E7OzRGRDVFYSxxQ0FBcUM7a0JBTGpELFNBQVM7K0JBQ0ksa0NBQWtDLG1CQUUzQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFrSjFDLE1BQU07MkJBQUMsa0JBQWtCO3lDQTNJbkIsY0FBYztzQkFEeEIsS0FBSztnQkFpQkMsUUFBUTtzQkFEZCxLQUFLO2dCQU9DLFlBQVk7c0JBRGxCLEtBQUs7Z0JBT0MsaUJBQWlCO3NCQUR2QixLQUFLO2dCQU9DLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxjQUFjO3NCQURwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdW5kZXJzY29yZS1kYW5nbGUsbG9kYXNoL3ByZWZlci1jb25zdGFudCAqL1xuXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1Hcm91cERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hc2tpdG9PcHRpb25zIH0gZnJvbSAnQG1hc2tpdG8vY29yZSc7XG5pbXBvcnQgeyBTY1ZlcmlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUNvbnRyb2xWYWx1ZSB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGVuZFdpdGgsIGZpbHRlciwgZmluYWxpemUsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNjYW4sIHNoYXJlLCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFrZVdoaWxlLCB0YXAsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFwaUVycm9yUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9hdXRoL2ludGVyZmFjZXMvYXBpLWVycm9yLXJlc3BvbnNlJztcbmltcG9ydCB7IHNjUGhvbmVWZXJpZmljYXRpb25Db2RlTWFzayB9IGZyb20gJy4uLy4uL21hc2tzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YTQvtGA0LzRiyDQv9GA0L7QstC10YDQutC4INGC0LXQu9C10YTQvtC90LAg0Lgg0L/QvtC70YPRh9C10L3QuNGPINC60L7QtNCwINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtdmVyaWZpY2F0aW9uLXBob25lLWNoZWNrLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1ZlcmlmaWNhdGlvblBob25lQ2hlY2tGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YHQu9C10LTRg9C10YIg0LvQuCDQvtGC0L7QsdGA0LDQttCw0YLRjCDRhNGD0L3QutGG0LjQvtC90LDQuyDQutC+0LTQsCDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc2hvd0NvZGVGaWVsZHMoc2hvd0NvZGVGaWVsZHM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd0NvZGVGaWVsZHMgPSBzaG93Q29kZUZpZWxkcztcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnZlcmlmaWNhdGlvbkNvZGVbc2hvd0NvZGVGaWVsZHMgPyAnZW5hYmxlJyA6ICdkaXNhYmxlJ10oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YHQu9C10LTRg9C10YIg0LvQuCDQvtGC0L7QsdGA0LDQttCw0YLRjCDRhNGD0L3QutGG0LjQvtC90LDQuyDQutC+0LTQsCDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHNob3dDb2RlRmllbGRzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NvZGVGaWVsZHM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQv9C+0LvQtSDQstCy0L7QtNCwINGC0LXQu9C10YTQvtC90LAg0YLQvtC70YzQutC+INC00LvRjyDRh9GC0LXQvdC40Y8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRgdC70LXQtNGD0LXRgiDQu9C4INGC0LXQu9C10YTQvtC90YMg0LHRi9GC0Ywg0LIg0YHQuNGB0YLQtdC80LUuINCe0YIg0Y3RgtC+0LPQviDQv9GA0LjQt9C90LDQutCwINC30LDQstC40YHQuNGCINCyINC60LDQutC40YUg0YHQu9GD0YfQsNGP0YUg0LLRi9C00LDQstCw0YLRjCDQvtGI0LjQsdC60YMg0L/RgNC4INC/0YDQvtCy0LXRgNC60Lgg0LfQsNC90Y/RgtC+0YHRgtC4INGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvdWxkQmVCdXN5OiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRgdC70LXQtNGD0LXRgiDQu9C4INC/0YDQvtCy0LXRgNGP0YLRjCDQv9C+0LTRgtCy0LXRgNC20LTRkdC9INC70Lgg0YLQtdC70LXRhNC+0L3QsCDQsiDRgdC40YHRgtC10LzQtS4g0J/RgNC4IGB0cnVlYCDQsdGD0LTQtdGCINCy0YvQt9GL0LLQsNGC0Ywg0L7RiNC40LHQutGDINC/0YDQuCDQvdCw0LvQuNGH0LjQtSDRgtC10LvQtdGE0L7QvdCwINCyINGB0LjRgdGC0LXQvNC1INCx0LXQtyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG91bGRCZUNvbmZpcm1lZD86IGJvb2xlYW4gPSB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiDQndCw0LvQuNGH0LjQtSDQutC+0LTQsCDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDRgyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGF2ZUNvZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC00LvRjyDQvtCx0YDQsNGC0L3QvtC5INC/0YDQuNCy0Y/Qt9C60Lgg0L3QsNC70LjRh9C40Y8g0LrQvtC00LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y9cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaGF2ZUNvZGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0L/RgNC+0LLQtdGA0LrQuCDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcGhvbmVDaGVjayQ/OiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBudWxsPjtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBTdWJqZWN0fSDRgdC+0LHRi9GC0LjRjyDQvtGC0L/RgNCw0LLQutC4INC60L7QtNCwINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBvblNlbmRDb2RlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQtNCw0L3QvdGL0YUg0L/QvtC70YPRh9C10L3QuNGPINC60L7QtNCwINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nQXBwcm92ZUNvZGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5vblNlbmRDb2RlLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLnBob25lQ29udHJvbC52YWx1ZSksXG4gICAgICAgIGZpbHRlcigodmFsdWUpOiB2YWx1ZSBpcyBzdHJpbmcgPT4gdGhpcy5waG9uZUNvbnRyb2wudmFsaWQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgdGhpcy52ZXJpZmljYXRpb25TZXJ2aWNlLnNlbmRQaG9uZUFwcHJvdmVDb2RlKHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVsb2FkVGltZXIkLm5leHQoNjApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiBmYWxzZSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yUmVzcG9uc2UgPSBlcnJvci5lcnJvciBhcyBBcGlFcnJvclJlc3BvbnNlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWdleCA9IC8oXFxkezJ9KTpcXGR7Mn0vO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSByZWdleC5leGVjKGVycm9yUmVzcG9uc2UubWVzc2FnZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaCAmJiBtYXRjaC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGltZVBhcnRzID0gbWF0Y2hbMF0uc3BsaXQoJzonKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWNvbmRzID0gTnVtYmVyLnBhcnNlSW50KHRpbWVQYXJ0c1sxXSwgMTApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWxvYWRUaW1lciQubmV4dChzZWNvbmRzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5waG9uZUNvbnRyb2wuc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IGVycm9yUmVzcG9uc2UuZXJyb3JzPy5bJ3Bob25lJ10gPz8gW2Vycm9yUmVzcG9uc2UubWVzc2FnZV0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRIYXZlQ29kZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgodHJ1ZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgc3RhcnRXaXRoKGZhbHNlKSxcbiAgICAgICAgc2hhcmUoKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQnNCw0YHQutCwINC/0L7Qu9GPINCy0LLQvtC00LAg0LrQvtC00LAg0LTQu9GPINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSB2ZXJpZmljYXRpb25Db2RlTWFzazogTWFza2l0b09wdGlvbnMgPSBzY1Bob25lVmVyaWZpY2F0aW9uQ29kZU1hc2s7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0YHQvtCx0YvRgtC40Y8g0LfQsNC/0YPRgdC60LAv0L7RgdGC0LDQvdC+0LLQutC4INGC0LDQudC80LXRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSByZWxvYWRUaW1lciQ6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQotCw0LnQvNC10YDQsC5cbiAgICAgKlxuICAgICAqIFRPRE86INCS0YvQvdC10YHRgtC4INGC0LDQudC80LXRgCDQsiDQvtGC0LTQtdC70YzQvdGD0Y4g0LTQuNGA0LXQutGC0LjQstGDIFRBU0s6WyM5MjYwXS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdGltZXIkOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+ID0gdGhpcy5yZWxvYWRUaW1lciQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChzZWMpID0+XG4gICAgICAgICAgICB0aW1lcigwLCAxMDAwKS5waXBlKFxuICAgICAgICAgICAgICAgIHNjYW4oKHRvdGFsKSA9PiAtMSArIHRvdGFsLCBzZWMpLFxuICAgICAgICAgICAgICAgIHRha2VXaGlsZSgodG90YWwpID0+IHRvdGFsID49IDApLFxuICAgICAgICAgICAgICAgIG1hcCgodG90YWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IodG90YWwgLyA2MCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlY29uZHMgPSB0b3RhbCAlIDYwO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtNYXRoLnJvdW5kKG1pbnV0ZXMpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX06JHtNYXRoLnJvdW5kKHNlY29uZHMpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX1gO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGVuZFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YHQu9C10LTRg9C10YIg0LvQuCDQvtGC0L7QsdGA0LDQttCw0YLRjCDRhNGD0L3QutGG0LjQvtC90LDQuyDQutC+0LTQsCDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9zaG93Q29kZUZpZWxkczogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjVmVyaWZpY2F0aW9uUGhvbmVDaGVja0Zvcm1Db21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHZlcmlmaWNhdGlvblNlcnZpY2Ug0KHQtdGA0LLQuNGBINCy0LXRgNC40YTQuNC60LDRhtC40LguXG4gICAgICogQHBhcmFtIGZvcm1Hcm91cERpcmVjdGl2ZSDQlNC40YDQtdC60YLQuNCy0LAgYyBgRm9ybUdyb3VwYCDQuNC3IERPTS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdmVyaWZpY2F0aW9uU2VydmljZTogU2NWZXJpZmljYXRpb25TZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEZvcm1Hcm91cERpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmb3JtR3JvdXBEaXJlY3RpdmU/OiBGb3JtR3JvdXBEaXJlY3RpdmVcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiDQk9GA0YPQv9C/0LAg0L/QvtC70LXQuSDQstCy0L7QtNCwINC00LvRjyDRhNC+0YDQvNGLIMKr0JLRhdC+0LQg0L3QsCDRgdCw0LnRgsK7LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZm9ybSgpOiBGb3JtR3JvdXA8e1xuICAgICAgICBwaG9uZTogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIHZlcmlmaWNhdGlvbkNvZGU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgIH0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwRGlyZWN0aXZlPy5mb3JtIGFzIEZvcm1Hcm91cDx7XG4gICAgICAgICAgICBwaG9uZTogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgICAgICB2ZXJpZmljYXRpb25Db2RlOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbiAgICAgICAgfT47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QvtC70LUg0LLQstC+0LTQsCAn0J3QvtC80LXRgCDRgtC10LvQtdGE0L7QvdCwJy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHBob25lQ29udHJvbCgpOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHMucGhvbmU7XG4gICAgfVxuXG4gICAgLyoqIEBpbmhlcml0RG9jICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBob25lQ2hlY2skID0gdHVpQ29udHJvbFZhbHVlPHN0cmluZyB8IG51bGw+KHRoaXMucGhvbmVDb250cm9sKS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbG9hZFRpbWVyJC5uZXh0KDApO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGhvbmVDb250cm9sLnZhbGlkICYmICEhdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmVyaWZpY2F0aW9uU2VydmljZS5nZXRQaG9uZUNoZWNrJCh2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2hvdWxkQmVCdXN5ICE9PSByZXN1bHQuaXNCdXN5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGhvbmVDb250cm9sLnNldEVycm9ycyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJSZXNwb25zZTogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5pc0J1c3kgPyAn0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINGBINGC0LDQutC40Lwg0L3QvtC80LXRgNC+0Lwg0YLQtdC70LXRhNC+0L3QsCDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YInIDogJ9Cf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDRgSDRgtCw0LrQuNC8INC90L7QvNC10YDQvtC8INGC0LXQu9C10YTQvtC90LAg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5waG9uZUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zaG91bGRCZUNvbmZpcm1lZCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc2hvdWxkQmVDb25maXJtZWQgIT09IHJlc3VsdC5pc0NvbmZpcm1lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBob25lQ29udHJvbC5zZXRFcnJvcnMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyUmVzcG9uc2U6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQuaXNDb25maXJtZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAn0KLQtdC70LXRhNC+0L0g0YPQttC1INC/0L7QtNGC0LLQtdGA0LbQtNGR0L0nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ9Cd0L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsCDQvdC1INC/0L7QtNGC0LLQtdGA0LbQtNGR0L0g0LjQu9C4INCy0YXQvtC0INC/0L4g0L3QtdC80YMg0L3QtdCy0L7Qt9C80L7QttC10L0uINCe0LHRgNCw0YLQuNGC0LXRgdGMINC6INCy0LDRiNC10LzRgyDQv9C10YDRgdC+0L3QsNC70YzQvdC+0LzRgyDQvNC10L3QtdC00LbQtdGA0YMg0LjQu9C4INCy0L7QudC00LjRgtC1INGBINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC10LwgZS1tYWlsINC4INC/0LDRgNC+0LvRjy4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGhvbmVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JSZXNwb25zZSA9IGVycm9yLmVycm9yIGFzIEFwaUVycm9yUmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGhvbmVDb250cm9sLnNldEVycm9ycyh7IHNlcnZlclJlc3BvbnNlOiBlcnJvclJlc3BvbnNlLmVycm9ycz8uWydwaG9uZSddID8/IFtlcnJvclJlc3BvbnNlLm1lc3NhZ2VdIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SGF2ZUNvZGUoZmFsc2UpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc2hhcmUoKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc2V0SGF2ZUNvZGUoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINGB0L7RgdGC0L7Rj9C90LjQtSDQvdCw0LvQuNGH0LjRjyDQutC+0LTQsCDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDRgyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaGF2ZUNvZGUg0J/RgNC40LfQvdCw0Log0YLQvtCz0L4g0LXRgdGC0Ywg0LvQuCDQutC+0LQg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0LjQu9C4INC90LXRgi5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0SGF2ZUNvZGUoaGF2ZUNvZGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYXZlQ29kZSA9IGhhdmVDb2RlO1xuICAgICAgICB0aGlzLmhhdmVDb2RlQ2hhbmdlLmVtaXQoaGF2ZUNvZGUpO1xuICAgIH1cbn1cbiIsIjxmb3JtXG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAqdHVpTGV0PVwibG9hZGluZ0FwcHJvdmVDb2RlJCB8IGFzeW5jIGFzIGxvYWRpbmdBcHByb3ZlQ29kZVwiXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zXCJcbj5cbiAgICA8bGFiZWwgdHVpTGFiZWxcbiAgICAgICAgPtCd0L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsFxuICAgICAgICA8dHVpLWlucHV0LXBob25lXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwaG9uZVwiXG4gICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICAgICAgW3R1aVRleHRmaWVsZEN1c3RvbUNvbnRlbnRdPVwiY2hlY2tpbmdQaG9uZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgINCd0L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsFxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkTGVnYWN5XG4gICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwicGhvbmVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC90dWktaW5wdXQtcGhvbmU+XG4gICAgICAgIDx0dWktZXJyb3JcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBob25lXCJcbiAgICAgICAgICAgIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiXG4gICAgICAgID48L3R1aS1lcnJvcj5cbiAgICA8L2xhYmVsPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93Q29kZUZpZWxkcyAmJiBmb3JtLmVuYWJsZWRcIj5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAqbmdJZj1cImxvYWRpbmdBcHByb3ZlQ29kZSA9PT0gZmFsc2UgJiYgaGF2ZUNvZGVcIlxuICAgICAgICAgICAgdHVpTGFiZWxcbiAgICAgICAgICAgID7QmtC+0LQg0LjQtyDQodCc0KFcbiAgICAgICAgICAgIDx0dWktaW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidmVyaWZpY2F0aW9uQ29kZVwiPlxuICAgICAgICAgICAgICAgINCa0L7QtCDQuNC3INCh0JzQoVxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRMZWdhY3lcbiAgICAgICAgICAgICAgICAgICAgW21hc2tpdG9dPVwidmVyaWZpY2F0aW9uQ29kZU1hc2tcIlxuICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3R1aS1pbnB1dD5cbiAgICAgICAgICAgIDx0dWktZXJyb3JcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ2ZXJpZmljYXRpb25Db2RlXCJcbiAgICAgICAgICAgICAgICBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIlxuICAgICAgICAgICAgPjwvdHVpLWVycm9yPlxuICAgICAgICA8L2xhYmVsPlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICp0dWlMZXQ9XCIhIWxvYWRpbmdBcHByb3ZlQ29kZSBhcyBsb2FkaW5nQXBwcm92ZUNvZGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIGdhcC00XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWhhdmVDb2RlXCJcbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZW5kQ29kZS5uZXh0KClcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nQXBwcm92ZUNvZGUgfHwgISEhKHBob25lQ2hlY2skIHwgYXN5bmMpIHx8IHBob25lQ29udHJvbC5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nQXBwcm92ZUNvZGVcIlxuICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuc2Muc2VuZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg0J/QvtC70YPRh9C40YLRjCDQutC+0LRcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWxvYWRpbmdBcHByb3ZlQ29kZSAmJiAhaGF2ZUNvZGVcIlxuICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICBbcHNldWRvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhISEocGhvbmVDaGVjayQgfCBhc3luYykgfHwgcGhvbmVDb250cm9sLmludmFsaWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRIYXZlQ29kZSh0cnVlKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg0KMg0LzQtdC90Y8g0LXRgdGC0Ywg0LrQvtC0XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqdHVpTGV0PVwidGltZXIkIHwgYXN5bmMgYXMgdGltZXJcIj5cbiAgICAgICAgICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhdmVDb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwibG9hZGluZ0FwcHJvdmVDb2RlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZ0FwcHJvdmVDb2RlIHx8IHRpbWVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbmRDb2RlLm5leHQoKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QstGC0L7RgNC90L4g0L7RgtC/0YDQsNCy0LjRgtGMINC60L7QtFxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidGltZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiIXRleHQtdHVpLWJhc2UtMDhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4o0YfQtdGA0LXQtyB7eyB0aW1lciB9fSk8L25nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Zvcm0+XG5cbjxuZy10ZW1wbGF0ZSAjY2hlY2tpbmdQaG9uZT5cbiAgICA8dHVpLWxvYWRlclxuICAgICAgICAqbmdJZj1cIiEhIShwaG9uZUNoZWNrJCB8IGFzeW5jKSAmJiBwaG9uZUNvbnRyb2wudmFsaWRcIlxuICAgICAgICBjbGFzcz1cInNpemUtNFwiXG4gICAgPlxuICAgIDwvdHVpLWxvYWRlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|