@coolon/angular-ui-powerups 16.1.0-aplpha.187 → 16.1.0-aplpha.189

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  This library was generated with [Nx](https://nx.dev).
4
4
 
5
+ ## Documentation
6
+
7
+ - [Angular UI Powerups + Plugin Overview](./docs/AngularUiPowerupsAndPluginOverview.md)
8
+
5
9
  ## Running unit tests
6
10
 
7
11
  Run `nx test angular-ui-powerups` to execute the unit tests.
@@ -1,7 +1,8 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
+ import { DOCUMENT } from '@angular/common';
2
3
  import { Component, HostBinding, Input } from '@angular/core';
3
4
  import { Dsl, proxify, Proxify, StoreInValueModel, ValueModel } from '@coolon/pectin';
4
- import { HorizontalAlignment } from "../../alignment";
5
+ import { HorizontalAlignment } from '../../alignment';
5
6
  import { CommandFace as CommandFaceUtil } from '../../commands/command-face';
6
7
  import { PopupAwareComponent } from '../../commands/group/popup-aware.component';
7
8
  import * as i0 from "@angular/core";
@@ -27,6 +28,7 @@ export class FileDownloadComponent extends PopupAwareComponent {
27
28
  buttonStyle$;
28
29
  color$;
29
30
  tooltip$;
31
+ document = this.inject(DOCUMENT);
30
32
  constructor() {
31
33
  super();
32
34
  const { chain } = Dsl.disposeWith(this);
@@ -35,15 +37,24 @@ export class FileDownloadComponent extends PopupAwareComponent {
35
37
  ...it,
36
38
  icon() {
37
39
  return 'mat:file_download';
38
- },
40
+ }
39
41
  };
40
42
  }).mapToList();
41
43
  this.buttonStyle$ = chain(this.download$).map(f => CommandFaceUtil.getStyleOf(f));
42
44
  this.color$ = chain(this.download$).map(f => CommandFaceUtil.getColorOf(f));
43
45
  this.tooltip$ = chain(this.download$).map(f => CommandFaceUtil.getTooltipOf(f));
44
46
  }
47
+ downloadFile() {
48
+ // Create an invisible link attached to the main document body, not the menu
49
+ const link = this.document.createElement('a');
50
+ link.href = this.download$.value.url;
51
+ link.download = this.download$.value.saveAs;
52
+ document.body.appendChild(link);
53
+ link.click();
54
+ document.body.removeChild(link);
55
+ }
45
56
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FileDownloadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
46
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: FileDownloadComponent, selector: "aup-file-download", inputs: { download$: "download$", download: "download", alignFace: "alignFace" }, host: { properties: { "class": "this.alignFace" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!inPopup\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.STROKED\">\n <a mat-stroked-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.RAISED\">\n <a mat-raised-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <a mat-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n </ng-container>\n\n</ng-container>\n\n<ng-container *ngIf=\"inPopup\">\n <a mat-menu-item [href]=\"download?.url\" [download]=\"download?.saveAs\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n</ng-container>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "component", type: i5.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
57
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: FileDownloadComponent, selector: "aup-file-download", inputs: { download$: "download$", download: "download", alignFace: "alignFace" }, host: { properties: { "class": "this.alignFace" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!inPopup\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.STROKED\">\n <a mat-stroked-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.RAISED\">\n <a mat-raised-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <a mat-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n </ng-container>\n\n</ng-container>\n\n<ng-container *ngIf=\"inPopup\">\n <a mat-menu-item (click)=\"downloadFile()\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n</ng-container>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "component", type: i5.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
47
58
  }
48
59
  __decorate([
49
60
  Proxify(),
@@ -55,7 +66,7 @@ __decorate([
55
66
  ], FileDownloadComponent.prototype, "download", null);
56
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FileDownloadComponent, decorators: [{
57
68
  type: Component,
58
- args: [{ selector: 'aup-file-download', template: "<ng-container *ngIf=\"!inPopup\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.STROKED\">\n <a mat-stroked-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.RAISED\">\n <a mat-raised-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <a mat-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n </ng-container>\n\n</ng-container>\n\n<ng-container *ngIf=\"inPopup\">\n <a mat-menu-item [href]=\"download?.url\" [download]=\"download?.saveAs\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n</ng-container>\n\n" }]
69
+ args: [{ selector: 'aup-file-download', template: "<ng-container *ngIf=\"!inPopup\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.STROKED\">\n <a mat-stroked-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.RAISED\">\n <a mat-raised-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <a mat-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n </ng-container>\n\n</ng-container>\n\n<ng-container *ngIf=\"inPopup\">\n <a mat-menu-item (click)=\"downloadFile()\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n</ng-container>\n\n" }]
59
70
  }], ctorParameters: function () { return []; }, propDecorators: { download$: [{
60
71
  type: Input
61
72
  }], download: [{
@@ -64,15 +75,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
64
75
  type: Input
65
76
  }, {
66
77
  type: HostBinding,
67
- args: ["class"]
78
+ args: ['class']
68
79
  }] } });
69
80
  (function (FileDownloadComponent) {
70
81
  function createInfo(options) {
71
82
  return {
72
83
  ...options,
73
- ...options.face,
84
+ ...options.face
74
85
  };
75
86
  }
76
87
  FileDownloadComponent.createInfo = createInfo;
77
88
  })(FileDownloadComponent || (FileDownloadComponent = {}));
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kb3dubG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUvZmlsZS1kb3dubG9hZC9maWxlLWRvd25sb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS9maWxlLWRvd25sb2FkL2ZpbGUtZG93bmxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsV0FBVyxFQUFVLEtBQUssRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUcxRixPQUFPLEVBRUwsR0FBRyxFQUVILE9BQU8sRUFDUCxPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLFVBQVUsRUFFWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxXQUFXLElBQUksZUFBZSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFM0UsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7QUFHL0Usd0VBQXdFO0FBQ3hFOztHQUVHO0FBTUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG1CQUFtQjtJQUV6QyxlQUFlLEdBQUcsZUFBZSxDQUFDO0lBRzVDLDhCQUE0RCxPQUFPLENBQUMsQ0FBQSxVQUE4QyxDQUFBLENBQUMsQ0FBQztJQUFwSCxJQUFBLFNBQVMsK0NBQTJHO0lBQXBILElBQUEsU0FBUyxxREFBMkc7SUFHcEgsMkJBQTZDO0lBQTdDLElBQUEsUUFBUSw4Q0FBcUM7SUFBN0MsSUFBQSxRQUFRLG9EQUFxQztJQUl0RCxTQUFTLEdBQXdCLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztJQUVuRCxNQUFNLENBQWdEO0lBRTVDLFlBQVksQ0FBMEI7SUFDdEMsTUFBTSxDQUFnQztJQUN0QyxRQUFRLENBQTBCO0lBRXJEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzNDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDcEIsR0FBRyxFQUFFO2dCQUNMLElBQUk7b0JBQ0YsT0FBTyxtQkFBbUIsQ0FBQTtnQkFDNUIsQ0FBQzthQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7dUdBbkNVLHFCQUFxQjsyRkFBckIscUJBQXFCLHVOQzVCbEMseXlDQThCQTs7QURHVztJQURDLE9BQU8sRUFBRTs4QkFDQyxVQUFVO3NEQUErRjtBQUdwSDtJQURDLGlCQUFpQixFQUFFOztxREFDeUI7MkZBUjNDLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7MEVBU3BCLFNBQVM7c0JBRGpCLEtBQUs7Z0JBSUcsUUFBUTtzQkFEaEIsS0FBSztnQkFLTixTQUFTO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsT0FBTzs7QUE0QnRCLFdBQWlCLHFCQUFxQjtJQUVwQyxTQUFnQixVQUFVLENBQUMsT0FBMkQ7UUFDcEYsT0FBTztZQUNMLEdBQUcsT0FBTztZQUNWLEdBQUcsT0FBTyxDQUFDLElBQUk7U0FDaEIsQ0FBQTtJQUNILENBQUM7SUFMZSxnQ0FBVSxhQUt6QixDQUFBO0FBTUgsQ0FBQyxFQWJnQixxQkFBcUIsS0FBckIscUJBQXFCLFFBYXJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RoZW1lUGFsZXR0ZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NvcmVcIjtcbmltcG9ydCB7TWF0TWVudX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcbmltcG9ydCB7XG4gIENvbW1hbmRGYWNlLFxuICBEc2wsXG4gIExpc3RNb2RlbCxcbiAgcHJveGlmeSxcbiAgUHJveGlmeSxcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQge0hvcml6b250YWxBbGlnbm1lbnR9IGZyb20gXCIuLi8uLi9hbGlnbm1lbnRcIjtcbmltcG9ydCB7Q29tbWFuZEZhY2UgYXMgQ29tbWFuZEZhY2VVdGlsfSBmcm9tICcuLi8uLi9jb21tYW5kcy9jb21tYW5kLWZhY2UnO1xuaW1wb3J0IHtDb21tYW5kQ29udGFpbmVyfSBmcm9tICcuLi8uLi9jb21tYW5kcy9ncm91cC9jb21tYW5kLWNvbnRhaW5lcic7XG5pbXBvcnQge1BvcHVwQXdhcmVDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvbW1hbmRzL2dyb3VwL3BvcHVwLWF3YXJlLmNvbXBvbmVudCc7XG5pbXBvcnQge1BPUFVQX0NPTlRBSU5FUiwgUG9wdXBDb250YWluZXJ9IGZyb20gJy4uLy4uL2NvbW1hbmRzL2dyb3VwL3BvcHVwLWNvbnRhaW5lcic7XG5cbi8vIFRPRE86IHRoaXMgaXMgYW4gdWdseSBjb3B5IGFuZCBwYXN0ZSBoYWNrIGZyb20gdGhlIENvbW1hbmQgY29tcG9uZW50LlxuLyoqXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtZmlsZS1kb3dubG9hZCcsXG4gIHRlbXBsYXRlVXJsOiBcImZpbGUtZG93bmxvYWQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCJmaWxlLWRvd25sb2FkLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVEb3dubG9hZENvbXBvbmVudCBleHRlbmRzIFBvcHVwQXdhcmVDb21wb25lbnQge1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBDb21tYW5kRmFjZVV0aWwgPSBDb21tYW5kRmFjZVV0aWw7XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBkb3dubG9hZCQ6IFZhbHVlTW9kZWw8RmlsZURvd25sb2FkQ29tcG9uZW50LkRvd25sb2FkSW5mbz4gPSBwcm94aWZ5KFZhbHVlTW9kZWw8RmlsZURvd25sb2FkQ29tcG9uZW50LkRvd25sb2FkSW5mbz4pO1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgpXG4gIGFjY2Vzc29yIGRvd25sb2FkOiBGaWxlRG93bmxvYWRDb21wb25lbnQuRG93bmxvYWRJbmZvO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZyhcImNsYXNzXCIpXG4gIGFsaWduRmFjZTogSG9yaXpvbnRhbEFsaWdubWVudCA9IEhvcml6b250YWxBbGlnbm1lbnQuQ0VOVEVSO1xuXG4gIHJlYWRvbmx5IGZhY2VzJDogTGlzdE1vZGVsPEZpbGVEb3dubG9hZENvbXBvbmVudC5Eb3dubG9hZEluZm8+O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBidXR0b25TdHlsZSQ6IFZhbHVlTW9kZWxDaGFpbjxzdHJpbmc+O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29sb3IkOiBWYWx1ZU1vZGVsQ2hhaW48VGhlbWVQYWxldHRlPjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRvb2x0aXAkOiBWYWx1ZU1vZGVsQ2hhaW48c3RyaW5nPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG5cbiAgICB0aGlzLmZhY2VzJCA9IGNoYWluKHRoaXMuZG93bmxvYWQkKS5tYXAoaXQgPT4ge1xuICAgICAgcmV0dXJuIGl0Lmljb24gPyBpdCA6IHtcbiAgICAgICAgLi4uaXQsXG4gICAgICAgIGljb24oKSB7XG4gICAgICAgICAgcmV0dXJuICdtYXQ6ZmlsZV9kb3dubG9hZCdcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSkubWFwVG9MaXN0KCk7XG4gICAgdGhpcy5idXR0b25TdHlsZSQgPSBjaGFpbih0aGlzLmRvd25sb2FkJCkubWFwKGYgPT4gQ29tbWFuZEZhY2VVdGlsLmdldFN0eWxlT2YoZikpO1xuICAgIHRoaXMuY29sb3IkID0gY2hhaW4odGhpcy5kb3dubG9hZCQpLm1hcChmID0+IENvbW1hbmRGYWNlVXRpbC5nZXRDb2xvck9mKGYpKTtcbiAgICB0aGlzLnRvb2x0aXAkID0gY2hhaW4odGhpcy5kb3dubG9hZCQpLm1hcChmID0+IENvbW1hbmRGYWNlVXRpbC5nZXRUb29sdGlwT2YoZikpO1xuICB9XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBGaWxlRG93bmxvYWRDb21wb25lbnQge1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbmZvKG9wdGlvbnM6IHsgZmFjZTogQ29tbWFuZEZhY2UsIHVybDogc3RyaW5nLCBzYXZlQXM6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAuLi5vcHRpb25zLmZhY2UsXG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEluZm8gZXh0ZW5kcyBDb21tYW5kRmFjZSB7XG4gICAgc2F2ZUFzOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhaW5Qb3B1cFwiPlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJidXR0b25TdHlsZSQudmFsdWVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDb21tYW5kRmFjZVV0aWwuU3R5bGUuU1RST0tFRFwiPlxuICAgICAgPGEgbWF0LXN0cm9rZWQtYnV0dG9uIFtocmVmXT1cImRvd25sb2FkPy51cmxcIiBbZG93bmxvYWRdPVwiZG93bmxvYWQ/LnNhdmVBc1wiXG4gICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwJC52YWx1ZVwiPlxuICAgICAgICA8YXVwLWNvbW1hbmQtZmFjZSBbY2xhc3NdPVwiYWxpZ25GYWNlXCIgW2ZhY2VzXT1cImZhY2VzJC52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgICAgIDwvYT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDb21tYW5kRmFjZVV0aWwuU3R5bGUuUkFJU0VEXCI+XG4gICAgICA8YSBtYXQtcmFpc2VkLWJ1dHRvbiBbaHJlZl09XCJkb3dubG9hZD8udXJsXCIgW2Rvd25sb2FkXT1cImRvd25sb2FkPy5zYXZlQXNcIlxuICAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcCQudmFsdWVcIj5cbiAgICAgICAgPGF1cC1jb21tYW5kLWZhY2UgW2NsYXNzXT1cImFsaWduRmFjZVwiIFtmYWNlc109XCJmYWNlcyQudmFsdWVcIj48L2F1cC1jb21tYW5kLWZhY2U+XG4gICAgICA8L2E+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgPGEgbWF0LWJ1dHRvbiBbaHJlZl09XCJkb3dubG9hZD8udXJsXCIgW2Rvd25sb2FkXT1cImRvd25sb2FkPy5zYXZlQXNcIlxuICAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcCQudmFsdWVcIj5cbiAgICAgICAgPGF1cC1jb21tYW5kLWZhY2UgW2NsYXNzXT1cImFsaWduRmFjZVwiIFtmYWNlc109XCJmYWNlcyQudmFsdWVcIj48L2F1cC1jb21tYW5kLWZhY2U+XG4gICAgICA8L2E+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImluUG9wdXBcIj5cbiAgPGEgbWF0LW1lbnUtaXRlbSBbaHJlZl09XCJkb3dubG9hZD8udXJsXCIgW2Rvd25sb2FkXT1cImRvd25sb2FkPy5zYXZlQXNcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwJC52YWx1ZVwiPlxuICAgIDxhdXAtY29tbWFuZC1mYWNlIFtjbGFzc109XCJhbGlnbkZhY2VcIiBbZmFjZXNdPVwiZmFjZXMkLnZhbHVlXCI+PC9hdXAtY29tbWFuZC1mYWNlPlxuICA8L2E+XG48L25nLWNvbnRhaW5lcj5cblxuIl19
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kb3dubG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUvZmlsZS1kb3dubG9hZC9maWxlLWRvd25sb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS9maWxlLWRvd25sb2FkL2ZpbGUtZG93bmxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUVMLEdBQUcsRUFFSCxPQUFPLEVBQ1AsT0FBTyxFQUNQLGlCQUFpQixFQUNqQixVQUFVLEVBRVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxJQUFJLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7O0FBRWpGLHdFQUF3RTtBQUN4RTs7R0FFRztBQU1ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxtQkFBbUI7SUFFekMsZUFBZSxHQUFHLGVBQWUsQ0FBQztJQUc1Qyw4QkFBNEQsT0FBTyxDQUFDLENBQUEsVUFBOEMsQ0FBQSxDQUFDLENBQUM7SUFBcEgsSUFBQSxTQUFTLCtDQUEyRztJQUFwSCxJQUFBLFNBQVMscURBQTJHO0lBR3BILDJCQUE2QztJQUE3QyxJQUFBLFFBQVEsOENBQXFDO0lBQTdDLElBQUEsUUFBUSxvREFBcUM7SUFJdEQsU0FBUyxHQUF3QixtQkFBbUIsQ0FBQyxNQUFNLENBQUM7SUFFbkQsTUFBTSxDQUFnRDtJQUU1QyxZQUFZLENBQTBCO0lBQ3RDLE1BQU0sQ0FBZ0M7SUFDdEMsUUFBUSxDQUEwQjtJQUVsQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVwRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUMzQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLEdBQUcsRUFBRTtnQkFDTCxJQUFJO29CQUNGLE9BQU8sbUJBQW1CLENBQUM7Z0JBQzdCLENBQUM7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsWUFBWTtRQUNWLDRFQUE0RTtRQUM1RSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUU1QyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO3VHQWhEVSxxQkFBcUI7MkZBQXJCLHFCQUFxQix1TkMxQmxDLDJ3Q0E4QkE7O0FEQ1c7SUFEQyxPQUFPLEVBQUU7OEJBQ0MsVUFBVTtzREFBK0Y7QUFHcEg7SUFEQyxpQkFBaUIsRUFBRTs7cURBQ3lCOzJGQVIzQyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1COzBFQVNwQixTQUFTO3NCQURqQixLQUFLO2dCQUlHLFFBQVE7c0JBRGhCLEtBQUs7Z0JBS04sU0FBUztzQkFGUixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLE9BQU87O0FBeUN0QixXQUFpQixxQkFBcUI7SUFFcEMsU0FBZ0IsVUFBVSxDQUFDLE9BQTJEO1FBQ3BGLE9BQU87WUFDTCxHQUFHLE9BQU87WUFDVixHQUFHLE9BQU8sQ0FBQyxJQUFJO1NBQ2hCLENBQUM7SUFDSixDQUFDO0lBTGUsZ0NBQVUsYUFLekIsQ0FBQTtBQU1ILENBQUMsRUFiZ0IscUJBQXFCLEtBQXJCLHFCQUFxQixRQWFyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIENvbW1hbmRGYWNlLFxuICBEc2wsXG4gIExpc3RNb2RlbCxcbiAgcHJveGlmeSxcbiAgUHJveGlmeSxcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBIb3Jpem9udGFsQWxpZ25tZW50IH0gZnJvbSAnLi4vLi4vYWxpZ25tZW50JztcbmltcG9ydCB7IENvbW1hbmRGYWNlIGFzIENvbW1hbmRGYWNlVXRpbCB9IGZyb20gJy4uLy4uL2NvbW1hbmRzL2NvbW1hbmQtZmFjZSc7XG5pbXBvcnQgeyBQb3B1cEF3YXJlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtYXdhcmUuY29tcG9uZW50JztcblxuLy8gVE9ETzogdGhpcyBpcyBhbiB1Z2x5IGNvcHkgYW5kIHBhc3RlIGhhY2sgZnJvbSB0aGUgQ29tbWFuZCBjb21wb25lbnQuXG4vKipcbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1maWxlLWRvd25sb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICdmaWxlLWRvd25sb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2ZpbGUtZG93bmxvYWQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlRG93bmxvYWRDb21wb25lbnQgZXh0ZW5kcyBQb3B1cEF3YXJlQ29tcG9uZW50IHtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgQ29tbWFuZEZhY2VVdGlsID0gQ29tbWFuZEZhY2VVdGlsO1xuXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgZG93bmxvYWQkOiBWYWx1ZU1vZGVsPEZpbGVEb3dubG9hZENvbXBvbmVudC5Eb3dubG9hZEluZm8+ID0gcHJveGlmeShWYWx1ZU1vZGVsPEZpbGVEb3dubG9hZENvbXBvbmVudC5Eb3dubG9hZEluZm8+KTtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoKVxuICBhY2Nlc3NvciBkb3dubG9hZDogRmlsZURvd25sb2FkQ29tcG9uZW50LkRvd25sb2FkSW5mbztcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgYWxpZ25GYWNlOiBIb3Jpem9udGFsQWxpZ25tZW50ID0gSG9yaXpvbnRhbEFsaWdubWVudC5DRU5URVI7XG5cbiAgcmVhZG9ubHkgZmFjZXMkOiBMaXN0TW9kZWw8RmlsZURvd25sb2FkQ29tcG9uZW50LkRvd25sb2FkSW5mbz47XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGJ1dHRvblN0eWxlJDogVmFsdWVNb2RlbENoYWluPHN0cmluZz47XG4gIHByb3RlY3RlZCByZWFkb25seSBjb2xvciQ6IFZhbHVlTW9kZWxDaGFpbjxUaGVtZVBhbGV0dGU+O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG9vbHRpcCQ6IFZhbHVlTW9kZWxDaGFpbjxzdHJpbmc+O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBkb2N1bWVudCA9IHRoaXMuaW5qZWN0KERPQ1VNRU5UKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcblxuICAgIHRoaXMuZmFjZXMkID0gY2hhaW4odGhpcy5kb3dubG9hZCQpLm1hcChpdCA9PiB7XG4gICAgICByZXR1cm4gaXQuaWNvbiA/IGl0IDoge1xuICAgICAgICAuLi5pdCxcbiAgICAgICAgaWNvbigpIHtcbiAgICAgICAgICByZXR1cm4gJ21hdDpmaWxlX2Rvd25sb2FkJztcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KS5tYXBUb0xpc3QoKTtcbiAgICB0aGlzLmJ1dHRvblN0eWxlJCA9IGNoYWluKHRoaXMuZG93bmxvYWQkKS5tYXAoZiA9PiBDb21tYW5kRmFjZVV0aWwuZ2V0U3R5bGVPZihmKSk7XG4gICAgdGhpcy5jb2xvciQgPSBjaGFpbih0aGlzLmRvd25sb2FkJCkubWFwKGYgPT4gQ29tbWFuZEZhY2VVdGlsLmdldENvbG9yT2YoZikpO1xuICAgIHRoaXMudG9vbHRpcCQgPSBjaGFpbih0aGlzLmRvd25sb2FkJCkubWFwKGYgPT4gQ29tbWFuZEZhY2VVdGlsLmdldFRvb2x0aXBPZihmKSk7XG4gIH1cblxuICBkb3dubG9hZEZpbGUoKSB7XG4gICAgLy8gQ3JlYXRlIGFuIGludmlzaWJsZSBsaW5rIGF0dGFjaGVkIHRvIHRoZSBtYWluIGRvY3VtZW50IGJvZHksIG5vdCB0aGUgbWVudVxuICAgIGNvbnN0IGxpbmsgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBsaW5rLmhyZWYgPSB0aGlzLmRvd25sb2FkJC52YWx1ZS51cmw7XG4gICAgbGluay5kb3dubG9hZCA9IHRoaXMuZG93bmxvYWQkLnZhbHVlLnNhdmVBcztcblxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgbGluay5jbGljaygpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG4gIH1cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIEZpbGVEb3dubG9hZENvbXBvbmVudCB7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluZm8ob3B0aW9uczogeyBmYWNlOiBDb21tYW5kRmFjZSwgdXJsOiBzdHJpbmcsIHNhdmVBczogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMuZmFjZVxuICAgIH07XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIERvd25sb2FkSW5mbyBleHRlbmRzIENvbW1hbmRGYWNlIHtcbiAgICBzYXZlQXM6IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpblBvcHVwXCI+XG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImJ1dHRvblN0eWxlJC52YWx1ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNvbW1hbmRGYWNlVXRpbC5TdHlsZS5TVFJPS0VEXCI+XG4gICAgICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gW2hyZWZdPVwiZG93bmxvYWQ/LnVybFwiIFtkb3dubG9hZF09XCJkb3dubG9hZD8uc2F2ZUFzXCJcbiAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAkLnZhbHVlXCI+XG4gICAgICAgIDxhdXAtY29tbWFuZC1mYWNlIFtjbGFzc109XCJhbGlnbkZhY2VcIiBbZmFjZXNdPVwiZmFjZXMkLnZhbHVlXCI+PC9hdXAtY29tbWFuZC1mYWNlPlxuICAgICAgPC9hPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNvbW1hbmRGYWNlVXRpbC5TdHlsZS5SQUlTRURcIj5cbiAgICAgIDxhIG1hdC1yYWlzZWQtYnV0dG9uIFtocmVmXT1cImRvd25sb2FkPy51cmxcIiBbZG93bmxvYWRdPVwiZG93bmxvYWQ/LnNhdmVBc1wiXG4gICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwJC52YWx1ZVwiPlxuICAgICAgICA8YXVwLWNvbW1hbmQtZmFjZSBbY2xhc3NdPVwiYWxpZ25GYWNlXCIgW2ZhY2VzXT1cImZhY2VzJC52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgICAgIDwvYT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8YSBtYXQtYnV0dG9uIFtocmVmXT1cImRvd25sb2FkPy51cmxcIiBbZG93bmxvYWRdPVwiZG93bmxvYWQ/LnNhdmVBc1wiXG4gICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwJC52YWx1ZVwiPlxuICAgICAgICA8YXVwLWNvbW1hbmQtZmFjZSBbY2xhc3NdPVwiYWxpZ25GYWNlXCIgW2ZhY2VzXT1cImZhY2VzJC52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgICAgIDwvYT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaW5Qb3B1cFwiPlxuICA8YSBtYXQtbWVudS1pdGVtIChjbGljayk9XCJkb3dubG9hZEZpbGUoKVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAkLnZhbHVlXCI+XG4gICAgPGF1cC1jb21tYW5kLWZhY2UgW2NsYXNzXT1cImFsaWduRmFjZVwiIFtmYWNlc109XCJmYWNlcyQudmFsdWVcIj48L2F1cC1jb21tYW5kLWZhY2U+XG4gIDwvYT5cbjwvbmctY29udGFpbmVyPlxuXG4iXX0=
@@ -70,4 +70,4 @@ export class SelectionColumnModel extends ColumnModel {
70
70
  }
71
71
  }
72
72
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWNvbHVtbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9zZWxlY3Rpb24tY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQWEsT0FBTyxFQUFFLGNBQWMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVHLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzNFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxXQUFXLEVBQVUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwRCxNQUFNLE9BQU8sb0JBQXlDLFNBQVEsV0FBZ0I7SUFFcEUscUJBQXFCLEdBQUcsSUFBSSxDQUFDO0lBQzdCLE1BQU0sR0FBaUIsUUFBUSxDQUFDO0lBQ3ZCLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxDQUFBLGNBQW1CLENBQUEsQ0FBbUMsQ0FBQztJQUMvRiwyQkFBMkIsR0FBRyxJQUFJLGlCQUFpQixDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLG1CQUFtQixDQUFzQjtJQUdqRCxZQUFZLFFBQWdCLEVBQUUsS0FBeUIsRUFBRSxRQUE0QztRQUNuRyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqQyxNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFD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aW1wb3J0IHtUaGVtZVBhbGV0dGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQge0RzbCwgR2FyYmFnZUNvbGxlY3RvciwgTXV0YWJsZVZhbHVlTW9kZWwsIFByb3hpZmllZCwgcHJveGlmeSwgU2VsZWN0aW9uTW9kZWx9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHtDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWZ9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXBvcnRhbC1yZWZcIjtcbmltcG9ydCB7U2VsZWN0aW9uSGVhZGVyQ2VsbENvbXBvbmVudH0gZnJvbSBcIi4uL3JlbmRlcmVyL3NlbGVjdC1oZWFkZXItY2VsbC9zZWxlY3Rpb24taGVhZGVyLWNlbGwuY29tcG9uZW50XCI7XG5pbXBvcnQge1NlbGVjdGlvbkNlbGxDb21wb25lbnR9IGZyb20gXCIuLi9yZW5kZXJlci9zZWxlY3Rpb24tY2VsbC9zZWxlY3Rpb24tY2VsbC5jb21wb25lbnRcIjtcbmltcG9ydCB7Q29sdW1uTW9kZWwsIFJvd0RhdGF9IGZyb20gXCIuL2NvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHtDb2x1bW5PcmRlck1hbmFnZXJ9IGZyb20gXCIuL2NvbHVtbi1vcmRlci1tYW5hZ2VyXCI7XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25Db2x1bW5Nb2RlbDxSb3cgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93PiB7XG5cbiAgcHJpdmF0ZSBfZW5hYmxlSGVhZGVyQ29udHJvbHMgPSB0cnVlO1xuICBwcml2YXRlIF9jb2xvcjogVGhlbWVQYWxldHRlID0gXCJhY2NlbnRcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VsZWN0aW9uTW9kZWxQcm94eSA9IHByb3hpZnkoU2VsZWN0aW9uTW9kZWw8Um93PikgYXMgUHJveGlmaWVkPFNlbGVjdGlvbk1vZGVsPFJvdz4+O1xuICBwcml2YXRlIF9pc1VzaW5nVGVtcG9yYXJ5U2VsZWN0aW9uJCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgX3VzZXJTZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8Um93PjtcblxuXG4gIGNvbnN0cnVjdG9yKGNvbHVtbklkOiBzdHJpbmcsIG9yZGVyOiBDb2x1bW5PcmRlck1hbmFnZXIsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoY29sdW1uSWQsIG9yZGVyLCBkZWZhdWx0cyk7XG4gICAgY29uc3Qge2NoYWlufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLl9zZWxlY3RSb3dPbkNsaWNrKGZhbHNlKTtcbiAgICB0aGlzLmNlbGxIZWFkZXJSZW5kZXJlcihTZWxlY3Rpb25IZWFkZXJDZWxsQ29tcG9uZW50LCAoY29tcG9uZW50KSA9PiB7XG4gICAgICBjb21wb25lbnQuc2VsZWN0aW9uTW9kZWwgPSB0aGlzLl9zZWxlY3Rpb25Nb2RlbFByb3h5O1xuICAgICAgY29tcG9uZW50LmVuYWJsZUhlYWRlckNvbnRyb2xzID0gdGhpcy5fZW5hYmxlSGVhZGVyQ29udHJvbHM7XG4gICAgICBjb21wb25lbnQuY29sb3IgPSB0aGlzLl9jb2xvclxuICAgIH0pO1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoU2VsZWN0aW9uQ2VsbENvbXBvbmVudCwgKGNvbXBvbmVudCwgcm93RGF0YTogUm93RGF0YTxSb3c+KSA9PiB7XG4gICAgICBjb21wb25lbnQucm93ID0gcm93RGF0YS5yb3c7XG4gICAgICBjb21wb25lbnQuc2VsZWN0aW9uTW9kZWwgPSB0aGlzLl9zZWxlY3Rpb25Nb2RlbFByb3h5O1xuICAgICAgY29tcG9uZW50LmNvbG9yID0gdGhpcy5fY29sb3JcbiAgICB9KSk7XG4gICAgdGhpcy5zZXRNYXN0ZXJWaXNpYmlsaXR5KHRoaXMuX3NlbGVjdGlvbk1vZGVsUHJveHkuZW5hYmxlZCQpO1xuICAgIHRoaXMuc2V0RGVmYXVsdFZpc2liaWxpdHkoY2hhaW4odGhpcy5fc2VsZWN0aW9uTW9kZWxQcm94eS5tb2RlJCkuZXF1YWxzKFNlbGVjdGlvbk1vZGVsLk1vZGUuTVVMVElQTEUpKTtcbiAgfVxuXG4gIGdldCBzZWxlY3Rpb25Nb2RlbCgpOiBTZWxlY3Rpb25Nb2RlbDxSb3c+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTW9kZWxQcm94eTtcbiAgfVxuXG4gIGdldCBpc1VzaW5nVGVtcG9yYXJ5U2VsZWN0aW9uTW9kZWwkKCkge1xuICAgIHJldHVybiB0aGlzLl9pc1VzaW5nVGVtcG9yYXJ5U2VsZWN0aW9uJC5yZWFkb25seSRcbiAgfVxuXG4gIHVzZVNlbGVjdGlvbk1vZGVsKHNlbGVjdGlvbk1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxSb3c+KSB7XG4gICAgdGhpcy5fdXNlclNlbGVjdGlvbk1vZGVsID0gc2VsZWN0aW9uTW9kZWw7XG4gICAgdGhpcy5fc2VsZWN0aW9uTW9kZWxQcm94eS5zZXRQcm94eVRhcmdldChzZWxlY3Rpb25Nb2RlbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0RGVmYXVsdEhlYWRlclRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBlbmFibGVIZWFkZXJDb250cm9scyhlbmFibGU6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICB0aGlzLl9lbmFibGVIZWFkZXJDb250cm9scyA9IGVuYWJsZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNoZWNrYm94IHRvIHVzZSBhIHRoZW1lIGNvbG9yIGUuZy4gXCJwcmltYXJ5XCIgfCBcImFjY2VudFwiIHwgXCJ3YXJuXCJcbiAgICovXG4gIGNvbG9yKGNvbG9yOiBUaGVtZVBhbGV0dGUpIHtcbiAgICB0aGlzLl9jb2xvciA9IGNvbG9yO1xuICB9XG5cbiAgc2VsZWN0Um93KHJvdzogUm93KSB7XG4gICAgdGhpcy5fc2VsZWN0aW9uTW9kZWxQcm94eS5zZWxlY3RDb21tYW5kLmV4ZWN1dGUocm93KTtcbiAgfVxuXG4gIGlzU2VsZWN0ZWQocm93OiBSb3cpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTW9kZWxQcm94eS5pc1NlbGVjdGVkKHJvdyk7XG4gIH1cblxuICBhc3luYyB3aXRoVGVtcG9yYXJ5U2VsZWN0aW9uTW9kZWw8UyBleHRlbmRzIFNlbGVjdGlvbk1vZGVsPFJvdz4sIFI+KGNyZWF0ZVNlbGVjdGlvbk1vZGVsOiAoZ2FyYmFnZTogR2FyYmFnZUNvbGxlY3RvcikgPT4gUywgcHJvY2VzczogKHNlbGVjdGlvbk1vZGVsOiBTKSA9PiBQcm9taXNlPFI+KSB7XG4gICAgY29uc3QgZ2FyYmFnZSA9IG5ldyBHYXJiYWdlQ29sbGVjdG9yKCk7XG4gICAgdGhpcy5faXNVc2luZ1RlbXBvcmFyeVNlbGVjdGlvbiQudmFsdWUgPSB0cnVlO1xuICAgIGNvbnN0IHNlbGVjdGlvbk1vZGVsID0gY3JlYXRlU2VsZWN0aW9uTW9kZWwoZ2FyYmFnZSk7XG4gICAgdGhpcy5fc2VsZWN0aW9uTW9kZWxQcm94eS5zZXRQcm94eVRhcmdldChzZWxlY3Rpb25Nb2RlbCk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBwcm9jZXNzKHNlbGVjdGlvbk1vZGVsKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWxQcm94eS5zZXRQcm94eVRhcmdldCh0aGlzLl91c2VyU2VsZWN0aW9uTW9kZWwpO1xuICAgICAgZ2FyYmFnZS5kaXNwb3NlKCk7XG4gICAgICB0aGlzLl9pc1VzaW5nVGVtcG9yYXJ5U2VsZWN0aW9uJC52YWx1ZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWNvbHVtbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9zZWxlY3Rpb24tY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQWEsT0FBTyxFQUFFLGNBQWMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVHLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzNFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxXQUFXLEVBQVUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwRCxNQUFNLE9BQU8sb0JBQXlDLFNBQVEsV0FBZ0I7SUFFcEUscUJBQXFCLEdBQUcsSUFBSSxDQUFDO0lBQzdCLE1BQU0sR0FBaUIsUUFBUSxDQUFDO0lBQ3ZCLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxDQUFBLGNBQW1CLENBQUEsQ0FBbUMsQ0FBQztJQUMvRiwyQkFBMkIsR0FBRyxJQUFJLGlCQUFpQixDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLG1CQUFtQixDQUFzQjtJQUVqRCxZQUFZLFFBQWdCLEVBQUUsS0FBeUIsRUFBRSxRQUE0QztRQUNuRyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqQyxNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFD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aW1wb3J0IHtUaGVtZVBhbGV0dGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQge0RzbCwgR2FyYmFnZUNvbGxlY3RvciwgTXV0YWJsZVZhbHVlTW9kZWwsIFByb3hpZmllZCwgcHJveGlmeSwgU2VsZWN0aW9uTW9kZWx9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHtDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWZ9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXBvcnRhbC1yZWZcIjtcbmltcG9ydCB7U2VsZWN0aW9uSGVhZGVyQ2VsbENvbXBvbmVudH0gZnJvbSBcIi4uL3JlbmRlcmVyL3NlbGVjdC1oZWFkZXItY2VsbC9zZWxlY3Rpb24taGVhZGVyLWNlbGwuY29tcG9uZW50XCI7XG5pbXBvcnQge1NlbGVjdGlvbkNlbGxDb21wb25lbnR9IGZyb20gXCIuLi9yZW5kZXJlci9zZWxlY3Rpb24tY2VsbC9zZWxlY3Rpb24tY2VsbC5jb21wb25lbnRcIjtcbmltcG9ydCB7Q29sdW1uTW9kZWwsIFJvd0RhdGF9IGZyb20gXCIuL2NvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHtDb2x1bW5PcmRlck1hbmFnZXJ9IGZyb20gXCIuL2NvbHVtbi1vcmRlci1tYW5hZ2VyXCI7XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25Db2x1bW5Nb2RlbDxSb3cgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93PiB7XG5cbiAgcHJpdmF0ZSBfZW5hYmxlSGVhZGVyQ29udHJvbHMgPSB0cnVlO1xuICBwcml2YXRlIF9jb2xvcjogVGhlbWVQYWxldHRlID0gXCJhY2NlbnRcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VsZWN0aW9uTW9kZWxQcm94eSA9IHByb3hpZnkoU2VsZWN0aW9uTW9kZWw8Um93PikgYXMgUHJveGlmaWVkPFNlbGVjdGlvbk1vZGVsPFJvdz4+O1xuICBwcml2YXRlIF9pc1VzaW5nVGVtcG9yYXJ5U2VsZWN0aW9uJCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgX3VzZXJTZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8Um93PjtcblxuICBjb25zdHJ1Y3Rvcihjb2x1bW5JZDogc3RyaW5nLCBvcmRlcjogQ29sdW1uT3JkZXJNYW5hZ2VyLCBkZWZhdWx0czogQ29sdW1uTW9kZWwuVGV4dFByb3BlcnRpZXNQcm92aWRlcikge1xuICAgIHN1cGVyKGNvbHVtbklkLCBvcmRlciwgZGVmYXVsdHMpO1xuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5fc2VsZWN0Um93T25DbGljayhmYWxzZSk7XG4gICAgdGhpcy5jZWxsSGVhZGVyUmVuZGVyZXIoU2VsZWN0aW9uSGVhZGVyQ2VsbENvbXBvbmVudCwgKGNvbXBvbmVudCkgPT4ge1xuICAgICAgY29tcG9uZW50LnNlbGVjdGlvbk1vZGVsID0gdGhpcy5fc2VsZWN0aW9uTW9kZWxQcm94eTtcbiAgICAgIGNvbXBvbmVudC5lbmFibGVIZWFkZXJDb250cm9scyA9IHRoaXMuX2VuYWJsZUhlYWRlckNvbnRyb2xzO1xuICAgICAgY29tcG9uZW50LmNvbG9yID0gdGhpcy5fY29sb3JcbiAgICB9KTtcbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxSZW5kZXJlcihuZXcgQ29tcG9uZW50Q2VsbFJlbmRlcmVyUG9ydGFsUmVmKFNlbGVjdGlvbkNlbGxDb21wb25lbnQsIChjb21wb25lbnQsIHJvd0RhdGE6IFJvd0RhdGE8Um93PikgPT4ge1xuICAgICAgY29tcG9uZW50LnJvdyA9IHJvd0RhdGEucm93O1xuICAgICAgY29tcG9uZW50LnNlbGVjdGlvbk1vZGVsID0gdGhpcy5fc2VsZWN0aW9uTW9kZWxQcm94eTtcbiAgICAgIGNvbXBvbmVudC5jb2xvciA9IHRoaXMuX2NvbG9yXG4gICAgfSkpO1xuICAgIHRoaXMuc2V0TWFzdGVyVmlzaWJpbGl0eSh0aGlzLl9zZWxlY3Rpb25Nb2RlbFByb3h5LmVuYWJsZWQkKTtcbiAgICB0aGlzLnNldERlZmF1bHRWaXNpYmlsaXR5KGNoYWluKHRoaXMuX3NlbGVjdGlvbk1vZGVsUHJveHkubW9kZSQpLmVxdWFscyhTZWxlY3Rpb25Nb2RlbC5Nb2RlLk1VTFRJUExFKSk7XG4gIH1cblxuICBnZXQgc2VsZWN0aW9uTW9kZWwoKTogU2VsZWN0aW9uTW9kZWw8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1vZGVsUHJveHk7XG4gIH1cblxuICBnZXQgaXNVc2luZ1RlbXBvcmFyeVNlbGVjdGlvbk1vZGVsJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNVc2luZ1RlbXBvcmFyeVNlbGVjdGlvbiQucmVhZG9ubHkkXG4gIH1cblxuICB1c2VTZWxlY3Rpb25Nb2RlbChzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8Um93Pikge1xuICAgIHRoaXMuX3VzZXJTZWxlY3Rpb25Nb2RlbCA9IHNlbGVjdGlvbk1vZGVsO1xuICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsUHJveHkuc2V0UHJveHlUYXJnZXQoc2VsZWN0aW9uTW9kZWwpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldERlZmF1bHRIZWFkZXJUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZW5hYmxlSGVhZGVyQ29udHJvbHMoZW5hYmxlOiBib29sZWFuKTogdGhpcyB7XG4gICAgdGhpcy5fZW5hYmxlSGVhZGVyQ29udHJvbHMgPSBlbmFibGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjaGVja2JveCB0byB1c2UgYSB0aGVtZSBjb2xvciBlLmcuIFwicHJpbWFyeVwiIHwgXCJhY2NlbnRcIiB8IFwid2FyblwiXG4gICAqL1xuICBjb2xvcihjb2xvcjogVGhlbWVQYWxldHRlKSB7XG4gICAgdGhpcy5fY29sb3IgPSBjb2xvcjtcbiAgfVxuXG4gIHNlbGVjdFJvdyhyb3c6IFJvdykge1xuICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsUHJveHkuc2VsZWN0Q29tbWFuZC5leGVjdXRlKHJvdyk7XG4gIH1cblxuICBpc1NlbGVjdGVkKHJvdzogUm93KSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1vZGVsUHJveHkuaXNTZWxlY3RlZChyb3cpO1xuICB9XG5cbiAgYXN5bmMgd2l0aFRlbXBvcmFyeVNlbGVjdGlvbk1vZGVsPFMgZXh0ZW5kcyBTZWxlY3Rpb25Nb2RlbDxSb3c+LCBSPihjcmVhdGVTZWxlY3Rpb25Nb2RlbDogKGdhcmJhZ2U6IEdhcmJhZ2VDb2xsZWN0b3IpID0+IFMsIHByb2Nlc3M6IChzZWxlY3Rpb25Nb2RlbDogUykgPT4gUHJvbWlzZTxSPikge1xuICAgIGNvbnN0IGdhcmJhZ2UgPSBuZXcgR2FyYmFnZUNvbGxlY3RvcigpO1xuICAgIHRoaXMuX2lzVXNpbmdUZW1wb3JhcnlTZWxlY3Rpb24kLnZhbHVlID0gdHJ1ZTtcbiAgICBjb25zdCBzZWxlY3Rpb25Nb2RlbCA9IGNyZWF0ZVNlbGVjdGlvbk1vZGVsKGdhcmJhZ2UpO1xuICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsUHJveHkuc2V0UHJveHlUYXJnZXQoc2VsZWN0aW9uTW9kZWwpO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgcHJvY2VzcyhzZWxlY3Rpb25Nb2RlbCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsUHJveHkuc2V0UHJveHlUYXJnZXQodGhpcy5fdXNlclNlbGVjdGlvbk1vZGVsKTtcbiAgICAgIGdhcmJhZ2UuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5faXNVc2luZ1RlbXBvcmFyeVNlbGVjdGlvbiQudmFsdWUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxufVxuIl19
@@ -71,4 +71,4 @@ export function VisitParameterList(options) {
71
71
  // installMechanics(parameterDef, prototype, propertyKey, '@VisitParameterList');
72
72
  };
73
73
  }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXpELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRTVELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBK0IzRCxtS0FBbUs7QUFDbkssRUFBRTtBQUNGLHVGQUF1RjtBQUN2RixFQUFFO0FBQ0Ysd0VBQXdFO0FBQ3hFLDREQUE0RDtBQUM1RCw0QkFBNEI7QUFDNUIsZ0VBQWdFO0FBQ2hFLDBCQUEwQjtBQUMxQixzQ0FBc0M7QUFDdEMsNkNBQTZDO0FBQzdDLFdBQVc7QUFDWCw2RkFBNkY7QUFDN0YsdUVBQXVFO0FBQ3ZFLFFBQVE7QUFDUiw0QkFBNEI7QUFDNUIsTUFBTTtBQUNOLEVBQUU7QUFDRixvREFBb0Q7QUFDcEQsd0JBQXdCO0FBQ3hCLDZEQUE2RDtBQUM3RCxTQUFTO0FBQ1Qsb0NBQW9DO0FBQ3BDLDJEQUEyRDtBQUMzRCwwR0FBMEc7QUFDMUcsa0NBQWtDO0FBQ2xDLGlDQUFpQztBQUNqQyx1Q0FBdUM7QUFDdkMsVUFBVTtBQUNWLHlCQUF5QjtBQUN6QiwrRUFBK0U7QUFDL0Usd0NBQXdDO0FBQ3hDLHdDQUF3QztBQUN4QyxjQUFjO0FBQ2QsNERBQTREO0FBQzVELHFHQUFxRztBQUNyRyxtRkFBbUY7QUFDbkYsbUJBQW1CO0FBQ25CLDRFQUE0RTtBQUM1RSwrSkFBK0o7QUFDL0osY0FBYztBQUNkLGlGQUFpRjtBQUNqRixZQUFZO0FBQ1osVUFBVTtBQUNWLFFBQVE7QUFDUixRQUFRO0FBQ1IsSUFBSTtBQUVKLE1BQU0sVUFBVSxPQUFPLENBQTRCLFNBQXVCLEVBQUUsT0FBMkI7SUFDckcsT0FBTyxDQUFDLFNBQWlCLEVBQUUsV0FBNEIsRUFBRSxFQUFFO1FBQ3pELE1BQU0sWUFBWSxHQUFHLElBQUksbUJBQW1CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDakcsc0VBQXNFO1FBQ3RFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUksT0FBa0M7SUFDbEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixPQUFPLENBQUMsU0FBaUIsRUFBRSxXQUE0QixFQUFFLEVBQUU7UUFDekQsTUFBTSxZQUFZLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25JLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbEYsNkVBQTZFO0lBQy9FLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUksT0FBc0M7SUFDMUUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixPQUFPLENBQUMsU0FBaUIsRUFBRSxXQUE0QixFQUFFLEVBQUU7UUFDekQsTUFBTSxZQUFZLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25JLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbEYsaUZBQWlGO0lBQ25GLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCaW5kaW5nLCBDYW5Qcm94eSxcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVidWdDb250ZXh0LCBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRnVuY3Rpb25zLFxuICBIYXNWYWx1ZSxcbiAgbGFuZyxcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFByb3hpZnksIFByb3hpZnlNZWNoYW5pY3MsIFZhbHVlTW9kZWxcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtLbGFzcywgT3B0c30gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQge2lzTmlsfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQge1JPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWX0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWF0dGVyfSBmcm9tICcuL2Zvcm1hdHRlcic7XG5pbXBvcnQge1BhcmFtZXRlckRlZmluaXRpb259IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24nO1xuaW1wb3J0IHtQYXJhbWV0ZXJTYW5pdGlzZXJ9IGZyb20gJy4vcGFyYW1ldGVyLXNhbml0aXNlcic7XG5cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZUlkT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZhbHVlPzogVDtcbiAgc2FuaXRpc2VyPzogQ29uc3RydWN0YWJsZTxQYXJhbWV0ZXJTYW5pdGlzZXI8VD4+IHwgUGFyYW1ldGVyU2FuaXRpc2VyPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlUGFyYW1ldGVyT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZhbHVlPzogVDtcbiAgc3RvcmVJblVybD86IEZvcm1hdHRlcjxUPlxuICBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUPj4gfCBQYXJhbWV0ZXJTYW5pdGlzZXI8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVMaXN0UGFyYW1ldGVyT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZhbHVlPzogVFtdO1xuICBzdG9yZUluVXJsPzogRm9ybWF0dGVyPFQ+XG4gIHNhbml0aXNlcj86IENvbnN0cnVjdGFibGU8UGFyYW1ldGVyU2FuaXRpc2VyPFRbXT4+IHwgUGFyYW1ldGVyU2FuaXRpc2VyPFRbXT47XG59XG5cblxuLy8gZnVuY3Rpb24gaW5zdGFsbE1lY2hhbmljczxNIGV4dGVuZHMgSGFzVmFsdWU8YW55Pj4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPGFueT4sIHByb3RvdHlwZTogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sLCB0YWdQcmVmaXg6IHN0cmluZykge1xuLy9cbi8vICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbWV0ZXJEZWYpO1xuLy9cbi8vICAgZnVuY3Rpb24gZ2V0TWVjaGFuaWNzKGluc3RhbmNlOiBNLCBwcm9wZXJ0eU5hbWU6IHN0cmluZyB8IHN5bWJvbCkge1xuLy8gICAgIGNvbnN0IGtleSA9IGBfX21lY2hhbmljc18ke3Byb3BlcnR5TmFtZS50b1N0cmluZygpfWA7XG4vLyAgICAgaWYgKCFpbnN0YW5jZVtrZXldKSB7XG4vLyAgICAgICBjb25zdCBiYWNraW5nTW9kZWwgPSBwYXJhbWV0ZXJEZWYuY3JlYXRlQmFja2luZ01vZGVsKCk7XG4vLyAgICAgICBpbnN0YW5jZVtrZXldID0ge1xuLy8gICAgICAgICBiYWNraW5nTW9kZWw6IGJhY2tpbmdNb2RlbCxcbi8vICAgICAgICAgYmluZGluZzogbnVsbCBhcyBCaW5kaW5nPGFueSwgYW55PlxuLy8gICAgICAgfTtcbi8vICAgICAgIGNvbnN0IHRhZyA9IGAke3RhZ1ByZWZpeH0oJHtwcm90b3R5cGUuY29uc3RydWN0b3IubmFtZX0uJHtwcm9wZXJ0eUtleS50b1N0cmluZygpfSlgO1xuLy8gICAgICAgRGVidWdDb250ZXh0LmdldE9yQ3JlYXRlKGluc3RhbmNlW2tleV0uYmFja2luZ01vZGVsKS50YWcodGFnKTtcbi8vICAgICB9XG4vLyAgICAgcmV0dXJuIGluc3RhbmNlW2tleV07XG4vLyAgIH1cbi8vXG4vLyAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90b3R5cGUsIHByb3BlcnR5S2V5LCB7XG4vLyAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbi8vICAgICAgIHJldHVybiBnZXRNZWNoYW5pY3ModGhpcywgcHJvcGVydHlLZXkpLmJhY2tpbmdNb2RlbDtcbi8vICAgICB9LFxuLy8gICAgIHNldDogZnVuY3Rpb24odXNlck1vZGVsOiBNKSB7XG4vLyAgICAgICBjb25zdCBtZWNoYW5pY3MgPSBnZXRNZWNoYW5pY3ModGhpcywgcHJvcGVydHlLZXkpO1xuLy8gICAgICAgLy8gVGhpcyBoYW5kbGVzIHRoZSBzY2VuYXJpbyB3aGVyZSB3ZSB3YW50IHRvIHB1c2ggYW4gZXhpc3RpbmcgdmFsdWUgbW9kZWwgKHN1Y2ggYXMgYSBmb3JtIG1vZGVsKVxuLy8gICAgICAgLy8gdG8gYW5kIGZyb20gdGhlIHJvdXRlLlxuLy8gICAgICAgaWYgKG1lY2hhbmljcy5iaW5kaW5nKSB7XG4vLyAgICAgICAgIG1lY2hhbmljcy5iaW5kaW5nLmRpc3Bvc2UoKTtcbi8vICAgICAgIH1cbi8vICAgICAgIGlmICh1c2VyTW9kZWwpIHtcbi8vICAgICAgICAgbWVjaGFuaWNzLmJpbmRpbmcgPSBuZXcgQmluZGluZyhtZWNoYW5pY3MuYmFja2luZ01vZGVsLCB1c2VyTW9kZWwsIHtcbi8vICAgICAgICAgICB0b0xlZnQ6IEZ1bmN0aW9ucy5pZGVudGl0eSxcbi8vICAgICAgICAgICB0b1JpZ2h0OiBGdW5jdGlvbnMuaWRlbnRpdHlcbi8vICAgICAgICAgfSk7XG4vLyAgICAgICAgIGlmIChwYXJhbWV0ZXJEZWYuaXNFbXB0eVZhbHVlKHVzZXJNb2RlbC52YWx1ZSkpIHtcbi8vICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgUHVzaCB2aXNpdCB0byBtb2RlbCBmb3IgJHt0YWd9YCwge3ZhbHVlOiBtZWNoYW5pY3MuYmFja2luZ01vZGVsLnZhbHVlfSk7XG4vLyAgICAgICAgICAgbWVjaGFuaWNzLmJpbmRpbmcud3JpdGVSaWdodCgpOyAvLyBwdXNoIHRoZSB2aXNpdCBpbnRvIHRoZSB1c2VyIG1vZGVsO1xuLy8gICAgICAgICB9IGVsc2Uge1xuLy8gICAgICAgICAgIGlmICghcGFyYW1ldGVyRGVmLmlzRW1wdHlWYWx1ZShtZWNoYW5pY3MuYmFja2luZ01vZGVsLnZhbHVlKSkge1xuLy8gICAgICAgICAgICAgY29uc29sZS53YXJuKCdBc3NpZ25pbmcgYSB2aXNpdCBtb2RlbCB3aXRoIGFuIGV4aXN0aW5nIHZhbHVlIHRvIGEgdmlzaXQgcGFyYW1ldGVyIHdpdGggYW4gZXhpc3RpbmcgdmFsdWUuICBWaXNpdCBwYXJhbWV0ZXIgd2lsbCBiZSBvdmVycmlkZGVuJyk7XG4vLyAgICAgICAgICAgfVxuLy8gICAgICAgICAgIG1lY2hhbmljcy5iaW5kaW5nLndyaXRlTGVmdCgpOyAvLyBwdXNoIHRoZSB1c2VyIG1vZGVsIGludG8gdGhlIHZpc2l0XG4vLyAgICAgICAgIH1cbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIH0pO1xuLy8gfVxuXG5leHBvcnQgZnVuY3Rpb24gUm91dGVJZDxUIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyPihmb3JtYXR0ZXI6IEZvcm1hdHRlcjxUPiwgb3B0aW9ucz86IFJvdXRlSWRPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICByZXR1cm4gKHByb3RvdHlwZTogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW1ldGVyRGVmID0gbmV3IFBhcmFtZXRlckRlZmluaXRpb24uUm91dGVJZChwcm9wZXJ0eUtleS50b1N0cmluZygpLCBvcHRpb25zLCBmb3JtYXR0ZXIpO1xuICAgIC8vIGluc3RhbGxNZWNoYW5pY3MocGFyYW1ldGVyRGVmLCBwcm90b3R5cGUsIHByb3BlcnR5S2V5LCAnQFJvdXRlSWQnKTtcbiAgICBLbGFzcy5nZXQocHJvdG90eXBlKS5hZGRUb093bk1ldGFkYXRhTGlzdChST1VURV9QQVJBTUVURVJfTElTVF9LRVksIHBhcmFtZXRlckRlZik7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBWaXNpdFBhcmFtZXRlcjxUPihvcHRpb25zPzogUm91dGVQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIHJldHVybiAocHJvdG90eXBlOiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbWV0ZXJEZWYgPSBuZXcgUGFyYW1ldGVyRGVmaW5pdGlvbi5WYWx1ZVBhcmFtZXRlcihwcm9wZXJ0eUtleS50b1N0cmluZygpLCBvcHRpb25zLCBvcHRzLmdldE9wdGlvbmFsKCdzdG9yZUluVXJsJywgbnVsbCkpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW1ldGVyRGVmKTtcbiAgICAvLyBpbnN0YWxsTWVjaGFuaWNzKHBhcmFtZXRlckRlZiwgcHJvdG90eXBlLCBwcm9wZXJ0eUtleSwgJ0BWaXNpdFBhcmFtZXRlcicpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVmlzaXRQYXJhbWV0ZXJMaXN0PEU+KG9wdGlvbnM/OiBSb3V0ZUxpc3RQYXJhbWV0ZXJPcHRpb25zPEU+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIHJldHVybiAocHJvdG90eXBlOiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbWV0ZXJEZWYgPSBuZXcgUGFyYW1ldGVyRGVmaW5pdGlvbi5BcnJheVBhcmFtZXRlcihwcm9wZXJ0eUtleS50b1N0cmluZygpLCBvcHRpb25zLCBvcHRzLmdldE9wdGlvbmFsKCdzdG9yZUluVXJsJywgbnVsbCkpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW1ldGVyRGVmKTtcbiAgICAvLyBpbnN0YWxsTWVjaGFuaWNzKHBhcmFtZXRlckRlZiwgcHJvdG90eXBlLCBwcm9wZXJ0eUtleSwgJ0BWaXNpdFBhcmFtZXRlckxpc3QnKTtcbiAgfTtcbn1cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXpELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRTVELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBK0IzRCxtS0FBbUs7QUFDbkssRUFBRTtBQUNGLHVGQUF1RjtBQUN2RixFQUFFO0FBQ0Ysd0VBQXdFO0FBQ3hFLDREQUE0RDtBQUM1RCw0QkFBNEI7QUFDNUIsZ0VBQWdFO0FBQ2hFLDBCQUEwQjtBQUMxQixzQ0FBc0M7QUFDdEMsNkNBQTZDO0FBQzdDLFdBQVc7QUFDWCw2RkFBNkY7QUFDN0YsdUVBQXVFO0FBQ3ZFLFFBQVE7QUFDUiw0QkFBNEI7QUFDNUIsTUFBTTtBQUNOLEVBQUU7QUFDRixvREFBb0Q7QUFDcEQsd0JBQXdCO0FBQ3hCLDZEQUE2RDtBQUM3RCxTQUFTO0FBQ1Qsb0NBQW9DO0FBQ3BDLDJEQUEyRDtBQUMzRCwwR0FBMEc7QUFDMUcsa0NBQWtDO0FBQ2xDLGlDQUFpQztBQUNqQyx1Q0FBdUM7QUFDdkMsVUFBVTtBQUNWLHlCQUF5QjtBQUN6QiwrRUFBK0U7QUFDL0Usd0NBQXdDO0FBQ3hDLHdDQUF3QztBQUN4QyxjQUFjO0FBQ2QsNERBQTREO0FBQzVELHFHQUFxRztBQUNyRyxtRkFBbUY7QUFDbkYsbUJBQW1CO0FBQ25CLDRFQUE0RTtBQUM1RSwrSkFBK0o7QUFDL0osY0FBYztBQUNkLGlGQUFpRjtBQUNqRixZQUFZO0FBQ1osVUFBVTtBQUNWLFFBQVE7QUFDUixRQUFRO0FBQ1IsSUFBSTtBQUVKLE1BQU0sVUFBVSxPQUFPLENBQTRCLFNBQXVCLEVBQUUsT0FBMkI7SUFDckcsT0FBTyxDQUFDLFNBQWlCLEVBQUUsV0FBNEIsRUFBRSxFQUFFO1FBQ3pELE1BQU0sWUFBWSxHQUFHLElBQUksbUJBQW1CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDakcsc0VBQXNFO1FBQ3RFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUksT0FBa0M7SUFDbEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixPQUFPLENBQUMsU0FBaUIsRUFBRSxXQUE0QixFQUFFLEVBQUU7UUFDekQsTUFBTSxZQUFZLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25JLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbEYsNkVBQTZFO0lBQy9FLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUksT0FBc0M7SUFDMUUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixPQUFPLENBQUMsU0FBaUIsRUFBRSxXQUE0QixFQUFFLEVBQUU7UUFDekQsTUFBTSxZQUFZLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25JLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbEYsaUZBQWlGO0lBQ25GLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCaW5kaW5nLCBDYW5Qcm94eSxcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVidWdDb250ZXh0LCBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRnVuY3Rpb25zLFxuICBIYXNWYWx1ZSxcbiAgbGFuZyxcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFByb3hpZnksIFByb3hpZnlNZWNoYW5pY3MsIFZhbHVlTW9kZWxcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtLbGFzcywgT3B0c30gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQge2lzTmlsfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQge1JPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWX0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWF0dGVyfSBmcm9tICcuL2Zvcm1hdHRlcic7XG5pbXBvcnQge1BhcmFtZXRlckRlZmluaXRpb259IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24nO1xuaW1wb3J0IHtQYXJhbWV0ZXJTYW5pdGlzZXJ9IGZyb20gJy4vcGFyYW1ldGVyLXNhbml0aXNlcic7XG5cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZUlkT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZhbHVlPzogVDtcbiAgc2FuaXRpc2VyPzogUGFyYW1ldGVyU2FuaXRpc2VyLkRlZjxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZVBhcmFtZXRlck9wdGlvbnM8VD4ge1xuICBhcz86IHN0cmluZztcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xuICByZW1lbWJlcj86IGJvb2xlYW47XG4gIGRlZmF1bHRWYWx1ZT86IFQ7XG4gIHN0b3JlSW5Vcmw/OiBGb3JtYXR0ZXI8VD47XG4gIHNhbml0aXNlcj86IFBhcmFtZXRlclNhbml0aXNlci5EZWY8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVMaXN0UGFyYW1ldGVyT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZhbHVlPzogVFtdO1xuICBzdG9yZUluVXJsPzogRm9ybWF0dGVyPFQ+O1xuICBzYW5pdGlzZXI/OiBQYXJhbWV0ZXJTYW5pdGlzZXIuRGVmPFRbXT47XG59XG5cblxuLy8gZnVuY3Rpb24gaW5zdGFsbE1lY2hhbmljczxNIGV4dGVuZHMgSGFzVmFsdWU8YW55Pj4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPGFueT4sIHByb3RvdHlwZTogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sLCB0YWdQcmVmaXg6IHN0cmluZykge1xuLy9cbi8vICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbWV0ZXJEZWYpO1xuLy9cbi8vICAgZnVuY3Rpb24gZ2V0TWVjaGFuaWNzKGluc3RhbmNlOiBNLCBwcm9wZXJ0eU5hbWU6IHN0cmluZyB8IHN5bWJvbCkge1xuLy8gICAgIGNvbnN0IGtleSA9IGBfX21lY2hhbmljc18ke3Byb3BlcnR5TmFtZS50b1N0cmluZygpfWA7XG4vLyAgICAgaWYgKCFpbnN0YW5jZVtrZXldKSB7XG4vLyAgICAgICBjb25zdCBiYWNraW5nTW9kZWwgPSBwYXJhbWV0ZXJEZWYuY3JlYXRlQmFja2luZ01vZGVsKCk7XG4vLyAgICAgICBpbnN0YW5jZVtrZXldID0ge1xuLy8gICAgICAgICBiYWNraW5nTW9kZWw6IGJhY2tpbmdNb2RlbCxcbi8vICAgICAgICAgYmluZGluZzogbnVsbCBhcyBCaW5kaW5nPGFueSwgYW55PlxuLy8gICAgICAgfTtcbi8vICAgICAgIGNvbnN0IHRhZyA9IGAke3RhZ1ByZWZpeH0oJHtwcm90b3R5cGUuY29uc3RydWN0b3IubmFtZX0uJHtwcm9wZXJ0eUtleS50b1N0cmluZygpfSlgO1xuLy8gICAgICAgRGVidWdDb250ZXh0LmdldE9yQ3JlYXRlKGluc3RhbmNlW2tleV0uYmFja2luZ01vZGVsKS50YWcodGFnKTtcbi8vICAgICB9XG4vLyAgICAgcmV0dXJuIGluc3RhbmNlW2tleV07XG4vLyAgIH1cbi8vXG4vLyAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90b3R5cGUsIHByb3BlcnR5S2V5LCB7XG4vLyAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbi8vICAgICAgIHJldHVybiBnZXRNZWNoYW5pY3ModGhpcywgcHJvcGVydHlLZXkpLmJhY2tpbmdNb2RlbDtcbi8vICAgICB9LFxuLy8gICAgIHNldDogZnVuY3Rpb24odXNlck1vZGVsOiBNKSB7XG4vLyAgICAgICBjb25zdCBtZWNoYW5pY3MgPSBnZXRNZWNoYW5pY3ModGhpcywgcHJvcGVydHlLZXkpO1xuLy8gICAgICAgLy8gVGhpcyBoYW5kbGVzIHRoZSBzY2VuYXJpbyB3aGVyZSB3ZSB3YW50IHRvIHB1c2ggYW4gZXhpc3RpbmcgdmFsdWUgbW9kZWwgKHN1Y2ggYXMgYSBmb3JtIG1vZGVsKVxuLy8gICAgICAgLy8gdG8gYW5kIGZyb20gdGhlIHJvdXRlLlxuLy8gICAgICAgaWYgKG1lY2hhbmljcy5iaW5kaW5nKSB7XG4vLyAgICAgICAgIG1lY2hhbmljcy5iaW5kaW5nLmRpc3Bvc2UoKTtcbi8vICAgICAgIH1cbi8vICAgICAgIGlmICh1c2VyTW9kZWwpIHtcbi8vICAgICAgICAgbWVjaGFuaWNzLmJpbmRpbmcgPSBuZXcgQmluZGluZyhtZWNoYW5pY3MuYmFja2luZ01vZGVsLCB1c2VyTW9kZWwsIHtcbi8vICAgICAgICAgICB0b0xlZnQ6IEZ1bmN0aW9ucy5pZGVudGl0eSxcbi8vICAgICAgICAgICB0b1JpZ2h0OiBGdW5jdGlvbnMuaWRlbnRpdHlcbi8vICAgICAgICAgfSk7XG4vLyAgICAgICAgIGlmIChwYXJhbWV0ZXJEZWYuaXNFbXB0eVZhbHVlKHVzZXJNb2RlbC52YWx1ZSkpIHtcbi8vICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgUHVzaCB2aXNpdCB0byBtb2RlbCBmb3IgJHt0YWd9YCwge3ZhbHVlOiBtZWNoYW5pY3MuYmFja2luZ01vZGVsLnZhbHVlfSk7XG4vLyAgICAgICAgICAgbWVjaGFuaWNzLmJpbmRpbmcud3JpdGVSaWdodCgpOyAvLyBwdXNoIHRoZSB2aXNpdCBpbnRvIHRoZSB1c2VyIG1vZGVsO1xuLy8gICAgICAgICB9IGVsc2Uge1xuLy8gICAgICAgICAgIGlmICghcGFyYW1ldGVyRGVmLmlzRW1wdHlWYWx1ZShtZWNoYW5pY3MuYmFja2luZ01vZGVsLnZhbHVlKSkge1xuLy8gICAgICAgICAgICAgY29uc29sZS53YXJuKCdBc3NpZ25pbmcgYSB2aXNpdCBtb2RlbCB3aXRoIGFuIGV4aXN0aW5nIHZhbHVlIHRvIGEgdmlzaXQgcGFyYW1ldGVyIHdpdGggYW4gZXhpc3RpbmcgdmFsdWUuICBWaXNpdCBwYXJhbWV0ZXIgd2lsbCBiZSBvdmVycmlkZGVuJyk7XG4vLyAgICAgICAgICAgfVxuLy8gICAgICAgICAgIG1lY2hhbmljcy5iaW5kaW5nLndyaXRlTGVmdCgpOyAvLyBwdXNoIHRoZSB1c2VyIG1vZGVsIGludG8gdGhlIHZpc2l0XG4vLyAgICAgICAgIH1cbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIH0pO1xuLy8gfVxuXG5leHBvcnQgZnVuY3Rpb24gUm91dGVJZDxUIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyPihmb3JtYXR0ZXI6IEZvcm1hdHRlcjxUPiwgb3B0aW9ucz86IFJvdXRlSWRPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICByZXR1cm4gKHByb3RvdHlwZTogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW1ldGVyRGVmID0gbmV3IFBhcmFtZXRlckRlZmluaXRpb24uUm91dGVJZChwcm9wZXJ0eUtleS50b1N0cmluZygpLCBvcHRpb25zLCBmb3JtYXR0ZXIpO1xuICAgIC8vIGluc3RhbGxNZWNoYW5pY3MocGFyYW1ldGVyRGVmLCBwcm90b3R5cGUsIHByb3BlcnR5S2V5LCAnQFJvdXRlSWQnKTtcbiAgICBLbGFzcy5nZXQocHJvdG90eXBlKS5hZGRUb093bk1ldGFkYXRhTGlzdChST1VURV9QQVJBTUVURVJfTElTVF9LRVksIHBhcmFtZXRlckRlZik7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBWaXNpdFBhcmFtZXRlcjxUPihvcHRpb25zPzogUm91dGVQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIHJldHVybiAocHJvdG90eXBlOiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbWV0ZXJEZWYgPSBuZXcgUGFyYW1ldGVyRGVmaW5pdGlvbi5WYWx1ZVBhcmFtZXRlcihwcm9wZXJ0eUtleS50b1N0cmluZygpLCBvcHRpb25zLCBvcHRzLmdldE9wdGlvbmFsKCdzdG9yZUluVXJsJywgbnVsbCkpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW1ldGVyRGVmKTtcbiAgICAvLyBpbnN0YWxsTWVjaGFuaWNzKHBhcmFtZXRlckRlZiwgcHJvdG90eXBlLCBwcm9wZXJ0eUtleSwgJ0BWaXNpdFBhcmFtZXRlcicpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVmlzaXRQYXJhbWV0ZXJMaXN0PEU+KG9wdGlvbnM/OiBSb3V0ZUxpc3RQYXJhbWV0ZXJPcHRpb25zPEU+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIHJldHVybiAocHJvdG90eXBlOiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbWV0ZXJEZWYgPSBuZXcgUGFyYW1ldGVyRGVmaW5pdGlvbi5BcnJheVBhcmFtZXRlcihwcm9wZXJ0eUtleS50b1N0cmluZygpLCBvcHRpb25zLCBvcHRzLmdldE9wdGlvbmFsKCdzdG9yZUluVXJsJywgbnVsbCkpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW1ldGVyRGVmKTtcbiAgICAvLyBpbnN0YWxsTWVjaGFuaWNzKHBhcmFtZXRlckRlZiwgcHJvdG90eXBlLCBwcm9wZXJ0eUtleSwgJ0BWaXNpdFBhcmFtZXRlckxpc3QnKTtcbiAgfTtcbn1cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { MutableListModel, MutableValueModel } from '@coolon/pectin';
2
2
  import { lang, Opts } from '@coolon/typescript-utilities';
3
3
  import { isEqual, isFunction, isNil, isObject } from 'lodash-es';
4
+ import { ParameterSanitiser } from './parameter-sanitiser';
4
5
  const PARAMETER_DEFINITION_KEY = Symbol('parameterDefinition');
5
6
  export class ParameterDefinition {
6
7
  propertyName;
@@ -58,6 +59,9 @@ export class ParameterDefinition {
58
59
  if (isFunction(customSanitiser)) {
59
60
  return injector.get(customSanitiser);
60
61
  }
62
+ if (customSanitiser instanceof ParameterSanitiser.Factory) {
63
+ return customSanitiser.create(injector);
64
+ }
61
65
  if (isObject(customSanitiser)) {
62
66
  return isFunction(customSanitiser['sanitise']) ?
63
67
  customSanitiser :
@@ -118,4 +122,4 @@ export class ParameterDefinition {
118
122
  }
119
123
  ParameterDefinition.get = get;
120
124
  })(ParameterDefinition || (ParameterDefinition = {}));
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkgsT0FBTyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RCxPQUFPLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBTS9ELE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFHL0QsTUFBTSxPQUFnQixtQkFBbUI7SUFVbEI7SUFBd0U7SUFMcEYsUUFBUSxDQUFVO0lBQ2xCLFlBQVksQ0FBSTtJQUNqQixPQUFPLENBQXVDO0lBR3RELFlBQXFCLFlBQW9CLEVBQUUsT0FBdUMsRUFBVyxTQUF3QjtRQUFoRyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUFvRCxjQUFTLEdBQVQsU0FBUyxDQUFlO1FBQ25ILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFB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QUUsU0FBUyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELFlBQVksQ0FBQyxLQUFVO1lBQ3JCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxVQUFVLENBQUMsQ0FBTSxFQUFFLENBQU07WUFDdkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEIsQ0FBQztLQUVGO0lBakJZLGtDQUFjLGlCQWlCMUIsQ0FBQTtJQUlELFNBQWdCLEdBQUcsQ0FBSSxLQUFtQztRQUN4RCxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLG9GQUFvRixDQUFDLENBQUM7U0FDNUc7UUFDRCxPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7SUFOZSx1QkFBRyxNQU1sQixDQUFBO0FBR0gsQ0FBQyxFQXJFZ0IsbUJBQW1CLEtBQW5CLG1CQUFtQixRQXFFbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29uc3RydWN0YWJsZSwgSGFzVmFsdWUsIExpc3RNb2RlbCwgTXV0YWJsZUxpc3RNb2RlbCwgTXV0YWJsZVZhbHVlTW9kZWwsIFZhbHVlTW9kZWx9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7bGFuZywgT3B0c30gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5cbmltcG9ydCB7aXNFcXVhbCwgaXNGdW5jdGlvbiwgaXNOaWwsIGlzT2JqZWN0fSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtQbGFjZUhpc3Rvcnl9IGZyb20gJy4uL3BsYWNlLWhpc3RvcnknO1xuaW1wb3J0IHtWaXNpdFNlZ21lbnR9IGZyb20gJy4uL3Zpc2l0LXNlZ21lbnQnO1xuaW1wb3J0IHtGb3JtYXR0ZXJ9IGZyb20gJy4vZm9ybWF0dGVyJztcbmltcG9ydCB7UGFyYW1ldGVyU2FuaXRpc2VyfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuXG5jb25zdCBQQVJBTUVURVJfREVGSU5JVElPTl9LRVkgPSBTeW1ib2woJ3BhcmFtZXRlckRlZmluaXRpb24nKTtcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBFID0gVD4ge1xuXG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzUm91dGVJZDogYm9vbGVhbjtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgaXNBcnJheTogYm9vbGVhbjtcblxuICByZWFkb25seSByZW1lbWJlcjogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlOiBUO1xuICBwcml2YXRlIG9wdGlvbnM6IE9wdHM8UGFyYW1ldGVyRGVmaW5pdGlvbi5PcHRpb25zPFQ+PjtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJhY2tpbmdNb2RlbEZhY3Rvcnk6ICgpID0+IEhhc1ZhbHVlPFQ+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHByb3BlcnR5TmFtZTogc3RyaW5nLCBvcHRpb25zOiBQYXJhbWV0ZXJEZWZpbml0aW9uLk9wdGlvbnM8VD4sIHJlYWRvbmx5IHVybEZvcm1hdD86IEZvcm1hdHRlcjxFPikge1xuICAgIHRoaXMub3B0aW9ucyA9IE9wdHMuZ2V0KG9wdGlvbnMpO1xuICAgIHRoaXMucmVtZW1iZXIgPSB0aGlzLm9wdGlvbnMuZ2V0T3B0aW9uYWwoJ3JlbWVtYmVyJywgZmFsc2UpO1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gdGhpcy5vcHRpb25zLmdldE9wdGlvbmFsKCdkZWZhdWx0VmFsdWUnLCBudWxsKTtcbiAgfVxuXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZ2V0T3B0aW9uYWwoJ2FzJywgdGhpcy5wcm9wZXJ0eU5hbWUpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgZ2V0IGlzUm91dGVQYXJhbWV0ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy51cmxGb3JtYXQ7XG4gIH1cblxuICBhYnN0cmFjdCBpc0VtcHR5VmFsdWUodmFsdWU6IFQpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IGhhc0NoYW5nZWQoYTogYW55LCBiOiBhbnkpOiBib29sZWFuO1xuXG4gIGNyZWF0ZUJhY2tpbmdNb2RlbCgpOiBIYXNWYWx1ZTxUPiB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzLmJhY2tpbmdNb2RlbEZhY3RvcnkoKTtcbiAgICBtb2RlbFtQQVJBTUVURVJfREVGSU5JVElPTl9LRVldID0gdGhpcztcbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0T3B0aW9uVmFsdWU8SyBleHRlbmRzIGtleW9mIFBhcmFtZXRlckRlZmluaXRpb24uT3B0aW9uczxUPj4oa2V5OiBLKTogUGFyYW1ldGVyRGVmaW5pdGlvbi5PcHRpb25zPFQ+W0tdIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldE9wdGlvbmFsKGtleSwgbnVsbCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBzYW5pdGlzZSh2YWx1ZTogVCwgdmlzaXQ6IFZpc2l0U2VnbWVudCwgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnksIGluamVjdG9yOiBJbmplY3RvciwgaXNQb3BTdGF0ZTogYm9vbGVhbik6IFByb21pc2U8VD4ge1xuICAgIC8vIGNvbnNvbGUubG9nKGBzYW5pdGlzZSgke3RoaXMucHJvcGVydHlOYW1lfSlgKVxuICAgIHZhbHVlID0gYXdhaXQgdGhpcy5zYW5pdGlzZU1pc3NpbmcodmlzaXQsIHBsYWNlSGlzdG9yeSwgdmFsdWUpO1xuICAgIHZhbHVlID0gYXdhaXQgdGhpcy5ydW5DdXN0b21TYW5pdGlzZXIodmFsdWUsIHZpc2l0LCBwbGFjZUhpc3RvcnksIGluamVjdG9yLCBpc1BvcFN0YXRlKTtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJ1bkN1c3RvbVNhbml0aXNlcih2YWx1ZTogVCwgdmlzaXQ6IFZpc2l0U2VnbWVudCwgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnksIGluamVjdG9yOiBJbmplY3RvciwgaXNQb3BTdGF0ZTogYm9vbGVhbik6IFByb21pc2U8VD4ge1xuICAgIGNvbnN0IGN1c3RvbVNhbml0aXNlciA9IHRoaXMucHJlcGFyZUN1c3RvbVNhbml0aXNlcihpbmplY3Rvcik7XG4gICAgcmV0dXJuIGN1c3RvbVNhbml0aXNlciA/IGN1c3RvbVNhbml0aXNlci5zYW5pdGlzZSh2YWx1ZSwgdmlzaXQsIGluamVjdG9yKSA6IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzYW5pdGlzZU1pc3NpbmcodmlzaXQ6IFZpc2l0U2VnbWVudCwgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnksIHZhbHVlOiBUKSB7XG4gICAgaWYgKHRoaXMuaXNNaXNzaW5nRnJvbSh2aXNpdCkpIHtcbiAgICAgIGNvbnN0IHJldHVybmluZ0Zyb21Tb21ld2hlcmVFbHNlID0gIXBsYWNlSGlzdG9yeS5sYXN0VmlzaXRJbmNsdWRlZCh2aXNpdC5wbGFjZURlZmluaXRpb24pO1xuICAgICAgaWYgKHJldHVybmluZ0Zyb21Tb21ld2hlcmVFbHNlKSB7XG4gICAgICAgIGNvbnN0IGxhc3RLbm93blZpc2l0ID0gcGxhY2VIaXN0b3J5LmdldE1vc3RSZWNlbnRWaXNpdFNlZ21lbnRGb3IodmlzaXQucGxhY2VEZWZpbml0aW9uKTtcbiAgICAgICAgaWYgKHRoaXMucmVtZW1iZXIgJiYgbGFzdEtub3duVmlzaXQpIHtcbiAgICAgICAgICB2YWx1ZSA9IGxhc3RLbm93blZpc2l0LmdldFBhcmFtZXRlclZhbHVlKHRoaXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmlzRW1wdHlWYWx1ZSh2YWx1ZSkgPyB0aGlzLmRlZmF1bHRWYWx1ZSA6IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVwYXJlQ3VzdG9tU2FuaXRpc2VyKGluamVjdG9yOiBJbmplY3Rvcik6IFBhcmFtZXRlclNhbml0aXNlcjxhbnk+IHtcbiAgICBjb25zdCBjdXN0b21TYW5pdGlzZXIgPSB0aGlzLm9wdGlvbnMuZ2V0T3B0aW9uYWwoJ3Nhbml0aXNlcicsIG51bGwpO1xuICAgIGlmIChpc0Z1bmN0aW9uKGN1c3RvbVNhbml0aXNlcikpIHtcbiAgICAgIHJldHVybiBpbmplY3Rvci5nZXQoY3VzdG9tU2FuaXRpc2VyKTtcbiAgICB9XG4gICAgaWYgKGlzT2JqZWN0KGN1c3RvbVNhbml0aXNlcikpIHtcbiAgICAgIHJldHVybiBpc0Z1bmN0aW9uKGN1c3RvbVNhbml0aXNlclsnc2FuaXRpc2UnXSkgP1xuICAgICAgICBjdXN0b21TYW5pdGlzZXIgYXMgUGFyYW1ldGVyU2FuaXRpc2VyPGFueT4gOlxuICAgICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgZXhwZWN0ZWQgQFZpc2l0UGFyYW1ldGVyKHtzYW5pdGlzZXI6IC4uLn0pIGZvciAke3RoaXMucHJvcGVydHlOYW1lfSB0byBiZSBhIGNvbnN0cnVjdG9yIG9yIGluc3RhbmNlIG9mIFBhcmFtZXRlclNhbml0aXNlciwgZ290OiBgICsgY3VzdG9tU2FuaXRpc2VyKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgaXNNaXNzaW5nRnJvbSh2aXNpdDogVmlzaXRTZWdtZW50KSB7XG4gICAgcmV0dXJuICF2aXNpdC5oYXNQYXJhbWV0ZXIodGhpcyk7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQYXJhbWV0ZXJEZWZpbml0aW9uIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnM8VD4ge1xuICAgIGFzPzogc3RyaW5nO1xuICAgIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgICByZW1lbWJlcj86IGJvb2xlYW47XG4gICAgZGVmYXVsdFZhbHVlPzogVDtcbiAgICBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUPj4gfCBQYXJhbWV0ZXJTYW5pdGlzZXI8VD47XG4gIH1cblxuICBleHBvcnQgY2xhc3MgUm91dGVJZDxUPiBleHRlbmRzIFBhcmFtZXRlckRlZmluaXRpb248VD4ge1xuICAgIHJlYWRvbmx5IGlzUm91dGVJZCA9IHRydWU7XG4gICAgcmVhZG9ubHkgaXNBcnJheSA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBiYWNraW5nTW9kZWxGYWN0b3J5ID0gKCkgPT4gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFQ+KCk7XG5cbiAgICBpc0VtcHR5VmFsdWUodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBpc05pbCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaGFzQ2hhbmdlZChhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGEgIT09IGI7XG4gICAgfVxuXG4gIH1cblxuICBleHBvcnQgY2xhc3MgVmFsdWVQYXJhbWV0ZXI8VD4gZXh0ZW5kcyBQYXJhbWV0ZXJEZWZpbml0aW9uPFQ+IHtcbiAgICByZWFkb25seSBpc1JvdXRlSWQgPSBmYWxzZTtcbiAgICByZWFkb25seSBpc0FycmF5ID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGJhY2tpbmdNb2RlbEZhY3RvcnkgPSAoKSA9PiBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8VD4oKTtcblxuICAgIGlzRW1wdHlWYWx1ZSh2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGlzTmlsKHZhbHVlKTtcbiAgICB9XG5cbiAgICBoYXNDaGFuZ2VkKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gYSAhPT0gYjtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgY2xhc3MgQXJyYXlQYXJhbWV0ZXI8VD4gZXh0ZW5kcyBQYXJhbWV0ZXJEZWZpbml0aW9uPFJlYWRvbmx5QXJyYXk8VD4sIFQ+IHtcbiAgICByZWFkb25seSBpc1JvdXRlSWQgPSBmYWxzZTtcbiAgICByZWFkb25seSBpc0FycmF5ID0gdHJ1ZTtcbiAgICBwcm90ZWN0ZWQgYmFja2luZ01vZGVsRmFjdG9yeSA9ICgpID0+IG5ldyBNdXRhYmxlTGlzdE1vZGVsPFQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihwYXJhbWV0ZXJOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IE9wdGlvbnM8VFtdPiwgdXJsRm9ybWF0OiBGb3JtYXR0ZXI8VD4pIHtcbiAgICAgIHN1cGVyKHBhcmFtZXRlck5hbWUsIG9wdGlvbnMsIHVybEZvcm1hdCk7XG4gICAgfVxuXG4gICAgaXNFbXB0eVZhbHVlKHZhbHVlOiBUW10pOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBpc05pbCh2YWx1ZSkgfHwgdmFsdWUubGVuZ3RoIDwgMTtcbiAgICB9XG5cbiAgICBoYXNDaGFuZ2VkKGE6IFRbXSwgYjogVFtdKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gIWlzRXF1YWwoYSwgYik7XG4gICAgfVxuXG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0PFQ+KG1vZGVsOiBWYWx1ZU1vZGVsPFQ+KTogUGFyYW1ldGVyRGVmaW5pdGlvbi5WYWx1ZVBhcmFtZXRlcjxUPlxuICBleHBvcnQgZnVuY3Rpb24gZ2V0PFQ+KG1vZGVsOiBMaXN0TW9kZWw8VD4pOiBQYXJhbWV0ZXJEZWZpbml0aW9uLkFycmF5UGFyYW1ldGVyPFQ+XG4gIGV4cG9ydCBmdW5jdGlvbiBnZXQ8VD4obW9kZWw6IFZhbHVlTW9kZWw8VD4gfCBMaXN0TW9kZWw8VD4pOiBQYXJhbWV0ZXJEZWZpbml0aW9uLlZhbHVlUGFyYW1ldGVyPFQ+IHwgUGFyYW1ldGVyRGVmaW5pdGlvbi5BcnJheVBhcmFtZXRlcjxUPiB7XG4gICAgY29uc3QgcGFyYW1ldGVyRGVmaW5pdGlvbiA9IG1vZGVsW1BBUkFNRVRFUl9ERUZJTklUSU9OX0tFWV07XG4gICAgaWYgKCFwYXJhbWV0ZXJEZWZpbml0aW9uKSB7XG4gICAgICBsYW5nLmlsbGVnYWxBcmd1bWVudCgnbW9kZWwgaGFzblxcJ3QgYmVlbiBhbm5vdGF0ZWQgd2l0aCBAVmlzaXRQYXJhbWV0ZXIsIEBWaXNpdFBhcmFtZXRlckxpc3Qgb3IgQFJvdXRlSWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtZXRlckRlZmluaXRpb247XG4gIH1cblxuXG59XG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkgsT0FBTyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RCxPQUFPLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBSS9ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFHL0QsTUFBTSxPQUFnQixtQkFBbUI7SUFVbEI7SUFBd0U7SUFMcEYsUUFBUSxDQUFVO0lBQ2xCLFlBQVksQ0FBSTtJQUNqQixPQUFPLENBQXVDO0lBR3RELFlBQXFCLFlBQW9CLEVBQUUsT0FBdUMsRUFBVyxTQUF3QjtRQUFoRyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUFvRCxjQUFTLEdBQVQsU0FBUyxDQUFlO1FBQ25ILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FB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QUcsSUFBSSxDQUFDO1FBQ2QsbUJBQW1CLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxnQkFBZ0IsRUFBSyxDQUFDO1FBRWhFLFlBQVksYUFBcUIsRUFBRSxPQUFxQixFQUFFLFNBQXVCO1lBQy9FLEtBQUssQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRCxZQUFZLENBQUMsS0FBVTtZQUNyQixPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsVUFBVSxDQUFDLENBQU0sRUFBRSxDQUFNO1lBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLENBQUM7S0FFRjtJQWpCWSxrQ0FBYyxpQkFpQjFCLENBQUE7SUFJRCxTQUFnQixHQUFHLENBQUksS0FBbUM7UUFDeEQsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxvRkFBb0YsQ0FBQyxDQUFDO1NBQzVHO1FBQ0QsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBTmUsdUJBQUcsTUFNbEIsQ0FBQTtBQUdILENBQUMsRUFyRWdCLG1CQUFtQixLQUFuQixtQkFBbUIsUUFxRW5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnN0cnVjdGFibGUsIEhhc1ZhbHVlLCBMaXN0TW9kZWwsIE11dGFibGVMaXN0TW9kZWwsIE11dGFibGVWYWx1ZU1vZGVsLCBWYWx1ZU1vZGVsfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQge2xhbmcsIE9wdHN9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuXG5pbXBvcnQge2lzRXF1YWwsIGlzRnVuY3Rpb24sIGlzTmlsLCBpc09iamVjdH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7UGxhY2VIaXN0b3J5fSBmcm9tICcuLi9wbGFjZS1oaXN0b3J5JztcbmltcG9ydCB7VmlzaXRTZWdtZW50fSBmcm9tICcuLi92aXNpdC1zZWdtZW50JztcbmltcG9ydCB7Rm9ybWF0dGVyfSBmcm9tICcuL2Zvcm1hdHRlcic7XG5pbXBvcnQge1BhcmFtZXRlclNhbml0aXNlcn0gZnJvbSAnLi9wYXJhbWV0ZXItc2FuaXRpc2VyJztcblxuY29uc3QgUEFSQU1FVEVSX0RFRklOSVRJT05fS0VZID0gU3ltYm9sKCdwYXJhbWV0ZXJEZWZpbml0aW9uJyk7XG5cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhcmFtZXRlckRlZmluaXRpb248VCwgRSA9IFQ+IHtcblxuICBhYnN0cmFjdCByZWFkb25seSBpc1JvdXRlSWQ6IGJvb2xlYW47XG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzQXJyYXk6IGJvb2xlYW47XG5cbiAgcmVhZG9ubHkgcmVtZW1iZXI6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRlZmF1bHRWYWx1ZTogVDtcbiAgcHJpdmF0ZSBvcHRpb25zOiBPcHRzPFBhcmFtZXRlckRlZmluaXRpb24uT3B0aW9uczxUPj47XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBiYWNraW5nTW9kZWxGYWN0b3J5OiAoKSA9PiBIYXNWYWx1ZTxUPjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwcm9wZXJ0eU5hbWU6IHN0cmluZywgb3B0aW9uczogUGFyYW1ldGVyRGVmaW5pdGlvbi5PcHRpb25zPFQ+LCByZWFkb25seSB1cmxGb3JtYXQ/OiBGb3JtYXR0ZXI8RT4pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBPcHRzLmdldChvcHRpb25zKTtcbiAgICB0aGlzLnJlbWVtYmVyID0gdGhpcy5vcHRpb25zLmdldE9wdGlvbmFsKCdyZW1lbWJlcicsIGZhbHNlKTtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHRoaXMub3B0aW9ucy5nZXRPcHRpb25hbCgnZGVmYXVsdFZhbHVlJywgbnVsbCk7XG4gIH1cblxuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldE9wdGlvbmFsKCdhcycsIHRoaXMucHJvcGVydHlOYW1lKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGdldCBpc1JvdXRlUGFyYW1ldGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMudXJsRm9ybWF0O1xuICB9XG5cbiAgYWJzdHJhY3QgaXNFbXB0eVZhbHVlKHZhbHVlOiBUKTogYm9vbGVhbjtcblxuICBhYnN0cmFjdCBoYXNDaGFuZ2VkKGE6IGFueSwgYjogYW55KTogYm9vbGVhbjtcblxuICBjcmVhdGVCYWNraW5nTW9kZWwoKTogSGFzVmFsdWU8VD4ge1xuICAgIGNvbnN0IG1vZGVsID0gdGhpcy5iYWNraW5nTW9kZWxGYWN0b3J5KCk7XG4gICAgbW9kZWxbUEFSQU1FVEVSX0RFRklOSVRJT05fS0VZXSA9IHRoaXM7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE9wdGlvblZhbHVlPEsgZXh0ZW5kcyBrZXlvZiBQYXJhbWV0ZXJEZWZpbml0aW9uLk9wdGlvbnM8VD4+KGtleTogSyk6IFBhcmFtZXRlckRlZmluaXRpb24uT3B0aW9uczxUPltLXSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXRPcHRpb25hbChrZXksIG51bGwpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgc2FuaXRpc2UodmFsdWU6IFQsIHZpc2l0OiBWaXNpdFNlZ21lbnQsIHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5LCBpbmplY3RvcjogSW5qZWN0b3IsIGlzUG9wU3RhdGU6IGJvb2xlYW4pOiBQcm9taXNlPFQ+IHtcbiAgICAvLyBjb25zb2xlLmxvZyhgc2FuaXRpc2UoJHt0aGlzLnByb3BlcnR5TmFtZX0pYClcbiAgICB2YWx1ZSA9IGF3YWl0IHRoaXMuc2FuaXRpc2VNaXNzaW5nKHZpc2l0LCBwbGFjZUhpc3RvcnksIHZhbHVlKTtcbiAgICB2YWx1ZSA9IGF3YWl0IHRoaXMucnVuQ3VzdG9tU2FuaXRpc2VyKHZhbHVlLCB2aXNpdCwgcGxhY2VIaXN0b3J5LCBpbmplY3RvciwgaXNQb3BTdGF0ZSk7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBydW5DdXN0b21TYW5pdGlzZXIodmFsdWU6IFQsIHZpc2l0OiBWaXNpdFNlZ21lbnQsIHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5LCBpbmplY3RvcjogSW5qZWN0b3IsIGlzUG9wU3RhdGU6IGJvb2xlYW4pOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBjdXN0b21TYW5pdGlzZXIgPSB0aGlzLnByZXBhcmVDdXN0b21TYW5pdGlzZXIoaW5qZWN0b3IpO1xuICAgIHJldHVybiBjdXN0b21TYW5pdGlzZXIgPyBjdXN0b21TYW5pdGlzZXIuc2FuaXRpc2UodmFsdWUsIHZpc2l0LCBpbmplY3RvcikgOiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc2FuaXRpc2VNaXNzaW5nKHZpc2l0OiBWaXNpdFNlZ21lbnQsIHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5LCB2YWx1ZTogVCkge1xuICAgIGlmICh0aGlzLmlzTWlzc2luZ0Zyb20odmlzaXQpKSB7XG4gICAgICBjb25zdCByZXR1cm5pbmdGcm9tU29tZXdoZXJlRWxzZSA9ICFwbGFjZUhpc3RvcnkubGFzdFZpc2l0SW5jbHVkZWQodmlzaXQucGxhY2VEZWZpbml0aW9uKTtcbiAgICAgIGlmIChyZXR1cm5pbmdGcm9tU29tZXdoZXJlRWxzZSkge1xuICAgICAgICBjb25zdCBsYXN0S25vd25WaXNpdCA9IHBsYWNlSGlzdG9yeS5nZXRNb3N0UmVjZW50VmlzaXRTZWdtZW50Rm9yKHZpc2l0LnBsYWNlRGVmaW5pdGlvbik7XG4gICAgICAgIGlmICh0aGlzLnJlbWVtYmVyICYmIGxhc3RLbm93blZpc2l0KSB7XG4gICAgICAgICAgdmFsdWUgPSBsYXN0S25vd25WaXNpdC5nZXRQYXJhbWV0ZXJWYWx1ZSh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc0VtcHR5VmFsdWUodmFsdWUpID8gdGhpcy5kZWZhdWx0VmFsdWUgOiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlcGFyZUN1c3RvbVNhbml0aXNlcihpbmplY3RvcjogSW5qZWN0b3IpOiBQYXJhbWV0ZXJTYW5pdGlzZXI8YW55PiB7XG4gICAgY29uc3QgY3VzdG9tU2FuaXRpc2VyID0gdGhpcy5vcHRpb25zLmdldE9wdGlvbmFsKCdzYW5pdGlzZXInLCBudWxsKTtcbiAgICBpZiAoaXNGdW5jdGlvbihjdXN0b21TYW5pdGlzZXIpKSB7XG4gICAgICByZXR1cm4gaW5qZWN0b3IuZ2V0KGN1c3RvbVNhbml0aXNlcik7XG4gICAgfVxuICAgIGlmIChjdXN0b21TYW5pdGlzZXIgaW5zdGFuY2VvZiBQYXJhbWV0ZXJTYW5pdGlzZXIuRmFjdG9yeSkge1xuICAgICAgcmV0dXJuIGN1c3RvbVNhbml0aXNlci5jcmVhdGUoaW5qZWN0b3IpO1xuICAgIH1cbiAgICBpZiAoaXNPYmplY3QoY3VzdG9tU2FuaXRpc2VyKSkge1xuICAgICAgcmV0dXJuIGlzRnVuY3Rpb24oY3VzdG9tU2FuaXRpc2VyWydzYW5pdGlzZSddKSA/XG4gICAgICAgIGN1c3RvbVNhbml0aXNlciBhcyBQYXJhbWV0ZXJTYW5pdGlzZXI8YW55PiA6XG4gICAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKGBleHBlY3RlZCBAVmlzaXRQYXJhbWV0ZXIoe3Nhbml0aXNlcjogLi4ufSkgZm9yICR7dGhpcy5wcm9wZXJ0eU5hbWV9IHRvIGJlIGEgY29uc3RydWN0b3Igb3IgaW5zdGFuY2Ugb2YgUGFyYW1ldGVyU2FuaXRpc2VyLCBnb3Q6IGAgKyBjdXN0b21TYW5pdGlzZXIpO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBpc01pc3NpbmdGcm9tKHZpc2l0OiBWaXNpdFNlZ21lbnQpIHtcbiAgICByZXR1cm4gIXZpc2l0Lmhhc1BhcmFtZXRlcih0aGlzKTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBhcmFtZXRlckRlZmluaXRpb24ge1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uczxUPiB7XG4gICAgYXM/OiBzdHJpbmc7XG4gICAgb3B0aW9uYWw/OiBib29sZWFuO1xuICAgIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgICBkZWZhdWx0VmFsdWU/OiBUO1xuICAgIHNhbml0aXNlcj86IFBhcmFtZXRlclNhbml0aXNlci5EZWY8VD47XG4gIH1cblxuICBleHBvcnQgY2xhc3MgUm91dGVJZDxUPiBleHRlbmRzIFBhcmFtZXRlckRlZmluaXRpb248VD4ge1xuICAgIHJlYWRvbmx5IGlzUm91dGVJZCA9IHRydWU7XG4gICAgcmVhZG9ubHkgaXNBcnJheSA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBiYWNraW5nTW9kZWxGYWN0b3J5ID0gKCkgPT4gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFQ+KCk7XG5cbiAgICBpc0VtcHR5VmFsdWUodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBpc05pbCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaGFzQ2hhbmdlZChhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGEgIT09IGI7XG4gICAgfVxuXG4gIH1cblxuICBleHBvcnQgY2xhc3MgVmFsdWVQYXJhbWV0ZXI8VD4gZXh0ZW5kcyBQYXJhbWV0ZXJEZWZpbml0aW9uPFQ+IHtcbiAgICByZWFkb25seSBpc1JvdXRlSWQgPSBmYWxzZTtcbiAgICByZWFkb25seSBpc0FycmF5ID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGJhY2tpbmdNb2RlbEZhY3RvcnkgPSAoKSA9PiBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8VD4oKTtcblxuICAgIGlzRW1wdHlWYWx1ZSh2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGlzTmlsKHZhbHVlKTtcbiAgICB9XG5cbiAgICBoYXNDaGFuZ2VkKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gYSAhPT0gYjtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgY2xhc3MgQXJyYXlQYXJhbWV0ZXI8VD4gZXh0ZW5kcyBQYXJhbWV0ZXJEZWZpbml0aW9uPFJlYWRvbmx5QXJyYXk8VD4sIFQ+IHtcbiAgICByZWFkb25seSBpc1JvdXRlSWQgPSBmYWxzZTtcbiAgICByZWFkb25seSBpc0FycmF5ID0gdHJ1ZTtcbiAgICBwcm90ZWN0ZWQgYmFja2luZ01vZGVsRmFjdG9yeSA9ICgpID0+IG5ldyBNdXRhYmxlTGlzdE1vZGVsPFQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihwYXJhbWV0ZXJOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IE9wdGlvbnM8VFtdPiwgdXJsRm9ybWF0OiBGb3JtYXR0ZXI8VD4pIHtcbiAgICAgIHN1cGVyKHBhcmFtZXRlck5hbWUsIG9wdGlvbnMsIHVybEZvcm1hdCk7XG4gICAgfVxuXG4gICAgaXNFbXB0eVZhbHVlKHZhbHVlOiBUW10pOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBpc05pbCh2YWx1ZSkgfHwgdmFsdWUubGVuZ3RoIDwgMTtcbiAgICB9XG5cbiAgICBoYXNDaGFuZ2VkKGE6IFRbXSwgYjogVFtdKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gIWlzRXF1YWwoYSwgYik7XG4gICAgfVxuXG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0PFQ+KG1vZGVsOiBWYWx1ZU1vZGVsPFQ+KTogUGFyYW1ldGVyRGVmaW5pdGlvbi5WYWx1ZVBhcmFtZXRlcjxUPlxuICBleHBvcnQgZnVuY3Rpb24gZ2V0PFQ+KG1vZGVsOiBMaXN0TW9kZWw8VD4pOiBQYXJhbWV0ZXJEZWZpbml0aW9uLkFycmF5UGFyYW1ldGVyPFQ+XG4gIGV4cG9ydCBmdW5jdGlvbiBnZXQ8VD4obW9kZWw6IFZhbHVlTW9kZWw8VD4gfCBMaXN0TW9kZWw8VD4pOiBQYXJhbWV0ZXJEZWZpbml0aW9uLlZhbHVlUGFyYW1ldGVyPFQ+IHwgUGFyYW1ldGVyRGVmaW5pdGlvbi5BcnJheVBhcmFtZXRlcjxUPiB7XG4gICAgY29uc3QgcGFyYW1ldGVyRGVmaW5pdGlvbiA9IG1vZGVsW1BBUkFNRVRFUl9ERUZJTklUSU9OX0tFWV07XG4gICAgaWYgKCFwYXJhbWV0ZXJEZWZpbml0aW9uKSB7XG4gICAgICBsYW5nLmlsbGVnYWxBcmd1bWVudCgnbW9kZWwgaGFzblxcJ3QgYmVlbiBhbm5vdGF0ZWQgd2l0aCBAVmlzaXRQYXJhbWV0ZXIsIEBWaXNpdFBhcmFtZXRlckxpc3Qgb3IgQFJvdXRlSWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtZXRlckRlZmluaXRpb247XG4gIH1cblxuXG59XG4iXX0=
@@ -1,2 +1,7 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL3JvdXRlL3BhcmFtZXRlci1zYW5pdGlzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtWaXNpdFNlZ21lbnR9IGZyb20gJy4uL3Zpc2l0LXNlZ21lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlclNhbml0aXNlcjxUPiB7XG4gIHNhbml0aXNlKHBhcmFtZXRlclZhbHVlOiBULCB2aXNpdD86IFZpc2l0U2VnbWVudCwgaW5qZWN0b3I/OiBJbmplY3Rvcik6IFByb21pc2U8VD4gfCBUO1xufVxuIl19
1
+ export var ParameterSanitiser;
2
+ (function (ParameterSanitiser) {
3
+ class Factory {
4
+ }
5
+ ParameterSanitiser.Factory = Factory;
6
+ })(ParameterSanitiser || (ParameterSanitiser = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL3JvdXRlL3BhcmFtZXRlci1zYW5pdGlzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxLQUFXLGtCQUFrQixDQU1sQztBQU5ELFdBQWlCLGtCQUFrQjtJQUNqQyxNQUFzQixPQUFPO0tBRTVCO0lBRnFCLDBCQUFPLFVBRTVCLENBQUE7QUFHSCxDQUFDLEVBTmdCLGtCQUFrQixLQUFsQixrQkFBa0IsUUFNbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IFZpc2l0U2VnbWVudCB9IGZyb20gJy4uL3Zpc2l0LXNlZ21lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlclNhbml0aXNlcjxUPiB7XG4gIHNhbml0aXNlKHBhcmFtZXRlclZhbHVlOiBULCB2aXNpdD86IFZpc2l0U2VnbWVudCwgaW5qZWN0b3I/OiBJbmplY3Rvcik6IFByb21pc2U8VD4gfCBUO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBhcmFtZXRlclNhbml0aXNlciB7XG4gIGV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGYWN0b3J5PFQ+IHtcbiAgICBhYnN0cmFjdCBjcmVhdGUoaW5qZWN0b3I6IEluamVjdG9yKTogUGFyYW1ldGVyU2FuaXRpc2VyPFQ+O1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgRGVmPFQ+ID0gUGFyYW1ldGVyU2FuaXRpc2VyPFQ+IHwgQ29uc3RydWN0YWJsZTxQYXJhbWV0ZXJTYW5pdGlzZXI8VD4+IHwgRmFjdG9yeTxUPlxufVxuIl19
@@ -1519,6 +1519,7 @@ class FileDownloadComponent extends PopupAwareComponent {
1519
1519
  buttonStyle$;
1520
1520
  color$;
1521
1521
  tooltip$;
1522
+ document = this.inject(DOCUMENT);
1522
1523
  constructor() {
1523
1524
  super();
1524
1525
  const { chain } = Dsl.disposeWith(this);
@@ -1527,15 +1528,24 @@ class FileDownloadComponent extends PopupAwareComponent {
1527
1528
  ...it,
1528
1529
  icon() {
1529
1530
  return 'mat:file_download';
1530
- },
1531
+ }
1531
1532
  };
1532
1533
  }).mapToList();
1533
1534
  this.buttonStyle$ = chain(this.download$).map(f => CommandFace.getStyleOf(f));
1534
1535
  this.color$ = chain(this.download$).map(f => CommandFace.getColorOf(f));
1535
1536
  this.tooltip$ = chain(this.download$).map(f => CommandFace.getTooltipOf(f));
1536
1537
  }
1538
+ downloadFile() {
1539
+ // Create an invisible link attached to the main document body, not the menu
1540
+ const link = this.document.createElement('a');
1541
+ link.href = this.download$.value.url;
1542
+ link.download = this.download$.value.saveAs;
1543
+ document.body.appendChild(link);
1544
+ link.click();
1545
+ document.body.removeChild(link);
1546
+ }
1537
1547
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FileDownloadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1538
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: FileDownloadComponent, selector: "aup-file-download", inputs: { download$: "download$", download: "download", alignFace: "alignFace" }, host: { properties: { "class": "this.alignFace" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!inPopup\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.STROKED\">\n <a mat-stroked-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.RAISED\">\n <a mat-raised-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <a mat-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n </ng-container>\n\n</ng-container>\n\n<ng-container *ngIf=\"inPopup\">\n <a mat-menu-item [href]=\"download?.url\" [download]=\"download?.saveAs\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n</ng-container>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i2$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "component", type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
1548
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: FileDownloadComponent, selector: "aup-file-download", inputs: { download$: "download$", download: "download", alignFace: "alignFace" }, host: { properties: { "class": "this.alignFace" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!inPopup\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.STROKED\">\n <a mat-stroked-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.RAISED\">\n <a mat-raised-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <a mat-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n </ng-container>\n\n</ng-container>\n\n<ng-container *ngIf=\"inPopup\">\n <a mat-menu-item (click)=\"downloadFile()\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n</ng-container>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i2$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "component", type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
1539
1549
  }
1540
1550
  __decorate([
1541
1551
  Proxify(),
@@ -1547,7 +1557,7 @@ __decorate([
1547
1557
  ], FileDownloadComponent.prototype, "download", null);
1548
1558
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FileDownloadComponent, decorators: [{
1549
1559
  type: Component,
1550
- args: [{ selector: 'aup-file-download', template: "<ng-container *ngIf=\"!inPopup\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.STROKED\">\n <a mat-stroked-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.RAISED\">\n <a mat-raised-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <a mat-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n </ng-container>\n\n</ng-container>\n\n<ng-container *ngIf=\"inPopup\">\n <a mat-menu-item [href]=\"download?.url\" [download]=\"download?.saveAs\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n</ng-container>\n\n" }]
1560
+ args: [{ selector: 'aup-file-download', template: "<ng-container *ngIf=\"!inPopup\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.STROKED\">\n <a mat-stroked-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.RAISED\">\n <a mat-raised-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <a mat-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n </ng-container>\n\n</ng-container>\n\n<ng-container *ngIf=\"inPopup\">\n <a mat-menu-item (click)=\"downloadFile()\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n</ng-container>\n\n" }]
1551
1561
  }], ctorParameters: function () { return []; }, propDecorators: { download$: [{
1552
1562
  type: Input
1553
1563
  }], download: [{
@@ -1556,13 +1566,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
1556
1566
  type: Input
1557
1567
  }, {
1558
1568
  type: HostBinding,
1559
- args: ["class"]
1569
+ args: ['class']
1560
1570
  }] } });
1561
1571
  (function (FileDownloadComponent) {
1562
1572
  function createInfo(options) {
1563
1573
  return {
1564
1574
  ...options,
1565
- ...options.face,
1575
+ ...options.face
1566
1576
  };
1567
1577
  }
1568
1578
  FileDownloadComponent.createInfo = createInfo;
@@ -7417,6 +7427,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
7417
7427
  InteractionService.ApiAdapter = ApiAdapter;
7418
7428
  })(InteractionService || (InteractionService = {}));
7419
7429
 
7430
+ var ParameterSanitiser;
7431
+ (function (ParameterSanitiser) {
7432
+ class Factory {
7433
+ }
7434
+ ParameterSanitiser.Factory = Factory;
7435
+ })(ParameterSanitiser || (ParameterSanitiser = {}));
7436
+
7420
7437
  const PARAMETER_DEFINITION_KEY = Symbol('parameterDefinition');
7421
7438
  class ParameterDefinition {
7422
7439
  propertyName;
@@ -7474,6 +7491,9 @@ class ParameterDefinition {
7474
7491
  if (isFunction(customSanitiser)) {
7475
7492
  return injector.get(customSanitiser);
7476
7493
  }
7494
+ if (customSanitiser instanceof ParameterSanitiser.Factory) {
7495
+ return customSanitiser.create(injector);
7496
+ }
7477
7497
  if (isObject(customSanitiser)) {
7478
7498
  return isFunction(customSanitiser['sanitise']) ?
7479
7499
  customSanitiser :
@@ -13136,5 +13156,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
13136
13156
  * Generated bundle index. Do not edit.
13137
13157
  */
13138
13158
 
13139
- export { ACTIVITY_DATA, ALERT_CONFIG, AUP_PLACE_CONFIG, AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER, AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, AbstractActivityTriggerComponent, AbstractCardContainerComponent, AbstractCellRenderer, AbstractConfirmDialogComponent, AbstractDialogComponent, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractPopupMenuComponent, AbstractTableComponent, AbstractTableModel, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityBodyComponent, ActivityContainerComponent, ActivityContext, ActivityOutletComponent, ActivityRef, ActivityTitleComponent, AddCardActivityComponent, AddItemInteractionContextComponent, Alert, AlertDialogComponent, AlertRendererComponent, AngularUiPowerupsModule, AutocompleteInputComponent, Bounds, BusyOverlayComponent, ButtonRendererComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellFooterPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnManager, ColumnModel, ColumnOrderManager, ColumnTemplateDirective, ColumnTextSearchFormatter, CommandComponent, CommandContainer, CommandDirective, CommandFace, CommandFaceComponent, ComponentCellRendererPortalRef, ComponentsModule, Confirm, ConfirmRendererComponent, ConfirmThenDialogComponent, ConfirmThenExecuteDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DecoratedTreeNode, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControlsComponent, EditSession, EditorControlColumnModel, EmptyStateComponent, EnableCellTextSearch, EventCleanUpSession, FOOTER_CELL_RENDERER_PORTAL, FileDownloadComponent, FlattenedTreeListModel, FlexComponent, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, FooterRowModel, Formatter, GarbageCollectorDirective, HEADER_CELL_RENDERER_PORTAL, HighlightPipe, HighlightTextModelDirective, HorizontalAlignment, INTERACTION_CONTEXT, IconComponent, InPlaceInteractionContextComponent, InlineActivityTriggerComponent, InlineEditorModel, InlineStringEditorComponent, InputActivity, InteractionContextProvider, InteractionContextTriggerForDirective, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, Keys, LEFT_RIGHT_PLACE_ANIMATION, LabelledValueComponent, ListPlaceNavComponent, ListPropertyColumnModel, LoadableComponent, LoadingContainerComponent, MarkdownComponent, MarkdownService, ModalActivityTriggerComponent, ModalInteractionContextFactory, MoreMenuComponent, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NotAuthorisedNoticeComponent, NumberInputComponent, POPUP_CONTAINER, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, PaginatorComponent, ParameterDefinition, PasswordInputComponent, Place, PlaceAccessGuard, PlaceAuthService, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupActivityTriggerComponent, PopupAwareComponent, PopupInteractionContextComponent, PopupMenuComponent, PopupMenuRendererComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, ResizeObserverDirective, RouteId, ScrollContainerComponent, SearchInputComponent, SectionHeaderComponent, SelectInputActivity, SelectInputComponent, SelectionCellComponent, SelectionColumnModel, SelectionHeaderCellComponent, SeparatorComponent, SidePlaceNavigationComponent, SlideDownInteractionContextComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableActionColumnComponent, TableBodyComponent, TableCellComponent, TableComponent, TableCustomMoreMenuComponent, TableCustomMoreMenuPopupComponent, TableFilterModel, TableFooterRow, TableHeaderCellComponent, TableModel, TableRowAttributesDirective, TemplateCellRendererPortalRef, TextInputComponent, TextSearchContext, ToolBarComponent, Track, TreeExpansionModel, TreeInheritanceIconComponent, TreeLabelCellRendererComponent, TreeLabelColumnModel, TreeTableComponent, TreeTableModel, UrlService, UrlSnapshot, VerticalFocusContainerComponent, VisibilityService, Visit, VisitParameter, VisitParameterList, VisitSegment, VisitSegmentSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationTypeDetermined, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, markdownPillExtension, slideDownAndRightOnEnterAnimation, slideDownOnEnterAnimation, slideDownWhenOpenAnimation, slideRightOnEnterAnimation, treeNodeDecorator };
13159
+ export { ACTIVITY_DATA, ALERT_CONFIG, AUP_PLACE_CONFIG, AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER, AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, AbstractActivityTriggerComponent, AbstractCardContainerComponent, AbstractCellRenderer, AbstractConfirmDialogComponent, AbstractDialogComponent, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractPopupMenuComponent, AbstractTableComponent, AbstractTableModel, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityBodyComponent, ActivityContainerComponent, ActivityContext, ActivityOutletComponent, ActivityRef, ActivityTitleComponent, AddCardActivityComponent, AddItemInteractionContextComponent, Alert, AlertDialogComponent, AlertRendererComponent, AngularUiPowerupsModule, AutocompleteInputComponent, Bounds, BusyOverlayComponent, ButtonRendererComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellFooterPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnManager, ColumnModel, ColumnOrderManager, ColumnTemplateDirective, ColumnTextSearchFormatter, CommandComponent, CommandContainer, CommandDirective, CommandFace, CommandFaceComponent, ComponentCellRendererPortalRef, ComponentsModule, Confirm, ConfirmRendererComponent, ConfirmThenDialogComponent, ConfirmThenExecuteDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DecoratedTreeNode, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControlsComponent, EditSession, EditorControlColumnModel, EmptyStateComponent, EnableCellTextSearch, EventCleanUpSession, FOOTER_CELL_RENDERER_PORTAL, FileDownloadComponent, FlattenedTreeListModel, FlexComponent, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, FooterRowModel, Formatter, GarbageCollectorDirective, HEADER_CELL_RENDERER_PORTAL, HighlightPipe, HighlightTextModelDirective, HorizontalAlignment, INTERACTION_CONTEXT, IconComponent, InPlaceInteractionContextComponent, InlineActivityTriggerComponent, InlineEditorModel, InlineStringEditorComponent, InputActivity, InteractionContextProvider, InteractionContextTriggerForDirective, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, Keys, LEFT_RIGHT_PLACE_ANIMATION, LabelledValueComponent, ListPlaceNavComponent, ListPropertyColumnModel, LoadableComponent, LoadingContainerComponent, MarkdownComponent, MarkdownService, ModalActivityTriggerComponent, ModalInteractionContextFactory, MoreMenuComponent, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NotAuthorisedNoticeComponent, NumberInputComponent, POPUP_CONTAINER, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, PaginatorComponent, ParameterDefinition, ParameterSanitiser, PasswordInputComponent, Place, PlaceAccessGuard, PlaceAuthService, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupActivityTriggerComponent, PopupAwareComponent, PopupInteractionContextComponent, PopupMenuComponent, PopupMenuRendererComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, ResizeObserverDirective, RouteId, ScrollContainerComponent, SearchInputComponent, SectionHeaderComponent, SelectInputActivity, SelectInputComponent, SelectionCellComponent, SelectionColumnModel, SelectionHeaderCellComponent, SeparatorComponent, SidePlaceNavigationComponent, SlideDownInteractionContextComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableActionColumnComponent, TableBodyComponent, TableCellComponent, TableComponent, TableCustomMoreMenuComponent, TableCustomMoreMenuPopupComponent, TableFilterModel, TableFooterRow, TableHeaderCellComponent, TableModel, TableRowAttributesDirective, TemplateCellRendererPortalRef, TextInputComponent, TextSearchContext, ToolBarComponent, Track, TreeExpansionModel, TreeInheritanceIconComponent, TreeLabelCellRendererComponent, TreeLabelColumnModel, TreeTableComponent, TreeTableModel, UrlService, UrlSnapshot, VerticalFocusContainerComponent, VisibilityService, Visit, VisitParameter, VisitParameterList, VisitSegment, VisitSegmentSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationTypeDetermined, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, markdownPillExtension, slideDownAndRightOnEnterAnimation, slideDownOnEnterAnimation, slideDownWhenOpenAnimation, slideRightOnEnterAnimation, treeNodeDecorator };
13140
13160
  //# sourceMappingURL=coolon-angular-ui-powerups.mjs.map