@bizdoc/core 1.14.1 → 1.14.5
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/assets/themes/brown.min.css +1 -1
- package/assets/themes/dark.min.css +1 -1
- package/assets/themes/deep-purple-light-blue.min.css +1 -1
- package/assets/themes/deep-purple-teal.min.css +1 -1
- package/assets/themes/default.min.css +1 -1
- package/assets/themes/green.min.css +1 -1
- package/assets/themes/indigo.min.css +1 -1
- package/esm2020/lib/admin/document-trace/document-trace.component.mjs +6 -4
- package/esm2020/lib/admin/profiler/outofoffice.component.mjs +155 -0
- package/esm2020/lib/admin/profiler/profiler.component.mjs +75 -46
- package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +3 -3
- package/esm2020/lib/core/models.mjs +1 -1
- package/esm2020/lib/core/slots/pane-ref.mjs +46 -28
- package/esm2020/lib/core/slots/slots.component.mjs +28 -25
- package/esm2020/lib/core/translations.mjs +4 -2
- package/esm2020/lib/cube/cube-info.service.mjs +2 -2
- package/esm2020/lib/cube/explore/explore-items.component.mjs +2 -2
- package/esm2020/lib/options/options.component.mjs +37 -16
- package/esm2020/lib/reports/report-viewer.component.mjs +2 -2
- package/esm2020/lib/system.module.mjs +8 -6
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/bizdoc-core.mjs +341 -134
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +331 -130
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/profiler/outofoffice.component.d.ts +48 -0
- package/lib/admin/profiler/profiler.component.d.ts +20 -11
- package/lib/core/models.d.ts +2 -2
- package/lib/core/slots/pane-ref.d.ts +32 -12
- package/lib/core/slots/slots.component.d.ts +1 -1
- package/lib/core/translations.d.ts +2 -0
- package/lib/options/options.component.d.ts +4 -3
- package/lib/system.module.d.ts +24 -23
- package/package.json +16 -16
- package/public-api.d.ts +1 -1
@@ -119,6 +119,8 @@ export class CompareNameDirective extends CompareDirectiveBase {
|
|
119
119
|
this._structure = this._group.structure.fields.find(e => e.name === this._name[0]);
|
120
120
|
this._base = this._group.base;
|
121
121
|
this._version = this._group.version;
|
122
|
+
if (!this._structure)
|
123
|
+
throw `No form field with name ${this._name[0]}`;
|
122
124
|
}
|
123
125
|
else {
|
124
126
|
this._structure = this._comparision.form.structure.find(e => e.name === this._name[0]);
|
@@ -126,8 +128,6 @@ export class CompareNameDirective extends CompareDirectiveBase {
|
|
126
128
|
this._base = baseVersion;
|
127
129
|
this._version = currentVersion;
|
128
130
|
}
|
129
|
-
if (!this._structure)
|
130
|
-
throw `No form field with name ${this._name[0]}`;
|
131
131
|
}
|
132
132
|
ngAfterViewInit() {
|
133
133
|
if (!this._comparision)
|
@@ -341,4 +341,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
341
341
|
type: Input,
|
342
342
|
args: ['bizdocCompareDecorate']
|
343
343
|
}] } });
|
344
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1jb21wYXJlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS92ZXJzaW9uLWNvbXBhcmUvdmVyc2lvbi1jb21wYXJlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBc0IsUUFBUSxFQUFFLElBQUksRUFBb0MsUUFBUSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUVoSyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBS2hELElBQUssWUFLSjtBQUxELFdBQUssWUFBWTtJQUNmLHNEQUFZLENBQUE7SUFDWix5REFBYSxDQUFBO0lBQ2IsaURBQVMsQ0FBQTtJQUNULHVEQUFZLENBQUE7QUFDZCxDQUFDLEVBTEksWUFBWSxLQUFaLFlBQVksUUFLaEI7QUFFRCxNQUFNLE9BQWdCLG9CQUFvQjtDQUl6QztBQUNELE1BQU07QUFFTixNQUFNLE9BQ0UscUJBQXNCLFNBQVEsb0JBQW9CO0lBVXhELFlBQ3NCLFlBQXFDLEVBQzdCLFFBQWlDLEVBQ3JCLE9BQThCO1FBQ3RFLEtBQUssRUFBRSxDQUFDO1FBSFksaUJBQVksR0FBWixZQUFZLENBQXlCO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQXlCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQXVCO0lBRXhFLENBQUM7SUFURCxJQUFXLFNBQVMsS0FBZ0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM3RCxJQUFXLElBQUksS0FBVSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVFLElBQVcsT0FBTyxLQUFVLE9BQU8s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cHRpb25hbCwgSG9zdCwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFNraXBTZWxmLCBWaWV3Q29udGFpbmVyUmVmLCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSBcIi4uLy4uL2NvcmUvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCB7IEZpZWxkSW5mbyB9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVmVyc2lvbkNvbXBhcmVDb21wb25lbnQgfSBmcm9tIFwiLi92ZXJzaW9uLWNvbXBhcmUuY29tcG9uZW50XCI7XHJcblxyXG5lbnVtIENvbXBhcmVTdGF0ZSB7XHJcbiAgUmVtb3ZlZCA9IC0xLFxyXG4gIFVuY2hhbmdlZCA9IDAsXHJcbiAgQWRkZWQgPSAxLFxyXG4gIE1vZGlmaWVkID0gMlxyXG59XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29tcGFyZURpcmVjdGl2ZUJhc2Uge1xyXG4gIGFic3RyYWN0IGdldCBiYXNlKCk6IGFueTtcclxuICBhYnN0cmFjdCBnZXQgdmVyc2lvbigpOiBhbnk7XHJcbiAgYWJzdHJhY3QgZ2V0IHN0cnVjdHVyZSgpOiBGaWVsZEluZm87XHJcbn1cclxuLyoqICovXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tiaXpkb2NDb21wYXJlR3JvdXBdLFtiaXpkb2NDb21wYXJlQXJyYXldJyB9KVxyXG5leHBvcnRcclxuICBjbGFzcyBDb21wYXJlR3JvdXBEaXJlY3RpdmUgZXh0ZW5kcyBDb21wYXJlRGlyZWN0aXZlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCdiaXpkb2NDb21wYXJlR3JvdXAnKSBuYW1lOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfa2V5czogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfc3RydWN0dXJlOiBGaWVsZEluZm87XHJcbiAgcHJpdmF0ZSBfYmFzZTogYW55O1xyXG4gIHByaXZhdGUgX3ZlcnNpb246IGFueTtcclxuICBwdWJsaWMgZ2V0IHN0cnVjdHVyZSgpOiBGaWVsZEluZm8geyByZXR1cm4gdGhpcy5fc3RydWN0dXJlOyB9XHJcbiAgcHVibGljIGdldCBiYXNlKCk6IGFueSB7IHJldHVybiB0aGlzLl9iYXNlID8gdGhpcy5fYmFzZVt0aGlzLm5hbWVdIDogbnVsbDsgfVxyXG4gIHB1YmxpYyBnZXQgdmVyc2lvbigpOiBhbnkgeyByZXR1cm4gdGhpcy5fdmVyc2lvblt0aGlzLm5hbWVdOyB9XHJcbiAgcHVibGljIGdldCBrZXlzKCk6IHN0cmluZ1tdIHsgcmV0dXJuIHRoaXMuX2tleXM7IH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2NvbXBhcmlzaW9uOiBWZXJzaW9uQ29tcGFyZUNvbXBvbmVudCxcclxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgcHJpdmF0ZSBfY29udGV4dDogQ29tcGFyZUNvbnRleHREaXJlY3RpdmUsXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIEBTa2lwU2VsZigpIHByaXZhdGUgX3BhcmVudDogQ29tcGFyZUdyb3VwRGlyZWN0aXZlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fY29tcGFyaXNpb24pIHJldHVybjtcclxuICAgIGlmICh0aGlzLl9jb250ZXh0KSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX2NvbnRleHQuc3RydWN0dXJlLmZpZWxkcy5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLm5hbWUpO1xyXG4gICAgICB0aGlzLl9iYXNlID0gdGhpcy5fY29udGV4dC5iYXNlO1xyXG4gICAgICB0aGlzLl92ZXJzaW9uID0gdGhpcy5fY29udGV4dC52ZXJzaW9uO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5fcGFyZW50KSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX3BhcmVudC5zdHJ1Y3R1cmUuZmllbGRzLmZpbmQoZSA9PiBlLm5hbWUgPT09IHRoaXMubmFtZSk7XHJcbiAgICAgIHRoaXMuX2Jhc2UgPSB0aGlzLl9wYXJlbnQuYmFzZTtcclxuICAgICAgdGhpcy5fdmVyc2lvbiA9IHRoaXMuX3BhcmVudC52ZXJzaW9uO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX2NvbXBhcmlzaW9uLmZvcm0uc3RydWN0dXJlLmZpbmQoZSA9PiBlLm5hbWUgPT09IHRoaXMubmFtZSk7XHJcbiAgICAgIGNvbnN0IHsgY3VycmVudFZlcnNpb24sIGJhc2VWZXJzaW9uIH0gPSB0aGlzLl9jb21wYXJpc2lvbjtcclxuICAgICAgdGhpcy5fYmFzZSA9IGJhc2VWZXJzaW9uO1xyXG4gICAgICB0aGlzLl92ZXJzaW9uID0gY3VycmVudFZlcnNpb247XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuX3N0cnVjdHVyZSkgdGhyb3cgYE5vIGZvcm0gZmllbGQgd2l0aCBuYW1lICR7dGhpcy5uYW1lfWA7XHJcbiAgICBpZiAoIXRoaXMuX3N0cnVjdHVyZS5pc09iamVjdCkgdGhyb3cgYGJpemRvY0NvbXBhcmVHcm91cCAke3RoaXMubmFtZX1gO1xyXG4gICAgdGhpcy5zdHJ1Y3R1cmUuaXNBcnJheSAmJiB0aGlzLl9ub3JtYWxpemUoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbm9ybWFsaXplKCkge1xyXG4gICAgdGhpcy5fa2V5cyA9IHRoaXMuc3RydWN0dXJlLmZpZWxkcy5maWx0ZXIoZiA9PiBmLmtleSkubWFwKGsgPT4gay5uYW1lKTtcclxuICAgIHRoaXMuYmFzZS5mb3JFYWNoKChiLCBpKSA9PiAhdGhpcy52ZXJzaW9uLmZpbmQodiA9PiB0aGlzLl9rZXlzLmV2ZXJ5KGsgPT4gdltrXSA9PT0gYltrXSkpIC8qIGRvZXNuJ3QgaGF2ZSBhIHZlcnNpb24gKi8gJiZcclxuICAgICAgdGhpcy52ZXJzaW9uLnNwbGljZShpLCAwLCBPYmplY3QuYXNzaWduKHsgX2NvbXBhcmU6IENvbXBhcmVTdGF0ZS5SZW1vdmVkIH0sIGIpKSk7XHJcbiAgICB0aGlzLnZlcnNpb24uZm9yRWFjaCh2ID0+IHtcclxuICAgICAgaWYgKHZbJ19jb21wYXJlJ10gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGNvbnN0IGJhc2UgPSB0aGlzLmJhc2UuZmluZChiID0+IHRoaXMuX2tleXMuZXZlcnkoayA9PiBiW2tdID09PSB2W2tdKSk7XHJcbiAgICAgICAgaWYgKCFiYXNlKVxyXG4gICAgICAgICAgdlsnX2NvbXBhcmUnXSA9IENvbXBhcmVTdGF0ZS5BZGRlZDtcclxuICAgICAgICBlbHNlIGlmIChKU09OLnN0cmluZ2lmeSh2KSAhPT0gSlNPTi5zdHJpbmdpZnkoYmFzZSkpXHJcbiAgICAgICAgICB2WydfY29tcGFyZSddID0gQ29tcGFyZVN0YXRlLk1vZGlmaWVkO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuLyoqICovXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tiaXpkb2NDb21wYXJlTmFtZV0nIH0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIENvbXBhcmVOYW1lRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGFyZURpcmVjdGl2ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHByaXZhdGUgX25hbWU6IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgnYml6ZG9jQ29tcGFyZU5hbWUnKSBzZXQgbmFtZSh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5fbmFtZSA9IHZhbC5zcGxpdCgnLCcpO1xyXG4gIH1cclxuICBwcml2YXRlIF9zdHJ1Y3R1cmU6IEZpZWxkSW5mbztcclxuICBwcml2YXRlIF9iYXNlOiBhbnk7XHJcbiAgcHJpdmF0ZSBfdmVyc2lvbjogYW55O1xyXG4gIHByaXZhdGUgX3N0YXRlOiBDb21wYXJlU3RhdGUgPSBDb21wYXJlU3RhdGUuVW5jaGFuZ2VkO1xyXG4gIHB1YmxpYyBnZXQgc3RydWN0dXJlKCk6IEZpZWxkSW5mbyB7IHJldHVybiB0aGlzLl9zdHJ1Y3R1cmU7IH1cclxuICBwdWJsaWMgZ2V0IGJhc2UoKTogYW55IHsgcmV0dXJuIHRoaXMuX2Jhc2UgPyB0aGlzLl9iYXNlW3RoaXMuX25hbWVbMF1dIDogbnVsbDsgfVxyXG4gIHB1YmxpYyBnZXQgdmVyc2lvbigpOiBhbnkgeyByZXR1cm4gdGhpcy5fdmVyc2lvblt0aGlzLl9uYW1lWzBdXTsgfVxyXG4gIGdldCBzdGF0ZSgpOiBDb21wYXJlU3RhdGUgeyByZXR1cm4gdGhpcy5fc3RhdGUgfTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2NvbXBhcmlzaW9uOiBWZXJzaW9uQ29tcGFyZUNvbXBvbmVudCxcclxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgcHJpdmF0ZSBfY29udGV4dDogQ29tcGFyZUNvbnRleHREaXJlY3RpdmUsXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX2dyb3VwOiBDb21wYXJlR3JvdXBEaXJlY3RpdmUsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9kb206IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fY29tcGFyaXNpb24pIHJldHVybjtcclxuICAgIGlmICh0aGlzLl9jb250ZXh0KSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX2NvbnRleHQuc3RydWN0dXJlLmZpZWxkcy5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLl9uYW1lWzBdKTtcclxuICAgICAgdGhpcy5fYmFzZSA9IHRoaXMuX2NvbnRleHQuYmFzZTtcclxuICAgICAgdGhpcy5fdmVyc2lvbiA9IHRoaXMuX2NvbnRleHQudmVyc2lvbjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuX2dyb3VwKSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX2dyb3VwLnN0cnVjdHVyZS5maWVsZHMuZmluZChlID0+IGUubmFtZSA9PT0gdGhpcy5fbmFtZVswXSk7XHJcbiAgICAgIHRoaXMuX2Jhc2UgPSB0aGlzLl9ncm91cC5iYXNlO1xyXG4gICAgICB0aGlzLl92ZXJzaW9uID0gdGhpcy5fZ3JvdXAudmVyc2lvbjtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLl9zdHJ1Y3R1cmUgPSB0aGlzLl9jb21wYXJpc2lvbi5mb3JtLnN0cnVjdHVyZS5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLl9uYW1lWzBdKTtcclxuICAgICAgY29uc3QgeyBjdXJyZW50VmVyc2lvbiwgYmFzZVZlcnNpb24gfSA9IHRoaXMuX2NvbXBhcmlzaW9uO1xyXG4gICAgICB0aGlzLl9iYXNlID0gYmFzZVZlcnNpb247XHJcbiAgICAgIHRoaXMuX3ZlcnNpb24gPSBjdXJyZW50VmVyc2lvbjtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5fc3RydWN0dXJlKSB0aHJvdyBgTm8gZm9ybSBmaWVsZCB3aXRoIG5hbWUgJHt0aGlzLl9uYW1lWzBdfWA7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fY29tcGFyaXNpb24pIHJldHVybjtcclxuICAgIC8vIGlmIG9iamVjdCBoYXMgc3RhdGVcclxuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fdmVyc2lvblsnX2NvbXBhcmUnXTtcclxuICAgIGlmIChzdGF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHN3aXRjaCAoc3RhdGUpIHtcclxuICAgICAgICBjYXNlIENvbXBhcmVTdGF0ZS5SZW1vdmVkOlxyXG4gICAgICAgICAgdGhpcy5fZGVjb3JhdGUoJ3JlbW92ZWQnLCAnRGVsZXRlZCcpO1xyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBjYXNlIENvbXBhcmVTdGF0ZS5BZGRlZDpcclxuICAgICAgICAgIHRoaXMuX2RlY29yYXRlKCdhZGRlZCcsICdBZGRlZCcpO1xyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgdmVyc2lvbkRhdGE6IHsgW2ZpZWxkOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG4gICAgLy8gaXRlcmF0ZSBuYW1lc1xyXG4gICAgbGV0IG5hbWU6IHN0cmluZywgaSA9IDA7XHJcbiAgICB3aGlsZSAoaSA8IHRoaXMuX25hbWUubGVuZ3RoKSB7XHJcbiAgICAgIG5hbWUgPSB0aGlzLl9uYW1lW2ldO1xyXG4gICAgICBpZiAoIXRoaXMuX2Jhc2UpIHtcclxuICAgICAgICBpZiAodGhpcy5fdmVyc2lvbltuYW1lXSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBDb21wYXJlU3RhdGUuQWRkZWQ7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodGhpcy5fdmVyc2lvbltuYW1lXSAhPT0gdGhpcy5fYmFzZVtuYW1lXSkge1xyXG4gICAgICAgIGlmICh0aGlzLl92ZXJzaW9uW25hbWVdID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMuX3ZlcnNpb25bbmFtZV0gPSB0aGlzLl9iYXNlW25hbWVdO1xyXG4gICAgICAgICAgdmVyc2lvbkRhdGFbbmFtZV0gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICB0aGlzLl9zdGF0ZSA9IENvbXBhcmVTdGF0ZS5SZW1vdmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0aGlzLl9iYXNlW25hbWVdID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICB0aGlzLl9zdGF0ZSA9IENvbXBhcmVTdGF0ZS5BZGRlZDtcclxuICAgICAgICBlbHNlIGlmIChKU09OLnN0cmluZ2lmeSh0aGlzLl92ZXJzaW9uW25hbWVdKSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5fYmFzZVtuYW1lXSkpIHtcclxuICAgICAgICAgIC8vIHN0b3JlIHZlcnNpb24gZGF0YVxyXG4gICAgICAgICAgdmVyc2lvbkRhdGFbbmFtZV0gPSB0aGlzLl92ZXJzaW9uW25hbWVdO1xyXG4gICAgICAgICAgdGhpcy5fdmVyc2lvbltuYW1lXSA9IHRoaXMuX2Jhc2VbbmFtZV07XHJcbiAgICAgICAgICB0aGlzLl9zdGF0ZSA9IENvbXBhcmVTdGF0ZS5Nb2RpZmllZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaSsrO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSBDb21wYXJlU3RhdGUuVW5jaGFuZ2VkKVxyXG4gICAgICBzd2l0Y2ggKHRoaXMuX3N0YXRlKSB7XHJcbiAgICAgICAgY2FzZSBDb21wYXJlU3RhdGUuUmVtb3ZlZDpcclxuICAgICAgICAgIC8vIGRldGVjdCB3aXRoIGJhc2UgdmFsdWUocylcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2RlY29yYXRlKCdyZW1vdmVkJywgJ0RlbGV0ZWQnKTtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl92ZXJzaW9uLCB2ZXJzaW9uRGF0YSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgQ29tcGFyZVN0YXRlLkFkZGVkOlxyXG4gICAgICAgICAgdGhpcy5fZGVjb3JhdGUoJ2FkZGVkJywgJ0FkZGVkJyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIENvbXBhcmVTdGF0ZS5Nb2RpZmllZDpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgY29uc3QgdmVyc2lvbkhUTUwgPSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xyXG4vLyAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAvLyBkZXRlY3QgYWdhaW4gd2l0aCBiYXNlIHZhbHVlKHMpXHJcbiAgICAgICAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsSFRNTCA9IHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5pbm5lckhUTUw7XHJcbiAgICAgICAgICAgICAgLy8gcmVzdG9yZSB2ZXJzaW9uIGh0bWxcclxuICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdmVyc2lvbkhUTUw7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWxFbCA9IHRoaXMuX2RlY29yYXRlKCdtb2RpZmllZCcsICdNb2RpZmllZCcpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgICAgICAgIGVsLmNsYXNzTmFtZSA9ICdvcmlnaW5hbCc7XHJcbiAgICAgICAgICAgICAgZWwuaW5uZXJIVE1MID0gb3JpZ2luYWxIVE1MOyAvL3RoaXMuX2RvbS5zYW5pdGl6ZSgpO1xyXG4gICAgICAgICAgICAgIGxhYmVsRWwuYXBwZW5kKGVsKTtcclxuICAgICAgICAgICAgICAvLyByZXN0b3JlIHZlcnNpb24gdmFsdWUocylcclxuICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3ZlcnNpb24sIHZlcnNpb25EYXRhKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RlY29yYXRlKGNsYXNzTmFtZTogc3RyaW5nLCBsYWJlbDogc3RyaW5nKTogSFRNTEVsZW1lbnQge1xyXG4gICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2NvbXBhcmUnLCBjbGFzc05hbWUpO1xyXG4gICAgY29uc3QgbGFiZWxDb250YWluZXJFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgbGFiZWxDb250YWluZXJFbC5jbGFzc05hbWUgPSAnbGFiZWwnO1xyXG4gICAgY29uc3QgbGFiZWxFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgIGxhYmVsRWwuaW5uZXJUZXh0ID0gdGhpcy5fdHJhbnNsYXRlLmdldChsYWJlbCk7XHJcbiAgICBsYWJlbENvbnRhaW5lckVsLmFwcGVuZChsYWJlbEVsKTtcclxuICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChsYWJlbENvbnRhaW5lckVsKTtcclxuICAgIHJldHVybiBsYWJlbEVsO1xyXG4gIH1cclxufVxyXG4vKiogKi9cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2JpemRvY0NvbXBhcmVDb250ZXh0XSxbYml6ZG9jQ29tcGFyZV0nLCBleHBvcnRBczogJ2JpemRvY0NvbXBhcmUnIH0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIENvbXBhcmVDb250ZXh0RGlyZWN0aXZlIGV4dGVuZHMgQ29tcGFyZURpcmVjdGl2ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHByaXZhdGUgX3ZlcnNpb246IHt9O1xyXG4gIEBJbnB1dCgnYml6ZG9jQ29tcGFyZU9mJykgc2V0IGNvbXBhcmVPZih2YWw6IHt9KSB7IHRoaXMuX3ZlcnNpb24gPSB2YWw7IH1cclxuICBASW5wdXQoJ2JpemRvY0NvbXBhcmVDb250ZXh0Jykgc2V0IGNvbnRleHQodmFsOiB7fSkgeyB0aGlzLl92ZXJzaW9uID0gdmFsOyB9XHJcbiAgZ2V0IHZlcnNpb24oKToge30geyByZXR1cm4gdGhpcy5fdmVyc2lvbjsgfVxyXG4gIEBJbnB1dCgnYml6ZG9jQ29tcGFyZURlY29yYXRlJykgZGVjb3JhdGU6ICdncm91cCcgfCAnc2luZ2xlJyB8ICd0YWJsZSc7XHJcbiAgcHJpdmF0ZSBfYmFzZToge307XHJcbiAgcHVibGljIGdldCBiYXNlKCk6IHt9IHsgcmV0dXJuIHRoaXMuX2Jhc2U7IH1cclxuICBwdWJsaWMgZ2V0IHN0cnVjdHVyZSgpOiBGaWVsZEluZm8geyByZXR1cm4gdGhpcy5fZ3JvdXAuc3RydWN0dXJlOyB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb21wYXJpc2lvbjogVmVyc2lvbkNvbXBhcmVDb21wb25lbnQsXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX2dyb3VwOiBDb21wYXJlR3JvdXBEaXJlY3RpdmUsXHJcbiAgICBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmRlY29yYXRlID0gX2VsZW1lbnQubmF0aXZlRWxlbWVudC50YWdOYW1lID09PSAnVFInID8gJ3RhYmxlJyA6ICdncm91cCc7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2NvbXBhcmlzaW9uKSB7XHJcbiAgICAgIGlmICghdGhpcy5fZ3JvdXApIHRocm93IGBNaXNzaW5nIGVuY2xvc2luZyBiaXpkb2NDb21wYXJlR3JvdXAgZGlyZWN0aXZlYDtcclxuICAgICAgaWYgKCFpc09iamVjdCh0aGlzLnZlcnNpb24pKSB0aHJvdyBgW2JpemRvY0NvbXBhcmVDb250ZXh0XSBzeW50YXhgO1xyXG4gICAgICB0aGlzLl9iYXNlID0gdGhpcy5fZ3JvdXAuYmFzZS5maW5kKGIgPT4gdGhpcy5fZ3JvdXAua2V5cy5ldmVyeShrID0+IGJba10gPT09IHRoaXMudmVyc2lvbltrXSkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX3RlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuX3ZjLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl90ZW1wbGF0ZSwge1xyXG4gICAgICAgICRpbXBsaWNpdDogdGhpcy5fYmFzZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLl9jb21wYXJpc2lvbikgcmV0dXJuO1xyXG4gICAgc3dpdGNoICh0aGlzLmRlY29yYXRlKSB7XHJcbiAgICAgIGNhc2UgJ3RhYmxlJzpcclxuICAgICAgICB0aGlzLl90YWJsZSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdncm91cCc6XHJcbiAgICAgICAgdGhpcy5fY29sbGFwc2UoKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgLyoqICovXHJcbiAgcHJpdmF0ZSBfdGFibGUoKSB7XHJcbiAgICBsZXQgY2xhc3NOYW1lOiBzdHJpbmc7XHJcbiAgICBzd2l0Y2ggKHRoaXMuX3ZlcnNpb25bJ19jb21wYXJlJ10gYXMgQ29tcGFyZVN0YXRlKSB7XHJcbiAgICAgIGNhc2UgQ29tcGFyZVN0YXRlLkFkZGVkOlxyXG4gICAgICAgIGNsYXNzTmFtZSA9ICdhZGRlZCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29tcGFyZVN0YXRlLlJlbW92ZWQ6XHJcbiAgICAgICAgY2xhc3NOYW1lID0gJ3JlbW92ZWQnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbXBhcmVTdGF0ZS5Nb2RpZmllZDpcclxuICAgICAgICBjbGFzc05hbWUgPSAnbW9kaWZpZWQnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2NvbXBhcmUnLCBjbGFzc05hbWUpO1xyXG4gIH1cclxuICAvKiogcmVtb3ZlcyByZXBlYXRlZCBhZGRlZCBhbmQgcmVtb3ZlZCB0YWdzICovXHJcbiAgcHJpdmF0ZSBfY29sbGFwc2UoKSB7XHJcbiAgICBjb25zdCBlbHMgPSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY29tcGFyZScpO1xyXG4gICAgbGV0IHByZXZTdGF0ZTogQ29tcGFyZVN0YXRlID0gQ29tcGFyZVN0YXRlLlVuY2hhbmdlZDtcclxuICAgIGZvciAobGV0IGkgPSBlbHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgY29uc3QgZWwgPSBlbHNbaV07XHJcbiAgICAgIGxldCBzdGF0ZTogQ29tcGFyZVN0YXRlO1xyXG4gICAgICBpZiAoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdhZGRlZCcpKVxyXG4gICAgICAgIHN0YXRlID0gQ29tcGFyZVN0YXRlLkFkZGVkO1xyXG4gICAgICBlbHNlIGlmIChlbC5jbGFzc0xpc3QuY29udGFpbnMoJ3JlbW92ZWQnKSlcclxuICAgICAgICBzdGF0ZSA9IENvbXBhcmVTdGF0ZS5SZW1vdmVkO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBzdGF0ZSA9IENvbXBhcmVTdGF0ZS5VbmNoYW5nZWQ7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHByZXZTdGF0ZSA9PT0gc3RhdGUpIHtcclxuICAgICAgICBjb25zdCBsYWJlbEVsID0gZWwucXVlcnlTZWxlY3RvcignLmxhYmVsJyk7XHJcbiAgICAgICAgbGFiZWxFbCAmJiBsYWJlbEVsLnJlbW92ZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIHByZXZTdGF0ZSA9IHN0YXRlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
344
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1jb21wYXJlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS92ZXJzaW9uLWNvbXBhcmUvdmVyc2lvbi1jb21wYXJlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBc0IsUUFBUSxFQUFFLElBQUksRUFBb0MsUUFBUSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUVoSyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBS2hELElBQUssWUFLSjtBQUxELFdBQUssWUFBWTtJQUNmLHNEQUFZLENBQUE7SUFDWix5REFBYSxDQUFBO0lBQ2IsaURBQVMsQ0FBQTtJQUNULHVEQUFZLENBQUE7QUFDZCxDQUFDLEVBTEksWUFBWSxLQUFaLFlBQVksUUFLaEI7QUFFRCxNQUFNLE9BQWdCLG9CQUFvQjtDQUl6QztBQUNELE1BQU07QUFFTixNQUFNLE9BQ0UscUJBQXNCLFNBQVEsb0JBQW9CO0lBVXhELFlBQ3NCLFlBQXFDLEVBQzdCLFFBQWlDLEVBQ3JCLE9BQThCO1FBQ3RFLEtBQUssRUFBRSxDQUFDO1FBSFksaUJBQVksR0FBWixZQUFZLENBQXlCO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQXlCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQXVCO0lBRXhFLENBQUM7SUFURCxJQUFXLFNBQVMsS0FBZ0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM3RCxJQUFXLElBQUksS0FBVSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVFLElBQVcsT0FBTyxLQUFVLE9BQU8s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T3B0aW9uYWwsIEhvc3QsIEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBTa2lwU2VsZiwgVmlld0NvbnRhaW5lclJlZiwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQgeyBpc09iamVjdCB9IGZyb20gXCIuLi8uLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBGaWVsZEluZm8gfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFZlcnNpb25Db21wYXJlQ29tcG9uZW50IH0gZnJvbSBcIi4vdmVyc2lvbi1jb21wYXJlLmNvbXBvbmVudFwiO1xyXG5cclxuZW51bSBDb21wYXJlU3RhdGUge1xyXG4gIFJlbW92ZWQgPSAtMSxcclxuICBVbmNoYW5nZWQgPSAwLFxyXG4gIEFkZGVkID0gMSxcclxuICBNb2RpZmllZCA9IDJcclxufVxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbXBhcmVEaXJlY3RpdmVCYXNlIHtcclxuICBhYnN0cmFjdCBnZXQgYmFzZSgpOiBhbnk7XHJcbiAgYWJzdHJhY3QgZ2V0IHZlcnNpb24oKTogYW55O1xyXG4gIGFic3RyYWN0IGdldCBzdHJ1Y3R1cmUoKTogRmllbGRJbmZvO1xyXG59XHJcbi8qKiAqL1xyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbYml6ZG9jQ29tcGFyZUdyb3VwXSxbYml6ZG9jQ29tcGFyZUFycmF5XScgfSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgQ29tcGFyZUdyb3VwRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGFyZURpcmVjdGl2ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgnYml6ZG9jQ29tcGFyZUdyb3VwJykgbmFtZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2tleXM6IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX3N0cnVjdHVyZTogRmllbGRJbmZvO1xyXG4gIHByaXZhdGUgX2Jhc2U6IGFueTtcclxuICBwcml2YXRlIF92ZXJzaW9uOiBhbnk7XHJcbiAgcHVibGljIGdldCBzdHJ1Y3R1cmUoKTogRmllbGRJbmZvIHsgcmV0dXJuIHRoaXMuX3N0cnVjdHVyZTsgfVxyXG4gIHB1YmxpYyBnZXQgYmFzZSgpOiBhbnkgeyByZXR1cm4gdGhpcy5fYmFzZSA/IHRoaXMuX2Jhc2VbdGhpcy5uYW1lXSA6IG51bGw7IH1cclxuICBwdWJsaWMgZ2V0IHZlcnNpb24oKTogYW55IHsgcmV0dXJuIHRoaXMuX3ZlcnNpb25bdGhpcy5uYW1lXTsgfVxyXG4gIHB1YmxpYyBnZXQga2V5cygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLl9rZXlzOyB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb21wYXJpc2lvbjogVmVyc2lvbkNvbXBhcmVDb21wb25lbnQsXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX2NvbnRleHQ6IENvbXBhcmVDb250ZXh0RGlyZWN0aXZlLFxyXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2tpcFNlbGYoKSBwcml2YXRlIF9wYXJlbnQ6IENvbXBhcmVHcm91cERpcmVjdGl2ZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2NvbXBhcmlzaW9uKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5fY29udGV4dCkge1xyXG4gICAgICB0aGlzLl9zdHJ1Y3R1cmUgPSB0aGlzLl9jb250ZXh0LnN0cnVjdHVyZS5maWVsZHMuZmluZChlID0+IGUubmFtZSA9PT0gdGhpcy5uYW1lKTtcclxuICAgICAgdGhpcy5fYmFzZSA9IHRoaXMuX2NvbnRleHQuYmFzZTtcclxuICAgICAgdGhpcy5fdmVyc2lvbiA9IHRoaXMuX2NvbnRleHQudmVyc2lvbjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuX3BhcmVudCkge1xyXG4gICAgICB0aGlzLl9zdHJ1Y3R1cmUgPSB0aGlzLl9wYXJlbnQuc3RydWN0dXJlLmZpZWxkcy5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLm5hbWUpO1xyXG4gICAgICB0aGlzLl9iYXNlID0gdGhpcy5fcGFyZW50LmJhc2U7XHJcbiAgICAgIHRoaXMuX3ZlcnNpb24gPSB0aGlzLl9wYXJlbnQudmVyc2lvbjtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLl9zdHJ1Y3R1cmUgPSB0aGlzLl9jb21wYXJpc2lvbi5mb3JtLnN0cnVjdHVyZS5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLm5hbWUpO1xyXG4gICAgICBjb25zdCB7IGN1cnJlbnRWZXJzaW9uLCBiYXNlVmVyc2lvbiB9ID0gdGhpcy5fY29tcGFyaXNpb247XHJcbiAgICAgIHRoaXMuX2Jhc2UgPSBiYXNlVmVyc2lvbjtcclxuICAgICAgdGhpcy5fdmVyc2lvbiA9IGN1cnJlbnRWZXJzaW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLl9zdHJ1Y3R1cmUpIHRocm93IGBObyBmb3JtIGZpZWxkIHdpdGggbmFtZSAke3RoaXMubmFtZX1gO1xyXG4gICAgaWYgKCF0aGlzLl9zdHJ1Y3R1cmUuaXNPYmplY3QpIHRocm93IGBiaXpkb2NDb21wYXJlR3JvdXAgJHt0aGlzLm5hbWV9YDtcclxuICAgIHRoaXMuc3RydWN0dXJlLmlzQXJyYXkgJiYgdGhpcy5fbm9ybWFsaXplKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX25vcm1hbGl6ZSgpIHtcclxuICAgIHRoaXMuX2tleXMgPSB0aGlzLnN0cnVjdHVyZS5maWVsZHMuZmlsdGVyKGYgPT4gZi5rZXkpLm1hcChrID0+IGsubmFtZSk7XHJcbiAgICB0aGlzLmJhc2UuZm9yRWFjaCgoYiwgaSkgPT4gIXRoaXMudmVyc2lvbi5maW5kKHYgPT4gdGhpcy5fa2V5cy5ldmVyeShrID0+IHZba10gPT09IGJba10pKSAvKiBkb2Vzbid0IGhhdmUgYSB2ZXJzaW9uICovICYmXHJcbiAgICAgIHRoaXMudmVyc2lvbi5zcGxpY2UoaSwgMCwgT2JqZWN0LmFzc2lnbih7IF9jb21wYXJlOiBDb21wYXJlU3RhdGUuUmVtb3ZlZCB9LCBiKSkpO1xyXG4gICAgdGhpcy52ZXJzaW9uLmZvckVhY2godiA9PiB7XHJcbiAgICAgIGlmICh2WydfY29tcGFyZSddID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb25zdCBiYXNlID0gdGhpcy5iYXNlLmZpbmQoYiA9PiB0aGlzLl9rZXlzLmV2ZXJ5KGsgPT4gYltrXSA9PT0gdltrXSkpO1xyXG4gICAgICAgIGlmICghYmFzZSlcclxuICAgICAgICAgIHZbJ19jb21wYXJlJ10gPSBDb21wYXJlU3RhdGUuQWRkZWQ7XHJcbiAgICAgICAgZWxzZSBpZiAoSlNPTi5zdHJpbmdpZnkodikgIT09IEpTT04uc3RyaW5naWZ5KGJhc2UpKVxyXG4gICAgICAgICAgdlsnX2NvbXBhcmUnXSA9IENvbXBhcmVTdGF0ZS5Nb2RpZmllZDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbi8qKiAqL1xyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbYml6ZG9jQ29tcGFyZU5hbWVdJyB9KVxyXG5leHBvcnRcclxuICBjbGFzcyBDb21wYXJlTmFtZURpcmVjdGl2ZSBleHRlbmRzIENvbXBhcmVEaXJlY3RpdmVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBwcml2YXRlIF9uYW1lOiBzdHJpbmdbXTtcclxuICBASW5wdXQoJ2JpemRvY0NvbXBhcmVOYW1lJykgc2V0IG5hbWUodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX25hbWUgPSB2YWwuc3BsaXQoJywnKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc3RydWN0dXJlOiBGaWVsZEluZm87XHJcbiAgcHJpdmF0ZSBfYmFzZTogYW55O1xyXG4gIHByaXZhdGUgX3ZlcnNpb246IGFueTtcclxuICBwcml2YXRlIF9zdGF0ZTogQ29tcGFyZVN0YXRlID0gQ29tcGFyZVN0YXRlLlVuY2hhbmdlZDtcclxuICBwdWJsaWMgZ2V0IHN0cnVjdHVyZSgpOiBGaWVsZEluZm8geyByZXR1cm4gdGhpcy5fc3RydWN0dXJlOyB9XHJcbiAgcHVibGljIGdldCBiYXNlKCk6IGFueSB7IHJldHVybiB0aGlzLl9iYXNlID8gdGhpcy5fYmFzZVt0aGlzLl9uYW1lWzBdXSA6IG51bGw7IH1cclxuICBwdWJsaWMgZ2V0IHZlcnNpb24oKTogYW55IHsgcmV0dXJuIHRoaXMuX3ZlcnNpb25bdGhpcy5fbmFtZVswXV07IH1cclxuICBnZXQgc3RhdGUoKTogQ29tcGFyZVN0YXRlIHsgcmV0dXJuIHRoaXMuX3N0YXRlIH07XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb21wYXJpc2lvbjogVmVyc2lvbkNvbXBhcmVDb21wb25lbnQsXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX2NvbnRleHQ6IENvbXBhcmVDb250ZXh0RGlyZWN0aXZlLFxyXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIF9ncm91cDogQ29tcGFyZUdyb3VwRGlyZWN0aXZlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfZG9tOiBEb21TYW5pdGl6ZXIsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2NvbXBhcmlzaW9uKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5fY29udGV4dCkge1xyXG4gICAgICB0aGlzLl9zdHJ1Y3R1cmUgPSB0aGlzLl9jb250ZXh0LnN0cnVjdHVyZS5maWVsZHMuZmluZChlID0+IGUubmFtZSA9PT0gdGhpcy5fbmFtZVswXSk7XHJcbiAgICAgIHRoaXMuX2Jhc2UgPSB0aGlzLl9jb250ZXh0LmJhc2U7XHJcbiAgICAgIHRoaXMuX3ZlcnNpb24gPSB0aGlzLl9jb250ZXh0LnZlcnNpb247XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLl9ncm91cCkge1xyXG4gICAgICB0aGlzLl9zdHJ1Y3R1cmUgPSB0aGlzLl9ncm91cC5zdHJ1Y3R1cmUuZmllbGRzLmZpbmQoZSA9PiBlLm5hbWUgPT09IHRoaXMuX25hbWVbMF0pO1xyXG4gICAgICB0aGlzLl9iYXNlID0gdGhpcy5fZ3JvdXAuYmFzZTtcclxuICAgICAgdGhpcy5fdmVyc2lvbiA9IHRoaXMuX2dyb3VwLnZlcnNpb247XHJcbiAgICBpZiAoIXRoaXMuX3N0cnVjdHVyZSkgdGhyb3cgYE5vIGZvcm0gZmllbGQgd2l0aCBuYW1lICR7dGhpcy5fbmFtZVswXX1gO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX2NvbXBhcmlzaW9uLmZvcm0uc3RydWN0dXJlLmZpbmQoZSA9PiBlLm5hbWUgPT09IHRoaXMuX25hbWVbMF0pO1xyXG4gICAgICBjb25zdCB7IGN1cnJlbnRWZXJzaW9uLCBiYXNlVmVyc2lvbiB9ID0gdGhpcy5fY29tcGFyaXNpb247XHJcbiAgICAgIHRoaXMuX2Jhc2UgPSBiYXNlVmVyc2lvbjtcclxuICAgICAgdGhpcy5fdmVyc2lvbiA9IGN1cnJlbnRWZXJzaW9uO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2NvbXBhcmlzaW9uKSByZXR1cm47XHJcbiAgICAvLyBpZiBvYmplY3QgaGFzIHN0YXRlXHJcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX3ZlcnNpb25bJ19jb21wYXJlJ107XHJcbiAgICBpZiAoc3RhdGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBzd2l0Y2ggKHN0YXRlKSB7XHJcbiAgICAgICAgY2FzZSBDb21wYXJlU3RhdGUuUmVtb3ZlZDpcclxuICAgICAgICAgIHRoaXMuX2RlY29yYXRlKCdyZW1vdmVkJywgJ0RlbGV0ZWQnKTtcclxuICAgICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgY2FzZSBDb21wYXJlU3RhdGUuQWRkZWQ6XHJcbiAgICAgICAgICB0aGlzLl9kZWNvcmF0ZSgnYWRkZWQnLCAnQWRkZWQnKTtcclxuICAgICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHZlcnNpb25EYXRhOiB7IFtmaWVsZDogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICAgIC8vIGl0ZXJhdGUgbmFtZXNcclxuICAgIGxldCBuYW1lOiBzdHJpbmcsIGkgPSAwO1xyXG4gICAgd2hpbGUgKGkgPCB0aGlzLl9uYW1lLmxlbmd0aCkge1xyXG4gICAgICBuYW1lID0gdGhpcy5fbmFtZVtpXTtcclxuICAgICAgaWYgKCF0aGlzLl9iYXNlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3ZlcnNpb25bbmFtZV0gIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgIHRoaXMuX3N0YXRlID0gQ29tcGFyZVN0YXRlLkFkZGVkO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuX3ZlcnNpb25bbmFtZV0gIT09IHRoaXMuX2Jhc2VbbmFtZV0pIHtcclxuICAgICAgICBpZiAodGhpcy5fdmVyc2lvbltuYW1lXSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLl92ZXJzaW9uW25hbWVdID0gdGhpcy5fYmFzZVtuYW1lXTtcclxuICAgICAgICAgIHZlcnNpb25EYXRhW25hbWVdID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBDb21wYXJlU3RhdGUuUmVtb3ZlZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodGhpcy5fYmFzZVtuYW1lXSA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBDb21wYXJlU3RhdGUuQWRkZWQ7XHJcbiAgICAgICAgZWxzZSBpZiAoSlNPTi5zdHJpbmdpZnkodGhpcy5fdmVyc2lvbltuYW1lXSkgIT09IEpTT04uc3RyaW5naWZ5KHRoaXMuX2Jhc2VbbmFtZV0pKSB7XHJcbiAgICAgICAgICAvLyBzdG9yZSB2ZXJzaW9uIGRhdGFcclxuICAgICAgICAgIHZlcnNpb25EYXRhW25hbWVdID0gdGhpcy5fdmVyc2lvbltuYW1lXTtcclxuICAgICAgICAgIHRoaXMuX3ZlcnNpb25bbmFtZV0gPSB0aGlzLl9iYXNlW25hbWVdO1xyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBDb21wYXJlU3RhdGUuTW9kaWZpZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gQ29tcGFyZVN0YXRlLlVuY2hhbmdlZClcclxuICAgICAgc3dpdGNoICh0aGlzLl9zdGF0ZSkge1xyXG4gICAgICAgIGNhc2UgQ29tcGFyZVN0YXRlLlJlbW92ZWQ6XHJcbiAgICAgICAgICAvLyBkZXRlY3Qgd2l0aCBiYXNlIHZhbHVlKHMpXHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB0aGlzLl9kZWNvcmF0ZSgncmVtb3ZlZCcsICdEZWxldGVkJyk7XHJcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fdmVyc2lvbiwgdmVyc2lvbkRhdGEpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIENvbXBhcmVTdGF0ZS5BZGRlZDpcclxuICAgICAgICAgIHRoaXMuX2RlY29yYXRlKCdhZGRlZCcsICdBZGRlZCcpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBDb21wYXJlU3RhdGUuTW9kaWZpZWQ6XHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZlcnNpb25IVE1MID0gdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmlubmVySFRNTDtcclxuLy8gICAgICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgLy8gZGV0ZWN0IGFnYWluIHdpdGggYmFzZSB2YWx1ZShzKVxyXG4gICAgICAgICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbEhUTUwgPSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xyXG4gICAgICAgICAgICAgIC8vIHJlc3RvcmUgdmVyc2lvbiBodG1sXHJcbiAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHZlcnNpb25IVE1MO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGxhYmVsRWwgPSB0aGlzLl9kZWNvcmF0ZSgnbW9kaWZpZWQnLCAnTW9kaWZpZWQnKTtcclxuICAgICAgICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgICAgICAgICAgICBlbC5jbGFzc05hbWUgPSAnb3JpZ2luYWwnO1xyXG4gICAgICAgICAgICAgIGVsLmlubmVySFRNTCA9IG9yaWdpbmFsSFRNTDsgLy90aGlzLl9kb20uc2FuaXRpemUoKTtcclxuICAgICAgICAgICAgICBsYWJlbEVsLmFwcGVuZChlbCk7XHJcbiAgICAgICAgICAgICAgLy8gcmVzdG9yZSB2ZXJzaW9uIHZhbHVlKHMpXHJcbiAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl92ZXJzaW9uLCB2ZXJzaW9uRGF0YSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9kZWNvcmF0ZShjbGFzc05hbWU6IHN0cmluZywgbGFiZWw6IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcclxuICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjb21wYXJlJywgY2xhc3NOYW1lKTtcclxuICAgIGNvbnN0IGxhYmVsQ29udGFpbmVyRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGxhYmVsQ29udGFpbmVyRWwuY2xhc3NOYW1lID0gJ2xhYmVsJztcclxuICAgIGNvbnN0IGxhYmVsRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICBsYWJlbEVsLmlubmVyVGV4dCA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQobGFiZWwpO1xyXG4gICAgbGFiZWxDb250YWluZXJFbC5hcHBlbmQobGFiZWxFbCk7XHJcbiAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQobGFiZWxDb250YWluZXJFbCk7XHJcbiAgICByZXR1cm4gbGFiZWxFbDtcclxuICB9XHJcbn1cclxuLyoqICovXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tiaXpkb2NDb21wYXJlQ29udGV4dF0sW2JpemRvY0NvbXBhcmVdJywgZXhwb3J0QXM6ICdiaXpkb2NDb21wYXJlJyB9KVxyXG5leHBvcnRcclxuICBjbGFzcyBDb21wYXJlQ29udGV4dERpcmVjdGl2ZSBleHRlbmRzIENvbXBhcmVEaXJlY3RpdmVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBwcml2YXRlIF92ZXJzaW9uOiB7fTtcclxuICBASW5wdXQoJ2JpemRvY0NvbXBhcmVPZicpIHNldCBjb21wYXJlT2YodmFsOiB7fSkgeyB0aGlzLl92ZXJzaW9uID0gdmFsOyB9XHJcbiAgQElucHV0KCdiaXpkb2NDb21wYXJlQ29udGV4dCcpIHNldCBjb250ZXh0KHZhbDoge30pIHsgdGhpcy5fdmVyc2lvbiA9IHZhbDsgfVxyXG4gIGdldCB2ZXJzaW9uKCk6IHt9IHsgcmV0dXJuIHRoaXMuX3ZlcnNpb247IH1cclxuICBASW5wdXQoJ2JpemRvY0NvbXBhcmVEZWNvcmF0ZScpIGRlY29yYXRlOiAnZ3JvdXAnIHwgJ3NpbmdsZScgfCAndGFibGUnO1xyXG4gIHByaXZhdGUgX2Jhc2U6IHt9O1xyXG4gIHB1YmxpYyBnZXQgYmFzZSgpOiB7fSB7IHJldHVybiB0aGlzLl9iYXNlOyB9XHJcbiAgcHVibGljIGdldCBzdHJ1Y3R1cmUoKTogRmllbGRJbmZvIHsgcmV0dXJuIHRoaXMuX2dyb3VwLnN0cnVjdHVyZTsgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfY29tcGFyaXNpb246IFZlcnNpb25Db21wYXJlQ29tcG9uZW50LFxyXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIF9ncm91cDogQ29tcGFyZUdyb3VwRGlyZWN0aXZlLFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5kZWNvcmF0ZSA9IF9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudGFnTmFtZSA9PT0gJ1RSJyA/ICd0YWJsZScgOiAnZ3JvdXAnO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9jb21wYXJpc2lvbikge1xyXG4gICAgICBpZiAoIXRoaXMuX2dyb3VwKSB0aHJvdyBgTWlzc2luZyBlbmNsb3NpbmcgYml6ZG9jQ29tcGFyZUdyb3VwIGRpcmVjdGl2ZWA7XHJcbiAgICAgIGlmICghaXNPYmplY3QodGhpcy52ZXJzaW9uKSkgdGhyb3cgYFtiaXpkb2NDb21wYXJlQ29udGV4dF0gc3ludGF4YDtcclxuICAgICAgdGhpcy5fYmFzZSA9IHRoaXMuX2dyb3VwLmJhc2UuZmluZChiID0+IHRoaXMuX2dyb3VwLmtleXMuZXZlcnkoayA9PiBiW2tdID09PSB0aGlzLnZlcnNpb25ba10pKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl90ZW1wbGF0ZSkge1xyXG4gICAgICB0aGlzLl92Yy5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGUsIHtcclxuICAgICAgICAkaW1wbGljaXQ6IHRoaXMuX2Jhc2VcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fY29tcGFyaXNpb24pIHJldHVybjtcclxuICAgIHN3aXRjaCAodGhpcy5kZWNvcmF0ZSkge1xyXG4gICAgICBjYXNlICd0YWJsZSc6XHJcbiAgICAgICAgdGhpcy5fdGFibGUoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZ3JvdXAnOlxyXG4gICAgICAgIHRoaXMuX2NvbGxhcHNlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIHByaXZhdGUgX3RhYmxlKCkge1xyXG4gICAgbGV0IGNsYXNzTmFtZTogc3RyaW5nO1xyXG4gICAgc3dpdGNoICh0aGlzLl92ZXJzaW9uWydfY29tcGFyZSddIGFzIENvbXBhcmVTdGF0ZSkge1xyXG4gICAgICBjYXNlIENvbXBhcmVTdGF0ZS5BZGRlZDpcclxuICAgICAgICBjbGFzc05hbWUgPSAnYWRkZWQnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbXBhcmVTdGF0ZS5SZW1vdmVkOlxyXG4gICAgICAgIGNsYXNzTmFtZSA9ICdyZW1vdmVkJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb21wYXJlU3RhdGUuTW9kaWZpZWQ6XHJcbiAgICAgICAgY2xhc3NOYW1lID0gJ21vZGlmaWVkJztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjb21wYXJlJywgY2xhc3NOYW1lKTtcclxuICB9XHJcbiAgLyoqIHJlbW92ZXMgcmVwZWF0ZWQgYWRkZWQgYW5kIHJlbW92ZWQgdGFncyAqL1xyXG4gIHByaXZhdGUgX2NvbGxhcHNlKCkge1xyXG4gICAgY29uc3QgZWxzID0gdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNvbXBhcmUnKTtcclxuICAgIGxldCBwcmV2U3RhdGU6IENvbXBhcmVTdGF0ZSA9IENvbXBhcmVTdGF0ZS5VbmNoYW5nZWQ7XHJcbiAgICBmb3IgKGxldCBpID0gZWxzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgIGNvbnN0IGVsID0gZWxzW2ldO1xyXG4gICAgICBsZXQgc3RhdGU6IENvbXBhcmVTdGF0ZTtcclxuICAgICAgaWYgKGVsLmNsYXNzTGlzdC5jb250YWlucygnYWRkZWQnKSlcclxuICAgICAgICBzdGF0ZSA9IENvbXBhcmVTdGF0ZS5BZGRlZDtcclxuICAgICAgZWxzZSBpZiAoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyZW1vdmVkJykpXHJcbiAgICAgICAgc3RhdGUgPSBDb21wYXJlU3RhdGUuUmVtb3ZlZDtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgc3RhdGUgPSBDb21wYXJlU3RhdGUuVW5jaGFuZ2VkO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChwcmV2U3RhdGUgPT09IHN0YXRlKSB7XHJcbiAgICAgICAgY29uc3QgbGFiZWxFbCA9IGVsLnF1ZXJ5U2VsZWN0b3IoJy5sYWJlbCcpO1xyXG4gICAgICAgIGxhYmVsRWwgJiYgbGFiZWxFbC5yZW1vdmUoKTtcclxuICAgICAgfVxyXG4gICAgICBwcmV2U3RhdGUgPSBzdGF0ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
@@ -37,4 +37,4 @@ export var FieldType;
|
|
37
37
|
FieldType["DateRange"] = "DateRange";
|
38
38
|
})(FieldType || (FieldType = {}));
|
39
39
|
;
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUM7QUE4V3hDLE1BQU0sQ0FBTixJQUFZLGNBU1g7QUFURCxXQUFZLGNBQWM7SUFDeEIsdUNBQXFCLENBQUE7SUFDckIsNkJBQVcsQ0FBQTtJQUNYLDZCQUFXLENBQUE7SUFDWCx5Q0FBdUIsQ0FBQTtJQUN2Qix5Q0FBdUIsQ0FBQTtJQUN2QixxQ0FBbUIsQ0FBQTtJQUNuQixpQ0FBZSxDQUFBO0lBQ2YsaUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBVFcsY0FBYyxLQUFkLGNBQWMsUUFTekI7QUFDRCxNQUFNLENBQU4sSUFBWSxTQXdCWDtBQXhCRCxXQUFZLFNBQVM7SUFDbkIsOEJBQWlCLENBQUE7SUFDakIsOEJBQWlCLENBQUE7SUFDakIsMEJBQWEsQ0FBQTtJQUNiLDBCQUFhLENBQUE7SUFDYixrQ0FBcUIsQ0FBQTtJQUNyQiw0QkFBZSxDQUFBO0lBQ2Ysa0NBQXFCLENBQUE7SUFDckIsOEJBQWlCLENBQUE7SUFDakIsMENBQTZCLENBQUE7SUFDN0IsMEJBQWEsQ0FBQTtJQUNiLDBCQUFhLENBQUE7SUFDYixrQ0FBcUIsQ0FBQTtJQUNyQix3Q0FBMkIsQ0FBQTtJQUMzQiwwQkFBYSxDQUFBO0lBQ2Isd0JBQVcsQ0FBQTtJQUNYLDhCQUFpQixDQUFBO0lBQ2pCLGdDQUFtQixDQUFBO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLHNDQUF5QixDQUFBO0lBQ3pCLGtDQUFxQixDQUFBO0lBQ3JCLDBDQUE2QixDQUFBO0lBQzdCLGdDQUFtQixDQUFBO0lBQ25CLG9DQUF1QixDQUFBO0FBQ3pCLENBQUMsRUF4QlcsU0FBUyxLQUFULFNBQVMsUUF3QnBCO0FBbUZBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlTW9kZWwsIENvbm5lY3Rvck1vZGVsLCBTaGFwZU1vZGVsLCBGbG93U2hhcGVNb2RlbCwgQmFzaWNTaGFwZU1vZGVsLCBJbWFnZU1vZGVsLCBQYXRoTW9kZWwsIFRleHRNb2RlbCwgQnBtblNoYXBlTW9kZWwsIE5hdGl2ZU1vZGVsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWRpYWdyYW1zXCI7XHJcblxyXG5leHBvcnQgY29uc3QgSU5CT1ggPSAnaWInLCBEUkFGVCA9ICdkZic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlck1vZGVsPFQgPSBhbnk+IHtcclxuICBwYXJlbnRJZD86IG51bWJlcjtcclxuICBkcmFmdD86IGJvb2xlYW47XHJcbiAgaXNzdWVkPzogRGF0ZTtcclxuICBkb2N1bWVudElkOiBudW1iZXI7XHJcbiAgc3Vic3RpdHV0ZUlkPzogc3RyaW5nO1xyXG4gIG93bmVySWQ6IHN0cmluZztcclxuICBhY3Rpb24/OiBzdHJpbmc7XHJcbiAgb3duZXJCeUlkPzogc3RyaW5nO1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgdmVyc2lvbjogbnVtYmVyO1xyXG4gIGZvcm1JZDogc3RyaW5nO1xyXG4gIG51bWJlcj86IHN0cmluZztcclxuICBzdWJqZWN0Pzogc3RyaW5nO1xyXG4gIHZhbHVlPzogbnVtYmVyO1xyXG4gIHJlY2VpdmVkOiBEYXRlO1xyXG4gIHJlcGxpZWQ/OiBEYXRlO1xyXG4gIGZvbGRlcklkOiBzdHJpbmc7XHJcbiAgcmVhZDogYm9vbGVhbjtcclxuICBub3RlPzogc3RyaW5nO1xyXG4gIHNlbmRlcklkPzogc3RyaW5nO1xyXG4gIHN0YXRlSWQ6IHN0cmluZztcclxuICBjdXJyZW5jeUNvZGU/OiBzdHJpbmc7XHJcbiAgZmxhZz86IGJvb2xlYW47XHJcbiAgc3VtbWFyeT86IHN0cmluZztcclxuICBwZW5kaW5nPzogYm9vbGVhbjtcclxuICBtb2RlbD86IFQ7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudE1vZGVsPFQgPSBhbnk+IHtcclxuICBkcmFmdD86IGJvb2xlYW47XHJcbiAgZXh0cmE/OiBhbnk7XHJcbiAgbnVtYmVyPzogc3RyaW5nO1xyXG4gIHN1YmplY3Q/OiBzdHJpbmc7XHJcbiAgc3VtbWFyeT86IHN0cmluZztcclxuICBjdXJyZW5jeUNvZGU/OiBzdHJpbmc7XHJcbiAgdmFsdWU/OiBudW1iZXI7XHJcbiAgb3duZXJJZDogc3RyaW5nO1xyXG4gIG93bmVyQnlJZD86IHN0cmluZztcclxuICBkb2N1bWVudElkOiBudW1iZXI7XHJcbiAgdmVyc2lvbjogbnVtYmVyO1xyXG4gIGZvcm1JZDogc3RyaW5nO1xyXG4gIHN0YXRlSWQ6IHN0cmluZztcclxuICBjb21wbGV0ZWQ/OiBib29sZWFuO1xyXG4gIG1vZGVsPzogVDtcclxuICB2aWV3ZWQ/OiBEYXRlO1xyXG4gIGF0dGFjaG1lbnRzOiBBdHRhY2htZW50W107XHJcbiAgY29tbWVudHM6IENvbW1lbnRbXTtcclxuICB1bnJlYWRDb21tZW50czogbnVtYmVyO1xyXG4gIGlzc3VlZD86IERhdGU7XHJcbiAgd29ya2Zsb3c/OiBXb3JrZmxvd0luZm87XHJcbiAgcmVjaXBpZW50czogUmVjaXBpZW50W107XHJcbiAgY3ViZXM6IEN1YmVFbnRyeVtdO1xyXG4gIGV2ZW50czogU2NoZWR1bGVkRXZlbnRbXTtcclxuICBsb2NhdGlvbnM6IE1hcFBpbltdO1xyXG4gIGxvZzogTG9nW107XHJcbiAgcnVsZXM/OiB7IFtuYW1lOiBzdHJpbmddOiBib29sZWFuIH07XHJcbiAgcGFyZW50PzogQ2hhaW47XHJcbiAgY2hpbGRyZW4/OiBDaGFpbltdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhaW4ge1xyXG4gIGNvbXBsZXRlZDogYm9vbGVhbjtcclxuICBpZDogbnVtYmVyO1xyXG4gIGZvcm1JZDogc3RyaW5nO1xyXG4gIG51bWJlcj86IHN0cmluZztcclxuICBzdWJqZWN0Pzogc3RyaW5nO1xyXG4gIHN0YXRlSWQ6IHN0cmluZztcclxuICB2YWx1ZT86IG51bWJlcjtcclxuICBjdXJyZW5jeUNvZGU/OiBzdHJpbmc7XHJcbiAgcGFyZW50PzogQ2hhaW47XHJcbiAgY2hpbGRyZW4/OiBDaGFpbltdO1xyXG4gIHJlY2lwaWVudHM/OiBSZWNpcGllbnRbXTtcclxuICBldmVudHM/OiBTY2hlZHVsZWRFdmVudFtdO1xyXG4gIGxvZzogTG9nW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd0luZm8ge1xyXG4gIG5vZGVzOiBOb2RlSW5mb1tdO1xyXG4gIGNvbm5lY3RvcnM6IENvbm5lY3RvckluZm9bXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFJlY2lwaWVudE1vZGVsPFQgPSBhbnk+IGV4dGVuZHMgSGVhZGVyTW9kZWw8VD4sIERvY3VtZW50TW9kZWw8VD4ge1xyXG4gIGV4dHJhPzogYW55O1xyXG4gIGFjdGlvbnM/OiBzdHJpbmdbXTtcclxuICBmeWk6IGJvb2xlYW47XHJcbiAgb3JpZ2luSWQ/OiBudW1iZXI7XHJcbiAgZXNjYWxhdGVkPzogYm9vbGVhbjtcclxuICB0YWdzPzogc3RyaW5nW107XHJcbiAgYnlJZD86IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbm5lY3RvckluZm8ge1xyXG4gIC8vIHJlY2lwaWVudCBpZFxyXG4gIG9yaWdpbklkPzogbnVtYmVyO1xyXG4gIGVzdGltYXRlOiBib29sZWFuO1xyXG4gIHRpbWU/OiBEYXRlO1xyXG4gIHNvdXJjZUlkOiBzdHJpbmc7XHJcbiAgdGFyZ2V0SWQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVJbmZvIHtcclxuICBub3RlPzogc3RyaW5nO1xyXG4gIG9yaWdpbklkPzogbnVtYmVyO1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgLyoqIG5vZGUgKi9cclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgdGltZT86IERhdGU7XHJcbiAgZXN0aW1hdGU6IGJvb2xlYW47XHJcbiAgLyoqIHNlY29uZHMgKi9cclxuICBzdGFuZGFyZFRpbWU/OiBudW1iZXI7XHJcbiAgZXJyb3I/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBMb2cge1xyXG4gIHJlY2lwaWVudElkPzogbnVtYmVyO1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgb3JpZ2luSWQ/OiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICBtb2RlbD86IHt9O1xyXG4gIHR5cGU6IExvZ1R5cGU7XHJcbiAgbm9kZUlkPzogc3RyaW5nO1xyXG4gIG5vdGU/OiBzdHJpbmc7XHJcbiAgc3RhdGU/OiBzdHJpbmc7XHJcbiAgYWN0aW9uPzogc3RyaW5nO1xyXG4gIGVzY2FsYXRlZD86IGJvb2xlYW47XHJcbiAgc291cmNlSWQ/OiBzdHJpbmc7XHJcbiAgdGFyZ2V0SWQ/OiBzdHJpbmc7XHJcbiAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgZXN0aW1hdGU/OiBib29sZWFuO1xyXG4gIGZpbGVJZD86IG51bWJlcjtcclxuICBlcnJvcj86IHN0cmluZztcclxufVxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIExvZ1R5cGUgPSAnU3VibWl0JyB8ICdEb3dubG9hZCcgfCAnU3RhdGVDaGFuZ2UnIHwgJ0FjdGlvblRha2VuJyB8ICdDaGVja0luJyB8ICdDaGVja091dCcgfFxyXG4gICdNb2RlbENoYW5nZScgfCAnTm9kZScgfCAnVmlydHVhbE5vZGUnIHwgJ05vZGVKdW1wJyB8ICdDb25uZWN0b3InIHwgJ1ZpcnR1YWxDb25uZWN0b3InIHwgJ0VzY2FsYXRpb24nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZWNpcGllbnQge1xyXG4gIG9yaWdpbklkPzogbnVtYmVyO1xyXG4gIHN1YnN0aXR1dGVJZD86IHN0cmluZztcclxuICBieUlkPzogc3RyaW5nO1xyXG4gIG5vZGVJZD86IHN0cmluZztcclxuICB1c2VySWQ6IHN0cmluZztcclxuICBwZW5kaW5nOiBib29sZWFuO1xyXG4gIGZvbGRlcklkOiBzdHJpbmc7XHJcbiAgcm9sZT86IHN0cmluZztcclxuICByZWNlaXZlZDogRGF0ZTtcclxuICByZXBsaWVkPzogRGF0ZTtcclxuICBlc3RpbWF0ZT86IGJvb2xlYW47XHJcbiAgYWN0aW9uPzogc3RyaW5nO1xyXG4gIGZ5aT86IGJvb2xlYW47XHJcbiAgaWQ6IG51bWJlcjtcclxuICBub3RlPzogc3RyaW5nO1xyXG4gIGVzY2FsYXRlZD86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTY2hlZHVsZWRFdmVudCB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBkb2N1bWVudElkOiBudW1iZXI7XHJcbiAgc3RhcnRpbmc6IERhdGU7XHJcbiAgZW5kaW5nPzogRGF0ZTtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBsb2NhdGlvbj86IExhdExuZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE1hcFBpbiB7XHJcbiAgbG9jYXRpb246IExhdExuZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMYXRMbmcge1xyXG4gIGxhdDogbnVtYmVyO1xyXG4gIGxuZzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1YmVFbnRyeSB7XHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIGF4ZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXR0YWNobWVudCB7XHJcbiAgaWQ/OiBudW1iZXI7XHJcbiAgZmlsZU5hbWU6IHN0cmluZztcclxuICBjb250ZW50VHlwZTogc3RyaW5nO1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICBkZWxldGVkPzogYm9vbGVhbjtcclxuICBjaGVja2VkT3V0PzogYm9vbGVhbjtcclxuICBwcml2YXRlPzogYm9vbGVhbjtcclxuICBob2xkaW5nSWQ/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb21tZW50IHtcclxuICBpZDogbnVtYmVyO1xyXG4gIC8qKiBiYXNlNjQgKi9cclxuICBpbWFnZT86IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIHRpbWU6IERhdGU7XHJcbiAgcGFyZW50SWQ/OiBudW1iZXI7XHJcbiAgdm90ZWQ/OiBudW1iZXI7XHJcbiAgdm90ZXM/OiBudW1iZXI7XHJcbiAgZWRpdGVkPzogRGF0ZTtcclxuICBkZWxldGVkPzogYm9vbGVhbjtcclxuICBieUlkPzogc3RyaW5nO1xyXG4gIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFZvdGUge1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICB2b3RlZD86IG51bWJlcjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRWZXJzaW9uIHtcclxuICBieUlkPzogc3RyaW5nO1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIHRpbWU6IERhdGU7XHJcbiAgaW1hZ2U/OiBzdHJpbmc7XHJcbiAgdGV4dD86IHN0cmluZztcclxuICByZXNvdXJjZT86IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb24ge1xyXG4gIG11dGVkPzogYm9vbGVhbjtcclxuICBkZWxldGVkPzogYm9vbGVhbjtcclxuICBpZDogbnVtYmVyO1xyXG4gIHR5cGU6IE5vdGlmaWNhdGlvblR5cGU7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICByZWFkPzogYm9vbGVhbjtcclxuICBzZW50OiBEYXRlO1xyXG4gIHJlY2lwaWVudElkPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIE5vdGlmaWNhdGlvblR5cGUgPVxyXG4gICdDb21tZW50ZWQnIHxcclxuICAnQ3ViZUFub21hbHknIHxcclxuICAnRXNjYWxhdGVkJyB8XHJcbiAgJ0xpa2VkJyB8XHJcbiAgJ1N0YXRlQ2hhbmdlZCcgfFxyXG4gICdOdWRnZScgfFxyXG4gICdUZXh0TWVzc2FnZScgfFxyXG4gICdVcGNvbWluZ0V2ZW50JyB8XHJcbiAgJ0pvYlByb2dyZXNzJyB8XHJcbiAgJ1RhZ2dlZCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlIHtcclxuICBzaGFwZT86IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBwYXN0Pzogc3RyaW5nO1xyXG4gIGZ1dHVyZT86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IHR5cGUgR2VuZGVyID0gJ01hbGUnIHxcclxuICAnRmVtYWxlJyB8IG51bGw7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFZpZXcge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIG9wdGlvbnM/OiBhbnk7XHJcbiAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgY3ViZXM6IHN0cmluZ1tdO1xyXG4gIGZvcm1zOiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlIHtcclxuICBob2xpZGF5czogYW55O1xyXG4gIHV0aWxpdGllczogVXRpbGl0eVtdO1xyXG4gIGd1aWRlcz86IEd1aWRlW107XHJcbiAgdmlld3M6IFZpZXdbXTtcclxuICBwaG90bz86IHN0cmluZztcclxuICB1c2VySWQ6IHN0cmluZztcclxuICBieUlkPzogc3RyaW5nO1xyXG4gIGJ5TmFtZT86IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgaW1wZXJzb25hdGluZz86IHN0cmluZztcclxuICBhdmFpbGFibGU/OiBBdmFpbGFiaWxpdHlTdGF0ZTtcclxuICBnZW5kZXI/OiBHZW5kZXI7XHJcbiAgYnlHZW5kZXI/OiBHZW5kZXI7XHJcbiAgc3lzdGVtOiBib29sZWFuO1xyXG4gIGZvcm1zOiBGb3JtW107XHJcbiAgYWN0aW9uczogQWN0aW9uW107XHJcbiAgc3RhdGVzOiBTdGF0ZVtdO1xyXG4gIGZvbGRlcnM6IEZvbGRlcltdO1xyXG4gIHJlcG9ydHM6IFJlcG9ydFtdO1xyXG4gIHR5cGVzOiBUeXBlW107XHJcbiAgY3ViZXM6IEN1YmVbXTtcclxuICBub2RlczogRmxvd05vZGVbXTtcclxuICByb2xlczogUm9sZVtdO1xyXG4gIHdpZGdldHM6IFdpZGdldFtdO1xyXG4gIG9wdGlvbnM6IE9wdGlvbnM7XHJcbiAgaW5ib3g6IEhlYWRlck1vZGVsW107XHJcbiAgaW5ib3hDb3VudD86IG51bWJlcjtcclxuICBub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25bXTtcclxuICBub3RpZmljYXRpb25zQ291bnQ/OiBudW1iZXI7XHJcbiAgcmVjZW50cz86IEhlYWRlck1vZGVsW107XHJcbiAgY29udGFjdHM6IENvbnRhY3RbXTtcclxuICBjb252ZXJzYXRpb25zQ291bnQ6IG51bWJlcjtcclxuICBsaWNlbnNlPzogTGljZW5zZTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGUge1xyXG4gIGFyZ3VtZW50cz86IEZpZWxkSW5mb1tdO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGFzc2lnbmFibGU/OiBib29sZWFuO1xyXG4gIGNvbHVtbnM/OiBGaWVsZEluZm9bXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFJvbGUge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGRhdGFUeXBlOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBVdGlsaXR5IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGFyZ3VtZW50cz86IEZpZWxkSW5mb1tdO1xyXG4gIG9wdGlvbnM6IGFueTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhY3Qge1xyXG4gIHZpc2l0ZWQ/OiBEYXRlO1xyXG4gIHdhdGVybWFyaz86IERhdGU7XHJcbiAgaWQ6IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIHRpbWU6IERhdGU7XHJcbiAgYWNjZXB0ZWQ6IGJvb2xlYW47XHJcbiAgaW1hZ2U/OiBzdHJpbmc7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICBmb3Jnb3R0ZW4/OiBib29sZWFuO1xyXG4gIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENoYXQge1xyXG4gIGRhdGU6IERhdGU7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgY29udGFjdElkOiBzdHJpbmc7XHJcbiAgdGV4dD86IHN0cmluZztcclxuICB0aW1lOiBEYXRlO1xyXG4gIC8qKiBiYXNlNjQgKi9cclxuICBpbWFnZT86IHN0cmluZztcclxuICByZXNvdXJjZT86IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBGaWVsZEluZm8ge1xyXG4gIGRlZmF1bHRWYWx1ZT86IGFueTtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAga2V5PzogYm9vbGVhbjtcclxuICB0eXBlPzogRmllbGRUeXBlO1xyXG4gIHZhbGlkYXRpb25zPzogVmFsaWRhdGlvbltdO1xyXG4gIGZpZWxkcz86IEZpZWxkSW5mb1tdO1xyXG4gIG1heD86IG51bWJlcjtcclxuICBtaW4/OiBudW1iZXI7XHJcbiAgc291cmNlPzogc3RyaW5nO1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICBwYXR0ZXJuPzogc3RyaW5nO1xyXG4gIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgaXNBcnJheT86IGJvb2xlYW47XHJcbiAgaXNPYmplY3Q/OiBib29sZWFuO1xyXG4gIGRpYWdyYW0/OiBib29sZWFuO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGhpbnQ/OiBzdHJpbmc7XHJcbiAgb3B0aW9ucz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uIHtcclxuICB0eXBlOiBWYWxpZGF0aW9uVHlwZTtcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgbWluPzogbnVtYmVyO1xyXG4gIG1heD86IG51bWJlcjtcclxuICBleHByZXNzaW9uPzogYW55O1xyXG59XHJcbmV4cG9ydCBlbnVtIFZhbGlkYXRpb25UeXBlIHtcclxuICBSZXF1aXJlZCA9ICdSZXF1aXJlZCcsXHJcbiAgTWluID0gJ01pbicsXHJcbiAgTWF4ID0gJ01heCcsXHJcbiAgTWluTGVuZ3RoID0gJ01pbkxlbmd0aCcsXHJcbiAgTWF4TGVuZ3RoID0gJ01heExlbmd0aCcsXHJcbiAgUGF0dGVybiA9ICdQYXR0ZXJuJyxcclxuICBSYW5nZSA9ICdSYW5nZScsXHJcbiAgRW1haWwgPSAnRW1haWwnXHJcbn1cclxuZXhwb3J0IGVudW0gRmllbGRUeXBlIHtcclxuICBTdHJpbmcgPSAnU3RyaW5nJyxcclxuICBOdW1iZXIgPSAnTnVtYmVyJyxcclxuICBUaW1lID0gJ1RpbWUnLFxyXG4gIERhdGUgPSAnRGF0ZScsXHJcbiAgRGF0ZVRpbWUgPSAnRGF0ZVRpbWUnLFxyXG4gIENoZWNrID0gJ0NoZWNrJyxcclxuICBDdXJyZW5jeSA9ICdDdXJyZW5jeScsXHJcbiAgU2VsZWN0ID0gJ1NlbGVjdCcsXHJcbiAgRW1haWxBZGRyZXNzID0gJ0VtYWlsQWRkcmVzcycsXHJcbiAgSHRtbCA9ICdIdG1sJyxcclxuICBUZXh0ID0gJ1RleHQnLFxyXG4gIFBhc3N3b3JkID0gJ1Bhc3N3b3JkJyxcclxuICBQaG9uZU51bWJlciA9ICdQaG9uZU51bWJlcicsXHJcbiAgRmlsZSA9ICdGaWxlJyxcclxuICBVcmwgPSAnVXJsJyxcclxuICBTd2l0Y2ggPSAnU3dpdGNoJyxcclxuICBBZGRyZXNzID0gJ0FkZHJlc3MnLFxyXG4gIE9iamVjdCA9ICdPYmplY3QnLFxyXG4gIEV4cHJlc3Npb24gPSAnRXhwcmVzc2lvbicsXHJcbiAgRHVyYXRpb24gPSAnRHVyYXRpb24nLFxyXG4gIEF1dG9jb21wbGV0ZSA9ICdBdXRvY29tcGxldGUnLFxyXG4gIFBlcmNlbnQgPSBcIlBlcmNlbnRcIixcclxuICBEYXRlUmFuZ2UgPSBcIkRhdGVSYW5nZVwiXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXQge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBndWlkZT86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICB0ZW1wbGF0ZTogc3RyaW5nO1xyXG4gIGNvbHM/OiBudW1iZXI7XHJcbiAgcm93cz86IG51bWJlcjtcclxuICBhcmd1bWVudHM/OiBGaWVsZEluZm9bXTtcclxuICBhcmd1bWVudHNUZW1wbGF0ZT86IHN0cmluZztcclxuICBvcHRpb25zOiBhbnk7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBMaWNlbnNlIHtcclxuICBtb2RlOiBMaWNlbnNlTW9kZTtcclxuICBleHBpcmF0aW9uPzogRGF0ZTtcclxuICBjb21wYW55TmFtZTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9sZGVyIHtcclxuICBmaWx0ZXJzPzoge1xyXG4gICAgY3ViZT86IHN0cmluZztcclxuICAgIGF4ZXM6IHN0cmluZ1tdO1xyXG4gIH07XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGdyb3VwPzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBjb3VudD86IG51bWJlcjtcclxuICBjb2x1bW5zPzogRm9sZGVyQ29sdW1uW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBGb2xkZXJDb2x1bW4ge1xyXG4gIG5hbWU6IHN0cmluZyB8ICdudW1iZXInIHwgJ3N1YmplY3QnIHwgJ3ZhbHVlJyB8ICdvd25lcicgfCAnc2VuZGVyJyB8ICdyZWNlaXZlZCcgfCAncmVjZWl2ZWRBZ28nIHwgJ3JlcGxpZWQnIHwgJ3N0YXRlJyB8ICdpc3N1ZWQnIHwgJ2lzc3VlZEFnbyc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB0eXBlPzogJ0Jvb2xlYW4nIHwgJ0RhdGUnIHwgJ0RlY2ltYWwnIHwgJ1N0cmluZyc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIExpY2Vuc2VNb2RlID1cclxuICAnRXZhbHVhdGlvbicgfFxyXG4gICdWYWxpZCcgfFxyXG4gICdHcmFjZScgfFxyXG4gICdJbnZhbGlkJyB8XHJcbiAgJ0xpbWl0JyB8XHJcbiAgJ0V4cGlyZWQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb24ge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHZlcmI/OiBzdHJpbmc7XHJcbiAgeW91Pzogc3RyaW5nO1xyXG4gIHlvdU1hbGU/OiBzdHJpbmc7XHJcbiAgeW91RmVtYWxlPzogc3RyaW5nO1xyXG4gIHBhc3Q/OiBzdHJpbmc7XHJcbiAgcGFzdE1hbGU/OiBzdHJpbmc7XHJcbiAgcGFzdEZlbWFsZT86IHN0cmluZztcclxuICBhZGplY3RpdmU/OiBzdHJpbmc7XHJcbiAgbG9nZ2FibGU/OiBib29sZWFuO1xyXG4gIGFkamVjdGl2ZVBsdXJhbD86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGFyZ3VtZW50cz86IEZpZWxkSW5mb1tdO1xyXG4gIG11bHRpcGxlPzogYm9vbGVhbjtcclxuICBncm91cD86IG51bWJlcjtcclxuICBzaGFwZT86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxuICBvcHRpb25zPzogYW55O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XHJcbiAgZ3JhbnRBY2Nlc3M/OiBHcmFudFNldHRpbmdzO1xyXG4gIG91dE9mT2ZmaWNlPzogT3V0T2ZPZmZpY2VTZXR0aW5ncztcclxuICBub3RpZmljYXRpb25zPzogTm90aWZpY2F0aW9uc1NldHRpbmdzO1xyXG4gIGVtYWlscz86IEVtYWlsU2V0dGluZ3M7XHJcbiAgZ3VpZGVzPzogc3RyaW5nW107XHJcbiAgaW5ib3hWaWV3PzogRGF0ZTtcclxuICBub3RpZmljYXRpb25zVmlldz86IERhdGU7XHJcbiAgdGFncz86IHN0cmluZ1tdO1xyXG59XHJcbmludGVyZmFjZSBHcmFudFNldHRpbmdzIHtcclxuICBhY3RpdmU6IGJvb2xlYW47XHJcbiAgdXNlcnM/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaW1lbnRpb25zIHtcclxuICB3aWR0aDogbnVtYmVyO1xyXG4gIGhlaWdodDogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0XHJcbiAgaW50ZXJmYWNlIFJlcG9ydCB7XHJcbiAgb3B0aW9ucz86IGFueTtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGZpZWxkcz86IEZpZWxkSW5mb1tdO1xyXG4gIGl0ZW1UZW1wbGF0ZT86IHN0cmluZztcclxuICBjb2x1bW5zOiBGaWVsZEluZm9bXTtcclxuICBhcmd1bWVudHM/OiBGaWVsZEluZm9bXTtcclxuICBhcmd1bWVudHNUZW1wbGF0ZT86IHN0cmluZztcclxufVxyXG5leHBvcnRcclxuICBpbnRlcmZhY2UgRm9ybSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgY3JlYXRhYmxlOiBib29sZWFuO1xyXG4gIGljb246IHN0cmluZztcclxuICBwb3NpdGlvbj86ICdSZXF1aXJlJyB8ICdBc2snIHwgJ05vbmUnO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIHN0cnVjdHVyZT86IEZpZWxkSW5mb1tdO1xyXG4gIHdvcmtmbG93PzogV29ya2Zsb3c7XHJcbiAgZ3VpZGU/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvdyB7XHJcbiAgdmVyc2lvbjogbnVtYmVyO1xyXG4gIGNvbm5lY3RvcnM6IENvbm5lY3Rvck1vZGVsW107XHJcbiAgbm9kZXM6IE5vZGVNb2RlbFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlckluZm8ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHJvbGU/OiBzdHJpbmc7XHJcbiAgZ2VuZGVyPzogR2VuZGVyO1xyXG4gIHBpY3R1cmVVcmw/OiBzdHJpbmc7XHJcbiAgbmljaz86IHN0cmluZztcclxuICBwaG9uZU51bWJlcj86IHN0cmluZztcclxuICBlbWFpbD86IHN0cmluZztcclxuICBsYXN0QWN0aXZlPzogRGF0ZTtcclxuICBtb2RlPzogQXZhaWxhYmlsaXR5U3RhdGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3VpZGUge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBtb2RlPzogJ01lbnUnIHwgJ0VhZ2VyJyB8ICdQcml2YXRlJztcclxuICBzdGVwczogR3VpZGVTdGVwW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBHdWlkZVN0ZXAge1xyXG4gIHNpbXVsYXRlPzogYm9vbGVhbjtcclxuICBzZWxlY3Rvcj86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBjb250ZW50OiBzdHJpbmc7XHJcbiAgbmF2aWdhdGU/OiBzdHJpbmc7XHJcbiAgcG9zaXRpb24/OiAnQWJvdmUnIHwgJ0VuZCcgfCAnU3RhcnQnIHwgJ0JlbG93JztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dOb2RlIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBzdHlsZT86IHN0cmluZztcclxuICBwYWxldHRlPzogc3RyaW5nO1xyXG4gIHNoYXBlOiBTaGFwZU1vZGVsIHwgRmxvd1NoYXBlTW9kZWwgfCBCYXNpY1NoYXBlTW9kZWwgfCBJbWFnZU1vZGVsIHwgUGF0aE1vZGVsIHwgVGV4dE1vZGVsIHwgQnBtblNoYXBlTW9kZWwgfCBOYXRpdmVNb2RlbDtcclxuICB0ZW1wbGF0ZT86IHN0cmluZztcclxuICBhcmd1bWVudHM/OiBGaWVsZEluZm9bXTtcclxufVxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIEF2YWlsYWJpbGl0eVN0YXRlID1cclxuICAnT2ZmbGluZScgfFxyXG4gICdPbmxpbmUnIHxcclxuICAnT3V0T2ZPZmZpY2UnIHxcclxuICAnVmFjYXRpb24nIHwgJ1dvcmtpbmdIb21lJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3ViZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICB5QXhpcz86IFlBeGlzO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGN1cnJlbmN5Q29kZT86IHN0cmluZztcclxuICB2aWV3czogQ3ViZVZpZXdbXTtcclxuICBheGVzOiBDdWJlQXhpc1tdO1xyXG4gIGluZGljZXM/OiBDdWJlSW5kZXhbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFlBeGlzIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICB0eXBlPzogJ05vbmUnIHwgJ051bWJlcicgfCAnQ3VycmVuY3knO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3ViZUluZGV4IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgYWNjdW11bGF0ZT86IGJvb2xlYW47XHJcbiAgdGl0bGU6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEN1YmVBeGlzIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBkYXRhVHlwZTogc3RyaW5nO1xyXG4gIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgY29tYmluYXRpb24/OiBib29sZWFuO1xyXG4gIHNlbGVjdGlvbk1vZGU/OiAnU2luZ2xlJyB8ICdQYXR0ZXJuJyB8ICdNdWx0aXBsZScgfCAnU2VhcmNoJyB8ICdOb25lJztcclxuICBkZXNjZW5kZW50T2Y/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IHR5cGUgQXhpc1R5cGUgPSBzdHJpbmcgfCBudW1iZXIgfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBeGVzTWFwIHtcclxuICBbYXhpczogc3RyaW5nXTogQXhpc1R5cGU7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDdWJlVmlldyB7XHJcbiAgeEF4aXM6IHN0cmluZ1tdO1xyXG4gIHNlcmllcz86IHN0cmluZ1tdO1xyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG4gIGluZGljZXM/OiBzdHJpbmdbXTtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHR5cGU6IFZpZXdUeXBlO1xyXG4gIGNoYXJ0VHlwZT86IENoYXJ0VHlwZTtcclxuICBpbmRpY2VzQ2hhcnRUeXBlPzogQ2hhcnRUeXBlO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgVmlld1R5cGUgPSAnU3ByZWFkc2hlZXQnIHxcclxuICAnQ2hhcnQnIHwgJ1Bpdm90JyB8ICdHcmlkJztcclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBDaGFydFR5cGUgPVxyXG4gICdQaWUnIHxcclxuICAvKiogIERlZmluZSB0aGUgbGluZSBzZXJpZXMuICovXHJcbiAgJ0xpbmUnIHxcclxuICAvKiogIERlZmluZSB0aGUgQ29sdW1uIHNlcmllcy4gKi9cclxuICAnQ29sdW1uJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIEFyZWEgc2VyaWVzLiAqL1xyXG4gICdBcmVhJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIEJhciBzZXJpZXMuICovXHJcbiAgJ0JhcicgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBTdGFja2luZ0NvbHVtbiBzZXJpZXMuICovXHJcbiAgJ1N0YWNraW5nQ29sdW1uJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIFN0YWNraW5nQXJlYSBzZXJpZXMuICovXHJcbiAgJ1N0YWNraW5nQXJlYScgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBTdGFja2luZ0xpbmUgc2VyaWVzLiAqL1xyXG4gICdTdGFja2luZ0xpbmUnIHxcclxuICAvKiogIERlZmluZSB0aGUgU3RhY2tpbmdCYXIgc2VyaWVzLiAqL1xyXG4gICdTdGFja2luZ0JhcicgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBTdGVwbGluZSBzZXJpZXMuICovXHJcbiAgJ1N0ZXBMaW5lJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIFN0ZXBhcmVhIHNlcmllcy4gKi9cclxuICAnU3RlcEFyZWEnIHxcclxuICAvKiogIERlZmluZSB0aGUgU3RlcGFyZWEgc2VyaWVzLiAqL1xyXG4gICdTcGxpbmVBcmVhJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIFNjYXR0ZXIgc2VyaWVzLiAqL1xyXG4gICdTY2F0dGVyJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIFNwbGluZSBzZXJpZXMuICovXHJcbiAgJ1NwbGluZScgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIFN0YWNraW5nQ29sdW1uMTAwIHNlcmllcyAqL1xyXG4gICdTdGFja2luZ0NvbHVtbjEwMCcgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIFN0YWNraW5nQmFyMTAwIHNlcmllcyAqL1xyXG4gICdTdGFja2luZ0JhcjEwMCcgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIFN0YWNraW5nTGluZTEwMCBzZXJpZXMgKi9cclxuICAnU3RhY2tpbmdMaW5lMTAwJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgU3RhY2tpbmdBcmVhMTAwIHNlcmllcyAqL1xyXG4gICdTdGFja2luZ0FyZWExMDAnIHxcclxuICAvKiogRGVmaW5lIHRoZSBSYW5nZUNvbHVtbiBTZXJpZXMgKi9cclxuICAnUmFuZ2VDb2x1bW4nIHxcclxuICAvKiogRGVmaW5lIHRoZSBXYXRlcmZhbGwgU2VyaWVzICovXHJcbiAgJ1dhdGVyZmFsbCcgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIFJhbmdlQXJlYSBTZXJpZXMgKi9cclxuICAnUmFuZ2VBcmVhJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgQnViYmxlIFNlcmllcyAqL1xyXG4gICdCdWJibGUnIHxcclxuICAvKiogRGVmaW5lIHRoZSBDYW5kbGUgU2VyaWVzICovXHJcbiAgJ1BvbGFyJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgcmFkYXIgc2VyaWVzICovXHJcbiAgJ1JhZGFyJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgUGFyZXRvIHNlcmllcyAqL1xyXG4gICdQYXJldG8nIHwgJ0RvdWdobnV0JyB8ICdIYWxmRG91Z2hudXQnIHxcclxuICAnRnVubmVsJyB8ICdQeXJhbWlkJyB8XHJcbiAgJ1N0YWNraW5nU3RlcEFyZWEnO1xyXG5pbnRlcmZhY2UgT3V0T2ZPZmZpY2VTZXR0aW5ncyB7XHJcbiAgZnJvbT86IERhdGU7XHJcbiAgdG8/OiBEYXRlO1xyXG4gIGFjdGl2ZTogYm9vbGVhbjtcclxuICBzdWJzdGl0dWVJZD86IHN0cmluZztcclxufVxyXG5pbnRlcmZhY2UgTm90aWZpY2F0aW9uc1NldHRpbmdzIHtcclxuICBzb3VuZD86IGJvb2xlYW47XHJcbiAgYWN0aXZlPzogYm9vbGVhbjtcclxuICBteVN0YXRlQ2hhbmdlZD86IGJvb2xlYW47XHJcbiAgYW55U3RhdGVDaGFuZ2VkPzogYm9vbGVhbjtcclxuICBhbnlDb21tZW50PzogYm9vbGVhbjtcclxuICBteUNvbW1lbnQ/OiBib29sZWFuO1xyXG4gIGxpa2VkPzogYm9vbGVhbjtcclxuICBjdWJlQW5vbWFseT86IGJvb2xlYW47XHJcbiAgdXBjb21pbmdFdmVudHM/OiBib29sZWFuO1xyXG59XHJcbmludGVyZmFjZSBFbWFpbFNldHRpbmdzIHtcclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIG1haWxzPzogYm9vbGVhbjtcclxuICBjb252ZXJzYXRpb25zPzogYm9vbGVhbjtcclxuICBub3RpZmljYXRpb25zPzogYm9vbGVhbjtcclxuICBldmVudHM/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUM7QUE4V3hDLE1BQU0sQ0FBTixJQUFZLGNBU1g7QUFURCxXQUFZLGNBQWM7SUFDeEIsdUNBQXFCLENBQUE7SUFDckIsNkJBQVcsQ0FBQTtJQUNYLDZCQUFXLENBQUE7SUFDWCx5Q0FBdUIsQ0FBQTtJQUN2Qix5Q0FBdUIsQ0FBQTtJQUN2QixxQ0FBbUIsQ0FBQTtJQUNuQixpQ0FBZSxDQUFBO0lBQ2YsaUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBVFcsY0FBYyxLQUFkLGNBQWMsUUFTekI7QUFDRCxNQUFNLENBQU4sSUFBWSxTQXdCWDtBQXhCRCxXQUFZLFNBQVM7SUFDbkIsOEJBQWlCLENBQUE7SUFDakIsOEJBQWlCLENBQUE7SUFDakIsMEJBQWEsQ0FBQTtJQUNiLDBCQUFhLENBQUE7SUFDYixrQ0FBcUIsQ0FBQTtJQUNyQiw0QkFBZSxDQUFBO0lBQ2Ysa0NBQXFCLENBQUE7SUFDckIsOEJBQWlCLENBQUE7SUFDakIsMENBQTZCLENBQUE7SUFDN0IsMEJBQWEsQ0FBQTtJQUNiLDBCQUFhLENBQUE7SUFDYixrQ0FBcUIsQ0FBQTtJQUNyQix3Q0FBMkIsQ0FBQTtJQUMzQiwwQkFBYSxDQUFBO0lBQ2Isd0JBQVcsQ0FBQTtJQUNYLDhCQUFpQixDQUFBO0lBQ2pCLGdDQUFtQixDQUFBO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLHNDQUF5QixDQUFBO0lBQ3pCLGtDQUFxQixDQUFBO0lBQ3JCLDBDQUE2QixDQUFBO0lBQzdCLGdDQUFtQixDQUFBO0lBQ25CLG9DQUF1QixDQUFBO0FBQ3pCLENBQUMsRUF4QlcsU0FBUyxLQUFULFNBQVMsUUF3QnBCO0FBbUZBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlTW9kZWwsIENvbm5lY3Rvck1vZGVsLCBTaGFwZU1vZGVsLCBGbG93U2hhcGVNb2RlbCwgQmFzaWNTaGFwZU1vZGVsLCBJbWFnZU1vZGVsLCBQYXRoTW9kZWwsIFRleHRNb2RlbCwgQnBtblNoYXBlTW9kZWwsIE5hdGl2ZU1vZGVsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWRpYWdyYW1zXCI7XHJcblxyXG5leHBvcnQgY29uc3QgSU5CT1ggPSAnaWInLCBEUkFGVCA9ICdkZic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlck1vZGVsPFQgPSBhbnk+IHtcclxuICBwYXJlbnRJZD86IG51bWJlcjtcclxuICBkcmFmdD86IGJvb2xlYW47XHJcbiAgaXNzdWVkPzogRGF0ZTtcclxuICBkb2N1bWVudElkOiBudW1iZXI7XHJcbiAgc3Vic3RpdHV0ZUlkPzogc3RyaW5nO1xyXG4gIG93bmVySWQ6IHN0cmluZztcclxuICBhY3Rpb24/OiBzdHJpbmc7XHJcbiAgb3duZXJCeUlkPzogc3RyaW5nO1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgdmVyc2lvbjogbnVtYmVyO1xyXG4gIGZvcm1JZDogc3RyaW5nO1xyXG4gIG51bWJlcj86IHN0cmluZztcclxuICBzdWJqZWN0Pzogc3RyaW5nO1xyXG4gIHZhbHVlPzogbnVtYmVyO1xyXG4gIHJlY2VpdmVkOiBEYXRlO1xyXG4gIHJlcGxpZWQ/OiBEYXRlO1xyXG4gIGZvbGRlcklkOiBzdHJpbmc7XHJcbiAgcmVhZDogYm9vbGVhbjtcclxuICBub3RlPzogc3RyaW5nO1xyXG4gIHNlbmRlcklkPzogc3RyaW5nO1xyXG4gIHN0YXRlSWQ6IHN0cmluZztcclxuICBjdXJyZW5jeUNvZGU/OiBzdHJpbmc7XHJcbiAgZmxhZz86IGJvb2xlYW47XHJcbiAgc3VtbWFyeT86IHN0cmluZztcclxuICBwZW5kaW5nPzogYm9vbGVhbjtcclxuICBtb2RlbD86IFQ7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudE1vZGVsPFQgPSBhbnk+IHtcclxuICBkcmFmdD86IGJvb2xlYW47XHJcbiAgZXh0cmE/OiBhbnk7XHJcbiAgbnVtYmVyPzogc3RyaW5nO1xyXG4gIHN1YmplY3Q/OiBzdHJpbmc7XHJcbiAgc3VtbWFyeT86IHN0cmluZztcclxuICBjdXJyZW5jeUNvZGU/OiBzdHJpbmc7XHJcbiAgdmFsdWU/OiBudW1iZXI7XHJcbiAgb3duZXJJZDogc3RyaW5nO1xyXG4gIG93bmVyQnlJZD86IHN0cmluZztcclxuICBkb2N1bWVudElkOiBudW1iZXI7XHJcbiAgdmVyc2lvbjogbnVtYmVyO1xyXG4gIGZvcm1JZDogc3RyaW5nO1xyXG4gIHN0YXRlSWQ6IHN0cmluZztcclxuICBjb21wbGV0ZWQ/OiBib29sZWFuO1xyXG4gIG1vZGVsPzogVDtcclxuICB2aWV3ZWQ/OiBEYXRlO1xyXG4gIGF0dGFjaG1lbnRzOiBBdHRhY2htZW50W107XHJcbiAgY29tbWVudHM6IENvbW1lbnRbXTtcclxuICB1bnJlYWRDb21tZW50czogbnVtYmVyO1xyXG4gIGlzc3VlZD86IERhdGU7XHJcbiAgd29ya2Zsb3c/OiBXb3JrZmxvd0luZm87XHJcbiAgcmVjaXBpZW50czogUmVjaXBpZW50W107XHJcbiAgY3ViZXM6IEN1YmVFbnRyeVtdO1xyXG4gIGV2ZW50czogU2NoZWR1bGVkRXZlbnRbXTtcclxuICBsb2NhdGlvbnM6IE1hcFBpbltdO1xyXG4gIGxvZzogTG9nW107XHJcbiAgcnVsZXM/OiB7IFtuYW1lOiBzdHJpbmddOiBib29sZWFuIH07XHJcbiAgcGFyZW50PzogQ2hhaW47XHJcbiAgY2hpbGRyZW4/OiBDaGFpbltdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhaW4ge1xyXG4gIGNvbXBsZXRlZDogYm9vbGVhbjtcclxuICBpZDogbnVtYmVyO1xyXG4gIGZvcm1JZDogc3RyaW5nO1xyXG4gIG51bWJlcj86IHN0cmluZztcclxuICBzdWJqZWN0Pzogc3RyaW5nO1xyXG4gIHN0YXRlSWQ6IHN0cmluZztcclxuICB2YWx1ZT86IG51bWJlcjtcclxuICBjdXJyZW5jeUNvZGU/OiBzdHJpbmc7XHJcbiAgcGFyZW50PzogQ2hhaW47XHJcbiAgY2hpbGRyZW4/OiBDaGFpbltdO1xyXG4gIHJlY2lwaWVudHM/OiBSZWNpcGllbnRbXTtcclxuICBldmVudHM/OiBTY2hlZHVsZWRFdmVudFtdO1xyXG4gIGxvZzogTG9nW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd0luZm8ge1xyXG4gIG5vZGVzOiBOb2RlSW5mb1tdO1xyXG4gIGNvbm5lY3RvcnM6IENvbm5lY3RvckluZm9bXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFJlY2lwaWVudE1vZGVsPFQgPSBhbnk+IGV4dGVuZHMgSGVhZGVyTW9kZWw8VD4sIERvY3VtZW50TW9kZWw8VD4ge1xyXG4gIGV4dHJhPzogYW55O1xyXG4gIGFjdGlvbnM/OiBzdHJpbmdbXTtcclxuICBmeWk6IGJvb2xlYW47XHJcbiAgb3JpZ2luSWQ/OiBudW1iZXI7XHJcbiAgZXNjYWxhdGVkPzogYm9vbGVhbjtcclxuICB0YWdzPzogc3RyaW5nW107XHJcbiAgYnlJZD86IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbm5lY3RvckluZm8ge1xyXG4gIC8vIHJlY2lwaWVudCBpZFxyXG4gIG9yaWdpbklkPzogbnVtYmVyO1xyXG4gIGVzdGltYXRlOiBib29sZWFuO1xyXG4gIHRpbWU/OiBEYXRlO1xyXG4gIHNvdXJjZUlkOiBzdHJpbmc7XHJcbiAgdGFyZ2V0SWQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVJbmZvIHtcclxuICBub3RlPzogc3RyaW5nO1xyXG4gIG9yaWdpbklkPzogbnVtYmVyO1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgLyoqIG5vZGUgKi9cclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgdGltZT86IERhdGU7XHJcbiAgZXN0aW1hdGU6IGJvb2xlYW47XHJcbiAgLyoqIHNlY29uZHMgKi9cclxuICBzdGFuZGFyZFRpbWU/OiBudW1iZXI7XHJcbiAgZXJyb3I/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBMb2cge1xyXG4gIHJlY2lwaWVudElkPzogbnVtYmVyO1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgb3JpZ2luSWQ/OiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICBtb2RlbD86IHt9O1xyXG4gIHR5cGU6IExvZ1R5cGU7XHJcbiAgbm9kZUlkPzogc3RyaW5nO1xyXG4gIG5vdGU/OiBzdHJpbmc7XHJcbiAgc3RhdGU/OiBzdHJpbmc7XHJcbiAgYWN0aW9uPzogc3RyaW5nO1xyXG4gIGVzY2FsYXRlZD86IGJvb2xlYW47XHJcbiAgc291cmNlSWQ/OiBzdHJpbmc7XHJcbiAgdGFyZ2V0SWQ/OiBzdHJpbmc7XHJcbiAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgZXN0aW1hdGU/OiBib29sZWFuO1xyXG4gIGZpbGVJZD86IG51bWJlcjtcclxuICBlcnJvcj86IHN0cmluZztcclxufVxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIExvZ1R5cGUgPSAnU3VibWl0JyB8ICdEb3dubG9hZCcgfCAnU3RhdGVDaGFuZ2UnIHwgJ0FjdGlvblRha2VuJyB8ICdDaGVja0luJyB8ICdDaGVja091dCcgfFxyXG4gICdNb2RlbENoYW5nZScgfCAnTm9kZScgfCAnVmlydHVhbE5vZGUnIHwgJ05vZGVKdW1wJyB8ICdDb25uZWN0b3InIHwgJ1ZpcnR1YWxDb25uZWN0b3InIHwgJ0VzY2FsYXRpb24nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZWNpcGllbnQge1xyXG4gIG9yaWdpbklkPzogbnVtYmVyO1xyXG4gIHN1YnN0aXR1dGVJZD86IHN0cmluZztcclxuICBieUlkPzogc3RyaW5nO1xyXG4gIG5vZGVJZD86IHN0cmluZztcclxuICB1c2VySWQ6IHN0cmluZztcclxuICBwZW5kaW5nOiBib29sZWFuO1xyXG4gIGZvbGRlcklkOiBzdHJpbmc7XHJcbiAgcm9sZT86IHN0cmluZztcclxuICByZWNlaXZlZDogRGF0ZTtcclxuICByZXBsaWVkPzogRGF0ZTtcclxuICBlc3RpbWF0ZT86IGJvb2xlYW47XHJcbiAgYWN0aW9uPzogc3RyaW5nO1xyXG4gIGZ5aT86IGJvb2xlYW47XHJcbiAgaWQ6IG51bWJlcjtcclxuICBub3RlPzogc3RyaW5nO1xyXG4gIGVzY2FsYXRlZD86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTY2hlZHVsZWRFdmVudCB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBkb2N1bWVudElkOiBudW1iZXI7XHJcbiAgc3RhcnRpbmc6IERhdGU7XHJcbiAgZW5kaW5nPzogRGF0ZTtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBsb2NhdGlvbj86IExhdExuZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE1hcFBpbiB7XHJcbiAgbG9jYXRpb246IExhdExuZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMYXRMbmcge1xyXG4gIGxhdDogbnVtYmVyO1xyXG4gIGxuZzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1YmVFbnRyeSB7XHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIGF4ZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXR0YWNobWVudCB7XHJcbiAgaWQ/OiBudW1iZXI7XHJcbiAgZmlsZU5hbWU6IHN0cmluZztcclxuICBjb250ZW50VHlwZTogc3RyaW5nO1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICBkZWxldGVkPzogYm9vbGVhbjtcclxuICBjaGVja2VkT3V0PzogYm9vbGVhbjtcclxuICBwcml2YXRlPzogYm9vbGVhbjtcclxuICBob2xkaW5nSWQ/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb21tZW50IHtcclxuICBpZDogbnVtYmVyO1xyXG4gIC8qKiBiYXNlNjQgKi9cclxuICBpbWFnZT86IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIHRpbWU6IERhdGU7XHJcbiAgcGFyZW50SWQ/OiBudW1iZXI7XHJcbiAgdm90ZWQ/OiBudW1iZXI7XHJcbiAgdm90ZXM/OiBudW1iZXI7XHJcbiAgZWRpdGVkPzogRGF0ZTtcclxuICBkZWxldGVkPzogYm9vbGVhbjtcclxuICBieUlkPzogc3RyaW5nO1xyXG4gIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFZvdGUge1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICB2b3RlZD86IG51bWJlcjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRWZXJzaW9uIHtcclxuICBieUlkPzogc3RyaW5nO1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIHRpbWU6IERhdGU7XHJcbiAgaW1hZ2U/OiBzdHJpbmc7XHJcbiAgdGV4dD86IHN0cmluZztcclxuICByZXNvdXJjZT86IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb24ge1xyXG4gIG11dGVkPzogYm9vbGVhbjtcclxuICBkZWxldGVkPzogYm9vbGVhbjtcclxuICBpZDogbnVtYmVyO1xyXG4gIHR5cGU6IE5vdGlmaWNhdGlvblR5cGU7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICByZWFkPzogYm9vbGVhbjtcclxuICBzZW50OiBEYXRlO1xyXG4gIHJlY2lwaWVudElkPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIE5vdGlmaWNhdGlvblR5cGUgPVxyXG4gICdDb21tZW50ZWQnIHxcclxuICAnQ3ViZUFub21hbHknIHxcclxuICAnRXNjYWxhdGVkJyB8XHJcbiAgJ0xpa2VkJyB8XHJcbiAgJ1N0YXRlQ2hhbmdlZCcgfFxyXG4gICdOdWRnZScgfFxyXG4gICdUZXh0TWVzc2FnZScgfFxyXG4gICdVcGNvbWluZ0V2ZW50JyB8XHJcbiAgJ0pvYlByb2dyZXNzJyB8XHJcbiAgJ1RhZ2dlZCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlIHtcclxuICBzaGFwZT86IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBwYXN0Pzogc3RyaW5nO1xyXG4gIGZ1dHVyZT86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IHR5cGUgR2VuZGVyID0gJ01hbGUnIHxcclxuICAnRmVtYWxlJyB8IG51bGw7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFZpZXcge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIG9wdGlvbnM/OiBhbnk7XHJcbiAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgY3ViZXM6IHN0cmluZ1tdO1xyXG4gIGZvcm1zOiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlIHtcclxuICBob2xpZGF5czogYW55O1xyXG4gIHV0aWxpdGllczogVXRpbGl0eVtdO1xyXG4gIGd1aWRlcz86IEd1aWRlW107XHJcbiAgdmlld3M6IFZpZXdbXTtcclxuICBwaG90bz86IHN0cmluZztcclxuICB1c2VySWQ6IHN0cmluZztcclxuICBieUlkPzogc3RyaW5nO1xyXG4gIGJ5TmFtZT86IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgaW1wZXJzb25hdGluZz86IHN0cmluZztcclxuICBhdmFpbGFibGU/OiBBdmFpbGFiaWxpdHlTdGF0ZTtcclxuICBnZW5kZXI/OiBHZW5kZXI7XHJcbiAgYnlHZW5kZXI/OiBHZW5kZXI7XHJcbiAgc3lzdGVtOiBib29sZWFuO1xyXG4gIGZvcm1zOiBGb3JtW107XHJcbiAgYWN0aW9uczogQWN0aW9uW107XHJcbiAgc3RhdGVzOiBTdGF0ZVtdO1xyXG4gIGZvbGRlcnM6IEZvbGRlcltdO1xyXG4gIHJlcG9ydHM6IFJlcG9ydFtdO1xyXG4gIHR5cGVzOiBUeXBlW107XHJcbiAgY3ViZXM6IEN1YmVbXTtcclxuICBub2RlczogRmxvd05vZGVbXTtcclxuICByb2xlczogUm9sZVtdO1xyXG4gIHdpZGdldHM6IFdpZGdldFtdO1xyXG4gIG9wdGlvbnM6IE9wdGlvbnM7XHJcbiAgaW5ib3g6IEhlYWRlck1vZGVsW107XHJcbiAgaW5ib3hDb3VudD86IG51bWJlcjtcclxuICBub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25bXTtcclxuICBub3RpZmljYXRpb25zQ291bnQ/OiBudW1iZXI7XHJcbiAgcmVjZW50cz86IEhlYWRlck1vZGVsW107XHJcbiAgY29udGFjdHM6IENvbnRhY3RbXTtcclxuICBjb252ZXJzYXRpb25zQ291bnQ6IG51bWJlcjtcclxuICBsaWNlbnNlPzogTGljZW5zZTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGUge1xyXG4gIGFyZ3VtZW50cz86IEZpZWxkSW5mb1tdO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGFzc2lnbmFibGU/OiBib29sZWFuO1xyXG4gIGNvbHVtbnM/OiBGaWVsZEluZm9bXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFJvbGUge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGRhdGFUeXBlOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBVdGlsaXR5IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGFyZ3VtZW50cz86IEZpZWxkSW5mb1tdO1xyXG4gIG9wdGlvbnM6IGFueTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhY3Qge1xyXG4gIHZpc2l0ZWQ/OiBEYXRlO1xyXG4gIHdhdGVybWFyaz86IERhdGU7XHJcbiAgaWQ6IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIHRpbWU6IERhdGU7XHJcbiAgYWNjZXB0ZWQ6IGJvb2xlYW47XHJcbiAgaW1hZ2U/OiBzdHJpbmc7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICBmb3Jnb3R0ZW4/OiBib29sZWFuO1xyXG4gIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENoYXQge1xyXG4gIGRhdGU6IERhdGU7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgY29udGFjdElkOiBzdHJpbmc7XHJcbiAgdGV4dD86IHN0cmluZztcclxuICB0aW1lOiBEYXRlO1xyXG4gIC8qKiBiYXNlNjQgKi9cclxuICBpbWFnZT86IHN0cmluZztcclxuICByZXNvdXJjZT86IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBGaWVsZEluZm8ge1xyXG4gIGRlZmF1bHRWYWx1ZT86IGFueTtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAga2V5PzogYm9vbGVhbjtcclxuICB0eXBlPzogRmllbGRUeXBlO1xyXG4gIHZhbGlkYXRpb25zPzogVmFsaWRhdGlvbltdO1xyXG4gIGZpZWxkcz86IEZpZWxkSW5mb1tdO1xyXG4gIG1heD86IG51bWJlcjtcclxuICBtaW4/OiBudW1iZXI7XHJcbiAgc291cmNlPzogc3RyaW5nO1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICBwYXR0ZXJuPzogc3RyaW5nO1xyXG4gIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgaXNBcnJheT86IGJvb2xlYW47XHJcbiAgaXNPYmplY3Q/OiBib29sZWFuO1xyXG4gIGRpYWdyYW0/OiBib29sZWFuO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGhpbnQ/OiBzdHJpbmc7XHJcbiAgb3B0aW9ucz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uIHtcclxuICB0eXBlOiBWYWxpZGF0aW9uVHlwZTtcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgbWluPzogbnVtYmVyO1xyXG4gIG1heD86IG51bWJlcjtcclxuICBleHByZXNzaW9uPzogYW55O1xyXG59XHJcbmV4cG9ydCBlbnVtIFZhbGlkYXRpb25UeXBlIHtcclxuICBSZXF1aXJlZCA9ICdSZXF1aXJlZCcsXHJcbiAgTWluID0gJ01pbicsXHJcbiAgTWF4ID0gJ01heCcsXHJcbiAgTWluTGVuZ3RoID0gJ01pbkxlbmd0aCcsXHJcbiAgTWF4TGVuZ3RoID0gJ01heExlbmd0aCcsXHJcbiAgUGF0dGVybiA9ICdQYXR0ZXJuJyxcclxuICBSYW5nZSA9ICdSYW5nZScsXHJcbiAgRW1haWwgPSAnRW1haWwnXHJcbn1cclxuZXhwb3J0IGVudW0gRmllbGRUeXBlIHtcclxuICBTdHJpbmcgPSAnU3RyaW5nJyxcclxuICBOdW1iZXIgPSAnTnVtYmVyJyxcclxuICBUaW1lID0gJ1RpbWUnLFxyXG4gIERhdGUgPSAnRGF0ZScsXHJcbiAgRGF0ZVRpbWUgPSAnRGF0ZVRpbWUnLFxyXG4gIENoZWNrID0gJ0NoZWNrJyxcclxuICBDdXJyZW5jeSA9ICdDdXJyZW5jeScsXHJcbiAgU2VsZWN0ID0gJ1NlbGVjdCcsXHJcbiAgRW1haWxBZGRyZXNzID0gJ0VtYWlsQWRkcmVzcycsXHJcbiAgSHRtbCA9ICdIdG1sJyxcclxuICBUZXh0ID0gJ1RleHQnLFxyXG4gIFBhc3N3b3JkID0gJ1Bhc3N3b3JkJyxcclxuICBQaG9uZU51bWJlciA9ICdQaG9uZU51bWJlcicsXHJcbiAgRmlsZSA9ICdGaWxlJyxcclxuICBVcmwgPSAnVXJsJyxcclxuICBTd2l0Y2ggPSAnU3dpdGNoJyxcclxuICBBZGRyZXNzID0gJ0FkZHJlc3MnLFxyXG4gIE9iamVjdCA9ICdPYmplY3QnLFxyXG4gIEV4cHJlc3Npb24gPSAnRXhwcmVzc2lvbicsXHJcbiAgRHVyYXRpb24gPSAnRHVyYXRpb24nLFxyXG4gIEF1dG9jb21wbGV0ZSA9ICdBdXRvY29tcGxldGUnLFxyXG4gIFBlcmNlbnQgPSBcIlBlcmNlbnRcIixcclxuICBEYXRlUmFuZ2UgPSBcIkRhdGVSYW5nZVwiXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXQge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBndWlkZT86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICB0ZW1wbGF0ZTogc3RyaW5nO1xyXG4gIGNvbHM/OiBudW1iZXI7XHJcbiAgcm93cz86IG51bWJlcjtcclxuICBhcmd1bWVudHM/OiBGaWVsZEluZm9bXTtcclxuICBhcmd1bWVudHNUZW1wbGF0ZT86IHN0cmluZztcclxuICBvcHRpb25zOiBhbnk7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBMaWNlbnNlIHtcclxuICBtb2RlOiBMaWNlbnNlTW9kZTtcclxuICBleHBpcmF0aW9uPzogRGF0ZTtcclxuICBjb21wYW55TmFtZTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9sZGVyIHtcclxuICBmaWx0ZXJzPzoge1xyXG4gICAgY3ViZT86IHN0cmluZztcclxuICAgIGF4ZXM6IHN0cmluZ1tdO1xyXG4gIH07XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGdyb3VwPzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBjb3VudD86IG51bWJlcjtcclxuICBjb2x1bW5zPzogRm9sZGVyQ29sdW1uW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBGb2xkZXJDb2x1bW4ge1xyXG4gIG5hbWU6IHN0cmluZyB8ICdudW1iZXInIHwgJ3N1YmplY3QnIHwgJ3ZhbHVlJyB8ICdvd25lcicgfCAnc2VuZGVyJyB8ICdyZWNlaXZlZCcgfCAncmVjZWl2ZWRBZ28nIHwgJ3JlcGxpZWQnIHwgJ3N0YXRlJyB8ICdpc3N1ZWQnIHwgJ2lzc3VlZEFnbyc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB0eXBlPzogJ0Jvb2xlYW4nIHwgJ0RhdGUnIHwgJ0RlY2ltYWwnIHwgJ1N0cmluZyc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIExpY2Vuc2VNb2RlID1cclxuICAnRXZhbHVhdGlvbicgfFxyXG4gICdWYWxpZCcgfFxyXG4gICdHcmFjZScgfFxyXG4gICdJbnZhbGlkJyB8XHJcbiAgJ0xpbWl0JyB8XHJcbiAgJ0V4cGlyZWQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb24ge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHZlcmI/OiBzdHJpbmc7XHJcbiAgeW91Pzogc3RyaW5nO1xyXG4gIHlvdU1hbGU/OiBzdHJpbmc7XHJcbiAgeW91RmVtYWxlPzogc3RyaW5nO1xyXG4gIHBhc3Q/OiBzdHJpbmc7XHJcbiAgcGFzdE1hbGU/OiBzdHJpbmc7XHJcbiAgcGFzdEZlbWFsZT86IHN0cmluZztcclxuICBhZGplY3RpdmU/OiBzdHJpbmc7XHJcbiAgbG9nZ2FibGU/OiBib29sZWFuO1xyXG4gIGFkamVjdGl2ZVBsdXJhbD86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGFyZ3VtZW50cz86IEZpZWxkSW5mb1tdO1xyXG4gIG11bHRpcGxlPzogYm9vbGVhbjtcclxuICBncm91cD86IG51bWJlcjtcclxuICBzaGFwZT86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxuICBvcHRpb25zPzogYW55O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XHJcbiAgZ3JhbnRBY2Nlc3M/OiBHcmFudFNldHRpbmdzO1xyXG4gIG91dE9mT2ZmaWNlPzogT3V0T2ZPZmZpY2VTZXR0aW5ncztcclxuICBub3RpZmljYXRpb25zPzogTm90aWZpY2F0aW9uc1NldHRpbmdzO1xyXG4gIGVtYWlscz86IEVtYWlsU2V0dGluZ3M7XHJcbiAgZ3VpZGVzPzogc3RyaW5nW107XHJcbiAgaW5ib3hWaWV3PzogRGF0ZTtcclxuICBub3RpZmljYXRpb25zVmlldz86IERhdGU7XHJcbiAgdGFncz86IHN0cmluZ1tdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JhbnRTZXR0aW5ncyB7XHJcbiAgYWN0aXZlOiBib29sZWFuO1xyXG4gIHVzZXJzPzogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGltZW50aW9ucyB7XHJcbiAgd2lkdGg6IG51bWJlcjtcclxuICBoZWlnaHQ6IG51bWJlcjtcclxufTtcclxuXHJcbmV4cG9ydFxyXG4gIGludGVyZmFjZSBSZXBvcnQge1xyXG4gIG9wdGlvbnM/OiBhbnk7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBndWlkZT86IHN0cmluZztcclxuICB0ZW1wbGF0ZT86IHN0cmluZztcclxuICBmaWVsZHM/OiBGaWVsZEluZm9bXTtcclxuICBpdGVtVGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgY29sdW1uczogRmllbGRJbmZvW107XHJcbiAgYXJndW1lbnRzPzogRmllbGRJbmZvW107XHJcbiAgYXJndW1lbnRzVGVtcGxhdGU/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0XHJcbiAgaW50ZXJmYWNlIEZvcm0ge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGNyZWF0YWJsZTogYm9vbGVhbjtcclxuICBpY29uOiBzdHJpbmc7XHJcbiAgcG9zaXRpb24/OiAnUmVxdWlyZScgfCAnQXNrJyB8ICdOb25lJztcclxuICB0ZW1wbGF0ZT86IHN0cmluZztcclxuICBzdHJ1Y3R1cmU/OiBGaWVsZEluZm9bXTtcclxuICB3b3JrZmxvdz86IFdvcmtmbG93O1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3cge1xyXG4gIHZlcnNpb246IG51bWJlcjtcclxuICBjb25uZWN0b3JzOiBDb25uZWN0b3JNb2RlbFtdO1xyXG4gIG5vZGVzOiBOb2RlTW9kZWxbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJJbmZvIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICByb2xlPzogc3RyaW5nO1xyXG4gIGdlbmRlcj86IEdlbmRlcjtcclxuICBwaWN0dXJlVXJsPzogc3RyaW5nO1xyXG4gIG5pY2s/OiBzdHJpbmc7XHJcbiAgcGhvbmVOdW1iZXI/OiBzdHJpbmc7XHJcbiAgZW1haWw/OiBzdHJpbmc7XHJcbiAgbGFzdEFjdGl2ZT86IERhdGU7XHJcbiAgbW9kZT86IEF2YWlsYWJpbGl0eVN0YXRlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEd1aWRlIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgbW9kZT86ICdNZW51JyB8ICdFYWdlcicgfCAnUHJpdmF0ZSc7XHJcbiAgc3RlcHM6IEd1aWRlU3RlcFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgR3VpZGVTdGVwIHtcclxuICBzaW11bGF0ZT86IGJvb2xlYW47XHJcbiAgc2VsZWN0b3I/OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgY29udGVudDogc3RyaW5nO1xyXG4gIG5hdmlnYXRlPzogc3RyaW5nO1xyXG4gIHBvc2l0aW9uPzogJ0Fib3ZlJyB8ICdFbmQnIHwgJ1N0YXJ0JyB8ICdCZWxvdyc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBGbG93Tm9kZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgc3R5bGU/OiBzdHJpbmc7XHJcbiAgcGFsZXR0ZT86IHN0cmluZztcclxuICBzaGFwZTogU2hhcGVNb2RlbCB8IEZsb3dTaGFwZU1vZGVsIHwgQmFzaWNTaGFwZU1vZGVsIHwgSW1hZ2VNb2RlbCB8IFBhdGhNb2RlbCB8IFRleHRNb2RlbCB8IEJwbW5TaGFwZU1vZGVsIHwgTmF0aXZlTW9kZWw7XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgYXJndW1lbnRzPzogRmllbGRJbmZvW107XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBBdmFpbGFiaWxpdHlTdGF0ZSA9XHJcbiAgJ09mZmxpbmUnIHxcclxuICAnT25saW5lJyB8XHJcbiAgJ091dE9mT2ZmaWNlJyB8XHJcbiAgJ1ZhY2F0aW9uJyB8ICdXb3JraW5nSG9tZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1YmUge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgeUF4aXM/OiBZQXhpcztcclxuICB0ZW1wbGF0ZT86IHN0cmluZztcclxuICBjdXJyZW5jeUNvZGU/OiBzdHJpbmc7XHJcbiAgdmlld3M6IEN1YmVWaWV3W107XHJcbiAgYXhlczogQ3ViZUF4aXNbXTtcclxuICBpbmRpY2VzPzogQ3ViZUluZGV4W107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBZQXhpcyB7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgdHlwZT86ICdOb25lJyB8ICdOdW1iZXInIHwgJ0N1cnJlbmN5JztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEN1YmVJbmRleCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGFjY3VtdWxhdGU/OiBib29sZWFuO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDdWJlQXhpcyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgZGF0YVR5cGU6IHN0cmluZztcclxuICBoaWRkZW4/OiBib29sZWFuO1xyXG4gIGNvbWJpbmF0aW9uPzogYm9vbGVhbjtcclxuICBzZWxlY3Rpb25Nb2RlPzogJ1NpbmdsZScgfCAnUGF0dGVybicgfCAnTXVsdGlwbGUnIHwgJ1NlYXJjaCcgfCAnTm9uZSc7XHJcbiAgZGVzY2VuZGVudE9mPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCB0eXBlIEF4aXNUeXBlID0gc3RyaW5nIHwgbnVtYmVyIHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXhlc01hcCB7XHJcbiAgW2F4aXM6IHN0cmluZ106IEF4aXNUeXBlO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3ViZVZpZXcge1xyXG4gIHhBeGlzOiBzdHJpbmdbXTtcclxuICBzZXJpZXM/OiBzdHJpbmdbXTtcclxuICBmaWx0ZXJzPzogQXhlc01hcDtcclxuICBpbmRpY2VzPzogc3RyaW5nW107XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBndWlkZT86IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB0eXBlOiBWaWV3VHlwZTtcclxuICBjaGFydFR5cGU/OiBDaGFydFR5cGU7XHJcbiAgaW5kaWNlc0NoYXJ0VHlwZT86IENoYXJ0VHlwZTtcclxufVxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIFZpZXdUeXBlID0gJ1NwcmVhZHNoZWV0JyB8XHJcbiAgJ0NoYXJ0JyB8ICdQaXZvdCcgfCAnR3JpZCc7XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ2hhcnRUeXBlID1cclxuICAnUGllJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIGxpbmUgc2VyaWVzLiAqL1xyXG4gICdMaW5lJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIENvbHVtbiBzZXJpZXMuICovXHJcbiAgJ0NvbHVtbicgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBBcmVhIHNlcmllcy4gKi9cclxuICAnQXJlYScgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBCYXIgc2VyaWVzLiAqL1xyXG4gICdCYXInIHxcclxuICAvKiogIERlZmluZSB0aGUgU3RhY2tpbmdDb2x1bW4gc2VyaWVzLiAqL1xyXG4gICdTdGFja2luZ0NvbHVtbicgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBTdGFja2luZ0FyZWEgc2VyaWVzLiAqL1xyXG4gICdTdGFja2luZ0FyZWEnIHxcclxuICAvKiogIERlZmluZSB0aGUgU3RhY2tpbmdMaW5lIHNlcmllcy4gKi9cclxuICAnU3RhY2tpbmdMaW5lJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIFN0YWNraW5nQmFyIHNlcmllcy4gKi9cclxuICAnU3RhY2tpbmdCYXInIHxcclxuICAvKiogIERlZmluZSB0aGUgU3RlcGxpbmUgc2VyaWVzLiAqL1xyXG4gICdTdGVwTGluZScgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBTdGVwYXJlYSBzZXJpZXMuICovXHJcbiAgJ1N0ZXBBcmVhJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIFN0ZXBhcmVhIHNlcmllcy4gKi9cclxuICAnU3BsaW5lQXJlYScgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBTY2F0dGVyIHNlcmllcy4gKi9cclxuICAnU2NhdHRlcicgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBTcGxpbmUgc2VyaWVzLiAqL1xyXG4gICdTcGxpbmUnIHxcclxuICAvKiogRGVmaW5lIHRoZSBTdGFja2luZ0NvbHVtbjEwMCBzZXJpZXMgKi9cclxuICAnU3RhY2tpbmdDb2x1bW4xMDAnIHxcclxuICAvKiogRGVmaW5lIHRoZSBTdGFja2luZ0JhcjEwMCBzZXJpZXMgKi9cclxuICAnU3RhY2tpbmdCYXIxMDAnIHxcclxuICAvKiogRGVmaW5lIHRoZSBTdGFja2luZ0xpbmUxMDAgc2VyaWVzICovXHJcbiAgJ1N0YWNraW5nTGluZTEwMCcgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIFN0YWNraW5nQXJlYTEwMCBzZXJpZXMgKi9cclxuICAnU3RhY2tpbmdBcmVhMTAwJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgUmFuZ2VDb2x1bW4gU2VyaWVzICovXHJcbiAgJ1JhbmdlQ29sdW1uJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgV2F0ZXJmYWxsIFNlcmllcyAqL1xyXG4gICdXYXRlcmZhbGwnIHxcclxuICAvKiogRGVmaW5lIHRoZSBSYW5nZUFyZWEgU2VyaWVzICovXHJcbiAgJ1JhbmdlQXJlYScgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIEJ1YmJsZSBTZXJpZXMgKi9cclxuICAnQnViYmxlJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgQ2FuZGxlIFNlcmllcyAqL1xyXG4gICdQb2xhcicgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIHJhZGFyIHNlcmllcyAqL1xyXG4gICdSYWRhcicgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIFBhcmV0byBzZXJpZXMgKi9cclxuICAnUGFyZXRvJyB8ICdEb3VnaG51dCcgfCAnSGFsZkRvdWdobnV0JyB8XHJcbiAgJ0Z1bm5lbCcgfCAnUHlyYW1pZCcgfFxyXG4gICdTdGFja2luZ1N0ZXBBcmVhJztcclxuZXhwb3J0IGludGVyZmFjZSBPdXRPZk9mZmljZVNldHRpbmdzIHtcclxuICBmcm9tPzogRGF0ZTtcclxuICB0bz86IERhdGU7XHJcbiAgYWN0aXZlOiBib29sZWFuO1xyXG4gIHN1YnN0aXR1ZUlkPzogc3RyaW5nO1xyXG59XHJcbmludGVyZmFjZSBOb3RpZmljYXRpb25zU2V0dGluZ3Mge1xyXG4gIHNvdW5kPzogYm9vbGVhbjtcclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIG15U3RhdGVDaGFuZ2VkPzogYm9vbGVhbjtcclxuICBhbnlTdGF0ZUNoYW5nZWQ/OiBib29sZWFuO1xyXG4gIGFueUNvbW1lbnQ/OiBib29sZWFuO1xyXG4gIG15Q29tbWVudD86IGJvb2xlYW47XHJcbiAgbGlrZWQ/OiBib29sZWFuO1xyXG4gIGN1YmVBbm9tYWx5PzogYm9vbGVhbjtcclxuICB1cGNvbWluZ0V2ZW50cz86IGJvb2xlYW47XHJcbn1cclxuaW50ZXJmYWNlIEVtYWlsU2V0dGluZ3Mge1xyXG4gIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgbWFpbHM/OiBib29sZWFuO1xyXG4gIGNvbnZlcnNhdGlvbnM/OiBib29sZWFuO1xyXG4gIG5vdGlmaWNhdGlvbnM/OiBib29sZWFuO1xyXG4gIGV2ZW50cz86IGJvb2xlYW47XHJcbn1cclxuIl19
|
@@ -1,8 +1,11 @@
|
|
1
1
|
import { InjectionToken } from "@angular/core";
|
2
|
-
import { BehaviorSubject, Subject } from "rxjs";
|
2
|
+
import { BehaviorSubject, Subject, filter } from "rxjs";
|
3
3
|
export const QUERY_CHAR = ':', PATH_CHAR = ';', ARG_CHAR = '&', PANE_CHAR = '~';
|
4
4
|
export const PANES_DATA = new InjectionToken('panes');
|
5
5
|
export class NavigationBase {
|
6
|
+
preventDefault() {
|
7
|
+
this._preventDefault = true;
|
8
|
+
}
|
6
9
|
}
|
7
10
|
export class CollapseNavigation extends NavigationBase {
|
8
11
|
}
|
@@ -23,15 +26,35 @@ export class NavigationSelected extends NavigationPaneBase {
|
|
23
26
|
}
|
24
27
|
export class NavigationEnd extends NavigationPaneBase {
|
25
28
|
}
|
29
|
+
export class NavigationMode extends NavigationPaneBase {
|
30
|
+
constructor(mode, pane) {
|
31
|
+
super(pane);
|
32
|
+
this.mode = mode;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
export class NavigationFullscreen extends NavigationPaneBase {
|
36
|
+
constructor(fullscreen, pane) {
|
37
|
+
super(pane);
|
38
|
+
this.fullscreen = fullscreen;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
export class NavigationResize extends NavigationPaneBase {
|
42
|
+
constructor(dimentions, pane) {
|
43
|
+
super(pane);
|
44
|
+
this.dimentions = dimentions;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
export class NavigationClose extends NavigationPaneBase {
|
48
|
+
}
|
26
49
|
export class ParamNavigation extends NavigationPaneBase {
|
27
|
-
constructor(params,
|
28
|
-
super(
|
50
|
+
constructor(params, pane) {
|
51
|
+
super(pane);
|
29
52
|
this.params = params;
|
30
53
|
}
|
31
54
|
}
|
32
55
|
export class QueryParamNavigation extends NavigationPaneBase {
|
33
|
-
constructor(queryParams,
|
34
|
-
super(
|
56
|
+
constructor(queryParams, pane) {
|
57
|
+
super(pane);
|
35
58
|
this.queryParams = queryParams;
|
36
59
|
}
|
37
60
|
}
|
@@ -44,12 +67,13 @@ export class PaneRef {
|
|
44
67
|
this._data$ = new BehaviorSubject({});
|
45
68
|
this._params$ = new BehaviorSubject({});
|
46
69
|
this._queryParams$ = new BehaviorSubject({});
|
47
|
-
this.
|
70
|
+
this._events$ = new Subject();
|
48
71
|
this.expandable = true;
|
49
|
-
const { data, params, queryParams, path, queryString, title, group, icon, help, guide, animation, fullscreen, expandable } = _options;
|
50
|
-
this._mode$ = new BehaviorSubject(mode);
|
51
|
-
this._fullscreen$ = new BehaviorSubject(fullscreen);
|
72
|
+
const { stretch, data, params, queryParams, path, queryString, title, group, icon, help, guide, animation, fullscreen, expandable } = _options;
|
52
73
|
this._path = path || '';
|
74
|
+
this._mode = mode;
|
75
|
+
this._stretch = stretch;
|
76
|
+
this._fullscreen = fullscreen;
|
53
77
|
this.title = title;
|
54
78
|
this.group = group;
|
55
79
|
this.guide = guide;
|
@@ -63,36 +87,32 @@ export class PaneRef {
|
|
63
87
|
params && this._params$.next(params);
|
64
88
|
queryParams && this._queryParams$.next(queryParams);
|
65
89
|
}
|
66
|
-
get injector() {
|
67
|
-
|
68
|
-
}
|
69
|
-
get fullscreen() {
|
70
|
-
return this._fullscreen$.value;
|
71
|
-
}
|
72
|
-
get fullscreenChange() {
|
73
|
-
return this._fullscreen$.asObservable();
|
74
|
-
}
|
90
|
+
get injector() { return this._injector; }
|
91
|
+
get fullscreen() { return this._fullscreen; }
|
75
92
|
get fullPath() { return this._path + (this._queryString ? (QUERY_CHAR + this._queryString) : ''); }
|
76
93
|
get instance() { return this._instance; }
|
77
94
|
get data() { return this._data$.value; }
|
78
95
|
get dataChange() { return this._data$.asObservable(); }
|
79
96
|
get params() { return this._params$.value; }
|
80
|
-
get resize() { return this.
|
97
|
+
get resize() { return this.events.pipe(filter(e => e instanceof NavigationResize)); }
|
81
98
|
get paramsChange() { return this._params$.asObservable(); }
|
82
99
|
get queryString() { return this._queryString; }
|
83
100
|
get queryParams() { return this._queryParams$.value; }
|
84
101
|
get queryParamsChange() { return this._queryParams$.asObservable(); }
|
85
|
-
get
|
102
|
+
get events() { return this._events$.asObservable(); }
|
103
|
+
get closing() { return this.events.pipe(filter(e => e instanceof NavigationClose)); }
|
104
|
+
get modeChange() { return this.events.pipe(filter(e => e instanceof NavigationMode)); }
|
86
105
|
;
|
87
|
-
get
|
106
|
+
get fullscreenChange() { return this.events.pipe(filter(e => e instanceof NavigationFullscreen)); }
|
107
|
+
get path() { return this._path; }
|
88
108
|
;
|
89
|
-
get mode() { return this._mode
|
109
|
+
get mode() { return this._mode; }
|
90
110
|
;
|
91
111
|
get parent() { return this._options.parent; }
|
92
112
|
;
|
93
|
-
get stretch() { return this.
|
113
|
+
get stretch() { return this._stretch; }
|
94
114
|
;
|
95
|
-
set stretch(val) { this.
|
115
|
+
set stretch(val) { this._stretch = val; }
|
96
116
|
get dialog() { return this._options.dialog; }
|
97
117
|
;
|
98
118
|
get dismissable() { return this._options.dismissable; }
|
@@ -119,10 +139,8 @@ export class PaneRef {
|
|
119
139
|
this._comm$.complete();
|
120
140
|
this._data$.complete();
|
121
141
|
this._params$.complete();
|
122
|
-
this._resize$.complete();
|
123
142
|
this._queryParams$.complete();
|
124
|
-
this.
|
125
|
-
this._mode$.complete();
|
143
|
+
this._events$.complete();
|
126
144
|
}
|
127
145
|
}
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvc2xvdHMvcGFuZS1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFrQixjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRSxTQUFTLEdBQUcsR0FBRyxFQUFFLFFBQVEsR0FBRyxHQUFHLEVBQUUsU0FBUyxHQUFHLEdBQUcsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQWMsT0FBTyxDQUFDLENBQUM7QUFFbkUsTUFBTSxPQUFnQixjQUFjO0NBQUk7QUFDeEMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7Q0FDckQ7QUFDRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGNBQWM7Q0FDakQ7QUFDRCxNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGNBQWM7SUFDN0QsWUFBb0IsS0FBbUI7UUFDckMsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFjO0lBRXZDLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0NBQ3REO0FBQ0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUFrQjtDQUN6RDtBQUNELE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCO0NBQ3BEO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0lBQ3JELFlBQTRCLE1BQWdCLEVBQUUsSUFBa0I7UUFDOUQsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRGMsV0FBTSxHQUFO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QUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQgeyBUeXBlLCBJbmplY3RvciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBQYXJhbU1hcCwgUGFuZVJvdXRlLCBPcGVuUG9saWN5IH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb25cIjtcclxuaW1wb3J0IHsgRGltZW50aW9ucyB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBRVUVSWV9DSEFSID0gJzonLCBQQVRIX0NIQVIgPSAnOycsIEFSR19DSEFSID0gJyYnLCBQQU5FX0NIQVIgPSAnfic7XHJcblxyXG5leHBvcnQgY29uc3QgUEFORVNfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQYW5lUm91dGVbXT4oJ3BhbmVzJyk7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmF2aWdhdGlvbkJhc2UgeyB9XHJcbmV4cG9ydCBjbGFzcyBDb2xsYXBzZU5hdmlnYXRpb24gZXh0ZW5kcyBOYXZpZ2F0aW9uQmFzZSB7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEJhY2tOYXZpZ2F0aW9uIGV4dGVuZHMgTmF2aWdhdGlvbkJhc2Uge1xyXG59XHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYXZpZ2F0aW9uUGFuZUJhc2UgZXh0ZW5kcyBOYXZpZ2F0aW9uQmFzZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxhbnk+KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IHBhbmUoKTogUGFuZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9wYW5lO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblN0YXJ0IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblNlbGVjdGVkIGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkVuZCBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFBhcmFtTmF2aWdhdGlvbiBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHBhcmFtczogUGFyYW1NYXAsIHNsb3Q6IFBhbmVSZWY8YW55Pikge1xyXG4gICAgc3VwZXIoc2xvdCk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBRdWVyeVBhcmFtTmF2aWdhdGlvbiBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHF1ZXJ5UGFyYW1zOiBQYXJhbU1hcCwgc2xvdDogUGFuZVJlZjxhbnk+KSB7XHJcbiAgICBzdXBlcihzbG90KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFuZU9wdGlvbnMge1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGdyb3VwPzogc3RyaW5nO1xyXG4gIGhlbHA/OiBzdHJpbmc7XHJcbiAgc3RhdGU/OiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfTtcclxuICBvcGVuUG9saWN5PzogT3BlblBvbGljeTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUGFuZUFjdGlvbiA9ICdleHBhbmQnIHwgJ2ZvY3VzJyB8ICdjbG9zZScgfCAncmVmcmVzaCc7XHJcblxyXG5leHBvcnQgY2xhc3MgUGFuZVJlZjxUID0gYW55PiB7XHJcbiAgcmVhZG9ubHkgX2NvbW0kID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIC8qKiAqL1xyXG4gIHJlYWRvbmx5IF9kYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFyYW1NYXA+KHt9KTtcclxuICByZWFkb25seSBfcGFyYW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFyYW1NYXA+KHt9KTtcclxuICByZWFkb25seSBfcXVlcnlQYXJhbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbU1hcD4oe30pO1xyXG4gIHJlYWRvbmx5IF9yZXNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaW1lbnRpb25zPih7fSBhcyBhbnkpO1xyXG4gIF9mdWxsc2NyZWVuJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xyXG4gIF9tb2RlJDogQmVoYXZpb3JTdWJqZWN0PCd0YWInIHwgJ3BhbmUnPjtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgcGlubmVkOiBib29sZWFuO1xyXG4gIGJhZGdlPzogbnVtYmVyO1xyXG4gIGFuaW1hdGlvbjogc3RyaW5nO1xyXG4gIGdyb3VwOiBzdHJpbmc7XHJcbiAgaGVscDogc3RyaW5nO1xyXG4gIGV4cGFuZGFibGUgPSB0cnVlO1xyXG4gIF9pbnN0YW5jZTogVDtcclxuICBfcGF0aDogc3RyaW5nO1xyXG4gIF9xdWVyeVN0cmluZzogc3RyaW5nO1xyXG4gIF9pbmplY3RvcjogSW5qZWN0b3I7XHJcbiAgX3BvcnRhbDogQ29tcG9uZW50UG9ydGFsPFQ+O1xyXG4gIHB1YmxpYyBnZXQgaW5qZWN0b3IoKTogSW5qZWN0b3Ige1xyXG4gICAgcmV0dXJuIHRoaXMuX2luamVjdG9yO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGZ1bGxzY3JlZW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZnVsbHNjcmVlbiQudmFsdWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgZnVsbHNjcmVlbkNoYW5nZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9mdWxsc2NyZWVuJC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcbiAgZ2V0IGZ1bGxQYXRoKCkgeyByZXR1cm4gdGhpcy5fcGF0aCArICh0aGlzLl9xdWVyeVN0cmluZyA/IChRVUVSWV9DSEFSICsgdGhpcy5fcXVlcnlTdHJpbmcpIDogJycpIH1cclxuICBnZXQgaW5zdGFuY2UoKTogVCB7IHJldHVybiB0aGlzLl9pbnN0YW5jZTsgfVxyXG4gIGdldCBkYXRhKCk6IGFueSB7IHJldHVybiB0aGlzLl9kYXRhJC52YWx1ZTsgfVxyXG4gIGdldCBkYXRhQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fZGF0YSQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICBnZXQgcGFyYW1zKCk6IFBhcmFtTWFwIHsgcmV0dXJuIHRoaXMuX3BhcmFtcyQudmFsdWU7IH1cclxuICBnZXQgcmVzaXplKCkgeyByZXR1cm4gdGhpcy5fcmVzaXplJC5hc09ic2VydmFibGUoKTsgfVxyXG4gIGdldCBwYXJhbXNDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9wYXJhbXMkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgZ2V0IHF1ZXJ5U3RyaW5nKCkgeyByZXR1cm4gdGhpcy5fcXVlcnlTdHJpbmc7IH1cclxuICBnZXQgcXVlcnlQYXJhbXMoKSB7IHJldHVybiB0aGlzLl9xdWVyeVBhcmFtcyQudmFsdWU7IH1cclxuICBnZXQgcXVlcnlQYXJhbXNDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9xdWVyeVBhcmFtcyQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICBnZXQgcGF0aCgpIHsgcmV0dXJuIHRoaXMuX3BhdGg7IH07XHJcbiAgZ2V0IG1vZGVDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9tb2RlJC5hc09ic2VydmFibGUoKTsgfTtcclxuICBnZXQgbW9kZSgpIHsgcmV0dXJuIHRoaXMuX21vZGUkLnZhbHVlOyB9O1xyXG4gIGdldCBwYXJlbnQoKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLnBhcmVudDsgfTtcclxuICBnZXQgc3RyZXRjaCgpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMuc3RyZXRjaDsgfTtcclxuICBzZXQgc3RyZXRjaCh2YWw6IGJvb2xlYW4pIHsgdGhpcy5fb3B0aW9ucy5zdHJldGNoID0gdmFsOyB9XHJcbiAgZ2V0IGRpYWxvZygpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMuZGlhbG9nOyB9O1xyXG4gIGdldCBkaXNtaXNzYWJsZSgpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMuZGlzbWlzc2FibGU7IH07XHJcbiAgZ2V0IHJvdXRlKCkgeyByZXR1cm4gdGhpcy5fb3B0aW9ucy5yb3V0ZTsgfTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29tcG9uZW50OiBUeXBlPGFueT4sXHJcbiAgICBtb2RlOiAndGFiJyB8ICdwYW5lJyxcclxuICAgIHByaXZhdGUgX29wdGlvbnM6IHtcclxuICAgICAgcGF0aD86IHN0cmluZztcclxuICAgICAgcm91dGU/OiBQYW5lUm91dGU7XHJcbiAgICAgIHRpdGxlPzogc3RyaW5nO1xyXG4gICAgICBncm91cD86IHN0cmluZztcclxuICAgICAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgICAgIGljb24/OiBzdHJpbmc7XHJcbiAgICAgIGFuaW1hdGlvbj86IHN0cmluZztcclxuICAgICAgaGVscD86IHN0cmluZztcclxuICAgICAgZnVsbHNjcmVlbj86IGJvb2xlYW47XHJcbiAgICAgIGRpYWxvZz86IGJvb2xlYW47XHJcbiAgICAgIHN0cmV0Y2g/OiBib29sZWFuO1xyXG4gICAgICBwYXJlbnQ/OiBQYW5lUmVmPGFueT47XHJcbiAgICAgIHF1ZXJ5U3RyaW5nPzogc3RyaW5nO1xyXG4gICAgICBkYXRhPzogUGFyYW1NYXA7XHJcbiAgICAgIHBhcmFtcz86IFBhcmFtTWFwO1xyXG4gICAgICBxdWVyeVBhcmFtcz86IFBhcmFtTWFwO1xyXG4gICAgICBleHBhbmRhYmxlPzogYm9vbGVhbixcclxuICAgICAgZGlzbWlzc2FibGU/OiBib29sZWFuXHJcbiAgICB9KSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIHBhcmFtcywgcXVlcnlQYXJhbXMsIHBhdGgsIHF1ZXJ5U3RyaW5nLCB0aXRsZSwgZ3JvdXAsIGljb24sIGhlbHAsIGd1aWRlLCBhbmltYXRpb24sIGZ1bGxzY3JlZW4sIGV4cGFuZGFibGUgfSA9IF9vcHRpb25zO1xyXG4gICAgdGhpcy5fbW9kZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG1vZGUpO1xyXG4gICAgdGhpcy5fZnVsbHNjcmVlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZ1bGxzY3JlZW4pO1xyXG4gICAgdGhpcy5fcGF0aCA9IHBhdGggfHwgJyc7XHJcbiAgICB0aGlzLnRpdGxlID0gdGl0bGU7XHJcbiAgICB0aGlzLmdyb3VwID0gZ3JvdXA7XHJcbiAgICB0aGlzLmd1aWRlID0gZ3VpZGU7XHJcbiAgICB0aGlzLmhlbHAgPSBoZWxwO1xyXG4gICAgdGhpcy5pY29uID0gaWNvbjtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gYW5pbWF0aW9uO1xyXG4gICAgdGhpcy5fcXVlcnlTdHJpbmcgPSBxdWVyeVN0cmluZztcclxuICAgIGlmIChleHBhbmRhYmxlID09PSBmYWxzZSkgdGhpcy5leHBhbmRhYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLl9kYXRhJC5uZXh0KGRhdGEpO1xyXG4gICAgcGFyYW1zICYmIHRoaXMuX3BhcmFtcyQubmV4dChwYXJhbXMpO1xyXG4gICAgcXVlcnlQYXJhbXMgJiYgdGhpcy5fcXVlcnlQYXJhbXMkLm5leHQocXVlcnlQYXJhbXMpO1xyXG4gIH1cclxuICBkZWNlbmRlbnRPZihwYW5lOiBQYW5lUmVmPGFueT4pIHtcclxuICAgIHJldHVybiB0aGlzLnBhcmVudCA9PT0gcGFuZSAvL3x8XHJcbiAgICAvLyAgKHRoaXMucGF0aCAmJiBwYW5lLnBhdGggJiYgdGhpcy5wYXRoLnN0YXJ0c1dpdGgocGFuZS5wYXRoKSk7XHJcbiAgfVxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLl9jb21tJC5uZXh0KCdyZWZyZXNoJyk7XHJcbiAgfVxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5fY29tbSQubmV4dCgnZm9jdXMnKTtcclxuICB9XHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLl9jb21tJC5uZXh0KCdjbG9zZScpO1xyXG4gIH1cclxuICBleHBhbmQoKSB7XHJcbiAgICB0aGlzLl9jb21tJC5uZXh0KCdleHBhbmQnKTtcclxuICB9XHJcbiAgX2Rlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9jb21tJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fZGF0YSQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX3BhcmFtcyQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX3Jlc2l6ZSQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX3F1ZXJ5UGFyYW1zJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fZnVsbHNjcmVlbiQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX21vZGUkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvc2xvdHMvcGFuZS1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFrQixjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXhELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxHQUFHLEVBQUUsU0FBUyxHQUFHLEdBQUcsRUFBRSxRQUFRLEdBQUcsR0FBRyxFQUFFLFNBQVMsR0FBRyxHQUFHLENBQUM7QUFFaEYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFjLE9BQU8sQ0FBQyxDQUFDO0FBRW5FLE1BQU0sT0FBZ0IsY0FBYztJQUUzQixjQUFjO1FBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQUNELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxjQUFjO0NBQ3JEO0FBQ0QsTUFBTSxPQUFPLGNBQWUsU0FBUSxjQUFjO0NBQ2pEO0FBQ0QsTUFBTSxPQUFnQixrQkFBbUIsU0FBUSxjQUFjO0lBQzdELFlBQW9CLEtBQW1CO1FBQ3JDLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBYztJQUV2QyxDQUFDO0lBQ0QsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQUNELE1BQU0sT0FBTyxlQUFnQixTQUFRLGtCQUFrQjtDQUN0RDtBQUNELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxrQkFBa0I7Q0FDekQ7QUFDRCxNQUFNLE9BQU8sYUFBYyxTQUFRLGtCQUFrQjtDQUNwRDtBQUNELE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBQ3BELFlB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SSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBOURELElBQVcsUUFBUSxLQUFlLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsSUFBVyxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNwRCxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUNsRyxJQUFJLFFBQVEsS0FBUSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzVDLElBQUksSUFBSSxLQUFVLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdDLElBQUksVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkQsSUFBSSxNQUFNLEtBQWUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEQsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixJQUFJLFlBQVksS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNELElBQUksV0FBVyxLQUFLLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDL0MsSUFBSSxXQUFXLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEQsSUFBSSxpQkFBaUIsS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLElBQUksTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckQsSUFBSSxPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckYsSUFBSSxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3hGLElBQUksZ0JBQWdCLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRyxJQUFJLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUNsQyxJQUFJLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUNsQyxJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDOUMsSUFBSSxPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDeEMsSUFBSSxPQUFPLENBQUMsR0FBWSxJQUFJLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRCxJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDOUMsSUFBSSxXQUFXLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3hELElBQUksS0FBSyxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQXdDNUMsV0FBVyxDQUFDLElBQWtCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUEsQ0FBQyxJQUFJO1FBQ2hDLGdFQUFnRTtJQUNsRSxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsTUFBTTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7IFR5cGUsIEluamVjdG9yLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgZmlsdGVyIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgUGFyYW1NYXAsIFBhbmVSb3V0ZSwgT3BlblBvbGljeSB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7IERpbWVudGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgUVVFUllfQ0hBUiA9ICc6JywgUEFUSF9DSEFSID0gJzsnLCBBUkdfQ0hBUiA9ICcmJywgUEFORV9DSEFSID0gJ34nO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBBTkVTX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48UGFuZVJvdXRlW10+KCdwYW5lcycpO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5hdmlnYXRpb25CYXNlIHtcclxuICBfcHJldmVudERlZmF1bHQ6IGJvb2xlYW47XHJcbiAgcHVibGljIHByZXZlbnREZWZhdWx0KCkge1xyXG4gICAgdGhpcy5fcHJldmVudERlZmF1bHQgPSB0cnVlO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgQ29sbGFwc2VOYXZpZ2F0aW9uIGV4dGVuZHMgTmF2aWdhdGlvbkJhc2Uge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBCYWNrTmF2aWdhdGlvbiBleHRlbmRzIE5hdmlnYXRpb25CYXNlIHtcclxufVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmF2aWdhdGlvblBhbmVCYXNlIGV4dGVuZHMgTmF2aWdhdGlvbkJhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8YW55Pikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbiAgcHVibGljIGdldCBwYW5lKCk6IFBhbmVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGFuZTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25TdGFydCBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbn1cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25TZWxlY3RlZCBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbn1cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25FbmQgZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2Uge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uTW9kZSBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG1vZGU6IFBhbmVNb2RlLCBwYW5lOiBQYW5lUmVmPGFueT4pIHtcclxuICAgIHN1cGVyKHBhbmUpO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkZ1bGxzY3JlZW4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBmdWxsc2NyZWVuOiBib29sZWFuLCBwYW5lOiBQYW5lUmVmPGFueT4pIHtcclxuICAgIHN1cGVyKHBhbmUpO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblJlc2l6ZSBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGRpbWVudGlvbnM6IERpbWVudGlvbnMsIHBhbmU6IFBhbmVSZWY8YW55Pikge1xyXG4gICAgc3VwZXIocGFuZSk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uQ2xvc2UgZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2Uge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBQYXJhbU5hdmlnYXRpb24gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBwYXJhbXM6IFBhcmFtTWFwLCBwYW5lOiBQYW5lUmVmPGFueT4pIHtcclxuICAgIHN1cGVyKHBhbmUpO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgUXVlcnlQYXJhbU5hdmlnYXRpb24gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBxdWVyeVBhcmFtczogUGFyYW1NYXAsIHBhbmU6IFBhbmVSZWY8YW55Pikge1xyXG4gICAgc3VwZXIocGFuZSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQYW5lTW9kZSA9ICd0YWInIHwgJ3BhbmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYW5lT3B0aW9ucyB7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgaGVscD86IHN0cmluZztcclxuICBzdGF0ZT86IHsgW25hbWU6IHN0cmluZ106IGFueSB9O1xyXG4gIG9wZW5Qb2xpY3k/OiBPcGVuUG9saWN5O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDYWxsYmFja0Z1bmN0aW9uID0gJ2V4cGFuZCcgfCAnZm9jdXMnIHwgJ2Nsb3NlJyB8ICdyZWZyZXNoJztcclxuXHJcbmV4cG9ydCBjbGFzcyBQYW5lUmVmPFQgPSBhbnk+IHtcclxuICByZWFkb25seSBfY29tbSQgPSBuZXcgU3ViamVjdDxDYWxsYmFja0Z1bmN0aW9uPigpO1xyXG4gIC8qKiAqL1xyXG4gIHJlYWRvbmx5IF9kYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFyYW1NYXA+KHt9KTtcclxuICByZWFkb25seSBfcGFyYW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFyYW1NYXA+KHt9KTtcclxuICByZWFkb25seSBfcXVlcnlQYXJhbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbU1hcD4oe30pO1xyXG4gIHJlYWRvbmx5IF9ldmVudHMkID0gbmV3IFN1YmplY3Q8TmF2aWdhdGlvbkJhc2U+KCk7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIHBpbm5lZDogYm9vbGVhbjtcclxuICBiYWRnZT86IG51bWJlcjtcclxuICBhbmltYXRpb246IHN0cmluZztcclxuICBncm91cDogc3RyaW5nO1xyXG4gIGhlbHA6IHN0cmluZztcclxuICBleHBhbmRhYmxlID0gdHJ1ZTtcclxuICBfZnVsbHNjcmVlbjogYm9vbGVhbjtcclxuICBfaW5zdGFuY2U6IFQ7XHJcbiAgX3BhdGg6IHN0cmluZztcclxuICBfcXVlcnlTdHJpbmc6IHN0cmluZztcclxuICBfaW5qZWN0b3I6IEluamVjdG9yO1xyXG4gIF9wb3J0YWw6IENvbXBvbmVudFBvcnRhbDxUPjtcclxuICBfbW9kZTogUGFuZU1vZGU7XHJcbiAgX3N0cmV0Y2g6IGJvb2xlYW47XHJcbiAgcHVibGljIGdldCBpbmplY3RvcigpOiBJbmplY3RvciB7IHJldHVybiB0aGlzLl9pbmplY3RvcjsgfVxyXG4gIHB1YmxpYyBnZXQgZnVsbHNjcmVlbigpIHsgcmV0dXJuIHRoaXMuX2Z1bGxzY3JlZW47IH1cclxuICBnZXQgZnVsbFBhdGgoKSB7IHJldHVybiB0aGlzLl9wYXRoICsgKHRoaXMuX3F1ZXJ5U3RyaW5nID8gKFFVRVJZX0NIQVIgKyB0aGlzLl9xdWVyeVN0cmluZykgOiAnJykgfVxyXG4gIGdldCBpbnN0YW5jZSgpOiBUIHsgcmV0dXJuIHRoaXMuX2luc3RhbmNlOyB9XHJcbiAgZ2V0IGRhdGEoKTogYW55IHsgcmV0dXJuIHRoaXMuX2RhdGEkLnZhbHVlOyB9XHJcbiAgZ2V0IGRhdGFDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9kYXRhJC5hc09ic2VydmFibGUoKTsgfVxyXG4gIGdldCBwYXJhbXMoKTogUGFyYW1NYXAgeyByZXR1cm4gdGhpcy5fcGFyYW1zJC52YWx1ZTsgfVxyXG4gIGdldCByZXNpemUoKSB7IHJldHVybiB0aGlzLmV2ZW50cy5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uUmVzaXplKSk7IH1cclxuICBnZXQgcGFyYW1zQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fcGFyYW1zJC5hc09ic2VydmFibGUoKTsgfVxyXG4gIGdldCBxdWVyeVN0cmluZygpIHsgcmV0dXJuIHRoaXMuX3F1ZXJ5U3RyaW5nOyB9XHJcbiAgZ2V0IHF1ZXJ5UGFyYW1zKCkgeyByZXR1cm4gdGhpcy5fcXVlcnlQYXJhbXMkLnZhbHVlOyB9XHJcbiAgZ2V0IHF1ZXJ5UGFyYW1zQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fcXVlcnlQYXJhbXMkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgZ2V0IGV2ZW50cygpIHsgcmV0dXJuIHRoaXMuX2V2ZW50cyQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICBnZXQgY2xvc2luZygpIHsgcmV0dXJuIHRoaXMuZXZlbnRzLnBpcGUoZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25DbG9zZSkpOyB9XHJcbiAgZ2V0IG1vZGVDaGFuZ2UoKSB7IHJldHVybiB0aGlzLmV2ZW50cy5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uTW9kZSkpOyB9O1xyXG4gIGdldCBmdWxsc2NyZWVuQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5ldmVudHMucGlwZShmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkZ1bGxzY3JlZW4pKTsgfVxyXG4gIGdldCBwYXRoKCkgeyByZXR1cm4gdGhpcy5fcGF0aDsgfTtcclxuICBnZXQgbW9kZSgpIHsgcmV0dXJuIHRoaXMuX21vZGU7IH07XHJcbiAgZ2V0IHBhcmVudCgpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMucGFyZW50OyB9O1xyXG4gIGdldCBzdHJldGNoKCkgeyByZXR1cm4gdGhpcy5fc3RyZXRjaDsgfTtcclxuICBzZXQgc3RyZXRjaCh2YWw6IGJvb2xlYW4pIHsgdGhpcy5fc3RyZXRjaCA9IHZhbDsgfVxyXG4gIGdldCBkaWFsb2coKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLmRpYWxvZzsgfTtcclxuICBnZXQgZGlzbWlzc2FibGUoKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLmRpc21pc3NhYmxlOyB9O1xyXG4gIGdldCByb3V0ZSgpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMucm91dGU7IH07XHJcbiAgY29uc3RydWN0b3IocHVibGljIGNvbXBvbmVudDogVHlwZTxhbnk+LFxyXG4gICAgbW9kZTogUGFuZU1vZGUsXHJcbiAgICBwcml2YXRlIF9vcHRpb25zOiB7XHJcbiAgICAgIHBhdGg/OiBzdHJpbmc7XHJcbiAgICAgIHJvdXRlPzogUGFuZVJvdXRlO1xyXG4gICAgICB0aXRsZT86IHN0cmluZztcclxuICAgICAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgICAgIGd1aWRlPzogc3RyaW5nO1xyXG4gICAgICBpY29uPzogc3RyaW5nO1xyXG4gICAgICBhbmltYXRpb24/OiBzdHJpbmc7XHJcbiAgICAgIGhlbHA/OiBzdHJpbmc7XHJcbiAgICAgIGZ1bGxzY3JlZW4/OiBib29sZWFuO1xyXG4gICAgICBkaWFsb2c/OiBib29sZWFuO1xyXG4gICAgICBzdHJldGNoPzogYm9vbGVhbjtcclxuICAgICAgcGFyZW50PzogUGFuZVJlZjxhbnk+O1xyXG4gICAgICBxdWVyeVN0cmluZz86IHN0cmluZztcclxuICAgICAgZGF0YT86IFBhcmFtTWFwO1xyXG4gICAgICBwYXJhbXM/OiBQYXJhbU1hcDtcclxuICAgICAgcXVlcnlQYXJhbXM/OiBQYXJhbU1hcDtcclxuICAgICAgZXhwYW5kYWJsZT86IGJvb2xlYW4sXHJcbiAgICAgIGRpc21pc3NhYmxlPzogYm9vbGVhblxyXG4gICAgfSkge1xyXG4gICAgY29uc3QgeyBzdHJldGNoLCBkYXRhLCBwYXJhbXMsIHF1ZXJ5UGFyYW1zLCBwYXRoLCBxdWVyeVN0cmluZywgdGl0bGUsIGdyb3VwLCBpY29uLCBoZWxwLCBndWlkZSwgYW5pbWF0aW9uLCBmdWxsc2NyZWVuLCBleHBhbmRhYmxlIH0gPSBfb3B0aW9ucztcclxuICAgIHRoaXMuX3BhdGggPSBwYXRoIHx8ICcnO1xyXG4gICAgdGhpcy5fbW9kZSA9IG1vZGU7XHJcbiAgICB0aGlzLl9zdHJldGNoID0gc3RyZXRjaDtcclxuICAgIHRoaXMuX2Z1bGxzY3JlZW4gPSBmdWxsc2NyZWVuO1xyXG4gICAgdGhpcy50aXRsZSA9IHRpdGxlO1xyXG4gICAgdGhpcy5ncm91cCA9IGdyb3VwO1xyXG4gICAgdGhpcy5ndWlkZSA9IGd1aWRlO1xyXG4gICAgdGhpcy5oZWxwID0gaGVscDtcclxuICAgIHRoaXMuaWNvbiA9IGljb247XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IGFuaW1hdGlvbjtcclxuICAgIHRoaXMuX3F1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmc7XHJcbiAgICBpZiAoZXhwYW5kYWJsZSA9PT0gZmFsc2UpIHRoaXMuZXhwYW5kYWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5fZGF0YSQubmV4dChkYXRhKTtcclxuICAgIHBhcmFtcyAmJiB0aGlzLl9wYXJhbXMkLm5leHQocGFyYW1zKTtcclxuICAgIHF1ZXJ5UGFyYW1zICYmIHRoaXMuX3F1ZXJ5UGFyYW1zJC5uZXh0KHF1ZXJ5UGFyYW1zKTtcclxuICB9XHJcbiAgZGVjZW5kZW50T2YocGFuZTogUGFuZVJlZjxhbnk+KSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQgPT09IHBhbmUgLy98fFxyXG4gICAgLy8gICh0aGlzLnBhdGggJiYgcGFuZS5wYXRoICYmIHRoaXMucGF0aC5zdGFydHNXaXRoKHBhbmUucGF0aCkpO1xyXG4gIH1cclxuICByZWZyZXNoKCkge1xyXG4gICAgdGhpcy5fY29tbSQubmV4dCgncmVmcmVzaCcpO1xyXG4gIH1cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMuX2NvbW0kLm5leHQoJ2ZvY3VzJyk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5fY29tbSQubmV4dCgnY2xvc2UnKTtcclxuICB9XHJcbiAgZXhwYW5kKCkge1xyXG4gICAgdGhpcy5fY29tbSQubmV4dCgnZXhwYW5kJyk7XHJcbiAgfVxyXG4gIF9kZXN0cm95KCkge1xyXG4gICAgdGhpcy5fY29tbSQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX2RhdGEkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9wYXJhbXMkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9xdWVyeVBhcmFtcyQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX2V2ZW50cyQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19
|