@rocketshow/designer 1.36.0 → 1.38.0
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/i18n/de.json +11 -8
- package/assets/i18n/en.json +11 -8
- package/esm2022/lib/designer.component.mjs +10 -10
- package/esm2022/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.mjs +181 -33
- package/esm2022/lib/fixture/fixture-capability/fixture-capability.component.mjs +30 -8
- package/esm2022/lib/models/fixture-capability.mjs +47 -4
- package/esm2022/lib/preview/models/color-changer-3d.mjs +15 -27
- package/esm2022/lib/preview/models/fixture-3d.mjs +91 -105
- package/esm2022/lib/preview/models/moving-head-3d.mjs +32 -41
- package/esm2022/lib/preview/preview.component.mjs +4 -4
- package/esm2022/lib/services/fixture.service.mjs +1 -1
- package/esm2022/lib/services/preset.service.mjs +3 -3
- package/esm2022/lib/services/preview.service.mjs +19 -3
- package/esm2022/lib/user/user-register/user-register.component.mjs +3 -3
- package/fesm2022/rocketshow-designer.mjs +422 -229
- package/fesm2022/rocketshow-designer.mjs.map +1 -1
- package/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.d.ts +9 -2
- package/lib/fixture/fixture-capability/fixture-capability.component.d.ts +5 -1
- package/lib/models/fixture-capability.d.ts +47 -4
- package/lib/preview/models/color-changer-3d.d.ts +4 -5
- package/lib/preview/models/fixture-3d.d.ts +17 -16
- package/lib/preview/models/moving-head-3d.d.ts +4 -5
- package/lib/services/preview.service.d.ts +5 -1
- package/package.json +1 -1
- package/rocketshow-designer-1.38.0.tgz +0 -0
- package/rocketshow-designer-1.36.0.tgz +0 -0
|
@@ -95,7 +95,7 @@ export class UserRegisterComponent {
|
|
|
95
95
|
static { this.ɵfac = function UserRegisterComponent_Factory(t) { return new (t || UserRegisterComponent)(i0.ɵɵdirectiveInject(i1.BsModalRef), i0.ɵɵdirectiveInject(i1.BsModalService), i0.ɵɵdirectiveInject(i2.UserService)); }; }
|
|
96
96
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserRegisterComponent, selectors: [["lib-user-register"]], hostBindings: function UserRegisterComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
97
97
|
i0.ɵɵlistener("keydown.enter", function UserRegisterComponent_keydown_enter_HostBindingHandler($event) { return ctx.handleKeyboardEvent($event); }, false, i0.ɵɵresolveDocument);
|
|
98
|
-
} }, decls: 65, vars: 42, consts: [[3, "ngSubmit"], [1, "modal-header"], [1, "modal-title", "pull-left"], ["type", "button", "aria-label", "Close", 1, "close", "pull-right", 3, "click"], ["aria-hidden", "true"], [1, "modal-body"], ["class", "alert alert-success", "role", "alert", 4, "ngIf"], [1, "form-group", "row"], ["for", "username", 1, "col-sm-4", "col-form-label"], [1, "col-sm-8"], [1, "input-group"], [1, "input-group-prepend"], [1, "input-group-text"], ["aria-hidden", "true", 1, "fa", "fa-fw", "fa-user"], ["required", "", "name", "username", "type", "text", "id", "username", "placeholder", "
|
|
98
|
+
} }, decls: 65, vars: 42, consts: [[3, "ngSubmit"], [1, "modal-header"], [1, "modal-title", "pull-left"], ["type", "button", "aria-label", "Close", 1, "close", "pull-right", 3, "click"], ["aria-hidden", "true"], [1, "modal-body"], ["class", "alert alert-success", "role", "alert", 4, "ngIf"], [1, "form-group", "row"], ["for", "username", 1, "col-sm-4", "col-form-label"], [1, "col-sm-8"], [1, "input-group"], [1, "input-group-prepend"], [1, "input-group-text"], ["aria-hidden", "true", 1, "fa", "fa-fw", "fa-user"], ["required", "", "name", "username", "type", "text", "id", "username", "placeholder", "John Doe", 1, "form-control", 3, "ngModelChange", "disabled", "ngModel"], ["for", "email", 1, "col-sm-4", "col-form-label"], ["aria-hidden", "true", 1, "fa", "fa-fw", "fa-envelope-o"], ["required", "", "name", "email", "type", "email", "id", "email", "placeholder", "email@example.com", 1, "form-control", 3, "ngModelChange", "disabled", "ngModel"], ["for", "password", 1, "col-sm-4", "col-form-label"], ["aria-hidden", "true", 1, "fa", "fa-fw", "fa-lock"], ["required", "", "name", "password", "type", "password", "id", "password", 1, "form-control", 3, "ngModelChange", "disabled", "ngModel", "placeholder"], ["for", "passwordRepeat", 1, "col-sm-4", "col-form-label"], ["required", "", "name", "passwordRepeat", "type", "password", "id", "passwordRepeat", 1, "form-control", 3, "ngModelChange", "disabled", "ngModel", "placeholder"], ["class", "alert alert-primary", "role", "alert", 4, "ngIf"], ["href", "#", 3, "click"], [1, "mt-3", "mb-0", 2, "text-align", "center"], [1, "modal-footer"], ["href", "#", "role", "button", 1, "mr-3", "my-auto", 3, "click"], ["type", "submit", 1, "btn", "btn-primary", 3, "disabled"], ["class", "fa fa-spinner fa-pulse fa-fw", 4, "ngIf"], ["role", "alert", 1, "alert", "alert-success"], ["role", "alert", 1, "alert", "alert-primary"], [1, "fa", "fa-spinner", "fa-pulse", "fa-fw"]], template: function UserRegisterComponent_Template(rf, ctx) { if (rf & 1) {
|
|
99
99
|
i0.ɵɵelementStart(0, "form", 0);
|
|
100
100
|
i0.ɵɵlistener("ngSubmit", function UserRegisterComponent_Template_form_ngSubmit_0_listener() { return ctx.register(); });
|
|
101
101
|
i0.ɵɵelementStart(1, "div", 1)(2, "h4", 2);
|
|
@@ -211,10 +211,10 @@ export class UserRegisterComponent {
|
|
|
211
211
|
}
|
|
212
212
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserRegisterComponent, [{
|
|
213
213
|
type: Component,
|
|
214
|
-
args: [{ selector: 'lib-user-register', template: "<form (ngSubmit)=\"register()\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{ 'designer.user.register-title' | translate }}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"cancel(); (false)\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div *ngIf=\"subject\" class=\"alert alert-success\" role=\"alert\">\n {{ 'designer.user.login-required' | translate }}\n </div>\n <div class=\"form-group row\">\n <label for=\"username\" class=\"col-sm-4 col-form-label\">{{ 'designer.user.username' | translate }}</label>\n <div class=\"col-sm-8\">\n <div class=\"input-group\">\n <div class=\"input-group-prepend\">\n <div class=\"input-group-text\"><i class=\"fa fa-fw fa-user\" aria-hidden=\"true\"></i></div>\n </div>\n <input\n required\n [disabled]=\"registering\"\n name=\"username\"\n [(ngModel)]=\"username\"\n type=\"text\"\n class=\"form-control\"\n id=\"username\"\n placeholder=\"
|
|
214
|
+
args: [{ selector: 'lib-user-register', template: "<form (ngSubmit)=\"register()\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{ 'designer.user.register-title' | translate }}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"cancel(); (false)\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div *ngIf=\"subject\" class=\"alert alert-success\" role=\"alert\">\n {{ 'designer.user.login-required' | translate }}\n </div>\n <div class=\"form-group row\">\n <label for=\"username\" class=\"col-sm-4 col-form-label\">{{ 'designer.user.username' | translate }}</label>\n <div class=\"col-sm-8\">\n <div class=\"input-group\">\n <div class=\"input-group-prepend\">\n <div class=\"input-group-text\"><i class=\"fa fa-fw fa-user\" aria-hidden=\"true\"></i></div>\n </div>\n <input\n required\n [disabled]=\"registering\"\n name=\"username\"\n [(ngModel)]=\"username\"\n type=\"text\"\n class=\"form-control\"\n id=\"username\"\n placeholder=\"John Doe\"\n />\n </div>\n </div>\n </div>\n <div class=\"form-group row\">\n <label for=\"email\" class=\"col-sm-4 col-form-label\">{{ 'designer.user.email' | translate }}</label>\n <div class=\"col-sm-8\">\n <div class=\"input-group\">\n <div class=\"input-group-prepend\">\n <div class=\"input-group-text\"><i class=\"fa fa-fw fa-envelope-o\" aria-hidden=\"true\"></i></div>\n </div>\n <input\n required\n [disabled]=\"registering\"\n name=\"email\"\n [(ngModel)]=\"email\"\n type=\"email\"\n class=\"form-control\"\n id=\"email\"\n placeholder=\"email@example.com\"\n />\n </div>\n </div>\n </div>\n <div class=\"form-group row\">\n <label for=\"password\" class=\"col-sm-4 col-form-label\">{{ 'designer.user.password' | translate }}</label>\n <div class=\"col-sm-8\">\n <div class=\"input-group\">\n <div class=\"input-group-prepend\">\n <div class=\"input-group-text\"><i class=\"fa fa-fw fa-lock\" aria-hidden=\"true\"></i></div>\n </div>\n <input\n required\n [disabled]=\"registering\"\n name=\"password\"\n [(ngModel)]=\"password\"\n type=\"password\"\n class=\"form-control\"\n id=\"password\"\n placeholder=\"{{ 'designer.user.password' | translate }}\"\n />\n </div>\n </div>\n </div>\n <div class=\"form-group row\">\n <label for=\"passwordRepeat\" class=\"col-sm-4 col-form-label\">{{ 'designer.user.password-repeat' | translate }}</label>\n <div class=\"col-sm-8\">\n <div class=\"input-group\">\n <div class=\"input-group-prepend\">\n <div class=\"input-group-text\"><i class=\"fa fa-fw fa-lock\" aria-hidden=\"true\"></i></div>\n </div>\n <input\n required\n [disabled]=\"registering\"\n name=\"passwordRepeat\"\n [(ngModel)]=\"passwordRepeat\"\n type=\"password\"\n class=\"form-control\"\n id=\"passwordRepeat\"\n placeholder=\"{{ 'designer.user.password' | translate }}\"\n />\n </div>\n </div>\n </div>\n <div *ngIf=\"error\" class=\"alert alert-primary\" role=\"alert\">\n {{ 'designer.user.error.' + error | translate }}\n </div>\n <a href=\"#\" (click)=\"login(); (false)\">\n <p class=\"mt-3 mb-0\" style=\"text-align: center\">{{ 'designer.user.already-have-account' | translate }}</p>\n </a>\n </div>\n <div class=\"modal-footer\">\n <a class=\"mr-3 my-auto\" href=\"#\" role=\"button\" (click)=\"cancel(); (false)\">\n {{ 'designer.misc.cancel' | translate }}\n </a>\n <button [disabled]=\"registering\" type=\"submit\" class=\"btn btn-primary\">\n <i *ngIf=\"registering\" class=\"fa fa-spinner fa-pulse fa-fw\"> </i>{{ 'designer.user.register' | translate }}\n </button>\n </div>\n</form>\n" }]
|
|
215
215
|
}], () => [{ type: i1.BsModalRef }, { type: i1.BsModalService }, { type: i2.UserService }], { handleKeyboardEvent: [{
|
|
216
216
|
type: HostListener,
|
|
217
217
|
args: ['document:keydown.enter', ['$event']]
|
|
218
218
|
}] }); })();
|
|
219
219
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserRegisterComponent, { className: "UserRegisterComponent" }); })();
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZWdpc3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL3VzZXIvdXNlci1yZWdpc3Rlci91c2VyLXJlZ2lzdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvdXNlci91c2VyLXJlZ2lzdGVyL3VzZXItcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7O0lDSXBFLCtCQUE4RDtJQUM1RCxZQUNGOztJQUFBLGlCQUFNOztJQURKLGNBQ0Y7SUFERSxxRkFDRjs7O0lBaUZBLCtCQUE0RDtJQUMxRCxZQUNGOztJQUFBLGlCQUFNOzs7SUFESixjQUNGO0lBREUsNEZBQ0Y7OztJQVVFLHdCQUFpRTs7QUQ1RnZFLE1BQU0sT0FBTyxxQkFBcUI7SUFZaEMsWUFBb0IsVUFBc0IsRUFBVSxZQUE0QixFQUFVLFdBQXdCO1FBQTlGLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVhsSCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsbUJBQWMs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Qyx3QkFBd0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7a0ZBeEV2QyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc01vZGFsUmVmLCBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckxvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi4vdXNlci1sb2dpbi91c2VyLWxvZ2luLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi11c2VyLXJlZ2lzdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91c2VyLXJlZ2lzdGVyLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVXNlclJlZ2lzdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZXJyb3IgPSAnJztcbiAgcmVnaXN0ZXJpbmcgPSBmYWxzZTtcblxuICB1c2VybmFtZSA9ICcnO1xuICBlbWFpbCA9ICcnO1xuICBwYXNzd29yZCA9ICcnO1xuICBwYXNzd29yZFJlcGVhdCA9ICcnO1xuXG4gIC8vIGVtaXRzLCB3aGVuIGxvZ2dlZCBpblxuICBzdWJqZWN0OiBTdWJqZWN0PHZvaWQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYnNNb2RhbFJlZjogQnNNb2RhbFJlZiwgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlLCBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuYnNNb2RhbFJlZi5oaWRlKCk7XG4gIH1cblxuICBsb2dpbigpIHtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLnNob3coVXNlckxvZ2luQ29tcG9uZW50LCB7IGtleWJvYXJkOiB0cnVlLCBpZ25vcmVCYWNrZHJvcENsaWNrOiBmYWxzZSwgaW5pdGlhbFN0YXRlOiB7IHN1YmplY3Q6IHRoaXMuc3ViamVjdCB9IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWFpbElzVmFsaWQoZW1haWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbiAgICBjb25zdCByZSA9IC9eKChbXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcXSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC87XG4gICAgcmV0dXJuIHJlLnRlc3QoU3RyaW5nKGVtYWlsKS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIHJlZ2lzdGVyKCkge1xuICAgIHRoaXMucmVnaXN0ZXJpbmcgPSB0cnVlO1xuICAgIHRoaXMuZXJyb3IgPSAnJztcblxuICAgIGlmICghdGhpcy51c2VybmFtZSB8fCAhdGhpcy5lbWFpbCB8fCAhdGhpcy5wYXNzd29yZCB8fCAhdGhpcy5wYXNzd29yZFJlcGVhdCkge1xuICAgICAgdGhpcy5lcnJvciA9ICdmaWxsLWFsbC1maWVsZHMnO1xuICAgICAgdGhpcy5yZWdpc3RlcmluZyA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5lbWFpbElzVmFsaWQodGhpcy5lbWFpbCkpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSAnZW1haWwtdmFsaWQnO1xuICAgICAgdGhpcy5yZWdpc3RlcmluZyA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnBhc3N3b3JkICE9PSB0aGlzLnBhc3N3b3JkUmVwZWF0KSB7XG4gICAgICB0aGlzLmVycm9yID0gJ3Bhc3N3b3JkLW1pc21hdGNoJztcbiAgICAgIHRoaXMucmVnaXN0ZXJpbmcgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnJlZ2lzdGVyKHRoaXMuZW1haWwsIHRoaXMudXNlcm5hbWUsIHRoaXMucGFzc3dvcmQpLnN1YnNjcmliZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgLy8gYXV0b21hdGljYWxseSBsb2dpbiBhZnRlciByZWdpc3RlcmluZ1xuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmxvZ2luKHRoaXMuZW1haWwsIHRoaXMucGFzc3dvcmQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWdpc3RlcmluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuYnNNb2RhbFJlZi5oaWRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3IgJiYgcmVzcG9uc2UuZXJyb3IuZXJyb3IpIHtcbiAgICAgICAgICB0aGlzLmVycm9yID0gcmVzcG9uc2UuZXJyb3IuZXJyb3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lcnJvciA9ICdpbnRlcm5hbCc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZWdpc3RlcmluZyA9IGZhbHNlO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogYW55KSB7XG4gICAgdGhpcy5yZWdpc3RlcigpO1xuICB9XG59XG4iLCI8Zm9ybSAobmdTdWJtaXQpPVwicmVnaXN0ZXIoKVwiPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+e3sgJ2Rlc2lnbmVyLnVzZXIucmVnaXN0ZXItdGl0bGUnIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsb3NlIHB1bGwtcmlnaHRcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAoY2xpY2spPVwiY2FuY2VsKCk7IChmYWxzZSlcIj5cbiAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgIDxkaXYgKm5nSWY9XCJzdWJqZWN0XCIgY2xhc3M9XCJhbGVydCBhbGVydC1zdWNjZXNzXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICB7eyAnZGVzaWduZXIudXNlci5sb2dpbi1yZXF1aXJlZCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJ1c2VybmFtZVwiIGNsYXNzPVwiY29sLXNtLTQgY29sLWZvcm0tbGFiZWxcIj57eyAnZGVzaWduZXIudXNlci51c2VybmFtZScgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS04XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPjxpIGNsYXNzPVwiZmEgZmEtZncgZmEtdXNlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVnaXN0ZXJpbmdcIlxuICAgICAgICAgICAgbmFtZT1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwidXNlcm5hbWVcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgaWQ9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlRoZSBDb29sIEd1eVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJlbWFpbFwiIGNsYXNzPVwiY29sLXNtLTQgY29sLWZvcm0tbGFiZWxcIj57eyAnZGVzaWduZXIudXNlci5lbWFpbCcgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS04XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPjxpIGNsYXNzPVwiZmEgZmEtZncgZmEtZW52ZWxvcGUtb1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVnaXN0ZXJpbmdcIlxuICAgICAgICAgICAgbmFtZT1cImVtYWlsXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW1haWxcIlxuICAgICAgICAgICAgdHlwZT1cImVtYWlsXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGlkPVwiZW1haWxcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlbWFpbEBleGFtcGxlLmNvbVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJwYXNzd29yZFwiIGNsYXNzPVwiY29sLXNtLTQgY29sLWZvcm0tbGFiZWxcIj57eyAnZGVzaWduZXIudXNlci5wYXNzd29yZCcgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS04XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPjxpIGNsYXNzPVwiZmEgZmEtZncgZmEtbG9ja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVnaXN0ZXJpbmdcIlxuICAgICAgICAgICAgbmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGlkPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnZGVzaWduZXIudXNlci5wYXNzd29yZCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgICA8bGFiZWwgZm9yPVwicGFzc3dvcmRSZXBlYXRcIiBjbGFzcz1cImNvbC1zbS00IGNvbC1mb3JtLWxhYmVsXCI+e3sgJ2Rlc2lnbmVyLnVzZXIucGFzc3dvcmQtcmVwZWF0JyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLThcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCI+PGkgY2xhc3M9XCJmYSBmYS1mdyBmYS1sb2NrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWdpc3RlcmluZ1wiXG4gICAgICAgICAgICBuYW1lPVwicGFzc3dvcmRSZXBlYXRcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwYXNzd29yZFJlcGVhdFwiXG4gICAgICAgICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgaWQ9XCJwYXNzd29yZFJlcGVhdFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdkZXNpZ25lci51c2VyLnBhc3N3b3JkJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImFsZXJ0IGFsZXJ0LXByaW1hcnlcIiByb2xlPVwiYWxlcnRcIj5cbiAgICAgIHt7ICdkZXNpZ25lci51c2VyLmVycm9yLicgKyBlcnJvciB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvZGl2PlxuICAgIDxhIGhyZWY9XCIjXCIgKGNsaWNrKT1cImxvZ2luKCk7IChmYWxzZSlcIj5cbiAgICAgIDxwIGNsYXNzPVwibXQtMyBtYi0wXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj57eyAnZGVzaWduZXIudXNlci5hbHJlYWR5LWhhdmUtYWNjb3VudCcgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgPC9hPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxuICAgIDxhIGNsYXNzPVwibXItMyBteS1hdXRvXCIgaHJlZj1cIiNcIiByb2xlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbCgpOyAoZmFsc2UpXCI+XG4gICAgICB7eyAnZGVzaWduZXIubWlzYy5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9hPlxuICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInJlZ2lzdGVyaW5nXCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XG4gICAgICA8aSAqbmdJZj1cInJlZ2lzdGVyaW5nXCIgY2xhc3M9XCJmYSBmYS1zcGlubmVyIGZhLXB1bHNlIGZhLWZ3XCI+IDwvaT57eyAnZGVzaWduZXIudXNlci5yZWdpc3RlcicgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZWdpc3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL3VzZXIvdXNlci1yZWdpc3Rlci91c2VyLXJlZ2lzdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvdXNlci91c2VyLXJlZ2lzdGVyL3VzZXItcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7O0lDSXBFLCtCQUE4RDtJQUM1RCxZQUNGOztJQUFBLGlCQUFNOztJQURKLGNBQ0Y7SUFERSxxRkFDRjs7O0lBaUZBLCtCQUE0RDtJQUMxRCxZQUNGOztJQUFBLGlCQUFNOzs7SUFESixjQUNGO0lBREUsNEZBQ0Y7OztJQVVFLHdCQUFpRTs7QUQ1RnZFLE1BQU0sT0FBTyxxQkFBcUI7SUFZaEMsWUFBb0IsVUFBc0IsRUFBVSxZQUE0QixFQUFVLFdBQXdCO1FBQTlGLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVhsSCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsbUJBQWMs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Qyx3QkFBd0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7a0ZBeEV2QyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc01vZGFsUmVmLCBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckxvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi4vdXNlci1sb2dpbi91c2VyLWxvZ2luLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi11c2VyLXJlZ2lzdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91c2VyLXJlZ2lzdGVyLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVXNlclJlZ2lzdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZXJyb3IgPSAnJztcbiAgcmVnaXN0ZXJpbmcgPSBmYWxzZTtcblxuICB1c2VybmFtZSA9ICcnO1xuICBlbWFpbCA9ICcnO1xuICBwYXNzd29yZCA9ICcnO1xuICBwYXNzd29yZFJlcGVhdCA9ICcnO1xuXG4gIC8vIGVtaXRzLCB3aGVuIGxvZ2dlZCBpblxuICBzdWJqZWN0OiBTdWJqZWN0PHZvaWQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYnNNb2RhbFJlZjogQnNNb2RhbFJlZiwgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlLCBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuYnNNb2RhbFJlZi5oaWRlKCk7XG4gIH1cblxuICBsb2dpbigpIHtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLnNob3coVXNlckxvZ2luQ29tcG9uZW50LCB7IGtleWJvYXJkOiB0cnVlLCBpZ25vcmVCYWNrZHJvcENsaWNrOiBmYWxzZSwgaW5pdGlhbFN0YXRlOiB7IHN1YmplY3Q6IHRoaXMuc3ViamVjdCB9IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWFpbElzVmFsaWQoZW1haWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbiAgICBjb25zdCByZSA9IC9eKChbXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcXSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC87XG4gICAgcmV0dXJuIHJlLnRlc3QoU3RyaW5nKGVtYWlsKS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIHJlZ2lzdGVyKCkge1xuICAgIHRoaXMucmVnaXN0ZXJpbmcgPSB0cnVlO1xuICAgIHRoaXMuZXJyb3IgPSAnJztcblxuICAgIGlmICghdGhpcy51c2VybmFtZSB8fCAhdGhpcy5lbWFpbCB8fCAhdGhpcy5wYXNzd29yZCB8fCAhdGhpcy5wYXNzd29yZFJlcGVhdCkge1xuICAgICAgdGhpcy5lcnJvciA9ICdmaWxsLWFsbC1maWVsZHMnO1xuICAgICAgdGhpcy5yZWdpc3RlcmluZyA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5lbWFpbElzVmFsaWQodGhpcy5lbWFpbCkpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSAnZW1haWwtdmFsaWQnO1xuICAgICAgdGhpcy5yZWdpc3RlcmluZyA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnBhc3N3b3JkICE9PSB0aGlzLnBhc3N3b3JkUmVwZWF0KSB7XG4gICAgICB0aGlzLmVycm9yID0gJ3Bhc3N3b3JkLW1pc21hdGNoJztcbiAgICAgIHRoaXMucmVnaXN0ZXJpbmcgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnJlZ2lzdGVyKHRoaXMuZW1haWwsIHRoaXMudXNlcm5hbWUsIHRoaXMucGFzc3dvcmQpLnN1YnNjcmliZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgLy8gYXV0b21hdGljYWxseSBsb2dpbiBhZnRlciByZWdpc3RlcmluZ1xuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmxvZ2luKHRoaXMuZW1haWwsIHRoaXMucGFzc3dvcmQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWdpc3RlcmluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuYnNNb2RhbFJlZi5oaWRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3IgJiYgcmVzcG9uc2UuZXJyb3IuZXJyb3IpIHtcbiAgICAgICAgICB0aGlzLmVycm9yID0gcmVzcG9uc2UuZXJyb3IuZXJyb3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lcnJvciA9ICdpbnRlcm5hbCc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZWdpc3RlcmluZyA9IGZhbHNlO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogYW55KSB7XG4gICAgdGhpcy5yZWdpc3RlcigpO1xuICB9XG59XG4iLCI8Zm9ybSAobmdTdWJtaXQpPVwicmVnaXN0ZXIoKVwiPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+e3sgJ2Rlc2lnbmVyLnVzZXIucmVnaXN0ZXItdGl0bGUnIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsb3NlIHB1bGwtcmlnaHRcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAoY2xpY2spPVwiY2FuY2VsKCk7IChmYWxzZSlcIj5cbiAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgIDxkaXYgKm5nSWY9XCJzdWJqZWN0XCIgY2xhc3M9XCJhbGVydCBhbGVydC1zdWNjZXNzXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICB7eyAnZGVzaWduZXIudXNlci5sb2dpbi1yZXF1aXJlZCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJ1c2VybmFtZVwiIGNsYXNzPVwiY29sLXNtLTQgY29sLWZvcm0tbGFiZWxcIj57eyAnZGVzaWduZXIudXNlci51c2VybmFtZScgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS04XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPjxpIGNsYXNzPVwiZmEgZmEtZncgZmEtdXNlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVnaXN0ZXJpbmdcIlxuICAgICAgICAgICAgbmFtZT1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwidXNlcm5hbWVcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgaWQ9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkpvaG4gRG9lXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgICAgPGxhYmVsIGZvcj1cImVtYWlsXCIgY2xhc3M9XCJjb2wtc20tNCBjb2wtZm9ybS1sYWJlbFwiPnt7ICdkZXNpZ25lci51c2VyLmVtYWlsJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLThcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCI+PGkgY2xhc3M9XCJmYSBmYS1mdyBmYS1lbnZlbG9wZS1vXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWdpc3RlcmluZ1wiXG4gICAgICAgICAgICBuYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbWFpbFwiXG4gICAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgaWQ9XCJlbWFpbFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cImVtYWlsQGV4YW1wbGUuY29tXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgICAgPGxhYmVsIGZvcj1cInBhc3N3b3JkXCIgY2xhc3M9XCJjb2wtc20tNCBjb2wtZm9ybS1sYWJlbFwiPnt7ICdkZXNpZ25lci51c2VyLnBhc3N3b3JkJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLThcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCI+PGkgY2xhc3M9XCJmYSBmYS1mdyBmYS1sb2NrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWdpc3RlcmluZ1wiXG4gICAgICAgICAgICBuYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwYXNzd29yZFwiXG4gICAgICAgICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgaWQ9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdkZXNpZ25lci51c2VyLnBhc3N3b3JkJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJwYXNzd29yZFJlcGVhdFwiIGNsYXNzPVwiY29sLXNtLTQgY29sLWZvcm0tbGFiZWxcIj57eyAnZGVzaWduZXIudXNlci5wYXNzd29yZC1yZXBlYXQnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tOFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtcHJlcGVuZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXRleHRcIj48aSBjbGFzcz1cImZhIGZhLWZ3IGZhLWxvY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlZ2lzdGVyaW5nXCJcbiAgICAgICAgICAgIG5hbWU9XCJwYXNzd29yZFJlcGVhdFwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInBhc3N3b3JkUmVwZWF0XCJcbiAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBpZD1cInBhc3N3b3JkUmVwZWF0XCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2Rlc2lnbmVyLnVzZXIucGFzc3dvcmQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiYWxlcnQgYWxlcnQtcHJpbWFyeVwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAge3sgJ2Rlc2lnbmVyLnVzZXIuZXJyb3IuJyArIGVycm9yIHwgdHJhbnNsYXRlIH19XG4gICAgPC9kaXY+XG4gICAgPGEgaHJlZj1cIiNcIiAoY2xpY2spPVwibG9naW4oKTsgKGZhbHNlKVwiPlxuICAgICAgPHAgY2xhc3M9XCJtdC0zIG1iLTBcIiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPnt7ICdkZXNpZ25lci51c2VyLmFscmVhZHktaGF2ZS1hY2NvdW50JyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICA8L2E+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgPGEgY2xhc3M9XCJtci0zIG15LWF1dG9cIiBocmVmPVwiI1wiIHJvbGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2FuY2VsKCk7IChmYWxzZSlcIj5cbiAgICAgIHt7ICdkZXNpZ25lci5taXNjLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2E+XG4gICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwicmVnaXN0ZXJpbmdcIiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5cbiAgICAgIDxpICpuZ0lmPVwicmVnaXN0ZXJpbmdcIiBjbGFzcz1cImZhIGZhLXNwaW5uZXIgZmEtcHVsc2UgZmEtZndcIj4gPC9pPnt7ICdkZXNpZ25lci51c2VyLnJlZ2lzdGVyJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
|