info-library 2.14.51-beta.1 → 2.14.51-beta.3

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.
@@ -162,6 +162,7 @@ export class InfoMainComponent {
162
162
  this._session.OcultarNomeCliente = r.data.OcultarNomeCliente;
163
163
  this._session.Empresas = r.data.Empresas;
164
164
  this._session.Unidades = r.data.Unidades;
165
+ this._session.Clientes = r.data.Clientes;
165
166
  this._session.Parametros = r.data.Parametros;
166
167
  this._session.MFA = r.data.MFA;
167
168
  this._session.TempoInatividade = r.data.TempoInatividade;
@@ -291,4 +292,4 @@ export class InfoMainComponent {
291
292
  type: HostListener,
292
293
  args: ['document:click', ['$event.target']]
293
294
  }] }); })();
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2xheW91dHMvbWFpbi9tYWluLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy9tYWluL21haW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ2M5Qyx3Q0FHNkM7SUFBekMsNkxBQWlCLGVBQUEsNkJBQXNCLENBQUEsSUFBQztJQUM1QyxpQkFBZTs7O0lBSFgsb0NBQWUsNkJBQUE7Ozs7SUFLbkIsNENBSTZDO0lBQXpDLDZMQUFpQixlQUFBLDZCQUFzQixDQUFBLElBQUM7SUFDNUMsaUJBQWU7OztJQUpYLG9DQUFlLDZCQUFBLDJDQUFBOzs7SUFRWCx5Q0FB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QU87a0JBQWYsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxlQUFlO2tCQUF2QixLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUVHLGVBQWU7a0JBQXZCLEtBQUs7WUFDRyxxQkFBcUI7a0JBQTdCLEtBQUs7WUFDRyxzQkFBc0I7a0JBQTlCLEtBQUs7WUFDRyx3QkFBd0I7a0JBQWhDLEtBQUs7WUFDRyx5QkFBeUI7a0JBQWpDLEtBQUs7WUFFRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBQ0csZUFBZTtrQkFBdkIsS0FBSztZQUVHLHVCQUF1QjtrQkFBL0IsS0FBSztZQUVHLFdBQVc7a0JBQW5CLEtBQUs7WUFFSSxpQkFBaUI7a0JBQTFCLE1BQU07WUFDRyxvQkFBb0I7a0JBQTdCLE1BQU07WUFFYyxNQUFNO2tCQUExQixTQUFTO21CQUFDLFFBQVE7WUFDRyxPQUFPO2tCQUE1QixTQUFTO21CQUFDLFNBQVM7WUE0Q2IsT0FBTztrQkFEYixZQUFZO21CQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgSW5mb0RhdGFTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZGF0YS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEluZm9QbGF0Zm9ybU1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVsL3BsYXRmb3JtLm1vZGVsXCI7XHJcbmltcG9ydCB7IEluZm9TZXNzaW9uTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWwvc2Vzc2lvbi5tb2RlbFwiO1xyXG5pbXBvcnQgeyBJbmZvVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS90aGVtZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5mb1RvcGJhckNvbXBvbmVudCB9IGZyb20gXCIuLi90b3BiYXIvdG9wYmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBJbmZvU2lkZWJhckNvbXBvbmVudCB9IGZyb20gXCIuLi9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFV0aWxpdGllcyB9IGZyb20gXCIuLi8uLi91dGlscy91dGlsaXRpZXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLW1haW4nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdtYWluLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWydtYWluLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEluZm9NYWluQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBASW5wdXQoKSBvcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHZlcnNpb246IHN0cmluZyA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBtZXNzYWdlczogYW55W10gPSBbXTtcclxuICAgIEBJbnB1dCgpIGVuYWJsZWRpYTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfdGhlbWVzOiBhbnkgPSBbXTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVhZHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKSBnZXQgdGhlbWVzKCkgeyByZXR1cm4gdGhpcy5fdGhlbWVzOyB9XHJcbiAgICBzZXQgdGhlbWVzKHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5fdGhlbWVzID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5fcGxhdGZvcm0uVGhlbWVzID0gdGhpcy50aGVtZXM7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9zZXNzaW9uLlRlbWFJZCA+IDAgJiYgdGhpcy5zZXR0aGVtZW9uY2hhbmdlY29tcGFueSlcclxuICAgICAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldFRoZW1lQnlMb2dnZWRDb21wYW55KCk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgbGFuZ3VhZ2VzOiBhbnkgPSBbXTtcclxuICAgIEBJbnB1dCgpIHByb2ZpbGV1cmw6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgbG9naW51cmw6IHN0cmluZyA9ICdsb2dpbic7XHJcblxyXG4gICAgQElucHV0KCkgbWVudWFwaTogYW55ID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIG1lbnVtZXRob2Q6IHN0cmluZyA9ICdHZXRNZW51JztcclxuICAgIEBJbnB1dCgpIGFjdGl2ZW1lbnVieXVybDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpIGxvZ2dlZHVzZXJhcGk6IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBsb2dnZWR1c2VybWV0aG9kOiBzdHJpbmcgPSAnR2V0TG9nZ2VkVXNlcic7XHJcblxyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9uYXBpOiBhbnkgPSBudWxsO1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9uZ2V0bWV0aG9kOiBzdHJpbmcgPSAnR2V0JztcclxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbnBvc3RtZXRob2Q6IHN0cmluZyA9ICdQb3N0Tm90aWZpY2F0aW9uJztcclxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbnZlcmlmeW1ldGhvZDogc3RyaW5nID0gJ1ZlcmlmeSc7XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb252ZXJpZnllbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIFxyXG4gICAgQElucHV0KCkgZmFzdHNlYXJjaGZvcm06IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBmYXN0c2VhcmNoZm9ybXdpZHRoOiBudW1iZXIgPSAxMjAwO1xyXG4gICAgQElucHV0KCkgZmFzdHNlYXJjaHRpdGxlOiBzdHJpbmcgPSAnUGVzcXVpc2FSYXBpZGFDYXJ0ZWlyYSc7XHJcbiAgICBcclxuICAgIEBJbnB1dCgpIHNldHRoZW1lb25jaGFuZ2Vjb21wYW55OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KCkgc2hvcnRjdXRhcGk6IGFueSA9IG51bGw7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uZ2V0bm90aWZpY2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9udmVyaWZ5bm90aWZpY2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3RvcGJhcicpIHRvcGJhcjogSW5mb1RvcGJhckNvbXBvbmVudDtcclxuICAgIEBWaWV3Q2hpbGQoJ3NpZGViYXInKSBzaWRlYmFyOiBJbmZvU2lkZWJhckNvbXBvbmVudDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgX3BsYXRmb3JtOiBJbmZvUGxhdGZvcm1Nb2RlbCwgXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9zZXNzaW9uOiBJbmZvU2Vzc2lvbk1vZGVsLCBcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLCBcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2RhdGFBY2Nlc3NTZXJ2aWNlOiBJbmZvRGF0YVNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfdGhlbWVTZXJ2aWNlOiBJbmZvVGhlbWVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfdXRpbGl0aWVzOiBVdGlsaXRpZXMpIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3V4YycgKyB0aGlzLl9wbGF0Zm9ybS5Db25maWcudXgpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLl9wbGF0Zm9ybS5Db25maWcudG9wTWVudSlcclxuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAndG9wbWVudScpO1xyXG5cclxuICAgICAgICB0aGlzLl9wbGF0Zm9ybS5UaGVtZXMgPSB0aGlzLnRoZW1lcztcclxuICAgICAgICB0aGlzLl9wbGF0Zm9ybS5TaG9ydGN1dEFwaSA9IHRoaXMuc2hvcnRjdXRhcGk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl91dGlsaXRpZXMuZ2V0TG9jYWxTdG9yYWdlKHRoaXMuX3BsYXRmb3JtLlRva2VuS2V5KSA9PSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLmxvZ2ludXJsKTtcclxuXHJcbiAgICAgICAgZWxzZSB0aGlzLmdldExvZ2dlZFVzZXIoKTtcclxuXHJcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBsZXQgdGhlbWUgPSBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdFswXTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdFswXS5pbmRleE9mKCctdGhlbWUnKSA8IDAgJiYgdGhpcy5fcGxhdGZvcm0uQ29uZmlnLnRoZW1lICE9IG51bGwpXHJcbiAgICAgICAgICAgICAgICB0aGVtZSA9ICdfJyArIHRoaXMuX3BsYXRmb3JtLkNvbmZpZy50aGVtZSArICctdGhlbWUnO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldFRoZW1lKHRoZW1lKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2VUb3BCYXJTdGF0ZSgpIHtcclxuICAgICAgICB0aGlzLm9wZW5lZCA9ICF0aGlzLm9wZW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZVNpZGVCYXJTdGF0ZSgpe1xyXG4gICAgICAgIHRoaXMudG9wYmFyLm9wZW5TaWRlYmFyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcclxuICAgIHB1YmxpYyBvbkNsaWNrKHRhcmdldEVsZW1lbnQpIHsgICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLm9wZW5lZCAmJlxyXG4gICAgICAgICAgICAhdGhpcy5zaWRlYmFyLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCkgJiZcclxuICAgICAgICAgICAgIXRoaXMudG9wYmFyLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCkpXHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VTaWRlQmFyU3RhdGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRMb2dnZWRVc2VyKCkge1xyXG4gICAgICAgIHZhciBjU2Vzc2lvbiA9IHRoaXMuX3V0aWxpdGllcy5nZXRMb2NhbFN0b3JhZ2UodGhpcy5fcGxhdGZvcm0uU2Vzc2lvbktleSk7XHJcbiAgICAgICAgaWYgKGNTZXNzaW9uICE9IG51bGwpXHJcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fc2Vzc2lvbiwgSlNPTi5wYXJzZShjU2Vzc2lvbikpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc2Vzc2lvbi5Vc3VhcmlvSWQgIT0gbnVsbCB8fCB0aGlzLmxvZ2dlZHVzZXJhcGkgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlYWR5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fZGF0YUFjY2Vzc1NlcnZpY2UuZ2V0KHRoaXMubG9nZ2VkdXNlcmFwaSwgdGhpcy5sb2dnZWR1c2VybWV0aG9kKS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgIGlmIChyLmRhdGEuVXN1YXJpb0lkID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgncGVybWlzc2lvbicpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5Vc3VhcmlvSWQgPSByLmRhdGEuVXN1YXJpb0lkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5Vc3VhcmlvID0gci5kYXRhLlVzdWFyaW87XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLkxvZ2luID0gci5kYXRhLkxvZ2luO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5FbWFpbCA9IHIuZGF0YS5FbWFpbDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uUGVyZmlsID0gci5kYXRhLlBlcmZpbDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uRW1wcmVzYUlkID0gci5kYXRhLkVtcHJlc2FJZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZUlkID0gci5kYXRhLlVuaWRhZGVJZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVGVtYUlkID0gci5kYXRhLlRlbWFJZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVGVtYUNvckJhc2UgPSByLmRhdGEuVGVtYUNvckJhc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLkVtcHJlc2EgPSByLmRhdGEuRW1wcmVzYTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZSA9IHIuZGF0YS5VbmlkYWRlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5VbHRpbW9BY2Vzc28gPSByLmRhdGEuVWx0aW1vQWNlc3NvO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5NYXN0ZXIgPSByLmRhdGEuTWFzdGVyO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5DbG9uZSA9IHIuZGF0YS5DbG9uZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uRGF0YU1vdmltZW50YWNhbyA9IHIuZGF0YS5EYXRhTW92aW1lbnRhY2FvO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5PY3VsdGFyTm9tZUNsaWVudGUgPSByLmRhdGEuT2N1bHRhck5vbWVDbGllbnRlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5FbXByZXNhcyA9IHIuZGF0YS5FbXByZXNhcztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZXMgPSByLmRhdGEuVW5pZGFkZXM7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlBhcmFtZXRyb3MgPSByLmRhdGEuUGFyYW1ldHJvcztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uTUZBID0gci5kYXRhLk1GQTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVGVtcG9JbmF0aXZpZGFkZSA9IHIuZGF0YS5UZW1wb0luYXRpdmlkYWRlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5WZXJzYW8gPSByLmRhdGEuVmVyc2FvO1xyXG4gICAgICAgICAgICAgICAgdGhpcy52ZXJzaW9uID0gci5kYXRhLlZlcnNhbztcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2Vzc2lvbi5QYXJhbWV0cm9zLnNvbWUocCA9PiBwLkNoYXZlID09ICdEaXNjbGFpbWVyR2VyYWwnKSlcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2godGhpcy5fc2Vzc2lvbi5QYXJhbWV0cm9zLmZpbmQocCA9PiBwLkNoYXZlID09ICdEaXNjbGFpbWVyR2VyYWwnKS5WYWxvcik7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3Nlc3Npb24uVGVtYUlkICE9IG51bGwpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldFRoZW1lQnlMb2dnZWRDb21wYW55KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkeSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkdldE5vdGlmaWNhdGlvbnNUb3BCYXIoZXZlbnQpIHtcclxuICAgICAgICB0aGlzLm9uZ2V0bm90aWZpY2F0aW9uLmVtaXQoZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVmVyaWZ5Tm90aWZpY2F0aW9uc1RvcEJhcihldmVudCkge1xyXG4gICAgICAgIHRoaXMub252ZXJpZnlub3RpZmljYXRpb24uZW1pdChldmVudCk7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwic2l0ZS1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7ICdvcGVuLXNpZGViYXInOiBvcGVuZWQgfVwiPlxyXG4gICAgXHJcbiAgICA8aW5mby10b3BiYXIgI3RvcGJhclxyXG4gICAgICAgIFt0aGVtZXNdPVwidGhlbWVzXCIgXHJcbiAgICAgICAgW2xhbmd1YWdlc109XCJsYW5ndWFnZXNcIiBcclxuICAgICAgICBbcHJvZmlsZXVybF09XCJwcm9maWxldXJsXCJcclxuICAgICAgICBbbm90aWZpY2F0aW9uYXBpXT1cIm5vdGlmaWNhdGlvbmFwaVwiIFxyXG4gICAgICAgIFtub3RpZmljYXRpb25nZXRtZXRob2RdPVwibm90aWZpY2F0aW9uZ2V0bWV0aG9kXCIgXHJcbiAgICAgICAgW25vdGlmaWNhdGlvbnBvc3RtZXRob2RdPVwibm90aWZpY2F0aW9ucG9zdG1ldGhvZFwiXHJcbiAgICAgICAgW25vdGlmaWNhdGlvbnZlcmlmeW1ldGhvZF09XCJub3RpZmljYXRpb252ZXJpZnltZXRob2RcIlxyXG4gICAgICAgIFtub3RpZmljYXRpb252ZXJpZnllbmFibGVkXT1cIm5vdGlmaWNhdGlvbnZlcmlmeWVuYWJsZWRcIlxyXG4gICAgICAgIFtmYXN0c2VhcmNoZm9ybV09XCJmYXN0c2VhcmNoZm9ybVwiXHJcbiAgICAgICAgW2Zhc3RzZWFyY2hmb3Jtd2lkdGhdPVwiZmFzdHNlYXJjaGZvcm13aWR0aFwiXHJcbiAgICAgICAgW2Zhc3RzZWFyY2h0aXRsZV09XCJmYXN0c2VhcmNodGl0bGVcIlxyXG4gICAgICAgIFtzZXR0aGVtZW9uY2hhbmdlY29tcGFueV09XCJzZXR0aGVtZW9uY2hhbmdlY29tcGFueVwiXHJcbiAgICAgICAgKG9uY2hhbmdlc3RhdGUpPVwib25DaGFuZ2VUb3BCYXJTdGF0ZSgpXCJcclxuICAgICAgICAob25nZXRub3RpZmljYXRpb24pPVwib25HZXROb3RpZmljYXRpb25zVG9wQmFyKCRldmVudClcIlxyXG4gICAgICAgIChvbnZlcmlmeW5vdGlmaWNhdGlvbik9XCJvblZlcmlmeU5vdGlmaWNhdGlvbnNUb3BCYXIoJGV2ZW50KVwiXHJcbiAgICAgICAgW2VuYWJsZWRpYV09XCJlbmFibGVkaWFcIj5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaW5mb2lhXVwiPjwvbmctY29udGVudD5cclxuICAgIDwvaW5mby10b3BiYXI+XHJcbiAgICAgICAgXHJcbiAgICA8aW5mby10b3BtZW51ICpuZ0lmPVwiX3BsYXRmb3JtLkNvbmZpZy50b3BNZW51XCJcclxuICAgICAgICBbYXBpXT1cIm1lbnVhcGlcIiBcclxuICAgICAgICBbbWV0aG9kXT1cIm1lbnVtZXRob2RcIiBcclxuICAgICAgICAob25jaGFuZ2VzdGF0ZSk9XCJvbkNoYW5nZVNpZGVCYXJTdGF0ZSgpXCI+XHJcbiAgICA8L2luZm8tdG9wbWVudT5cclxuXHJcbiAgICA8aW5mby1zaWRlYmFyICNzaWRlYmFyICpuZ0lmPVwiIV9wbGF0Zm9ybS5Db25maWcudG9wTWVudVwiXHJcbiAgICAgICAgW2FwaV09XCJtZW51YXBpXCIgXHJcbiAgICAgICAgW21ldGhvZF09XCJtZW51bWV0aG9kXCIgXHJcbiAgICAgICAgW2FjdGl2ZW1lbnVieXVybF09XCJhY3RpdmVtZW51Ynl1cmxcIlxyXG4gICAgICAgIChvbmNoYW5nZXN0YXRlKT1cIm9uQ2hhbmdlU2lkZUJhclN0YXRlKClcIj5cclxuICAgIDwvaW5mby1zaWRlYmFyPlxyXG5cclxuICAgIDxtYWluIGNsYXNzPVwibWFpbi1jb250ZW50XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudC13cmFwXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlttYWluXVwiICpuZ0lmPVwicmVhZHlcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXIgcm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3B5cmlnaHQgY29sLTlcIj57eyAnQ29weXJpZ2h0JyB8IHRyYW5zbGF0ZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZXJzaW9uIGNvbC0zXCIgKm5nSWY9XCJ2ZXJzaW9uXCI+e3sgJ1ZlcnNhbycgfCB0cmFuc2xhdGV9fSB7eyB2ZXJzaW9uIH19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPGluZm8tYWxlcnQgW21lc3NhZ2VzXT1cIm1lc3NhZ2VzXCI+PC9pbmZvLWFsZXJ0PlxyXG4gICAgPC9tYWluPlxyXG48L2Rpdj4iXX0=
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2xheW91dHMvbWFpbi9tYWluLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy9tYWluL21haW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ2M5Qyx3Q0FHNkM7SUFBekMsNkxBQWlCLGVBQUEsNkJBQXNCLENBQUEsSUFBQztJQUM1QyxpQkFBZTs7O0lBSFgsb0NBQWUsNkJBQUE7Ozs7SUFLbkIsNENBSTZDO0lBQXpDLDZMQUFpQixlQUFBLDZCQUFzQixDQUFBLElBQUM7SUFDNUMsaUJBQWU7OztJQUpYLG9DQUFlLDZCQUFBLDJDQUFBOzs7SUFRWCx5Q0FB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QUFTO2tCQUFqQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFFRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csZUFBZTtrQkFBdkIsS0FBSztZQUVHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFFRyxlQUFlO2tCQUF2QixLQUFLO1lBQ0cscUJBQXFCO2tCQUE3QixLQUFLO1lBQ0csc0JBQXNCO2tCQUE5QixLQUFLO1lBQ0csd0JBQXdCO2tCQUFoQyxLQUFLO1lBQ0cseUJBQXlCO2tCQUFqQyxLQUFLO1lBRUcsY0FBYztrQkFBdEIsS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUNHLGVBQWU7a0JBQXZCLEtBQUs7WUFFRyx1QkFBdUI7a0JBQS9CLEtBQUs7WUFFRyxXQUFXO2tCQUFuQixLQUFLO1lBRUksaUJBQWlCO2tCQUExQixNQUFNO1lBQ0csb0JBQW9CO2tCQUE3QixNQUFNO1lBRWMsTUFBTTtrQkFBMUIsU0FBUzttQkFBQyxRQUFRO1lBQ0csT0FBTztrQkFBNUIsU0FBUzttQkFBQyxTQUFTO1lBNENiLE9BQU87a0JBRGIsWUFBWTttQkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IEluZm9EYXRhU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJbmZvUGxhdGZvcm1Nb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbC9wbGF0Zm9ybS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBJbmZvU2Vzc2lvbk1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVsL3Nlc3Npb24ubW9kZWxcIjtcclxuaW1wb3J0IHsgSW5mb1RoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvdGhlbWUuc2VydmljZSc7XHJcbmltcG9ydCB7IEluZm9Ub3BiYXJDb21wb25lbnQgfSBmcm9tIFwiLi4vdG9wYmFyL3RvcGJhci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgSW5mb1NpZGViYXJDb21wb25lbnQgfSBmcm9tIFwiLi4vc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBVdGlsaXRpZXMgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdXRpbGl0aWVzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5mby1tYWluJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnbWFpbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnbWFpbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvTWFpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQElucHV0KCkgb3BlbmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSB2ZXJzaW9uOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgQElucHV0KCkgbWVzc2FnZXM6IGFueVtdID0gW107XHJcbiAgICBASW5wdXQoKSBlbmFibGVkaWE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHByaXZhdGUgX3RoZW1lczogYW55ID0gW107XHJcblxyXG4gICAgcHJvdGVjdGVkIHJlYWR5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KCkgZ2V0IHRoZW1lcygpIHsgcmV0dXJuIHRoaXMuX3RoZW1lczsgfVxyXG4gICAgc2V0IHRoZW1lcyh2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuX3RoZW1lcyA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX3BsYXRmb3JtLlRoZW1lcyA9IHRoaXMudGhlbWVzO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc2Vzc2lvbi5UZW1hSWQgPiAwICYmIHRoaXMuc2V0dGhlbWVvbmNoYW5nZWNvbXBhbnkpXHJcbiAgICAgICAgICAgIHRoaXMuX3RoZW1lU2VydmljZS5zZXRUaGVtZUJ5TG9nZ2VkQ29tcGFueSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpIGxhbmd1YWdlczogYW55ID0gW107XHJcbiAgICBASW5wdXQoKSBwcm9maWxldXJsOiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIGxvZ2ludXJsOiBzdHJpbmcgPSAnbG9naW4nO1xyXG5cclxuICAgIEBJbnB1dCgpIG1lbnVhcGk6IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBtZW51bWV0aG9kOiBzdHJpbmcgPSAnR2V0TWVudSc7XHJcbiAgICBASW5wdXQoKSBhY3RpdmVtZW51Ynl1cmw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKSBsb2dnZWR1c2VyYXBpOiBhbnkgPSBudWxsO1xyXG4gICAgQElucHV0KCkgbG9nZ2VkdXNlcm1ldGhvZDogc3RyaW5nID0gJ0dldExvZ2dlZFVzZXInO1xyXG5cclxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbmFwaTogYW55ID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbmdldG1ldGhvZDogc3RyaW5nID0gJ0dldCc7XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25wb3N0bWV0aG9kOiBzdHJpbmcgPSAnUG9zdE5vdGlmaWNhdGlvbic7XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb252ZXJpZnltZXRob2Q6IHN0cmluZyA9ICdWZXJpZnknO1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9udmVyaWZ5ZW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBcclxuICAgIEBJbnB1dCgpIGZhc3RzZWFyY2hmb3JtOiBhbnkgPSBudWxsO1xyXG4gICAgQElucHV0KCkgZmFzdHNlYXJjaGZvcm13aWR0aDogbnVtYmVyID0gMTIwMDtcclxuICAgIEBJbnB1dCgpIGZhc3RzZWFyY2h0aXRsZTogc3RyaW5nID0gJ1Blc3F1aXNhUmFwaWRhQ2FydGVpcmEnO1xyXG4gICAgXHJcbiAgICBASW5wdXQoKSBzZXR0aGVtZW9uY2hhbmdlY29tcGFueTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpIHNob3J0Y3V0YXBpOiBhbnkgPSBudWxsO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbmdldG5vdGlmaWNhdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBvbnZlcmlmeW5vdGlmaWNhdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCd0b3BiYXInKSB0b3BiYXI6IEluZm9Ub3BiYXJDb21wb25lbnQ7XHJcbiAgICBAVmlld0NoaWxkKCdzaWRlYmFyJykgc2lkZWJhcjogSW5mb1NpZGViYXJDb21wb25lbnQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIF9wbGF0Zm9ybTogSW5mb1BsYXRmb3JtTW9kZWwsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfc2Vzc2lvbjogSW5mb1Nlc3Npb25Nb2RlbCwgXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlciwgXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9kYXRhQWNjZXNzU2VydmljZTogSW5mb0RhdGFTZXJ2aWNlLCBcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3RoZW1lU2VydmljZTogSW5mb1RoZW1lU2VydmljZSxcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmLCBcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3V0aWxpdGllczogVXRpbGl0aWVzKSB7IH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICd1eGMnICsgdGhpcy5fcGxhdGZvcm0uQ29uZmlnLnV4KTtcclxuICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy5fcGxhdGZvcm0uQ29uZmlnLnRvcE1lbnUpXHJcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3RvcG1lbnUnKTtcclxuXHJcbiAgICAgICAgdGhpcy5fcGxhdGZvcm0uVGhlbWVzID0gdGhpcy50aGVtZXM7XHJcbiAgICAgICAgdGhpcy5fcGxhdGZvcm0uU2hvcnRjdXRBcGkgPSB0aGlzLnNob3J0Y3V0YXBpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fdXRpbGl0aWVzLmdldExvY2FsU3RvcmFnZSh0aGlzLl9wbGF0Zm9ybS5Ub2tlbktleSkgPT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5sb2dpbnVybCk7XHJcblxyXG4gICAgICAgIGVsc2UgdGhpcy5nZXRMb2dnZWRVc2VyKCk7XHJcblxyXG4gICAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgbGV0IHRoZW1lID0gZG9jdW1lbnQuYm9keS5jbGFzc0xpc3RbMF07XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3RbMF0uaW5kZXhPZignLXRoZW1lJykgPCAwICYmIHRoaXMuX3BsYXRmb3JtLkNvbmZpZy50aGVtZSAhPSBudWxsKVxyXG4gICAgICAgICAgICAgICAgdGhlbWUgPSAnXycgKyB0aGlzLl9wbGF0Zm9ybS5Db25maWcudGhlbWUgKyAnLXRoZW1lJztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuX3RoZW1lU2VydmljZS5zZXRUaGVtZSh0aGVtZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQ2hhbmdlVG9wQmFyU3RhdGUoKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuZWQgPSAhdGhpcy5vcGVuZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2VTaWRlQmFyU3RhdGUoKXtcclxuICAgICAgICB0aGlzLnRvcGJhci5vcGVuU2lkZWJhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXHJcbiAgICBwdWJsaWMgb25DbGljayh0YXJnZXRFbGVtZW50KSB7ICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy5vcGVuZWQgJiZcclxuICAgICAgICAgICAgIXRoaXMuc2lkZWJhci5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpICYmXHJcbiAgICAgICAgICAgICF0aGlzLnRvcGJhci5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpKVxyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlU2lkZUJhclN0YXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TG9nZ2VkVXNlcigpIHtcclxuICAgICAgICB2YXIgY1Nlc3Npb24gPSB0aGlzLl91dGlsaXRpZXMuZ2V0TG9jYWxTdG9yYWdlKHRoaXMuX3BsYXRmb3JtLlNlc3Npb25LZXkpO1xyXG4gICAgICAgIGlmIChjU2Vzc2lvbiAhPSBudWxsKVxyXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3Nlc3Npb24sIEpTT04ucGFyc2UoY1Nlc3Npb24pKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX3Nlc3Npb24uVXN1YXJpb0lkICE9IG51bGwgfHwgdGhpcy5sb2dnZWR1c2VyYXBpID09IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5yZWFkeSA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2RhdGFBY2Nlc3NTZXJ2aWNlLmdldCh0aGlzLmxvZ2dlZHVzZXJhcGksIHRoaXMubG9nZ2VkdXNlcm1ldGhvZCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgICAgICBpZiAoci5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoci5kYXRhLlVzdWFyaW9JZCA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJ3Blcm1pc3Npb24nKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVXN1YXJpb0lkID0gci5kYXRhLlVzdWFyaW9JZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVXN1YXJpbyA9IHIuZGF0YS5Vc3VhcmlvO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5Mb2dpbiA9IHIuZGF0YS5Mb2dpbjtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uRW1haWwgPSByLmRhdGEuRW1haWw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlBlcmZpbCA9IHIuZGF0YS5QZXJmaWw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLkVtcHJlc2FJZCA9IHIuZGF0YS5FbXByZXNhSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGVJZCA9IHIuZGF0YS5VbmlkYWRlSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlRlbWFJZCA9IHIuZGF0YS5UZW1hSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlRlbWFDb3JCYXNlID0gci5kYXRhLlRlbWFDb3JCYXNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5FbXByZXNhID0gci5kYXRhLkVtcHJlc2E7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGUgPSByLmRhdGEuVW5pZGFkZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVWx0aW1vQWNlc3NvID0gci5kYXRhLlVsdGltb0FjZXNzbztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uTWFzdGVyID0gci5kYXRhLk1hc3RlcjtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uQ2xvbmUgPSByLmRhdGEuQ2xvbmU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLkRhdGFNb3ZpbWVudGFjYW8gPSByLmRhdGEuRGF0YU1vdmltZW50YWNhbztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uT2N1bHRhck5vbWVDbGllbnRlID0gci5kYXRhLk9jdWx0YXJOb21lQ2xpZW50ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uRW1wcmVzYXMgPSByLmRhdGEuRW1wcmVzYXM7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGVzID0gci5kYXRhLlVuaWRhZGVzO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5DbGllbnRlcyA9IHIuZGF0YS5DbGllbnRlcztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uUGFyYW1ldHJvcyA9IHIuZGF0YS5QYXJhbWV0cm9zO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5NRkEgPSByLmRhdGEuTUZBO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5UZW1wb0luYXRpdmlkYWRlID0gci5kYXRhLlRlbXBvSW5hdGl2aWRhZGU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlZlcnNhbyA9IHIuZGF0YS5WZXJzYW87XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZlcnNpb24gPSByLmRhdGEuVmVyc2FvO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zZXNzaW9uLlBhcmFtZXRyb3Muc29tZShwID0+IHAuQ2hhdmUgPT0gJ0Rpc2NsYWltZXJHZXJhbCcpKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZXMucHVzaCh0aGlzLl9zZXNzaW9uLlBhcmFtZXRyb3MuZmluZChwID0+IHAuQ2hhdmUgPT0gJ0Rpc2NsYWltZXJHZXJhbCcpLlZhbG9yKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2Vzc2lvbi5UZW1hSWQgIT0gbnVsbClcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0VGhlbWVCeUxvZ2dlZENvbXBhbnkoKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlYWR5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uR2V0Tm90aWZpY2F0aW9uc1RvcEJhcihldmVudCkge1xyXG4gICAgICAgIHRoaXMub25nZXRub3RpZmljYXRpb24uZW1pdChldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25WZXJpZnlOb3RpZmljYXRpb25zVG9wQmFyKGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5vbnZlcmlmeW5vdGlmaWNhdGlvbi5lbWl0KGV2ZW50KTtcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJzaXRlLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsgJ29wZW4tc2lkZWJhcic6IG9wZW5lZCB9XCI+XHJcbiAgICBcclxuICAgIDxpbmZvLXRvcGJhciAjdG9wYmFyXHJcbiAgICAgICAgW3RoZW1lc109XCJ0aGVtZXNcIiBcclxuICAgICAgICBbbGFuZ3VhZ2VzXT1cImxhbmd1YWdlc1wiIFxyXG4gICAgICAgIFtwcm9maWxldXJsXT1cInByb2ZpbGV1cmxcIlxyXG4gICAgICAgIFtub3RpZmljYXRpb25hcGldPVwibm90aWZpY2F0aW9uYXBpXCIgXHJcbiAgICAgICAgW25vdGlmaWNhdGlvbmdldG1ldGhvZF09XCJub3RpZmljYXRpb25nZXRtZXRob2RcIiBcclxuICAgICAgICBbbm90aWZpY2F0aW9ucG9zdG1ldGhvZF09XCJub3RpZmljYXRpb25wb3N0bWV0aG9kXCJcclxuICAgICAgICBbbm90aWZpY2F0aW9udmVyaWZ5bWV0aG9kXT1cIm5vdGlmaWNhdGlvbnZlcmlmeW1ldGhvZFwiXHJcbiAgICAgICAgW25vdGlmaWNhdGlvbnZlcmlmeWVuYWJsZWRdPVwibm90aWZpY2F0aW9udmVyaWZ5ZW5hYmxlZFwiXHJcbiAgICAgICAgW2Zhc3RzZWFyY2hmb3JtXT1cImZhc3RzZWFyY2hmb3JtXCJcclxuICAgICAgICBbZmFzdHNlYXJjaGZvcm13aWR0aF09XCJmYXN0c2VhcmNoZm9ybXdpZHRoXCJcclxuICAgICAgICBbZmFzdHNlYXJjaHRpdGxlXT1cImZhc3RzZWFyY2h0aXRsZVwiXHJcbiAgICAgICAgW3NldHRoZW1lb25jaGFuZ2Vjb21wYW55XT1cInNldHRoZW1lb25jaGFuZ2Vjb21wYW55XCJcclxuICAgICAgICAob25jaGFuZ2VzdGF0ZSk9XCJvbkNoYW5nZVRvcEJhclN0YXRlKClcIlxyXG4gICAgICAgIChvbmdldG5vdGlmaWNhdGlvbik9XCJvbkdldE5vdGlmaWNhdGlvbnNUb3BCYXIoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9udmVyaWZ5bm90aWZpY2F0aW9uKT1cIm9uVmVyaWZ5Tm90aWZpY2F0aW9uc1RvcEJhcigkZXZlbnQpXCJcclxuICAgICAgICBbZW5hYmxlZGlhXT1cImVuYWJsZWRpYVwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpbmZvaWFdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9pbmZvLXRvcGJhcj5cclxuICAgICAgICBcclxuICAgIDxpbmZvLXRvcG1lbnUgKm5nSWY9XCJfcGxhdGZvcm0uQ29uZmlnLnRvcE1lbnVcIlxyXG4gICAgICAgIFthcGldPVwibWVudWFwaVwiIFxyXG4gICAgICAgIFttZXRob2RdPVwibWVudW1ldGhvZFwiIFxyXG4gICAgICAgIChvbmNoYW5nZXN0YXRlKT1cIm9uQ2hhbmdlU2lkZUJhclN0YXRlKClcIj5cclxuICAgIDwvaW5mby10b3BtZW51PlxyXG5cclxuICAgIDxpbmZvLXNpZGViYXIgI3NpZGViYXIgKm5nSWY9XCIhX3BsYXRmb3JtLkNvbmZpZy50b3BNZW51XCJcclxuICAgICAgICBbYXBpXT1cIm1lbnVhcGlcIiBcclxuICAgICAgICBbbWV0aG9kXT1cIm1lbnVtZXRob2RcIiBcclxuICAgICAgICBbYWN0aXZlbWVudWJ5dXJsXT1cImFjdGl2ZW1lbnVieXVybFwiXHJcbiAgICAgICAgKG9uY2hhbmdlc3RhdGUpPVwib25DaGFuZ2VTaWRlQmFyU3RhdGUoKVwiPlxyXG4gICAgPC9pbmZvLXNpZGViYXI+XHJcblxyXG4gICAgPG1haW4gY2xhc3M9XCJtYWluLWNvbnRlbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50LXdyYXBcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21haW5dXCIgKm5nSWY9XCJyZWFkeVwiPjwvbmctY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlciByb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvcHlyaWdodCBjb2wtOVwiPnt7ICdDb3B5cmlnaHQnIHwgdHJhbnNsYXRlfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnNpb24gY29sLTNcIiAqbmdJZj1cInZlcnNpb25cIj57eyAnVmVyc2FvJyB8IHRyYW5zbGF0ZX19IHt7IHZlcnNpb24gfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICA8aW5mby1hbGVydCBbbWVzc2FnZXNdPVwibWVzc2FnZXNcIj48L2luZm8tYWxlcnQ+XHJcbiAgICA8L21haW4+XHJcbjwvZGl2PiJdfQ==
@@ -865,6 +865,7 @@ export class InfoTopbarComponent {
865
865
  if (res.success) {
866
866
  document.body.setAttribute('loading', 'true');
867
867
  this._session.Permissoes = [];
868
+ this._session.Usuario = client.Nome;
868
869
  localStorage.removeItem("Dashboard");
869
870
  this._utilities.setLocalStorage(this._platform.SessionKey, JSON.stringify(this._session));
870
871
  this._router.navigateByUrl('').then(r => location.reload());
@@ -1016,4 +1017,4 @@ export class InfoTopbarComponent {
1016
1017
  }], onverifynotification: [{
1017
1018
  type: Output
1018
1019
  }] }); })();
1019
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy90b3BiYXIvdG9wYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy90b3BiYXIvdG9wYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNPMUIsMEJBQThD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RyxxQkFBcUI7a0JBQTdCLEtBQUs7WUFDRyxzQkFBc0I7a0JBQTlCLEtBQUs7WUFDRyx3QkFBd0I7a0JBQWhDLEtBQUs7WUFDRyx5QkFBeUI7a0JBQWpDLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBQ0csZUFBZTtrQkFBdkIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyx1QkFBdUI7a0JBQS9CLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0ksYUFBYTtrQkFBdEIsTUFBTTtZQUNHLGlCQUFpQjtrQkFBMUIsTUFBTTtZQUNHLG9CQUFvQjtrQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFJlbmRlcmVyMiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmZvRGlhbG9nTW9kYWwgfSBmcm9tICcuLi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEluZm9EaWFsb2dCdXR0b25zIH0gZnJvbSAnLi4vLi4vZW51bSc7XHJcbmltcG9ydCB7IEluZm9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEluZm9BdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZvRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEluZm9UaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RoZW1lLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZvTm90aWZpY2F0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9ub3RpZmljYXRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBJbmZvU2Vzc2lvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2Vzc2lvbi5tb2RlbCc7IFxyXG5pbXBvcnQgeyBJbmZvUGxhdGZvcm1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL3BsYXRmb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbGl0aWVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLXRvcGJhcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9wYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RvcGJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvVG9wYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIG9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbGFuZ3VhZ2VzOiBhbnkgPSBbXTtcclxuICAgIEBJbnB1dCgpIHRoZW1lczogYW55ID0gW107XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25hcGk6IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25nZXRtZXRob2Q6IHN0cmluZyA9ICdHZXQnO1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9ucG9zdG1ldGhvZDogc3RyaW5nID0gJ1Bvc3ROb3RpZmljYXRpb24nO1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9udmVyaWZ5bWV0aG9kOiBzdHJpbmcgPSAnVmVyaWZ5JztcclxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbnZlcmlmeWVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgZmFzdHNlYXJjaGZvcm06IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBmYXN0c2VhcmNoZm9ybXdpZHRoOiBudW1iZXIgPSAxMjAwO1xyXG4gICAgQElucHV0KCkgZmFzdHNlYXJjaHRpdGxlOiBzdHJpbmcgPSAnUGVzcXVpc2FSYXBpZGFDYXJ0ZWlyYSc7XHJcbiAgICBASW5wdXQoKSBwcm9maWxldXJsOiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIHNldHRoZW1lb25jaGFuZ2Vjb21wYW55OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBlbmFibGVkaWE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSBvbmNoYW5nZXN0YXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uZ2V0bm90aWZpY2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9udmVyaWZ5bm90aWZpY2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIG1vZGFsUmVmOiBhbnkgPSBudWxsO1xyXG4gICAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJvZHV0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBub3RpZmljYXRpb25zOiBJbmZvTm90aWZpY2F0aW9uTW9kZWwgPSBuZXcgSW5mb05vdGlmaWNhdGlvbk1vZGVsKCk7XHJcblxyXG4gICAgdG9wTWVudTogYW55ID0ge1xyXG4gICAgICAgIGNsaWVudGU6IGZhbHNlLFxyXG4gICAgICAgIGVtcHJlc2E6IGZhbHNlLFxyXG4gICAgICAgIHVuaWRhZGU6IGZhbHNlLFxyXG4gICAgICAgIGluZm9pYTogZmFsc2UsXHJcbiAgICAgICAgdGVtYTogZmFsc2UsXHJcbiAgICAgICAgaWRpb21hOiBmYWxzZSxcclxuICAgICAgICBub3RpZmljYWNhbzogZmFsc2UsXHJcbiAgICAgICAgY2FsZW5kYXJpbzogZmFsc2VcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogSW5mb1RyYW5zbGF0ZVNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHVibGljIF9hdXRoZW50aWNhdGlvblNlcnZpY2U6IEluZm9BdXRoZW50aWNhdGlvblNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfZGF0YVNlcnZpY2U6IEluZm9EYXRhU2VydmljZSwgXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF90aGVtZVNlcnZpY2U6IEluZm9UaGVtZVNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgX2RpYWxvZzogSW5mb0RpYWxvZ01vZGFsLCBcclxuICAgICAgICAgICAgICAgIHB1YmxpYyBfc2Vzc2lvbjogSW5mb1Nlc3Npb25Nb2RlbCwgXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgX3BsYXRmb3JtOiBJbmZvUGxhdGZvcm1Nb2RlbCwgXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9tb2RhbDogTWF0RGlhbG9nLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMiwgXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfdXRpbGl0aWVzOiBVdGlsaXRpZXMpIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3V4YycgKyB0aGlzLl9wbGF0Zm9ybS5Db25maWcudXgpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLl9wbGF0Zm9ybS5Db25maWcudG9wTWVudSlcclxuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAndG9wbWVudScpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB0aGlzLnByb2R1dGlvbiA9IHRoaXMuX3BsYXRmb3JtLkNvbmZpZy5wcm9kdWN0aW9uO1xyXG4gICAgICAgIHRoaXMuZ2V0Tm90aWZpY2F0aW9ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldENvbXBhbnkoY29tcGFueSkge1xyXG4gICAgICAgIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS50cm9jYXJFbXByZXNhKHRoaXMuX3Nlc3Npb24uTG9naW4sIGNvbXBhbnkuSWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnbG9hZGluZycsICd0cnVlJyk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uUGVybWlzc29lcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5FbXByZXNhSWQgPSBjb21wYW55LklkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5FbXByZXNhID0gY29tcGFueS5Ob21lO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5UZW1hSWQgPSAoKGNvbXBhbnkuVW5pZGFkZXMgfHwgW10pWzBdIHx8IHt9KS5UZW1hSWQgfHwgY29tcGFueS5UZW1hSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGVzID0gY29tcGFueS5VbmlkYWRlcztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZUlkID0gKChjb21wYW55LlVuaWRhZGVzIHx8IFtdKSB8fCB7fSkuSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGUgPSAoKGNvbXBhbnkuVW5pZGFkZXMgfHwgW10pIHx8IHt9KS5Ob21lO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldFRoZW1lQnlMb2dnZWRDb21wYW55KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJEYXNoYm9hcmRcIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91dGlsaXRpZXMuc2V0TG9jYWxTdG9yYWdlKHRoaXMuX3BsYXRmb3JtLlNlc3Npb25LZXksIEpTT04uc3RyaW5naWZ5KHRoaXMuX3Nlc3Npb24pKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaWYgKChjb21wYW55LlVuaWRhZGVzIHx8IFtdKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRVbml0eShjb21wYW55LlVuaWRhZGVzWzBdKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnJykudGhlbihyID0+IGxvY2F0aW9uLnJlbG9hZCgpKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9IGVsc2UgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpO1xyXG4gICAgICAgIH0sIGVyciA9PiB0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFVuaXR5KHVuaXR5KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRyb2NhclVuaWRhZGUodGhpcy5fc2Vzc2lvbi5Mb2dpbiwgdGhpcy5fc2Vzc2lvbi5FbXByZXNhSWQsIHVuaXR5LklkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcy5zdWNjZXNzKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2xvYWRpbmcnLCAndHJ1ZScpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlBlcm1pc3NvZXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVGVtYUlkID0gdW5pdHkuVGVtYUlkID8/IHRoaXMuX3Nlc3Npb24uVGVtYUlkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5VbmlkYWRlSWQgPSB1bml0eS5JZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZSA9IHVuaXR5Lk5vbWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0VGhlbWVCeUxvZ2dlZENvbXBhbnkoKTtcclxuXHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkRhc2hib2FyZFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3V0aWxpdGllcy5zZXRMb2NhbFN0b3JhZ2UodGhpcy5fcGxhdGZvcm0uU2Vzc2lvbktleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5fc2Vzc2lvbikpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJycpLnRoZW4ociA9PiBsb2NhdGlvbi5yZWxvYWQoKSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSBlbHNlIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICB9LCBlcnIgPT4gdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpKTtcclxuICAgIH0gXHJcblxyXG4gICAgc2V0Q29tcGFueVVuaXR5KGNvbXBhbnksIHVuaXR5KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRyb2NhclVuaWRhZGUodGhpcy5fc2Vzc2lvbi5Mb2dpbiwgY29tcGFueS5JZCwgdW5pdHkuSWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnbG9hZGluZycsICd0cnVlJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5QZXJtaXNzb2VzID0gW107XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLkVtcHJlc2FJZCA9IGNvbXBhbnkuSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLkVtcHJlc2EgPSBjb21wYW55Lk5vbWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGVzID0gY29tcGFueS5VbmlkYWRlcztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVGVtYUlkID0gdW5pdHkuVGVtYUlkID8/IGNvbXBhbnkuVGVtYUlkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5VbmlkYWRlSWQgPSB1bml0eS5JZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZSA9IHVuaXR5Lk5vbWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0VGhlbWVCeUxvZ2dlZENvbXBhbnkoKTtcclxuXHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkRhc2hib2FyZFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3V0aWxpdGllcy5zZXRMb2NhbFN0b3JhZ2UodGhpcy5fcGxhdGZvcm0uU2Vzc2lvbktleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5fc2Vzc2lvbikpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJycpLnRoZW4ociA9PiBsb2NhdGlvbi5yZWxvYWQoKSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSBlbHNlIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICB9LCBlcnIgPT4gdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRDbGllbnQoY2xpZW50KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRyb2NhckNsaWVudGUodGhpcy5fc2Vzc2lvbi5Mb2dpbiwgY2xpZW50LklkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcy5zdWNjZXNzKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2xvYWRpbmcnLCAndHJ1ZScpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlBlcm1pc3NvZXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJEYXNoYm9hcmRcIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91dGlsaXRpZXMuc2V0TG9jYWxTdG9yYWdlKHRoaXMuX3BsYXRmb3JtLlNlc3Npb25LZXksIEpTT04uc3RyaW5naWZ5KHRoaXMuX3Nlc3Npb24pKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJycpLnRoZW4ociA9PiBsb2NhdGlvbi5yZWxvYWQoKSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSBlbHNlIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICB9LCBlcnIgPT4gdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fdHJhbnNsYXRlU2VydmljZS5zZXQobGFuZ3VhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRoZW1lKHRoZW1lKSB7XHJcbiAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldFRoZW1lKHRoZW1lKTtcclxuICAgIH1cclxuXHJcbiAgICB0b2dnbGVNb2RlKCl7XHJcbiAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldE1vZGVQcmltZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5GYXN0U2VhcmNoKCkge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMubW9kYWxSZWYgIT0gbnVsbCkgXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5tb2RhbFJlZiA9IHRoaXMuX21vZGFsLm9wZW4odGhpcy5mYXN0c2VhcmNoZm9ybSwge1xyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLmZhc3RzZWFyY2hmb3Jtd2lkdGggKyAncHgnXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMubW9kYWxSZWYua2V5ZG93bkV2ZW50cygpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmxvYWRpbmcgJiYgKHIua2V5ID09IFwiRXNjYXBlXCIgfHwgci5rZXkgPT0gXCJFc2NcIiB8fCByLmtleSA9PSBcIjI3XCIpKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RhbFJlZi5jbG9zZSgpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLm1vZGFsUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHIgPT4geyB0aGlzLm1vZGFsUmVmID0gbnVsbCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvcGVuKGFjaHRpdmVNZW51KSB7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmNsaWVudGUgPSBhY2h0aXZlTWVudSA9PSAnY2xpZW50ZSc7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmVtcHJlc2EgPSBhY2h0aXZlTWVudSA9PSAnZW1wcmVzYSc7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LnVuaWRhZGUgPSBhY2h0aXZlTWVudSA9PSAndW5pZGFkZSc7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmluZm9pYSA9IGFjaHRpdmVNZW51ID09ICdpbmZvaWEnO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS50ZW1hID0gYWNodGl2ZU1lbnUgPT0gJ3RlbWEnO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5pZGlvbWEgPSBhY2h0aXZlTWVudSA9PSAnaWRpb21hJztcclxuICAgICAgICB0aGlzLnRvcE1lbnUubm90aWZpY2FjYW8gPSBhY2h0aXZlTWVudSA9PSAnbm90aWZpY2FjYW8nO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5jYWxlbmRhcmlvID0gYWNodGl2ZU1lbnUgPT0gJ2NhbGVuZGFyaW8nO1xyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlKCkge1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5jbGllbnRlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmVtcHJlc2EgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvcE1lbnUudW5pZGFkZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5pbmZvaWEgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvcE1lbnUudGVtYSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5pZGlvbWEgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvcE1lbnUubm90aWZpY2FjYW8gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvcE1lbnUuY2FsZW5kYXJpbyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5TaWRlYmFyKCkge1xyXG4gICAgICAgIHRoaXMub3BlbmVkID0gIXRoaXMub3BlbmVkO1xyXG4gICAgICAgIHRoaXMub25jaGFuZ2VzdGF0ZS5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Tm90aWZpY2F0aW9ucygpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5pc0xvZ2dlZCgpIHx8IHRoaXMubm90aWZpY2F0aW9uYXBpID09IG51bGwpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5fZGF0YVNlcnZpY2UuZ2V0KHRoaXMubm90aWZpY2F0aW9uYXBpLCB0aGlzLm5vdGlmaWNhdGlvbmdldG1ldGhvZCwgbnVsbCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgICAgICBpZiAoci5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMuQ291bnQgPSByLmRhdGEuQ291bnQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMuSXRlbnMgPSByLmRhdGEuSXRlbnM7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubm90aWZpY2F0aW9udmVyaWZ5ZW5hYmxlZClcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZlcmlmeU5vdGlmaWNhdGlvbnMoKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uZ2V0bm90aWZpY2F0aW9uLmVtaXQodGhpcy5ub3RpZmljYXRpb25zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHZlcmlmeU5vdGlmaWNhdGlvbnMoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UuaXNMb2dnZWQoKSB8fCB0aGlzLm5vdGlmaWNhdGlvbmFwaSA9PSBudWxsKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuX2RhdGFTZXJ2aWNlLmdldCh0aGlzLm5vdGlmaWNhdGlvbmFwaSwgdGhpcy5ub3RpZmljYXRpb252ZXJpZnltZXRob2QpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICAgICAgaWYgKHIuZGF0YSA9PSAtMSlcclxuICAgICAgICAgICAgICAgIHRoaXMubG9nb3V0KCk7XHJcblxyXG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLm5vdGlmaWNhdGlvbnMuQ291bnQgPT0gci5kYXRhKVxyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMudmVyaWZ5Tm90aWZpY2F0aW9ucygpOyB9LCAxNTAwMCk7XHJcblxyXG4gICAgICAgICAgICBlbHNlIHRoaXMuZ2V0Tm90aWZpY2F0aW9ucygpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5vbnZlcmlmeW5vdGlmaWNhdGlvbi5lbWl0KHsuLi50aGlzLm5vdGlmaWNhdGlvbnMsIFZlcmlmeUNvdW50OiByLmRhdGF9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXROb3RpZmljYXRpb25TdGF0dXMocmVhZCwgYWNjZXNzLCByZW1vdmUpIHtcclxuICAgICAgICBpZiAodGhpcy5ub3RpZmljYXRpb25zLkNvdW50ID09IDApIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5fZGF0YVNlcnZpY2UucG9zdCh0aGlzLm5vdGlmaWNhdGlvbmFwaSwgeyBJZDogJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCcsIEFjZXNzbzogYWNjZXNzLCBMZWl0dXJhOiByZWFkLCBFeGNsdXNhbzogcmVtb3ZlIH0sIHRoaXMubm90aWZpY2F0aW9ucG9zdG1ldGhvZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUociA9PiB0aGlzLm5vdGlmaWNhdGlvbnMuQ291bnQgPSAwKTtcclxuICAgIH1cclxuXHJcbiAgICBuYXZpZ2F0ZSh1cmw6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbdXJsLnJlcGxhY2UoJy8jJywgJycpXSk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9nb3V0KCkge1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZy5ZZXNPck5vKCdEZXNlamFSZWFsbWVudGVTYWlyJykuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgICAgICBpZiAoci5idXR0b24gPT0gSW5mb0RpYWxvZ0J1dHRvbnMuWWVzKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9wbGF0Zm9ybS5Db25maWcudXggPj0gM1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpdGUtbmF2YmFyXCI+XHJcbiAgICAgICAgPGEgY2xhc3M9XCJsb2dvXCIgPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImxvZ28taW1nXCI+PC9pPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImxvZ28taW1nLXJlc3BcIj48L2k+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW0gdXN1YXJpby1sb2dhZG9cIiBbY2xhc3Muc2VwYXJhZG9yXT1cIl9zZXNzaW9uLkVtcHJlc2FzLmxlbmd0aCA+IDEgfHwgX3Nlc3Npb24uVW5pZGFkZXNcIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnIDogdG9wTWVudS5jbGllbnRlIH1cIj5cclxuICAgICAgICAgICAgICAgIDxkbCAoY2xpY2spPVwib3BlbignY2xpZW50ZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR0Pnt7IF9zZXNzaW9uLlBlcmZpbCB9fTwvZHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRkPnt7IF9zZXNzaW9uLlVzdWFyaW8gfX08L2RkPlxyXG4gICAgICAgICAgICAgICAgPC9kbD5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1sYXRlcmFsLWRpcmVpdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmZWNoYXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQ+e3sgJ0NsaWVudGVzJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiZW1wcmVzYXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBjbGllbnQgb2YgX3Nlc3Npb24uQ2xpZW50ZXNcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic2V0Q2xpZW50KGNsaWVudCk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+e3sgY2xpZW50Lk5vbWUgfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbSBzZWxlY2FvLWVtcHJlc2FcIiAqbmdJZj1cIl9zZXNzaW9uLkVtcHJlc2FzLmxlbmd0aCA+IDFcIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnIDogdG9wTWVudS5lbXByZXNhIH1cIj5cclxuICAgICAgICAgICAgICAgIDxkbCAoY2xpY2spPVwib3BlbignZW1wcmVzYScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR0Pnt7ICdFbXByZXNhJyB8IHRyYW5zbGF0ZSB9fTwvZHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRkPnt7IF9zZXNzaW9uLkVtcHJlc2EgfX08L2RkPlxyXG4gICAgICAgICAgICAgICAgPC9kbD5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtbGF0ZXJhbC1kaXJlaXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmVjaGFyXCIgKGNsaWNrKT1cImNsb3NlKClcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0Pnt7ICdFbXByZXNhcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImVtcHJlc2FzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY29tcGFueSBvZiBfc2Vzc2lvbi5FbXByZXNhc1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRDb21wYW55KGNvbXBhbnkpOyBkaXZNb2RhbC5jbGljaygpO1wiPnt7IGNvbXBhbnkuTm9tZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtIHNlbGVjYW8tZW1wcmVzYVwiICpuZ0lmPVwiX3Nlc3Npb24uVW5pZGFkZSAmJiAoX3Nlc3Npb24uVW5pZGFkZXMgfHwgW10pLmxlbmd0aCA+IDFcIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnIDogdG9wTWVudS51bmlkYWRlIH1cIj5cclxuICAgICAgICAgICAgICAgIDxkbCAoY2xpY2spPVwib3BlbigndW5pZGFkZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR0Pnt7ICdVbmlkYWRlJyB8IHRyYW5zbGF0ZSB9fTwvZHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRkPnt7IF9zZXNzaW9uLlVuaWRhZGUgfX08L2RkPlxyXG4gICAgICAgICAgICAgICAgPC9kbD5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtbGF0ZXJhbC1kaXJlaXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmVjaGFyXCIgKGNsaWNrKT1cImNsb3NlKClcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0Pnt7ICdVbmlkYWRlcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImVtcHJlc2FzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdW5pdHkgb2YgX3Nlc3Npb24uVW5pZGFkZXNcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic2V0VW5pdHkodW5pdHkpOyBkaXZNb2RhbC5jbGljaygpO1wiPnt7IHVuaXR5Lk5vbWUgfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKHByb2ZpbGV1cmwpXCIgW21hdFRvb2x0aXBdPVwiJ01ldVBlcmZpbCcgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+cGVyc29uPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbSBzZWxlY2FvLWluZm9pYVwiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCc6IHRvcE1lbnUuaW5mb2lhIH1cIiAqbmdJZj1cImVuYWJsZWRpYVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9wZW4oJ2luZm9pYScpXCIgW21hdFRvb2x0aXBdPVwiJ0luZm8gSUEnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICdJbmZvSUEnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGl2ZXJzaXR5XzI8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWxhdGVyYWwtZGlyZWl0YSBpbmZvaWFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmZWNoYXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQ+e3sgJ0luZm9JQScgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIiAqbmdJZj1cImZhc3RzZWFyY2hmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib3BlbkZhc3RTZWFyY2goKVwiIFttYXRUb29sdGlwXT1cImZhc3RzZWFyY2h0aXRsZSB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCcgOiB0b3BNZW51Lm5vdGlmaWNhY2FvIH1cIiAqbmdJZj1cIm5vdGlmaWNhdGlvbmFwaVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInNldE5vdGlmaWNhdGlvblN0YXR1cyh0cnVlLCBmYWxzZSwgZmFsc2UpO29wZW4oJ25vdGlmaWNhY2FvJylcIiBbbWF0VG9vbHRpcF09XCInTm90aWZpY2Fjb2VzJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5ub3RpZmljYXRpb25zX25vbmU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2VcIiAqbmdJZj1cIm5vdGlmaWNhdGlvbnMuQ291bnQgPiAwXCI+e3sgbm90aWZpY2F0aW9ucy5Db3VudCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1sYXRlcmFsLWRpcmVpdGFcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmVjaGFyXCIgKGNsaWNrKT1cImNsb3NlKClcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0Pnt7ICdOb3RpZmljYWNvZXMnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwibm90aWZpY2F0aW9ucy5JdGVucy5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgc3R5bGU9XCJjdXJzb3I6IGRlZmF1bHQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPm5vdGlmaWNhdGlvbnM8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdUTm90aWZpY2Fjb2VzTmVuaHVtYScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vdGlmaWNhdGlvbnMuSXRlbnMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5vdGlmaWNhdGlvbnMuSXRlbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwibmF2aWdhdGUoaXRlbS5VcmwpO2Nsb3NlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0Pnt7ICdEaWEnIHwgdHJhbnNsYXRlIH19IHt7IGl0ZW0uRGF0ZSB9fTwvZHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgW2lubmVySHRtbF09XCJpdGVtLkRlc2NyaXB0aW9uIHwgdHJhbnNsYXRlXCI+PC9kZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYWx0ZXJuYXJNb2RvKClcIiBbbWF0VG9vbHRpcF09XCInQWx0ZXJuYXJNb2RvJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5icmlnaHRuZXNzXzY8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW0gc2VsZWNhby10ZW1hXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJzogdG9wTWVudS50ZW1hIH1cIiAqbmdJZj1cIiFwcm9kdXRpb24gJiYgdGhlbWVzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuKCd0ZW1hJylcIiBbbWF0VG9vbHRpcF09XCInVGVtYScgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+aW52ZXJ0X2NvbG9yczwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWxhdGVyYWwtZGlyZWl0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZlY2hhclwiIChjbGljayk9XCJjbG9zZSgpXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoND57eyAnVGVtYXMnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ0ZW1hc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHRoZW1lIG9mIHRoZW1lc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNldFRoZW1lKHRoZW1lLm5hbWUpOyBkaXZNb2RhbC5jbGljaygpO1wiPiB7eyB0aGVtZS5kZXNjcmlwdGlvbiB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiICpuZ0lmPVwiX3BsYXRmb3JtLkNvbmZpZy5lbmFibGVkUHJpbWVcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRUb29sdGlwXT1cIihfcGxhdGZvcm0uTW9kb1ByaW1lID8gJ01vZG9QYWRyYW8nIDogJ1ByaW1lJykgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwidG9nZ2xlTW9kZSgpXCI+PG1hdC1pY29uPmJyaWdodG5lc3NfNjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbSBzZWxlY2FvLWlkaW9tYVwiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCc6IHRvcE1lbnUuaWRpb21hIH1cIiAqbmdJZj1cImxhbmd1YWdlcy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib3BlbignaWRpb21hJylcIiBbbWF0VG9vbHRpcF09XCInSWRpb21hJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5wdWJsaWM8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1sYXRlcmFsLWRpcmVpdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmZWNoYXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQ+e3sgJ0lkaW9tYXMnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJpZGlvbWFzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbGFuZyBvZiBsYW5ndWFnZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRMYW5ndWFnZShsYW5nLmxhbmcpOyBkaXZNb2RhbC5jbGljaygpO1wiPnt7IGxhbmcubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdFRvb2x0aXBdPVwiJ1NhaXInIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cImxvZ291dCgpXCI+PG1hdC1pY29uPnBvd2VyX3NldHRpbmdzX25ldzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtcy1vdmVybGF5XCIgKGNsaWNrKT1cImNsb3NlKClcIiAjZGl2TW9kYWw+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2YmFyLWJ1dHRvblwiIFtuZ0NsYXNzXT1cInsgJ29wZW4nIDogb3BlbmVkIH1cIiAoY2xpY2spPVwib3BlblNpZGViYXIoKVwiPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9wbGF0Zm9ybS5Db25maWcudXggPD0gMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpdGUtbmF2YmFyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlc3Nhby1jbG9uZSB0ZXh0LWxpZ2h0Z3JheVwiICpuZ0lmPVwiX3Nlc3Npb24uQ2xvbmVcIj5cclxuICAgICAgICAgICAgPGRpdj48bGFiZWw+KHt7ICdNb2RvQ2xvbmUnIHwgdHJhbnNsYXRlIH19KTwvbGFiZWw+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXZiYXItYnV0dG9uXCIgW25nQ2xhc3NdPVwieyAnb3BlbicgOiBvcGVuZWQgfVwiIChjbGljayk9XCJvcGVuU2lkZWJhcigpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxoMSBpZD1cInBhZ2UtdGl0bGVcIiBjbGFzcz1cInBhZ2UtdGl0bGVcIiAqbmdJZj1cIl9wbGF0Zm9ybS5QYWdpbmFBdGl2YVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+e3sgX3BsYXRmb3JtLlBhZ2luYUF0aXZhLkljb25lIH19PC9tYXQtaWNvbj4ge3sgX3BsYXRmb3JtLlBhZ2luYUF0aXZhLlRpdHVsbyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvaDE+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbXNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtIHVzZXItcHJvZmlsZVwiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCcgOiB0b3BNZW51LmVtcHJlc2EgfVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJvcGVuKCdlbXByZXNhJylcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZmluZ2VycHJpbnQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyBcIkVtcHJlc2FcIiB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IF9zZXNzaW9uLkVtcHJlc2EgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1lbnUtdGl0bGVcIj57eyAnRW1wcmVzYScgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJjb21wYW55XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY29tcGFueSBvZiBfc2Vzc2lvbi5FbXByZXNhc1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRDb21wYW55KGNvbXBhbnkpOyBkaXZNb2RhbC5jbGljaygpO1wiPnt7IGNvbXBhbnkuTm9tZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJyA6IHRvcE1lbnUubm90aWZpY2FjYW8gfVwiICpuZ0lmPVwibm90aWZpY2F0aW9uYXBpXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic2V0Tm90aWZpY2F0aW9uU3RhdHVzKHRydWUsIGZhbHNlLCBmYWxzZSk7b3Blbignbm90aWZpY2FjYW8nKVwiIFttYXRUb29sdGlwXT1cIidOb3RpZmljYWNvZXMnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPm5vdGlmaWNhdGlvbnNfbm9uZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZVwiICpuZ0lmPVwibm90aWZpY2F0aW9ucy5Db3VudCA+IDBcIj57eyBub3RpZmljYXRpb25zLkNvdW50IH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJtZW51LXRpdGxlXCI+e3sgJ05vdGlmaWNhY29lcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdJZj1cIm5vdGlmaWNhdGlvbnMuSXRlbnMubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHN0eWxlPVwiY3Vyc29yOiBkZWZhdWx0O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5ub3RpZmljYXRpb25zX29mZjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ1ROb3RpZmljYWNvZXNOZW5odW1hJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub3RpZmljYXRpb25zLkl0ZW5zLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBub3RpZmljYXRpb25zLkl0ZW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm5hdmlnYXRlKGl0ZW0uVXJsKTtjbG9zZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj57eyBpdGVtLkljb24gfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkZXNjXCIgW2lubmVySHRtbF09XCJpdGVtLkRlc2NyaXB0aW9uIHwgdHJhbnNsYXRlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlXCI+e3sgaXRlbS5EYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJzogdG9wTWVudS5pZGlvbWEgfVwiICpuZ0lmPVwibGFuZ3VhZ2VzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuKCdpZGlvbWEnKVwiIFttYXRUb29sdGlwXT1cIidJZGlvbWEnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPnB1YmxpYzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1lbnUtdGl0bGVcIj57eyAnSWRpb21hJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibGFuZ3VhZ2VzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbGFuZyBvZiBsYW5ndWFnZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRMYW5ndWFnZShsYW5nLmxhbmcpOyBkaXZNb2RhbC5jbGljaygpO1wiPnt7IGxhbmcubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJzogdG9wTWVudS50ZW1hIH1cIiAqbmdJZj1cIiFwcm9kdXRpb24gJiYgdGhlbWVzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuKCd0ZW1hJylcIiBbbWF0VG9vbHRpcF09XCInVGVtYScgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+aW52ZXJ0X2NvbG9yczwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1lbnUtdGl0bGVcIj57eyAnVGVtYXMnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ0aGVtZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCB0aGVtZSBvZiB0aGVtZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRUaGVtZSh0aGVtZS5uYW1lKTsgZGl2TW9kYWwuY2xpY2soKTtcIj4ge3sgdGhlbWUuZGVzY3JpcHRpb24gfCB0cmFuc2xhdGUgfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiICpuZ0lmPVwiZmFzdHNlYXJjaGZvcm1cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuRmFzdFNlYXJjaCgpXCIgW21hdFRvb2x0aXBdPVwiZmFzdHNlYXJjaHRpdGxlIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIiAqbmdJZj1cInByb2ZpbGV1cmwgIT0gJydcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRUb29sdGlwXT1cIidNZXVQZXJmaWwnIHwgdHJhbnNsYXRlXCIgW3JvdXRlckxpbmtdPVwicHJvZmlsZXVybFwiPjxtYXQtaWNvbj5wZXJzb248L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdFRvb2x0aXBdPVwiJ1NhaXInIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cImxvZ291dCgpXCI+PG1hdC1pY29uPnBvd2VyX3NldHRpbmdzX25ldzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1zLW92ZXJsYXlcIiAoY2xpY2spPVwiY2xvc2UoKVwiICNkaXZNb2RhbD48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxzZWN0aW9uIGNsYXNzPVwibG9hZGluZy1iYXJcIiAqbmdJZj1cImxvYWRpbmdcIj48bWF0LXByb2dyZXNzLWJhciBjb2xvcj1cInByaW1hcnlcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLWJhcj48L3NlY3Rpb24+XHJcbjxkaXYgY2xhc3M9XCJibG9ja1wiICpuZ0lmPVwibG9hZGluZ1wiPjwvZGl2PiJdfQ==
1020
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy90b3BiYXIvdG9wYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy90b3BiYXIvdG9wYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNPMUIsMEJBQThD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QkFBakIsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSztZQUNHLGVBQWU7a0JBQXZCLEtBQUs7WUFDRyxxQkFBcUI7a0JBQTdCLEtBQUs7WUFDRyxzQkFBc0I7a0JBQTlCLEtBQUs7WUFDRyx3QkFBd0I7a0JBQWhDLEtBQUs7WUFDRyx5QkFBeUI7a0JBQWpDLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBQ0csZUFBZTtrQkFBdkIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyx1QkFBdUI7a0JBQS9CLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0ksYUFBYTtrQkFBdEIsTUFBTTtZQUNHLGlCQUFpQjtrQkFBMUIsTUFBTTtZQUNHLG9CQUFvQjtrQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFJlbmRlcmVyMiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmZvRGlhbG9nTW9kYWwgfSBmcm9tICcuLi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEluZm9EaWFsb2dCdXR0b25zIH0gZnJvbSAnLi4vLi4vZW51bSc7XHJcbmltcG9ydCB7IEluZm9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEluZm9BdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZvRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEluZm9UaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RoZW1lLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZvTm90aWZpY2F0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9ub3RpZmljYXRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBJbmZvU2Vzc2lvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2Vzc2lvbi5tb2RlbCc7IFxyXG5pbXBvcnQgeyBJbmZvUGxhdGZvcm1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL3BsYXRmb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbGl0aWVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLXRvcGJhcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9wYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RvcGJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvVG9wYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIG9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbGFuZ3VhZ2VzOiBhbnkgPSBbXTtcclxuICAgIEBJbnB1dCgpIHRoZW1lczogYW55ID0gW107XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25hcGk6IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25nZXRtZXRob2Q6IHN0cmluZyA9ICdHZXQnO1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9ucG9zdG1ldGhvZDogc3RyaW5nID0gJ1Bvc3ROb3RpZmljYXRpb24nO1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9udmVyaWZ5bWV0aG9kOiBzdHJpbmcgPSAnVmVyaWZ5JztcclxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbnZlcmlmeWVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgZmFzdHNlYXJjaGZvcm06IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBmYXN0c2VhcmNoZm9ybXdpZHRoOiBudW1iZXIgPSAxMjAwO1xyXG4gICAgQElucHV0KCkgZmFzdHNlYXJjaHRpdGxlOiBzdHJpbmcgPSAnUGVzcXVpc2FSYXBpZGFDYXJ0ZWlyYSc7XHJcbiAgICBASW5wdXQoKSBwcm9maWxldXJsOiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIHNldHRoZW1lb25jaGFuZ2Vjb21wYW55OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBlbmFibGVkaWE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSBvbmNoYW5nZXN0YXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uZ2V0bm90aWZpY2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9udmVyaWZ5bm90aWZpY2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIG1vZGFsUmVmOiBhbnkgPSBudWxsO1xyXG4gICAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJvZHV0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBub3RpZmljYXRpb25zOiBJbmZvTm90aWZpY2F0aW9uTW9kZWwgPSBuZXcgSW5mb05vdGlmaWNhdGlvbk1vZGVsKCk7XHJcblxyXG4gICAgdG9wTWVudTogYW55ID0ge1xyXG4gICAgICAgIGNsaWVudGU6IGZhbHNlLFxyXG4gICAgICAgIGVtcHJlc2E6IGZhbHNlLFxyXG4gICAgICAgIHVuaWRhZGU6IGZhbHNlLFxyXG4gICAgICAgIGluZm9pYTogZmFsc2UsXHJcbiAgICAgICAgdGVtYTogZmFsc2UsXHJcbiAgICAgICAgaWRpb21hOiBmYWxzZSxcclxuICAgICAgICBub3RpZmljYWNhbzogZmFsc2UsXHJcbiAgICAgICAgY2FsZW5kYXJpbzogZmFsc2VcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogSW5mb1RyYW5zbGF0ZVNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHVibGljIF9hdXRoZW50aWNhdGlvblNlcnZpY2U6IEluZm9BdXRoZW50aWNhdGlvblNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfZGF0YVNlcnZpY2U6IEluZm9EYXRhU2VydmljZSwgXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF90aGVtZVNlcnZpY2U6IEluZm9UaGVtZVNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgX2RpYWxvZzogSW5mb0RpYWxvZ01vZGFsLCBcclxuICAgICAgICAgICAgICAgIHB1YmxpYyBfc2Vzc2lvbjogSW5mb1Nlc3Npb25Nb2RlbCwgXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgX3BsYXRmb3JtOiBJbmZvUGxhdGZvcm1Nb2RlbCwgXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9tb2RhbDogTWF0RGlhbG9nLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMiwgXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfdXRpbGl0aWVzOiBVdGlsaXRpZXMpIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3V4YycgKyB0aGlzLl9wbGF0Zm9ybS5Db25maWcudXgpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLl9wbGF0Zm9ybS5Db25maWcudG9wTWVudSlcclxuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAndG9wbWVudScpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB0aGlzLnByb2R1dGlvbiA9IHRoaXMuX3BsYXRmb3JtLkNvbmZpZy5wcm9kdWN0aW9uO1xyXG4gICAgICAgIHRoaXMuZ2V0Tm90aWZpY2F0aW9ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldENvbXBhbnkoY29tcGFueSkge1xyXG4gICAgICAgIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS50cm9jYXJFbXByZXNhKHRoaXMuX3Nlc3Npb24uTG9naW4sIGNvbXBhbnkuSWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnbG9hZGluZycsICd0cnVlJyk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uUGVybWlzc29lcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5FbXByZXNhSWQgPSBjb21wYW55LklkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5FbXByZXNhID0gY29tcGFueS5Ob21lO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5UZW1hSWQgPSAoKGNvbXBhbnkuVW5pZGFkZXMgfHwgW10pWzBdIHx8IHt9KS5UZW1hSWQgfHwgY29tcGFueS5UZW1hSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGVzID0gY29tcGFueS5VbmlkYWRlcztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZUlkID0gKChjb21wYW55LlVuaWRhZGVzIHx8IFtdKSB8fCB7fSkuSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGUgPSAoKGNvbXBhbnkuVW5pZGFkZXMgfHwgW10pIHx8IHt9KS5Ob21lO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldFRoZW1lQnlMb2dnZWRDb21wYW55KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJEYXNoYm9hcmRcIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91dGlsaXRpZXMuc2V0TG9jYWxTdG9yYWdlKHRoaXMuX3BsYXRmb3JtLlNlc3Npb25LZXksIEpTT04uc3RyaW5naWZ5KHRoaXMuX3Nlc3Npb24pKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaWYgKChjb21wYW55LlVuaWRhZGVzIHx8IFtdKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRVbml0eShjb21wYW55LlVuaWRhZGVzWzBdKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnJykudGhlbihyID0+IGxvY2F0aW9uLnJlbG9hZCgpKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9IGVsc2UgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpO1xyXG4gICAgICAgIH0sIGVyciA9PiB0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFVuaXR5KHVuaXR5KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRyb2NhclVuaWRhZGUodGhpcy5fc2Vzc2lvbi5Mb2dpbiwgdGhpcy5fc2Vzc2lvbi5FbXByZXNhSWQsIHVuaXR5LklkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcy5zdWNjZXNzKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2xvYWRpbmcnLCAndHJ1ZScpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlBlcm1pc3NvZXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVGVtYUlkID0gdW5pdHkuVGVtYUlkID8/IHRoaXMuX3Nlc3Npb24uVGVtYUlkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5VbmlkYWRlSWQgPSB1bml0eS5JZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZSA9IHVuaXR5Lk5vbWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0VGhlbWVCeUxvZ2dlZENvbXBhbnkoKTtcclxuXHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkRhc2hib2FyZFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3V0aWxpdGllcy5zZXRMb2NhbFN0b3JhZ2UodGhpcy5fcGxhdGZvcm0uU2Vzc2lvbktleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5fc2Vzc2lvbikpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJycpLnRoZW4ociA9PiBsb2NhdGlvbi5yZWxvYWQoKSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSBlbHNlIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICB9LCBlcnIgPT4gdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpKTtcclxuICAgIH0gXHJcblxyXG4gICAgc2V0Q29tcGFueVVuaXR5KGNvbXBhbnksIHVuaXR5KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRyb2NhclVuaWRhZGUodGhpcy5fc2Vzc2lvbi5Mb2dpbiwgY29tcGFueS5JZCwgdW5pdHkuSWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnbG9hZGluZycsICd0cnVlJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5QZXJtaXNzb2VzID0gW107XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLkVtcHJlc2FJZCA9IGNvbXBhbnkuSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLkVtcHJlc2EgPSBjb21wYW55Lk5vbWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGVzID0gY29tcGFueS5VbmlkYWRlcztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVGVtYUlkID0gdW5pdHkuVGVtYUlkID8/IGNvbXBhbnkuVGVtYUlkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5VbmlkYWRlSWQgPSB1bml0eS5JZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZSA9IHVuaXR5Lk5vbWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0VGhlbWVCeUxvZ2dlZENvbXBhbnkoKTtcclxuXHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkRhc2hib2FyZFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3V0aWxpdGllcy5zZXRMb2NhbFN0b3JhZ2UodGhpcy5fcGxhdGZvcm0uU2Vzc2lvbktleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5fc2Vzc2lvbikpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJycpLnRoZW4ociA9PiBsb2NhdGlvbi5yZWxvYWQoKSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSBlbHNlIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICB9LCBlcnIgPT4gdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRDbGllbnQoY2xpZW50KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRyb2NhckNsaWVudGUodGhpcy5fc2Vzc2lvbi5Mb2dpbiwgY2xpZW50LklkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcy5zdWNjZXNzKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2xvYWRpbmcnLCAndHJ1ZScpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlBlcm1pc3NvZXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVXN1YXJpbyA9IGNsaWVudC5Ob21lO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkRhc2hib2FyZFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3V0aWxpdGllcy5zZXRMb2NhbFN0b3JhZ2UodGhpcy5fcGxhdGZvcm0uU2Vzc2lvbktleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5fc2Vzc2lvbikpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnJykudGhlbihyID0+IGxvY2F0aW9uLnJlbG9hZCgpKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9IGVsc2UgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpO1xyXG4gICAgICAgIH0sIGVyciA9PiB0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldExhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLnNldChsYW5ndWFnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGhlbWUodGhlbWUpIHtcclxuICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0VGhlbWUodGhlbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZU1vZGUoKXtcclxuICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0TW9kZVByaW1lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb3BlbkZhc3RTZWFyY2goKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5tb2RhbFJlZiAhPSBudWxsKSBcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLm1vZGFsUmVmID0gdGhpcy5fbW9kYWwub3Blbih0aGlzLmZhc3RzZWFyY2hmb3JtLCB7XHJcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuZmFzdHNlYXJjaGZvcm13aWR0aCArICdweCdcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5tb2RhbFJlZi5rZXlkb3duRXZlbnRzKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMubG9hZGluZyAmJiAoci5rZXkgPT0gXCJFc2NhcGVcIiB8fCByLmtleSA9PSBcIkVzY1wiIHx8IHIua2V5ID09IFwiMjdcIikpXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGFsUmVmLmNsb3NlKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMubW9kYWxSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUociA9PiB7IHRoaXMubW9kYWxSZWYgPSBudWxsIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW4oYWNodGl2ZU1lbnUpIHtcclxuICAgICAgICB0aGlzLnRvcE1lbnUuY2xpZW50ZSA9IGFjaHRpdmVNZW51ID09ICdjbGllbnRlJztcclxuICAgICAgICB0aGlzLnRvcE1lbnUuZW1wcmVzYSA9IGFjaHRpdmVNZW51ID09ICdlbXByZXNhJztcclxuICAgICAgICB0aGlzLnRvcE1lbnUudW5pZGFkZSA9IGFjaHRpdmVNZW51ID09ICd1bmlkYWRlJztcclxuICAgICAgICB0aGlzLnRvcE1lbnUuaW5mb2lhID0gYWNodGl2ZU1lbnUgPT0gJ2luZm9pYSc7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LnRlbWEgPSBhY2h0aXZlTWVudSA9PSAndGVtYSc7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmlkaW9tYSA9IGFjaHRpdmVNZW51ID09ICdpZGlvbWEnO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5ub3RpZmljYWNhbyA9IGFjaHRpdmVNZW51ID09ICdub3RpZmljYWNhbyc7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmNhbGVuZGFyaW8gPSBhY2h0aXZlTWVudSA9PSAnY2FsZW5kYXJpbyc7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKSB7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmNsaWVudGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvcE1lbnUuZW1wcmVzYSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS51bmlkYWRlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmluZm9pYSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS50ZW1hID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmlkaW9tYSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5ub3RpZmljYWNhbyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5jYWxlbmRhcmlvID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgb3BlblNpZGViYXIoKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuZWQgPSAhdGhpcy5vcGVuZWQ7XHJcbiAgICAgICAgdGhpcy5vbmNoYW5nZXN0YXRlLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXROb3RpZmljYXRpb25zKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmlzTG9nZ2VkKCkgfHwgdGhpcy5ub3RpZmljYXRpb25hcGkgPT0gbnVsbClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLl9kYXRhU2VydmljZS5nZXQodGhpcy5ub3RpZmljYXRpb25hcGksIHRoaXMubm90aWZpY2F0aW9uZ2V0bWV0aG9kLCBudWxsKS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9ucy5Db3VudCA9IHIuZGF0YS5Db3VudDtcclxuICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9ucy5JdGVucyA9IHIuZGF0YS5JdGVucztcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ub3RpZmljYXRpb252ZXJpZnllbmFibGVkKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmVyaWZ5Tm90aWZpY2F0aW9ucygpO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMub25nZXRub3RpZmljYXRpb24uZW1pdCh0aGlzLm5vdGlmaWNhdGlvbnMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdmVyaWZ5Tm90aWZpY2F0aW9ucygpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5pc0xvZ2dlZCgpIHx8IHRoaXMubm90aWZpY2F0aW9uYXBpID09IG51bGwpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5fZGF0YVNlcnZpY2UuZ2V0KHRoaXMubm90aWZpY2F0aW9uYXBpLCB0aGlzLm5vdGlmaWNhdGlvbnZlcmlmeW1ldGhvZCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgICAgICBpZiAoci5kYXRhID09IC0xKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2dvdXQoKTtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMubm90aWZpY2F0aW9ucy5Db3VudCA9PSByLmRhdGEpXHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy52ZXJpZnlOb3RpZmljYXRpb25zKCk7IH0sIDE1MDAwKTtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgdGhpcy5nZXROb3RpZmljYXRpb25zKCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLm9udmVyaWZ5bm90aWZpY2F0aW9uLmVtaXQoey4uLnRoaXMubm90aWZpY2F0aW9ucywgVmVyaWZ5Q291bnQ6IHIuZGF0YX0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNldE5vdGlmaWNhdGlvblN0YXR1cyhyZWFkLCBhY2Nlc3MsIHJlbW92ZSkge1xyXG4gICAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvbnMuQ291bnQgPT0gMCkgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLl9kYXRhU2VydmljZS5wb3N0KHRoaXMubm90aWZpY2F0aW9uYXBpLCB7IElkOiAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwJywgQWNlc3NvOiBhY2Nlc3MsIExlaXR1cmE6IHJlYWQsIEV4Y2x1c2FvOiByZW1vdmUgfSwgdGhpcy5ub3RpZmljYXRpb25wb3N0bWV0aG9kKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShyID0+IHRoaXMubm90aWZpY2F0aW9ucy5Db3VudCA9IDApO1xyXG4gICAgfVxyXG5cclxuICAgIG5hdmlnYXRlKHVybDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFt1cmwucmVwbGFjZSgnLyMnLCAnJyldKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2dvdXQoKSB7XHJcbiAgICAgICAgdGhpcy5fZGlhbG9nLlllc09yTm8oJ0Rlc2VqYVJlYWxtZW50ZVNhaXInKS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyLmJ1dHRvbiA9PSBJbmZvRGlhbG9nQnV0dG9ucy5ZZXMpXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiX3BsYXRmb3JtLkNvbmZpZy51eCA+PSAzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2l0ZS1uYXZiYXJcIj5cclxuICAgICAgICA8YSBjbGFzcz1cImxvZ29cIiA+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwibG9nby1pbWdcIj48L2k+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwibG9nby1pbWctcmVzcFwiPjwvaT5cclxuICAgICAgICA8L2E+XHJcbiAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbSB1c3VhcmlvLWxvZ2Fkb1wiIFtjbGFzcy5zZXBhcmFkb3JdPVwiX3Nlc3Npb24uRW1wcmVzYXMubGVuZ3RoID4gMSB8fCBfc2Vzc2lvbi5VbmlkYWRlc1wiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCcgOiB0b3BNZW51LmNsaWVudGUgfVwiPlxyXG4gICAgICAgICAgICAgICAgPGRsIChjbGljayk9XCJvcGVuKCdjbGllbnRlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZHQ+e3sgX3Nlc3Npb24uUGVyZmlsIH19PC9kdD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGQ+e3sgX3Nlc3Npb24uVXN1YXJpbyB9fTwvZGQ+XHJcbiAgICAgICAgICAgICAgICA8L2RsPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWxhdGVyYWwtZGlyZWl0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZlY2hhclwiIChjbGljayk9XCJjbG9zZSgpXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoND57eyAnQ2xpZW50ZXMnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJlbXByZXNhc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGNsaWVudCBvZiBfc2Vzc2lvbi5DbGllbnRlc1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRDbGllbnQoY2xpZW50KTsgZGl2TW9kYWwuY2xpY2soKTtcIj57eyBjbGllbnQuTm9tZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtIHNlbGVjYW8tZW1wcmVzYVwiICpuZ0lmPVwiX3Nlc3Npb24uRW1wcmVzYXMubGVuZ3RoID4gMVwiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCcgOiB0b3BNZW51LmVtcHJlc2EgfVwiPlxyXG4gICAgICAgICAgICAgICAgPGRsIChjbGljayk9XCJvcGVuKCdlbXByZXNhJylcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZHQ+e3sgJ0VtcHJlc2EnIHwgdHJhbnNsYXRlIH19PC9kdD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGQ+e3sgX3Nlc3Npb24uRW1wcmVzYSB9fTwvZGQ+XHJcbiAgICAgICAgICAgICAgICA8L2RsPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1sYXRlcmFsLWRpcmVpdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmZWNoYXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQ+e3sgJ0VtcHJlc2FzJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiZW1wcmVzYXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBjb21wYW55IG9mIF9zZXNzaW9uLkVtcHJlc2FzXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNldENvbXBhbnkoY29tcGFueSk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+e3sgY29tcGFueS5Ob21lIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW0gc2VsZWNhby1lbXByZXNhXCIgKm5nSWY9XCJfc2Vzc2lvbi5VbmlkYWRlICYmIChfc2Vzc2lvbi5VbmlkYWRlcyB8fCBbXSkubGVuZ3RoID4gMVwiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCcgOiB0b3BNZW51LnVuaWRhZGUgfVwiPlxyXG4gICAgICAgICAgICAgICAgPGRsIChjbGljayk9XCJvcGVuKCd1bmlkYWRlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZHQ+e3sgJ1VuaWRhZGUnIHwgdHJhbnNsYXRlIH19PC9kdD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGQ+e3sgX3Nlc3Npb24uVW5pZGFkZSB9fTwvZGQ+XHJcbiAgICAgICAgICAgICAgICA8L2RsPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1sYXRlcmFsLWRpcmVpdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmZWNoYXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQ+e3sgJ1VuaWRhZGVzJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiZW1wcmVzYXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCB1bml0eSBvZiBfc2Vzc2lvbi5VbmlkYWRlc1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRVbml0eSh1bml0eSk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+e3sgdW5pdHkuTm9tZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUocHJvZmlsZXVybClcIiBbbWF0VG9vbHRpcF09XCInTWV1UGVyZmlsJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5wZXJzb248L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtIHNlbGVjYW8taW5mb2lhXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJzogdG9wTWVudS5pbmZvaWEgfVwiICpuZ0lmPVwiZW5hYmxlZGlhXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib3BlbignaW5mb2lhJylcIiBbbWF0VG9vbHRpcF09XCInSW5mbyBJQScgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJ0luZm9JQScgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kaXZlcnNpdHlfMjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtbGF0ZXJhbC1kaXJlaXRhIGluZm9pYVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZlY2hhclwiIChjbGljayk9XCJjbG9zZSgpXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoND57eyAnSW5mb0lBJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiICpuZ0lmPVwiZmFzdHNlYXJjaGZvcm1cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuRmFzdFNlYXJjaCgpXCIgW21hdFRvb2x0aXBdPVwiZmFzdHNlYXJjaHRpdGxlIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJyA6IHRvcE1lbnUubm90aWZpY2FjYW8gfVwiICpuZ0lmPVwibm90aWZpY2F0aW9uYXBpXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic2V0Tm90aWZpY2F0aW9uU3RhdHVzKHRydWUsIGZhbHNlLCBmYWxzZSk7b3Blbignbm90aWZpY2FjYW8nKVwiIFttYXRUb29sdGlwXT1cIidOb3RpZmljYWNvZXMnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPm5vdGlmaWNhdGlvbnNfbm9uZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZVwiICpuZ0lmPVwibm90aWZpY2F0aW9ucy5Db3VudCA+IDBcIj57eyBub3RpZmljYXRpb25zLkNvdW50IH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWxhdGVyYWwtZGlyZWl0YVwiID5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmZWNoYXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQ+e3sgJ05vdGlmaWNhY29lcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJub3RpZmljYXRpb25zLkl0ZW5zLmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBzdHlsZT1cImN1cnNvcjogZGVmYXVsdDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+bm90aWZpY2F0aW9uczwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ1ROb3RpZmljYWNvZXNOZW5odW1hJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm90aWZpY2F0aW9ucy5JdGVucy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm90aWZpY2F0aW9ucy5JdGVuc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJuYXZpZ2F0ZShpdGVtLlVybCk7Y2xvc2UoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+e3sgJ0RpYScgfCB0cmFuc2xhdGUgfX0ge3sgaXRlbS5EYXRlIH19PC9kdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBbaW5uZXJIdG1sXT1cIml0ZW0uRGVzY3JpcHRpb24gfCB0cmFuc2xhdGVcIj48L2RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhbHRlcm5hck1vZG8oKVwiIFttYXRUb29sdGlwXT1cIidBbHRlcm5hck1vZG8nIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPmJyaWdodG5lc3NfNjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbSBzZWxlY2FvLXRlbWFcIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnOiB0b3BNZW51LnRlbWEgfVwiICpuZ0lmPVwiIXByb2R1dGlvbiAmJiB0aGVtZXMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9wZW4oJ3RlbWEnKVwiIFttYXRUb29sdGlwXT1cIidUZW1hJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5pbnZlcnRfY29sb3JzPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtbGF0ZXJhbC1kaXJlaXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmVjaGFyXCIgKGNsaWNrKT1cImNsb3NlKClcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0Pnt7ICdUZW1hcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInRlbWFzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdGhlbWUgb2YgdGhlbWVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic2V0VGhlbWUodGhlbWUubmFtZSk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+IHt7IHRoZW1lLmRlc2NyaXB0aW9uIHwgdHJhbnNsYXRlIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCIgKm5nSWY9XCJfcGxhdGZvcm0uQ29uZmlnLmVuYWJsZWRQcmltZVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdFRvb2x0aXBdPVwiKF9wbGF0Zm9ybS5Nb2RvUHJpbWUgPyAnTW9kb1BhZHJhbycgOiAnUHJpbWUnKSB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJ0b2dnbGVNb2RlKClcIj48bWF0LWljb24+YnJpZ2h0bmVzc182PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtIHNlbGVjYW8taWRpb21hXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJzogdG9wTWVudS5pZGlvbWEgfVwiICpuZ0lmPVwibGFuZ3VhZ2VzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuKCdpZGlvbWEnKVwiIFttYXRUb29sdGlwXT1cIidJZGlvbWEnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPnB1YmxpYzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWxhdGVyYWwtZGlyZWl0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZlY2hhclwiIChjbGljayk9XCJjbG9zZSgpXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoND57eyAnSWRpb21hcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImlkaW9tYXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBsYW5nIG9mIGxhbmd1YWdlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNldExhbmd1YWdlKGxhbmcubGFuZyk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+e3sgbGFuZy5uYW1lIHwgdHJhbnNsYXRlIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0VG9vbHRpcF09XCInU2FpcicgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwibG9nb3V0KClcIj48bWF0LWljb24+cG93ZXJfc2V0dGluZ3NfbmV3PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1zLW92ZXJsYXlcIiAoY2xpY2spPVwiY2xvc2UoKVwiICNkaXZNb2RhbD48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXZiYXItYnV0dG9uXCIgW25nQ2xhc3NdPVwieyAnb3BlbicgOiBvcGVuZWQgfVwiIChjbGljayk9XCJvcGVuU2lkZWJhcigpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiX3BsYXRmb3JtLkNvbmZpZy51eCA8PSAyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2l0ZS1uYXZiYXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2FvLWNsb25lIHRleHQtbGlnaHRncmF5XCIgKm5nSWY9XCJfc2Vzc2lvbi5DbG9uZVwiPlxyXG4gICAgICAgICAgICA8ZGl2PjxsYWJlbD4oe3sgJ01vZG9DbG9uZScgfCB0cmFuc2xhdGUgfX0pPC9sYWJlbD48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdmJhci1idXR0b25cIiBbbmdDbGFzc109XCJ7ICdvcGVuJyA6IG9wZW5lZCB9XCIgKGNsaWNrKT1cIm9wZW5TaWRlYmFyKClcIj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGgxIGlkPVwicGFnZS10aXRsZVwiIGNsYXNzPVwicGFnZS10aXRsZVwiICpuZ0lmPVwiX3BsYXRmb3JtLlBhZ2luYUF0aXZhXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj57eyBfcGxhdGZvcm0uUGFnaW5hQXRpdmEuSWNvbmUgfX08L21hdC1pY29uPiB7eyBfcGxhdGZvcm0uUGFnaW5hQXRpdmEuVGl0dWxvIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9oMT5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW0gdXNlci1wcm9maWxlXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJyA6IHRvcE1lbnUuZW1wcmVzYSB9XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9wZW4oJ2VtcHJlc2EnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5maW5nZXJwcmludDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7IFwiRW1wcmVzYVwiIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgX3Nlc3Npb24uRW1wcmVzYSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibWVudS10aXRsZVwiPnt7ICdFbXByZXNhJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImNvbXBhbnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBjb21wYW55IG9mIF9zZXNzaW9uLkVtcHJlc2FzXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNldENvbXBhbnkoY29tcGFueSk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+e3sgY29tcGFueS5Ob21lIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnIDogdG9wTWVudS5ub3RpZmljYWNhbyB9XCIgKm5nSWY9XCJub3RpZmljYXRpb25hcGlcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzZXROb3RpZmljYXRpb25TdGF0dXModHJ1ZSwgZmFsc2UsIGZhbHNlKTtvcGVuKCdub3RpZmljYWNhbycpXCIgW21hdFRvb2x0aXBdPVwiJ05vdGlmaWNhY29lcycgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+bm90aWZpY2F0aW9uc19ub25lPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlXCIgKm5nSWY9XCJub3RpZmljYXRpb25zLkNvdW50ID4gMFwiPnt7IG5vdGlmaWNhdGlvbnMuQ291bnQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1lbnUtdGl0bGVcIj57eyAnTm90aWZpY2Fjb2VzJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwibm90aWZpY2F0aW9ucy5JdGVucy5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgc3R5bGU9XCJjdXJzb3I6IGRlZmF1bHQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPm5vdGlmaWNhdGlvbnNfb2ZmPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyAnVE5vdGlmaWNhY29lc05lbmh1bWEnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vdGlmaWNhdGlvbnMuSXRlbnMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5vdGlmaWNhdGlvbnMuSXRlbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwibmF2aWdhdGUoaXRlbS5VcmwpO2Nsb3NlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnt7IGl0ZW0uSWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlc2NcIiBbaW5uZXJIdG1sXT1cIml0ZW0uRGVzY3JpcHRpb24gfCB0cmFuc2xhdGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGVcIj57eyBpdGVtLkRhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnOiB0b3BNZW51LmlkaW9tYSB9XCIgKm5nSWY9XCJsYW5ndWFnZXMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9wZW4oJ2lkaW9tYScpXCIgW21hdFRvb2x0aXBdPVwiJ0lkaW9tYScgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+cHVibGljPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibWVudS10aXRsZVwiPnt7ICdJZGlvbWEnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsYW5ndWFnZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBsYW5nIG9mIGxhbmd1YWdlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNldExhbmd1YWdlKGxhbmcubGFuZyk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+e3sgbGFuZy5uYW1lIHwgdHJhbnNsYXRlIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnOiB0b3BNZW51LnRlbWEgfVwiICpuZ0lmPVwiIXByb2R1dGlvbiAmJiB0aGVtZXMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9wZW4oJ3RlbWEnKVwiIFttYXRUb29sdGlwXT1cIidUZW1hJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5pbnZlcnRfY29sb3JzPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibWVudS10aXRsZVwiPnt7ICdUZW1hcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInRoZW1lc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHRoZW1lIG9mIHRoZW1lc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNldFRoZW1lKHRoZW1lLm5hbWUpOyBkaXZNb2RhbC5jbGljaygpO1wiPiB7eyB0aGVtZS5kZXNjcmlwdGlvbiB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCIgKm5nSWY9XCJmYXN0c2VhcmNoZm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5GYXN0U2VhcmNoKClcIiBbbWF0VG9vbHRpcF09XCJmYXN0c2VhcmNodGl0bGUgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiICpuZ0lmPVwicHJvZmlsZXVybCAhPSAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdFRvb2x0aXBdPVwiJ01ldVBlcmZpbCcgfCB0cmFuc2xhdGVcIiBbcm91dGVyTGlua109XCJwcm9maWxldXJsXCI+PG1hdC1pY29uPnBlcnNvbjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0VG9vbHRpcF09XCInU2FpcicgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwibG9nb3V0KClcIj48bWF0LWljb24+cG93ZXJfc2V0dGluZ3NfbmV3PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbXMtb3ZlcmxheVwiIChjbGljayk9XCJjbG9zZSgpXCIgI2Rpdk1vZGFsPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPHNlY3Rpb24gY2xhc3M9XCJsb2FkaW5nLWJhclwiICpuZ0lmPVwibG9hZGluZ1wiPjxtYXQtcHJvZ3Jlc3MtYmFyIGNvbG9yPVwicHJpbWFyeVwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPjwvc2VjdGlvbj5cclxuPGRpdiBjbGFzcz1cImJsb2NrXCIgKm5nSWY9XCJsb2FkaW5nXCI+PC9kaXY+Il19
@@ -9006,6 +9006,7 @@ class InfoTopbarComponent {
9006
9006
  if (res.success) {
9007
9007
  document.body.setAttribute('loading', 'true');
9008
9008
  this._session.Permissoes = [];
9009
+ this._session.Usuario = client.Nome;
9009
9010
  localStorage.removeItem("Dashboard");
9010
9011
  this._utilities.setLocalStorage(this._platform.SessionKey, JSON.stringify(this._session));
9011
9012
  this._router.navigateByUrl('').then(r => location.reload());
@@ -9485,6 +9486,7 @@ class InfoMainComponent {
9485
9486
  this._session.OcultarNomeCliente = r.data.OcultarNomeCliente;
9486
9487
  this._session.Empresas = r.data.Empresas;
9487
9488
  this._session.Unidades = r.data.Unidades;
9489
+ this._session.Clientes = r.data.Clientes;
9488
9490
  this._session.Parametros = r.data.Parametros;
9489
9491
  this._session.MFA = r.data.MFA;
9490
9492
  this._session.TempoInatividade = r.data.TempoInatividade;