@esfaenza/core 15.2.199 → 15.2.201

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,10 +1,12 @@
1
1
  import { Injector } from "@angular/core";
2
+ import { Location } from "@angular/common";
2
3
  import { AppEmbeddingExtensions } from "@esfaenza/extensions";
3
4
  import { BaseComponent } from "./base.component";
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class EmbeddingComponent extends BaseComponent {
6
7
  private injector;
7
8
  private emb;
9
+ private location;
8
10
  private LocalhostModuleMap;
9
11
  Module: string;
10
12
  Localhost: string;
@@ -12,7 +14,7 @@ export declare class EmbeddingComponent extends BaseComponent {
12
14
  Pars: string;
13
15
  QueryPars: string;
14
16
  EmbeddingSuccesfull: boolean;
15
- constructor(injector: Injector, emb: AppEmbeddingExtensions);
17
+ constructor(injector: Injector, emb: AppEmbeddingExtensions, location: Location);
16
18
  ngOnInit(): void;
17
19
  assignPageLoadParameters(): void;
18
20
  static ɵfac: i0.ɵɵFactoryDeclaration<EmbeddingComponent, never>;
@@ -7,11 +7,13 @@ import { JaceResourceComponent } from "../jace-resource/jace-resource.component"
7
7
  import { BaseComponent } from "./base.component";
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@esfaenza/extensions";
10
+ import * as i2 from "@angular/common";
10
11
  export class EmbeddingComponent extends BaseComponent {
11
- constructor(injector, emb) {
12
+ constructor(injector, emb, location) {
12
13
  super(injector);
13
14
  this.injector = injector;
14
15
  this.emb = emb;
16
+ this.location = location;
15
17
  // TODO: Automatizzare
16
18
  this.LocalhostModuleMap = {
17
19
  "crm": "31813"
@@ -43,18 +45,21 @@ export class EmbeddingComponent extends BaseComponent {
43
45
  // Io devo sostanzialmente prendere dal nome del modulo ("crm") in poi. Nome del modulo embeddato eslcuso
44
46
  console.log("Embedding...");
45
47
  this.Page = this.CompletePath.split("/").slice(4).join("/");
46
- console.log(this.Page);
47
- this.Pars = ";" + Object.keys(this.NavigationParameters).map(t => `${t}=${this.NavigationParameters[t]}`).join(";");
48
- console.log(this.Pars);
49
- this.QueryPars = "?" + Object.keys(this.QueryParameters).map(t => `${t}=${this.QueryParameters[t]}`).join(";");
50
- console.log(this.QueryPars);
48
+ console.log("Page: " + this.Page);
49
+ this.Pars = (Object.keys(this.NavigationParameters)?.length || 0) == 0 ? "" : ";" + Object.keys(this.NavigationParameters).map(t => `${t}=${this.NavigationParameters[t]}`).join(";");
50
+ console.log("Pars: " + this.Pars);
51
+ this.QueryPars = (Object.keys(this.QueryParameters)?.length || 0) == 0 ? "" : "?" + Object.keys(this.QueryParameters).map(t => `${t}=${this.QueryParameters[t]}`).join(";");
52
+ console.log("QueryPars: " + this.QueryPars);
53
+ let QueryPAramsWithoutIgnoreStorage = Object.keys(this.QueryParameters).map(t => t == "ignoreStorage" ? null : `${t}=${this.QueryParameters[t]}`).filter(t => !!t).join(";");
54
+ // Per rimuovere eventuali ignoreStorage se sto navigando a una ricerca
55
+ this.location.replaceState(this.CompletePath + this.Pars + (QueryPAramsWithoutIgnoreStorage ? '?' + QueryPAramsWithoutIgnoreStorage : ""));
51
56
  this.EmbeddingSuccesfull = !!this.Page && !!this.Module && !!this.Localhost;
52
57
  }
53
58
  }
54
- EmbeddingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmbeddingComponent, deps: [{ token: i0.Injector }, { token: i1.AppEmbeddingExtensions }], target: i0.ɵɵFactoryTarget.Component });
59
+ EmbeddingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmbeddingComponent, deps: [{ token: i0.Injector }, { token: i1.AppEmbeddingExtensions }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Component });
55
60
  EmbeddingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: EmbeddingComponent, isStandalone: true, selector: "embedding", usesInheritance: true, ngImport: i0, template: "<jace-resource *ngIf=\"EmbeddingSuccesfull && Page\" [Module]=\"Module\" [Localhost]=\"Localhost\" Page=\"{{Page}}{{Pars}}{{QueryPars}}\"></jace-resource>\r\n<div *ngIf=\"!EmbeddingSuccesfull\">\r\n Errori nell'embeddare risorsa {{Page}};{{Pars}} del modulo {{Module}} (Localhost {{Localhost}})\r\n</div>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JaceResourceComponent, selector: "jace-resource", inputs: ["Module", "ModuleKeyType", "Page", "Localhost", "Params"] }] });
56
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmbeddingComponent, decorators: [{
57
62
  type: Component,
58
63
  args: [{ selector: 'embedding', standalone: true, imports: [NgIf, JaceResourceComponent], template: "<jace-resource *ngIf=\"EmbeddingSuccesfull && Page\" [Module]=\"Module\" [Localhost]=\"Localhost\" Page=\"{{Page}}{{Pars}}{{QueryPars}}\"></jace-resource>\r\n<div *ngIf=\"!EmbeddingSuccesfull\">\r\n Errori nell'embeddare risorsa {{Page}};{{Pars}} del modulo {{Module}} (Localhost {{Localhost}})\r\n</div>" }]
59
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.AppEmbeddingExtensions }]; } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zcmMvYmFzZS9lbWJlZGRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3NyYy9iYXNlL2VtYmVkZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3ZDLGFBQWE7QUFDYixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVFqRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtJQWdCakQsWUFBb0IsUUFBa0IsRUFBVSxHQUEyQjtRQUN2RSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFEQSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBd0I7UUFkM0Usc0JBQXNCO1FBQ2QsdUJBQWtCLEdBQTJCO1lBQ2pELEtBQUssRUFBRSxPQUFPO1NBQ2pCLENBQUM7UUFTSyx3QkFBbUIsR0FBWSxJQUFJLENBQUM7SUFJM0MsQ0FBQztJQUVELFFBQVE7UUFDSixRQUFRLENBQUM7UUFDVCxJQUFJLEtBQUssR0FBbUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFOUQsV0FBVztRQUNYLDJCQUEyQjtRQUMzQixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRELEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXBDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUM3QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3JFOztnQkFFRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCx3QkFBd0I7UUFDcEIsa0VBQWtFO1FBQ2xFLDRFQUE0RTtRQUM1RSx5R0FBeUc7UUFDekcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwSCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0csT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ2hGLENBQUM7OytHQXhEUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw0RkNoQi9CLHFUQUdNLDRDRFdRLElBQUksNkZBQUUscUJBQXFCOzJGQUU1QixrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksV0FBVyxjQUVULElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuaW1wb3J0IHsgQXBwRW1iZWRkaW5nRXh0ZW5zaW9ucyB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG4vLyBDb21wb25lbnRpXHJcbmltcG9ydCB7IEphY2VSZXNvdXJjZUNvbXBvbmVudCB9IGZyb20gXCIuLi9qYWNlLXJlc291cmNlL2phY2UtcmVzb3VyY2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi9iYXNlLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2VtYmVkZGluZycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ2VtYmVkZGluZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nSWYsIEphY2VSZXNvdXJjZUNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVtYmVkZGluZ0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG5cclxuICAgIC8vIFRPRE86IEF1dG9tYXRpenphcmVcclxuICAgIHByaXZhdGUgTG9jYWxob3N0TW9kdWxlTWFwOiB7W2lkOiBzdHJpbmddOiBzdHJpbmd9ID0ge1xyXG4gICAgICAgIFwiY3JtXCI6IFwiMzE4MTNcIlxyXG4gICAgfTtcclxuXHJcbiAgICBwdWJsaWMgTW9kdWxlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgTG9jYWxob3N0OiBzdHJpbmc7XHJcblxyXG4gICAgcHVibGljIFBhZ2U6IHN0cmluZztcclxuICAgIHB1YmxpYyBQYXJzOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgUXVlcnlQYXJzOiBzdHJpbmc7XHJcblxyXG4gICAgcHVibGljIEVtYmVkZGluZ1N1Y2Nlc2Z1bGw6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIGVtYjogQXBwRW1iZWRkaW5nRXh0ZW5zaW9ucykge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICBsZXQgcm91dGU6IEFjdGl2YXRlZFJvdXRlID0gdGhpcy5pbmplY3Rvci5nZXQoQWN0aXZhdGVkUm91dGUpO1xyXG5cclxuICAgICAgICAvLyAwOiBWdW90b1xyXG4gICAgICAgIC8vIDE6IFwicGFnZXNcIiBvIFwicGFnZXNfZXh0XCJcclxuICAgICAgICAvLyAyOiBNb2R1bG9cclxuICAgICAgICAvLyAzLWVjYy4uLjogUGF0aFxyXG4gICAgICAgIHRoaXMuTW9kdWxlID0gdGhpcy5Db21wbGV0ZVBhdGguc3BsaXQoXCIvXCIpWzJdO1xyXG4gICAgICAgIHRoaXMuTG9jYWxob3N0ID0gdGhpcy5Mb2NhbGhvc3RNb2R1bGVNYXBbdGhpcy5Nb2R1bGVdO1xyXG5cclxuICAgICAgICByb3V0ZS51cmwuc3Vic2NyaWJlKChfKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2F0aGVyUm91dGVJbmZvcm1hdGlvbnMocm91dGUpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuUGFnZSAmJiB0aGlzLmVtYi5Jc1JlbG9hZEFsbG93ZWQoKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5QYWdlID0gdGhpcy5QYXJzID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7IHRoaXMuYXNzaWduUGFnZUxvYWRQYXJhbWV0ZXJzKCk7IH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHRoaXMuYXNzaWduUGFnZUxvYWRQYXJhbWV0ZXJzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXNzaWduUGFnZUxvYWRQYXJhbWV0ZXJzKCkge1xyXG4gICAgICAgIC8vIEVzZW1waW8gZGkgQ29tcGxldGUgcGF0aDogXCIvcGFnZXMvZW1iZWQvY3JtL2xlYWRzL2xlYWRzX3NlYXJjaFwiXHJcbiAgICAgICAgLy8gRXNlbXBpbyBkaSBzbGljZXM6IFtcIlwiLCBcInBhZ2VzXCIsIFwiZW1iZWRcIiwgXCJjcm1cIiwgXCJsZWFkc1wiLCBcImxlYWRzX3NlYXJjaFwiXVxyXG4gICAgICAgIC8vIElvIGRldm8gc29zdGFuemlhbG1lbnRlIHByZW5kZXJlIGRhbCBub21lIGRlbCBtb2R1bG8gKFwiY3JtXCIpIGluIHBvaS4gTm9tZSBkZWwgbW9kdWxvIGVtYmVkZGF0byBlc2xjdXNvXHJcbiAgICAgICAgY29uc29sZS5sb2coXCJFbWJlZGRpbmcuLi5cIilcclxuICAgICAgICB0aGlzLlBhZ2UgPSB0aGlzLkNvbXBsZXRlUGF0aC5zcGxpdChcIi9cIikuc2xpY2UoNCkuam9pbihcIi9cIik7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5QYWdlKVxyXG4gICAgICAgIHRoaXMuUGFycyA9IFwiO1wiICsgT2JqZWN0LmtleXModGhpcy5OYXZpZ2F0aW9uUGFyYW1ldGVycykubWFwKHQgPT4gYCR7dH09JHt0aGlzLk5hdmlnYXRpb25QYXJhbWV0ZXJzW3RdfWApLmpvaW4oXCI7XCIpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuUGFycyk7XHJcbiAgICAgICAgdGhpcy5RdWVyeVBhcnMgPSBcIj9cIiArIE9iamVjdC5rZXlzKHRoaXMuUXVlcnlQYXJhbWV0ZXJzKS5tYXAodCA9PiBgJHt0fT0ke3RoaXMuUXVlcnlQYXJhbWV0ZXJzW3RdfWApLmpvaW4oXCI7XCIpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuUXVlcnlQYXJzKVxyXG5cclxuICAgICAgICB0aGlzLkVtYmVkZGluZ1N1Y2Nlc2Z1bGwgPSAhIXRoaXMuUGFnZSAmJiAhIXRoaXMuTW9kdWxlICYmICEhdGhpcy5Mb2NhbGhvc3Q7XHJcbiAgICB9XHJcbn0iLCI8amFjZS1yZXNvdXJjZSAqbmdJZj1cIkVtYmVkZGluZ1N1Y2Nlc2Z1bGwgJiYgUGFnZVwiIFtNb2R1bGVdPVwiTW9kdWxlXCIgW0xvY2FsaG9zdF09XCJMb2NhbGhvc3RcIiBQYWdlPVwie3tQYWdlfX17e1BhcnN9fXt7UXVlcnlQYXJzfX1cIj48L2phY2UtcmVzb3VyY2U+XHJcbjxkaXYgKm5nSWY9XCIhRW1iZWRkaW5nU3VjY2VzZnVsbFwiPlxyXG4gICAgRXJyb3JpIG5lbGwnZW1iZWRkYXJlIHJpc29yc2Ege3tQYWdlfX07e3tQYXJzfX0gZGVsIG1vZHVsbyB7e01vZHVsZX19IChMb2NhbGhvc3Qge3tMb2NhbGhvc3R9fSlcclxuPC9kaXY+Il19
64
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.AppEmbeddingExtensions }, { type: i2.Location }]; } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zcmMvYmFzZS9lbWJlZGRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3NyYy9iYXNlL2VtYmVkZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFZLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR2pELGFBQWE7QUFDYixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFRakQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQWE7SUFnQmpELFlBQW9CLFFBQWtCLEVBQVUsR0FBMkIsRUFBVSxRQUFrQjtRQUNuRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFEQSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBd0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBZHZHLHNCQUFzQjtRQUNkLHVCQUFrQixHQUEyQjtZQUNqRCxLQUFLLEVBQUUsT0FBTztTQUNqQixDQUFDO1FBU0ssd0JBQW1CLEdBQVksSUFBSSxDQUFDO0lBSTNDLENBQUM7SUFFRCxRQUFRO1FBQ0osUUFBUSxDQUFDO1FBQ1QsSUFBSSxLQUFLLEdBQW1CLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTlELFdBQVc7UUFDWCwyQkFBMkI7UUFDM0IsWUFBWTtRQUNaLGlCQUFp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QyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUU1Syx1RUFBdUU7UUFDdkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUzSSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDaEYsQ0FBQzs7K0dBN0RRLGtCQUFrQjttR0FBbEIsa0JBQWtCLDRGQ2hCL0IscVRBR00sNENEV1EsSUFBSSw2RkFBRSxxQkFBcUI7MkZBRTVCLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDSSxXQUFXLGNBRVQsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IExvY2F0aW9uLCBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuaW1wb3J0IHsgQXBwRW1iZWRkaW5nRXh0ZW5zaW9ucyB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG4vLyBDb21wb25lbnRpXHJcbmltcG9ydCB7IEphY2VSZXNvdXJjZUNvbXBvbmVudCB9IGZyb20gXCIuLi9qYWNlLXJlc291cmNlL2phY2UtcmVzb3VyY2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi9iYXNlLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2VtYmVkZGluZycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ2VtYmVkZGluZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nSWYsIEphY2VSZXNvdXJjZUNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVtYmVkZGluZ0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG5cclxuICAgIC8vIFRPRE86IEF1dG9tYXRpenphcmVcclxuICAgIHByaXZhdGUgTG9jYWxob3N0TW9kdWxlTWFwOiB7W2lkOiBzdHJpbmddOiBzdHJpbmd9ID0ge1xyXG4gICAgICAgIFwiY3JtXCI6IFwiMzE4MTNcIlxyXG4gICAgfTtcclxuXHJcbiAgICBwdWJsaWMgTW9kdWxlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgTG9jYWxob3N0OiBzdHJpbmc7XHJcblxyXG4gICAgcHVibGljIFBhZ2U6IHN0cmluZztcclxuICAgIHB1YmxpYyBQYXJzOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgUXVlcnlQYXJzOiBzdHJpbmc7XHJcblxyXG4gICAgcHVibGljIEVtYmVkZGluZ1N1Y2Nlc2Z1bGw6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIGVtYjogQXBwRW1iZWRkaW5nRXh0ZW5zaW9ucywgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24pIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgbGV0IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFjdGl2YXRlZFJvdXRlKTtcclxuXHJcbiAgICAgICAgLy8gMDogVnVvdG9cclxuICAgICAgICAvLyAxOiBcInBhZ2VzXCIgbyBcInBhZ2VzX2V4dFwiXHJcbiAgICAgICAgLy8gMjogTW9kdWxvXHJcbiAgICAgICAgLy8gMy1lY2MuLi46IFBhdGhcclxuICAgICAgICB0aGlzLk1vZHVsZSA9IHRoaXMuQ29tcGxldGVQYXRoLnNwbGl0KFwiL1wiKVsyXTtcclxuICAgICAgICB0aGlzLkxvY2FsaG9zdCA9IHRoaXMuTG9jYWxob3N0TW9kdWxlTWFwW3RoaXMuTW9kdWxlXTtcclxuXHJcbiAgICAgICAgcm91dGUudXJsLnN1YnNjcmliZSgoXykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmdhdGhlclJvdXRlSW5mb3JtYXRpb25zKHJvdXRlKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLlBhZ2UgJiYgdGhpcy5lbWIuSXNSZWxvYWRBbGxvd2VkKCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuUGFnZSA9IHRoaXMuUGFycyA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geyB0aGlzLmFzc2lnblBhZ2VMb2FkUGFyYW1ldGVycygpOyB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFzc2lnblBhZ2VMb2FkUGFyYW1ldGVycygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzc2lnblBhZ2VMb2FkUGFyYW1ldGVycygpIHtcclxuICAgICAgICAvLyBFc2VtcGlvIGRpIENvbXBsZXRlIHBhdGg6IFwiL3BhZ2VzL2VtYmVkL2NybS9sZWFkcy9sZWFkc19zZWFyY2hcIlxyXG4gICAgICAgIC8vIEVzZW1waW8gZGkgc2xpY2VzOiBbXCJcIiwgXCJwYWdlc1wiLCBcImVtYmVkXCIsIFwiY3JtXCIsIFwibGVhZHNcIiwgXCJsZWFkc19zZWFyY2hcIl1cclxuICAgICAgICAvLyBJbyBkZXZvIHNvc3RhbnppYWxtZW50ZSBwcmVuZGVyZSBkYWwgbm9tZSBkZWwgbW9kdWxvIChcImNybVwiKSBpbiBwb2kuIE5vbWUgZGVsIG1vZHVsbyBlbWJlZGRhdG8gZXNsY3Vzb1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiRW1iZWRkaW5nLi4uXCIpXHJcbiAgICAgICAgdGhpcy5QYWdlID0gdGhpcy5Db21wbGV0ZVBhdGguc3BsaXQoXCIvXCIpLnNsaWNlKDQpLmpvaW4oXCIvXCIpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiUGFnZTogXCIgKyB0aGlzLlBhZ2UpXHJcbiAgICAgICAgdGhpcy5QYXJzID0gKE9iamVjdC5rZXlzKHRoaXMuTmF2aWdhdGlvblBhcmFtZXRlcnMpPy5sZW5ndGggfHwgMCkgPT0gMCA/IFwiXCIgOiBcIjtcIiArIE9iamVjdC5rZXlzKHRoaXMuTmF2aWdhdGlvblBhcmFtZXRlcnMpLm1hcCh0ID0+IGAke3R9PSR7dGhpcy5OYXZpZ2F0aW9uUGFyYW1ldGVyc1t0XX1gKS5qb2luKFwiO1wiKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIlBhcnM6IFwiICsgdGhpcy5QYXJzKTtcclxuICAgICAgICB0aGlzLlF1ZXJ5UGFycyA9IChPYmplY3Qua2V5cyh0aGlzLlF1ZXJ5UGFyYW1ldGVycyk/Lmxlbmd0aCB8fCAwKSA9PSAwID8gXCJcIiA6IFwiP1wiICsgT2JqZWN0LmtleXModGhpcy5RdWVyeVBhcmFtZXRlcnMpLm1hcCh0ID0+IGAke3R9PSR7dGhpcy5RdWVyeVBhcmFtZXRlcnNbdF19YCkuam9pbihcIjtcIik7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJRdWVyeVBhcnM6IFwiICsgdGhpcy5RdWVyeVBhcnMpXHJcblxyXG4gICAgICAgIGxldCBRdWVyeVBBcmFtc1dpdGhvdXRJZ25vcmVTdG9yYWdlID0gT2JqZWN0LmtleXModGhpcy5RdWVyeVBhcmFtZXRlcnMpLm1hcCh0ID0+IHQgPT0gXCJpZ25vcmVTdG9yYWdlXCIgPyBudWxsIDogYCR7dH09JHt0aGlzLlF1ZXJ5UGFyYW1ldGVyc1t0XX1gKS5maWx0ZXIodCA9PiAhIXQpLmpvaW4oXCI7XCIpXHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gUGVyIHJpbXVvdmVyZSBldmVudHVhbGkgaWdub3JlU3RvcmFnZSBzZSBzdG8gbmF2aWdhbmRvIGEgdW5hIHJpY2VyY2FcclxuICAgICAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSh0aGlzLkNvbXBsZXRlUGF0aCArIHRoaXMuUGFycyArIChRdWVyeVBBcmFtc1dpdGhvdXRJZ25vcmVTdG9yYWdlID8gJz8nICsgUXVlcnlQQXJhbXNXaXRob3V0SWdub3JlU3RvcmFnZSA6IFwiXCIpKTtcclxuXHJcbiAgICAgICAgdGhpcy5FbWJlZGRpbmdTdWNjZXNmdWxsID0gISF0aGlzLlBhZ2UgJiYgISF0aGlzLk1vZHVsZSAmJiAhIXRoaXMuTG9jYWxob3N0O1xyXG4gICAgfVxyXG59IiwiPGphY2UtcmVzb3VyY2UgKm5nSWY9XCJFbWJlZGRpbmdTdWNjZXNmdWxsICYmIFBhZ2VcIiBbTW9kdWxlXT1cIk1vZHVsZVwiIFtMb2NhbGhvc3RdPVwiTG9jYWxob3N0XCIgUGFnZT1cInt7UGFnZX19e3tQYXJzfX17e1F1ZXJ5UGFyc319XCI+PC9qYWNlLXJlc291cmNlPlxyXG48ZGl2ICpuZ0lmPVwiIUVtYmVkZGluZ1N1Y2Nlc2Z1bGxcIj5cclxuICAgIEVycm9yaSBuZWxsJ2VtYmVkZGFyZSByaXNvcnNhIHt7UGFnZX19O3t7UGFyc319IGRlbCBtb2R1bG8ge3tNb2R1bGV9fSAoTG9jYWxob3N0IHt7TG9jYWxob3N0fX0pXHJcbjwvZGl2PiJdfQ==