@dignite-ng/expand.tenant-domain-management 3.0.0-rc.47 → 3.0.0-rc.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -72,7 +72,7 @@ export class TenantDomainComponent {
72
72
  return null;
73
73
  if (!psl.isValid(control.value)) {
74
74
  return {
75
- repetition: this._LocalizationService.instant('TenantDomainManagement::YourDomainNameMustContainAValidSuffix'),
75
+ repetition: this._LocalizationService.instant('TenantDomainManagement::DomainNameValiderror'),
76
76
  };
77
77
  }
78
78
  return null;
@@ -90,11 +90,11 @@ export class TenantDomainComponent {
90
90
  this._TenantDomainService.checkCnameRecord(that.domainNameInput?.value).subscribe(res => {
91
91
  if (res) {
92
92
  that.stepIndex = that.StepName.finish;
93
- that.toaster.success(that._LocalizationService.instant('TenantDomainManagement::YourDomainNameHasBeenVerifiedPleaseBind'));
93
+ that.toaster.success(that._LocalizationService.instant('TenantDomainManagement::DomainNameValidSuccessful'));
94
94
  resolve(res);
95
95
  }
96
96
  else {
97
- that.toaster.error(that._LocalizationService.instant('TenantDomainManagement::YourDomainNameIsNotVerifiedPleaseCheckTheDNSConfigurationOfTheDomainName'));
97
+ that.toaster.error(that._LocalizationService.instant('TenantDomainManagement::DomainNameValidFail'));
98
98
  reject(res);
99
99
  }
100
100
  });
@@ -134,10 +134,10 @@ export class TenantDomainComponent {
134
134
  this.stepIndex = index;
135
135
  }
136
136
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainComponent, deps: [{ token: i1.FormBuilder }, { token: i2.LocalizationService }, { token: i3.TenantDomainService }, { token: i4.ToasterService }, { token: i5.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
137
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TenantDomainComponent, isStandalone: true, selector: "lib-tenant-domain", ngImport: i0, template: "\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddANewDNSRecordByCopyingAndPastingTheNameAndNewValue'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i2.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "directive", type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i7.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i4.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "ngmodule", type: ClipboardModule }] }); }
137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TenantDomainComponent, isStandalone: true, selector: "lib-tenant-domain", ngImport: i0, template: "\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::EnterDomaiName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddDNSDescriptions'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i2.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "directive", type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i7.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i4.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "ngmodule", type: ClipboardModule }] }); }
138
138
  }
139
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainComponent, decorators: [{
140
140
  type: Component,
141
- args: [{ selector: 'lib-tenant-domain', standalone: true, imports: [CoreModule, ThemeSharedModule, ClipboardModule], template: "\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddANewDNSRecordByCopyingAndPastingTheNameAndNewValue'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>" }]
141
+ args: [{ selector: 'lib-tenant-domain', standalone: true, imports: [CoreModule, ThemeSharedModule, ClipboardModule], template: "\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::EnterDomaiName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddDNSDescriptions'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>" }]
142
142
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.LocalizationService }, { type: i3.TenantDomainService }, { type: i4.ToasterService }, { type: i5.Clipboard }] });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWRvbWFpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9jb21wb25lbnRzL3RlbmFudC1kb21haW4vdGVuYW50LWRvbWFpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9jb21wb25lbnRzL3RlbmFudC1kb21haW4vdGVuYW50LWRvbWFpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFDckQsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFFTCxXQUFXLEdBSVosTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQzNCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7QUFTcEUsTUFBTSxPQUFPLHFCQUFxQjtJQUNo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LEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUNsQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLENBQzVFLENBQUM7UUFDSixDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQ2hCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMscUNBQXFDLENBQUMsQ0FDekUsQ0FBQztRQUNKLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQUNELFdBQVc7SUFDWCxZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsU0FBUztJQUNULFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxVQUFVO0lBQ1YsT0FBTyxDQUFDLEtBQUs7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDOzhHQTNJVSxxQkFBcUI7a0dBQXJCLHFCQUFxQiw2RUMzQmxDLCsvSEFnRU8seUREekNLLFVBQVUsbXVDQUFFLGlCQUFpQix1aUJBQUUsZUFBZTs7MkZBSTdDLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cclxuaW1wb3J0IHsgQ29yZU1vZHVsZSwgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFRoZW1lU2hhcmVkTW9kdWxlLCBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZVRlbmFuY3lEb21haW5zTWFuYWdlbWVudFJvdXRlTmFtZXMgfSBmcm9tICcuLi8uLi9lbnVtcyc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIEZvcm1CdWlsZGVyLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIEZvcm1Hcm91cCxcclxuICBWYWxpZGF0aW9uRXJyb3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVGVuYW50RG9tYWluRm9ybUNvbmZpZyB9IGZyb20gJy4vdGVuYW50LWRvbWFpbi1mb3JtLWNvbmZpZyc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIHBzbCBmcm9tICdwc2wnO1xyXG5pbXBvcnQgeyBTdGVwTmFtZSB9IGZyb20gJy4uLy4uL2VudW1zL3N0ZXAtbmFtZSc7XHJcbmltcG9ydCB7IFRlbmFudERvbWFpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm94eS9kaWduaXRlL2FicC90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQnO1xyXG5pbXBvcnQgeyBDbGlwYm9hcmRNb2R1bGUsIENsaXBib2FyZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGVuYW50LWRvbWFpbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgVGhlbWVTaGFyZWRNb2R1bGUsIENsaXBib2FyZE1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbmFudC1kb21haW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90ZW5hbnQtZG9tYWluLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlbmFudERvbWFpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX0xvY2FsaXphdGlvblNlcnZpY2U6IExvY2FsaXphdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9UZW5hbnREb21haW5TZXJ2aWNlOiBUZW5hbnREb21haW5TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdGVyOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgY2xpcGJvYXJkOiBDbGlwYm9hcmRcclxuICApIHtcclxuICB9XHJcblxyXG4gIGVUZW5hbmN5RG9tYWluc01hbmFnZW1lbnRSb3V0ZU5hbWVzID0gZVRlbmFuY3lEb21haW5zTWFuYWdlbWVudFJvdXRlTmFtZXM7XHJcbiAgU3RlcE5hbWUgPSBTdGVwTmFtZTtcclxuICAvKirmraXpqqQgKi9cclxuICBzdGVwSW5kZXg6IG51bWJlcnxhbnkgPSAwO1xyXG4gIC8qKuaYr+WQpuaPkOS6pCAqL1xyXG4gIGlzU3VibWl0OiBib29sZWFufGFueSA9IGZhbHNlO1xyXG4gIC8qKuihqOWNlemqjOivgSAqL1xyXG4gIGZvcm1WYWxpZGF0aW9uOiBhbnkgPSAnJztcclxuICAvKirooajljZUgKi9cclxuICBmb3JtRW50aXR5OiBGb3JtR3JvdXAgfCB1bmRlZmluZWQ7XHJcbiAgLyoq6Kej5p6Q55qE5Z+f5ZCNICovXHJcbiAgcGFyc2VkRG9tYWluOiBhbnkgPSAnJztcclxuICAvKirln5/lkI3kv6Hmga8gKi9cclxuICBUZW5hbnREb21haW5JbmZvOiBhbnkgPSAnJztcclxuXHJcbiAgZ2V0IGRvbWFpbk5hbWVJbnB1dCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1FbnRpdHk/LmdldCgnZG9tYWluTmFtZScpIGFzIEZvcm1Db250cm9sO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgICB0aGlzLmZvcm1FbnRpdHkgPSB0aGlzLmZiLmdyb3VwKG5ldyBUZW5hbnREb21haW5Gb3JtQ29uZmlnKCkpO1xyXG4gICAgYXdhaXQgdGhpcy5nZXRUZW5hbnREb21haW4oKTtcclxuICAgIHRoaXMuZG9tYWluTmFtZUlucHV0LmFkZFZhbGlkYXRvcnModGhpcy5Eb21haW5WYWxpZGF0b3IoKSk7XHJcbiAgICBjb25zdCBkb21haW5OYW1lID0gdGhpcy5UZW5hbnREb21haW5JbmZvPy5kb21haW5OYW1lO1xyXG4gICAgaWYgKGRvbWFpbk5hbWUpIHtcclxuICAgICAgdGhpcy5kb21haW5OYW1lSW5wdXQucGF0Y2hWYWx1ZShkb21haW5OYW1lKTtcclxuICAgICAgdGhpcy5zdGVwSW5kZXggPSB0aGlzLlN0ZXBOYW1lLmZpbmlzaDtcclxuICAgIH1cclxuICB9XHJcbiAgLyoq6I635Y+W5Z+f5ZCNICovXHJcbiAgZ2V0VGVuYW50RG9tYWluKCkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIHRoaXMuX1RlbmFudERvbWFpblNlcnZpY2UuZ2V0KCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5UZW5hbnREb21haW5JbmZvID0gcmVzO1xyXG4gICAgICAgIHJlc29sdmUocmVzKTtcclxuICAgICAgfSwoZXJyKT0+e1xyXG4gICAgICAgIHJlc29sdmUoZXJyKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKuWfn+WQjemqjOivgSAqL1xyXG4gIERvbWFpblZhbGlkYXRvcigpIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICAvLyBjb25zdCBwYXJzZWQ6YW55ID0gcHNsLnBhcnNlKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHJldHVybiBudWxsO1xyXG4gICAgICBpZiAoIXBzbC5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHJlcGV0aXRpb246IHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChcclxuICAgICAgICAgICAgJ1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OllvdXJEb21haW5OYW1lTXVzdENvbnRhaW5BVmFsaWRTdWZmaXgnXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuICAvKirmi7fotJ0gKi9cclxuICBjb3B5QnRuKHR4dDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHR4dCk7XHJcbiAgICB0aGlzLnRvYXN0ZXIuc3VjY2VzcyhcclxuICAgICAgdGhpcy5fTG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KCdUZW5hbnREb21haW5NYW5hZ2VtZW50OjpSZXBsaWNhdGlvblN1Y2Nlc3NmdWwnKVxyXG4gICAgKTtcclxuICB9XHJcbiAgLyoqY2hlY2tDbmFtZVJlY29yZCDmo4Dmn6VDTkFNReiusOW9lSAqL1xyXG4gIGNoZWNrQ25hbWVSZWNvcmQoKSB7XHJcbiAgICBjb25zdCB0aGF0ID0gdGhpcztcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMuX1RlbmFudERvbWFpblNlcnZpY2UuY2hlY2tDbmFtZVJlY29yZCh0aGF0LmRvbWFpbk5hbWVJbnB1dD8udmFsdWUpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIHRoYXQuc3RlcEluZGV4ID0gdGhhdC5TdGVwTmFtZS5maW5pc2g7XHJcbiAgICAgICAgICB0aGF0LnRvYXN0ZXIuc3VjY2VzcyhcclxuICAgICAgICAgICAgdGhhdC5fTG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICdUZW5hbnREb21haW5NYW5hZ2VtZW50OjpZb3VyRG9tYWluTmFtZUhhc0JlZW5WZXJpZmllZFBsZWFzZUJpbmQnXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICByZXNvbHZlKHJlcyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoYXQudG9hc3Rlci5lcnJvcihcclxuICAgICAgICAgICAgdGhhdC5fTG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICdUZW5hbnREb21haW5NYW5hZ2VtZW50OjpZb3VyRG9tYWluTmFtZUlzTm90VmVyaWZpZWRQbGVhc2VDaGVja1RoZUROU0NvbmZpZ3VyYXRpb25PZlRoZURvbWFpbk5hbWUnXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICByZWplY3QocmVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKirooajljZXmj5DkuqQgKi9cclxuICBzYXZlKCkge1xyXG4gICAgaWYgKHRoaXMuaXNTdWJtaXQpIHJldHVybjtcclxuICAgIHRoaXMuaXNTdWJtaXQgPSB0cnVlO1xyXG4gICAgdGhpcy5fVGVuYW50RG9tYWluU2VydmljZVxyXG4gICAgICAuY29ubmVjdCh7XHJcbiAgICAgICAgZG9tYWluTmFtZTogdGhpcy5kb21haW5OYW1lSW5wdXQudmFsdWUsXHJcbiAgICAgIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3MoXHJcbiAgICAgICAgICAgIHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudCgnVGVuYW50RG9tYWluTWFuYWdlbWVudDo6U2F2ZVN1Y2Nlc3NmdWwnKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3Rlci5lcnJvcihcclxuICAgICAgICAgICAgdGhpcy5fTG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KCdUZW5hbnREb21haW5NYW5hZ2VtZW50OjpTYXZlRmFpbHVyZScpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcbiAgLyoq6L+U5Zue5LiK5LiA5q2lICovXHJcbiAgYmFja0xhc3RTdGVwKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuc3RlcEluZGV4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICAvKirkuIvkuIDmraUgKi9cclxuICBuZXh0U3RlcChpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybUVudGl0eS52YWxpZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5wYXJzZWREb21haW4gPSBwc2wucGFyc2UodGhpcy5kb21haW5OYW1lSW5wdXQudmFsdWUpO1xyXG4gICAgdGhpcy5zdGVwSW5kZXggPSBpbmRleDtcclxuICB9XHJcbiAgLyoq57yW6L6R5Z+f5ZCNICovXHJcbiAgZWRpdGJ0bihpbmRleCkge1xyXG4gICAgdGhpcy5zdGVwSW5kZXggPSBpbmRleDtcclxuICB9XHJcbn1cclxuIiwiXHJcbjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUVudGl0eVwiIChrZXlkb3duLmVudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCIgW2NsYXNzXT1cInsnd2FzLXZhbGlkYXRlZCc6Zm9ybVZhbGlkYXRpb259XCJcclxuICAgIChzdWJtaXQpPVwibmV4dFN0ZXAoU3RlcE5hbWUuY2hlY2spXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGVuYW50LWRvbWFpblwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwSW5kZXg9PT1TdGVwTmFtZS5maWxsSW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydUZW5hbnREb21haW5NYW5hZ2VtZW50OjpEb21haW5OYW1lJ3xhYnBMb2NhbGl6YXRpb259fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImRvbWFpbk5hbWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlciBcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2RvbWFpbk5hbWVJbnB1dD8uZXJyb3JzPy5yZXBldGl0aW9ufX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGhyIGNsYXNzPVwibXktM1wiIC8+XHJcbiAgICAgICAgICAgIDxhYnAtYnV0dG9uIGNsYXNzPVwiZmxvYXQtZW5kXCJcclxuICAgICAgICAgICAgICAgIGJ1dHRvblR5cGU9XCJzdWJtaXRcIj57eydUZW5hbnREb21haW5NYW5hZ2VtZW50OjpOZXh0U3RlcCd8YWJwTG9jYWxpemF0aW9ufX08L2FicC1idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0ZXBJbmRleD09PVN0ZXBOYW1lLmNoZWNrXCI+XHJcbiAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGUgbWItMyBkLWlubGluZS1ibG9ja1wiIHJvbGU9XCJidXR0b25cIiAoY2xpY2suc3RvcCk9XCJiYWNrTGFzdFN0ZXAoU3RlcE5hbWUuZmlsbEluKVwiPjxpXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1hcnJvdy1sZWZ0IG1lLTJcIj48L2k+e3tkb21haW5OYW1lSW5wdXQ/LnZhbHVlfX08L2g1PlxyXG4gICAgICAgICAgICA8aDU+e3snVGVuYW50RG9tYWluTWFuYWdlbWVudDo6RG9tYWluU2V0dXAnfGFicExvY2FsaXphdGlvbn19IDwvaDU+XHJcbiAgICAgICAgICAgIDxwPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OkZvbGxvd1RoZUluc3RydWN0aW9uc0JlbG93J3xhYnBMb2NhbGl6YXRpb259fTwvcD5cclxuICAgICAgICAgICAgPG9sPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibWItMlwiPiB7eydUZW5hbnREb21haW5NYW5hZ2VtZW50OjpMb2dJblRvWW91clByb3ZpZGVyJ3xhYnBMb2NhbGl6YXRpb259fTwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJtYi0yXCI+IHt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6Ok9wZW5ETlNNYW5hZ2VtZW50Rm9yezB9J3xhYnBMb2NhbGl6YXRpb246ZG9tYWluTmFtZUlucHV0Py52YWx1ZX19PC9saT5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1iLTJcIj4ge3snVGVuYW50RG9tYWluTWFuYWdlbWVudDo6QWRkQU5ld0ROU1JlY29yZEJ5Q29weWluZ0FuZFBhc3RpbmdUaGVOYW1lQW5kTmV3VmFsdWUnfGFicExvY2FsaXphdGlvbn19PC9saT5cclxuICAgICAgICAgICAgPC9vbD5cclxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OlR5cGUnfGFicExvY2FsaXphdGlvbn19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6Ok5hbWUnfGFicExvY2FsaXphdGlvbn19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6Ok5ld1ZhbHVlJ3xhYnBMb2NhbGl6YXRpb259fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiAxJTtcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkNOQU1FPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7IChwYXJzZWREb21haW4/LnN1YmRvbWFpbik/KHBhcnNlZERvbWFpbj8uc3ViZG9tYWluKTond3d3J319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7VGVuYW50RG9tYWluSW5mbz8ucHJveHlBZGRyZXNzfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogMSU7XCI+PGkgY2xhc3M9XCJiaSBiaS1jbGlwYm9hcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljay5zdG9wKT1cImNvcHlCdG4oVGVuYW50RG9tYWluSW5mbz8ucHJveHlBZGRyZXNzKVwiIHJvbGU9XCJidXR0b25cIj48L2k+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgPGFicC1idXR0b24gY2xhc3M9XCJmbG9hdC1lbmRcIlxyXG4gICAgICAgICAgICAgICAgYnV0dG9uVHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjaGVja0NuYW1lUmVjb3JkKClcIj57eydUZW5hbnREb21haW5NYW5hZ2VtZW50OjpWYWxpZGF0ZURvbWFpbk5hbWUnfGFicExvY2FsaXphdGlvbn19PC9hYnAtYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwSW5kZXg9PT1TdGVwTmFtZS5maW5pc2hcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OkRvbWFpbk5hbWUnfGFicExvY2FsaXphdGlvbn19XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnlcIiAgcm9sZT1cImJ1dHRvblwiIChjbGljay5zdG9wKT1cImVkaXRidG4oU3RlcE5hbWUuZmlsbEluKVwiPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OkVkaXQnfGFicExvY2FsaXphdGlvbn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIHt7ZG9tYWluTmFtZUlucHV0Py52YWx1ZX19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aHIgY2xhc3M9XCJteS0zXCIgLz5cclxuICAgICAgICAgICAgPGFicC1idXR0b24gY2xhc3M9XCJmbG9hdC1lbmRcIlxyXG4gICAgICAgICAgICAgICAgYnV0dG9uVHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzYXZlKClcIiBbbG9hZGluZ109XCJpc1N1Ym1pdFwiIFtkaXNhYmxlZF09XCJpc1N1Ym1pdFwiPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OlNhdmUnfGFicExvY2FsaXphdGlvbn19PC9hYnAtYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLXNhdmVcIiBidXR0b25UeXBlPVwic3VibWl0XCIgW2xvYWRpbmddPVwiaXNTdWJtaXRcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNTdWJtaXRcIj57eydUZW5hbnREb21haW5NYW5hZ2VtZW50OjpTYXZlJ3xhYnBMb2NhbGl6YXRpb259fTwvYWJwLWJ1dHRvbj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuPC9mb3JtPiJdfQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWRvbWFpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9jb21wb25lbnRzL3RlbmFudC1kb21haW4vdGVuYW50LWRvbWFpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9jb21wb25lbnRzL3RlbmFudC1kb21haW4vdGVuYW50LWRvbWFpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFDckQsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFFTCxXQUFXLEdBSVosTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQzNCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7QUFTcEUsTUFBTSxPQUFPLHFCQUFxQjtJQUNo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LEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUNsQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLENBQzVFLENBQUM7UUFDSixDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQ2hCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMscUNBQXFDLENBQUMsQ0FDekUsQ0FBQztRQUNKLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQUNELFdBQVc7SUFDWCxZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsU0FBUztJQUNULFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxVQUFVO0lBQ1YsT0FBTyxDQUFDLEtBQUs7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDOzhHQTNJVSxxQkFBcUI7a0dBQXJCLHFCQUFxQiw2RUMzQmxDLGcrSEFnRU8seUREekNLLFVBQVUsbXVDQUFFLGlCQUFpQix1aUJBQUUsZUFBZTs7MkZBSTdDLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cclxuaW1wb3J0IHsgQ29yZU1vZHVsZSwgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFRoZW1lU2hhcmVkTW9kdWxlLCBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZVRlbmFuY3lEb21haW5zTWFuYWdlbWVudFJvdXRlTmFtZXMgfSBmcm9tICcuLi8uLi9lbnVtcyc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIEZvcm1CdWlsZGVyLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIEZvcm1Hcm91cCxcclxuICBWYWxpZGF0aW9uRXJyb3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVGVuYW50RG9tYWluRm9ybUNvbmZpZyB9IGZyb20gJy4vdGVuYW50LWRvbWFpbi1mb3JtLWNvbmZpZyc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIHBzbCBmcm9tICdwc2wnO1xyXG5pbXBvcnQgeyBTdGVwTmFtZSB9IGZyb20gJy4uLy4uL2VudW1zL3N0ZXAtbmFtZSc7XHJcbmltcG9ydCB7IFRlbmFudERvbWFpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm94eS9kaWduaXRlL2FicC90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQnO1xyXG5pbXBvcnQgeyBDbGlwYm9hcmRNb2R1bGUsIENsaXBib2FyZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGVuYW50LWRvbWFpbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgVGhlbWVTaGFyZWRNb2R1bGUsIENsaXBib2FyZE1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbmFudC1kb21haW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90ZW5hbnQtZG9tYWluLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlbmFudERvbWFpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX0xvY2FsaXphdGlvblNlcnZpY2U6IExvY2FsaXphdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9UZW5hbnREb21haW5TZXJ2aWNlOiBUZW5hbnREb21haW5TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdGVyOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgY2xpcGJvYXJkOiBDbGlwYm9hcmRcclxuICApIHtcclxuICB9XHJcblxyXG4gIGVUZW5hbmN5RG9tYWluc01hbmFnZW1lbnRSb3V0ZU5hbWVzID0gZVRlbmFuY3lEb21haW5zTWFuYWdlbWVudFJvdXRlTmFtZXM7XHJcbiAgU3RlcE5hbWUgPSBTdGVwTmFtZTtcclxuICAvKirmraXpqqQgKi9cclxuICBzdGVwSW5kZXg6IG51bWJlcnxhbnkgPSAwO1xyXG4gIC8qKuaYr+WQpuaPkOS6pCAqL1xyXG4gIGlzU3VibWl0OiBib29sZWFufGFueSA9IGZhbHNlO1xyXG4gIC8qKuihqOWNlemqjOivgSAqL1xyXG4gIGZvcm1WYWxpZGF0aW9uOiBhbnkgPSAnJztcclxuICAvKirooajljZUgKi9cclxuICBmb3JtRW50aXR5OiBGb3JtR3JvdXAgfCB1bmRlZmluZWQ7XHJcbiAgLyoq6Kej5p6Q55qE5Z+f5ZCNICovXHJcbiAgcGFyc2VkRG9tYWluOiBhbnkgPSAnJztcclxuICAvKirln5/lkI3kv6Hmga8gKi9cclxuICBUZW5hbnREb21haW5JbmZvOiBhbnkgPSAnJztcclxuXHJcbiAgZ2V0IGRvbWFpbk5hbWVJbnB1dCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1FbnRpdHk/LmdldCgnZG9tYWluTmFtZScpIGFzIEZvcm1Db250cm9sO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgICB0aGlzLmZvcm1FbnRpdHkgPSB0aGlzLmZiLmdyb3VwKG5ldyBUZW5hbnREb21haW5Gb3JtQ29uZmlnKCkpO1xyXG4gICAgYXdhaXQgdGhpcy5nZXRUZW5hbnREb21haW4oKTtcclxuICAgIHRoaXMuZG9tYWluTmFtZUlucHV0LmFkZFZhbGlkYXRvcnModGhpcy5Eb21haW5WYWxpZGF0b3IoKSk7XHJcbiAgICBjb25zdCBkb21haW5OYW1lID0gdGhpcy5UZW5hbnREb21haW5JbmZvPy5kb21haW5OYW1lO1xyXG4gICAgaWYgKGRvbWFpbk5hbWUpIHtcclxuICAgICAgdGhpcy5kb21haW5OYW1lSW5wdXQucGF0Y2hWYWx1ZShkb21haW5OYW1lKTtcclxuICAgICAgdGhpcy5zdGVwSW5kZXggPSB0aGlzLlN0ZXBOYW1lLmZpbmlzaDtcclxuICAgIH1cclxuICB9XHJcbiAgLyoq6I635Y+W5Z+f5ZCNICovXHJcbiAgZ2V0VGVuYW50RG9tYWluKCkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIHRoaXMuX1RlbmFudERvbWFpblNlcnZpY2UuZ2V0KCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5UZW5hbnREb21haW5JbmZvID0gcmVzO1xyXG4gICAgICAgIHJlc29sdmUocmVzKTtcclxuICAgICAgfSwoZXJyKT0+e1xyXG4gICAgICAgIHJlc29sdmUoZXJyKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKuWfn+WQjemqjOivgSAqL1xyXG4gIERvbWFpblZhbGlkYXRvcigpIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICAvLyBjb25zdCBwYXJzZWQ6YW55ID0gcHNsLnBhcnNlKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHJldHVybiBudWxsO1xyXG4gICAgICBpZiAoIXBzbC5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHJlcGV0aXRpb246IHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChcclxuICAgICAgICAgICAgJ1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OkRvbWFpbk5hbWVWYWxpZGVycm9yJ1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9XHJcbiAgLyoq5ou36LSdICovXHJcbiAgY29weUJ0bih0eHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGlwYm9hcmQuY29weSh0eHQpO1xyXG4gICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3MoXHJcbiAgICAgIHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudCgnVGVuYW50RG9tYWluTWFuYWdlbWVudDo6UmVwbGljYXRpb25TdWNjZXNzZnVsJylcclxuICAgICk7XHJcbiAgfVxyXG4gIC8qKmNoZWNrQ25hbWVSZWNvcmQg5qOA5p+lQ05BTUXorrDlvZUgKi9cclxuICBjaGVja0NuYW1lUmVjb3JkKCkge1xyXG4gICAgY29uc3QgdGhhdCA9IHRoaXM7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB0aGlzLl9UZW5hbnREb21haW5TZXJ2aWNlLmNoZWNrQ25hbWVSZWNvcmQodGhhdC5kb21haW5OYW1lSW5wdXQ/LnZhbHVlKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICB0aGF0LnN0ZXBJbmRleCA9IHRoYXQuU3RlcE5hbWUuZmluaXNoO1xyXG4gICAgICAgICAgdGhhdC50b2FzdGVyLnN1Y2Nlc3MoXHJcbiAgICAgICAgICAgIHRoYXQuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChcclxuICAgICAgICAgICAgICAnVGVuYW50RG9tYWluTWFuYWdlbWVudDo6RG9tYWluTmFtZVZhbGlkU3VjY2Vzc2Z1bCdcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJlc29sdmUocmVzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhhdC50b2FzdGVyLmVycm9yKFxyXG4gICAgICAgICAgICB0aGF0Ll9Mb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICAgJ1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OkRvbWFpbk5hbWVWYWxpZEZhaWwnXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICByZWplY3QocmVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKirooajljZXmj5DkuqQgKi9cclxuICBzYXZlKCkge1xyXG4gICAgaWYgKHRoaXMuaXNTdWJtaXQpIHJldHVybjtcclxuICAgIHRoaXMuaXNTdWJtaXQgPSB0cnVlO1xyXG4gICAgdGhpcy5fVGVuYW50RG9tYWluU2VydmljZVxyXG4gICAgICAuY29ubmVjdCh7XHJcbiAgICAgICAgZG9tYWluTmFtZTogdGhpcy5kb21haW5OYW1lSW5wdXQudmFsdWUsXHJcbiAgICAgIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3MoXHJcbiAgICAgICAgICAgIHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudCgnVGVuYW50RG9tYWluTWFuYWdlbWVudDo6U2F2ZVN1Y2Nlc3NmdWwnKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3Rlci5lcnJvcihcclxuICAgICAgICAgICAgdGhpcy5fTG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KCdUZW5hbnREb21haW5NYW5hZ2VtZW50OjpTYXZlRmFpbHVyZScpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcbiAgLyoq6L+U5Zue5LiK5LiA5q2lICovXHJcbiAgYmFja0xhc3RTdGVwKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuc3RlcEluZGV4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICAvKirkuIvkuIDmraUgKi9cclxuICBuZXh0U3RlcChpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybUVudGl0eS52YWxpZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5wYXJzZWREb21haW4gPSBwc2wucGFyc2UodGhpcy5kb21haW5OYW1lSW5wdXQudmFsdWUpO1xyXG4gICAgdGhpcy5zdGVwSW5kZXggPSBpbmRleDtcclxuICB9XHJcbiAgLyoq57yW6L6R5Z+f5ZCNICovXHJcbiAgZWRpdGJ0bihpbmRleCkge1xyXG4gICAgdGhpcy5zdGVwSW5kZXggPSBpbmRleDtcclxuICB9XHJcbn1cclxuIiwiXHJcbjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUVudGl0eVwiIChrZXlkb3duLmVudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCIgW2NsYXNzXT1cInsnd2FzLXZhbGlkYXRlZCc6Zm9ybVZhbGlkYXRpb259XCJcclxuICAgIChzdWJtaXQpPVwibmV4dFN0ZXAoU3RlcE5hbWUuY2hlY2spXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGVuYW50LWRvbWFpblwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwSW5kZXg9PT1TdGVwTmFtZS5maWxsSW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydUZW5hbnREb21haW5NYW5hZ2VtZW50OjpFbnRlckRvbWFpTmFtZSd8YWJwTG9jYWxpemF0aW9ufX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJkb21haW5OYW1lXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kYW5nZXIgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tkb21haW5OYW1lSW5wdXQ/LmVycm9ycz8ucmVwZXRpdGlvbn19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxociBjbGFzcz1cIm15LTNcIiAvPlxyXG4gICAgICAgICAgICA8YWJwLWJ1dHRvbiBjbGFzcz1cImZsb2F0LWVuZFwiXHJcbiAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwic3VibWl0XCI+e3snVGVuYW50RG9tYWluTWFuYWdlbWVudDo6TmV4dFN0ZXAnfGFicExvY2FsaXphdGlvbn19PC9hYnAtYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwSW5kZXg9PT1TdGVwTmFtZS5jaGVja1wiPlxyXG4gICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlIG1iLTMgZC1pbmxpbmUtYmxvY2tcIiByb2xlPVwiYnV0dG9uXCIgKGNsaWNrLnN0b3ApPVwiYmFja0xhc3RTdGVwKFN0ZXBOYW1lLmZpbGxJbilcIj48aVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmktYXJyb3ctbGVmdCBtZS0yXCI+PC9pPnt7ZG9tYWluTmFtZUlucHV0Py52YWx1ZX19PC9oNT5cclxuICAgICAgICAgICAgPGg1Pnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OkRvbWFpblNldHVwJ3xhYnBMb2NhbGl6YXRpb259fSA8L2g1PlxyXG4gICAgICAgICAgICA8cD57eydUZW5hbnREb21haW5NYW5hZ2VtZW50OjpGb2xsb3dUaGVJbnN0cnVjdGlvbnNCZWxvdyd8YWJwTG9jYWxpemF0aW9ufX08L3A+XHJcbiAgICAgICAgICAgIDxvbD5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1iLTJcIj4ge3snVGVuYW50RG9tYWluTWFuYWdlbWVudDo6TG9nSW5Ub1lvdXJQcm92aWRlcid8YWJwTG9jYWxpemF0aW9ufX08L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibWItMlwiPiB7eydUZW5hbnREb21haW5NYW5hZ2VtZW50OjpPcGVuRE5TTWFuYWdlbWVudEZvcnswfSd8YWJwTG9jYWxpemF0aW9uOmRvbWFpbk5hbWVJbnB1dD8udmFsdWV9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJtYi0yXCI+IHt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OkFkZEROU0Rlc2NyaXB0aW9ucyd8YWJwTG9jYWxpemF0aW9ufX08L2xpPlxyXG4gICAgICAgICAgICA8L29sPlxyXG4gICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBtcy0yXCI+XHJcbiAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3snVGVuYW50RG9tYWluTWFuYWdlbWVudDo6VHlwZSd8YWJwTG9jYWxpemF0aW9ufX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3snVGVuYW50RG9tYWluTWFuYWdlbWVudDo6TmFtZSd8YWJwTG9jYWxpemF0aW9ufX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3snVGVuYW50RG9tYWluTWFuYWdlbWVudDo6TmV3VmFsdWUnfGFicExvY2FsaXphdGlvbn19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDElO1wiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Q05BTUU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgKHBhcnNlZERvbWFpbj8uc3ViZG9tYWluKT8ocGFyc2VkRG9tYWluPy5zdWJkb21haW4pOid3d3cnfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tUZW5hbnREb21haW5JbmZvPy5wcm94eUFkZHJlc3N9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiAxJTtcIj48aSBjbGFzcz1cImJpIGJpLWNsaXBib2FyZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrLnN0b3ApPVwiY29weUJ0bihUZW5hbnREb21haW5JbmZvPy5wcm94eUFkZHJlc3MpXCIgcm9sZT1cImJ1dHRvblwiPjwvaT48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICA8YWJwLWJ1dHRvbiBjbGFzcz1cImZsb2F0LWVuZFwiXHJcbiAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNoZWNrQ25hbWVSZWNvcmQoKVwiPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OlZhbGlkYXRlRG9tYWluTmFtZSd8YWJwTG9jYWxpemF0aW9ufX08L2FicC1idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0ZXBJbmRleD09PVN0ZXBOYW1lLmZpbmlzaFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3snVGVuYW50RG9tYWluTWFuYWdlbWVudDo6RG9tYWluTmFtZSd8YWJwTG9jYWxpemF0aW9ufX1cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeVwiICByb2xlPVwiYnV0dG9uXCIgKGNsaWNrLnN0b3ApPVwiZWRpdGJ0bihTdGVwTmFtZS5maWxsSW4pXCI+e3snVGVuYW50RG9tYWluTWFuYWdlbWVudDo6RWRpdCd8YWJwTG9jYWxpemF0aW9ufX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAge3tkb21haW5OYW1lSW5wdXQ/LnZhbHVlfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxociBjbGFzcz1cIm15LTNcIiAvPlxyXG4gICAgICAgICAgICA8YWJwLWJ1dHRvbiBjbGFzcz1cImZsb2F0LWVuZFwiXHJcbiAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNhdmUoKVwiIFtsb2FkaW5nXT1cImlzU3VibWl0XCIgW2Rpc2FibGVkXT1cImlzU3VibWl0XCI+e3snVGVuYW50RG9tYWluTWFuYWdlbWVudDo6U2F2ZSd8YWJwTG9jYWxpemF0aW9ufX08L2FicC1idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDwhLS0gPGFicC1idXR0b24gaWNvbkNsYXNzPVwiZmEgZmEtc2F2ZVwiIGJ1dHRvblR5cGU9XCJzdWJtaXRcIiBbbG9hZGluZ109XCJpc1N1Ym1pdFwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1N1Ym1pdFwiPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OlNhdmUnfGFicExvY2FsaXphdGlvbn19PC9hYnAtYnV0dG9uPiAtLT5cclxuICAgIDwvZGl2PlxyXG48L2Zvcm0+Il19
@@ -136,7 +136,7 @@ class TenantDomainComponent {
136
136
  return null;
137
137
  if (!psl.isValid(control.value)) {
138
138
  return {
139
- repetition: this._LocalizationService.instant('TenantDomainManagement::YourDomainNameMustContainAValidSuffix'),
139
+ repetition: this._LocalizationService.instant('TenantDomainManagement::DomainNameValiderror'),
140
140
  };
141
141
  }
142
142
  return null;
@@ -154,11 +154,11 @@ class TenantDomainComponent {
154
154
  this._TenantDomainService.checkCnameRecord(that.domainNameInput?.value).subscribe(res => {
155
155
  if (res) {
156
156
  that.stepIndex = that.StepName.finish;
157
- that.toaster.success(that._LocalizationService.instant('TenantDomainManagement::YourDomainNameHasBeenVerifiedPleaseBind'));
157
+ that.toaster.success(that._LocalizationService.instant('TenantDomainManagement::DomainNameValidSuccessful'));
158
158
  resolve(res);
159
159
  }
160
160
  else {
161
- that.toaster.error(that._LocalizationService.instant('TenantDomainManagement::YourDomainNameIsNotVerifiedPleaseCheckTheDNSConfigurationOfTheDomainName'));
161
+ that.toaster.error(that._LocalizationService.instant('TenantDomainManagement::DomainNameValidFail'));
162
162
  reject(res);
163
163
  }
164
164
  });
@@ -198,11 +198,11 @@ class TenantDomainComponent {
198
198
  this.stepIndex = index;
199
199
  }
200
200
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainComponent, deps: [{ token: i1.FormBuilder }, { token: i2.LocalizationService }, { token: TenantDomainService }, { token: i4.ToasterService }, { token: i5.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
201
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TenantDomainComponent, isStandalone: true, selector: "lib-tenant-domain", ngImport: i0, template: "\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddANewDNSRecordByCopyingAndPastingTheNameAndNewValue'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i2.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "directive", type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i7.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i4.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "ngmodule", type: ClipboardModule }] }); }
201
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TenantDomainComponent, isStandalone: true, selector: "lib-tenant-domain", ngImport: i0, template: "\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::EnterDomaiName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddDNSDescriptions'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i2.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "directive", type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i7.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i4.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "ngmodule", type: ClipboardModule }] }); }
202
202
  }
203
203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainComponent, decorators: [{
204
204
  type: Component,
205
- args: [{ selector: 'lib-tenant-domain', standalone: true, imports: [CoreModule, ThemeSharedModule, ClipboardModule], template: "\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddANewDNSRecordByCopyingAndPastingTheNameAndNewValue'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>" }]
205
+ args: [{ selector: 'lib-tenant-domain', standalone: true, imports: [CoreModule, ThemeSharedModule, ClipboardModule], template: "\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::EnterDomaiName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddDNSDescriptions'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>" }]
206
206
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.LocalizationService }, { type: TenantDomainService }, { type: i4.ToasterService }, { type: i5.Clipboard }] });
207
207
 
208
208
  const Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS = [
@@ -1 +1 @@
1
- {"version":3,"file":"dignite-ng-expand.tenant-domain-management-config.mjs","sources":["../../../../packages/tenant-domain-management/config/src/enums/route-names.ts","../../../../packages/tenant-domain-management/config/src/enums/step-name.ts","../../../../packages/tenant-domain-management/config/src/providers/route.provider.ts","../../../../packages/tenant-domain-management/config/src/components/tenant-domain/tenant-domain-form-config.ts","../../../../packages/tenant-domain-management/config/src/proxy/dignite/abp/tenant-domain-management/tenant-domain.service.ts","../../../../packages/tenant-domain-management/config/src/components/tenant-domain/tenant-domain.component.ts","../../../../packages/tenant-domain-management/config/src/components/tenant-domain/tenant-domain.component.html","../../../../packages/tenant-domain-management/config/src/providers/setting-route.provider.ts","../../../../packages/tenant-domain-management/config/src/tenancy-domains-management-config.module.ts","../../../../packages/tenant-domain-management/config/src/dignite-ng-expand.tenant-domain-management-config.ts"],"sourcesContent":["export enum eTenancyDomainsManagementRouteNames {\r\n // Cms = 'Cms::Menu:Cms',\r\n // Entries = 'Cms::FormControl:Entry',\r\n // Settings = \"Cms::Menu:Settings\",\r\n // Fields = \"Cms::Fields\",\r\n // Sections = \"Cms::Sections\",\r\n // SiteLanguage=\"Cms::DisplayName:Cms.Site.Languages\",\r\n Domain=\"TenantDomainManagement::DomainName\"\r\n}","export enum StepName {\r\n fillIn,\r\n check,\r\n finish\r\n}\r\n","/* eslint-disable @typescript-eslint/no-empty-function */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { RoutesService } from '@abp/ng.core';\r\nimport { APP_INITIALIZER } from '@angular/core';\r\nimport { SettingTabsService } from '@abp/ng.setting-management/config';\r\n\r\n\r\n\r\n\r\n\r\nexport const Tenancy_Domains_Management_ROUTE_PROVIDERS = [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: configureRoutes,\r\n deps: [RoutesService, SettingTabsService],\r\n multi: true,\r\n },\r\n];\r\n\r\n\r\nexport function configureRoutes(routesService: RoutesService, settingTabs: SettingTabsService) {\r\n return () => {};\r\n}\r\n","import { Validators } from '@angular/forms';\r\n\r\nexport class TenantDomainFormConfig {\r\n\r\n domainName: any = ['', [Validators.required]];\r\n}\r\n","import type { ConnectTenantDomainInput, TenantDomainDto } from './models';\r\nimport { RestService, Rest } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TenantDomainService {\r\n apiName = 'TenantDomainManagement';\r\n \r\n\r\n checkCnameRecord = (domainName: string, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, boolean>({\r\n method: 'GET',\r\n url: '/api/tenant-domain-management/tenant-domain/check-cname-record',\r\n params: { domainName },\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n connect = (input: ConnectTenantDomainInput, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, TenantDomainDto>({\r\n method: 'POST',\r\n url: '/api/tenant-domain-management/tenant-domain/connect',\r\n body: input,\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n get = (config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, TenantDomainDto>({\r\n method: 'GET',\r\n url: '/api/tenant-domain-management/tenant-domain',\r\n },\r\n { apiName: this.apiName,...config });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","/* eslint-disable @typescript-eslint/no-this-alias */\r\n/* eslint-disable @angular-eslint/component-selector */\r\nimport { CoreModule, LocalizationService } from '@abp/ng.core';\r\nimport { ThemeSharedModule, ToasterService } from '@abp/ng.theme.shared';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { eTenancyDomainsManagementRouteNames } from '../../enums';\r\nimport {\r\n AbstractControl,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n ValidationErrors,\r\n} from '@angular/forms';\r\nimport { TenantDomainFormConfig } from './tenant-domain-form-config';\r\nimport { finalize } from 'rxjs';\r\nimport * as psl from 'psl';\r\nimport { StepName } from '../../enums/step-name';\r\nimport { TenantDomainService } from '../../proxy/dignite/abp/tenant-domain-management';\r\nimport { ClipboardModule, Clipboard } from '@angular/cdk/clipboard';\r\n\r\n@Component({\r\n selector: 'lib-tenant-domain',\r\n standalone: true,\r\n imports: [CoreModule, ThemeSharedModule, ClipboardModule],\r\n templateUrl: './tenant-domain.component.html',\r\n styleUrl: './tenant-domain.component.scss',\r\n})\r\nexport class TenantDomainComponent implements OnInit {\r\n constructor(\r\n private fb: FormBuilder,\r\n private _LocalizationService: LocalizationService,\r\n private _TenantDomainService: TenantDomainService,\r\n private toaster: ToasterService,\r\n private clipboard: Clipboard\r\n ) {\r\n }\r\n\r\n eTenancyDomainsManagementRouteNames = eTenancyDomainsManagementRouteNames;\r\n StepName = StepName;\r\n /**步骤 */\r\n stepIndex: number|any = 0;\r\n /**是否提交 */\r\n isSubmit: boolean|any = false;\r\n /**表单验证 */\r\n formValidation: any = '';\r\n /**表单 */\r\n formEntity: FormGroup | undefined;\r\n /**解析的域名 */\r\n parsedDomain: any = '';\r\n /**域名信息 */\r\n TenantDomainInfo: any = '';\r\n\r\n get domainNameInput() {\r\n return this.formEntity?.get('domainName') as FormControl;\r\n }\r\n\r\n async ngOnInit(): Promise<void> {\r\n // throw new Error('Method not implemented.');\r\n this.formEntity = this.fb.group(new TenantDomainFormConfig());\r\n await this.getTenantDomain();\r\n this.domainNameInput.addValidators(this.DomainValidator());\r\n const domainName = this.TenantDomainInfo?.domainName;\r\n if (domainName) {\r\n this.domainNameInput.patchValue(domainName);\r\n this.stepIndex = this.StepName.finish;\r\n }\r\n }\r\n /**获取域名 */\r\n getTenantDomain() {\r\n return new Promise((resolve) => {\r\n this._TenantDomainService.get().subscribe(res => {\r\n this.TenantDomainInfo = res;\r\n resolve(res);\r\n },(err)=>{\r\n resolve(err);\r\n });\r\n });\r\n }\r\n\r\n /**域名验证 */\r\n DomainValidator() {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n // const parsed:any = psl.parse(control.value);\r\n if (!control.value) return null;\r\n if (!psl.isValid(control.value)) {\r\n return {\r\n repetition: this._LocalizationService.instant(\r\n 'TenantDomainManagement::YourDomainNameMustContainAValidSuffix'\r\n ),\r\n };\r\n }\r\n return null;\r\n };\r\n }\r\n /**拷贝 */\r\n copyBtn(txt: string) {\r\n this.clipboard.copy(txt);\r\n this.toaster.success(\r\n this._LocalizationService.instant('TenantDomainManagement::ReplicationSuccessful')\r\n );\r\n }\r\n /**checkCnameRecord 检查CNAME记录 */\r\n checkCnameRecord() {\r\n const that = this;\r\n return new Promise((resolve, reject) => {\r\n this._TenantDomainService.checkCnameRecord(that.domainNameInput?.value).subscribe(res => {\r\n if (res) {\r\n that.stepIndex = that.StepName.finish;\r\n that.toaster.success(\r\n that._LocalizationService.instant(\r\n 'TenantDomainManagement::YourDomainNameHasBeenVerifiedPleaseBind'\r\n )\r\n );\r\n resolve(res);\r\n } else {\r\n that.toaster.error(\r\n that._LocalizationService.instant(\r\n 'TenantDomainManagement::YourDomainNameIsNotVerifiedPleaseCheckTheDNSConfigurationOfTheDomainName'\r\n )\r\n );\r\n reject(res);\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**表单提交 */\r\n save() {\r\n if (this.isSubmit) return;\r\n this.isSubmit = true;\r\n this._TenantDomainService\r\n .connect({\r\n domainName: this.domainNameInput.value,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this.isSubmit = false;\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n this.toaster.success(\r\n this._LocalizationService.instant('TenantDomainManagement::SaveSuccessful')\r\n );\r\n },\r\n () => {\r\n this.toaster.error(\r\n this._LocalizationService.instant('TenantDomainManagement::SaveFailure')\r\n );\r\n }\r\n );\r\n }\r\n /**返回上一步 */\r\n backLastStep(index: number) {\r\n this.stepIndex = index;\r\n }\r\n\r\n /**下一步 */\r\n nextStep(index: number) {\r\n if (!this.formEntity.valid) return;\r\n this.parsedDomain = psl.parse(this.domainNameInput.value);\r\n this.stepIndex = index;\r\n }\r\n /**编辑域名 */\r\n editbtn(index) {\r\n this.stepIndex = index;\r\n }\r\n}\r\n","\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddANewDNSRecordByCopyingAndPastingTheNameAndNewValue'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>","import { RoutesService } from '@abp/ng.core';\r\nimport { APP_INITIALIZER } from '@angular/core';\r\nimport { eTenancyDomainsManagementRouteNames } from '../enums/route-names';\r\nimport { SettingTabsService } from '@abp/ng.setting-management/config';\r\nimport { TenantDomainComponent } from '../components/tenant-domain/tenant-domain.component';\r\n\r\n\r\n\r\n\r\n\r\nexport const Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS = [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: configureSettingRoutes,\r\n deps: [RoutesService, SettingTabsService],\r\n multi: true,\r\n },\r\n];\r\n\r\n\r\nexport function configureSettingRoutes(routesService: RoutesService, settingTabs: SettingTabsService) {\r\n return () => {\r\n settingTabs.add([\r\n {\r\n name: eTenancyDomainsManagementRouteNames.Domain,\r\n requiredPolicy: 'TenantDomainManagement.ManageDomain',\r\n component: TenantDomainComponent,\r\n },\r\n ]);\r\n };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { Tenancy_Domains_Management_ROUTE_PROVIDERS } from './providers/route.provider';\r\nimport { Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS } from './providers';\r\n\r\n@NgModule()\r\nexport class TenancyDomainsManagementConfigModule {\r\n static forRoot(): ModuleWithProviders<TenancyDomainsManagementConfigModule> {\r\n return {\r\n ngModule: TenancyDomainsManagementConfigModule,\r\n providers: [Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS,Tenancy_Domains_Management_ROUTE_PROVIDERS],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3.TenantDomainService"],"mappings":"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"}
1
+ {"version":3,"file":"dignite-ng-expand.tenant-domain-management-config.mjs","sources":["../../../../packages/tenant-domain-management/config/src/enums/route-names.ts","../../../../packages/tenant-domain-management/config/src/enums/step-name.ts","../../../../packages/tenant-domain-management/config/src/providers/route.provider.ts","../../../../packages/tenant-domain-management/config/src/components/tenant-domain/tenant-domain-form-config.ts","../../../../packages/tenant-domain-management/config/src/proxy/dignite/abp/tenant-domain-management/tenant-domain.service.ts","../../../../packages/tenant-domain-management/config/src/components/tenant-domain/tenant-domain.component.ts","../../../../packages/tenant-domain-management/config/src/components/tenant-domain/tenant-domain.component.html","../../../../packages/tenant-domain-management/config/src/providers/setting-route.provider.ts","../../../../packages/tenant-domain-management/config/src/tenancy-domains-management-config.module.ts","../../../../packages/tenant-domain-management/config/src/dignite-ng-expand.tenant-domain-management-config.ts"],"sourcesContent":["export enum eTenancyDomainsManagementRouteNames {\r\n // Cms = 'Cms::Menu:Cms',\r\n // Entries = 'Cms::FormControl:Entry',\r\n // Settings = \"Cms::Menu:Settings\",\r\n // Fields = \"Cms::Fields\",\r\n // Sections = \"Cms::Sections\",\r\n // SiteLanguage=\"Cms::DisplayName:Cms.Site.Languages\",\r\n Domain=\"TenantDomainManagement::DomainName\"\r\n}","export enum StepName {\r\n fillIn,\r\n check,\r\n finish\r\n}\r\n","/* eslint-disable @typescript-eslint/no-empty-function */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { RoutesService } from '@abp/ng.core';\r\nimport { APP_INITIALIZER } from '@angular/core';\r\nimport { SettingTabsService } from '@abp/ng.setting-management/config';\r\n\r\n\r\n\r\n\r\n\r\nexport const Tenancy_Domains_Management_ROUTE_PROVIDERS = [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: configureRoutes,\r\n deps: [RoutesService, SettingTabsService],\r\n multi: true,\r\n },\r\n];\r\n\r\n\r\nexport function configureRoutes(routesService: RoutesService, settingTabs: SettingTabsService) {\r\n return () => {};\r\n}\r\n","import { Validators } from '@angular/forms';\r\n\r\nexport class TenantDomainFormConfig {\r\n\r\n domainName: any = ['', [Validators.required]];\r\n}\r\n","import type { ConnectTenantDomainInput, TenantDomainDto } from './models';\r\nimport { RestService, Rest } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TenantDomainService {\r\n apiName = 'TenantDomainManagement';\r\n \r\n\r\n checkCnameRecord = (domainName: string, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, boolean>({\r\n method: 'GET',\r\n url: '/api/tenant-domain-management/tenant-domain/check-cname-record',\r\n params: { domainName },\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n connect = (input: ConnectTenantDomainInput, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, TenantDomainDto>({\r\n method: 'POST',\r\n url: '/api/tenant-domain-management/tenant-domain/connect',\r\n body: input,\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n get = (config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, TenantDomainDto>({\r\n method: 'GET',\r\n url: '/api/tenant-domain-management/tenant-domain',\r\n },\r\n { apiName: this.apiName,...config });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","/* eslint-disable @typescript-eslint/no-this-alias */\r\n/* eslint-disable @angular-eslint/component-selector */\r\nimport { CoreModule, LocalizationService } from '@abp/ng.core';\r\nimport { ThemeSharedModule, ToasterService } from '@abp/ng.theme.shared';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { eTenancyDomainsManagementRouteNames } from '../../enums';\r\nimport {\r\n AbstractControl,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n ValidationErrors,\r\n} from '@angular/forms';\r\nimport { TenantDomainFormConfig } from './tenant-domain-form-config';\r\nimport { finalize } from 'rxjs';\r\nimport * as psl from 'psl';\r\nimport { StepName } from '../../enums/step-name';\r\nimport { TenantDomainService } from '../../proxy/dignite/abp/tenant-domain-management';\r\nimport { ClipboardModule, Clipboard } from '@angular/cdk/clipboard';\r\n\r\n@Component({\r\n selector: 'lib-tenant-domain',\r\n standalone: true,\r\n imports: [CoreModule, ThemeSharedModule, ClipboardModule],\r\n templateUrl: './tenant-domain.component.html',\r\n styleUrl: './tenant-domain.component.scss',\r\n})\r\nexport class TenantDomainComponent implements OnInit {\r\n constructor(\r\n private fb: FormBuilder,\r\n private _LocalizationService: LocalizationService,\r\n private _TenantDomainService: TenantDomainService,\r\n private toaster: ToasterService,\r\n private clipboard: Clipboard\r\n ) {\r\n }\r\n\r\n eTenancyDomainsManagementRouteNames = eTenancyDomainsManagementRouteNames;\r\n StepName = StepName;\r\n /**步骤 */\r\n stepIndex: number|any = 0;\r\n /**是否提交 */\r\n isSubmit: boolean|any = false;\r\n /**表单验证 */\r\n formValidation: any = '';\r\n /**表单 */\r\n formEntity: FormGroup | undefined;\r\n /**解析的域名 */\r\n parsedDomain: any = '';\r\n /**域名信息 */\r\n TenantDomainInfo: any = '';\r\n\r\n get domainNameInput() {\r\n return this.formEntity?.get('domainName') as FormControl;\r\n }\r\n\r\n async ngOnInit(): Promise<void> {\r\n // throw new Error('Method not implemented.');\r\n this.formEntity = this.fb.group(new TenantDomainFormConfig());\r\n await this.getTenantDomain();\r\n this.domainNameInput.addValidators(this.DomainValidator());\r\n const domainName = this.TenantDomainInfo?.domainName;\r\n if (domainName) {\r\n this.domainNameInput.patchValue(domainName);\r\n this.stepIndex = this.StepName.finish;\r\n }\r\n }\r\n /**获取域名 */\r\n getTenantDomain() {\r\n return new Promise((resolve) => {\r\n this._TenantDomainService.get().subscribe(res => {\r\n this.TenantDomainInfo = res;\r\n resolve(res);\r\n },(err)=>{\r\n resolve(err);\r\n });\r\n });\r\n }\r\n\r\n /**域名验证 */\r\n DomainValidator() {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n // const parsed:any = psl.parse(control.value);\r\n if (!control.value) return null;\r\n if (!psl.isValid(control.value)) {\r\n return {\r\n repetition: this._LocalizationService.instant(\r\n 'TenantDomainManagement::DomainNameValiderror'\r\n ),\r\n };\r\n }\r\n return null;\r\n };\r\n }\r\n /**拷贝 */\r\n copyBtn(txt: string) {\r\n this.clipboard.copy(txt);\r\n this.toaster.success(\r\n this._LocalizationService.instant('TenantDomainManagement::ReplicationSuccessful')\r\n );\r\n }\r\n /**checkCnameRecord 检查CNAME记录 */\r\n checkCnameRecord() {\r\n const that = this;\r\n return new Promise((resolve, reject) => {\r\n this._TenantDomainService.checkCnameRecord(that.domainNameInput?.value).subscribe(res => {\r\n if (res) {\r\n that.stepIndex = that.StepName.finish;\r\n that.toaster.success(\r\n that._LocalizationService.instant(\r\n 'TenantDomainManagement::DomainNameValidSuccessful'\r\n )\r\n );\r\n resolve(res);\r\n } else {\r\n that.toaster.error(\r\n that._LocalizationService.instant(\r\n 'TenantDomainManagement::DomainNameValidFail'\r\n )\r\n );\r\n reject(res);\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**表单提交 */\r\n save() {\r\n if (this.isSubmit) return;\r\n this.isSubmit = true;\r\n this._TenantDomainService\r\n .connect({\r\n domainName: this.domainNameInput.value,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this.isSubmit = false;\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n this.toaster.success(\r\n this._LocalizationService.instant('TenantDomainManagement::SaveSuccessful')\r\n );\r\n },\r\n () => {\r\n this.toaster.error(\r\n this._LocalizationService.instant('TenantDomainManagement::SaveFailure')\r\n );\r\n }\r\n );\r\n }\r\n /**返回上一步 */\r\n backLastStep(index: number) {\r\n this.stepIndex = index;\r\n }\r\n\r\n /**下一步 */\r\n nextStep(index: number) {\r\n if (!this.formEntity.valid) return;\r\n this.parsedDomain = psl.parse(this.domainNameInput.value);\r\n this.stepIndex = index;\r\n }\r\n /**编辑域名 */\r\n editbtn(index) {\r\n this.stepIndex = index;\r\n }\r\n}\r\n","\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::EnterDomaiName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddDNSDescriptions'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>","import { RoutesService } from '@abp/ng.core';\r\nimport { APP_INITIALIZER } from '@angular/core';\r\nimport { eTenancyDomainsManagementRouteNames } from '../enums/route-names';\r\nimport { SettingTabsService } from '@abp/ng.setting-management/config';\r\nimport { TenantDomainComponent } from '../components/tenant-domain/tenant-domain.component';\r\n\r\n\r\n\r\n\r\n\r\nexport const Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS = [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: configureSettingRoutes,\r\n deps: [RoutesService, SettingTabsService],\r\n multi: true,\r\n },\r\n];\r\n\r\n\r\nexport function configureSettingRoutes(routesService: RoutesService, settingTabs: SettingTabsService) {\r\n return () => {\r\n settingTabs.add([\r\n {\r\n name: eTenancyDomainsManagementRouteNames.Domain,\r\n requiredPolicy: 'TenantDomainManagement.ManageDomain',\r\n component: TenantDomainComponent,\r\n },\r\n ]);\r\n };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { Tenancy_Domains_Management_ROUTE_PROVIDERS } from './providers/route.provider';\r\nimport { Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS } from './providers';\r\n\r\n@NgModule()\r\nexport class TenancyDomainsManagementConfigModule {\r\n static forRoot(): ModuleWithProviders<TenancyDomainsManagementConfigModule> {\r\n return {\r\n ngModule: TenancyDomainsManagementConfigModule,\r\n providers: [Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS,Tenancy_Domains_Management_ROUTE_PROVIDERS],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3.TenantDomainService"],"mappings":";;;;;;;;;;;;;;;;IAAa;AAAb,CAAA,UAAa,mCAAmC,EAAA;;;;;;;AAO9C,IAAA,mCAAA,CAAA,QAAA,CAAA,GAAA,oCAA2C;AAC7C,CAAC,EARY,mCAAmC,KAAnC,mCAAmC,GAQ/C,EAAA,CAAA,CAAA;;ICRW;AAAZ,CAAA,UAAY,QAAQ,EAAA;AAChB,IAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACN,IAAA,QAAA,CAAA,QAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACL,IAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACV,CAAC,EAJW,QAAQ,KAAR,QAAQ,GAInB,EAAA,CAAA,CAAA;;ACJD;AACA;AASa,MAAA,0CAA0C,GAAG;AACxD,IAAA;AACE,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,UAAU,EAAE,eAAe;AAC3B,QAAA,IAAI,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC;AACzC,QAAA,KAAK,EAAE,IAAI;AACZ,KAAA;;AAIa,SAAA,eAAe,CAAC,aAA4B,EAAE,WAA+B,EAAA;AAC3F,IAAA,OAAO,MAAO,GAAC;AACjB;;MCpBa,sBAAsB,CAAA;AAAnC,IAAA,WAAA,GAAA;QAEE,IAAU,CAAA,UAAA,GAAQ,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;;AAC9C;;MCEY,mBAAmB,CAAA;AA6B9B,IAAA,WAAA,CAAoB,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW;QA5B/B,IAAO,CAAA,OAAA,GAAG,wBAAwB;AAGlC,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,UAAkB,EAAE,MAA6B,KACnE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAe;AACrC,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,gEAAgE;YACrE,MAAM,EAAE,EAAE,UAAU,EAAE;SACvB,EACD,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,GAAG,MAAM,EAAE,CAAC;AAGtC,QAAA,IAAA,CAAA,OAAO,GAAG,CAAC,KAA+B,EAAE,MAA6B,KACvE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAuB;AAC7C,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,qDAAqD;AAC1D,YAAA,IAAI,EAAE,KAAK;SACZ,EACD,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,GAAG,MAAM,EAAE,CAAC;QAGtC,IAAG,CAAA,GAAA,GAAG,CAAC,MAA6B,KAClC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAuB;AAC7C,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,6CAA6C;SACnD,EACD,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,GAAG,MAAM,EAAE,CAAC;;8GA3B3B,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACND;AACA;MA0Ba,qBAAqB,CAAA;IAChC,WACU,CAAA,EAAe,EACf,oBAAyC,EACzC,oBAAyC,EACzC,OAAuB,EACvB,SAAoB,EAAA;QAJpB,IAAE,CAAA,EAAA,GAAF,EAAE;QACF,IAAoB,CAAA,oBAAA,GAApB,oBAAoB;QACpB,IAAoB,CAAA,oBAAA,GAApB,oBAAoB;QACpB,IAAO,CAAA,OAAA,GAAP,OAAO;QACP,IAAS,CAAA,SAAA,GAAT,SAAS;QAInB,IAAmC,CAAA,mCAAA,GAAG,mCAAmC;QACzE,IAAQ,CAAA,QAAA,GAAG,QAAQ;;QAEnB,IAAS,CAAA,SAAA,GAAe,CAAC;;QAEzB,IAAQ,CAAA,QAAA,GAAgB,KAAK;;QAE7B,IAAc,CAAA,cAAA,GAAQ,EAAE;;QAIxB,IAAY,CAAA,YAAA,GAAQ,EAAE;;QAEtB,IAAgB,CAAA,gBAAA,GAAQ,EAAE;;AAE1B,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,YAAY,CAAgB;;AAG1D,IAAA,MAAM,QAAQ,GAAA;;AAEZ,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,sBAAsB,EAAE,CAAC;AAC7D,QAAA,MAAM,IAAI,CAAC,eAAe,EAAE;QAC5B,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;AAC1D,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU;QACpD,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC;YAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;;;;IAIzC,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;YAC7B,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,IAAG;AAC9C,gBAAA,IAAI,CAAC,gBAAgB,GAAG,GAAG;gBAC3B,OAAO,CAAC,GAAG,CAAC;AACd,aAAC,EAAC,CAAC,GAAG,KAAG;gBACP,OAAO,CAAC,GAAG,CAAC;AACd,aAAC,CAAC;AACJ,SAAC,CAAC;;;IAIJ,eAAe,GAAA;QACb,OAAO,CAAC,OAAwB,KAA6B;;YAE3D,IAAI,CAAC,OAAO,CAAC,KAAK;AAAE,gBAAA,OAAO,IAAI;YAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC/B,OAAO;oBACL,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAC3C,8CAA8C,CAC/C;iBACF;;AAEH,YAAA,OAAO,IAAI;AACb,SAAC;;;AAGH,IAAA,OAAO,CAAC,GAAW,EAAA;AACjB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;AACxB,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,+CAA+C,CAAC,CACnF;;;IAGH,gBAAgB,GAAA;QACd,MAAM,IAAI,GAAG,IAAI;QACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,YAAA,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,IAAG;gBACtF,IAAI,GAAG,EAAE;oBACP,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;AACrC,oBAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAC/B,mDAAmD,CACpD,CACF;oBACD,OAAO,CAAC,GAAG,CAAC;;qBACP;AACL,oBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAC/B,6CAA6C,CAC9C,CACF;oBACD,MAAM,CAAC,GAAG,CAAC;;AAEf,aAAC,CAAC;AACJ,SAAC,CAAC;;;IAIJ,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,QAAQ;YAAE;AACnB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC;AACF,aAAA,OAAO,CAAC;AACP,YAAA,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;SACvC;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACvB,SAAC,CAAC;aAEH,SAAS,CACR,MAAK;AACH,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAC5E;SACF,EACD,MAAK;AACH,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,qCAAqC,CAAC,CACzE;AACH,SAAC,CACF;;;AAGL,IAAA,YAAY,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;;AAIxB,IAAA,QAAQ,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;YAAE;AAC5B,QAAA,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AACzD,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;;AAGxB,IAAA,OAAO,CAAC,KAAK,EAAA;AACX,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;8GA1Ib,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,6EC3BlC,g+HAgEO,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzCK,UAAU,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,uiBAAE,eAAe,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAI7C,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;+BACE,mBAAmB,EAAA,UAAA,EACjB,IAAI,EACP,OAAA,EAAA,CAAC,UAAU,EAAE,iBAAiB,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,g+HAAA,EAAA;;;AEb9C,MAAA,kDAAkD,GAAG;AAChE,IAAA;AACE,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,UAAU,EAAE,sBAAsB;AAClC,QAAA,IAAI,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC;AACzC,QAAA,KAAK,EAAE,IAAI;AACZ,KAAA;;AAIa,SAAA,sBAAsB,CAAC,aAA4B,EAAE,WAA+B,EAAA;AAClG,IAAA,OAAO,MAAK;QACV,WAAW,CAAC,GAAG,CAAC;AACd,YAAA;gBACE,IAAI,EAAE,mCAAmC,CAAC,MAAM;AAChD,gBAAA,cAAc,EAAE,qCAAqC;AACrD,gBAAA,SAAS,EAAE,qBAAqB;AACjC,aAAA;AACF,SAAA,CAAC;AACJ,KAAC;AACH;;MCzBa,oCAAoC,CAAA;AAC/C,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,oCAAoC;AAC9C,YAAA,SAAS,EAAE,CAAC,kDAAkD,EAAC,0CAA0C,CAAC;SAC3G;;8GALQ,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAApC,oCAAoC,EAAA,CAAA,CAAA;+GAApC,oCAAoC,EAAA,CAAA,CAAA;;2FAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBADhD;;;ACJD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dignite-ng/expand.tenant-domain-management",
3
- "version": "3.0.0-rc.47",
3
+ "version": "3.0.0-rc.48",
4
4
  "homepage": "https://abp.io",
5
5
  "repository": {
6
6
  "type": "git",