@formio/angular 8.0.0-dev.1085.8a162dc → 8.0.0-dev.1086.2da738a

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.
@@ -1,29 +1,26 @@
1
- import { Inject, Injectable, InjectionToken } from '@angular/core';
1
+ import { Injectable } from '@angular/core';
2
2
  import { Formio } from '@formio/js';
3
3
  import * as i0 from "@angular/core";
4
- export const FORMIO_CONFIG = new InjectionToken('formio-config');
5
4
  export class FormioAppConfig {
6
5
  appUrl = '';
7
6
  apiUrl = '';
8
7
  icons;
9
8
  formOnly;
10
9
  formio;
11
- constructor(config = {}) {
12
- this.apiUrl = config.apiUrl || config.baseUrl;
13
- this.appUrl = config.appUrl || config.projectUrl;
10
+ ngOnInit() {
14
11
  if (this.apiUrl) {
15
12
  Formio.setBaseUrl(this.apiUrl);
16
13
  Formio.setProjectUrl(this.appUrl);
17
14
  this.formio = new Formio(this.appUrl);
18
15
  }
19
16
  }
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FormioAppConfig, deps: [{ token: FORMIO_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
21
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FormioAppConfig });
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FormioAppConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FormioAppConfig, providedIn: 'root' });
22
19
  }
23
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FormioAppConfig, decorators: [{
24
- type: Injectable
25
- }], ctorParameters: () => [{ type: undefined, decorators: [{
26
- type: Inject,
27
- args: [FORMIO_CONFIG]
28
- }] }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3NyYy9mb3JtaW8uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQURwQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7QUFJakUsTUFBTSxPQUFPLGVBQWU7SUFFMUIsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNaLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDWixLQUFLLENBQVU7SUFDZixRQUFRLENBQVc7SUFDbkIsTUFBTSxDQUFVO0lBQ2hCLFlBQW1DLFNBSy9CLEVBQUU7UUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQzt1R0FwQlUsZUFBZSxrQkFPTixhQUFhOzJHQVB0QixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5leHBvcnQgY29uc3QgRk9STUlPX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbignZm9ybWlvLWNvbmZpZycpO1xuaW1wb3J0IHsgRm9ybWlvIH0gZnJvbSAnQGZvcm1pby9qcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtaW9BcHBDb25maWcge1xuICBbeDogc3RyaW5nXTogYW55O1xuICBhcHBVcmwgPSAnJztcbiAgYXBpVXJsID0gJyc7XG4gIGljb25zPzogc3RyaW5nO1xuICBmb3JtT25seT86IGJvb2xlYW47XG4gIGZvcm1pbz86IEZvcm1pbztcbiAgY29uc3RydWN0b3IoQEluamVjdChGT1JNSU9fQ09ORklHKSBjb25maWc6IHtcbiAgICBhcGlVcmw/OiBzdHJpbmcsXG4gICAgYmFzZVVybD86IHN0cmluZywgXG4gICAgYXBwVXJsPzogc3RyaW5nLFxuICAgIHByb2plY3RVcmw/OiBzdHJpbmcgXG4gIH0gPSB7fSkge1xuICAgIHRoaXMuYXBpVXJsID0gY29uZmlnLmFwaVVybCB8fCBjb25maWcuYmFzZVVybDtcbiAgICB0aGlzLmFwcFVybCA9IGNvbmZpZy5hcHBVcmwgfHwgY29uZmlnLnByb2plY3RVcmw7XG4gICAgaWYgKHRoaXMuYXBpVXJsKSB7XG4gICAgICBGb3JtaW8uc2V0QmFzZVVybCh0aGlzLmFwaVVybCk7XG4gICAgICBGb3JtaW8uc2V0UHJvamVjdFVybCh0aGlzLmFwcFVybCk7XG4gICAgICB0aGlzLmZvcm1pbyA9IG5ldyBGb3JtaW8odGhpcy5hcHBVcmwpO1xuICAgIH1cbiAgfVxufVxuIl19
21
+ type: Injectable,
22
+ args: [{
23
+ providedIn: 'root'
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3NyYy9mb3JtaW8uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFLcEMsTUFBTSxPQUFPLGVBQWU7SUFFMUIsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNaLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDWixLQUFLLENBQVU7SUFDZixRQUFRLENBQVc7SUFDbkIsTUFBTSxDQUFVO0lBQ2hCLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQzt1R0FiVSxlQUFlOzJHQUFmLGVBQWUsY0FGZCxNQUFNOzsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybWlvIH0gZnJvbSAnQGZvcm1pby9qcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1pb0FwcENvbmZpZyBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIFt4OiBzdHJpbmddOiBhbnk7XG4gIGFwcFVybCA9ICcnO1xuICBhcGlVcmwgPSAnJztcbiAgaWNvbnM/OiBzdHJpbmc7XG4gIGZvcm1Pbmx5PzogYm9vbGVhbjtcbiAgZm9ybWlvPzogRm9ybWlvO1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hcGlVcmwpIHtcbiAgICAgIEZvcm1pby5zZXRCYXNlVXJsKHRoaXMuYXBpVXJsKTtcbiAgICAgIEZvcm1pby5zZXRQcm9qZWN0VXJsKHRoaXMuYXBwVXJsKTtcbiAgICAgIHRoaXMuZm9ybWlvID0gbmV3IEZvcm1pbyh0aGlzLmFwcFVybCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -30,7 +30,7 @@ export class FormioResourceComponent {
30
30
  this.routerSubscription.unsubscribe();
31
31
  }
32
32
  init() {
33
- return this.service.init(this.route).then(() => this.auth.ready.then(() => this.service.formFormio.userPermissions(this.auth.user, this.service.form, this.service.resource).then((perms) => {
33
+ return this.service.init(this.route, this.router).then(() => this.auth.ready.then(() => this.service.formFormio.userPermissions(this.auth.user, this.service.form, this.service.resource).then((perms) => {
34
34
  this.perms.delete = perms.delete;
35
35
  this.perms.edit = perms.edit;
36
36
  return this.service.resource;
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
43
43
  type: Component,
44
44
  args: [{ template: "<ul class=\"nav nav-tabs\" style=\"margin-bottom: 10px\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left bi bi-chevron-left\"></em></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\">View</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\">Edit</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.delete\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash bi bi-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n" }]
45
45
  }], ctorParameters: () => [{ type: i1.FormioResourceService }, { type: i2.ActivatedRoute }, { type: i3.FormioAuthService }, { type: i2.Router }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vcmVzb3VyY2Uvc3JjL3Jlc291cmNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3Jlc291cmNlL3NyYy9yZXNvdXJjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQWtCLGFBQWEsRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBUXJGLE1BQU0sT0FBTyx1QkFBdUI7SUFLekI7SUFDQTtJQUNBO0lBQ0E7SUFQRixLQUFLLEdBQUcsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUMsQ0FBQztJQUNyQyxrQkFBa0IsQ0FBZTtJQUV4QyxZQUNTLE9BQThCLEVBQzlCLEtBQXFCLEVBQ3JCLElBQXVCLEVBQ3ZCLE1BQWM7UUFIZCxZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3BCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9ELElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDdEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUNMLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBckNVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLG9EQ1RwQyxrdUJBT0E7OzJGREVhLHVCQUF1QjtrQkFIbkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIsIFJvdXRlckV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1pb0F1dGhTZXJ2aWNlIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyL2F1dGgnO1xuaW1wb3J0IHsgRm9ybWlvUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc291cmNlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtaW9SZXNvdXJjZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHBlcm1zID0ge2RlbGV0ZTogZmFsc2UsIGVkaXQ6IGZhbHNlfTtcbiAgcHVibGljIHJvdXRlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBGb3JtaW9SZXNvdXJjZVNlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwdWJsaWMgYXV0aDogRm9ybWlvQXV0aFNlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXQoKTtcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIHRoaXMuaW5pdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGluaXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5pbml0KHRoaXMucm91dGUpLnRoZW4oKCkgPT4gXG4gICAgICB0aGlzLmF1dGgucmVhZHkudGhlbigoKSA9PiBcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmZvcm1Gb3JtaW8udXNlclBlcm1pc3Npb25zKFxuICAgICAgICAgIHRoaXMuYXV0aC51c2VyLCBcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZm9ybSwgXG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLnJlc291cmNlXG4gICAgICAgICkudGhlbigocGVybXMpID0+IHtcbiAgICAgICAgICB0aGlzLnBlcm1zLmRlbGV0ZSA9IHBlcm1zLmRlbGV0ZTtcbiAgICAgICAgICB0aGlzLnBlcm1zLmVkaXQgPSBwZXJtcy5lZGl0O1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2UucmVzb3VyY2U7XG4gICAgICAgIH0pXG4gICAgKSk7XG4gIH1cbn1cbiIsIjx1bCBjbGFzcz1cIm5hdiBuYXYtdGFic1wiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMTBweFwiPlxuICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwiLi4vXCI+PGVtIGNsYXNzPVwiZmEgZmEtY2hldnJvbi1sZWZ0IGJpIGJpLWNoZXZyb24tbGVmdFwiPjwvZW0+PC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwidmlld1wiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5WaWV3PC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiICpuZ0lmPVwicGVybXMuZWRpdFwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwiZWRpdFwiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5FZGl0PC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiICpuZ0lmPVwicGVybXMuZGVsZXRlXCI+PGEgY2xhc3M9XCJuYXYtbGlua1wiIHJvdXRlckxpbms9XCJkZWxldGVcIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+PHNwYW4gY2xhc3M9XCJmYSBmYS10cmFzaCBiaSBiaS10cmFzaFwiPjwvc3Bhbj48L2E+PC9saT5cbjwvdWw+XG48cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vcmVzb3VyY2Uvc3JjL3Jlc291cmNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3Jlc291cmNlL3NyYy9yZXNvdXJjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQWtCLGFBQWEsRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBUXJGLE1BQU0sT0FBTyx1QkFBdUI7SUFLekI7SUFDQTtJQUNBO0lBQ0E7SUFQRixLQUFLLEdBQUcsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUMsQ0FBQztJQUNyQyxrQkFBa0IsQ0FBZTtJQUV4QyxZQUNTLE9BQThCLEVBQzlCLEtBQXFCLEVBQ3JCLElBQXVCLEVBQ3ZCLE1BQWM7UUFIZCxZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3BCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9ELElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUMxRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUN0QixDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQ0wsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FyQ1UsdUJBQXVCOzJGQUF2Qix1QkFBdUIsb0RDVHBDLGt1QkFPQTs7MkZERWEsdUJBQXVCO2tCQUhuQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyRXZlbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybWlvQXV0aFNlcnZpY2UgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXIvYXV0aCc7XG5pbXBvcnQgeyBGb3JtaW9SZXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuL3Jlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1pb1Jlc291cmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcGVybXMgPSB7ZGVsZXRlOiBmYWxzZSwgZWRpdDogZmFsc2V9O1xuICBwdWJsaWMgcm91dGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlcnZpY2U6IEZvcm1pb1Jlc291cmNlU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBhdXRoOiBGb3JtaW9BdXRoU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgaW5pdCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmluaXQodGhpcy5yb3V0ZSwgdGhpcy5yb3V0ZXIpLnRoZW4oKCkgPT4gXG4gICAgICB0aGlzLmF1dGgucmVhZHkudGhlbigoKSA9PiBcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmZvcm1Gb3JtaW8udXNlclBlcm1pc3Npb25zKFxuICAgICAgICAgIHRoaXMuYXV0aC51c2VyLCBcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZm9ybSwgXG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLnJlc291cmNlXG4gICAgICAgICkudGhlbigocGVybXMpID0+IHtcbiAgICAgICAgICB0aGlzLnBlcm1zLmRlbGV0ZSA9IHBlcm1zLmRlbGV0ZTtcbiAgICAgICAgICB0aGlzLnBlcm1zLmVkaXQgPSBwZXJtcy5lZGl0O1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2UucmVzb3VyY2U7XG4gICAgICAgIH0pXG4gICAgKSk7XG4gIH1cbn1cbiIsIjx1bCBjbGFzcz1cIm5hdiBuYXYtdGFic1wiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMTBweFwiPlxuICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwiLi4vXCI+PGVtIGNsYXNzPVwiZmEgZmEtY2hldnJvbi1sZWZ0IGJpIGJpLWNoZXZyb24tbGVmdFwiPjwvZW0+PC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwidmlld1wiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5WaWV3PC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiICpuZ0lmPVwicGVybXMuZWRpdFwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwiZWRpdFwiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5FZGl0PC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiICpuZ0lmPVwicGVybXMuZGVsZXRlXCI+PGEgY2xhc3M9XCJuYXYtbGlua1wiIHJvdXRlckxpbms9XCJkZWxldGVcIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+PHNwYW4gY2xhc3M9XCJmYSBmYS10cmFzaCBiaSBiaS10cmFzaFwiPjwvc3Bhbj48L2E+PC9saT5cbjwvdWw+XG48cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4iXX0=
@@ -76,9 +76,18 @@ export class FormioResourceService {
76
76
  this.formio = new FormioPromiseService(this.resourceUrl);
77
77
  this.resource = { data: {} };
78
78
  }
79
- init(route) {
79
+ init(route, router = null) {
80
80
  const snapshot = route.snapshot;
81
- const reset = snapshot.queryParams?.hasOwnProperty('reset') ? snapshot.queryParams.reset : false;
81
+ let reset = false;
82
+ if (snapshot.queryParams?.hasOwnProperty('reset')) {
83
+ reset = snapshot.queryParams.reset;
84
+ }
85
+ else if (router) {
86
+ const navigation = router.getCurrentNavigation();
87
+ if (navigation?.extras.state && navigation.extras.state.hasOwnProperty('reset')) {
88
+ reset = navigation.extras.state['reset'];
89
+ }
90
+ }
82
91
  const resourceId = snapshot.params['id'];
83
92
  if (resourceId && (resourceId === this.resourceId) && !reset) {
84
93
  return this.ready;
@@ -228,4 +237,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
228
237
  }], ctorParameters: () => [{ type: i1.FormioAppConfig }, { type: i2.FormioResourceConfig }, { type: i3.FormioResources, decorators: [{
229
238
  type: Optional
230
239
  }] }] });
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3Jlc291cmNlL3NyYy9yZXNvdXJjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7OztBQUd2QixNQUFNLE9BQU8scUJBQXFCO0lBOEJ2QjtJQUNBO0lBQ1k7SUEvQmQsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixJQUFJLENBQU07SUFDVixNQUFNLENBQWU7SUFDckIsUUFBUSxDQUFNO0lBQ2QsV0FBVyxDQUFVO0lBQ3JCLE9BQU8sQ0FBUztJQUNoQixVQUFVLENBQXVCO0lBQ2pDLE1BQU0sQ0FBdUI7SUFDN0IsT0FBTyxDQUFtQztJQUUxQyxlQUFlLENBQU07SUFDckIsY0FBYyxDQUFNO0lBQ3BCLGNBQWMsQ0FBZ0I7SUFFOUIsZUFBZSxDQUFnQjtJQUMvQixVQUFVLENBQVU7SUFDcEIsU0FBUyxDQUFNO0lBRWYsS0FBSyxDQUFnQjtJQUNyQixZQUFZLENBQU07SUFDbEIsV0FBVyxDQUFNO0lBRWpCLFdBQVcsQ0FBZ0I7SUFDM0IsVUFBVSxDQUFlO0lBQ3pCLFdBQVcsQ0FBTTtJQUNqQixVQUFVLENBQU07SUFDaEIsU0FBUyxDQUFVO0lBRTFCLFlBQ1MsU0FBMEIsRUFDMUIsTUFBNEIsRUFDaEIsZ0JBQWlDO1FBRjdDLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQXNCO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFFcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sQ0FBQyxJQUFJLENBQUMseURBQXlELENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQWU7UUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQVksRUFBRSxNQUFXLEVBQUUsRUFBRTtZQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsTUFBVyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLE1BQVcsRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO1lBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDbEUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFdBQVcsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQzVDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFxQjtRQUN4QixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2pHLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxVQUFVLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUM7UUFFRCxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3QixxRUFBcUU7UUFDckUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7WUFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFO2lCQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2lCQUMvQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3hDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUU7YUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3hDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBVTtRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUNuQixJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUs7U0FDaEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVE7UUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUM5RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVU7YUFDL0IsUUFBUSxFQUFFO2FBQ1YsSUFBSSxDQUNILENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsRUFDRCxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FDcEM7YUFDQSxLQUFLLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4RCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMzQixPQUFPLENBQUMsSUFBSSxDQUNWLHVGQUF1RixDQUN4RixDQUFDO1lBQ0YsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDcEMsdUNBQXVDO1lBQ3ZDLE1BQU0sY0FBYyxHQUF3QixFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7Z0JBQzFDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDO2dCQUMvQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQztnQkFDN0MsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUM5RSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQy9GLGNBQWMsQ0FBQyxJQUFJLENBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO3dCQUNqRSxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7d0JBQ3BCLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRTs0QkFDdkQsSUFBSSxTQUFTLENBQUMsR0FBRyxLQUFLLGFBQWEsRUFBRSxDQUFDO2dDQUNwQyxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQ0FDeEIsU0FBUyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0NBQzlCLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dDQUMxQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2dDQUNsQixPQUFPLElBQUksQ0FBQzs0QkFDZCxDQUFDO3dCQUNILENBQUMsQ0FBQyxDQUFDO3dCQUNILE9BQU87NEJBQ0wsSUFBSSxFQUFFLFVBQVU7NEJBQ2hCLE1BQU0sRUFBRSxjQUFjOzRCQUN0QixRQUFRO3lCQUNULENBQUM7b0JBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCx3RUFBd0U7WUFDeEUsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFO2dCQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDaEIsSUFBSSxFQUFFLElBQUk7b0JBQ1YsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRO2lCQUMxQixDQUFDLENBQUM7Z0JBQ0gsT0FBTyxPQUFPLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFRO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTTthQUMvQixjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQyxDQUFDO2FBQ3pDLElBQUksQ0FDSCxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQixRQUFRLEVBQUUsWUFBWTtnQkFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3JCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxFQUNELENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQzFDO2FBQ0EsS0FBSyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksQ0FBQyxRQUFhO1FBQ2hCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDNUQsT0FBTyxNQUFNO2FBQ1YsY0FBYyxDQUFDLFFBQVEsQ0FBQzthQUN4QixJQUFJLENBQ0gsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxFQUNELENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUNoQzthQUNBLEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsTUFBTTthQUNmLGdCQUFnQixFQUFFO2FBQ2xCLElBQUksQ0FDSCxHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDLEVBQ0QsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQ2hDO2FBQ0EsS0FBSyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQzt1R0F0UFUscUJBQXFCOzJHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQWlDTixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybWlvUmVzb3VyY2VDb25maWcgfSBmcm9tICcuL3Jlc291cmNlLmNvbmZpZyc7XG5pbXBvcnQgeyBGb3JtaW9SZXNvdXJjZXMgfSBmcm9tICcuL3Jlc291cmNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1pb1Byb21pc2VTZXJ2aWNlIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7IEZvcm1pb0FsZXJ0cyB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQgeyBGb3JtaW9BcHBDb25maWcgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHsgRm9ybWlvUmVmcmVzaFZhbHVlIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7IEZvcm1pbywgVXRpbHMgfSBmcm9tICdAZm9ybWlvL2pzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtaW9SZXNvdXJjZVNlcnZpY2Uge1xuICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHVibGljIGZvcm06IGFueTtcbiAgcHVibGljIGFsZXJ0czogRm9ybWlvQWxlcnRzO1xuICBwdWJsaWMgcmVzb3VyY2U6IGFueTtcbiAgcHVibGljIHJlc291cmNlVXJsPzogc3RyaW5nO1xuICBwdWJsaWMgZm9ybVVybDogc3RyaW5nO1xuICBwdWJsaWMgZm9ybUZvcm1pbzogRm9ybWlvUHJvbWlzZVNlcnZpY2U7XG4gIHB1YmxpYyBmb3JtaW86IEZvcm1pb1Byb21pc2VTZXJ2aWNlO1xuICBwdWJsaWMgcmVmcmVzaDogRXZlbnRFbWl0dGVyPEZvcm1pb1JlZnJlc2hWYWx1ZT47XG5cbiAgcHVibGljIHJlc291cmNlUmVzb2x2ZTogYW55O1xuICBwdWJsaWMgcmVzb3VyY2VSZWplY3Q6IGFueTtcbiAgcHVibGljIHJlc291cmNlTG9hZGVkPzogUHJvbWlzZTxhbnk+O1xuXG4gIHB1YmxpYyByZXNvdXJjZUxvYWRpbmc/OiBQcm9taXNlPGFueT47XG4gIHB1YmxpYyByZXNvdXJjZUlkPzogc3RyaW5nO1xuICBwdWJsaWMgcmVzb3VyY2VzOiBhbnk7XG5cbiAgcHVibGljIHJlYWR5PzogUHJvbWlzZTxhbnk+O1xuICBwdWJsaWMgcmVhZHlSZXNvbHZlOiBhbnk7XG4gIHB1YmxpYyByZWFkeVJlamVjdDogYW55O1xuXG4gIHB1YmxpYyBmb3JtTG9hZGluZz86IFByb21pc2U8YW55PjtcbiAgcHVibGljIGZvcm1Mb2FkZWQ6IFByb21pc2U8YW55PjtcbiAgcHVibGljIGZvcm1SZXNvbHZlOiBhbnk7XG4gIHB1YmxpYyBmb3JtUmVqZWN0OiBhbnk7XG4gIHB1YmxpYyBpc0xvYWRpbmc6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFwcENvbmZpZzogRm9ybWlvQXBwQ29uZmlnLFxuICAgIHB1YmxpYyBjb25maWc6IEZvcm1pb1Jlc291cmNlQ29uZmlnLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyByZXNvdXJjZXNTZXJ2aWNlOiBGb3JtaW9SZXNvdXJjZXNcbiAgKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuYWxlcnRzID0gbmV3IEZvcm1pb0FsZXJ0cygpO1xuICAgIHRoaXMucmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgfVxuXG4gIGluaXRpYWxpemUoKSB7XG4gICAgY29uc29sZS53YXJuKCdGb3JtaW9SZXNvdXJjZVNlcnZpY2UuaW5pdGlhbGl6ZSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuJyk7XG4gIH1cblxuICBzZXRSZXNvdXJjZShyZXNvdXJjZUlkOiBhbnkpIHtcbiAgICB0aGlzLnJlc291cmNlTG9hZGluZyA9IG51bGw7XG4gICAgdGhpcy5mb3JtTG9hZGluZyA9IG51bGw7XG4gICAgdGhpcy5yZWFkeSA9IG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG4gICAgICB0aGlzLnJlYWR5UmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICB0aGlzLnJlYWR5UmVqZWN0ID0gcmVqZWN0O1xuICAgIH0pO1xuICAgIHRoaXMuZm9ybUxvYWRlZCA9IG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG4gICAgICB0aGlzLmZvcm1SZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIHRoaXMuZm9ybVJlamVjdCA9IHJlamVjdDtcbiAgICB9KTtcbiAgICB0aGlzLnJlc291cmNlTG9hZGVkID0gbmV3IFByb21pc2UoKHJlc29sdmU6IGFueSwgcmVqZWN0OiBhbnkpID0+IHtcbiAgICAgIHRoaXMucmVzb3VyY2VSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIHRoaXMucmVzb3VyY2VSZWplY3QgPSByZWplY3Q7XG4gICAgfSk7XG4gICAgdGhpcy5yZXNvdXJjZUlkID0gcmVzb3VyY2VJZDtcbiAgICB0aGlzLnJlc291cmNlVXJsID0gdGhpcy5hcHBDb25maWcuYXBwVXJsICsgJy8nICsgdGhpcy5jb25maWcuZm9ybTtcbiAgICBpZiAodGhpcy5yZXNvdXJjZUlkKSB7XG4gICAgICB0aGlzLnJlc291cmNlVXJsICs9ICcvc3VibWlzc2lvbi8nICsgdGhpcy5yZXNvdXJjZUlkO1xuICAgIH1cbiAgICBpZiAodGhpcy5hcHBDb25maWcgJiYgdGhpcy5hcHBDb25maWcuYXBwVXJsKSB7XG4gICAgICBGb3JtaW8uc2V0QmFzZVVybCh0aGlzLmFwcENvbmZpZy5hcGlVcmwpO1xuICAgICAgRm9ybWlvLnNldFByb2plY3RVcmwodGhpcy5hcHBDb25maWcuYXBwVXJsKTtcbiAgICAgIEZvcm1pby5mb3JtT25seSA9IHRoaXMuYXBwQ29uZmlnLmZvcm1Pbmx5O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdZb3UgbXVzdCBwcm92aWRlIGFuIEFwcENvbmZpZyB3aXRoaW4geW91ciBhcHBsaWNhdGlvbiEnKTtcbiAgICB9XG4gICAgdGhpcy5mb3JtaW8gPSBuZXcgRm9ybWlvUHJvbWlzZVNlcnZpY2UodGhpcy5yZXNvdXJjZVVybCk7XG4gICAgdGhpcy5yZXNvdXJjZSA9IHsgZGF0YToge30gfTtcbiAgfVxuXG4gIGluaXQocm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgY29uc3Qgc25hcHNob3QgPSByb3V0ZS5zbmFwc2hvdDtcbiAgICBjb25zdCByZXNldCA9IHNuYXBzaG90LnF1ZXJ5UGFyYW1zPy5oYXNPd25Qcm9wZXJ0eSgncmVzZXQnKSA/IHNuYXBzaG90LnF1ZXJ5UGFyYW1zLnJlc2V0IDogZmFsc2U7XG4gICAgY29uc3QgcmVzb3VyY2VJZCA9IHNuYXBzaG90LnBhcmFtc1snaWQnXTtcbiAgICBpZiAocmVzb3VyY2VJZCAmJiAocmVzb3VyY2VJZCA9PT0gdGhpcy5yZXNvdXJjZUlkKSAmJiAhcmVzZXQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlYWR5O1xuICAgIH1cblxuICAgIC8vIFNldCB0aGUgcmVzb3VyY2UuXG4gICAgdGhpcy5zZXRSZXNvdXJjZShyZXNvdXJjZUlkKTtcblxuICAgIC8vIEFkZCB0aGlzIHJlc291cmNlIHNlcnZpY2UgdG8gdGhlIGxpc3Qgb2YgYWxsIHJlc291cmNlcyBpbiBjb250ZXh0LlxuICAgIGlmICh0aGlzLnJlc291cmNlc1NlcnZpY2UpIHtcbiAgICAgIHRoaXMucmVzb3VyY2VzID0gdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLnJlc291cmNlcztcbiAgICAgIHRoaXMucmVzb3VyY2VzW3RoaXMuY29uZmlnLm5hbWVdID0gdGhpcztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZXNvdXJjZUlkKSB7XG4gICAgICByZXR1cm4gdGhpcy5sb2FkRm9ybSgpXG4gICAgICAgIC50aGVuKCgpID0+IHRoaXMubG9hZFJlc291cmNlKCkpXG4gICAgICAgIC50aGVuKCgpID0+IHRoaXMucmVhZHlSZXNvbHZlKHRoaXMuZm9ybSkpXG4gICAgICAgIC5jYXRjaCgoZXJyKSA9PiB0aGlzLnJlYWR5UmVqZWN0KGVycikpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmxvYWRGb3JtKClcbiAgICAgIC50aGVuKCgpID0+IHRoaXMucmVhZHlSZXNvbHZlKHRoaXMuZm9ybSkpXG4gICAgICAuY2F0Y2goKGVycikgPT4gdGhpcy5yZWFkeVJlamVjdChlcnIpKTtcbiAgfVxuXG4gIG9uRXJyb3IoZXJyb3I6IGFueSkge1xuICAgIHRoaXMuYWxlcnRzLnNldEFsZXJ0KHtcbiAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSB8fCBlcnJvclxuICAgIH0pO1xuICAgIGlmICh0aGlzLnJlc291cmNlc1NlcnZpY2UpIHtcbiAgICAgIHRoaXMucmVzb3VyY2VzU2VydmljZS5lcnJvci5lbWl0KGVycm9yKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cblxuICBvbkZvcm1FcnJvcihlcnI6IGFueSkge1xuICAgIHRoaXMuZm9ybVJlamVjdChlcnIpO1xuICAgIHRoaXMub25FcnJvcihlcnIpO1xuICB9XG5cbiAgbG9hZEZvcm0oKSB7XG4gICAgaWYgKHRoaXMuZm9ybUxvYWRpbmcpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1Mb2FkaW5nO1xuICAgIH1cbiAgICB0aGlzLmZvcm1VcmwgPSB0aGlzLmFwcENvbmZpZy5hcHBVcmwgKyAnLycgKyB0aGlzLmNvbmZpZy5mb3JtO1xuICAgIHRoaXMuZm9ybUZvcm1pbyA9IG5ldyBGb3JtaW9Qcm9taXNlU2VydmljZSh0aGlzLmZvcm1VcmwpO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmZvcm1Mb2FkaW5nID0gdGhpcy5mb3JtRm9ybWlvXG4gICAgICAubG9hZEZvcm0oKVxuICAgICAgLnRoZW4oXG4gICAgICAgIChmb3JtOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm0gPSBmb3JtO1xuICAgICAgICAgIHRoaXMuZm9ybVJlc29sdmUoZm9ybSk7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmxvYWRQYXJlbnRzKCk7XG4gICAgICAgICAgcmV0dXJuIGZvcm07XG4gICAgICAgIH0sXG4gICAgICAgIChlcnI6IGFueSkgPT4gdGhpcy5vbkZvcm1FcnJvcihlcnIpXG4gICAgICApXG4gICAgICAuY2F0Y2goKGVycjogYW55KSA9PiB0aGlzLm9uRm9ybUVycm9yKGVycikpO1xuICAgIHJldHVybiB0aGlzLmZvcm1Mb2FkaW5nO1xuICB9XG5cbiAgbG9hZFBhcmVudHMoKSB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5wYXJlbnRzIHx8ICF0aGlzLmNvbmZpZy5wYXJlbnRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5yZXNvdXJjZXNTZXJ2aWNlKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdZb3UgbXVzdCBwcm92aWRlIHRoZSBGb3JtaW9SZXNvdXJjZXMgd2l0aGluIHlvdXIgYXBwbGljYXRpb24gdG8gdXNlIG5lc3RlZCByZXNvdXJjZXMuJ1xuICAgICAgKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5mb3JtTG9hZGluZy50aGVuKChmb3JtKSA9PiB7XG4gICAgICAvLyBJdGVyYXRlIHRocm91Z2ggdGhlIGxpc3Qgb2YgcGFyZW50cy5cbiAgICAgIGNvbnN0IF9wYXJlbnRzTG9hZGVkOiBBcnJheTxQcm9taXNlPGFueT4+ID0gW107XG4gICAgICB0aGlzLmNvbmZpZy5wYXJlbnRzLmZvckVhY2goKHBhcmVudDogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc291cmNlTmFtZSA9IHBhcmVudC5yZXNvdXJjZSB8fCBwYXJlbnQ7XG4gICAgICAgIGNvbnN0IHJlc291cmNlRmllbGQgPSBwYXJlbnQuZmllbGQgfHwgcGFyZW50O1xuICAgICAgICBjb25zdCBmaWx0ZXJSZXNvdXJjZSA9IHBhcmVudC5oYXNPd25Qcm9wZXJ0eSgnZmlsdGVyJykgPyBwYXJlbnQuZmlsdGVyIDogdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMucmVzb3VyY2VzLmhhc093blByb3BlcnR5KHJlc291cmNlTmFtZSkgJiYgdGhpcy5yZXNvdXJjZXNbcmVzb3VyY2VOYW1lXS5yZXNvdXJjZUxvYWRlZCkge1xuICAgICAgICAgIF9wYXJlbnRzTG9hZGVkLnB1c2goXG4gICAgICAgICAgICB0aGlzLnJlc291cmNlc1tyZXNvdXJjZU5hbWVdLnJlc291cmNlTG9hZGVkLnRoZW4oKHJlc291cmNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgbGV0IHBhcmVudFBhdGggPSAnJztcbiAgICAgICAgICAgICAgVXRpbHMuZWFjaENvbXBvbmVudChmb3JtLmNvbXBvbmVudHMsIChjb21wb25lbnQsIHBhdGgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY29tcG9uZW50LmtleSA9PT0gcmVzb3VyY2VGaWVsZCkge1xuICAgICAgICAgICAgICAgICAgY29tcG9uZW50LmhpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQuY2xlYXJPbkhpZGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIF8uc2V0KHRoaXMucmVzb3VyY2UuZGF0YSwgcGF0aCwgcmVzb3VyY2UpO1xuICAgICAgICAgICAgICAgICAgcGFyZW50UGF0aCA9IHBhdGg7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG5hbWU6IHBhcmVudFBhdGgsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBmaWx0ZXJSZXNvdXJjZSxcbiAgICAgICAgICAgICAgICByZXNvdXJjZVxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gV2hlbiBhbGwgdGhlIHBhcmVudHMgaGF2ZSBsb2FkZWQsIGVtaXQgdGhhdCB0byB0aGUgb25QYXJlbnRzIGVtaXR0ZXIuXG4gICAgICByZXR1cm4gUHJvbWlzZS5hbGwoX3BhcmVudHNMb2FkZWQpLnRoZW4oKHBhcmVudHM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlZnJlc2guZW1pdCh7XG4gICAgICAgICAgZm9ybTogZm9ybSxcbiAgICAgICAgICBzdWJtaXNzaW9uOiB0aGlzLnJlc291cmNlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcGFyZW50cztcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXNzaW9uRXJyb3IoZXJyOiBhbnkpIHtcbiAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICB0aGlzLnJlc291cmNlUmVqZWN0KGVycik7XG4gIH1cblxuICBsb2FkUmVzb3VyY2UoKSB7XG4gICAgaWYgKHRoaXMucmVzb3VyY2VMb2FkaW5nKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNvdXJjZUxvYWRpbmc7XG4gICAgfVxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlc291cmNlTG9hZGluZyA9IHRoaXMuZm9ybWlvXG4gICAgICAubG9hZFN1Ym1pc3Npb24obnVsbCwge2lnbm9yZUNhY2hlOiB0cnVlfSlcbiAgICAgIC50aGVuKFxuICAgICAgICAocmVzb3VyY2U6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMucmVzb3VyY2UgPSByZXNvdXJjZTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucmVmcmVzaC5lbWl0KHtcbiAgICAgICAgICAgIHByb3BlcnR5OiAnc3VibWlzc2lvbicsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5yZXNvdXJjZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMucmVzb3VyY2VSZXNvbHZlKHJlc291cmNlKTtcbiAgICAgICAgICByZXR1cm4gcmVzb3VyY2U7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnI6IGFueSkgPT4gdGhpcy5vblN1Ym1pc3Npb25FcnJvcihlcnIpXG4gICAgICApXG4gICAgICAuY2F0Y2goKGVycjogYW55KSA9PiB0aGlzLm9uU3VibWlzc2lvbkVycm9yKGVycikpO1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlTG9hZGluZztcbiAgfVxuXG4gIHNhdmUocmVzb3VyY2U6IGFueSkge1xuICAgIGNvbnN0IGZvcm1pbyA9IHJlc291cmNlLl9pZCA/IHRoaXMuZm9ybWlvIDogdGhpcy5mb3JtRm9ybWlvO1xuICAgIHJldHVybiBmb3JtaW9cbiAgICAgIC5zYXZlU3VibWlzc2lvbihyZXNvdXJjZSlcbiAgICAgIC50aGVuKFxuICAgICAgICAoc2F2ZWQ6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMucmVzb3VyY2UgPSBzYXZlZDtcbiAgICAgICAgICByZXR1cm4gc2F2ZWQ7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnI6IGFueSkgPT4gdGhpcy5vbkVycm9yKGVycilcbiAgICAgIClcbiAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IHRoaXMub25FcnJvcihlcnIpKTtcbiAgfVxuXG4gIHJlbW92ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtaW9cbiAgICAgIC5kZWxldGVTdWJtaXNzaW9uKClcbiAgICAgIC50aGVuKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNvdXJjZSA9IG51bGw7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnI6IGFueSkgPT4gdGhpcy5vbkVycm9yKGVycilcbiAgICAgIClcbiAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IHRoaXMub25FcnJvcihlcnIpKTtcbiAgfVxufVxuIl19
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3Jlc291cmNlL3NyYy9yZXNvdXJjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7OztBQUd2QixNQUFNLE9BQU8scUJBQXFCO0lBOEJ2QjtJQUNBO0lBQ1k7SUEvQmQsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixJQUFJLENBQU07SUFDVixNQUFNLENBQWU7SUFDckIsUUFBUSxDQUFNO0lBQ2QsV0FBVyxDQUFVO0lBQ3JCLE9BQU8sQ0FBUztJQUNoQixVQUFVLENBQXVCO0lBQ2pDLE1BQU0sQ0FBdUI7SUFDN0IsT0FBTyxDQUFtQztJQUUxQyxlQUFlLENBQU07SUFDckIsY0FBYyxDQUFNO0lBQ3BCLGNBQWMsQ0FBZ0I7SUFFOUIsZUFBZSxDQUFnQjtJQUMvQixVQUFVLENBQVU7SUFDcEIsU0FBUyxDQUFNO0lBRWYsS0FBSyxDQUFnQjtJQUNyQixZQUFZLENBQU07SUFDbEIsV0FBVyxDQUFNO0lBRWpCLFdBQVcsQ0FBZ0I7SUFDM0IsVUFBVSxDQUFlO0lBQ3pCLFdBQVcsQ0FBTTtJQUNqQixVQUFVLENBQU07SUFDaEIsU0FBUyxDQUFVO0lBRTFCLFlBQ1MsU0FBMEIsRUFDMUIsTUFBNEIsRUFDaEIsZ0JBQWlDO1FBRjdDLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLFdBQU0s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QUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7dUdBL1BVLHFCQUFxQjsyR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVOzswQkFpQ04sUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybWlvUmVzb3VyY2VDb25maWcgfSBmcm9tICcuL3Jlc291cmNlLmNvbmZpZyc7XG5pbXBvcnQgeyBGb3JtaW9SZXNvdXJjZXMgfSBmcm9tICcuL3Jlc291cmNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1pb1Byb21pc2VTZXJ2aWNlIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7IEZvcm1pb0FsZXJ0cyB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQgeyBGb3JtaW9BcHBDb25maWcgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHsgRm9ybWlvUmVmcmVzaFZhbHVlIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7IEZvcm1pbywgVXRpbHMgfSBmcm9tICdAZm9ybWlvL2pzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtaW9SZXNvdXJjZVNlcnZpY2Uge1xuICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHVibGljIGZvcm06IGFueTtcbiAgcHVibGljIGFsZXJ0czogRm9ybWlvQWxlcnRzO1xuICBwdWJsaWMgcmVzb3VyY2U6IGFueTtcbiAgcHVibGljIHJlc291cmNlVXJsPzogc3RyaW5nO1xuICBwdWJsaWMgZm9ybVVybDogc3RyaW5nO1xuICBwdWJsaWMgZm9ybUZvcm1pbzogRm9ybWlvUHJvbWlzZVNlcnZpY2U7XG4gIHB1YmxpYyBmb3JtaW86IEZvcm1pb1Byb21pc2VTZXJ2aWNlO1xuICBwdWJsaWMgcmVmcmVzaDogRXZlbnRFbWl0dGVyPEZvcm1pb1JlZnJlc2hWYWx1ZT47XG5cbiAgcHVibGljIHJlc291cmNlUmVzb2x2ZTogYW55O1xuICBwdWJsaWMgcmVzb3VyY2VSZWplY3Q6IGFueTtcbiAgcHVibGljIHJlc291cmNlTG9hZGVkPzogUHJvbWlzZTxhbnk+O1xuXG4gIHB1YmxpYyByZXNvdXJjZUxvYWRpbmc/OiBQcm9taXNlPGFueT47XG4gIHB1YmxpYyByZXNvdXJjZUlkPzogc3RyaW5nO1xuICBwdWJsaWMgcmVzb3VyY2VzOiBhbnk7XG5cbiAgcHVibGljIHJlYWR5PzogUHJvbWlzZTxhbnk+O1xuICBwdWJsaWMgcmVhZHlSZXNvbHZlOiBhbnk7XG4gIHB1YmxpYyByZWFkeVJlamVjdDogYW55O1xuXG4gIHB1YmxpYyBmb3JtTG9hZGluZz86IFByb21pc2U8YW55PjtcbiAgcHVibGljIGZvcm1Mb2FkZWQ6IFByb21pc2U8YW55PjtcbiAgcHVibGljIGZvcm1SZXNvbHZlOiBhbnk7XG4gIHB1YmxpYyBmb3JtUmVqZWN0OiBhbnk7XG4gIHB1YmxpYyBpc0xvYWRpbmc6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFwcENvbmZpZzogRm9ybWlvQXBwQ29uZmlnLFxuICAgIHB1YmxpYyBjb25maWc6IEZvcm1pb1Jlc291cmNlQ29uZmlnLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyByZXNvdXJjZXNTZXJ2aWNlOiBGb3JtaW9SZXNvdXJjZXNcbiAgKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuYWxlcnRzID0gbmV3IEZvcm1pb0FsZXJ0cygpO1xuICAgIHRoaXMucmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgfVxuXG4gIGluaXRpYWxpemUoKSB7XG4gICAgY29uc29sZS53YXJuKCdGb3JtaW9SZXNvdXJjZVNlcnZpY2UuaW5pdGlhbGl6ZSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuJyk7XG4gIH1cblxuICBzZXRSZXNvdXJjZShyZXNvdXJjZUlkOiBhbnkpIHtcbiAgICB0aGlzLnJlc291cmNlTG9hZGluZyA9IG51bGw7XG4gICAgdGhpcy5mb3JtTG9hZGluZyA9IG51bGw7XG4gICAgdGhpcy5yZWFkeSA9IG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG4gICAgICB0aGlzLnJlYWR5UmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICB0aGlzLnJlYWR5UmVqZWN0ID0gcmVqZWN0O1xuICAgIH0pO1xuICAgIHRoaXMuZm9ybUxvYWRlZCA9IG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG4gICAgICB0aGlzLmZvcm1SZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIHRoaXMuZm9ybVJlamVjdCA9IHJlamVjdDtcbiAgICB9KTtcbiAgICB0aGlzLnJlc291cmNlTG9hZGVkID0gbmV3IFByb21pc2UoKHJlc29sdmU6IGFueSwgcmVqZWN0OiBhbnkpID0+IHtcbiAgICAgIHRoaXMucmVzb3VyY2VSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIHRoaXMucmVzb3VyY2VSZWplY3QgPSByZWplY3Q7XG4gICAgfSk7XG4gICAgdGhpcy5yZXNvdXJjZUlkID0gcmVzb3VyY2VJZDtcbiAgICB0aGlzLnJlc291cmNlVXJsID0gdGhpcy5hcHBDb25maWcuYXBwVXJsICsgJy8nICsgdGhpcy5jb25maWcuZm9ybTtcbiAgICBpZiAodGhpcy5yZXNvdXJjZUlkKSB7XG4gICAgICB0aGlzLnJlc291cmNlVXJsICs9ICcvc3VibWlzc2lvbi8nICsgdGhpcy5yZXNvdXJjZUlkO1xuICAgIH1cbiAgICBpZiAodGhpcy5hcHBDb25maWcgJiYgdGhpcy5hcHBDb25maWcuYXBwVXJsKSB7XG4gICAgICBGb3JtaW8uc2V0QmFzZVVybCh0aGlzLmFwcENvbmZpZy5hcGlVcmwpO1xuICAgICAgRm9ybWlvLnNldFByb2plY3RVcmwodGhpcy5hcHBDb25maWcuYXBwVXJsKTtcbiAgICAgIEZvcm1pby5mb3JtT25seSA9IHRoaXMuYXBwQ29uZmlnLmZvcm1Pbmx5O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdZb3UgbXVzdCBwcm92aWRlIGFuIEFwcENvbmZpZyB3aXRoaW4geW91ciBhcHBsaWNhdGlvbiEnKTtcbiAgICB9XG4gICAgdGhpcy5mb3JtaW8gPSBuZXcgRm9ybWlvUHJvbWlzZVNlcnZpY2UodGhpcy5yZXNvdXJjZVVybCk7XG4gICAgdGhpcy5yZXNvdXJjZSA9IHsgZGF0YToge30gfTtcbiAgfVxuXG4gIGluaXQocm91dGU6IEFjdGl2YXRlZFJvdXRlLCByb3V0ZXI6IFJvdXRlciA9IG51bGwpIHtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHJvdXRlLnNuYXBzaG90O1xuICAgIGxldCByZXNldCA9IGZhbHNlO1xuICAgIGlmIChzbmFwc2hvdC5xdWVyeVBhcmFtcz8uaGFzT3duUHJvcGVydHkoJ3Jlc2V0JykpIHtcbiAgICAgIHJlc2V0ID0gc25hcHNob3QucXVlcnlQYXJhbXMucmVzZXQ7XG4gICAgfVxuICAgIGVsc2UgaWYgKHJvdXRlcikge1xuICAgICAgY29uc3QgbmF2aWdhdGlvbiA9IHJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpO1xuICAgICAgaWYgKG5hdmlnYXRpb24/LmV4dHJhcy5zdGF0ZSAmJiBuYXZpZ2F0aW9uLmV4dHJhcy5zdGF0ZS5oYXNPd25Qcm9wZXJ0eSgncmVzZXQnKSkge1xuICAgICAgICByZXNldCA9IG5hdmlnYXRpb24uZXh0cmFzLnN0YXRlWydyZXNldCddO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByZXNvdXJjZUlkID0gc25hcHNob3QucGFyYW1zWydpZCddO1xuICAgIGlmIChyZXNvdXJjZUlkICYmIChyZXNvdXJjZUlkID09PSB0aGlzLnJlc291cmNlSWQpICYmICFyZXNldCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVhZHk7XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSByZXNvdXJjZS5cbiAgICB0aGlzLnNldFJlc291cmNlKHJlc291cmNlSWQpO1xuXG4gICAgLy8gQWRkIHRoaXMgcmVzb3VyY2Ugc2VydmljZSB0byB0aGUgbGlzdCBvZiBhbGwgcmVzb3VyY2VzIGluIGNvbnRleHQuXG4gICAgaWYgKHRoaXMucmVzb3VyY2VzU2VydmljZSkge1xuICAgICAgdGhpcy5yZXNvdXJjZXMgPSB0aGlzLnJlc291cmNlc1NlcnZpY2UucmVzb3VyY2VzO1xuICAgICAgdGhpcy5yZXNvdXJjZXNbdGhpcy5jb25maWcubmFtZV0gPSB0aGlzO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc291cmNlSWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmxvYWRGb3JtKClcbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5sb2FkUmVzb3VyY2UoKSlcbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5yZWFkeVJlc29sdmUodGhpcy5mb3JtKSlcbiAgICAgICAgLmNhdGNoKChlcnIpID0+IHRoaXMucmVhZHlSZWplY3QoZXJyKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubG9hZEZvcm0oKVxuICAgICAgLnRoZW4oKCkgPT4gdGhpcy5yZWFkeVJlc29sdmUodGhpcy5mb3JtKSlcbiAgICAgIC5jYXRjaCgoZXJyKSA9PiB0aGlzLnJlYWR5UmVqZWN0KGVycikpO1xuICB9XG5cbiAgb25FcnJvcihlcnJvcjogYW55KSB7XG4gICAgdGhpcy5hbGVydHMuc2V0QWxlcnQoe1xuICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlIHx8IGVycm9yXG4gICAgfSk7XG4gICAgaWYgKHRoaXMucmVzb3VyY2VzU2VydmljZSkge1xuICAgICAgdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuXG4gIG9uRm9ybUVycm9yKGVycjogYW55KSB7XG4gICAgdGhpcy5mb3JtUmVqZWN0KGVycik7XG4gICAgdGhpcy5vbkVycm9yKGVycik7XG4gIH1cblxuICBsb2FkRm9ybSgpIHtcbiAgICBpZiAodGhpcy5mb3JtTG9hZGluZykge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybUxvYWRpbmc7XG4gICAgfVxuICAgIHRoaXMuZm9ybVVybCA9IHRoaXMuYXBwQ29uZmlnLmFwcFVybCArICcvJyArIHRoaXMuY29uZmlnLmZvcm07XG4gICAgdGhpcy5mb3JtRm9ybWlvID0gbmV3IEZvcm1pb1Byb21pc2VTZXJ2aWNlKHRoaXMuZm9ybVVybCk7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuZm9ybUxvYWRpbmcgPSB0aGlzLmZvcm1Gb3JtaW9cbiAgICAgIC5sb2FkRm9ybSgpXG4gICAgICAudGhlbihcbiAgICAgICAgKGZvcm06IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgICAgICAgdGhpcy5mb3JtUmVzb2x2ZShmb3JtKTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubG9hZFBhcmVudHMoKTtcbiAgICAgICAgICByZXR1cm4gZm9ybTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycjogYW55KSA9PiB0aGlzLm9uRm9ybUVycm9yKGVycilcbiAgICAgIClcbiAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IHRoaXMub25Gb3JtRXJyb3IoZXJyKSk7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUxvYWRpbmc7XG4gIH1cblxuICBsb2FkUGFyZW50cygpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLnBhcmVudHMgfHwgIXRoaXMuY29uZmlnLnBhcmVudHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnJlc291cmNlc1NlcnZpY2UpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1lvdSBtdXN0IHByb3ZpZGUgdGhlIEZvcm1pb1Jlc291cmNlcyB3aXRoaW4geW91ciBhcHBsaWNhdGlvbiB0byB1c2UgbmVzdGVkIHJlc291cmNlcy4nXG4gICAgICApO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZvcm1Mb2FkaW5nLnRoZW4oKGZvcm0pID0+IHtcbiAgICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbGlzdCBvZiBwYXJlbnRzLlxuICAgICAgY29uc3QgX3BhcmVudHNMb2FkZWQ6IEFycmF5PFByb21pc2U8YW55Pj4gPSBbXTtcbiAgICAgIHRoaXMuY29uZmlnLnBhcmVudHMuZm9yRWFjaCgocGFyZW50OiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VOYW1lID0gcGFyZW50LnJlc291cmNlIHx8IHBhcmVudDtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VGaWVsZCA9IHBhcmVudC5maWVsZCB8fCBwYXJlbnQ7XG4gICAgICAgIGNvbnN0IGZpbHRlclJlc291cmNlID0gcGFyZW50Lmhhc093blByb3BlcnR5KCdmaWx0ZXInKSA/IHBhcmVudC5maWx0ZXIgOiB0cnVlO1xuICAgICAgICBpZiAodGhpcy5yZXNvdXJjZXMuaGFzT3duUHJvcGVydHkocmVzb3VyY2VOYW1lKSAmJiB0aGlzLnJlc291cmNlc1tyZXNvdXJjZU5hbWVdLnJlc291cmNlTG9hZGVkKSB7XG4gICAgICAgICAgX3BhcmVudHNMb2FkZWQucHVzaChcbiAgICAgICAgICAgIHRoaXMucmVzb3VyY2VzW3Jlc291cmNlTmFtZV0ucmVzb3VyY2VMb2FkZWQudGhlbigocmVzb3VyY2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBsZXQgcGFyZW50UGF0aCA9ICcnO1xuICAgICAgICAgICAgICBVdGlscy5lYWNoQ29tcG9uZW50KGZvcm0uY29tcG9uZW50cywgKGNvbXBvbmVudCwgcGF0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjb21wb25lbnQua2V5ID09PSByZXNvdXJjZUZpZWxkKSB7XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQuaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudC5jbGVhck9uSGlkZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgXy5zZXQodGhpcy5yZXNvdXJjZS5kYXRhLCBwYXRoLCByZXNvdXJjZSk7XG4gICAgICAgICAgICAgICAgICBwYXJlbnRQYXRoID0gcGF0aDtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbmFtZTogcGFyZW50UGF0aCxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGZpbHRlclJlc291cmNlLFxuICAgICAgICAgICAgICAgIHJlc291cmNlXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBXaGVuIGFsbCB0aGUgcGFyZW50cyBoYXZlIGxvYWRlZCwgZW1pdCB0aGF0IHRvIHRoZSBvblBhcmVudHMgZW1pdHRlci5cbiAgICAgIHJldHVybiBQcm9taXNlLmFsbChfcGFyZW50c0xvYWRlZCkudGhlbigocGFyZW50czogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaC5lbWl0KHtcbiAgICAgICAgICBmb3JtOiBmb3JtLFxuICAgICAgICAgIHN1Ym1pc3Npb246IHRoaXMucmVzb3VyY2VcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBwYXJlbnRzO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pc3Npb25FcnJvcihlcnI6IGFueSkge1xuICAgIHRoaXMub25FcnJvcihlcnIpO1xuICAgIHRoaXMucmVzb3VyY2VSZWplY3QoZXJyKTtcbiAgfVxuXG4gIGxvYWRSZXNvdXJjZSgpIHtcbiAgICBpZiAodGhpcy5yZXNvdXJjZUxvYWRpbmcpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc291cmNlTG9hZGluZztcbiAgICB9XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucmVzb3VyY2VMb2FkaW5nID0gdGhpcy5mb3JtaW9cbiAgICAgIC5sb2FkU3VibWlzc2lvbihudWxsLCB7aWdub3JlQ2FjaGU6IHRydWV9KVxuICAgICAgLnRoZW4oXG4gICAgICAgIChyZXNvdXJjZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHJlc291cmNlO1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoLmVtaXQoe1xuICAgICAgICAgICAgcHJvcGVydHk6ICdzdWJtaXNzaW9uJyxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnJlc291cmNlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5yZXNvdXJjZVJlc29sdmUocmVzb3VyY2UpO1xuICAgICAgICAgIHJldHVybiByZXNvdXJjZTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycjogYW55KSA9PiB0aGlzLm9uU3VibWlzc2lvbkVycm9yKGVycilcbiAgICAgIClcbiAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IHRoaXMub25TdWJtaXNzaW9uRXJyb3IoZXJyKSk7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VMb2FkaW5nO1xuICB9XG5cbiAgc2F2ZShyZXNvdXJjZTogYW55KSB7XG4gICAgY29uc3QgZm9ybWlvID0gcmVzb3VyY2UuX2lkID8gdGhpcy5mb3JtaW8gOiB0aGlzLmZvcm1Gb3JtaW87XG4gICAgcmV0dXJuIGZvcm1pb1xuICAgICAgLnNhdmVTdWJtaXNzaW9uKHJlc291cmNlKVxuICAgICAgLnRoZW4oXG4gICAgICAgIChzYXZlZDogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHNhdmVkO1xuICAgICAgICAgIHJldHVybiBzYXZlZDtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycjogYW55KSA9PiB0aGlzLm9uRXJyb3IoZXJyKVxuICAgICAgKVxuICAgICAgLmNhdGNoKChlcnI6IGFueSkgPT4gdGhpcy5vbkVycm9yKGVycikpO1xuICB9XG5cbiAgcmVtb3ZlKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1pb1xuICAgICAgLmRlbGV0ZVN1Ym1pc3Npb24oKVxuICAgICAgLnRoZW4oXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlc291cmNlID0gbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycjogYW55KSA9PiB0aGlzLm9uRXJyb3IoZXJyKVxuICAgICAgKVxuICAgICAgLmNhdGNoKChlcnI6IGFueSkgPT4gdGhpcy5vbkVycm9yKGVycikpO1xuICB9XG59XG4iXX0=
@@ -114,9 +114,18 @@ class FormioResourceService {
114
114
  this.formio = new FormioPromiseService(this.resourceUrl);
115
115
  this.resource = { data: {} };
116
116
  }
117
- init(route) {
117
+ init(route, router = null) {
118
118
  const snapshot = route.snapshot;
119
- const reset = snapshot.queryParams?.hasOwnProperty('reset') ? snapshot.queryParams.reset : false;
119
+ let reset = false;
120
+ if (snapshot.queryParams?.hasOwnProperty('reset')) {
121
+ reset = snapshot.queryParams.reset;
122
+ }
123
+ else if (router) {
124
+ const navigation = router.getCurrentNavigation();
125
+ if (navigation?.extras.state && navigation.extras.state.hasOwnProperty('reset')) {
126
+ reset = navigation.extras.state['reset'];
127
+ }
128
+ }
120
129
  const resourceId = snapshot.params['id'];
121
130
  if (resourceId && (resourceId === this.resourceId) && !reset) {
122
131
  return this.ready;
@@ -292,7 +301,7 @@ class FormioResourceComponent {
292
301
  this.routerSubscription.unsubscribe();
293
302
  }
294
303
  init() {
295
- return this.service.init(this.route).then(() => this.auth.ready.then(() => this.service.formFormio.userPermissions(this.auth.user, this.service.form, this.service.resource).then((perms) => {
304
+ return this.service.init(this.route, this.router).then(() => this.auth.ready.then(() => this.service.formFormio.userPermissions(this.auth.user, this.service.form, this.service.resource).then((perms) => {
296
305
  this.perms.delete = perms.delete;
297
306
  this.perms.edit = perms.edit;
298
307
  return this.service.resource;
@@ -1 +1 @@
1
- {"version":3,"file":"formio-angular-resource.mjs","sources":["../../../projects/angular-formio/resource/src/resource.config.ts","../../../projects/angular-formio/resource/src/resources.service.ts","../../../projects/angular-formio/resource/src/resource.service.ts","../../../projects/angular-formio/resource/src/resource.component.ts","../../../projects/angular-formio/resource/src/resource.component.html","../../../projects/angular-formio/resource/src/view/view.component.ts","../../../projects/angular-formio/resource/src/view/view.component.html","../../../projects/angular-formio/resource/src/edit/edit.component.ts","../../../projects/angular-formio/resource/src/edit/edit.component.html","../../../projects/angular-formio/resource/src/delete/delete.component.ts","../../../projects/angular-formio/resource/src/delete/delete.component.html","../../../projects/angular-formio/resource/src/create/create.component.ts","../../../projects/angular-formio/resource/src/create/create.component.html","../../../projects/angular-formio/resource/src/index/index.component.ts","../../../projects/angular-formio/resource/src/index/index.component.html","../../../projects/angular-formio/resource/src/resource.routes.ts","../../../projects/angular-formio/resource/src/resource.module.ts","../../../projects/angular-formio/resource/src/formio-angular-resource.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nexport interface FormioResourceRouteConfig {\n index?: any;\n create?: any;\n resource?: any;\n view?: any;\n edit?: any;\n delete?: any;\n}\n\n@Injectable()\nexport class FormioResourceConfig {\n name = '';\n form = '';\n parents: any[] = [];\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { FormioAuthService } from '@formio/angular/auth';\n\nexport interface FormioResourceMap {\n [name: string]: any;\n}\n\n@Injectable()\nexport class FormioResources {\n resources: FormioResourceMap = {};\n error: EventEmitter<any>;\n onError: EventEmitter<any>;\n constructor(\n public auth?: FormioAuthService\n ) {\n this.error = new EventEmitter();\n this.onError = this.error;\n this.resources = {\n currentUser: {\n resourceLoaded: this.auth.userReady\n }\n };\n }\n}\n","import { EventEmitter, Injectable, Optional } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormioResourceConfig } from './resource.config';\nimport { FormioResources } from './resources.service';\nimport { FormioPromiseService } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioAppConfig } from '@formio/angular';\nimport { FormioRefreshValue } from '@formio/angular';\nimport { Formio, Utils } from '@formio/js';\nimport _ from 'lodash';\n\n@Injectable()\nexport class FormioResourceService {\n public initialized = false;\n public form: any;\n public alerts: FormioAlerts;\n public resource: any;\n public resourceUrl?: string;\n public formUrl: string;\n public formFormio: FormioPromiseService;\n public formio: FormioPromiseService;\n public refresh: EventEmitter<FormioRefreshValue>;\n\n public resourceResolve: any;\n public resourceReject: any;\n public resourceLoaded?: Promise<any>;\n\n public resourceLoading?: Promise<any>;\n public resourceId?: string;\n public resources: any;\n\n public ready?: Promise<any>;\n public readyResolve: any;\n public readyReject: any;\n\n public formLoading?: Promise<any>;\n public formLoaded: Promise<any>;\n public formResolve: any;\n public formReject: any;\n public isLoading: boolean;\n\n constructor(\n public appConfig: FormioAppConfig,\n public config: FormioResourceConfig,\n @Optional() public resourcesService: FormioResources\n ) {\n this.isLoading = true;\n this.alerts = new FormioAlerts();\n this.refresh = new EventEmitter();\n }\n\n initialize() {\n console.warn('FormioResourceService.initialize() has been deprecated.');\n }\n\n setResource(resourceId: any) {\n this.resourceLoading = null;\n this.formLoading = null;\n this.ready = new Promise((resolve: any, reject: any) => {\n this.readyResolve = resolve;\n this.readyReject = reject;\n });\n this.formLoaded = new Promise((resolve: any, reject: any) => {\n this.formResolve = resolve;\n this.formReject = reject;\n });\n this.resourceLoaded = new Promise((resolve: any, reject: any) => {\n this.resourceResolve = resolve;\n this.resourceReject = reject;\n });\n this.resourceId = resourceId;\n this.resourceUrl = this.appConfig.appUrl + '/' + this.config.form;\n if (this.resourceId) {\n this.resourceUrl += '/submission/' + this.resourceId;\n }\n if (this.appConfig && this.appConfig.appUrl) {\n Formio.setBaseUrl(this.appConfig.apiUrl);\n Formio.setProjectUrl(this.appConfig.appUrl);\n Formio.formOnly = this.appConfig.formOnly;\n } else {\n console.error('You must provide an AppConfig within your application!');\n }\n this.formio = new FormioPromiseService(this.resourceUrl);\n this.resource = { data: {} };\n }\n\n init(route: ActivatedRoute) {\n const snapshot = route.snapshot;\n const reset = snapshot.queryParams?.hasOwnProperty('reset') ? snapshot.queryParams.reset : false;\n const resourceId = snapshot.params['id'];\n if (resourceId && (resourceId === this.resourceId) && !reset) {\n return this.ready;\n }\n\n // Set the resource.\n this.setResource(resourceId);\n\n // Add this resource service to the list of all resources in context.\n if (this.resourcesService) {\n this.resources = this.resourcesService.resources;\n this.resources[this.config.name] = this;\n }\n\n if (this.resourceId) {\n return this.loadForm()\n .then(() => this.loadResource())\n .then(() => this.readyResolve(this.form))\n .catch((err) => this.readyReject(err));\n }\n\n return this.loadForm()\n .then(() => this.readyResolve(this.form))\n .catch((err) => this.readyReject(err));\n }\n\n onError(error: any) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n if (this.resourcesService) {\n this.resourcesService.error.emit(error);\n }\n throw error;\n }\n\n onFormError(err: any) {\n this.formReject(err);\n this.onError(err);\n }\n\n loadForm() {\n if (this.formLoading) {\n return this.formLoading;\n }\n this.formUrl = this.appConfig.appUrl + '/' + this.config.form;\n this.formFormio = new FormioPromiseService(this.formUrl);\n this.isLoading = true;\n this.formLoading = this.formFormio\n .loadForm()\n .then(\n (form: any) => {\n this.form = form;\n this.formResolve(form);\n this.isLoading = false;\n this.loadParents();\n return form;\n },\n (err: any) => this.onFormError(err)\n )\n .catch((err: any) => this.onFormError(err));\n return this.formLoading;\n }\n\n loadParents() {\n if (!this.config.parents || !this.config.parents.length) {\n return Promise.resolve([]);\n }\n if (!this.resourcesService) {\n console.warn(\n 'You must provide the FormioResources within your application to use nested resources.'\n );\n return Promise.resolve([]);\n }\n return this.formLoading.then((form) => {\n // Iterate through the list of parents.\n const _parentsLoaded: Array<Promise<any>> = [];\n this.config.parents.forEach((parent: any) => {\n const resourceName = parent.resource || parent;\n const resourceField = parent.field || parent;\n const filterResource = parent.hasOwnProperty('filter') ? parent.filter : true;\n if (this.resources.hasOwnProperty(resourceName) && this.resources[resourceName].resourceLoaded) {\n _parentsLoaded.push(\n this.resources[resourceName].resourceLoaded.then((resource: any) => {\n let parentPath = '';\n Utils.eachComponent(form.components, (component, path) => {\n if (component.key === resourceField) {\n component.hidden = true;\n component.clearOnHide = false;\n _.set(this.resource.data, path, resource);\n parentPath = path;\n return true;\n }\n });\n return {\n name: parentPath,\n filter: filterResource,\n resource\n };\n })\n );\n }\n });\n\n // When all the parents have loaded, emit that to the onParents emitter.\n return Promise.all(_parentsLoaded).then((parents: any) => {\n this.refresh.emit({\n form: form,\n submission: this.resource\n });\n return parents;\n });\n });\n }\n\n onSubmissionError(err: any) {\n this.onError(err);\n this.resourceReject(err);\n }\n\n loadResource() {\n if (this.resourceLoading) {\n return this.resourceLoading;\n }\n this.isLoading = true;\n this.resourceLoading = this.formio\n .loadSubmission(null, {ignoreCache: true})\n .then(\n (resource: any) => {\n this.resource = resource;\n this.isLoading = false;\n this.refresh.emit({\n property: 'submission',\n value: this.resource\n });\n this.resourceResolve(resource);\n return resource;\n },\n (err: any) => this.onSubmissionError(err)\n )\n .catch((err: any) => this.onSubmissionError(err));\n return this.resourceLoading;\n }\n\n save(resource: any) {\n const formio = resource._id ? this.formio : this.formFormio;\n return formio\n .saveSubmission(resource)\n .then(\n (saved: any) => {\n this.resource = saved;\n return saved;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n\n remove() {\n return this.formio\n .deleteSubmission()\n .then(\n () => {\n this.resource = null;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router, RouterEvent } from '@angular/router';\nimport { FormioAuthService } from '@formio/angular/auth';\nimport { FormioResourceService } from './resource.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n templateUrl: './resource.component.html'\n})\nexport class FormioResourceComponent implements OnInit, OnDestroy {\n public perms = {delete: false, edit: false};\n public routerSubscription: Subscription;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public auth: FormioAuthService,\n public router: Router\n ) {}\n\n ngOnInit() {\n this.init();\n this.routerSubscription = this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.init();\n }\n });\n }\n\n ngOnDestroy() {\n this.routerSubscription.unsubscribe();\n }\n\n init() {\n return this.service.init(this.route).then(() => \n this.auth.ready.then(() => \n this.service.formFormio.userPermissions(\n this.auth.user, \n this.service.form, \n this.service.resource\n ).then((perms) => {\n this.perms.delete = perms.delete;\n this.perms.edit = perms.edit;\n return this.service.resource;\n })\n ));\n }\n}\n","<ul class=\"nav nav-tabs\" style=\"margin-bottom: 10px\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left bi bi-chevron-left\"></em></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\">View</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\">Edit</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.delete\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash bi bi-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n","import {Component, OnDestroy} from '@angular/core';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport {Formio} from '@formio/js';\n\n@Component({\n templateUrl: './view.component.html'\n})\nexport class FormioResourceViewComponent implements OnDestroy{\n constructor(\n public service: FormioResourceService,\n public config: FormioResourceConfig\n ) {}\n public submission = {data: {}};\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [hideComponents]=\"config.parents\"\n [readOnly]=\"true\"\n></formio>\n","import {Component, EventEmitter, OnDestroy} from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { Formio } from '@formio/js';\n\n@Component({\n templateUrl: './edit.component.html'\n})\nexport class FormioResourceEditComponent implements OnDestroy {\n public triggerError: EventEmitter<any> = new EventEmitter();\n public onSubmitDone: EventEmitter<object> = new EventEmitter();\n public submission = {data: {}};\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {}\n\n onSubmit(submission: any) {\n const edit = this.service.resource;\n edit.data = submission.data;\n this.service.save(edit)\n .then(() => {\n this.onSubmitDone.emit(this.service.resource);\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n })\n .catch((err) => this.triggerError.emit(err));\n }\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [error]=\"triggerError\"\n [submitDone]=\"onSubmitDone\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\n\n@Component({\n templateUrl: './delete.component.html'\n})\nexport class FormioResourceDeleteComponent {\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router\n ) {}\n\n onDelete() {\n this.service.remove().then(() => {\n this.router.navigate(['../../'], { relativeTo: this.route });\n });\n }\n\n onCancel() {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n }\n}\n","<h3>Are you sure you wish to delete this record?</h3>\n<div class=\"btn-toolbar\">\n <button type=\"button\" (click)=\"onDelete()\" class=\"btn btn-danger\" style=\"margin-right: 10px;\">Yes</button>\n <button type=\"button\" (click)=\"onCancel()\" class=\"btn btn-danger\">No</button>\n</div>\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\n\n@Component({\n styleUrls: ['./create.component.scss'],\n templateUrl: './create.component.html'\n})\nexport class FormioResourceCreateComponent implements OnInit {\n public onError: EventEmitter<any>;\n public onSuccess: EventEmitter<any>;\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {\n this.onError = new EventEmitter();\n this.onSuccess = new EventEmitter();\n }\n\n ngOnInit(): void {\n this.service.init(this.route);\n }\n\n onSubmit(submission: any) {\n this.service\n .save(submission)\n .then(() => {\n this.router.navigate(['../', this.service.resource._id, 'view'], {\n relativeTo: this.route\n });\n })\n .catch((err: any) => this.onError.emit(err));\n }\n}\n","<h3 *ngIf=\"service.form\" style=\"margin-top:0;\">\n <a routerLink=\"../\" class=\"back-button\">\n <em class=\"fa fa-chevron-left bi bi-chevron-left\"></em>\n </a> | New {{ service.form.title }}\n</h3>\n<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [refresh]=\"service.refresh\"\n [error]=\"onError\"\n [success]=\"onSuccess\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component, OnInit, ChangeDetectorRef, NgZone } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { each } from 'lodash';\n\n@Component({\n templateUrl: './index.component.html'\n})\nexport class FormioResourceIndexComponent implements OnInit {\n public gridSrc?: string;\n public gridQuery: any;\n public createText: String;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig,\n public cdr: ChangeDetectorRef,\n public ngZone: NgZone,\n ) {\n }\n\n ngOnInit() {\n this.service.init(this.route).then(() => {\n this.gridQuery = {};\n if (\n this.service &&\n this.config.parents &&\n this.config.parents.length\n ) {\n this.service.loadParents().then((parents: any) => {\n each(parents, (parent: any) => {\n if (parent && parent.filter) {\n this.gridQuery['data.' + parent.name + '._id'] =\n parent.resource._id;\n }\n });\n\n // Set the source to load the grid.\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n this.cdr.detectChanges();\n });\n } else if (this.service.formUrl) {\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n }\n });\n }\n\n onSelect(row: any) {\n this.ngZone.run(() => {\n this.router.navigate([row._id, 'view'], { relativeTo: this.route });\n });\n }\n\n onCreateItem() {\n this.ngZone.run(() => {\n this.router.navigate(['new'], { relativeTo: this.route });\n });\n }\n}\n","<formio-alerts [alerts]=\"service.alerts\"></formio-alerts>\n<formio-grid\n [src]=\"gridSrc\"\n [query]=\"gridQuery\"\n [onForm]=\"service.formLoaded\"\n (rowSelect)=\"onSelect($event)\"\n (error)=\"service.onError($event)\"\n (createItem)=\"onCreateItem()\"\n [createText]=\"createText\"\n></formio-grid>\n","import { Routes } from '@angular/router';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nexport function FormioResourceRoutes(config?: FormioResourceRouteConfig): Routes {\n return [\n {\n path: '',\n component: config && config.index ? config.index : FormioResourceIndexComponent\n },\n {\n path: 'new',\n component: config && config.create ? config.create : FormioResourceCreateComponent\n },\n {\n path: ':id',\n component: config && config.resource ? config.resource : FormioResourceComponent,\n children: [\n {\n path: '',\n redirectTo: 'view',\n pathMatch: 'full'\n },\n {\n path: 'view',\n component: config && config.view ? config.view : FormioResourceViewComponent\n },\n {\n path: 'edit',\n component: config && config.edit ? config.edit : FormioResourceEditComponent\n },\n {\n path: 'delete',\n component: config && config.delete ? config.delete : FormioResourceDeleteComponent\n }\n ]\n }\n ];\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioGrid } from '@formio/angular/grid';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nimport { FormioResourceRoutes } from './resource.routes';\nimport { extendRouter } from '@formio/angular';\n\n@NgModule({\n imports: [\n CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule\n ],\n declarations: [\n FormioResourceComponent,\n FormioResourceCreateComponent,\n FormioResourceIndexComponent,\n FormioResourceViewComponent,\n FormioResourceEditComponent,\n FormioResourceDeleteComponent\n ],\n providers: [\n FormioAlerts\n ]\n})\nexport class FormioResource {\n static forChild(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n static forRoot(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.FormioResourceConfig","i3.FormioResources","i1.FormioResourceService","i3","i3.FormioResourceConfig","i4","i5"],"mappings":"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"}
1
+ {"version":3,"file":"formio-angular-resource.mjs","sources":["../../../projects/angular-formio/resource/src/resource.config.ts","../../../projects/angular-formio/resource/src/resources.service.ts","../../../projects/angular-formio/resource/src/resource.service.ts","../../../projects/angular-formio/resource/src/resource.component.ts","../../../projects/angular-formio/resource/src/resource.component.html","../../../projects/angular-formio/resource/src/view/view.component.ts","../../../projects/angular-formio/resource/src/view/view.component.html","../../../projects/angular-formio/resource/src/edit/edit.component.ts","../../../projects/angular-formio/resource/src/edit/edit.component.html","../../../projects/angular-formio/resource/src/delete/delete.component.ts","../../../projects/angular-formio/resource/src/delete/delete.component.html","../../../projects/angular-formio/resource/src/create/create.component.ts","../../../projects/angular-formio/resource/src/create/create.component.html","../../../projects/angular-formio/resource/src/index/index.component.ts","../../../projects/angular-formio/resource/src/index/index.component.html","../../../projects/angular-formio/resource/src/resource.routes.ts","../../../projects/angular-formio/resource/src/resource.module.ts","../../../projects/angular-formio/resource/src/formio-angular-resource.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nexport interface FormioResourceRouteConfig {\n index?: any;\n create?: any;\n resource?: any;\n view?: any;\n edit?: any;\n delete?: any;\n}\n\n@Injectable()\nexport class FormioResourceConfig {\n name = '';\n form = '';\n parents: any[] = [];\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { FormioAuthService } from '@formio/angular/auth';\n\nexport interface FormioResourceMap {\n [name: string]: any;\n}\n\n@Injectable()\nexport class FormioResources {\n resources: FormioResourceMap = {};\n error: EventEmitter<any>;\n onError: EventEmitter<any>;\n constructor(\n public auth?: FormioAuthService\n ) {\n this.error = new EventEmitter();\n this.onError = this.error;\n this.resources = {\n currentUser: {\n resourceLoaded: this.auth.userReady\n }\n };\n }\n}\n","import { EventEmitter, Injectable, Optional } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FormioResourceConfig } from './resource.config';\nimport { FormioResources } from './resources.service';\nimport { FormioPromiseService } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioAppConfig } from '@formio/angular';\nimport { FormioRefreshValue } from '@formio/angular';\nimport { Formio, Utils } from '@formio/js';\nimport _ from 'lodash';\n\n@Injectable()\nexport class FormioResourceService {\n public initialized = false;\n public form: any;\n public alerts: FormioAlerts;\n public resource: any;\n public resourceUrl?: string;\n public formUrl: string;\n public formFormio: FormioPromiseService;\n public formio: FormioPromiseService;\n public refresh: EventEmitter<FormioRefreshValue>;\n\n public resourceResolve: any;\n public resourceReject: any;\n public resourceLoaded?: Promise<any>;\n\n public resourceLoading?: Promise<any>;\n public resourceId?: string;\n public resources: any;\n\n public ready?: Promise<any>;\n public readyResolve: any;\n public readyReject: any;\n\n public formLoading?: Promise<any>;\n public formLoaded: Promise<any>;\n public formResolve: any;\n public formReject: any;\n public isLoading: boolean;\n\n constructor(\n public appConfig: FormioAppConfig,\n public config: FormioResourceConfig,\n @Optional() public resourcesService: FormioResources\n ) {\n this.isLoading = true;\n this.alerts = new FormioAlerts();\n this.refresh = new EventEmitter();\n }\n\n initialize() {\n console.warn('FormioResourceService.initialize() has been deprecated.');\n }\n\n setResource(resourceId: any) {\n this.resourceLoading = null;\n this.formLoading = null;\n this.ready = new Promise((resolve: any, reject: any) => {\n this.readyResolve = resolve;\n this.readyReject = reject;\n });\n this.formLoaded = new Promise((resolve: any, reject: any) => {\n this.formResolve = resolve;\n this.formReject = reject;\n });\n this.resourceLoaded = new Promise((resolve: any, reject: any) => {\n this.resourceResolve = resolve;\n this.resourceReject = reject;\n });\n this.resourceId = resourceId;\n this.resourceUrl = this.appConfig.appUrl + '/' + this.config.form;\n if (this.resourceId) {\n this.resourceUrl += '/submission/' + this.resourceId;\n }\n if (this.appConfig && this.appConfig.appUrl) {\n Formio.setBaseUrl(this.appConfig.apiUrl);\n Formio.setProjectUrl(this.appConfig.appUrl);\n Formio.formOnly = this.appConfig.formOnly;\n } else {\n console.error('You must provide an AppConfig within your application!');\n }\n this.formio = new FormioPromiseService(this.resourceUrl);\n this.resource = { data: {} };\n }\n\n init(route: ActivatedRoute, router: Router = null) {\n const snapshot = route.snapshot;\n let reset = false;\n if (snapshot.queryParams?.hasOwnProperty('reset')) {\n reset = snapshot.queryParams.reset;\n }\n else if (router) {\n const navigation = router.getCurrentNavigation();\n if (navigation?.extras.state && navigation.extras.state.hasOwnProperty('reset')) {\n reset = navigation.extras.state['reset'];\n }\n }\n const resourceId = snapshot.params['id'];\n if (resourceId && (resourceId === this.resourceId) && !reset) {\n return this.ready;\n }\n\n // Set the resource.\n this.setResource(resourceId);\n\n // Add this resource service to the list of all resources in context.\n if (this.resourcesService) {\n this.resources = this.resourcesService.resources;\n this.resources[this.config.name] = this;\n }\n\n if (this.resourceId) {\n return this.loadForm()\n .then(() => this.loadResource())\n .then(() => this.readyResolve(this.form))\n .catch((err) => this.readyReject(err));\n }\n\n return this.loadForm()\n .then(() => this.readyResolve(this.form))\n .catch((err) => this.readyReject(err));\n }\n\n onError(error: any) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n if (this.resourcesService) {\n this.resourcesService.error.emit(error);\n }\n throw error;\n }\n\n onFormError(err: any) {\n this.formReject(err);\n this.onError(err);\n }\n\n loadForm() {\n if (this.formLoading) {\n return this.formLoading;\n }\n this.formUrl = this.appConfig.appUrl + '/' + this.config.form;\n this.formFormio = new FormioPromiseService(this.formUrl);\n this.isLoading = true;\n this.formLoading = this.formFormio\n .loadForm()\n .then(\n (form: any) => {\n this.form = form;\n this.formResolve(form);\n this.isLoading = false;\n this.loadParents();\n return form;\n },\n (err: any) => this.onFormError(err)\n )\n .catch((err: any) => this.onFormError(err));\n return this.formLoading;\n }\n\n loadParents() {\n if (!this.config.parents || !this.config.parents.length) {\n return Promise.resolve([]);\n }\n if (!this.resourcesService) {\n console.warn(\n 'You must provide the FormioResources within your application to use nested resources.'\n );\n return Promise.resolve([]);\n }\n return this.formLoading.then((form) => {\n // Iterate through the list of parents.\n const _parentsLoaded: Array<Promise<any>> = [];\n this.config.parents.forEach((parent: any) => {\n const resourceName = parent.resource || parent;\n const resourceField = parent.field || parent;\n const filterResource = parent.hasOwnProperty('filter') ? parent.filter : true;\n if (this.resources.hasOwnProperty(resourceName) && this.resources[resourceName].resourceLoaded) {\n _parentsLoaded.push(\n this.resources[resourceName].resourceLoaded.then((resource: any) => {\n let parentPath = '';\n Utils.eachComponent(form.components, (component, path) => {\n if (component.key === resourceField) {\n component.hidden = true;\n component.clearOnHide = false;\n _.set(this.resource.data, path, resource);\n parentPath = path;\n return true;\n }\n });\n return {\n name: parentPath,\n filter: filterResource,\n resource\n };\n })\n );\n }\n });\n\n // When all the parents have loaded, emit that to the onParents emitter.\n return Promise.all(_parentsLoaded).then((parents: any) => {\n this.refresh.emit({\n form: form,\n submission: this.resource\n });\n return parents;\n });\n });\n }\n\n onSubmissionError(err: any) {\n this.onError(err);\n this.resourceReject(err);\n }\n\n loadResource() {\n if (this.resourceLoading) {\n return this.resourceLoading;\n }\n this.isLoading = true;\n this.resourceLoading = this.formio\n .loadSubmission(null, {ignoreCache: true})\n .then(\n (resource: any) => {\n this.resource = resource;\n this.isLoading = false;\n this.refresh.emit({\n property: 'submission',\n value: this.resource\n });\n this.resourceResolve(resource);\n return resource;\n },\n (err: any) => this.onSubmissionError(err)\n )\n .catch((err: any) => this.onSubmissionError(err));\n return this.resourceLoading;\n }\n\n save(resource: any) {\n const formio = resource._id ? this.formio : this.formFormio;\n return formio\n .saveSubmission(resource)\n .then(\n (saved: any) => {\n this.resource = saved;\n return saved;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n\n remove() {\n return this.formio\n .deleteSubmission()\n .then(\n () => {\n this.resource = null;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router, RouterEvent } from '@angular/router';\nimport { FormioAuthService } from '@formio/angular/auth';\nimport { FormioResourceService } from './resource.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n templateUrl: './resource.component.html'\n})\nexport class FormioResourceComponent implements OnInit, OnDestroy {\n public perms = {delete: false, edit: false};\n public routerSubscription: Subscription;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public auth: FormioAuthService,\n public router: Router\n ) {}\n\n ngOnInit() {\n this.init();\n this.routerSubscription = this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.init();\n }\n });\n }\n\n ngOnDestroy() {\n this.routerSubscription.unsubscribe();\n }\n\n init() {\n return this.service.init(this.route, this.router).then(() => \n this.auth.ready.then(() => \n this.service.formFormio.userPermissions(\n this.auth.user, \n this.service.form, \n this.service.resource\n ).then((perms) => {\n this.perms.delete = perms.delete;\n this.perms.edit = perms.edit;\n return this.service.resource;\n })\n ));\n }\n}\n","<ul class=\"nav nav-tabs\" style=\"margin-bottom: 10px\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left bi bi-chevron-left\"></em></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\">View</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\">Edit</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.delete\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash bi bi-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n","import {Component, OnDestroy} from '@angular/core';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport {Formio} from '@formio/js';\n\n@Component({\n templateUrl: './view.component.html'\n})\nexport class FormioResourceViewComponent implements OnDestroy{\n constructor(\n public service: FormioResourceService,\n public config: FormioResourceConfig\n ) {}\n public submission = {data: {}};\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [hideComponents]=\"config.parents\"\n [readOnly]=\"true\"\n></formio>\n","import {Component, EventEmitter, OnDestroy} from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { Formio } from '@formio/js';\n\n@Component({\n templateUrl: './edit.component.html'\n})\nexport class FormioResourceEditComponent implements OnDestroy {\n public triggerError: EventEmitter<any> = new EventEmitter();\n public onSubmitDone: EventEmitter<object> = new EventEmitter();\n public submission = {data: {}};\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {}\n\n onSubmit(submission: any) {\n const edit = this.service.resource;\n edit.data = submission.data;\n this.service.save(edit)\n .then(() => {\n this.onSubmitDone.emit(this.service.resource);\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n })\n .catch((err) => this.triggerError.emit(err));\n }\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [error]=\"triggerError\"\n [submitDone]=\"onSubmitDone\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\n\n@Component({\n templateUrl: './delete.component.html'\n})\nexport class FormioResourceDeleteComponent {\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router\n ) {}\n\n onDelete() {\n this.service.remove().then(() => {\n this.router.navigate(['../../'], { relativeTo: this.route });\n });\n }\n\n onCancel() {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n }\n}\n","<h3>Are you sure you wish to delete this record?</h3>\n<div class=\"btn-toolbar\">\n <button type=\"button\" (click)=\"onDelete()\" class=\"btn btn-danger\" style=\"margin-right: 10px;\">Yes</button>\n <button type=\"button\" (click)=\"onCancel()\" class=\"btn btn-danger\">No</button>\n</div>\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\n\n@Component({\n styleUrls: ['./create.component.scss'],\n templateUrl: './create.component.html'\n})\nexport class FormioResourceCreateComponent implements OnInit {\n public onError: EventEmitter<any>;\n public onSuccess: EventEmitter<any>;\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {\n this.onError = new EventEmitter();\n this.onSuccess = new EventEmitter();\n }\n\n ngOnInit(): void {\n this.service.init(this.route);\n }\n\n onSubmit(submission: any) {\n this.service\n .save(submission)\n .then(() => {\n this.router.navigate(['../', this.service.resource._id, 'view'], {\n relativeTo: this.route\n });\n })\n .catch((err: any) => this.onError.emit(err));\n }\n}\n","<h3 *ngIf=\"service.form\" style=\"margin-top:0;\">\n <a routerLink=\"../\" class=\"back-button\">\n <em class=\"fa fa-chevron-left bi bi-chevron-left\"></em>\n </a> | New {{ service.form.title }}\n</h3>\n<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [refresh]=\"service.refresh\"\n [error]=\"onError\"\n [success]=\"onSuccess\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component, OnInit, ChangeDetectorRef, NgZone } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { each } from 'lodash';\n\n@Component({\n templateUrl: './index.component.html'\n})\nexport class FormioResourceIndexComponent implements OnInit {\n public gridSrc?: string;\n public gridQuery: any;\n public createText: String;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig,\n public cdr: ChangeDetectorRef,\n public ngZone: NgZone,\n ) {\n }\n\n ngOnInit() {\n this.service.init(this.route).then(() => {\n this.gridQuery = {};\n if (\n this.service &&\n this.config.parents &&\n this.config.parents.length\n ) {\n this.service.loadParents().then((parents: any) => {\n each(parents, (parent: any) => {\n if (parent && parent.filter) {\n this.gridQuery['data.' + parent.name + '._id'] =\n parent.resource._id;\n }\n });\n\n // Set the source to load the grid.\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n this.cdr.detectChanges();\n });\n } else if (this.service.formUrl) {\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n }\n });\n }\n\n onSelect(row: any) {\n this.ngZone.run(() => {\n this.router.navigate([row._id, 'view'], { relativeTo: this.route });\n });\n }\n\n onCreateItem() {\n this.ngZone.run(() => {\n this.router.navigate(['new'], { relativeTo: this.route });\n });\n }\n}\n","<formio-alerts [alerts]=\"service.alerts\"></formio-alerts>\n<formio-grid\n [src]=\"gridSrc\"\n [query]=\"gridQuery\"\n [onForm]=\"service.formLoaded\"\n (rowSelect)=\"onSelect($event)\"\n (error)=\"service.onError($event)\"\n (createItem)=\"onCreateItem()\"\n [createText]=\"createText\"\n></formio-grid>\n","import { Routes } from '@angular/router';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nexport function FormioResourceRoutes(config?: FormioResourceRouteConfig): Routes {\n return [\n {\n path: '',\n component: config && config.index ? config.index : FormioResourceIndexComponent\n },\n {\n path: 'new',\n component: config && config.create ? config.create : FormioResourceCreateComponent\n },\n {\n path: ':id',\n component: config && config.resource ? config.resource : FormioResourceComponent,\n children: [\n {\n path: '',\n redirectTo: 'view',\n pathMatch: 'full'\n },\n {\n path: 'view',\n component: config && config.view ? config.view : FormioResourceViewComponent\n },\n {\n path: 'edit',\n component: config && config.edit ? config.edit : FormioResourceEditComponent\n },\n {\n path: 'delete',\n component: config && config.delete ? config.delete : FormioResourceDeleteComponent\n }\n ]\n }\n ];\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioGrid } from '@formio/angular/grid';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nimport { FormioResourceRoutes } from './resource.routes';\nimport { extendRouter } from '@formio/angular';\n\n@NgModule({\n imports: [\n CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule\n ],\n declarations: [\n FormioResourceComponent,\n FormioResourceCreateComponent,\n FormioResourceIndexComponent,\n FormioResourceViewComponent,\n FormioResourceEditComponent,\n FormioResourceDeleteComponent\n ],\n providers: [\n FormioAlerts\n ]\n})\nexport class FormioResource {\n static forChild(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n static forRoot(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.FormioResourceConfig","i3.FormioResources","i1.FormioResourceService","i3","i3.FormioResourceConfig","i4","i5"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injectable, Inject, EventEmitter, Component, Optional, Input, Output, ViewChild, Pipe, ViewEncapsulation, NgModule } from '@angular/core';
2
+ import { Injectable, EventEmitter, Component, Optional, Input, Output, ViewChild, Pipe, ViewEncapsulation, NgModule } from '@angular/core';
3
3
  import { Formio, FormioCore, Utils, Form, FormBuilder } from '@formio/js';
4
4
  export { Formio, Utils as FormioUtils } from '@formio/js';
5
5
  import { Observable } from 'rxjs';
@@ -8,31 +8,28 @@ import { each, assign, get, isEmpty } from 'lodash';
8
8
  import * as i1 from '@angular/common';
9
9
  import { CommonModule } from '@angular/common';
10
10
 
11
- const FORMIO_CONFIG = new InjectionToken('formio-config');
12
11
  class FormioAppConfig {
13
12
  appUrl = '';
14
13
  apiUrl = '';
15
14
  icons;
16
15
  formOnly;
17
16
  formio;
18
- constructor(config = {}) {
19
- this.apiUrl = config.apiUrl || config.baseUrl;
20
- this.appUrl = config.appUrl || config.projectUrl;
17
+ ngOnInit() {
21
18
  if (this.apiUrl) {
22
19
  Formio.setBaseUrl(this.apiUrl);
23
20
  Formio.setProjectUrl(this.appUrl);
24
21
  this.formio = new Formio(this.appUrl);
25
22
  }
26
23
  }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FormioAppConfig, deps: [{ token: FORMIO_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
28
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FormioAppConfig });
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FormioAppConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
25
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FormioAppConfig, providedIn: 'root' });
29
26
  }
30
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FormioAppConfig, decorators: [{
31
- type: Injectable
32
- }], ctorParameters: () => [{ type: undefined, decorators: [{
33
- type: Inject,
34
- args: [FORMIO_CONFIG]
35
- }] }] });
28
+ type: Injectable,
29
+ args: [{
30
+ providedIn: 'root'
31
+ }]
32
+ }] });
36
33
 
37
34
  class FormioError {
38
35
  message;
@@ -1182,5 +1179,5 @@ if (window && typeof window.global === 'undefined') {
1182
1179
  * Generated bundle index. Do not edit.
1183
1180
  */
1184
1181
 
1185
- export { CustomTagsService, FORMIO_CONFIG, FormBuilderComponent, FormioAlerts, FormioAlertsComponent, FormioAppConfig, FormioBaseComponent, FormioComponent, FormioError, FormioLoaderComponent, FormioModule, FormioPromiseService, FormioReportComponent, FormioService, extendRouter };
1182
+ export { CustomTagsService, FormBuilderComponent, FormioAlerts, FormioAlertsComponent, FormioAppConfig, FormioBaseComponent, FormioComponent, FormioError, FormioLoaderComponent, FormioModule, FormioPromiseService, FormioReportComponent, FormioService, extendRouter };
1186
1183
  //# sourceMappingURL=formio-angular.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"formio-angular.mjs","sources":["../../../projects/angular-formio/src/formio.config.ts","../../../projects/angular-formio/src/formio.common.ts","../../../projects/angular-formio/src/formio.service.ts","../../../projects/angular-formio/src/formio-promise.service.ts","../../../projects/angular-formio/src/formio.utils.ts","../../../projects/angular-formio/src/components/alerts/formio.alerts.ts","../../../projects/angular-formio/src/types/alerts-position.ts","../../../projects/angular-formio/src/custom-tags.service.ts","../../../projects/angular-formio/src/FormioBaseComponent.ts","../../../projects/angular-formio/src/components/loader/formio.loader.component.ts","../../../projects/angular-formio/src/components/loader/formio.loader.component.html","../../../projects/angular-formio/src/components/alerts/parse-html-content.pipe.ts","../../../projects/angular-formio/src/components/alerts/formio.alerts.component.ts","../../../projects/angular-formio/src/components/alerts/formio.alerts.component.html","../../../projects/angular-formio/src/components/formio/formio.component.ts","../../../projects/angular-formio/src/components/formio/formio.component.html","../../../projects/angular-formio/src/components/formbuilder/formbuilder.component.ts","../../../projects/angular-formio/src/components/formbuilder/formbuilder.component.html","../../../projects/angular-formio/src/components/formioreport/formioreport.component.ts","../../../projects/angular-formio/src/components/formioreport/formioreport.component.html","../../../projects/angular-formio/src/formio.module.ts","../../../projects/angular-formio/src/core.ts","../../../projects/angular-formio/src/formio-angular.ts"],"sourcesContent":["import { Inject, Injectable, InjectionToken } from '@angular/core';\nexport const FORMIO_CONFIG = new InjectionToken('formio-config');\nimport { Formio } from '@formio/js';\n\n@Injectable()\nexport class FormioAppConfig {\n [x: string]: any;\n appUrl = '';\n apiUrl = '';\n icons?: string;\n formOnly?: boolean;\n formio?: Formio;\n constructor(@Inject(FORMIO_CONFIG) config: {\n apiUrl?: string,\n baseUrl?: string, \n appUrl?: string,\n projectUrl?: string \n } = {}) {\n this.apiUrl = config.apiUrl || config.baseUrl;\n this.appUrl = config.appUrl || config.projectUrl;\n if (this.apiUrl) {\n Formio.setBaseUrl(this.apiUrl);\n Formio.setProjectUrl(this.appUrl);\n this.formio = new Formio(this.appUrl);\n }\n }\n}\n","import { ExtendedComponentSchema, ValidateOptions } from '@formio/deprecated-types';\nimport { AlertsPosition } from './types/alerts-position';\n\nexport interface ComponentOptions<T = any, V extends ValidateOptions = ValidateOptions> extends ExtendedComponentSchema<T> {\n validate?: V;\n}\n\nexport interface FormioRefreshValue {\n property?: string;\n value?: object;\n form?: object;\n submission?: object;\n}\n\nexport interface AccessSetting {\n type: string;\n roles: string[];\n}\n\nexport interface FormioReport {\n form: string,\n roles: object,\n access: object,\n metadata: object,\n data: object,\n project: string,\n}\n\nexport interface FormioForm {\n title?: string;\n display?: string;\n name?: string;\n path?: string;\n type?: string;\n project?: string;\n template?: string;\n components?: ExtendedComponentSchema[];\n tags?: string[];\n access?: AccessSetting[];\n submissionAccess?: AccessSetting[];\n report?: FormioReport\n}\n\nexport interface ComponentInstance {\n component: ExtendedComponentSchema;\n id: string;\n type: string;\n asString?(value: any): string;\n getView(value: any): string;\n}\n\nexport interface AlertsOptions {\n submitMessage: string;\n}\n\nexport interface ErrorsOptions {\n message: string;\n}\n\nexport class FormioError {\n constructor(\n public message: string,\n public component: ExtendedComponentSchema,\n public silent?: boolean,\n ) {}\n}\n\nexport type FormioSubmissionCallback = (\n error: FormioError,\n submission: object\n) => void;\nexport type FormioBeforeSubmit = (\n submission: object,\n callback: FormioSubmissionCallback\n) => void;\n\nexport interface FormioHookOptions {\n beforeSubmit: FormioBeforeSubmit;\n}\n\nexport interface FormioOptions {\n errors?: ErrorsOptions;\n alerts?: AlertsOptions;\n alertsPosition?: AlertsPosition;\n disableAlerts?: boolean;\n i18n?: object;\n fileService?: object;\n hooks?: FormioHookOptions;\n sanitizeConfig?: any;\n}\n","import { Observable, Observer } from 'rxjs';\nimport { FormioForm } from './formio.common';\nimport { FormioCore as Formio } from '@formio/js';\n\nexport class FormioService {\n public formio: any;\n constructor(public url: string, public options?: object) {\n this.formio = new Formio(this.url, this.options);\n }\n requestWrapper(fn: any) {\n let record: any;\n let called = false;\n return Observable.create((observer: Observer<any>) => {\n try {\n if (!called) {\n called = true;\n fn()\n .then((_record: any) => {\n record = _record;\n observer.next(record);\n observer.complete();\n })\n .catch((err: any) => observer.error(err));\n } else if (record) {\n observer.next(record);\n observer.complete();\n }\n } catch (err) {\n observer.error(err);\n }\n });\n }\n saveForm(form: FormioForm, options?: any): Observable<FormioForm> {\n return this.requestWrapper(() => this.formio.saveForm(form, options));\n }\n loadForm(query?: any, options?: any): Observable<FormioForm> {\n return this.requestWrapper(() => this.formio.loadForm(query, options));\n }\n loadForms(query: any, options?: any): Observable<FormioForm> {\n return this.requestWrapper(() => this.formio.loadForms(query, options));\n }\n loadSubmission(query?: any, options?: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.loadSubmission(query, options));\n }\n userPermissions(user: any, form: any, submission: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.userPermissions(user, form, submission));\n }\n deleteSubmission(data?: any, options?: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.deleteSubmission(data, options));\n }\n saveSubmission(submission: {}, options?: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.saveSubmission(submission, options));\n }\n loadSubmissions(query?: any, options?: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.loadSubmissions(query, options));\n }\n}\n","import { from } from 'rxjs';\nimport { FormioService } from './formio.service';\nimport { FormioForm } from './formio.common';\n\nexport class FormioPromiseService {\n private formioService: FormioService;\n\n constructor(public url: string, public options?: object) {\n this.formioService = new FormioService(url, options);\n }\n\n saveForm(form: FormioForm, options?: any): Promise<any> {\n return this.formioService.saveForm(form, options).toPromise();\n }\n loadForm(query?: any, options?: any): Promise<any> {\n return this.formioService.loadForm(query, options).toPromise();\n }\n loadSubmission(query?: any, options?: any): Promise<any> {\n return this.formioService.loadSubmission(query, options).toPromise();\n }\n userPermissions(user: any, form: any, submission: any): Promise<any> {\n return this.formioService.userPermissions(user, form, submission).toPromise();\n }\n deleteSubmission(data?: any, options?: any): Promise<any> {\n return this.formioService.deleteSubmission(data, options).toPromise();\n }\n loadForms(query: any, options?: any): Promise<any> {\n return this.formioService.loadForms(query, options).toPromise();\n }\n saveSubmission(submission: {}, options?: any): Promise<any> {\n return this.formioService.saveSubmission(submission, options).toPromise();\n }\n loadSubmissions(query?: any, options?: any): Promise<any> {\n return this.formioService.loadSubmissions(query, options).toPromise();\n }\n}\n","import { RouterModule } from '@angular/router';\nimport { find, trim, each, intersection } from 'lodash';\n\nexport function extendRouter(Class: any, config: any, ClassRoutes: any) {\n each(Class.decorators, decorator => {\n each(decorator.args, arg => {\n if (arg.declarations) {\n each(config, component => arg.declarations.push(component));\n }\n if (arg.imports) {\n each(arg.imports, (_import, index) => {\n if (\n (_import.ngModule && (_import.ngModule.name === 'RouterModule')) ||\n (_import.name === 'RouterModule')\n ) {\n arg.imports[index] = RouterModule.forChild(ClassRoutes(config));\n }\n });\n }\n });\n });\n return Class;\n}\n","export interface FormioAlert {\n type: string;\n message: string;\n component?: any;\n}\n\nexport class FormioAlerts {\n public alerts: FormioAlert[] = [];\n\n setAlert(alert: FormioAlert) {\n this.alerts = [alert];\n }\n\n addAlert(alert: FormioAlert) {\n this.alerts.push(alert);\n }\n\n setAlerts(alerts: FormioAlert[]) {\n this.alerts = alerts;\n }\n}\n","export enum AlertsPosition {\n none,\n top,\n bottom,\n both\n}\n","import { Injectable } from '@angular/core';\n@Injectable()\nexport class CustomTagsService {\n tags: string[] = [];\n\n addCustomTag(tag: string) {\n this.tags.push(tag);\n }\n}","import { Component, ElementRef, EventEmitter, Input, NgZone, OnChanges, OnDestroy, OnInit, Optional, Output, ViewChild } from '@angular/core';\nimport { FormioService } from './formio.service';\nimport { FormioAlerts } from './components/alerts/formio.alerts';\nimport { FormioAppConfig } from './formio.config';\nimport { FormioError, FormioForm, FormioOptions, FormioRefreshValue } from './formio.common';\nimport { assign, get, isEmpty } from 'lodash';\nimport { CustomTagsService } from './custom-tags.service';\nimport { Utils } from '@formio/js';\nimport { AlertsPosition } from './types/alerts-position';\nconst { Evaluator, fastCloneDeep } = Utils;\n\n@Component({\n template: ''\n})\nexport class FormioBaseComponent implements OnInit, OnChanges, OnDestroy {\n @Input() form?: FormioForm;\n @Input() submission?: any = {};\n @Input() src?: string;\n @Input() url?: string;\n @Input() service?: FormioService;\n @Input() options?: FormioOptions;\n @Input() noeval ? = Evaluator.noeval;\n @Input() formioOptions?: any;\n @Input() renderOptions?: any;\n @Input() readOnly ? = false;\n @Input() viewOnly ? = false;\n @Input() hideLoading ? = false;\n @Input() hideComponents?: string[];\n @Input() refresh?: EventEmitter<FormioRefreshValue>;\n @Input() error?: EventEmitter<any>;\n @Input() success?: EventEmitter<object>;\n @Input() submitDone?: EventEmitter<object>;\n @Input() language?: EventEmitter<string>;\n @Input() hooks?: any = {};\n @Input() renderer?: any;\n @Input() watchSubmissionErrors ? = false;\n @Input() dataTableActions? : any = []\n @Output() render = new EventEmitter<object>();\n @Output() customEvent = new EventEmitter<object>();\n @Output() fileUploadingStatus = new EventEmitter<string>();\n @Output() submit = new EventEmitter<object>();\n @Output() prevPage = new EventEmitter<object>();\n @Output() nextPage = new EventEmitter<object>();\n @Output() beforeSubmit = new EventEmitter<object>();\n @Output() rowAdd = new EventEmitter<any>();\n @Output() rowAdded = new EventEmitter<any>();\n @Output() rowEdit = new EventEmitter<any>();\n @Output() rowEdited = new EventEmitter<any>();\n @Output() rowDelete = new EventEmitter<any>();\n @Output() rowClick = new EventEmitter<any>();\n @Output() rowSelectChange = new EventEmitter<any>();\n @Output() page = new EventEmitter<any>();\n @Output() changeItemsPerPage = new EventEmitter<any>();\n @Output() change = new EventEmitter<object>();\n @Output() invalid = new EventEmitter<boolean>();\n @Output() errorChange = new EventEmitter<any>();\n @Output() formLoad = new EventEmitter<any>();\n @Output() submissionLoad = new EventEmitter<any>();\n @Output() ready = new EventEmitter<FormioBaseComponent>();\n @ViewChild('formio', { static: true }) formioElement?: ElementRef<any>;\n\n public AlertsPosition = AlertsPosition;\n public formio: any;\n public initialized = false;\n public alerts = new FormioAlerts();\n public formioReady: Promise<any>;\n\n private formioReadyResolve: any;\n private submitting = false;\n private submissionSuccess = false;\n public isLoading: boolean;\n public noAlerts: boolean;\n public label: string;\n\n constructor(\n public ngZone: NgZone,\n @Optional() public config: FormioAppConfig,\n @Optional() public customTags?: CustomTagsService,\n ) {\n this.isLoading = true;\n this.formioReady = new Promise((ready) => {\n this.formioReadyResolve = ready;\n });\n }\n\n getRenderer() {\n return this.renderer;\n }\n\n getRendererOptions() {\n const extraTags = this.customTags ? this.customTags.tags : [];\n return assign({}, {\n icons: get(this.config, 'icons', 'fontawesome'),\n noAlerts: get(this.options, 'noAlerts', true),\n readOnly: this.readOnly,\n viewAsHtml: this.viewOnly,\n ...(this.viewOnly && { renderMode: \"html\" }),\n i18n: get(this.options, 'i18n', null),\n fileService: get(this.options, 'fileService', null),\n hooks: this.hooks,\n sanitizeConfig: {\n addTags: extraTags\n },\n dataTableActions: this.dataTableActions\n }, this.renderOptions || {});\n }\n\n createRenderer() {\n const Renderer = this.getRenderer();\n const form = (new Renderer(\n this.formioElement ? this.formioElement.nativeElement : null,\n this.form,\n this.getRendererOptions()\n ));\n return form.instance;\n }\n\n setFormUrl(url) {\n this.formio.setUrl(url, this.formioOptions || {});\n }\n\n setForm(form: FormioForm) {\n this.form = form;\n if (this.formio) {\n this.formio.destroy();\n }\n\n if (this.form.title) {\n this.label = this.form.title;\n } else if (this.form.components && this.form.components[0]) {\n this.label = this.form.components[0].label;\n }\n\n // Clear out the element to render the new form.\n if (this.formioElement && this.formioElement.nativeElement) {\n this.formioElement.nativeElement.innerHTML = '';\n }\n this.formio = this.createRenderer();\n\n if(!this.formio) {\n return;\n }\n this.formio.setSubmission(this.submission, {\n fromSubmission: false\n });\n if (this.renderOptions && this.renderOptions.validateOnInit) {\n this.formio.setValue(this.submission, {validateOnInit: true});\n }\n if (this.url) {\n this.setFormUrl(this.url);\n }\n if (this.src) {\n this.setFormUrl(this.src);\n }\n this.formio.nosubmit = true;\n this.attachFormEvents();\n\n return this.formio.ready.then(() => {\n this.ngZone.run(() => {\n this.isLoading = false;\n this.ready.emit(this);\n this.formioReadyResolve(this.formio);\n if (this.formio.submissionReady) {\n this.formio.submissionReady.then((submission) => {\n this.submissionLoad.emit(submission);\n });\n }\n });\n return this.formio;\n });\n }\n\n attachFormEvents() {\n this.formio.on('prevPage', (data: any) => this.ngZone.run(() => this.onPrevPage(data)));\n this.formio.on('nextPage', (data: any) => this.ngZone.run(() => this.onNextPage(data)));\n this.formio.on('change', (value: any, flags: any, isModified: boolean) => this.ngZone.run(() => this.onChange(value, flags, isModified)));\n this.formio.on('rowAdd', (component: any) => this.ngZone.run(() => this.rowAdd.emit(component)));\n this.formio.on('rowAdded', (data: any, component: any) => this.ngZone.run(() => this.rowAdded.emit({component, row: data})));\n this.formio.on('rowEdit', (data: any, rowIndex: number, index: number, component: any) => this.ngZone.run(() => this.rowEdit.emit({component, row: data, rowIndex, index})));\n this.formio.on('rowEdited', (data: any, rowIndex: number, component: any) => this.ngZone.run(() => this.rowEdited.emit({component, row: data, rowIndex})));\n this.formio.on('rowDelete', (data: any, rowIndex: number, index: number, component: any) => this.ngZone.run(() => this.rowDelete.emit({component, row: data, rowIndex, index})));\n this.formio.on('rowClick', (row: any, rowIndex: number, index: number,component: any) => this.ngZone.run(() => this.rowClick.emit({component, row, rowIndex, index})));\n this.formio.on('rowSelectChange', (selectedRows: any[], component: any) => this.ngZone.run(() => this.rowSelectChange.emit({selectedRows, component})));\n this.formio.on('page', (currentPage: number, component: any) => this.ngZone.run(() => this.page.emit({currentPage, component})));\n this.formio.on('changeItemsPerPage', (itemsPerPage:number) => this.ngZone.run(() => this.changeItemsPerPage.emit({itemsPerPage})));\n this.formio.on('customEvent', (event: any) =>\n this.ngZone.run(() => this.customEvent.emit(event))\n );\n\n ['fileUploadingStart', 'fileUploadingEnd'].forEach((eventName, index) => {\n const status = !!index ? 'end' : 'start';\n this.formio.on(eventName, () =>\n this.ngZone.run(() => this.fileUploadingStatus.emit(status))\n );\n });\n\n this.formio.on('submit', (submission: any, saved: boolean) =>\n this.ngZone.run(() => this.submitForm(submission, saved))\n );\n this.formio.on('error', (err: any) => this.ngZone.run(() => {\n this.submissionSuccess = false;\n return this.onError(err);\n }));\n this.formio.on('render', () => this.ngZone.run(() => this.render.emit()));\n this.formio.on('formLoad', (loadedForm: any) =>\n this.ngZone.run(() => this.formLoad.emit(loadedForm))\n );\n }\n\n initialize() {\n if (this.initialized) {\n return;\n }\n\n const extraTags = this.customTags ? this.customTags.tags : [];\n const defaultOptions: FormioOptions = {\n errors: {\n message: 'Please fix the following errors before submitting.'\n },\n alerts: {\n submitMessage: 'Submission Complete.'\n },\n disableAlerts: false,\n hooks: {\n beforeSubmit: null\n },\n sanitizeConfig: {\n addTags: extraTags\n },\n alertsPosition: AlertsPosition.top,\n };\n this.options = Object.assign(defaultOptions, this.options);\n if (this.options.disableAlerts) {\n this.options.alertsPosition = AlertsPosition.none;\n }\n this.initialized = true;\n }\n\n ngOnInit() {\n Evaluator.noeval = this.noeval;\n this.initialize();\n\n if (this.language) {\n if (typeof this.language === 'string') {\n this.formio.language = this.language;\n } else {\n this.language.subscribe((lang: string) => {\n this.formio.language = lang;\n });\n }\n }\n\n if (this.refresh) {\n this.refresh.subscribe((refresh: FormioRefreshValue) =>\n this.onRefresh(refresh)\n );\n }\n\n if (this.error) {\n this.error.subscribe((err: any) => this.onError(err));\n }\n\n if (this.success) {\n this.success.subscribe((message: string) => {\n this.alerts.setAlert({\n type: 'success',\n message: message || get(this.options, 'alerts.submitMessage')\n });\n });\n }\n\n if (this.submitDone) {\n this.submitDone.subscribe((submission: object) => {\n this.formio.emit('submitDone', submission);\n });\n }\n\n if (this.src) {\n if (!this.service) {\n this.service = new FormioService(this.src);\n }\n this.isLoading = true;\n this.setFormFromSrc();\n }\n if (this.url && !this.service) {\n this.service = new FormioService(this.url);\n }\n }\n\n setFormFromSrc() {\n this.service.loadForm({ params: { live: 1 } }).subscribe(\n (form: FormioForm) => {\n if (form && form.components) {\n this.ngZone.runOutsideAngular(() => {\n this.setForm(form);\n });\n }\n\n // if a submission is also provided.\n if (\n isEmpty(this.submission) &&\n this.service &&\n this.service.formio.submissionId\n ) {\n this.service.loadSubmission().subscribe(\n (submission: any) => {\n if (this.readOnly) {\n this.formio.options.readOnly = true;\n }\n this.submission = this.formio.submission = submission;\n },\n err => this.onError(err)\n );\n }\n },\n err => this.onError(err)\n );\n }\n\n ngOnDestroy() {\n if (this.formio) {\n this.formio.destroy();\n }\n }\n\n onRefresh(refresh: FormioRefreshValue) {\n this.formioReady.then(() => {\n if (refresh.form) {\n this.formio.setForm(refresh.form).then(() => {\n if (refresh.submission) {\n this.formio.setSubmission(refresh.submission);\n }\n });\n } else if (refresh.submission) {\n this.formio.setSubmission(refresh.submission);\n } else {\n switch (refresh.property) {\n case 'submission':\n this.formio.submission = refresh.value;\n break;\n case 'form':\n this.formio.form = refresh.value;\n break;\n }\n }\n });\n }\n\n ngOnChanges(changes: any) {\n Evaluator.noeval = this.noeval;\n this.initialize();\n\n if (changes.form && changes.form.currentValue) {\n this.ngZone.runOutsideAngular(() => {\n this.setForm(changes.form.currentValue);\n });\n }\n\n this.formioReady.then(() => {\n if (changes.submission && changes.submission.currentValue) {\n this.formio.setSubmission(changes.submission.currentValue, {\n fromSubmission: !changes.submission.firstChange\n });\n }\n\n if (changes.hideComponents && changes.hideComponents.currentValue) {\n const hiddenComponents = changes.hideComponents.currentValue;\n this.formio.options.hide = hiddenComponents;\n this.formio.everyComponent((component) => {\n component.options.hide = hiddenComponents;\n if (hiddenComponents.includes(component.component.key)) {\n component.visible = false;\n }\n });\n }\n });\n }\n\n onPrevPage(data: any) {\n this.alerts.setAlerts([]);\n this.prevPage.emit(data);\n }\n\n onNextPage(data: any) {\n this.alerts.setAlerts([]);\n this.nextPage.emit(data);\n }\n\n onSubmit(submission: any, saved: boolean, noemit?: boolean) {\n this.submitting = false;\n this.submissionSuccess = true;\n\n this.formio.setValue(fastCloneDeep(submission), {\n noValidate: true,\n noCheck: true\n });\n\n if (saved) {\n this.formio.emit('submitDone', submission);\n }\n if (!noemit) {\n this.submit.emit(submission);\n }\n if (!this.success) {\n this.alerts.setAlert({\n type: 'success',\n message: get(this.options, 'alerts.submitMessage')\n });\n }\n }\n\n onError(err: any) {\n this.alerts.setAlerts([]);\n this.submitting = false;\n this.isLoading = false;\n\n if (!err) {\n return;\n }\n\n // Make sure it is an array.\n const errors = Array.isArray(err) ? err : [err];\n\n // Emit these errors again.\n this.errorChange.emit(errors);\n\n if (err.silent) {\n return;\n }\n\n if (this.formio && errors.length) {\n this.formio.emit('submitError', errors);\n }\n\n // Iterate through each one and set the alerts array.\n errors.forEach((error: any) => {\n const {\n message,\n paths,\n } = error\n ? error.details\n ? {\n message: error.details.map((detail) => detail.message),\n paths: error.details.map((detail) => detail.path),\n }\n : {\n message: error.message || error.toString(),\n paths: error.path ? [error.path] : [],\n }\n : {\n message: '',\n paths: [],\n };\n\n let shouldErrorDisplay = true;\n\n if (this.formio) {\n paths.forEach((path, index) => {\n const component = this.formio.getComponent(path);\n if (component) {\n const components = Array.isArray(component) ? component : [component];\n const messageText = Array.isArray(message) ? message[index] : message;\n components.forEach((comp) => comp.setCustomValidity(messageText, true));\n this.alerts.addAlert({\n type: 'danger',\n message: message[index],\n component,\n });\n shouldErrorDisplay = false;\n }\n });\n\n if ((window as any).VPAT_ENABLED) {\n if (typeof error ==='string' && this.formio.components) {\n this.formio.components.forEach((comp) => {\n if (comp && comp.type !== 'button') {\n comp.setCustomValidity(message, true);\n }\n });\n }\n }\n\n if (!this.noAlerts) {\n this.formio.showErrors();\n }\n }\n\n if (shouldErrorDisplay) {\n this.alerts.addAlert({\n type: 'danger',\n message,\n component: error.component,\n });\n }\n });\n }\n\n focusOnComponet(key: any) {\n if (this.formio) {\n this.formio.focusOnComponent(key);\n }\n }\n\n submitExecute(submission: object, saved = false) {\n if (this.service && !this.url && !saved) {\n this.service\n .saveSubmission(submission)\n .subscribe(\n (sub: {}) => this.onSubmit(sub, true),\n err => this.onError(err)\n );\n } else {\n this.onSubmit(submission, false);\n }\n }\n\n submitForm(submission: any, saved = false) {\n // Keep double submits from occurring...\n if (this.submitting) {\n return;\n }\n this.formio.setMetadata(submission);\n this.submissionSuccess = false;\n this.submitting = true;\n this.beforeSubmit.emit(submission);\n\n // if they provide a beforeSubmit hook, then allow them to alter the submission asynchronously\n // or even provide a custom Error method.\n const beforeSubmit = get(this.options, 'hooks.beforeSubmit');\n if (beforeSubmit) {\n beforeSubmit(submission, (err: FormioError, sub: object) => {\n if (err) {\n this.onError(err);\n return;\n }\n this.submitExecute(sub, saved);\n });\n } else {\n this.submitExecute(submission, saved);\n }\n }\n\n onChange(value: any, flags: any, isModified: boolean) {\n if (this.watchSubmissionErrors && !this.submissionSuccess) {\n const errors = get(this, 'formio.errors', []);\n const alerts = get(this, 'alerts.alerts', []);\n const submitted = get(this, 'formio.submitted', false);\n if (submitted && (errors.length || alerts.length)) {\n this.onError(errors);\n }\n }\n return this.change.emit({...value, flags, isModified});\n }\n}\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'formio-loader',\n styleUrls: ['./formio.loader.component.scss'],\n templateUrl: './formio.loader.component.html'\n})\nexport class FormioLoaderComponent {\n @Input() isLoading: boolean;\n}\n","<div class=\"formio-loader-wrapper\" *ngIf=\"isLoading\">\n <div class=\"formio-loader\"></div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'parseHtmlContent', pure: false })\nexport class ParseHtmlContentPipe implements PipeTransform {\n\n /*\n Some messages that are come from formiojs have hex codes. So the main aim of this pipe is transform this messages to html.\n And then render in template.\n */\n transform(content) {\n const parsedContent = new DOMParser().parseFromString(content, 'text/html').body.childNodes[0];\n\n return parsedContent?.textContent;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport { FormioAlerts } from './formio.alerts';\n\n@Component({\n selector: 'formio-alerts',\n templateUrl: './formio.alerts.component.html'\n})\nexport class FormioAlertsComponent implements OnInit {\n @Input() alerts: FormioAlerts;\n @Output() focusComponent = new EventEmitter<object>();\n ngOnInit() {\n if (!this.alerts) {\n this.alerts = new FormioAlerts();\n }\n }\n getComponent (event, alert) {\n this.focusComponent.emit(alert.component.key);\n }\n}\n","<div *ngFor=\"let alert of alerts.alerts\" class=\"alert alert-{{ alert.type }}\" role=\"alert\" (click)=\"getComponent($event, alert)\">\n {{alert.message | parseHtmlContent}}\n</div>\n","import { Component, OnInit, Optional, ViewEncapsulation, Input, NgZone, OnChanges } from '@angular/core';\nimport { FormioAppConfig } from '../../formio.config';\nimport { Formio, Form } from '@formio/js';\nimport { FormioBaseComponent } from '../../FormioBaseComponent';\nimport { CustomTagsService } from '../../custom-tags.service';\n\n/* tslint:disable */\n@Component({\n selector: 'formio',\n templateUrl: './formio.component.html',\n styleUrls: ['../../../../../node_modules/@formio/js/dist/formio.form.min.css'],\n encapsulation: ViewEncapsulation.None,\n})\n/* tslint:enable */\nexport class FormioComponent extends FormioBaseComponent implements OnInit, OnChanges {\n constructor(\n public ngZone: NgZone,\n @Optional() public config: FormioAppConfig,\n @Optional() public customTags?: CustomTagsService,\n ) {\n super(ngZone, config, customTags);\n if (this.config) {\n Formio.setBaseUrl(this.config.apiUrl);\n Formio.setProjectUrl(this.config.appUrl);\n } else {\n console.warn('You must provide an AppConfig within your application!');\n }\n }\n\n getRenderer() {\n return this.renderer || Form;\n }\n}\n","<div role=\"form\" [attr.aria-label]=\"label\">\n <div *ngIf=\"isLoading && !hideLoading\" style=\"position:relative;height:200px\">\n <formio-loader [isLoading]=\"isLoading\"></formio-loader>\n </div>\n <formio-alerts *ngIf=\"this.options.alertsPosition === AlertsPosition.top || this.options.alertsPosition === AlertsPosition.both\" (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n <div #formio></div>\n <formio-alerts *ngIf=\"this.options.alertsPosition === AlertsPosition.bottom || this.options.alertsPosition === AlertsPosition.both\" (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n</div>\n","import {\n Component,\n Input,\n OnInit,\n OnChanges,\n OnDestroy,\n ViewEncapsulation,\n Optional,\n ElementRef,\n ViewChild,\n EventEmitter,\n Output,\n NgZone\n} from '@angular/core';\nimport { FormioAppConfig } from '../../formio.config';\nimport {\n FormioForm,\n FormioOptions\n} from '../../formio.common';\nimport { Formio, FormBuilder, Utils } from '@formio/js';\nimport { assign } from 'lodash';\nimport { Observable, Subscription } from 'rxjs';\nimport { CustomTagsService } from '../../custom-tags.service';\n\n/* tslint:disable */\n@Component({\n selector: 'form-builder',\n templateUrl: './formbuilder.component.html',\n styleUrls: ['../../../../../node_modules/@formio/js/dist/formio.builder.min.css'],\n encapsulation: ViewEncapsulation.None\n})\n/* tslint:enable */\nexport class FormBuilderComponent implements OnInit, OnChanges, OnDestroy {\n public ready: Promise<object>;\n public readyResolve: any;\n public formio: any;\n public builder: FormBuilder;\n public componentAdding = false;\n private refreshSubscription: Subscription;\n @Input() form?: FormioForm;\n @Input() options?: FormioOptions;\n @Input() formbuilder?: any;\n @Input() noeval ? = false;\n @Input() refresh?: Observable<void>;\n @Input() rebuild?: Observable<object>;\n @Output() change: EventEmitter<object>;\n @ViewChild('builder', { static: true }) builderElement?: ElementRef<any>;\n\n constructor(\n private ngZone: NgZone,\n @Optional() private config: FormioAppConfig,\n @Optional() private customTags?: CustomTagsService\n ) {\n if (this.config) {\n Formio.setBaseUrl(this.config.apiUrl);\n Formio.setProjectUrl(this.config.appUrl);\n } else {\n console.warn('You must provide an AppConfig within your application!');\n }\n\n this.change = new EventEmitter();\n this.ready = new Promise((resolve: any) => {\n this.readyResolve = resolve;\n });\n }\n\n ngOnInit() {\n Utils.Evaluator.noeval = this.noeval;\n\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.ngZone.runOutsideAngular(() => {\n this.buildForm(this.form);\n });\n });\n }\n\n if (this.rebuild) {\n this.rebuild.subscribe((options) => {\n this.ngZone.runOutsideAngular(() => {\n this.rebuildForm(this.form, options);\n });\n });\n }\n }\n\n setInstance(instance: any) {\n this.formio = instance;\n instance.off('addComponent');\n instance.off('saveComponent');\n instance.off('updateComponent');\n instance.off('removeComponent');\n instance.on('addComponent', (component, parent, path, index, isNew) => {\n this.ngZone.run(() => {\n if (isNew) {\n this.componentAdding = true;\n } else {\n this.change.emit({\n type: 'addComponent',\n builder: instance,\n form: instance.schema,\n component: component,\n parent: parent,\n path: path,\n index: index\n });\n this.componentAdding = false;\n }\n });\n });\n instance.on('saveComponent', (component, original, parent, path, index, isNew) => {\n this.ngZone.run(() => {\n this.change.emit({\n type: this.componentAdding ? 'addComponent' : 'saveComponent',\n builder: instance,\n form: instance.schema,\n component: component,\n originalComponent: original,\n parent: parent,\n path: path,\n index: index,\n isNew: isNew || false\n });\n this.componentAdding = false;\n });\n });\n instance.on('updateComponent', (component) => {\n this.ngZone.run(() => {\n this.change.emit({\n type: 'updateComponent',\n builder: instance,\n form: instance.schema,\n component: component\n });\n });\n });\n instance.on('removeComponent', (component, parent, path, index) => {\n this.ngZone.run(() => {\n this.change.emit({\n type: 'deleteComponent',\n builder: instance,\n form: instance.schema,\n component: component,\n parent: parent,\n path: path,\n index: index\n });\n });\n });\n this.ngZone.run(() => {\n this.readyResolve(instance);\n });\n return instance;\n }\n\n setDisplay(display: String, prevDisplay?: string) {\n if (display && display !== prevDisplay) {\n (this.builder as any).setDisplay(display);\n }\n }\n\n buildForm(form: any, prevForm?: any) {\n if (!form || !this.builderElement || !this.builderElement.nativeElement) {\n return;\n }\n\n if (this.builder) {\n this.setDisplay(form.display, prevForm?.display);\n this.setInstance(this.builder.instance);\n this.builder.form = form;\n this.builder.instance.form = form;\n return this.builder.instance;\n }\n\n return this.rebuildForm(form);\n }\n\n rebuildForm(form: any, options?: object) {\n const Builder = this.formbuilder || FormBuilder;\n const extraTags = this.customTags ? this.customTags.tags : [];\n this.builder = new Builder(\n this.builderElement.nativeElement,\n form,\n assign({\n icons: 'fontawesome',\n sanitizeConfig: {\n addTags: extraTags\n }\n }, options || this.options || {})\n );\n return this.builder.ready.then(instance => this.setInstance(instance));\n }\n\n ngOnChanges(changes: any) {\n Utils.Evaluator.noeval = this.noeval;\n\n if (changes.form && changes.form.currentValue) {\n this.ngZone.runOutsideAngular(() => {\n this.buildForm(changes.form.currentValue || {components: []}, changes.form.previousValue);\n });\n }\n }\n\n ngOnDestroy() {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n\n if (this.formio) {\n this.formio.destroy();\n }\n }\n}\n","<div #builder></div>\n","import { Component, OnInit, ViewEncapsulation, Input, OnChanges, ViewChild, ElementRef, EventEmitter, Output } from '@angular/core';\nimport { Formio } from '@formio/js';\nimport { FormioComponent } from '../formio/formio.component';\nimport { FormioReport } from '../../formio.common';\n\n/* tslint:disable */\n@Component({\n selector: 'formio-report',\n templateUrl: './formioreport.component.html',\n styleUrls: ['../../../../../node_modules/@formio/js/dist/formio.form.min.css'],\n encapsulation: ViewEncapsulation.None,\n})\n/* tslint:enable */\nexport class FormioReportComponent extends FormioComponent implements OnInit, OnChanges {\n @Input() report?: FormioReport;\n @Input() projectEndpoint?: string;\n @Output() fetchDataError = new EventEmitter<any>();\n @ViewChild('report', { static: true }) declare formioElement?: ElementRef<any>;\n\n public isReportLoading: boolean;\n\n setFormFromSrc() {\n this.service.loadSubmission({ params: { live: 1 } }).subscribe(\n (report: FormioReport) => {\n this.report = report;\n if (report && report.data) {\n this.ngZone.runOutsideAngular(() => {\n this.setForm({ components: [], report });\n this.isReportLoading = false;\n });\n }\n },\n err => this.onError(err)\n );\n }\n\n setFormUrl(url) {\n return;\n }\n\n ngOnChanges(changes: any) {\n super.ngOnChanges(changes)\n\n if (changes.report && changes.report.currentValue) {\n this.ngZone.runOutsideAngular(() => {\n this.setForm({ report: changes.report.currentValue, components: [] });\n this.isReportLoading = false;\n });\n }\n }\n\n getRendererOptions() {\n const projectEndpoint = this.projectEndpoint || this.config?.appUrl || this.service?.formio?.projectUrl;\n\n if (!projectEndpoint && !this.src) {\n console.warn('The projectEndpoint url is required to render the Report using JSON schema.');\n }\n return {\n projectEndpoint,\n ...super.getRendererOptions(),\n }\n }\n createRenderer() {\n const Renderer = this.getRenderer();\n if (!Renderer) {\n return null;\n }\n\n const form = (new Renderer(\n this.formioElement ? this.formioElement.nativeElement : null,\n this.report,\n this.getRendererOptions()\n ));\n return form.instance;\n }\n \n attachFormEvents() {\n this.formio.on('fetchDataError', (error: any, component: any) => this.ngZone.run(() => {\n this.alerts.addAlert({\n type: 'danger',\n message: error ? JSON.stringify(error) : error,\n });\n this.fetchDataError.emit({error, component});\n }));\n }\n\n getRenderer() {\n const reportRenderer = (Formio as any).Report;\n if (!reportRenderer) {\n console.error('Report is not found in Formio. Please make sure that you are using the Formio Reporting module and it is correctly included in your application.');\n }\n\n return reportRenderer;\n }\n}\n","<div role=\"form\" [attr.aria-label]=\"label\">\n <div *ngIf=\"isReportLoading && !hideLoading\" style=\"position:relative;height:200px\">\n <formio-loader [isLoading]=\"isReportLoading\"></formio-loader>\n </div>\n <formio-alerts *ngIf=\"this.options.alertsPosition === AlertsPosition.top || this.options.alertsPosition === AlertsPosition.both\" (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n <div #report></div>\n <formio-alerts *ngIf=\"this.options.alertsPosition === AlertsPosition.bottom || this.options.alertsPosition === AlertsPosition.both\" (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormioComponent } from './components/formio/formio.component';\nimport { FormioReportComponent } from './components/formioreport/formioreport.component';\nimport { FormBuilderComponent } from './components/formbuilder/formbuilder.component';\nimport { FormioAlerts } from './components/alerts/formio.alerts';\nimport { ParseHtmlContentPipe } from './components/alerts/parse-html-content.pipe';\nimport { FormioAlertsComponent } from './components/alerts/formio.alerts.component';\nimport { FormioLoaderComponent } from './components/loader/formio.loader.component';\nimport { CustomTagsService } from './custom-tags.service';\nimport { FormioBaseComponent } from './FormioBaseComponent';\n\n@NgModule({\n declarations: [\n FormioComponent,\n FormioReportComponent,\n FormioBaseComponent,\n FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent,\n ParseHtmlContentPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n FormioComponent,\n FormioReportComponent,\n FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent\n ],\n providers: [\n FormioAlerts,\n CustomTagsService\n ]\n})\nexport class FormioModule {}\n","if (window && typeof (window as any).global === 'undefined') {\n (window as any).global = window;\n}\nexport * from './formio.config';\nexport * from './formio.common';\nexport * from './formio.service';\nexport * from './formio-promise.service';\nexport * from './formio.utils';\nexport * from './FormioBaseComponent';\nexport * from './components/formio/formio.component';\nexport * from './components/formbuilder/formbuilder.component';\nexport * from './components/formioreport/formioreport.component';\nexport * from './components/loader/formio.loader.component';\nexport * from './components/alerts/formio.alerts';\nexport * from './components/alerts/formio.alerts.component';\nexport { FormioModule } from './formio.module';\nexport { ComponentSchema, ExtendedComponentSchema, ElementInfo } from '@formio/deprecated-types';\nexport { Utils as FormioUtils } from '@formio/js';\nexport { Formio } from '@formio/js';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Formio","i1.FormioAppConfig","i2.CustomTagsService","i2.ParseHtmlContentPipe","i3","i4.FormioLoaderComponent","i5.FormioAlertsComponent","i2.FormioLoaderComponent","i3.FormioAlertsComponent"],"mappings":"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"}
1
+ {"version":3,"file":"formio-angular.mjs","sources":["../../../projects/angular-formio/src/formio.config.ts","../../../projects/angular-formio/src/formio.common.ts","../../../projects/angular-formio/src/formio.service.ts","../../../projects/angular-formio/src/formio-promise.service.ts","../../../projects/angular-formio/src/formio.utils.ts","../../../projects/angular-formio/src/components/alerts/formio.alerts.ts","../../../projects/angular-formio/src/types/alerts-position.ts","../../../projects/angular-formio/src/custom-tags.service.ts","../../../projects/angular-formio/src/FormioBaseComponent.ts","../../../projects/angular-formio/src/components/loader/formio.loader.component.ts","../../../projects/angular-formio/src/components/loader/formio.loader.component.html","../../../projects/angular-formio/src/components/alerts/parse-html-content.pipe.ts","../../../projects/angular-formio/src/components/alerts/formio.alerts.component.ts","../../../projects/angular-formio/src/components/alerts/formio.alerts.component.html","../../../projects/angular-formio/src/components/formio/formio.component.ts","../../../projects/angular-formio/src/components/formio/formio.component.html","../../../projects/angular-formio/src/components/formbuilder/formbuilder.component.ts","../../../projects/angular-formio/src/components/formbuilder/formbuilder.component.html","../../../projects/angular-formio/src/components/formioreport/formioreport.component.ts","../../../projects/angular-formio/src/components/formioreport/formioreport.component.html","../../../projects/angular-formio/src/formio.module.ts","../../../projects/angular-formio/src/core.ts","../../../projects/angular-formio/src/formio-angular.ts"],"sourcesContent":["import { Injectable, OnInit } from '@angular/core';\nimport { Formio } from '@formio/js';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormioAppConfig implements OnInit {\n [x: string]: any;\n appUrl = '';\n apiUrl = '';\n icons?: string;\n formOnly?: boolean;\n formio?: Formio;\n ngOnInit(): void {\n if (this.apiUrl) {\n Formio.setBaseUrl(this.apiUrl);\n Formio.setProjectUrl(this.appUrl);\n this.formio = new Formio(this.appUrl);\n }\n }\n}\n","import { ExtendedComponentSchema, ValidateOptions } from '@formio/deprecated-types';\nimport { AlertsPosition } from './types/alerts-position';\n\nexport interface ComponentOptions<T = any, V extends ValidateOptions = ValidateOptions> extends ExtendedComponentSchema<T> {\n validate?: V;\n}\n\nexport interface FormioRefreshValue {\n property?: string;\n value?: object;\n form?: object;\n submission?: object;\n}\n\nexport interface AccessSetting {\n type: string;\n roles: string[];\n}\n\nexport interface FormioReport {\n form: string,\n roles: object,\n access: object,\n metadata: object,\n data: object,\n project: string,\n}\n\nexport interface FormioForm {\n title?: string;\n display?: string;\n name?: string;\n path?: string;\n type?: string;\n project?: string;\n template?: string;\n components?: ExtendedComponentSchema[];\n tags?: string[];\n access?: AccessSetting[];\n submissionAccess?: AccessSetting[];\n report?: FormioReport\n}\n\nexport interface ComponentInstance {\n component: ExtendedComponentSchema;\n id: string;\n type: string;\n asString?(value: any): string;\n getView(value: any): string;\n}\n\nexport interface AlertsOptions {\n submitMessage: string;\n}\n\nexport interface ErrorsOptions {\n message: string;\n}\n\nexport class FormioError {\n constructor(\n public message: string,\n public component: ExtendedComponentSchema,\n public silent?: boolean,\n ) {}\n}\n\nexport type FormioSubmissionCallback = (\n error: FormioError,\n submission: object\n) => void;\nexport type FormioBeforeSubmit = (\n submission: object,\n callback: FormioSubmissionCallback\n) => void;\n\nexport interface FormioHookOptions {\n beforeSubmit: FormioBeforeSubmit;\n}\n\nexport interface FormioOptions {\n errors?: ErrorsOptions;\n alerts?: AlertsOptions;\n alertsPosition?: AlertsPosition;\n disableAlerts?: boolean;\n i18n?: object;\n fileService?: object;\n hooks?: FormioHookOptions;\n sanitizeConfig?: any;\n}\n","import { Observable, Observer } from 'rxjs';\nimport { FormioForm } from './formio.common';\nimport { FormioCore as Formio } from '@formio/js';\n\nexport class FormioService {\n public formio: any;\n constructor(public url: string, public options?: object) {\n this.formio = new Formio(this.url, this.options);\n }\n requestWrapper(fn: any) {\n let record: any;\n let called = false;\n return Observable.create((observer: Observer<any>) => {\n try {\n if (!called) {\n called = true;\n fn()\n .then((_record: any) => {\n record = _record;\n observer.next(record);\n observer.complete();\n })\n .catch((err: any) => observer.error(err));\n } else if (record) {\n observer.next(record);\n observer.complete();\n }\n } catch (err) {\n observer.error(err);\n }\n });\n }\n saveForm(form: FormioForm, options?: any): Observable<FormioForm> {\n return this.requestWrapper(() => this.formio.saveForm(form, options));\n }\n loadForm(query?: any, options?: any): Observable<FormioForm> {\n return this.requestWrapper(() => this.formio.loadForm(query, options));\n }\n loadForms(query: any, options?: any): Observable<FormioForm> {\n return this.requestWrapper(() => this.formio.loadForms(query, options));\n }\n loadSubmission(query?: any, options?: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.loadSubmission(query, options));\n }\n userPermissions(user: any, form: any, submission: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.userPermissions(user, form, submission));\n }\n deleteSubmission(data?: any, options?: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.deleteSubmission(data, options));\n }\n saveSubmission(submission: {}, options?: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.saveSubmission(submission, options));\n }\n loadSubmissions(query?: any, options?: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.loadSubmissions(query, options));\n }\n}\n","import { from } from 'rxjs';\nimport { FormioService } from './formio.service';\nimport { FormioForm } from './formio.common';\n\nexport class FormioPromiseService {\n private formioService: FormioService;\n\n constructor(public url: string, public options?: object) {\n this.formioService = new FormioService(url, options);\n }\n\n saveForm(form: FormioForm, options?: any): Promise<any> {\n return this.formioService.saveForm(form, options).toPromise();\n }\n loadForm(query?: any, options?: any): Promise<any> {\n return this.formioService.loadForm(query, options).toPromise();\n }\n loadSubmission(query?: any, options?: any): Promise<any> {\n return this.formioService.loadSubmission(query, options).toPromise();\n }\n userPermissions(user: any, form: any, submission: any): Promise<any> {\n return this.formioService.userPermissions(user, form, submission).toPromise();\n }\n deleteSubmission(data?: any, options?: any): Promise<any> {\n return this.formioService.deleteSubmission(data, options).toPromise();\n }\n loadForms(query: any, options?: any): Promise<any> {\n return this.formioService.loadForms(query, options).toPromise();\n }\n saveSubmission(submission: {}, options?: any): Promise<any> {\n return this.formioService.saveSubmission(submission, options).toPromise();\n }\n loadSubmissions(query?: any, options?: any): Promise<any> {\n return this.formioService.loadSubmissions(query, options).toPromise();\n }\n}\n","import { RouterModule } from '@angular/router';\nimport { find, trim, each, intersection } from 'lodash';\n\nexport function extendRouter(Class: any, config: any, ClassRoutes: any) {\n each(Class.decorators, decorator => {\n each(decorator.args, arg => {\n if (arg.declarations) {\n each(config, component => arg.declarations.push(component));\n }\n if (arg.imports) {\n each(arg.imports, (_import, index) => {\n if (\n (_import.ngModule && (_import.ngModule.name === 'RouterModule')) ||\n (_import.name === 'RouterModule')\n ) {\n arg.imports[index] = RouterModule.forChild(ClassRoutes(config));\n }\n });\n }\n });\n });\n return Class;\n}\n","export interface FormioAlert {\n type: string;\n message: string;\n component?: any;\n}\n\nexport class FormioAlerts {\n public alerts: FormioAlert[] = [];\n\n setAlert(alert: FormioAlert) {\n this.alerts = [alert];\n }\n\n addAlert(alert: FormioAlert) {\n this.alerts.push(alert);\n }\n\n setAlerts(alerts: FormioAlert[]) {\n this.alerts = alerts;\n }\n}\n","export enum AlertsPosition {\n none,\n top,\n bottom,\n both\n}\n","import { Injectable } from '@angular/core';\n@Injectable()\nexport class CustomTagsService {\n tags: string[] = [];\n\n addCustomTag(tag: string) {\n this.tags.push(tag);\n }\n}","import { Component, ElementRef, EventEmitter, Input, NgZone, OnChanges, OnDestroy, OnInit, Optional, Output, ViewChild } from '@angular/core';\nimport { FormioService } from './formio.service';\nimport { FormioAlerts } from './components/alerts/formio.alerts';\nimport { FormioAppConfig } from './formio.config';\nimport { FormioError, FormioForm, FormioOptions, FormioRefreshValue } from './formio.common';\nimport { assign, get, isEmpty } from 'lodash';\nimport { CustomTagsService } from './custom-tags.service';\nimport { Utils } from '@formio/js';\nimport { AlertsPosition } from './types/alerts-position';\nconst { Evaluator, fastCloneDeep } = Utils;\n\n@Component({\n template: ''\n})\nexport class FormioBaseComponent implements OnInit, OnChanges, OnDestroy {\n @Input() form?: FormioForm;\n @Input() submission?: any = {};\n @Input() src?: string;\n @Input() url?: string;\n @Input() service?: FormioService;\n @Input() options?: FormioOptions;\n @Input() noeval ? = Evaluator.noeval;\n @Input() formioOptions?: any;\n @Input() renderOptions?: any;\n @Input() readOnly ? = false;\n @Input() viewOnly ? = false;\n @Input() hideLoading ? = false;\n @Input() hideComponents?: string[];\n @Input() refresh?: EventEmitter<FormioRefreshValue>;\n @Input() error?: EventEmitter<any>;\n @Input() success?: EventEmitter<object>;\n @Input() submitDone?: EventEmitter<object>;\n @Input() language?: EventEmitter<string>;\n @Input() hooks?: any = {};\n @Input() renderer?: any;\n @Input() watchSubmissionErrors ? = false;\n @Input() dataTableActions? : any = []\n @Output() render = new EventEmitter<object>();\n @Output() customEvent = new EventEmitter<object>();\n @Output() fileUploadingStatus = new EventEmitter<string>();\n @Output() submit = new EventEmitter<object>();\n @Output() prevPage = new EventEmitter<object>();\n @Output() nextPage = new EventEmitter<object>();\n @Output() beforeSubmit = new EventEmitter<object>();\n @Output() rowAdd = new EventEmitter<any>();\n @Output() rowAdded = new EventEmitter<any>();\n @Output() rowEdit = new EventEmitter<any>();\n @Output() rowEdited = new EventEmitter<any>();\n @Output() rowDelete = new EventEmitter<any>();\n @Output() rowClick = new EventEmitter<any>();\n @Output() rowSelectChange = new EventEmitter<any>();\n @Output() page = new EventEmitter<any>();\n @Output() changeItemsPerPage = new EventEmitter<any>();\n @Output() change = new EventEmitter<object>();\n @Output() invalid = new EventEmitter<boolean>();\n @Output() errorChange = new EventEmitter<any>();\n @Output() formLoad = new EventEmitter<any>();\n @Output() submissionLoad = new EventEmitter<any>();\n @Output() ready = new EventEmitter<FormioBaseComponent>();\n @ViewChild('formio', { static: true }) formioElement?: ElementRef<any>;\n\n public AlertsPosition = AlertsPosition;\n public formio: any;\n public initialized = false;\n public alerts = new FormioAlerts();\n public formioReady: Promise<any>;\n\n private formioReadyResolve: any;\n private submitting = false;\n private submissionSuccess = false;\n public isLoading: boolean;\n public noAlerts: boolean;\n public label: string;\n\n constructor(\n public ngZone: NgZone,\n @Optional() public config: FormioAppConfig,\n @Optional() public customTags?: CustomTagsService,\n ) {\n this.isLoading = true;\n this.formioReady = new Promise((ready) => {\n this.formioReadyResolve = ready;\n });\n }\n\n getRenderer() {\n return this.renderer;\n }\n\n getRendererOptions() {\n const extraTags = this.customTags ? this.customTags.tags : [];\n return assign({}, {\n icons: get(this.config, 'icons', 'fontawesome'),\n noAlerts: get(this.options, 'noAlerts', true),\n readOnly: this.readOnly,\n viewAsHtml: this.viewOnly,\n ...(this.viewOnly && { renderMode: \"html\" }),\n i18n: get(this.options, 'i18n', null),\n fileService: get(this.options, 'fileService', null),\n hooks: this.hooks,\n sanitizeConfig: {\n addTags: extraTags\n },\n dataTableActions: this.dataTableActions\n }, this.renderOptions || {});\n }\n\n createRenderer() {\n const Renderer = this.getRenderer();\n const form = (new Renderer(\n this.formioElement ? this.formioElement.nativeElement : null,\n this.form,\n this.getRendererOptions()\n ));\n return form.instance;\n }\n\n setFormUrl(url) {\n this.formio.setUrl(url, this.formioOptions || {});\n }\n\n setForm(form: FormioForm) {\n this.form = form;\n if (this.formio) {\n this.formio.destroy();\n }\n\n if (this.form.title) {\n this.label = this.form.title;\n } else if (this.form.components && this.form.components[0]) {\n this.label = this.form.components[0].label;\n }\n\n // Clear out the element to render the new form.\n if (this.formioElement && this.formioElement.nativeElement) {\n this.formioElement.nativeElement.innerHTML = '';\n }\n this.formio = this.createRenderer();\n\n if(!this.formio) {\n return;\n }\n this.formio.setSubmission(this.submission, {\n fromSubmission: false\n });\n if (this.renderOptions && this.renderOptions.validateOnInit) {\n this.formio.setValue(this.submission, {validateOnInit: true});\n }\n if (this.url) {\n this.setFormUrl(this.url);\n }\n if (this.src) {\n this.setFormUrl(this.src);\n }\n this.formio.nosubmit = true;\n this.attachFormEvents();\n\n return this.formio.ready.then(() => {\n this.ngZone.run(() => {\n this.isLoading = false;\n this.ready.emit(this);\n this.formioReadyResolve(this.formio);\n if (this.formio.submissionReady) {\n this.formio.submissionReady.then((submission) => {\n this.submissionLoad.emit(submission);\n });\n }\n });\n return this.formio;\n });\n }\n\n attachFormEvents() {\n this.formio.on('prevPage', (data: any) => this.ngZone.run(() => this.onPrevPage(data)));\n this.formio.on('nextPage', (data: any) => this.ngZone.run(() => this.onNextPage(data)));\n this.formio.on('change', (value: any, flags: any, isModified: boolean) => this.ngZone.run(() => this.onChange(value, flags, isModified)));\n this.formio.on('rowAdd', (component: any) => this.ngZone.run(() => this.rowAdd.emit(component)));\n this.formio.on('rowAdded', (data: any, component: any) => this.ngZone.run(() => this.rowAdded.emit({component, row: data})));\n this.formio.on('rowEdit', (data: any, rowIndex: number, index: number, component: any) => this.ngZone.run(() => this.rowEdit.emit({component, row: data, rowIndex, index})));\n this.formio.on('rowEdited', (data: any, rowIndex: number, component: any) => this.ngZone.run(() => this.rowEdited.emit({component, row: data, rowIndex})));\n this.formio.on('rowDelete', (data: any, rowIndex: number, index: number, component: any) => this.ngZone.run(() => this.rowDelete.emit({component, row: data, rowIndex, index})));\n this.formio.on('rowClick', (row: any, rowIndex: number, index: number,component: any) => this.ngZone.run(() => this.rowClick.emit({component, row, rowIndex, index})));\n this.formio.on('rowSelectChange', (selectedRows: any[], component: any) => this.ngZone.run(() => this.rowSelectChange.emit({selectedRows, component})));\n this.formio.on('page', (currentPage: number, component: any) => this.ngZone.run(() => this.page.emit({currentPage, component})));\n this.formio.on('changeItemsPerPage', (itemsPerPage:number) => this.ngZone.run(() => this.changeItemsPerPage.emit({itemsPerPage})));\n this.formio.on('customEvent', (event: any) =>\n this.ngZone.run(() => this.customEvent.emit(event))\n );\n\n ['fileUploadingStart', 'fileUploadingEnd'].forEach((eventName, index) => {\n const status = !!index ? 'end' : 'start';\n this.formio.on(eventName, () =>\n this.ngZone.run(() => this.fileUploadingStatus.emit(status))\n );\n });\n\n this.formio.on('submit', (submission: any, saved: boolean) =>\n this.ngZone.run(() => this.submitForm(submission, saved))\n );\n this.formio.on('error', (err: any) => this.ngZone.run(() => {\n this.submissionSuccess = false;\n return this.onError(err);\n }));\n this.formio.on('render', () => this.ngZone.run(() => this.render.emit()));\n this.formio.on('formLoad', (loadedForm: any) =>\n this.ngZone.run(() => this.formLoad.emit(loadedForm))\n );\n }\n\n initialize() {\n if (this.initialized) {\n return;\n }\n\n const extraTags = this.customTags ? this.customTags.tags : [];\n const defaultOptions: FormioOptions = {\n errors: {\n message: 'Please fix the following errors before submitting.'\n },\n alerts: {\n submitMessage: 'Submission Complete.'\n },\n disableAlerts: false,\n hooks: {\n beforeSubmit: null\n },\n sanitizeConfig: {\n addTags: extraTags\n },\n alertsPosition: AlertsPosition.top,\n };\n this.options = Object.assign(defaultOptions, this.options);\n if (this.options.disableAlerts) {\n this.options.alertsPosition = AlertsPosition.none;\n }\n this.initialized = true;\n }\n\n ngOnInit() {\n Evaluator.noeval = this.noeval;\n this.initialize();\n\n if (this.language) {\n if (typeof this.language === 'string') {\n this.formio.language = this.language;\n } else {\n this.language.subscribe((lang: string) => {\n this.formio.language = lang;\n });\n }\n }\n\n if (this.refresh) {\n this.refresh.subscribe((refresh: FormioRefreshValue) =>\n this.onRefresh(refresh)\n );\n }\n\n if (this.error) {\n this.error.subscribe((err: any) => this.onError(err));\n }\n\n if (this.success) {\n this.success.subscribe((message: string) => {\n this.alerts.setAlert({\n type: 'success',\n message: message || get(this.options, 'alerts.submitMessage')\n });\n });\n }\n\n if (this.submitDone) {\n this.submitDone.subscribe((submission: object) => {\n this.formio.emit('submitDone', submission);\n });\n }\n\n if (this.src) {\n if (!this.service) {\n this.service = new FormioService(this.src);\n }\n this.isLoading = true;\n this.setFormFromSrc();\n }\n if (this.url && !this.service) {\n this.service = new FormioService(this.url);\n }\n }\n\n setFormFromSrc() {\n this.service.loadForm({ params: { live: 1 } }).subscribe(\n (form: FormioForm) => {\n if (form && form.components) {\n this.ngZone.runOutsideAngular(() => {\n this.setForm(form);\n });\n }\n\n // if a submission is also provided.\n if (\n isEmpty(this.submission) &&\n this.service &&\n this.service.formio.submissionId\n ) {\n this.service.loadSubmission().subscribe(\n (submission: any) => {\n if (this.readOnly) {\n this.formio.options.readOnly = true;\n }\n this.submission = this.formio.submission = submission;\n },\n err => this.onError(err)\n );\n }\n },\n err => this.onError(err)\n );\n }\n\n ngOnDestroy() {\n if (this.formio) {\n this.formio.destroy();\n }\n }\n\n onRefresh(refresh: FormioRefreshValue) {\n this.formioReady.then(() => {\n if (refresh.form) {\n this.formio.setForm(refresh.form).then(() => {\n if (refresh.submission) {\n this.formio.setSubmission(refresh.submission);\n }\n });\n } else if (refresh.submission) {\n this.formio.setSubmission(refresh.submission);\n } else {\n switch (refresh.property) {\n case 'submission':\n this.formio.submission = refresh.value;\n break;\n case 'form':\n this.formio.form = refresh.value;\n break;\n }\n }\n });\n }\n\n ngOnChanges(changes: any) {\n Evaluator.noeval = this.noeval;\n this.initialize();\n\n if (changes.form && changes.form.currentValue) {\n this.ngZone.runOutsideAngular(() => {\n this.setForm(changes.form.currentValue);\n });\n }\n\n this.formioReady.then(() => {\n if (changes.submission && changes.submission.currentValue) {\n this.formio.setSubmission(changes.submission.currentValue, {\n fromSubmission: !changes.submission.firstChange\n });\n }\n\n if (changes.hideComponents && changes.hideComponents.currentValue) {\n const hiddenComponents = changes.hideComponents.currentValue;\n this.formio.options.hide = hiddenComponents;\n this.formio.everyComponent((component) => {\n component.options.hide = hiddenComponents;\n if (hiddenComponents.includes(component.component.key)) {\n component.visible = false;\n }\n });\n }\n });\n }\n\n onPrevPage(data: any) {\n this.alerts.setAlerts([]);\n this.prevPage.emit(data);\n }\n\n onNextPage(data: any) {\n this.alerts.setAlerts([]);\n this.nextPage.emit(data);\n }\n\n onSubmit(submission: any, saved: boolean, noemit?: boolean) {\n this.submitting = false;\n this.submissionSuccess = true;\n\n this.formio.setValue(fastCloneDeep(submission), {\n noValidate: true,\n noCheck: true\n });\n\n if (saved) {\n this.formio.emit('submitDone', submission);\n }\n if (!noemit) {\n this.submit.emit(submission);\n }\n if (!this.success) {\n this.alerts.setAlert({\n type: 'success',\n message: get(this.options, 'alerts.submitMessage')\n });\n }\n }\n\n onError(err: any) {\n this.alerts.setAlerts([]);\n this.submitting = false;\n this.isLoading = false;\n\n if (!err) {\n return;\n }\n\n // Make sure it is an array.\n const errors = Array.isArray(err) ? err : [err];\n\n // Emit these errors again.\n this.errorChange.emit(errors);\n\n if (err.silent) {\n return;\n }\n\n if (this.formio && errors.length) {\n this.formio.emit('submitError', errors);\n }\n\n // Iterate through each one and set the alerts array.\n errors.forEach((error: any) => {\n const {\n message,\n paths,\n } = error\n ? error.details\n ? {\n message: error.details.map((detail) => detail.message),\n paths: error.details.map((detail) => detail.path),\n }\n : {\n message: error.message || error.toString(),\n paths: error.path ? [error.path] : [],\n }\n : {\n message: '',\n paths: [],\n };\n\n let shouldErrorDisplay = true;\n\n if (this.formio) {\n paths.forEach((path, index) => {\n const component = this.formio.getComponent(path);\n if (component) {\n const components = Array.isArray(component) ? component : [component];\n const messageText = Array.isArray(message) ? message[index] : message;\n components.forEach((comp) => comp.setCustomValidity(messageText, true));\n this.alerts.addAlert({\n type: 'danger',\n message: message[index],\n component,\n });\n shouldErrorDisplay = false;\n }\n });\n\n if ((window as any).VPAT_ENABLED) {\n if (typeof error ==='string' && this.formio.components) {\n this.formio.components.forEach((comp) => {\n if (comp && comp.type !== 'button') {\n comp.setCustomValidity(message, true);\n }\n });\n }\n }\n\n if (!this.noAlerts) {\n this.formio.showErrors();\n }\n }\n\n if (shouldErrorDisplay) {\n this.alerts.addAlert({\n type: 'danger',\n message,\n component: error.component,\n });\n }\n });\n }\n\n focusOnComponet(key: any) {\n if (this.formio) {\n this.formio.focusOnComponent(key);\n }\n }\n\n submitExecute(submission: object, saved = false) {\n if (this.service && !this.url && !saved) {\n this.service\n .saveSubmission(submission)\n .subscribe(\n (sub: {}) => this.onSubmit(sub, true),\n err => this.onError(err)\n );\n } else {\n this.onSubmit(submission, false);\n }\n }\n\n submitForm(submission: any, saved = false) {\n // Keep double submits from occurring...\n if (this.submitting) {\n return;\n }\n this.formio.setMetadata(submission);\n this.submissionSuccess = false;\n this.submitting = true;\n this.beforeSubmit.emit(submission);\n\n // if they provide a beforeSubmit hook, then allow them to alter the submission asynchronously\n // or even provide a custom Error method.\n const beforeSubmit = get(this.options, 'hooks.beforeSubmit');\n if (beforeSubmit) {\n beforeSubmit(submission, (err: FormioError, sub: object) => {\n if (err) {\n this.onError(err);\n return;\n }\n this.submitExecute(sub, saved);\n });\n } else {\n this.submitExecute(submission, saved);\n }\n }\n\n onChange(value: any, flags: any, isModified: boolean) {\n if (this.watchSubmissionErrors && !this.submissionSuccess) {\n const errors = get(this, 'formio.errors', []);\n const alerts = get(this, 'alerts.alerts', []);\n const submitted = get(this, 'formio.submitted', false);\n if (submitted && (errors.length || alerts.length)) {\n this.onError(errors);\n }\n }\n return this.change.emit({...value, flags, isModified});\n }\n}\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'formio-loader',\n styleUrls: ['./formio.loader.component.scss'],\n templateUrl: './formio.loader.component.html'\n})\nexport class FormioLoaderComponent {\n @Input() isLoading: boolean;\n}\n","<div class=\"formio-loader-wrapper\" *ngIf=\"isLoading\">\n <div class=\"formio-loader\"></div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'parseHtmlContent', pure: false })\nexport class ParseHtmlContentPipe implements PipeTransform {\n\n /*\n Some messages that are come from formiojs have hex codes. So the main aim of this pipe is transform this messages to html.\n And then render in template.\n */\n transform(content) {\n const parsedContent = new DOMParser().parseFromString(content, 'text/html').body.childNodes[0];\n\n return parsedContent?.textContent;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport { FormioAlerts } from './formio.alerts';\n\n@Component({\n selector: 'formio-alerts',\n templateUrl: './formio.alerts.component.html'\n})\nexport class FormioAlertsComponent implements OnInit {\n @Input() alerts: FormioAlerts;\n @Output() focusComponent = new EventEmitter<object>();\n ngOnInit() {\n if (!this.alerts) {\n this.alerts = new FormioAlerts();\n }\n }\n getComponent (event, alert) {\n this.focusComponent.emit(alert.component.key);\n }\n}\n","<div *ngFor=\"let alert of alerts.alerts\" class=\"alert alert-{{ alert.type }}\" role=\"alert\" (click)=\"getComponent($event, alert)\">\n {{alert.message | parseHtmlContent}}\n</div>\n","import { Component, OnInit, Optional, ViewEncapsulation, Input, NgZone, OnChanges } from '@angular/core';\nimport { FormioAppConfig } from '../../formio.config';\nimport { Formio, Form } from '@formio/js';\nimport { FormioBaseComponent } from '../../FormioBaseComponent';\nimport { CustomTagsService } from '../../custom-tags.service';\n\n/* tslint:disable */\n@Component({\n selector: 'formio',\n templateUrl: './formio.component.html',\n styleUrls: ['../../../../../node_modules/@formio/js/dist/formio.form.min.css'],\n encapsulation: ViewEncapsulation.None,\n})\n/* tslint:enable */\nexport class FormioComponent extends FormioBaseComponent implements OnInit, OnChanges {\n constructor(\n public ngZone: NgZone,\n @Optional() public config: FormioAppConfig,\n @Optional() public customTags?: CustomTagsService,\n ) {\n super(ngZone, config, customTags);\n if (this.config) {\n Formio.setBaseUrl(this.config.apiUrl);\n Formio.setProjectUrl(this.config.appUrl);\n } else {\n console.warn('You must provide an AppConfig within your application!');\n }\n }\n\n getRenderer() {\n return this.renderer || Form;\n }\n}\n","<div role=\"form\" [attr.aria-label]=\"label\">\n <div *ngIf=\"isLoading && !hideLoading\" style=\"position:relative;height:200px\">\n <formio-loader [isLoading]=\"isLoading\"></formio-loader>\n </div>\n <formio-alerts *ngIf=\"this.options.alertsPosition === AlertsPosition.top || this.options.alertsPosition === AlertsPosition.both\" (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n <div #formio></div>\n <formio-alerts *ngIf=\"this.options.alertsPosition === AlertsPosition.bottom || this.options.alertsPosition === AlertsPosition.both\" (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n</div>\n","import {\n Component,\n Input,\n OnInit,\n OnChanges,\n OnDestroy,\n ViewEncapsulation,\n Optional,\n ElementRef,\n ViewChild,\n EventEmitter,\n Output,\n NgZone\n} from '@angular/core';\nimport { FormioAppConfig } from '../../formio.config';\nimport {\n FormioForm,\n FormioOptions\n} from '../../formio.common';\nimport { Formio, FormBuilder, Utils } from '@formio/js';\nimport { assign } from 'lodash';\nimport { Observable, Subscription } from 'rxjs';\nimport { CustomTagsService } from '../../custom-tags.service';\n\n/* tslint:disable */\n@Component({\n selector: 'form-builder',\n templateUrl: './formbuilder.component.html',\n styleUrls: ['../../../../../node_modules/@formio/js/dist/formio.builder.min.css'],\n encapsulation: ViewEncapsulation.None\n})\n/* tslint:enable */\nexport class FormBuilderComponent implements OnInit, OnChanges, OnDestroy {\n public ready: Promise<object>;\n public readyResolve: any;\n public formio: any;\n public builder: FormBuilder;\n public componentAdding = false;\n private refreshSubscription: Subscription;\n @Input() form?: FormioForm;\n @Input() options?: FormioOptions;\n @Input() formbuilder?: any;\n @Input() noeval ? = false;\n @Input() refresh?: Observable<void>;\n @Input() rebuild?: Observable<object>;\n @Output() change: EventEmitter<object>;\n @ViewChild('builder', { static: true }) builderElement?: ElementRef<any>;\n\n constructor(\n private ngZone: NgZone,\n @Optional() private config: FormioAppConfig,\n @Optional() private customTags?: CustomTagsService\n ) {\n if (this.config) {\n Formio.setBaseUrl(this.config.apiUrl);\n Formio.setProjectUrl(this.config.appUrl);\n } else {\n console.warn('You must provide an AppConfig within your application!');\n }\n\n this.change = new EventEmitter();\n this.ready = new Promise((resolve: any) => {\n this.readyResolve = resolve;\n });\n }\n\n ngOnInit() {\n Utils.Evaluator.noeval = this.noeval;\n\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.ngZone.runOutsideAngular(() => {\n this.buildForm(this.form);\n });\n });\n }\n\n if (this.rebuild) {\n this.rebuild.subscribe((options) => {\n this.ngZone.runOutsideAngular(() => {\n this.rebuildForm(this.form, options);\n });\n });\n }\n }\n\n setInstance(instance: any) {\n this.formio = instance;\n instance.off('addComponent');\n instance.off('saveComponent');\n instance.off('updateComponent');\n instance.off('removeComponent');\n instance.on('addComponent', (component, parent, path, index, isNew) => {\n this.ngZone.run(() => {\n if (isNew) {\n this.componentAdding = true;\n } else {\n this.change.emit({\n type: 'addComponent',\n builder: instance,\n form: instance.schema,\n component: component,\n parent: parent,\n path: path,\n index: index\n });\n this.componentAdding = false;\n }\n });\n });\n instance.on('saveComponent', (component, original, parent, path, index, isNew) => {\n this.ngZone.run(() => {\n this.change.emit({\n type: this.componentAdding ? 'addComponent' : 'saveComponent',\n builder: instance,\n form: instance.schema,\n component: component,\n originalComponent: original,\n parent: parent,\n path: path,\n index: index,\n isNew: isNew || false\n });\n this.componentAdding = false;\n });\n });\n instance.on('updateComponent', (component) => {\n this.ngZone.run(() => {\n this.change.emit({\n type: 'updateComponent',\n builder: instance,\n form: instance.schema,\n component: component\n });\n });\n });\n instance.on('removeComponent', (component, parent, path, index) => {\n this.ngZone.run(() => {\n this.change.emit({\n type: 'deleteComponent',\n builder: instance,\n form: instance.schema,\n component: component,\n parent: parent,\n path: path,\n index: index\n });\n });\n });\n this.ngZone.run(() => {\n this.readyResolve(instance);\n });\n return instance;\n }\n\n setDisplay(display: String, prevDisplay?: string) {\n if (display && display !== prevDisplay) {\n (this.builder as any).setDisplay(display);\n }\n }\n\n buildForm(form: any, prevForm?: any) {\n if (!form || !this.builderElement || !this.builderElement.nativeElement) {\n return;\n }\n\n if (this.builder) {\n this.setDisplay(form.display, prevForm?.display);\n this.setInstance(this.builder.instance);\n this.builder.form = form;\n this.builder.instance.form = form;\n return this.builder.instance;\n }\n\n return this.rebuildForm(form);\n }\n\n rebuildForm(form: any, options?: object) {\n const Builder = this.formbuilder || FormBuilder;\n const extraTags = this.customTags ? this.customTags.tags : [];\n this.builder = new Builder(\n this.builderElement.nativeElement,\n form,\n assign({\n icons: 'fontawesome',\n sanitizeConfig: {\n addTags: extraTags\n }\n }, options || this.options || {})\n );\n return this.builder.ready.then(instance => this.setInstance(instance));\n }\n\n ngOnChanges(changes: any) {\n Utils.Evaluator.noeval = this.noeval;\n\n if (changes.form && changes.form.currentValue) {\n this.ngZone.runOutsideAngular(() => {\n this.buildForm(changes.form.currentValue || {components: []}, changes.form.previousValue);\n });\n }\n }\n\n ngOnDestroy() {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n\n if (this.formio) {\n this.formio.destroy();\n }\n }\n}\n","<div #builder></div>\n","import { Component, OnInit, ViewEncapsulation, Input, OnChanges, ViewChild, ElementRef, EventEmitter, Output } from '@angular/core';\nimport { Formio } from '@formio/js';\nimport { FormioComponent } from '../formio/formio.component';\nimport { FormioReport } from '../../formio.common';\n\n/* tslint:disable */\n@Component({\n selector: 'formio-report',\n templateUrl: './formioreport.component.html',\n styleUrls: ['../../../../../node_modules/@formio/js/dist/formio.form.min.css'],\n encapsulation: ViewEncapsulation.None,\n})\n/* tslint:enable */\nexport class FormioReportComponent extends FormioComponent implements OnInit, OnChanges {\n @Input() report?: FormioReport;\n @Input() projectEndpoint?: string;\n @Output() fetchDataError = new EventEmitter<any>();\n @ViewChild('report', { static: true }) declare formioElement?: ElementRef<any>;\n\n public isReportLoading: boolean;\n\n setFormFromSrc() {\n this.service.loadSubmission({ params: { live: 1 } }).subscribe(\n (report: FormioReport) => {\n this.report = report;\n if (report && report.data) {\n this.ngZone.runOutsideAngular(() => {\n this.setForm({ components: [], report });\n this.isReportLoading = false;\n });\n }\n },\n err => this.onError(err)\n );\n }\n\n setFormUrl(url) {\n return;\n }\n\n ngOnChanges(changes: any) {\n super.ngOnChanges(changes)\n\n if (changes.report && changes.report.currentValue) {\n this.ngZone.runOutsideAngular(() => {\n this.setForm({ report: changes.report.currentValue, components: [] });\n this.isReportLoading = false;\n });\n }\n }\n\n getRendererOptions() {\n const projectEndpoint = this.projectEndpoint || this.config?.appUrl || this.service?.formio?.projectUrl;\n\n if (!projectEndpoint && !this.src) {\n console.warn('The projectEndpoint url is required to render the Report using JSON schema.');\n }\n return {\n projectEndpoint,\n ...super.getRendererOptions(),\n }\n }\n createRenderer() {\n const Renderer = this.getRenderer();\n if (!Renderer) {\n return null;\n }\n\n const form = (new Renderer(\n this.formioElement ? this.formioElement.nativeElement : null,\n this.report,\n this.getRendererOptions()\n ));\n return form.instance;\n }\n \n attachFormEvents() {\n this.formio.on('fetchDataError', (error: any, component: any) => this.ngZone.run(() => {\n this.alerts.addAlert({\n type: 'danger',\n message: error ? JSON.stringify(error) : error,\n });\n this.fetchDataError.emit({error, component});\n }));\n }\n\n getRenderer() {\n const reportRenderer = (Formio as any).Report;\n if (!reportRenderer) {\n console.error('Report is not found in Formio. Please make sure that you are using the Formio Reporting module and it is correctly included in your application.');\n }\n\n return reportRenderer;\n }\n}\n","<div role=\"form\" [attr.aria-label]=\"label\">\n <div *ngIf=\"isReportLoading && !hideLoading\" style=\"position:relative;height:200px\">\n <formio-loader [isLoading]=\"isReportLoading\"></formio-loader>\n </div>\n <formio-alerts *ngIf=\"this.options.alertsPosition === AlertsPosition.top || this.options.alertsPosition === AlertsPosition.both\" (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n <div #report></div>\n <formio-alerts *ngIf=\"this.options.alertsPosition === AlertsPosition.bottom || this.options.alertsPosition === AlertsPosition.both\" (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormioComponent } from './components/formio/formio.component';\nimport { FormioReportComponent } from './components/formioreport/formioreport.component';\nimport { FormBuilderComponent } from './components/formbuilder/formbuilder.component';\nimport { FormioAlerts } from './components/alerts/formio.alerts';\nimport { ParseHtmlContentPipe } from './components/alerts/parse-html-content.pipe';\nimport { FormioAlertsComponent } from './components/alerts/formio.alerts.component';\nimport { FormioLoaderComponent } from './components/loader/formio.loader.component';\nimport { CustomTagsService } from './custom-tags.service';\nimport { FormioBaseComponent } from './FormioBaseComponent';\n\n@NgModule({\n declarations: [\n FormioComponent,\n FormioReportComponent,\n FormioBaseComponent,\n FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent,\n ParseHtmlContentPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n FormioComponent,\n FormioReportComponent,\n FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent\n ],\n providers: [\n FormioAlerts,\n CustomTagsService\n ]\n})\nexport class FormioModule {}\n","if (window && typeof (window as any).global === 'undefined') {\n (window as any).global = window;\n}\nexport * from './formio.config';\nexport * from './formio.common';\nexport * from './formio.service';\nexport * from './formio-promise.service';\nexport * from './formio.utils';\nexport * from './FormioBaseComponent';\nexport * from './components/formio/formio.component';\nexport * from './components/formbuilder/formbuilder.component';\nexport * from './components/formioreport/formioreport.component';\nexport * from './components/loader/formio.loader.component';\nexport * from './components/alerts/formio.alerts';\nexport * from './components/alerts/formio.alerts.component';\nexport { FormioModule } from './formio.module';\nexport { ComponentSchema, ExtendedComponentSchema, ElementInfo } from '@formio/deprecated-types';\nexport { Utils as FormioUtils } from '@formio/js';\nexport { Formio } from '@formio/js';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Formio","i1.FormioAppConfig","i2.CustomTagsService","i2.ParseHtmlContentPipe","i3","i4.FormioLoaderComponent","i5.FormioAlertsComponent","i2.FormioLoaderComponent","i3.FormioAlertsComponent"],"mappings":";;;;;;;;;;MAMa,eAAe,CAAA;IAE1B,MAAM,GAAG,EAAE,CAAC;IACZ,MAAM,GAAG,EAAE,CAAC;AACZ,IAAA,KAAK,CAAU;AACf,IAAA,QAAQ,CAAW;AACnB,IAAA,MAAM,CAAU;IAChB,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACvC;KACF;uGAbU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCsDY,WAAW,CAAA;AAEb,IAAA,OAAA,CAAA;AACA,IAAA,SAAA,CAAA;AACA,IAAA,MAAA,CAAA;AAHT,IAAA,WAAA,CACS,OAAe,EACf,SAAkC,EAClC,MAAgB,EAAA;QAFhB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QACf,IAAS,CAAA,SAAA,GAAT,SAAS,CAAyB;QAClC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAU;KACrB;AACL;;MC7DY,aAAa,CAAA;AAEL,IAAA,GAAA,CAAA;AAAoB,IAAA,OAAA,CAAA;AADhC,IAAA,MAAM,CAAM;IACnB,WAAmB,CAAA,GAAW,EAAS,OAAgB,EAAA;QAApC,IAAG,CAAA,GAAA,GAAH,GAAG,CAAQ;QAAS,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;AACrD,QAAA,IAAI,CAAC,MAAM,GAAG,IAAIA,UAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAClD;AACD,IAAA,cAAc,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,MAAW,CAAC;QAChB,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,QAAuB,KAAI;AACnD,YAAA,IAAI;gBACF,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,GAAG,IAAI,CAAC;AACd,oBAAA,EAAE,EAAE;AACD,yBAAA,IAAI,CAAC,CAAC,OAAY,KAAI;wBACrB,MAAM,GAAG,OAAO,CAAC;AACjB,wBAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACtB,qBAAC,CAAC;AACD,yBAAA,KAAK,CAAC,CAAC,GAAQ,KAAK,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC7C;qBAAM,IAAI,MAAM,EAAE;AACjB,oBAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACrB;aACF;YAAC,OAAO,GAAG,EAAE;AACZ,gBAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACrB;AACH,SAAC,CAAC,CAAC;KACJ;IACD,QAAQ,CAAC,IAAgB,EAAE,OAAa,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;KACvE;IACD,QAAQ,CAAC,KAAW,EAAE,OAAa,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;KACxE;IACD,SAAS,CAAC,KAAU,EAAE,OAAa,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;KACzE;IACD,cAAc,CAAC,KAAW,EAAE,OAAa,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;KAC9E;AACD,IAAA,eAAe,CAAC,IAAS,EAAE,IAAS,EAAE,UAAe,EAAA;QACnD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;KACvF;IACD,gBAAgB,CAAC,IAAU,EAAE,OAAa,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;KAC/E;IACD,cAAc,CAAC,UAAc,EAAE,OAAa,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;KACnF;IACD,eAAe,CAAC,KAAW,EAAE,OAAa,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;KAC/E;AACF;;MCpDY,oBAAoB,CAAA;AAGZ,IAAA,GAAA,CAAA;AAAoB,IAAA,OAAA,CAAA;AAF/B,IAAA,aAAa,CAAgB;IAErC,WAAmB,CAAA,GAAW,EAAS,OAAgB,EAAA;QAApC,IAAG,CAAA,GAAA,GAAH,GAAG,CAAQ;QAAS,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QACrD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;KACtD;IAED,QAAQ,CAAC,IAAgB,EAAE,OAAa,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KAC/D;IACD,QAAQ,CAAC,KAAW,EAAE,OAAa,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KAChE;IACD,cAAc,CAAC,KAAW,EAAE,OAAa,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KACtE;AACD,IAAA,eAAe,CAAC,IAAS,EAAE,IAAS,EAAE,UAAe,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;KAC/E;IACD,gBAAgB,CAAC,IAAU,EAAE,OAAa,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KACvE;IACD,SAAS,CAAC,KAAU,EAAE,OAAa,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KACjE;IACD,cAAc,CAAC,UAAc,EAAE,OAAa,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KAC3E;IACD,eAAe,CAAC,KAAW,EAAE,OAAa,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KACvE;AACF;;SChCe,YAAY,CAAC,KAAU,EAAE,MAAW,EAAE,WAAgB,EAAA;AACpE,IAAA,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,IAAG;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAG;AACzB,YAAA,IAAI,GAAG,CAAC,YAAY,EAAE;AACpB,gBAAA,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;aAC7D;AACD,YAAA,IAAI,GAAG,CAAC,OAAO,EAAE;gBACf,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,KAAI;AACnC,oBAAA,IACE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC;AAC/D,yBAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,EACjC;AACA,wBAAA,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;qBACjE;AACH,iBAAC,CAAC,CAAC;aACJ;AACH,SAAC,CAAC,CAAC;AACL,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,KAAK,CAAC;AACf;;MChBa,YAAY,CAAA;IAChB,MAAM,GAAkB,EAAE,CAAC;AAElC,IAAA,QAAQ,CAAC,KAAkB,EAAA;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;KACvB;AAED,IAAA,QAAQ,CAAC,KAAkB,EAAA;AACzB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzB;AAED,IAAA,SAAS,CAAC,MAAqB,EAAA;AAC7B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;AACF;;ACpBD,IAAY,cAKX,CAAA;AALD,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,cAAA,CAAA,cAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACH,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACN,CAAC,EALW,cAAc,KAAd,cAAc,GAKzB,EAAA,CAAA,CAAA;;MCHY,iBAAiB,CAAA;IAC5B,IAAI,GAAa,EAAE,CAAC;AAEpB,IAAA,YAAY,CAAC,GAAW,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACrB;uGALU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2GAAjB,iBAAiB,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;ACQX,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;MAK9B,mBAAmB,CAAA;AA6DrB,IAAA,MAAA,CAAA;AACY,IAAA,MAAA,CAAA;AACA,IAAA,UAAA,CAAA;AA9DZ,IAAA,IAAI,CAAc;IAClB,UAAU,GAAS,EAAE,CAAC;AACtB,IAAA,GAAG,CAAU;AACb,IAAA,GAAG,CAAU;AACb,IAAA,OAAO,CAAiB;AACxB,IAAA,OAAO,CAAiB;AACxB,IAAA,MAAM,GAAK,SAAS,CAAC,MAAM,CAAC;AAC5B,IAAA,aAAa,CAAO;AACpB,IAAA,aAAa,CAAO;IACpB,QAAQ,GAAK,KAAK,CAAC;IACnB,QAAQ,GAAK,KAAK,CAAC;IACnB,WAAW,GAAK,KAAK,CAAC;AACtB,IAAA,cAAc,CAAY;AAC1B,IAAA,OAAO,CAAoC;AAC3C,IAAA,KAAK,CAAqB;AAC1B,IAAA,OAAO,CAAwB;AAC/B,IAAA,UAAU,CAAwB;AAClC,IAAA,QAAQ,CAAwB;IAChC,KAAK,GAAS,EAAE,CAAC;AACjB,IAAA,QAAQ,CAAO;IACf,qBAAqB,GAAK,KAAK,CAAC;IAChC,gBAAgB,GAAU,EAAE,CAAA;AAC3B,IAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;AACpC,IAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AACzC,IAAA,mBAAmB,GAAG,IAAI,YAAY,EAAU,CAAC;AACjD,IAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;AACpC,IAAA,QAAQ,GAAG,IAAI,YAAY,EAAU,CAAC;AACtC,IAAA,QAAQ,GAAG,IAAI,YAAY,EAAU,CAAC;AACtC,IAAA,YAAY,GAAG,IAAI,YAAY,EAAU,CAAC;AAC1C,IAAA,MAAM,GAAG,IAAI,YAAY,EAAO,CAAC;AACjC,IAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AACnC,IAAA,OAAO,GAAG,IAAI,YAAY,EAAO,CAAC;AAClC,IAAA,SAAS,GAAG,IAAI,YAAY,EAAO,CAAC;AACpC,IAAA,SAAS,GAAG,IAAI,YAAY,EAAO,CAAC;AACpC,IAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AACnC,IAAA,eAAe,GAAG,IAAI,YAAY,EAAO,CAAC;AAC1C,IAAA,IAAI,GAAG,IAAI,YAAY,EAAO,CAAC;AAC/B,IAAA,kBAAkB,GAAG,IAAI,YAAY,EAAO,CAAC;AAC7C,IAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;AACpC,IAAA,OAAO,GAAG,IAAI,YAAY,EAAW,CAAC;AACtC,IAAA,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;AACtC,IAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AACnC,IAAA,cAAc,GAAG,IAAI,YAAY,EAAO,CAAC;AACzC,IAAA,KAAK,GAAG,IAAI,YAAY,EAAuB,CAAC;AACnB,IAAA,aAAa,CAAmB;IAEhE,cAAc,GAAG,cAAc,CAAC;AAChC,IAAA,MAAM,CAAM;IACZ,WAAW,GAAG,KAAK,CAAC;AACpB,IAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AAC5B,IAAA,WAAW,CAAe;AAEzB,IAAA,kBAAkB,CAAM;IACxB,UAAU,GAAG,KAAK,CAAC;IACnB,iBAAiB,GAAG,KAAK,CAAC;AAC3B,IAAA,SAAS,CAAU;AACnB,IAAA,QAAQ,CAAU;AAClB,IAAA,KAAK,CAAS;AAErB,IAAA,WAAA,CACS,MAAc,EACF,MAAuB,EACvB,UAA8B,EAAA;QAF1C,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACF,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;QACvB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAoB;AAEjD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC,CAAC,KAAK,KAAI;AACvC,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AAClC,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IAED,kBAAkB,GAAA;AAChB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC,EAAE,EAAE;YAChB,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC;YAC/C,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC;YAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,QAAQ;YACzB,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE;YAC3C,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC;YACrC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC;YACnD,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,cAAc,EAAE;AACd,gBAAA,OAAO,EAAE,SAAS;AACnB,aAAA;YACD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AACxC,SAAA,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;KAC9B;IAED,cAAc,GAAA;AACZ,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACpC,QAAA,MAAM,IAAI,IAAI,IAAI,QAAQ,CACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,EAC5D,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;AAED,IAAA,UAAU,CAAC,GAAG,EAAA;AACZ,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;KACnD;AAED,IAAA,OAAO,CAAC,IAAgB,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SACvB;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;SAC9B;AAAM,aAAA,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;AAC1D,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SAC5C;;QAGD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;YAC1D,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC;SACjD;AACD,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;AAEpC,QAAA,IAAG,CAAC,IAAI,CAAC,MAAM,EAAE;YACf,OAAO;SACR;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE;AACzC,YAAA,cAAc,EAAE,KAAK;AACtB,SAAA,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;AAC3D,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,EAAC,cAAc,EAAE,IAAI,EAAC,CAAC,CAAC;SAC/D;AACD,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;AACZ,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC3B;AACD,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;AACZ,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC3B;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAK;AACjC,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,gBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,KAAI;AAC9C,wBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACvC,qBAAC,CAAC,CAAC;iBACJ;AACH,aAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,SAAC,CAAC,CAAC;KACJ;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxF,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxF,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAU,EAAE,KAAU,EAAE,UAAmB,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AAC1I,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAClG,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAS,EAAE,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC;QAC9H,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,QAAgB,EAAE,KAAa,EAAE,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,CAAC;AAC9K,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,IAAS,EAAE,QAAgB,EAAE,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC;QAC5J,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,IAAS,EAAE,QAAgB,EAAE,KAAa,EAAE,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,CAAC;QAClL,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAQ,EAAE,QAAgB,EAAE,KAAa,EAAC,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,CAAC;AACxK,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,YAAmB,EAAE,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAC,YAAY,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC,CAAC;AACzJ,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,WAAmB,EAAE,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC,CAAC;AAClI,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,YAAmB,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAC,YAAY,EAAC,CAAC,CAAC,CAAC,CAAC;AACpI,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAU,KACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACpD,CAAC;AAEF,QAAA,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,KAAI;AACtE,YAAA,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AACzC,YAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAC7D,CAAC;AACJ,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,UAAe,EAAE,KAAc,KACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAC1D,CAAC;AACF,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACzD,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;AAC/B,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC1B,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,UAAe,KACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CACtD,CAAC;KACH;IAED,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO;SACR;AAED,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;AAC9D,QAAA,MAAM,cAAc,GAAkB;AACpC,YAAA,MAAM,EAAE;AACN,gBAAA,OAAO,EAAE,oDAAoD;AAC9D,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,aAAa,EAAE,sBAAsB;AACtC,aAAA;AACD,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAE,IAAI;AACnB,aAAA;AACD,YAAA,cAAc,EAAE;AACd,gBAAA,OAAO,EAAE,SAAS;AACnB,aAAA;YACD,cAAc,EAAE,cAAc,CAAC,GAAG;SACnC,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3D,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YAC9B,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC;SACnD;AACD,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KACzB;IAED,QAAQ,GAAA;AACN,QAAA,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;AAElB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;aACtC;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAY,KAAI;AACvC,oBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC9B,iBAAC,CAAC,CAAC;aACJ;SACF;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAA2B,KACjD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CACxB,CAAC;SACH;AAED,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SACvD;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAe,KAAI;AACzC,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnB,oBAAA,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC;AAC9D,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;SACJ;AAED,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAkB,KAAI;gBAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAC7C,aAAC,CAAC,CAAC;SACJ;AAED,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;AACZ,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC5C;AACD,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5C;KACF;IAED,cAAc,GAAA;QACZ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CACtD,CAAC,IAAgB,KAAI;AACnB,YAAA,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AAC3B,gBAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AACjC,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACrB,iBAAC,CAAC,CAAC;aACJ;;AAGD,YAAA,IACE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AACxB,gBAAA,IAAI,CAAC,OAAO;AACZ,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAChC;gBACA,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,SAAS,CACrC,CAAC,UAAe,KAAI;AAClB,oBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;qBACrC;oBACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;AACxD,iBAAC,EACD,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CACzB,CAAC;aACH;AACH,SAAC,EACD,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CACzB,CAAC;KACH;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SACvB;KACF;AAED,IAAA,SAAS,CAAC,OAA2B,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAK;AACzB,YAAA,IAAI,OAAO,CAAC,IAAI,EAAE;AAChB,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAK;AAC1C,oBAAA,IAAI,OAAO,CAAC,UAAU,EAAE;wBACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;qBAC/C;AACH,iBAAC,CAAC,CAAC;aACJ;AAAM,iBAAA,IAAI,OAAO,CAAC,UAAU,EAAE;gBAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;aAC/C;iBAAM;AACL,gBAAA,QAAQ,OAAO,CAAC,QAAQ;AACtB,oBAAA,KAAK,YAAY;wBACf,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;wBACvC,MAAM;AACR,oBAAA,KAAK,MAAM;wBACT,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;wBACjC,MAAM;iBACT;aACF;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,WAAW,CAAC,OAAY,EAAA;AACtB,QAAA,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE;AAC7C,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;gBACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC1C,aAAC,CAAC,CAAC;SACJ;AAED,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAK;YACzB,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE;gBACzD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE;AACzD,oBAAA,cAAc,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW;AAChD,iBAAA,CAAC,CAAC;aACJ;YAED,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;AACjE,gBAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,gBAAgB,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,KAAI;AACvC,oBAAA,SAAS,CAAC,OAAO,CAAC,IAAI,GAAG,gBAAgB,CAAC;oBAC1C,IAAI,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;AACtD,wBAAA,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;qBAC3B;AACH,iBAAC,CAAC,CAAC;aACJ;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,UAAU,CAAC,IAAS,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;AAED,IAAA,UAAU,CAAC,IAAS,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;AAED,IAAA,QAAQ,CAAC,UAAe,EAAE,KAAc,EAAE,MAAgB,EAAA;AACxD,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;AAC9C,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,OAAO,EAAE,IAAI;AACd,SAAA,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC9B;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnB,gBAAA,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC;AACnD,aAAA,CAAC,CAAC;SACJ;KACF;AAED,IAAA,OAAO,CAAC,GAAQ,EAAA;AACd,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;;AAGD,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;;AAGhD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAE9B,QAAA,IAAI,GAAG,CAAC,MAAM,EAAE;YACd,OAAO;SACR;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;SACzC;;AAGD,QAAA,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,KAAI;AAC5B,YAAA,MAAM,EACJ,OAAO,EACP,KAAK,GACN,GAAG,KAAK;kBACL,KAAK,CAAC,OAAO;AACb,sBAAE;AACA,wBAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC;AACtD,wBAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC;AAClD,qBAAA;AACD,sBAAE;wBACA,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;AAC1C,wBAAA,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;AACtC,qBAAA;AACH,kBAAE;AACA,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,KAAK,EAAE,EAAE;iBACV,CAAC;YAEJ,IAAI,kBAAkB,GAAG,IAAI,CAAC;AAE9B,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;oBAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACjD,IAAI,SAAS,EAAE;AACb,wBAAA,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;AACtE,wBAAA,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;AACtE,wBAAA,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AACxE,wBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnB,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;4BACvB,SAAS;AACV,yBAAA,CAAC,CAAC;wBACH,kBAAkB,GAAG,KAAK,CAAC;qBAC5B;AACH,iBAAC,CAAC,CAAC;AAEH,gBAAA,IAAK,MAAc,CAAC,YAAY,EAAE;oBAChC,IAAI,OAAO,KAAK,KAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;wBACtD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;4BACtC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AAClC,gCAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;6BACvC;AACH,yBAAC,CAAC,CAAC;qBACJ;iBACF;AAED,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,oBAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;iBAC1B;aACF;YAED,IAAI,kBAAkB,EAAE;AACtB,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnB,oBAAA,IAAI,EAAE,QAAQ;oBACd,OAAO;oBACP,SAAS,EAAE,KAAK,CAAC,SAAS;AAC3B,iBAAA,CAAC,CAAC;aACJ;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,eAAe,CAAC,GAAQ,EAAA;AACtB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;SACnC;KACF;AAED,IAAA,aAAa,CAAC,UAAkB,EAAE,KAAK,GAAG,KAAK,EAAA;AAC7C,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;AACvC,YAAA,IAAI,CAAC,OAAO;iBACT,cAAc,CAAC,UAAU,CAAC;iBAC1B,SAAS,CACR,CAAC,GAAO,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EACrC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CACzB,CAAC;SACL;aAAM;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SAClC;KACF;AAED,IAAA,UAAU,CAAC,UAAe,EAAE,KAAK,GAAG,KAAK,EAAA;;AAEvC,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;;QAInC,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAC7D,IAAI,YAAY,EAAE;YAChB,YAAY,CAAC,UAAU,EAAE,CAAC,GAAgB,EAAE,GAAW,KAAI;gBACzD,IAAI,GAAG,EAAE;AACP,oBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClB,OAAO;iBACR;AACD,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjC,aAAC,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SACvC;KACF;AAED,IAAA,QAAQ,CAAC,KAAU,EAAE,KAAU,EAAE,UAAmB,EAAA;QAClD,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACvD,YAAA,IAAI,SAAS,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;AACjD,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aACtB;SACF;AACD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,GAAG,KAAK,EAAE,KAAK,EAAE,UAAU,EAAC,CAAC,CAAC;KACxD;uGA1hBU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,+vCAFpB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAED,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,EAAE;AACb,iBAAA,CAAA;;0BA+DI,QAAQ;;0BACR,QAAQ;yCA9DF,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACI,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,mBAAmB,EAAA,CAAA;sBAA5B,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACG,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACG,IAAI,EAAA,CAAA;sBAAb,MAAM;gBACG,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBACG,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACgC,aAAa,EAAA,CAAA;sBAAnD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MCpD1B,qBAAqB,CAAA;AACvB,IAAA,SAAS,CAAU;uGADjB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,yFCPlC,4GAGA,EAAA,MAAA,EAAA,CAAA,+XAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,CAAA,EAAA,CAAA,CAAA;;2FDIa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,4GAAA,EAAA,MAAA,EAAA,CAAA,+XAAA,CAAA,EAAA,CAAA;8BAKhB,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MELK,oBAAoB,CAAA;AAE/B;;;AAGE;AACF,IAAA,SAAS,CAAC,OAAO,EAAA;AACf,QAAA,MAAM,aAAa,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAE/F,OAAO,aAAa,EAAE,WAAW,CAAC;KACnC;uGAVU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qGAApB,oBAAoB,EAAA,IAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;;;MCKlC,qBAAqB,CAAA;AACvB,IAAA,MAAM,CAAe;AACpB,IAAA,cAAc,GAAG,IAAI,YAAY,EAAU,CAAC;IACtD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;SAClC;KACF;IACD,YAAY,CAAE,KAAK,EAAE,KAAK,EAAA;QACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;KAC/C;uGAVU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,kICPlC,6LAGA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDIa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,6LAAA,EAAA,CAAA;8BAIhB,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACI,cAAc,EAAA,CAAA;sBAAvB,MAAM;;;AEHT;AAOA;AACM,MAAO,eAAgB,SAAQ,mBAAmB,CAAA;AAE7C,IAAA,MAAA,CAAA;AACY,IAAA,MAAA,CAAA;AACA,IAAA,UAAA,CAAA;AAHrB,IAAA,WAAA,CACS,MAAc,EACF,MAAuB,EACvB,UAA8B,EAAA;AAEjD,QAAA,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAJ3B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACF,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;QACvB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAoB;AAGjD,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC1C;aAAM;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;SACxE;KACF;IAED,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;KAC9B;uGAjBU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,qECd5B,oqBAQA,EAAA,MAAA,EAAA,CAAA,2kuCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,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,EAAAC,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDMa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;+BACE,QAAQ,EAAA,aAAA,EAGH,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,oqBAAA,EAAA,MAAA,EAAA,CAAA,2kuCAAA,CAAA,EAAA,CAAA;;0BAMlC,QAAQ;;0BACR,QAAQ;;;AEMb;AAOA;MACa,oBAAoB,CAAA;AAiBrB,IAAA,MAAA,CAAA;AACY,IAAA,MAAA,CAAA;AACA,IAAA,UAAA,CAAA;AAlBf,IAAA,KAAK,CAAkB;AACvB,IAAA,YAAY,CAAM;AAClB,IAAA,MAAM,CAAM;AACZ,IAAA,OAAO,CAAc;IACrB,eAAe,GAAG,KAAK,CAAC;AACvB,IAAA,mBAAmB,CAAe;AACjC,IAAA,IAAI,CAAc;AAClB,IAAA,OAAO,CAAiB;AACxB,IAAA,WAAW,CAAO;IAClB,MAAM,GAAK,KAAK,CAAC;AACjB,IAAA,OAAO,CAAoB;AAC3B,IAAA,OAAO,CAAsB;AAC5B,IAAA,MAAM,CAAuB;AACC,IAAA,cAAc,CAAmB;AAEzE,IAAA,WAAA,CACU,MAAc,EACF,MAAuB,EACvB,UAA8B,EAAA;QAF1C,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACF,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;QACvB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAoB;AAElD,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC1C;aAAM;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;SACxE;AAED,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,OAAY,KAAI;AACxC,YAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;AAC9B,SAAC,CAAC,CAAC;KACJ;IAED,QAAQ,GAAA;QACN,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAErC,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;AACrD,gBAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AACjC,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;SACJ;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,KAAI;AACjC,gBAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;oBACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;SACJ;KACF;AAED,IAAA,WAAW,CAAC,QAAa,EAAA;AACvB,QAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;AACvB,QAAA,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC7B,QAAA,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC9B,QAAA,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAChC,QAAA,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAChC,QAAA,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,KAAI;AACpE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;gBACnB,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;iBAC7B;qBAAM;AACL,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,wBAAA,IAAI,EAAE,cAAc;AACpB,wBAAA,OAAO,EAAE,QAAQ;wBACjB,IAAI,EAAE,QAAQ,CAAC,MAAM;AACrB,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,MAAM,EAAE,MAAM;AACd,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA,CAAC,CAAC;AACH,oBAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;iBAC9B;AACH,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;AACH,QAAA,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,KAAI;AAC/E,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,IAAI,CAAC,eAAe,GAAG,cAAc,GAAG,eAAe;AAC7D,oBAAA,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,QAAQ,CAAC,MAAM;AACrB,oBAAA,SAAS,EAAE,SAAS;AACpB,oBAAA,iBAAiB,EAAE,QAAQ;AAC3B,oBAAA,MAAM,EAAE,MAAM;AACd,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,KAAK,IAAI,KAAK;AACtB,iBAAA,CAAC,CAAC;AACH,gBAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AAC/B,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;QACH,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,SAAS,KAAI;AAC3C,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,QAAQ,CAAC,MAAM;AACrB,oBAAA,SAAS,EAAE,SAAS;AACrB,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;AACH,QAAA,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,KAAI;AAChE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,QAAQ,CAAC,MAAM;AACrB,oBAAA,SAAS,EAAE,SAAS;AACpB,oBAAA,MAAM,EAAE,MAAM;AACd,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,KAAK,EAAE,KAAK;AACb,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC9B,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,QAAQ,CAAC;KACjB;IAED,UAAU,CAAC,OAAe,EAAE,WAAoB,EAAA;AAC9C,QAAA,IAAI,OAAO,IAAI,OAAO,KAAK,WAAW,EAAE;AACrC,YAAA,IAAI,CAAC,OAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC3C;KACF;IAED,SAAS,CAAC,IAAS,EAAE,QAAc,EAAA;AACjC,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;YACvE,OAAO;SACR;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACxC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AAClC,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC9B;AAED,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,WAAW,CAAC,IAAS,EAAE,OAAgB,EAAA;AACrC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC;AAChD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;AAC9D,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CACxB,IAAI,CAAC,cAAc,CAAC,aAAa,EACjC,IAAI,EACJ,MAAM,CAAC;AACL,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,cAAc,EAAE;AACd,gBAAA,OAAO,EAAE,SAAS;AACnB,aAAA;SACF,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAClC,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;KACxE;AAED,IAAA,WAAW,CAAC,OAAY,EAAA;QACtB,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAErC,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE;AAC7C,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;gBACjC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAC,UAAU,EAAE,EAAE,EAAC,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC5F,aAAC,CAAC,CAAC;SACJ;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;SACxC;AAED,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SACvB;KACF;uGAnLU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,qWChCjC,wBACA,EAAA,MAAA,EAAA,CAAA,un2CAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FD+Ba,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACE,cAAc,EAAA,aAAA,EAGT,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,un2CAAA,CAAA,EAAA,CAAA;;0BAqBlC,QAAQ;;0BACR,QAAQ;yCAZF,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACI,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACiC,cAAc,EAAA,CAAA;sBAArD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;AEzCxC;AAOA;AACM,MAAO,qBAAsB,SAAQ,eAAe,CAAA;AAC/C,IAAA,MAAM,CAAgB;AACtB,IAAA,eAAe,CAAU;AACxB,IAAA,cAAc,GAAG,IAAI,YAAY,EAAO,CAAC;AACJ,IAAA,aAAa,CAAmB;AAExE,IAAA,eAAe,CAAU;IAEhC,cAAc,GAAA;QACZ,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAC5D,CAAC,MAAoB,KAAI;AACvB,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,YAAA,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;AACzB,gBAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;oBACjC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACzC,oBAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AAC/B,iBAAC,CAAC,CAAC;aACJ;AACH,SAAC,EACD,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CACzB,CAAC;KACH;AAED,IAAA,UAAU,CAAC,GAAG,EAAA;QACZ,OAAO;KACR;AAED,IAAA,WAAW,CAAC,OAAY,EAAA;AACtB,QAAA,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAE1B,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE;AACjD,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AACjC,gBAAA,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;AACtE,gBAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AAC/B,aAAC,CAAC,CAAC;SACJ;KACF;IAED,kBAAkB,GAAA;AAChB,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;QAExG,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;AACjC,YAAA,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;SAC7F;QACD,OAAO;YACL,eAAe;YACf,GAAG,KAAK,CAAC,kBAAkB,EAAE;SAC9B,CAAA;KACF;IACD,cAAc,GAAA;AACZ,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,OAAO,IAAI,CAAC;SACb;AAED,QAAA,MAAM,IAAI,IAAI,IAAI,QAAQ,CACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,EAC5D,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IAED,gBAAgB,GAAA;QACd,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,KAAU,EAAE,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACrF,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnB,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,OAAO,EAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK;AAChD,aAAA,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;SAC9C,CAAC,CAAC,CAAC;KACL;IAED,WAAW,GAAA;AACT,QAAA,MAAM,cAAc,GAAI,MAAc,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,kJAAkJ,CAAC,CAAC;SACnK;AAED,QAAA,OAAO,cAAc,CAAC;KACvB;uGAhFU,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,yUCblC,grBAQA,EAAA,MAAA,EAAA,CAAA,2kuCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,EAAAK,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDKa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;+BACE,eAAe,EAAA,aAAA,EAGV,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,grBAAA,EAAA,MAAA,EAAA,CAAA,2kuCAAA,CAAA,EAAA,CAAA;8BAI5B,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACI,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBACwC,aAAa,EAAA,CAAA;sBAA3D,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MEoB1B,YAAY,CAAA;uGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBAvBjB,eAAe;YACf,qBAAqB;YACrB,mBAAmB;YACnB,oBAAoB;YACpB,qBAAqB;YACrB,qBAAqB;YACrB,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAGpB,YAAY,CAAA,EAAA,OAAA,EAAA,CAGZ,eAAe;YACf,qBAAqB;YACrB,oBAAoB;YACpB,qBAAqB;YACrB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAOhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EALV,SAAA,EAAA;YACP,YAAY;YACZ,iBAAiB;AACpB,SAAA,EAAA,OAAA,EAAA,CAZG,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAcP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAzBxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE;wBACV,eAAe;wBACf,qBAAqB;wBACrB,mBAAmB;wBACnB,oBAAoB;wBACpB,qBAAqB;wBACrB,qBAAqB;wBACrB,oBAAoB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,YAAY;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,eAAe;wBACf,qBAAqB;wBACrB,oBAAoB;wBACpB,qBAAqB;wBACrB,qBAAqB;AACxB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACP,YAAY;wBACZ,iBAAiB;AACpB,qBAAA;AACJ,iBAAA,CAAA;;;ACpCD,IAAI,MAAM,IAAI,OAAQ,MAAc,CAAC,MAAM,KAAK,WAAW,EAAE;AAC1D,IAAA,MAAc,CAAC,MAAM,GAAG,MAAM,CAAC;AAClC;;ACFA;;AAEG;;;;"}
@@ -1,20 +1,14 @@
1
- import { InjectionToken } from '@angular/core';
1
+ import { OnInit } from '@angular/core';
2
2
  import { Formio } from '@formio/js';
3
3
  import * as i0 from "@angular/core";
4
- export declare const FORMIO_CONFIG: InjectionToken<unknown>;
5
- export declare class FormioAppConfig {
4
+ export declare class FormioAppConfig implements OnInit {
6
5
  [x: string]: any;
7
6
  appUrl: string;
8
7
  apiUrl: string;
9
8
  icons?: string;
10
9
  formOnly?: boolean;
11
10
  formio?: Formio;
12
- constructor(config?: {
13
- apiUrl?: string;
14
- baseUrl?: string;
15
- appUrl?: string;
16
- projectUrl?: string;
17
- });
11
+ ngOnInit(): void;
18
12
  static ɵfac: i0.ɵɵFactoryDeclaration<FormioAppConfig, never>;
19
13
  static ɵprov: i0.ɵɵInjectableDeclaration<FormioAppConfig>;
20
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"formio.config.d.ts","sourceRoot":"","sources":["../../projects/angular-formio/src/formio.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,cAAc,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;;AADpC,eAAO,MAAM,aAAa,yBAAsC,CAAC;AAGjE,qBACa,eAAe;IAC1B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACjB,MAAM,SAAM;IACZ,MAAM,SAAM;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;gBACmB,MAAM,GAAE;QACzC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAA;KACf;yCAZK,eAAe;6CAAf,eAAe;CAqB3B"}
1
+ {"version":3,"file":"formio.config.d.ts","sourceRoot":"","sources":["../../projects/angular-formio/src/formio.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;;AAEpC,qBAGa,eAAgB,YAAW,MAAM;IAC5C,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACjB,MAAM,SAAM;IACZ,MAAM,SAAM;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,IAAI,IAAI;yCAPL,eAAe;6CAAf,eAAe;CAc3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formio/angular",
3
- "version": "8.0.0-dev.1085.8a162dc",
3
+ "version": "8.0.0-dev.1086.2da738a",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/formio/angular-formio"
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '@angular/core';
2
- import { ActivatedRoute } from '@angular/router';
2
+ import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { FormioResourceConfig } from './resource.config';
4
4
  import { FormioResources } from './resources.service';
5
5
  import { FormioPromiseService } from '@formio/angular';
@@ -37,7 +37,7 @@ export declare class FormioResourceService {
37
37
  constructor(appConfig: FormioAppConfig, config: FormioResourceConfig, resourcesService: FormioResources);
38
38
  initialize(): void;
39
39
  setResource(resourceId: any): void;
40
- init(route: ActivatedRoute): Promise<any>;
40
+ init(route: ActivatedRoute, router?: Router): Promise<any>;
41
41
  onError(error: any): void;
42
42
  onFormError(err: any): void;
43
43
  loadForm(): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"resource.service.d.ts","sourceRoot":"","sources":["../../../projects/angular-formio/resource/src/resource.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;;AAIrD,qBACa,qBAAqB;IA8BvB,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,oBAAoB;IAChB,gBAAgB,EAAE,eAAe;IA/B/C,WAAW,UAAS;IACpB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,oBAAoB,CAAC;IACjC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAE1C,eAAe,EAAE,GAAG,CAAC;IACrB,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAE9B,eAAe,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC;IAEf,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,YAAY,EAAE,GAAG,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC;IAEjB,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,WAAW,EAAE,GAAG,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;gBAGjB,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,oBAAoB,EAChB,gBAAgB,EAAE,eAAe;IAOtD,UAAU;IAIV,WAAW,CAAC,UAAU,EAAE,GAAG;IA+B3B,IAAI,CAAC,KAAK,EAAE,cAAc;IA6B1B,OAAO,CAAC,KAAK,EAAE,GAAG;IAWlB,WAAW,CAAC,GAAG,EAAE,GAAG;IAKpB,QAAQ;IAuBR,WAAW;IAmDX,iBAAiB,CAAC,GAAG,EAAE,GAAG;IAK1B,YAAY;IAwBZ,IAAI,CAAC,QAAQ,EAAE,GAAG;IAclB,MAAM;yCA5OK,qBAAqB;6CAArB,qBAAqB;CAuPjC"}
1
+ {"version":3,"file":"resource.service.d.ts","sourceRoot":"","sources":["../../../projects/angular-formio/resource/src/resource.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;;AAIrD,qBACa,qBAAqB;IA8BvB,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,oBAAoB;IAChB,gBAAgB,EAAE,eAAe;IA/B/C,WAAW,UAAS;IACpB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,oBAAoB,CAAC;IACjC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAE1C,eAAe,EAAE,GAAG,CAAC;IACrB,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAE9B,eAAe,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC;IAEf,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,YAAY,EAAE,GAAG,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC;IAEjB,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,WAAW,EAAE,GAAG,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;gBAGjB,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,oBAAoB,EAChB,gBAAgB,EAAE,eAAe;IAOtD,UAAU;IAIV,WAAW,CAAC,UAAU,EAAE,GAAG;IA+B3B,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,GAAE,MAAa;IAsCjD,OAAO,CAAC,KAAK,EAAE,GAAG;IAWlB,WAAW,CAAC,GAAG,EAAE,GAAG;IAKpB,QAAQ;IAuBR,WAAW;IAmDX,iBAAiB,CAAC,GAAG,EAAE,GAAG;IAK1B,YAAY;IAwBZ,IAAI,CAAC,QAAQ,EAAE,GAAG;IAclB,MAAM;yCArPK,qBAAqB;6CAArB,qBAAqB;CAgQjC"}