@sambath999/localize-token 12.4.5 → 12.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sambath999-localize-token.umd.js +48 -32
- package/bundles/sambath999-localize-token.umd.js.map +1 -1
- package/esm2015/localize-api-token/localize-api-token.module.js +1 -1
- package/esm2015/localize-api-token/localize-api-token.service.js +1 -1
- package/esm2015/localize-logindlg/localize-logindlg.component.js +1 -1
- package/esm2015/localize-logindlg/localize-logindlg.module.js +1 -1
- package/esm2015/localize-logindlg/localize-logindlg.service.js +1 -1
- package/esm2015/localize-token/helpers/interfaces.js +1 -1
- package/esm2015/localize-token/helpers/localize.api.assets.js +1 -1
- package/esm2015/localize-token/helpers/loccalize.api.helper.js +1 -1
- package/esm2015/localize-token/localize.api.service.js +3 -4
- package/esm2015/localize-token/localize.token.js +13 -4
- package/esm2015/localize-token/localize.token.module.js +1 -1
- package/esm2015/localize-token/localize.token.service.js +6 -3
- package/esm2015/localize-token/localize.token.storage.js +1 -1
- package/esm2015/public-api.js +1 -1
- package/esm2015/sambath999-localize-token.js +1 -1
- package/fesm2015/sambath999-localize-token.js +19 -8
- package/fesm2015/sambath999-localize-token.js.map +1 -1
- package/localize-token/localize.token.d.ts +1 -0
- package/localize-token/localize.token.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -18,4 +18,4 @@ LocalizeApiTokenModule.decorators = [
|
|
|
18
18
|
]
|
|
19
19
|
},] }
|
|
20
20
|
];
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtYXBpLXRva2VuLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2NhbGl6ZS1hcGktdG9rZW4vbG9jYWxpemUtYXBpLXRva2VuLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQWN2RSxNQUFNLE9BQU8sc0JBQXNCOzs7WUFYbEMsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxFQUFFO2dCQUNoQixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixtQkFBbUI7b0JBQ25CLHNCQUFzQjtpQkFDdkI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULHVCQUF1QjtpQkFDeEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IExvY2FsaXplTG9naW5kbGdNb2R1bGUgfSBmcm9tICcuLi9sb2NhbGl6ZS1sb2dpbmRsZy9sb2NhbGl6ZS1sb2dpbmRsZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuTW9kdWxlIH0gZnJvbSAnLi4vbG9jYWxpemUtdG9rZW4vbG9jYWxpemUudG9rZW4ubW9kdWxlJztcclxuaW1wb3J0IHsgTG9jYWxpemVBcGlUb2tlblNlcnZpY2UgfSBmcm9tICcuL2xvY2FsaXplLWFwaS10b2tlbi5zZXJ2aWNlJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTG9jYWxpemVUb2tlbk1vZHVsZSxcclxuICAgIExvY2FsaXplTG9naW5kbGdNb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgTG9jYWxpemVBcGlUb2tlblNlcnZpY2VcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZUFwaVRva2VuTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -31,4 +31,4 @@ LocalizeApiTokenService.ctorParameters = () => [
|
|
|
31
31
|
{ type: LocalizeApiService },
|
|
32
32
|
{ type: LocalizeLogindlgService }
|
|
33
33
|
];
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtYXBpLXRva2VuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9jYWxpemUtYXBpLXRva2VuL2xvY2FsaXplLWFwaS10b2tlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFekYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7O0FBS2hGLE1BQU0sT0FBTyx1QkFBdUI7SUFLbEMsWUFBWSxZQUFrQyxFQUM1QyxVQUE4QixFQUM5QixrQkFBMkM7UUFDM0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztJQUN4QyxDQUFDO0lBRUQsVUFBVSxDQUFDLFdBQWlDLEVBQUUsU0FBOEI7UUFDMUUsNEVBQTRFO1FBQzVFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTdCLHdFQUF3RTtRQUN4RSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6QixPQUFPLENBQUMsR0FBRyxDQUFDLHdFQUF3RSxDQUFDLENBQUM7SUFFeEYsQ0FBQzs7OztZQXpCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUpRLG9CQUFvQjtZQUZwQixrQkFBa0I7WUFGbEIsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZUxvZ2luZGxnU2VydmljZSB9IGZyb20gJy4uL2xvY2FsaXplLWxvZ2luZGxnL2xvY2FsaXplLWxvZ2luZGxnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJTG9jYWxpemVBcGlDb25maWdzIH0gZnJvbSAnLi4vbG9jYWxpemUtdG9rZW4vaGVscGVycy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTG9jYWxpemVBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vbG9jYWxpemUtdG9rZW4vbG9jYWxpemUuYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJTG9jYWxpemVUb2tlbkNvbmZpZyB9IGZyb20gJy4uL2xvY2FsaXplLXRva2VuL2xvY2FsaXplLnRva2VuJztcclxuaW1wb3J0IHsgTG9jYWxpemVUb2tlblNlcnZpY2UgfSBmcm9tICcuLi9sb2NhbGl6ZS10b2tlbi9sb2NhbGl6ZS50b2tlbi5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplQXBpVG9rZW5TZXJ2aWNlIHtcclxuICByZWFkb25seSBhcGk6IExvY2FsaXplQXBpU2VydmljZTtcclxuICByZWFkb25seSB0b2tlbjogTG9jYWxpemVUb2tlblNlcnZpY2U7XHJcbiAgcmVhZG9ubHkgbG9naW5EaWFsb2c6IExvY2FsaXplTG9naW5kbGdTZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcih0b2tlblNlcnZpY2U6IExvY2FsaXplVG9rZW5TZXJ2aWNlLFxyXG4gICAgYXBpU2VydmljZTogTG9jYWxpemVBcGlTZXJ2aWNlLFxyXG4gICAgbG9naW5EaWFsb2dTZXJ2aWNlOiBMb2NhbGl6ZUxvZ2luZGxnU2VydmljZSkge1xyXG4gICAgdGhpcy5hcGkgPSBhcGlTZXJ2aWNlO1xyXG4gICAgdGhpcy50b2tlbiA9IHRva2VuU2VydmljZTtcclxuICAgIHRoaXMubG9naW5EaWFsb2cgPSBsb2dpbkRpYWxvZ1NlcnZpY2U7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplKHRva2VuQ29uZmlnOiBJTG9jYWxpemVUb2tlbkNvbmZpZywgYXBpQ29uZmlnOiBJTG9jYWxpemVBcGlDb25maWdzKSB7XHJcbiAgICAvLyBJbml0aWFsaXplIHRoZSBMb2NhbGl6ZVRva2VuU2VydmljZSB3aXRoIHRoZSBwcm92aWRlZCB0b2tlbiBjb25maWd1cmF0aW9uXHJcbiAgICB0aGlzLnRva2VuLmluaXQodG9rZW5Db25maWcpO1xyXG5cclxuICAgIC8vIEluaXRpYWxpemUgdGhlIExvY2FsaXplQXBpU2VydmljZSB3aXRoIHRoZSBwcm92aWRlZCBBUEkgY29uZmlndXJhdGlvblxyXG4gICAgdGhpcy5hcGkuaW5pdChhcGlDb25maWcpO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKCdMb2NhbGl6ZUFwaVRva2VuU2VydmljZSBpbml0aWFsaXplZCB3aXRoIHRva2VuIGFuZCBBUEkgY29uZmlndXJhdGlvbnMuJyk7XHJcblxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -420,4 +420,4 @@ LocalizeLogindlgComponent.ctorParameters = () => [
|
|
|
420
420
|
{ type: HttpClient },
|
|
421
421
|
{ type: DomSanitizer }
|
|
422
422
|
];
|
|
423
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtbG9naW5kbGcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZGV2L3NyYy9sb2NhbGl6ZS1sb2dpbmRsZy9sb2NhbGl6ZS1sb2dpbmRsZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQWMsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBdVR6RCxNQUFNLE9BQU8seUJBQXlCO0lBY3BDLFlBQ21CLGNBQThCLEVBQzlCLEdBQXNCLEVBQ3RCLE1BQXdCLEVBQ3hCLFNBQThCLEVBQzlCLFlBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLFNBQXVCO1FBTnZCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFxQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBc0I7UUFDbEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBcEJqQyxlQUFVLEdBQUcsWUFBWSxDQUFDO1FBR25DLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsWUFBTyxHQUFHLEtBQUssQ0FB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtUFI7YUFnRUY7OztZQTNUUSxjQUFjO1lBTHJCLGlCQUFpQjtZQU1XLGdCQUFnQjtZQUFyQyxtQkFBbUI7WUFDUCxvQkFBb0I7WUFUaEMsVUFBVTtZQVlWLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xyXG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSBcInByaW1lbmcvZHluYW1pY2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBKd3RQYXlsb2FkLCBMb2NhbGl6ZVRva2VuU2VydmljZSB9IGZyb20gXCIuLi9sb2NhbGl6ZS10b2tlbi9sb2NhbGl6ZS50b2tlbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IExvY2FsaXplVG9rZW4gfSBmcm9tIFwiLi4vbG9jYWxpemUtdG9rZW4vbG9jYWxpemUudG9rZW5cIjtcclxuaW1wb3J0IHsgSUxvZ2luRGlhbG9nQ29uZmlnLCBJTG9naW5EaWFsb2dQcm9wZXJ0aWVzIH0gZnJvbSBcIi4vbG9jYWxpemUtbG9naW5kbGcuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3R5bGVzOiBbYFxyXG4gICNsb2dpbi1kbGctd3JhcCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG4gIFxyXG4gIC5sb2dpbi1kbGctZWxtIHtcclxuICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgfVxyXG5cclxuICAubG9naW4tZGxnLWVsbS5sb2dpbi1kbGctc3VnZ2VzdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4IDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZGRkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xyXG4gICAgYm94LXNoYWRvdzogMXB4IDVweCAxMHB4IC0xMnB4ICMwMDA7XHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1kbGctaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tZGxnLWhlYWRlciBoMyB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgY29sb3I6IG9yYW5nZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgXHJcbiAgI2xvZ2luLWxvZ28ge1xyXG4gICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgd2lkdGg6IDU1cHg7XHJcbiAgICAvKiBiYWNrZ3JvdW5kOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9sb2dvLTMwMHB4LnBuZ1wiKSBuby1yZXBlYXQ7ICovXHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcclxuICB9XHJcbiAgXHJcbiAgI2xvZ2luLWRsZy1jb250ZW50IC5wLWlucHV0Z3JvdXAge1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tZGxnLWNvbnRlbnQgLnAtaW5wdXRncm91cCAucC1pbnB1dGdyb3VwLWFkZG9uIHtcclxuICAgIGhlaWdodDogNDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHggMCAwIDE1cHg7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICB9XHJcbiAgI2xvZ2luLWRsZy1jb250ZW50ICp7XHJcbiAgICBmb250LXNpemU6IC45cmVtO1xyXG4gICAgLyogZm9udC1mYW1pbHk6ICdMZXhlbmQnLCAnUm9ib3RvJywgc2Fucy1zZXJpZiwgJ21hdGVyaWFsLWljb25zLXJvdW5kJzsgKi9cclxuICB9XHJcbiAgXHJcbiAgI2xvZ2luLWRsZy1jb250ZW50IC5wLWlucHV0Z3JvdXAgLnAtaW5wdXRncm91cC1hZGRvbiAqIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICB9XHJcbiAgXHJcbiAgI2xvZ2luLWRsZy1jb250ZW50IC5wLWlucHV0Z3JvdXAgaW5wdXQge1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAxNXB4IDE1cHggMDtcclxuICB9XHJcbiAgXHJcbiAgI2xvZ2luLWRsZy1jb250ZW50IGJ1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gIH1cclxuICBcclxuICAvKmNoZWNrIGFuaW1hdGlvbiBibG9jayovXHJcbiAgXHJcbiAgLmNoZWNrLWFuaW1hdGlvbi13cmFwIHtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyMDBweCk7XHJcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcclxuICB9XHJcbiAgXHJcbiAgLmNoZWNrLW1haW4tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcbiAgXHJcbiAgLmNoZWNrLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogNi4yNXJlbTtcclxuICAgIGhlaWdodDogNy41cmVtO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZmxvdzogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB9XHJcbiAgXHJcbiAgLmNoZWNrLWNvbnRhaW5lciAuY2hlY2stYmFja2dyb3VuZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCAjNWRlNTkzLCAjNDFkNjdjKTtcclxuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDY1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldCwgMHB4IDBweCAwcHggNjVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0O1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjg0KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGFuaW1hdGlvbjogYW5pbWF0ZUNvbnRhaW5lciAwLjc1cyBlYXNlLW91dCBmb3J3YXJkcyAwLjc1cztcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICBcclxuICAuY2hlY2stY29udGFpbmVyIC5jaGVjay1iYWNrZ3JvdW5kIHN2ZyB7XHJcbiAgICB3aWR0aDogNjUlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuMjVyZW0pO1xyXG4gICAgc3Ryb2tlLWRhc2hhcnJheTogODA7XHJcbiAgICBzdHJva2UtZGFzaG9mZnNldDogODA7XHJcbiAgICBhbmltYXRpb246IGFuaW1hdGVDaGVjayAwLjM1cyBmb3J3YXJkcyAxLjI1cyBlYXNlLW91dDtcclxuICAgIG1pbi13aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICAuY2hlY2stY29udGFpbmVyIC5jaGVjay1zaGFkb3cge1xyXG4gICAgYm90dG9tOiBjYWxjKC0xNSUgLSA1cHgpO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjbG9zZXN0LXNpZGUsIHJnYmEoNzMsIDIxOCwgMTMxLCAxKSwgdHJhbnNwYXJlbnQpO1xyXG4gICAgYW5pbWF0aW9uOiBhbmltYXRlU2hhZG93IDAuNzVzIGVhc2Utb3V0IGZvcndhcmRzIDAuNzVzO1xyXG4gIH1cclxuICBcclxuICBAa2V5ZnJhbWVzIGFuaW1hdGVDb250YWluZXIge1xyXG4gICAgMCUge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCA2NXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQsIDBweCAwcHggMHB4IDY1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldDtcclxuICAgIH1cclxuICBcclxuICAgIDI1JSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggNjVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0LCAwcHggMHB4IDBweCA2NXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQ7XHJcbiAgICB9XHJcbiAgXHJcbiAgICA0My43NSUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xyXG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCA0My4zMzRweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0LCAwcHggMHB4IDBweCA2NXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQ7XHJcbiAgICB9XHJcbiAgXHJcbiAgICA2Mi41JSB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0LCAwcHggMHB4IDBweCAyMS42NjdweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgODEuMjUlIHtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgMTAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgQGtleWZyYW1lcyBhbmltYXRlQ2hlY2sge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA4MDtcclxuICAgIH1cclxuICBcclxuICAgIHRvIHtcclxuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIEBrZXlmcmFtZXMgYW5pbWF0ZVNoYWRvdyB7XHJcbiAgICAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDE1JTtcclxuICAgIH1cclxuICBcclxuICAgIDI1JSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuMjU7XHJcbiAgICB9XHJcbiAgXHJcbiAgICA0My43NSUge1xyXG4gICAgICB3aWR0aDogNDAlO1xyXG4gICAgICBoZWlnaHQ6IDclO1xyXG4gICAgICBvcGFjaXR5OiAwLjM1O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgMTAwJSB7XHJcbiAgICAgIHdpZHRoOiA4NSU7XHJcbiAgICAgIGhlaWdodDogMTUlO1xyXG4gICAgICBvcGFjaXR5OiAwLjI1O1xyXG4gICAgfVxyXG4gIH1cclxuICAjbG9naW4tZGxnLXdyYXAgLmxvYWRlci13cmFwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6MTAwJTtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogMTAwO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjQyO1xyXG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCk7XHJcbiAgfVxyXG5cclxuICAjbG9naW4tZGxnLXdyYXAgLmxvZ2luLWRsZy1sb2FkZXIge1xyXG4gICAgYm9yZGVyOiAxNXB4IHNvbGlkICNlN2U3ZTc7XHJcbiAgICBib3JkZXItdG9wOiAxNXB4IHNvbGlkICM1MmRiYTE7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgYW5pbWF0aW9uOiBzcGlubG9hZGVyIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuICB9XHJcblxyXG4gICNsb2dpbi1kbGctd3JhcCAubG9hZGVyLXdyYXA6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDcwcHg7XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBib3JkZXI6IDE1cHggc29saWQgI2U3ZTdlNzAwO1xyXG4gICAgYm9yZGVyLXRvcDogMTVweCBzb2xpZCAjNTJkYmExYzk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBhbmltYXRpb246IHNwaW5sb2FkZXIgLjc1cyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgfVxyXG5cclxuICBAa2V5ZnJhbWVzIHNwaW5sb2FkZXIge1xyXG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxuICB9XHJcbiAgYF0sXHJcbiAgdGVtcGxhdGU6IGA8cC10b2FzdCBrZXk9XCIkbG9naW4tZGxnXCIgcG9zaXRpb249XCJ0b3AtY2VudGVyXCI+PC9wLXRvYXN0PlxyXG4gIDxkaXYgaWQ9XCJsb2dpbi1kbGctd3JhcFwiPlxyXG4gICAgPGRpdiBpZD1cImxvZ2luLWRsZy1oZWFkZXJcIj5cclxuICAgICAgPGRpdiBpZD1cImxvZ2luLWxvZ29cIiBjbGFzcz1cInAtbWItMlwiIHN0eWxlPVwiYmFja2dyb3VuZDogdXJsKCd7e3Byb3BlcnRpZXMubG9nb0ltYWdlfX0nKSBuby1yZXBlYXRcIj48L2Rpdj5cclxuICAgICAgPGgzICpuZ0lmPVwiIXN1Y2Nlc3NcIiBbaW5uZXJIVE1MXT1cInNhbml0aXplZFRpdGxlXCI+PC9oMz5cclxuICAgICAgPGgzICpuZ0lmPVwic3VjY2Vzc1wiIHN0eWxlPVwiY29sb3I6Z3JlZW4gIWltcG9ydGFudDtcIj57e3Byb3BlcnRpZXMubG9naW5TdWNjZXNzTWVzc2FnZX19PC9oMz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBpZD1cImxvZ2luLWRsZy1jb250ZW50XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3VjY2Vzc1wiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJsb2FkZXItd3JhcFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxvZ2luLWRsZy1sb2FkZXJcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9naW4tZGxnLWVsbVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtaW5wdXRncm91cFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtaW5wdXRncm91cC1hZGRvblwiPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtcm91bmRcIj5wZXJzb248L2k+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPGlucHV0IGRpc2FibGVkIHBJbnB1dFRleHQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cInt7cHJvcGVydGllcy51c2VybmFtZT8ucGxhY2VIb2xkZXJ9fVwiIFt2YWx1ZV09XCJkZWNvZGVUb2tlbj8uZW1haWxcIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvZ2luLWRsZy1lbG1cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWlucHV0Z3JvdXBcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLWlucHV0Z3JvdXAtYWRkb25cIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zLXJvdW5kXCI+bG9jazwvaT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8aW5wdXQgW2Rpc2FibGVkXT1cImxvYWRpbmdcIiAoa2V5ZG93bi5lbnRlcik9XCJjbGlja0xvZ2luKClcIiBwSW5wdXRUZXh0IHR5cGU9XCJwYXNzd29yZFwiIFxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3twcm9wZXJ0aWVzLnBhc3N3b3JkPy5wbGFjZUhvbGRlcn19XCIgWyhuZ01vZGVsKV09XCJwYXNzd29yZFwiXHJcbiAgICAgICAgICAgICAgYXV0b2ZvY3VzIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9naW4tZGxnLWVsbVwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIHBCdXR0b24gdHlwZT1cImJ1dHRvblwiIGxhYmVsPVwie3twcm9wZXJ0aWVzLmxvZ2luQnV0dG9uPy5wbGFjZUhvbGRlcn19XCIgKGNsaWNrKT1cImNsaWNrTG9naW4oKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhcGFzc3dvcmQgfHwgbG9hZGluZ1wiPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2dpbi1kbGctZWxtIGxvZ2luLWRsZy1zdWdnZXN0XCIgc3R5bGU9XCJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6IGNlbnRlcjt1c2VyLXNlbGVjdDogbm9uZTtcIj5cclxuICAgICAgICAgIDxzcGFuPnt7cHJvcGVydGllcy5sb2dvdXRCdXR0b24/Lm1lc3NhZ2V9fTwvc3Bhbj5cclxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwLWJ1dHRvbi10ZXh0XCIgcEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbGFiZWw9XCJ7e3Byb3BlcnRpZXMubG9nb3V0QnV0dG9uPy5wbGFjZUhvbGRlcn19XCIgXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja0xvZ291dCgpXCI+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gIFxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3VjY2Vzc1wiPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOjM1cHg7XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrLWFuaW1hdGlvbi13cmFwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2stbWFpbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1iYWNrZ3JvdW5kXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgNjUgNTFcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk03IDI1TDI3LjMwNzcgNDRMNTguNSA3XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIxM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+YCxcclxuICBzZWxlY3RvcjogXCJhcHAtbG9jYWxpemUtbG9naW5kbGdcIixcclxuICBwcm92aWRlcnM6IFtNZXNzYWdlU2VydmljZV0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplTG9naW5kbGdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IG1lc3NhZ2VLZXkgPSBcIiRsb2dpbi1kbGdcIjtcclxuICBwYXNzd29yZDogYW55O1xyXG4gIHJlYWRvbmx5IGRlY29kZVRva2VuOiBKd3RQYXlsb2FkIHwgbnVsbDtcclxuICBsb2FkaW5nID0gZmFsc2U7XHJcbiAgc3VjY2VzcyA9IGZhbHNlO1xyXG4gIHByaXZhdGUgZ2V0IGNvbmZpZygpIHsgcmV0dXJuIHRoaXMudG9rZW5TZXJ2aWNlLmNvbmZpZzsgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9naW5Db25maWc6IElMb2dpbkRpYWxvZ0NvbmZpZ1xyXG5cclxuICBwcml2YXRlIGxvZ291dD86ICgpID0+IGFueVxyXG4gIHByaXZhdGUgbG9naW5Vcmw/OiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgcHJvcGVydGllczogSUxvZ2luRGlhbG9nUHJvcGVydGllcztcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkdDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRsZ1JlZjogRHluYW1pY0RpYWxvZ1JlZixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGxnQ29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2tlblNlcnZpY2U6IExvY2FsaXplVG9rZW5TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxyXG4gICkge1xyXG4gICAgdGhpcy5kZWNvZGVUb2tlbiA9IHRoaXMudG9rZW5TZXJ2aWNlLmRlY29kZVJlZnJlc2hUb2tlbjtcclxuICAgIHRoaXMubG9naW5Db25maWcgPSB0aGlzLmRsZ0NvbmZpZy5kYXRhLmxvZ2luQ29uZmlnO1xyXG4gICAgdGhpcy5wcm9wZXJ0aWVzID0gdGhpcy5sb2dpbkNvbmZpZy5wcm9wZXJ0aWVzITtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kbGdDb25maWcuY2xvc2FibGUgPSBmYWxzZTtcclxuICAgIHRoaXMubG9nb3V0ID0gdGhpcy5sb2dpbkNvbmZpZy5sb2dvdXRGdW5jO1xyXG4gICAgdGhpcy5sb2dpblVybCA9IHRoaXMubG9naW5Db25maWcubG9naW5VcmxcclxuXHJcbiAgICBpZiAoIXRoaXMuZGVjb2RlVG9rZW4pIHtcclxuICAgICAgdGhpcy5zaG93TWVzc2FnZShcImVycm9yXCIsIFwiVG9rZW4gaXMgaW52YWxpZFwiKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmxvZ291dD8uKCksIDIwMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5jZHQuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgY2xpY2tMb2dpbigpIHtcclxuICAgIGlmICghdGhpcy5pc1ZhbGlkUGFzc3dvcmQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2hvd01lc3NhZ2UoXCJlcnJvclwiLCBcIlBhc3N3b3JkIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGF0IGxlYXN0IDYgY2hhcmFjdGVyc1wiKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgY29uc3QgbG9naW5SZXMgPSBhd2FpdCB0aGlzLmxvZ2luKCk7XHJcbiAgICBpZiAoIWxvZ2luUmVzPy5zdGF0dXMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2hvd01lc3NhZ2UoXCJlcnJvclwiLCBsb2dpblJlcy5tZXNzYWdlID8/IFwiQW4gZXJyb3Igb2NjdXJyZWRcIik7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50b2tlblNlcnZpY2UuYWNjZXNzVG9rZW4gPSBsb2dpblJlcy50b2tlbnMuYWNjZXNzVG9rZW47XHJcbiAgICBjb25zdCBjb29raWVPcHRpb25zID0geyBleHBpcmVzOiB0aGlzLmxvZ2luQ29uZmlnLmV4cGlyZSA/PyAzNjUgfVxyXG4gICAgTG9jYWxpemVUb2tlbi5zdG9yYWdlLnNldCh0aGlzLmNvbmZpZy5yZWZyZXNoVG9rZW4/Lm5hbWUgfHwgJycsIGxvZ2luUmVzLnRva2Vucy5yZWZyZXNoVG9rZW4sIGNvb2tpZU9wdGlvbnMpO1xyXG4gICAgdGhpcy5zdWNjZXNzID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmRsZ0NvbmZpZy5kaXNtaXNzYWJsZU1hc2sgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRsZ0NvbmZpZy5tb2RhbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRsZ1JlZi5jbG9zZSh0cnVlKTtcclxuICAgIH0sIDIwMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBsb2dpbigpIHtcclxuICAgIGlmICghdGhpcy5sb2dpblVybD8udHJpbSgpLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnNob3dNZXNzYWdlKFwiZXJyb3JcIiwgXCJMb2dpbiB1cmwgaXMgcmVxdWlyZWRcIik7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkxvZ2luIHVybCBpcyByZXF1aXJlZFwiKTtcclxuICAgIH1cclxuXHJcbiAgICB0cnkge1xyXG5cclxuICAgICAgaWYgKHRoaXMubG9naW5Db25maWcubG9naW5GdW5jdGlvbikge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiVXNpbmcgY3VzdG9tIGxvZ2luIGZ1bmN0aW9uXCIpO1xyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmxvZ2luQ29uZmlnLmxvZ2luRnVuY3Rpb24odGhpcy5kZWNvZGVUb2tlbj8uZW1haWwgPz8gJycsIHRoaXMucGFzc3dvcmQudHJpbSgpLCB0aGlzLmdldEhlYWRlcnMoKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+XHJcbiAgICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy5sb2dpblVybCEsXHJcbiAgICAgICAgICB7IHBhc3N3b3JkOiB0aGlzLnBhc3N3b3JkLnRyaW0oKSB9LFxyXG4gICAgICAgICAgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5zdWJzY3JpYmUoeyBuZXh0OiByZXNvbHZlLCBlcnJvcjogcmVqZWN0IH0pKTtcclxuXHJcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcclxuICAgICAgdGhpcy5zaG93TWVzc2FnZShcImVycm9yXCIsIGUubWVzc2FnZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgW0xvY2FsaXplVG9rZW4uaHR0cEhlYWRlcnMuWF9SRUZSRVNIX1RPS0VOXTogdGhpcy50b2tlblNlcnZpY2UucmVmcmVzaFRva2VuID8/IFwiXCIsXHJcbiAgICAgIFtMb2NhbGl6ZVRva2VuLmh0dHBIZWFkZXJzLlhfVEVOQU5UXTogdGhpcy50b2tlblNlcnZpY2UudGVuYW50VG9rZW4gPz8gXCJcIixcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBnZXQgaXNWYWxpZFBhc3N3b3JkKCk6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLnBhc3N3b3JkVmFsaWRhdG9yXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0aWVzLnBhc3N3b3JkVmFsaWRhdG9yKHRoaXMucGFzc3dvcmQpXHJcbiAgICAgIDogdGhpcy5wYXNzd29yZCAmJiB0aGlzLnBhc3N3b3JkLnRyaW0oKS5sZW5ndGggPj0gNiAmJiB0aGlzLnBhc3N3b3JkLnRyaW0oKS5sZW5ndGggPD0gNTA7XHJcbiAgfVxyXG5cclxuICBjbGlja0xvZ291dCA9ICgpID0+IHRoaXMubG9nb3V0Py4oKTtcclxuXHJcbiAgcHJpdmF0ZSBzaG93TWVzc2FnZShzZXZlcml0eTogc3RyaW5nLCBzdW1tYXJ5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsga2V5OiB0aGlzLm1lc3NhZ2VLZXksIHNldmVyaXR5LCBzdW1tYXJ5IH0pO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXQgc2FuaXRpemVkVGl0bGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5wcm9wZXJ0aWVzLnRpdGxlID8/ICcnKTtcclxuICB9XHJcbn1cclxuIl19
|
|
423
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtbG9naW5kbGcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvY2FsaXplLWxvZ2luZGxnL2xvY2FsaXplLWxvZ2luZGxnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlFLE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUF1VHpELE1BQU0sT0FBTyx5QkFBeUI7SUFjcEMsWUFDbUIsY0FBOEIsRUFDOUIsR0FBc0IsRUFDdEIsTUFBd0IsRUFDeEIsU0FBOEIsRUFDOUIsWUFBa0MsRUFDbEMsVUFBc0IsRUFDdEIsU0FBdUI7UUFOdkIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQUNsQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFwQmpDLGVBQVUsR0FBRyxZQUFZLENBQUM7UUFHbkMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBa0doQixnQkFB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1QUjthQWdFRjs7O1lBM1RRLGNBQWM7WUFMckIsaUJBQWlCO1lBTVcsZ0JBQWdCO1lBQXJDLG1CQUFtQjtZQUNQLG9CQUFvQjtZQVRoQyxVQUFVO1lBWVYsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XHJcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tIFwicHJpbWVuZy9keW5hbWljZGlhbG9nXCI7XHJcbmltcG9ydCB7IEp3dFBheWxvYWQsIExvY2FsaXplVG9rZW5TZXJ2aWNlIH0gZnJvbSBcIi4uL2xvY2FsaXplLXRva2VuL2xvY2FsaXplLnRva2VuLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTG9jYWxpemVUb2tlbiB9IGZyb20gXCIuLi9sb2NhbGl6ZS10b2tlbi9sb2NhbGl6ZS50b2tlblwiO1xyXG5pbXBvcnQgeyBJTG9naW5EaWFsb2dDb25maWcsIElMb2dpbkRpYWxvZ1Byb3BlcnRpZXMgfSBmcm9tIFwiLi9sb2NhbGl6ZS1sb2dpbmRsZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzdHlsZXM6IFtgXHJcbiAgI2xvZ2luLWRsZy13cmFwIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcbiAgXHJcbiAgLmxvZ2luLWRsZy1lbG0ge1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICB9XHJcblxyXG4gIC5sb2dpbi1kbGctZWxtLmxvZ2luLWRsZy1zdWdnZXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXggO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNkZGQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XHJcbiAgICBib3gtc2hhZG93OiAxcHggNXB4IDEwcHggLTEycHggIzAwMDtcclxuICB9XHJcbiAgXHJcbiAgI2xvZ2luLWRsZy1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1kbGctaGVhZGVyIGgzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBjb2xvcjogb3JhbmdlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tbG9nbyB7XHJcbiAgICBoZWlnaHQ6IDU1cHg7XHJcbiAgICB3aWR0aDogNTVweDtcclxuICAgIC8qIGJhY2tncm91bmQ6IHVybChcIi9hc3NldHMvaW1hZ2VzL2xvZ28tMzAwcHgucG5nXCIpIG5vLXJlcGVhdDsgKi9cclxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tZGxnLWNvbnRlbnQgLnAtaW5wdXRncm91cCB7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1kbGctY29udGVudCAucC1pbnB1dGdyb3VwIC5wLWlucHV0Z3JvdXAtYWRkb24ge1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweCAwIDAgMTVweDtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gIH1cclxuICAjbG9naW4tZGxnLWNvbnRlbnQgKntcclxuICAgIGZvbnQtc2l6ZTogLjlyZW07XHJcbiAgICAvKiBmb250LWZhbWlseTogJ0xleGVuZCcsICdSb2JvdG8nLCBzYW5zLXNlcmlmLCAnbWF0ZXJpYWwtaWNvbnMtcm91bmQnOyAqL1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tZGxnLWNvbnRlbnQgLnAtaW5wdXRncm91cCAucC1pbnB1dGdyb3VwLWFkZG9uICoge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tZGxnLWNvbnRlbnQgLnAtaW5wdXRncm91cCBpbnB1dCB7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDE1cHggMTVweCAwO1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tZGxnLWNvbnRlbnQgYnV0dG9uIHtcclxuICAgIGhlaWdodDogNDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC8qY2hlY2sgYW5pbWF0aW9uIGJsb2NrKi9cclxuICBcclxuICAuY2hlY2stYW5pbWF0aW9uLXdyYXAge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIwMHB4KTtcclxuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gIH1cclxuICBcclxuICAuY2hlY2stbWFpbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZmxvdzogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuICBcclxuICAuY2hlY2stY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiA2LjI1cmVtO1xyXG4gICAgaGVpZ2h0OiA3LjVyZW07XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIH1cclxuICBcclxuICAuY2hlY2stY29udGFpbmVyIC5jaGVjay1iYWNrZ3JvdW5kIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICM1ZGU1OTMsICM0MWQ2N2MpO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggNjVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0LCAwcHggMHB4IDBweCA2NXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQ7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODQpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYW5pbWF0aW9uOiBhbmltYXRlQ29udGFpbmVyIDAuNzVzIGVhc2Utb3V0IGZvcndhcmRzIDAuNzVzO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5jaGVjay1jb250YWluZXIgLmNoZWNrLWJhY2tncm91bmQgc3ZnIHtcclxuICAgIHdpZHRoOiA2NSU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4yNXJlbSk7XHJcbiAgICBzdHJva2UtZGFzaGFycmF5OiA4MDtcclxuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA4MDtcclxuICAgIGFuaW1hdGlvbjogYW5pbWF0ZUNoZWNrIDAuMzVzIGZvcndhcmRzIDEuMjVzIGVhc2Utb3V0O1xyXG4gICAgbWluLXdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5jaGVjay1jb250YWluZXIgLmNoZWNrLXNoYWRvdyB7XHJcbiAgICBib3R0b206IGNhbGMoLTE1JSAtIDVweCk7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNsb3Nlc3Qtc2lkZSwgcmdiYSg3MywgMjE4LCAxMzEsIDEpLCB0cmFuc3BhcmVudCk7XHJcbiAgICBhbmltYXRpb246IGFuaW1hdGVTaGFkb3cgMC43NXMgZWFzZS1vdXQgZm9yd2FyZHMgMC43NXM7XHJcbiAgfVxyXG4gIFxyXG4gIEBrZXlmcmFtZXMgYW5pbWF0ZUNvbnRhaW5lciB7XHJcbiAgICAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDY1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldCwgMHB4IDBweCAwcHggNjVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgMjUlIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCA2NXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQsIDBweCAwcHggMHB4IDY1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldDtcclxuICAgIH1cclxuICBcclxuICAgIDQzLjc1JSB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XHJcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDQzLjMzNHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQsIDBweCAwcHggMHB4IDY1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldDtcclxuICAgIH1cclxuICBcclxuICAgIDYyLjUlIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQsIDBweCAwcHggMHB4IDIxLjY2N3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQ7XHJcbiAgICB9XHJcbiAgXHJcbiAgICA4MS4yNSUge1xyXG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQ7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAxMDAlIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBAa2V5ZnJhbWVzIGFuaW1hdGVDaGVjayB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDgwO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgdG8ge1xyXG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgQGtleWZyYW1lcyBhbmltYXRlU2hhZG93IHtcclxuICAgIDAlIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTUlO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgMjUlIHtcclxuICAgICAgb3BhY2l0eTogMC4yNTtcclxuICAgIH1cclxuICBcclxuICAgIDQzLjc1JSB7XHJcbiAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgIGhlaWdodDogNyU7XHJcbiAgICAgIG9wYWNpdHk6IDAuMzU7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAxMDAlIHtcclxuICAgICAgd2lkdGg6IDg1JTtcclxuICAgICAgaGVpZ2h0OiAxNSU7XHJcbiAgICAgIG9wYWNpdHk6IDAuMjU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICNsb2dpbi1kbGctd3JhcCAubG9hZGVyLXdyYXAge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDoxMDAlO1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmNDI7XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMXB4KTtcclxuICB9XHJcblxyXG4gICNsb2dpbi1kbGctd3JhcCAubG9naW4tZGxnLWxvYWRlciB7XHJcbiAgICBib3JkZXI6IDE1cHggc29saWQgI2U3ZTdlNztcclxuICAgIGJvcmRlci10b3A6IDE1cHggc29saWQgIzUyZGJhMTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICBhbmltYXRpb246IHNwaW5sb2FkZXIgMnMgbGluZWFyIGluZmluaXRlO1xyXG4gIH1cclxuXHJcbiAgI2xvZ2luLWRsZy13cmFwIC5sb2FkZXItd3JhcDo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogNzBweDtcclxuICAgIGhlaWdodDogNzBweDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGJvcmRlcjogMTVweCBzb2xpZCAjZTdlN2U3MDA7XHJcbiAgICBib3JkZXItdG9wOiAxNXB4IHNvbGlkICM1MmRiYTFjOTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGFuaW1hdGlvbjogc3BpbmxvYWRlciAuNzVzIGxpbmVhciBpbmZpbml0ZTtcclxuICB9XHJcblxyXG4gIEBrZXlmcmFtZXMgc3BpbmxvYWRlciB7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG4gIH1cclxuICBgXSxcclxuICB0ZW1wbGF0ZTogYDxwLXRvYXN0IGtleT1cIiRsb2dpbi1kbGdcIiBwb3NpdGlvbj1cInRvcC1jZW50ZXJcIj48L3AtdG9hc3Q+XHJcbiAgPGRpdiBpZD1cImxvZ2luLWRsZy13cmFwXCI+XHJcbiAgICA8ZGl2IGlkPVwibG9naW4tZGxnLWhlYWRlclwiPlxyXG4gICAgICA8ZGl2IGlkPVwibG9naW4tbG9nb1wiIGNsYXNzPVwicC1tYi0yXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiB1cmwoJ3t7cHJvcGVydGllcy5sb2dvSW1hZ2V9fScpIG5vLXJlcGVhdFwiPjwvZGl2PlxyXG4gICAgICA8aDMgKm5nSWY9XCIhc3VjY2Vzc1wiIFtpbm5lckhUTUxdPVwic2FuaXRpemVkVGl0bGVcIj48L2gzPlxyXG4gICAgICA8aDMgKm5nSWY9XCJzdWNjZXNzXCIgc3R5bGU9XCJjb2xvcjpncmVlbiAhaW1wb3J0YW50O1wiPnt7cHJvcGVydGllcy5sb2dpblN1Y2Nlc3NNZXNzYWdlfX08L2gzPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGlkPVwibG9naW4tZGxnLWNvbnRlbnRcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdWNjZXNzXCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cImxvYWRlci13cmFwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9naW4tZGxnLWxvYWRlclwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2dpbi1kbGctZWxtXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1pbnB1dGdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1pbnB1dGdyb3VwLWFkZG9uXCI+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1yb3VuZFwiPnBlcnNvbjwvaT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8aW5wdXQgZGlzYWJsZWQgcElucHV0VGV4dCB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwie3twcm9wZXJ0aWVzLnVzZXJuYW1lPy5wbGFjZUhvbGRlcn19XCIgW3ZhbHVlXT1cImRlY29kZVRva2VuPy5lbWFpbFwiIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9naW4tZGxnLWVsbVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtaW5wdXRncm91cFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtaW5wdXRncm91cC1hZGRvblwiPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtcm91bmRcIj5sb2NrPC9pPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxpbnB1dCBbZGlzYWJsZWRdPVwibG9hZGluZ1wiIChrZXlkb3duLmVudGVyKT1cImNsaWNrTG9naW4oKVwiIHBJbnB1dFRleHQgdHlwZT1cInBhc3N3b3JkXCIgXHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3Byb3BlcnRpZXMucGFzc3dvcmQ/LnBsYWNlSG9sZGVyfX1cIiBbKG5nTW9kZWwpXT1cInBhc3N3b3JkXCJcclxuICAgICAgICAgICAgICBhdXRvZm9jdXMgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2dpbi1kbGctZWxtXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgcEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbGFiZWw9XCJ7e3Byb3BlcnRpZXMubG9naW5CdXR0b24/LnBsYWNlSG9sZGVyfX1cIiAoY2xpY2spPVwiY2xpY2tMb2dpbigpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFwYXNzd29yZCB8fCBsb2FkaW5nXCI+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvZ2luLWRsZy1lbG0gbG9naW4tZGxnLXN1Z2dlc3RcIiBzdHlsZT1cImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczogY2VudGVyO3VzZXItc2VsZWN0OiBub25lO1wiPlxyXG4gICAgICAgICAgPHNwYW4+e3twcm9wZXJ0aWVzLmxvZ291dEJ1dHRvbj8ubWVzc2FnZX19PC9zcGFuPlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInAtYnV0dG9uLXRleHRcIiBwQnV0dG9uIHR5cGU9XCJidXR0b25cIiBsYWJlbD1cInt7cHJvcGVydGllcy5sb2dvdXRCdXR0b24/LnBsYWNlSG9sZGVyfX1cIiBcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrTG9nb3V0KClcIj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdWNjZXNzXCI+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6MzVweDtcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2stYW5pbWF0aW9uLXdyYXBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1tYWluLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2stY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrLWJhY2tncm91bmRcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCA2NSA1MVwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcgMjVMMjcuMzA3NyA0NEw1OC41IDdcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5gLFxyXG4gIHNlbGVjdG9yOiBcImFwcC1sb2NhbGl6ZS1sb2dpbmRsZ1wiLFxyXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxpemVMb2dpbmRsZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVhZG9ubHkgbWVzc2FnZUtleSA9IFwiJGxvZ2luLWRsZ1wiO1xyXG4gIHBhc3N3b3JkOiBhbnk7XHJcbiAgcmVhZG9ubHkgZGVjb2RlVG9rZW46IEp3dFBheWxvYWQgfCBudWxsO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBzdWNjZXNzID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBnZXQgY29uZmlnKCkgeyByZXR1cm4gdGhpcy50b2tlblNlcnZpY2UuY29uZmlnOyB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBsb2dpbkNvbmZpZzogSUxvZ2luRGlhbG9nQ29uZmlnXHJcblxyXG4gIHByaXZhdGUgbG9nb3V0PzogKCkgPT4gYW55XHJcbiAgcHJpdmF0ZSBsb2dpblVybD86IHN0cmluZztcclxuICByZWFkb25seSBwcm9wZXJ0aWVzOiBJTG9naW5EaWFsb2dQcm9wZXJ0aWVzO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2R0OiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGxnUmVmOiBEeW5hbWljRGlhbG9nUmVmLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkbGdDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRva2VuU2VydmljZTogTG9jYWxpemVUb2tlblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyXHJcbiAgKSB7XHJcbiAgICB0aGlzLmRlY29kZVRva2VuID0gdGhpcy50b2tlblNlcnZpY2UuZGVjb2RlUmVmcmVzaFRva2VuO1xyXG4gICAgdGhpcy5sb2dpbkNvbmZpZyA9IHRoaXMuZGxnQ29uZmlnLmRhdGEubG9naW5Db25maWc7XHJcbiAgICB0aGlzLnByb3BlcnRpZXMgPSB0aGlzLmxvZ2luQ29uZmlnLnByb3BlcnRpZXMhO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRsZ0NvbmZpZy5jbG9zYWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5sb2dvdXQgPSB0aGlzLmxvZ2luQ29uZmlnLmxvZ291dEZ1bmM7XHJcbiAgICB0aGlzLmxvZ2luVXJsID0gdGhpcy5sb2dpbkNvbmZpZy5sb2dpblVybFxyXG5cclxuICAgIGlmICghdGhpcy5kZWNvZGVUb2tlbikge1xyXG4gICAgICB0aGlzLnNob3dNZXNzYWdlKFwiZXJyb3JcIiwgXCJUb2tlbiBpcyBpbnZhbGlkXCIpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMubG9nb3V0Py4oKSwgMjAwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmNkdC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBjbGlja0xvZ2luKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWRQYXNzd29yZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zaG93TWVzc2FnZShcImVycm9yXCIsIFwiUGFzc3dvcmQgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYXQgbGVhc3QgNiBjaGFyYWN0ZXJzXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBjb25zdCBsb2dpblJlcyA9IGF3YWl0IHRoaXMubG9naW4oKTtcclxuICAgIGlmICghbG9naW5SZXM/LnN0YXR1cykge1xyXG4gICAgICByZXR1cm4gdGhpcy5zaG93TWVzc2FnZShcImVycm9yXCIsIGxvZ2luUmVzLm1lc3NhZ2UgPz8gXCJBbiBlcnJvciBvY2N1cnJlZFwiKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRva2VuU2VydmljZS5hY2Nlc3NUb2tlbiA9IGxvZ2luUmVzLnRva2Vucy5hY2Nlc3NUb2tlbjtcclxuICAgIGNvbnN0IGNvb2tpZU9wdGlvbnMgPSB7IGV4cGlyZXM6IHRoaXMubG9naW5Db25maWcuZXhwaXJlID8/IDM2NSB9XHJcbiAgICBMb2NhbGl6ZVRva2VuLnN0b3JhZ2Uuc2V0KHRoaXMuY29uZmlnLnJlZnJlc2hUb2tlbj8ubmFtZSB8fCAnJywgbG9naW5SZXMudG9rZW5zLnJlZnJlc2hUb2tlbiwgY29va2llT3B0aW9ucyk7XHJcbiAgICB0aGlzLnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZGxnQ29uZmlnLmRpc21pc3NhYmxlTWFzayA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGxnQ29uZmlnLm1vZGFsID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZGxnUmVmLmNsb3NlKHRydWUpO1xyXG4gICAgfSwgMjAwMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGxvZ2luKCkge1xyXG4gICAgaWYgKCF0aGlzLmxvZ2luVXJsPy50cmltKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuc2hvd01lc3NhZ2UoXCJlcnJvclwiLCBcIkxvZ2luIHVybCBpcyByZXF1aXJlZFwiKTtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTG9naW4gdXJsIGlzIHJlcXVpcmVkXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRyeSB7XHJcblxyXG4gICAgICBpZiAodGhpcy5sb2dpbkNvbmZpZy5sb2dpbkZ1bmN0aW9uKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJVc2luZyBjdXN0b20gbG9naW4gZnVuY3Rpb25cIik7XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMubG9naW5Db25maWcubG9naW5GdW5jdGlvbih0aGlzLmRlY29kZVRva2VuPy5lbWFpbCA/PyAnJywgdGhpcy5wYXNzd29yZC50cmltKCksIHRoaXMuZ2V0SGVhZGVycygpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT5cclxuICAgICAgICB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLmxvZ2luVXJsISxcclxuICAgICAgICAgIHsgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmQudHJpbSgpIH0sXHJcbiAgICAgICAgICB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnN1YnNjcmliZSh7IG5leHQ6IHJlc29sdmUsIGVycm9yOiByZWplY3QgfSkpO1xyXG5cclxuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xyXG4gICAgICB0aGlzLnNob3dNZXNzYWdlKFwiZXJyb3JcIiwgZS5tZXNzYWdlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEhlYWRlcnMoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBbTG9jYWxpemVUb2tlbi5odHRwSGVhZGVycy5YX1JFRlJFU0hfVE9LRU5dOiB0aGlzLnRva2VuU2VydmljZS5yZWZyZXNoVG9rZW4gPz8gXCJcIixcclxuICAgICAgW0xvY2FsaXplVG9rZW4uaHR0cEhlYWRlcnMuWF9URU5BTlRdOiB0aGlzLnRva2VuU2VydmljZS50ZW5hbnRUb2tlbiA/PyBcIlwiLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldCBpc1ZhbGlkUGFzc3dvcmQoKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHJldHVybiB0aGlzLnByb3BlcnRpZXMucGFzc3dvcmRWYWxpZGF0b3JcclxuICAgICAgPyB0aGlzLnByb3BlcnRpZXMucGFzc3dvcmRWYWxpZGF0b3IodGhpcy5wYXNzd29yZClcclxuICAgICAgOiB0aGlzLnBhc3N3b3JkICYmIHRoaXMucGFzc3dvcmQudHJpbSgpLmxlbmd0aCA+PSA2ICYmIHRoaXMucGFzc3dvcmQudHJpbSgpLmxlbmd0aCA8PSA1MDtcclxuICB9XHJcblxyXG4gIGNsaWNrTG9nb3V0ID0gKCkgPT4gdGhpcy5sb2dvdXQ/LigpO1xyXG5cclxuICBwcml2YXRlIHNob3dNZXNzYWdlKHNldmVyaXR5OiBzdHJpbmcsIHN1bW1hcnk6IHN0cmluZykge1xyXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBrZXk6IHRoaXMubWVzc2FnZUtleSwgc2V2ZXJpdHksIHN1bW1hcnkgfSk7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldCBzYW5pdGl6ZWRUaXRsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLnByb3BlcnRpZXMudGl0bGUgPz8gJycpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -25,4 +25,4 @@ LocalizeLogindlgModule.decorators = [
|
|
|
25
25
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
26
26
|
},] }
|
|
27
27
|
];
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtbG9naW5kbGcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvY2FsaXplLWxvZ2luZGxnL2xvY2FsaXplLWxvZ2luZGxnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQWdCdEUsTUFBTSxPQUFPLHNCQUFzQjs7O1lBZGxDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztnQkFDekMsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7Z0JBQ3BDLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsZUFBZTtvQkFDZixhQUFhO29CQUNiLFdBQVc7b0JBQ1gsWUFBWTtpQkFDYjtnQkFDRCxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDcEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7YUFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBMb2NhbGl6ZUxvZ2luZGxnQ29tcG9uZW50IH0gZnJvbSBcIi4vbG9jYWxpemUtbG9naW5kbGcuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3RvYXN0XCI7XG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9pbnB1dHRleHRcIjtcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2J1dHRvblwiO1xuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMb2NhbGl6ZUxvZ2luZGxnU2VydmljZSB9IGZyb20gXCIuL2xvY2FsaXplLWxvZ2luZGxnLnNlcnZpY2VcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTG9jYWxpemVMb2dpbmRsZ0NvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtMb2NhbGl6ZUxvZ2luZGxnQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUb2FzdE1vZHVsZSxcbiAgICBJbnB1dFRleHRNb2R1bGUsXG4gICAgQnJvd3Nlck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW0xvY2FsaXplTG9naW5kbGdTZXJ2aWNlXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZUxvZ2luZGxnTW9kdWxlIHsgfVxuIl19
|
|
@@ -61,4 +61,4 @@ LocalizeLogindlgService.decorators = [
|
|
|
61
61
|
LocalizeLogindlgService.ctorParameters = () => [
|
|
62
62
|
{ type: Injector }
|
|
63
63
|
];
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtbG9naW5kbGcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2NhbGl6ZS1sb2dpbmRsZy9sb2NhbGl6ZS1sb2dpbmRsZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUF1QixNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQXdEMUUsTUFBTSxPQUFPLHVCQUF1QjtJQUVsQyxZQUE2QixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUksQ0FBQztJQUU5QyxlQUFlLENBQUMsV0FBK0IsRUFBRSxNQUE0Qjs7WUFFakYsTUFBTSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRTdCLE1BQU0sQ0FBQyxJQUFJLG1DQUFRLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsR0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFFLENBQUM7WUFFN0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdkQsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVyRSxNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzdCLElBQUksR0FBRyxFQUFFO29CQUNQLE9BQU8sRUFBRSxDQUFDO2lCQUNYO1lBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUM7S0FBQTtJQUVPLG9CQUFvQixDQUFDLE1BQTRCO1FBQ3ZELE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxJQUFOLE1BQU0sR0FBSztZQUNULE1BQU0sRUFBRSxPQUFPO1lBQ2YsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7WUFDakUsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLEVBQUE7UUFFRCxNQUFNLG1DQUNELE1BQU0sR0FBSztZQUNaLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRTtTQUM1RCxDQUNGLENBQUE7UUFDRCxNQUFNLENBQUMsS0FBSyxtQ0FBUSxNQUFNLENBQUMsS0FBSyxHQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFFLENBQUM7UUFDbkUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUdPLFVBQVUsQ0FBQyxXQUErQjs7UUFDaEQsV0FBVyxhQUFYLFdBQVcsY0FBWCxXQUFXLElBQVgsV0FBVyxHQUFLLEVBQUUsRUFBQTtRQUNsQixNQUFBLFdBQVcsQ0FBQyxVQUFVLG9DQUF0QixXQUFXLENBQUMsVUFBVSxHQUFLO1lBQ3pCLEtBQUssRUFBRSwrREFBK0Q7WUFDdEUsbUJBQW1CLEVBQUUsa0NBQWtDO1lBQ3ZELFNBQVMsRUFBRSwrQkFBK0I7WUFDMUMsUUFBUSxFQUFFLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRTtZQUNyQyxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFO1lBQ3JDLFdBQVcsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUU7WUFDckMsWUFBWSxFQUFFO2dCQUNaLE9BQU8sRUFBRSx3Q0FBd0M7Z0JBQ2pELFdBQVcsRUFBRSxRQUFRO2FBQ3RCO1NBQ0YsRUFBQTtJQUNILENBQUM7Ozs7WUExREYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUF6RG9CLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ0NvbmZpZyB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBMb2NhbGl6ZUxvZ2luZGxnQ29tcG9uZW50IH0gZnJvbSAnLi9sb2NhbGl6ZS1sb2dpbmRsZy5jb21wb25lbnQnO1xuZXhwb3J0IGludGVyZmFjZSBJTG9naW5EaWFsb2dQbGFjZUhvbGRlciB7XG4gIC8qKlxuICAgKiBNZXNzYWdlIHRvIGRpc3BsYXkgaW4gdGhlIGlucHV0IGZpZWxkLCB0eXBpY2FsbHkgdXNlZCBmb3IgZXJyb3IgbWVzc2FnZXMgb3IgaGludHMuXG4gICAqIFRoaXMgaXMgb3B0aW9uYWwgYW5kIGNhbiBiZSB1c2VkIHRvIHByb3ZpZGUgYWRkaXRpb25hbCBjb250ZXh0IG9yIGluc3RydWN0aW9ucyB0byB0aGUgdXNlci5cbiAgICovXG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciBvciBsYWJlbCB0ZXh0IGZvciB0aGUgaW5wdXQgZmllbGRcbiAgICovXG4gIHBsYWNlSG9sZGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMb2dpbkRpYWxvZ1Byb3BlcnRpZXMge1xuICAvKipcbiAgICogVGl0bGUgb2YgdGhlIGxvZ2luIGRpYWxvZ1xuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGxvZ2luU3VjY2Vzc01lc3NhZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMb2dvZyBpbWFnZSBwYXRoIG9yIFVSTCB0byBkaXNwbGF5IGluIHRoZSBsb2dpbiBkaWFsb2dcbiAgICogSWYgbm90IHByb3ZpZGVkLCB0aGUgXCIvYXNzZXRzL2ltYWdlcy9sb2dvLTMwMHB4LnBuZ1wiIGltYWdlIHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIGxvZ29JbWFnZT86IHN0cmluZztcbiAgdXNlcm5hbWU/OiBJTG9naW5EaWFsb2dQbGFjZUhvbGRlcjtcbiAgcGFzc3dvcmQ/OiBJTG9naW5EaWFsb2dQbGFjZUhvbGRlcjtcbiAgbG9naW5CdXR0b24/OiBJTG9naW5EaWFsb2dQbGFjZUhvbGRlcjtcbiAgbG9nb3V0QnV0dG9uPzogSUxvZ2luRGlhbG9nUGxhY2VIb2xkZXI7XG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byB2YWxpZGF0ZSB0aGUgcGFzc3dvcmQuXG4gICAqIElmIG5vdCBwcm92aWRlZCwgdGhlIGRlZmF1bHQgdmFsaWRhdGlvbiBjaGVja3MgaWYgdGhlIHBhc3N3b3JkIGlzIGJldHdlZW4gNiBhbmQgNTAgY2hhcmFjdGVycyBsb25nLlxuICAgKiBAcGFyYW0gcGFzc3dvcmRcbiAgICogQHJldHVybnNcbiAgICovXG4gIHBhc3N3b3JkVmFsaWRhdG9yPzogKHBhc3N3b3JkOiBzdHJpbmcpID0+IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxvZ2luRGlhbG9nQ29uZmlnIHtcbiAgbG9naW5Vcmw/OiBzdHJpbmc7XG4gIGxvZ291dFVybD86IHN0cmluZztcbiAgbG9naW5GdW5jdGlvbj86ICh1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCBoZWFkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkgPT4gUHJvbWlzZTxhbnk+O1xuICBsb2dvdXRGdW5jPzogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENvb2tpZSBleHBpcmF0aW9uIGRhdGUgaW4gZGF5cyBmcm9tIG5vdy4gSWYgbm90IHByb3ZpZGVkIHRoZSBjb29raWUgaXMgYSBzZXNzaW9uIGNvb2tpZVxuICAgKi9cbiAgZXhwaXJlPzogbnVtYmVyO1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIGxvZ2luIGRpYWxvZy5cbiAgICogVGhpcyBpbnRlcmZhY2UgZGVmaW5lcyB0aGUgcHJvcGVydGllcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGN1c3RvbWl6ZSB0aGUgbG9naW4gZGlhbG9nJ3MgYmVoYXZpb3IgYW5kIGFwcGVhcmFuY2VcbiAgICovXG4gIHByb3BlcnRpZXM/OiBJTG9naW5EaWFsb2dQcm9wZXJ0aWVzO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZUxvZ2luZGxnU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHsgfVxuXG4gIGFzeW5jIG9wZW5Mb2dpbkRpYWxvZyhsb2dpbkNvbmZpZzogSUxvZ2luRGlhbG9nQ29uZmlnLCBjb25maWc/OiBEeW5hbWljRGlhbG9nQ29uZmlnKSB7XG5cbiAgICBjb25maWcgPSB0aGlzLmludGVyY2VwRGlhbG9nQ29uZmlnKGNvbmZpZyk7XG4gICAgdGhpcy5pbml0Q29uZmlnKGxvZ2luQ29uZmlnKTtcblxuICAgIGNvbmZpZy5kYXRhID0geyAuLi4oY29uZmlnLmRhdGEgfHwge30pLCAuLi57IGxvZ2luQ29uZmlnIH0gfTtcblxuICAgIGNvbnN0IGRpYWxvZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChEaWFsb2dTZXJ2aWNlKTtcbiAgICBjb25zdCBkaWFsb2cgPSBkaWFsb2dTZXJ2aWNlLm9wZW4oTG9jYWxpemVMb2dpbmRsZ0NvbXBvbmVudCwgY29uZmlnKTtcblxuICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PlxuICAgICAgZGlhbG9nLm9uQ2xvc2Uuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgaW50ZXJjZXBEaWFsb2dDb25maWcoY29uZmlnPzogRHluYW1pY0RpYWxvZ0NvbmZpZykge1xuICAgIGNvbmZpZyA/Pz0ge1xuICAgICAgaGVhZGVyOiAnTG9naW4nLFxuICAgICAgc3R5bGU6IHsgJ21heC13aWR0aCc6ICc0MDBweCcsIHdpZHRoOiAnMTAwJScsICdoZWlnaHQnOiAnNjUwcHgnIH0sXG4gICAgICBtb2RhbDogdHJ1ZSxcbiAgICAgIGNsb3NhYmxlOiBmYWxzZSxcbiAgICAgIHNob3dIZWFkZXI6IGZhbHNlLFxuICAgIH1cblxuICAgIGNvbmZpZyA9IHtcbiAgICAgIC4uLmNvbmZpZywgLi4ue1xuICAgICAgICBjb250ZW50U3R5bGU6IHsgJ2hlaWdodCc6ICcxMDAlJywgJ2JvcmRlci1yYWRpdXMnOiAnMjBweCcgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb25maWcuc3R5bGUgPSB7IC4uLmNvbmZpZy5zdHlsZSwgLi4ueyAnYm9yZGVyLXJhZGl1cyc6ICcyMHB4JyB9IH07XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG5cbiAgcHJpdmF0ZSBpbml0Q29uZmlnKGxvZ2luQ29uZmlnOiBJTG9naW5EaWFsb2dDb25maWcpIHtcbiAgICBsb2dpbkNvbmZpZyA/Pz0ge31cbiAgICBsb2dpbkNvbmZpZy5wcm9wZXJ0aWVzID8/PSB7XG4gICAgICB0aXRsZTogJ1lvdXIgc2Vzc2lvbiBpcyBleHBpcmVkITxici8+IFBsZWFzZSBsb2dpbiBhZ2FpbiB0byBjb250aW51ZS4nLFxuICAgICAgbG9naW5TdWNjZXNzTWVzc2FnZTogJ1lvdSBoYXZlIHN1Y2Nlc3NmdWxseSBsb2dnZWQgaW4uJyxcbiAgICAgIGxvZ29JbWFnZTogJy9hc3NldHMvaW1hZ2VzL2xvZ28tMzAwcHgucG5nJyxcbiAgICAgIHVzZXJuYW1lOiB7IHBsYWNlSG9sZGVyOiAnVXNlcm5hbWUnIH0sXG4gICAgICBwYXNzd29yZDogeyBwbGFjZUhvbGRlcjogJ1Bhc3N3b3JkJyB9LFxuICAgICAgbG9naW5CdXR0b246IHsgcGxhY2VIb2xkZXI6ICdMb2dpbicgfSxcbiAgICAgIGxvZ291dEJ1dHRvbjoge1xuICAgICAgICBtZXNzYWdlOiAnTm8sIEkgd2FudCB0byBsb2dpbiB3aXRoIGFub3RoZXIgdXNlci4nLFxuICAgICAgICBwbGFjZUhvbGRlcjogJ0xvZ291dCdcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -16,4 +16,4 @@ export var EMethod;
|
|
|
16
16
|
// details?: any;
|
|
17
17
|
// status: number;
|
|
18
18
|
// }
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9sb2NhbGl6ZS10b2tlbi9oZWxwZXJzL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxPQU1YO0FBTkQsV0FBWSxPQUFPO0lBQ2Ysd0JBQWEsQ0FBQTtJQUNiLHNCQUFXLENBQUE7SUFDWCxzQkFBVyxDQUFBO0lBQ1gsNEJBQWlCLENBQUE7SUFDakIsMEJBQWUsQ0FBQTtBQUNuQixDQUFDLEVBTlcsT0FBTyxLQUFQLE9BQU8sUUFNbEI7QUF5RkQsc0NBQXNDO0FBQ3RDLGtCQUFrQjtBQUNsQixvQkFBb0I7QUFDcEIsdUJBQXVCO0FBQ3ZCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG4vKipcclxuICogSHR0cCBtZXRob2Qgb3B0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGVudW0gRU1ldGhvZCB7XHJcbiAgICBQT1NUID0gJ3Bvc3QnLFxyXG4gICAgR0VUID0gJ2dldCcsXHJcbiAgICBQVVQgPSAncHV0JyxcclxuICAgIERFTEVURSA9ICdkZWxldGUnLFxyXG4gICAgUEFUQ0ggPSAncGF0Y2gnLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElPbkNvbm5lY3Rpb25FcnJvciB7XHJcbiAgICAvKipcclxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgd2hlbiBhIGNvbm5lY3Rpb24gZXJyb3Igb2NjdXJzLlxyXG4gICAgICogVGhpcyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgUHJvbWlzZSBvciBhbnkgdmFsdWUuXHJcbiAgICAgKi9cclxuICAgIGNhbGxiYWNrPzogKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gUHJvbWlzZTx2b2lkPiB8IGFueTtcclxuICAgIC8qKlxyXG4gICAgICogSWYgdHJ1ZSwgdGhlIHJlcXVlc3Qgd2lsbCBibG9jayB0aGUgc2NyZWVuIHdpdGggb3ZlcmxheSBvbiBjb25uZWN0aW9uIGVycm9ycy5cclxuICAgICAqIERlZmF1bHQgaXMgZmFsc2UuXHJcbiAgICAgKi9cclxuICAgIGJsb2NrU2NyZWVuPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogT3B0aW9uYWwgei1pbmRleCBmb3IgdGhlIGJsb2NrIHNjcmVlbiBvdmVybGF5LlxyXG4gICAgICogRGVmYXVsdCBpcyAxMDAwMC5cclxuICAgICAqL1xyXG4gICAgYmxvY2tTY3JlZW5aSW5kZXg/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPcHRpb25hbCBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiBhIGNvbm5lY3Rpb24gZXJyb3Igb2NjdXJzLlxyXG4gICAgICovXHJcbiAgICBtZXNzYWdlPzogc3RyaW5nO1xyXG4gICAgc3VnZ2VzdGlvbk1lc3NhZ2U/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBJUmV0cnlPcHRpb25zIHtcclxuXHJcbiAgICAvKipcclxuICAgICAgICogTWF4aW11bSBudW1iZXIgb2YgcmV0cmllcyBmb3IgYSBmYWlsZWQgcmVxdWVzdC5cclxuICAgICAgICogRGVmYXVsdCBpcyAxMDAuXHJcbiAgICAgICAqL1xyXG4gICAgbWF4UmV0cmllcz86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIERlbGF5IGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgcmV0cnlpbmcgYSBmYWlsZWQgcmVxdWVzdC5cclxuICAgICAqIERlZmF1bHQgaXMgNTAwbXMuXHJcbiAgICAgKi9cclxuICAgIGRlbGF5PzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIGEgcmVxdWVzdCBzaG91bGQgYmUgcmV0cmllZCBiYXNlZCBvbiB0aGUgZXJyb3IuXHJcbiAgICAgKiBJZiBub3QgcHJvdmlkZWQsIHRoZSBkZWZhdWx0IGZ1bmN0aW9uIHdpbGwgcmV0cnkgZm9yIG5ldHdvcmsgZXJyb3JzIGFuZCBzZXJ2ZXIgZXJyb3JzIChzdGF0dXMgNTAwLTU5OSkuXHJcbiAgICAgKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3Igb2JqZWN0IGZyb20gdGhlIGZhaWxlZCByZXF1ZXN0LlxyXG4gICAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgcmVxdWVzdCBzaG91bGQgYmUgcmV0cmllZCwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gICAgICovXHJcbiAgICByZXRyeUZ1bmN0aW9uPzogKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gUHJvbWlzZTxib29sZWFuPiB8IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bmN0aW9uIHRvIGV4ZWN1dGUgd2hlbiBhIGNvbm5lY3Rpb24gZXJyb3Igb2NjdXJzLlxyXG4gICAgICogVGhpcyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgUHJvbWlzZSBvciBhbnkgdmFsdWUuXHJcbiAgICAgKi9cclxuICAgIG9uQ29ubmVjdGlvbkVycm9yPzogSU9uQ29ubmVjdGlvbkVycm9yO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTG9jYWxpemVBcGlDb25maWdzIHtcclxuICAgIG9uUHJlcGFyZVJlcXVlc3Q/OiAoKSA9PiBQcm9taXNlPHZvaWQ+IHwgYW55O1xyXG4gICAgb25BdXRvTG9nb3V0PzogKCkgPT4gUHJvbWlzZTx2b2lkPiB8IGFueTtcclxuICAgIG9uUmV2b2tlVW5hdXRob3JpemVkPzogKCkgPT4gUHJvbWlzZTx2b2lkPiB8IGFueTtcclxuXHJcbiAgICB3YWl0RWFjaFJlcXVlc3Q/OiB7XHJcbiAgICAgICAgbWlsbGlzZWNvbmRzOiBudW1iZXI7XHJcbiAgICB9O1xyXG4gICAgZW5hYmxlUmVxdWVzdENhbmNlbGxhdGlvbj86IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb25maWcgZm9yIHJldHJ5aW5nIGZhaWxlZCByZXF1ZXN0cy5cclxuICAgICAqIElmIG5vdCBwcm92aWRlZCwgdGhlIGRlZmF1bHQgcmV0cnkgb3B0aW9ucyB3aWxsIGJlIHVzZWQuXHJcbiAgICAgKi9cclxuICAgIHJldHJ5T3B0aW9ucz86IElSZXRyeU9wdGlvbnM7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFwaU9wdGlvbnMge1xyXG4gICAgaGVhZGVycz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICBtZXRob2Q6IEVNZXRob2Q7XHJcbiAgICByZXF1ZXN0VXJsOiBzdHJpbmc7XHJcbiAgICByZXF1ZXN0Qm9keT86IGFueTtcclxuICAgIGlzRm9ybURhdGE/OiBib29sZWFuO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJZiB0cnVlLCB0aGUgcmVxdWVzdCB3aWxsIHVzZSB0aGUgcmVmcmVzaCB0b2tlbiBmb3IgYXV0aG9yaXphdGlvbi5cclxuICAgICAqL1xyXG4gICAgcmVmcmVzaFRva2VuPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVyIHtcclxuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcclxufVxyXG5cclxuLy8gZXhwb3J0IGludGVyZmFjZSBJTm9ybWFsaXplZEVycm9yIHtcclxuLy8gICAgIGVycm9yOiBhbnk7XHJcbi8vICAgICBjb2RlOiBzdHJpbmc7XHJcbi8vICAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbi8vICAgICBkZXRhaWxzPzogYW55O1xyXG4vLyAgICAgc3RhdHVzOiBudW1iZXI7XHJcbi8vIH1cclxuIl19
|
|
@@ -17,4 +17,4 @@ export const LOCALIZE_API_ASSETS = {
|
|
|
17
17
|
</svg>`
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUuYXBpLmFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9sb2NhbGl6ZS10b2tlbi9oZWxwZXJzL2xvY2FsaXplLmFwaS5hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDL0IsT0FBTyxFQUFFO1FBQ0wsWUFBWSxFQUFFOzs7Ozs7Ozs7Ozs7OzttQkFjSDtLQUNkO0NBQ0osQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBMT0NBTElaRV9BUElfQVNTRVRTID0ge1xyXG4gICAgbmV0d29yazoge1xyXG4gICAgICAgIG5vQ29ubmVjdGlvbjogYDw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCI/PlxyXG4gICAgICAgICAgICA8c3ZnIGlkPVwibHplLW5vLWNvbm5lY3Rpb25cIiBkYXRhLW5hbWU9XCJMYXllciAyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzcuMjkgNzAuOThcIj5cclxuICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICA8c3R5bGU+IC5jbHMtMSB7IGZpbGw6ICNmZmY7IH0gLmNscy0yLCAuY2xzLTMgeyBmaWxsOiAjZTMwNjEzOyB9IC5jbHMtMyB7IHN0cm9rZTogI2UzMDYxMzsgc3Ryb2tlLW1pdGVybGltaXQ6IDEwOyBzdHJva2Utd2lkdGg6IC4yNXB4OyB9IDwvc3R5bGU+XHJcbiAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgPGcgaWQ9XCJMYXllcl8zXCIgZGF0YS1uYW1lPVwiTGF5ZXIgM1wiPlxyXG4gICAgICAgICAgICAgICAgPGc+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNscy0xXCIgZD1cIm03My4yOSwzNWMtMS4yLDAtMi4zMy0uNTMtMy4wOS0xLjQ2LS40OC0uNTctMTEuMjMtMTMuMi0zMS41NS0xMy4ycy0zMS4xMSwxMi42Ni0zMS41NiwxMy4yYy0xLjQsMS43MS0zLjkyLDEuOTUtNS42My41NS0xLjcxLTEuNC0xLjk1LTMuOTItLjU1LTUuNjMuNTQtLjY2LDEzLjQ3LTE2LjEyLDM3Ljc0LTE2LjEyczM3LjIsMTUuNDYsMzcuNzQsMTYuMTJjMS40LDEuNzEsMS4xNSw0LjIzLS41Niw1LjYyLS43MS41OC0xLjYxLjktMi41My45WlwiLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPVwiY2xzLTFcIiBkPVwibTYzLjk2LDQ1LjY2Yy0xLjE5LDAtMi4zMi0uNTMtMy4wOC0xLjQ0LTUuNzktNi4wNS0xMy44Ni05LjM5LTIyLjI0LTkuMjEtOC4zOC0uMTgtMTYuNDUsMy4xNi0yMi4yNCw5LjIyLTEuNDYsMS42NS0zLjk5LDEuODEtNS42NC4zNS0xLjU3LTEuMzktMS44LTMuNzctLjUyLTUuNDMsNy4zMi03Ljg5LDE3LjY0LTEyLjI5LDI4LjQtMTIuMTIsMTAuNzYtLjE3LDIxLjA4LDQuMjQsMjguNCwxMi4xMiwxLjQsMS43MSwxLjE1LDQuMjMtLjU2LDUuNjItLjcxLjU4LTEuNi45LTIuNTMuOVpcIi8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNscy0xXCIgZD1cIm01My4zLDU2LjMyYy0xLjI0LDAtMi40MS0uNTctMy4xNi0xLjU1LTUuNzMtNi4zNS0xNS41Mi02Ljg1LTIxLjg3LTEuMTMtLjQuMzYtLjc3LjczLTEuMTMsMS4xMy0xLjM2LDEuNzMtMy44OCwyLjAzLTUuNjEuNjctMS43MS0xLjM0LTIuMDMtMy44LS43My01LjU0LDguMzktOS44NSwyMy4xOC0xMS4wNCwzMy4wMy0yLjY1Ljk1LjgxLDEuODQsMS42OSwyLjY1LDIuNjUsMS4zNCwxLjc1LDEsNC4yNi0uNzUsNS42LS43LjUzLTEuNTUuODItMi40My44MlpcIi8+XHJcbiAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNscy0yXCIgZD1cIm00Ny4yMSw5LjQ1bC00LjA2LDQxLjM2Yy0uNjQsNS40Mi04LjM5LDUuMzktOS4wMSwwLDAsMC00LjA2LTQxLjM2LTQuMDYtNDEuMzYtLjQ2LTQuNzMsMi45OS04Ljk0LDcuNzItOS40LDUuMzMtLjU4LDkuOTcsNC4wOSw5LjQsOS40aDBaXCIvPlxyXG4gICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNscy0zXCIgY3g9XCIzOC42NFwiIGN5PVwiNjQuNzlcIiByPVwiNi4wN1wiLz5cclxuICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICA8L3N2Zz5gXHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -243,4 +243,4 @@ class LocalizeApiHelper {
|
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
245
|
export const ApiHelper = new LocalizeApiHelper();
|
|
246
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jY2FsaXplLmFwaS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXYvc3JjL2xvY2FsaXplLXRva2VuL2hlbHBlcnMvbG9jY2FsaXplLmFwaS5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBVyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFnQjVELE1BQU0saUJBQWlCO0lBQXZCO1FBRWEsd0JBQW1CLEdBQTJCO1lBQ25ELGVBQWUsRUFBRTtnQkFDYixPQUFPLEVBQUUsd0NBQXdDO2dCQUNqRCxXQUFXLEVBQUUsSUFBSTtnQkFDakIsaUJBQWlCLEVBQUUsS0FBSzthQUMzQjtTQUNKLENBQUM7SUFtUk4sQ0FBQztJQWpSUyxZQUFZLENBQVUsT0FBc0I7O1lBQzlDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztZQUNqQixJQUFJLFNBQWMsQ0FBQztZQUNuQixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7WUFFckIsb0RBQW9EO1lBQ3BELE9BQU8sbUNBQVEsSUFBSSxDQUFDLG1CQUFtQixHQUFLLE9BQU8sQ0FBRSxDQUFBO1lBRXJELElBQUksWUFBMEMsQ0FBQztZQUUvQyxPQUFPLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQ3BDLElBQUk7b0JBQ0EsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ2pDLE9BQU8sTUFBTSxDQUFDO2lCQUVqQjtnQkFBQyxPQUFPLEtBQVUsRUFBRTtvQkFDakIsU0FBUyxHQUFHLEtBQUssQ0FB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Ozs7Ozs7O1NBeUVwQixDQUFDO1FBRUYsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVyRCxJQUFJLEdBQUcsRUFBRTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUN6QyxZQUFZLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDL0IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7YUFDckQ7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFFTyxhQUFhLENBQUMsWUFBMEM7UUFDNUQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2RCxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSxFQUFFLENBQUM7UUFDbEIsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSUFwaU9wdGlvbnMsIElMb2NhbGl6ZUFwaUNvbmZpZ3MsIElPbkNvbm5lY3Rpb25FcnJvciB9IGZyb20gXCIuL2ludGVyZmFjZXNcIjtcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBjYXRjaEVycm9yLCB0aHJvd0Vycm9yLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgd2FpdEZvciB9IGZyb20gXCIuLi9sb2NhbGl6ZS50b2tlblwiO1xyXG5pbXBvcnQgeyBMT0NBTElaRV9BUElfQVNTRVRTIH0gZnJvbSBcIi4vbG9jYWxpemUuYXBpLmFzc2V0c1wiO1xyXG5cclxuaW50ZXJmYWNlIElSZXF1ZXN0SW5zdGFuY2Uge1xyXG4gICAgY2xpZW50OiBIdHRwQ2xpZW50O1xyXG4gICAgZGVzdHJveSQ6ICgpID0+IFN1YmplY3Q8dm9pZD47XHJcbn1cclxuXHJcbmludGVyZmFjZSBJUmV0cnlPcHRpb25zIHtcclxuICAgIG1heFJldHJpZXM6ICgpID0+IG51bWJlcjtcclxuICAgIGRlbGF5OiBudW1iZXI7XHJcbiAgICBjYWxsYmFjazogKCkgPT4gUHJvbWlzZTxhbnk+IHwgYW55O1xyXG4gICAgcmV0cnlVbmxlc3M/OiAoZXJyb3I6IGFueSkgPT4gYm9vbGVhbjtcclxuICAgIG9uRXJyb3I/OiAoZXJyb3I6IGFueSkgPT4gUHJvbWlzZTx2b2lkPiB8IGFueTtcclxuICAgIGNvbm5lY3Rpb25FcnJvcj86IElPbkNvbm5lY3Rpb25FcnJvclxyXG59XHJcblxyXG5jbGFzcyBMb2NhbGl6ZUFwaUhlbHBlciB7XHJcblxyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFJldHJ5T3B0aW9uczogUGFydGlhbDxJUmV0cnlPcHRpb25zPiA9IHtcclxuICAgICAgICBjb25uZWN0aW9uRXJyb3I6IHtcclxuICAgICAgICAgICAgbWVzc2FnZTogJ0Nvbm5lY3Rpb24gZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSB3YWl0JyxcclxuICAgICAgICAgICAgYmxvY2tTY3JlZW46IHRydWUsXHJcbiAgICAgICAgICAgIGJsb2NrU2NyZWVuWkluZGV4OiAxMDAwMFxyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgYXN5bmMgcGVyZm9ybVJldHJ5PFQgPSBhbnk+KG9wdGlvbnM6IElSZXRyeU9wdGlvbnMpOiBQcm9taXNlPFQ+IHtcclxuICAgICAgICBsZXQgYXR0ZW1wdHMgPSAwO1xyXG4gICAgICAgIGxldCBsYXN0RXJyb3I6IGFueTtcclxuICAgICAgICBsZXQgY29uc29sZUNvdW50ID0gMDtcclxuXHJcbiAgICAgICAgLy8gTWVyZ2UgZGVmYXVsdCByZXRyeSBvcHRpb25zIHdpdGggcHJvdmlkZWQgb3B0aW9uc1xyXG4gICAgICAgIG9wdGlvbnMgPSB7IC4uLnRoaXMuZGVmYXVsdFJldHJ5T3B0aW9ucywgLi4ub3B0aW9ucyB9XHJcblxyXG4gICAgICAgIGxldCBzdHlsZUVsZW1lbnQ6IEhUTUxTdHlsZUVsZW1lbnQgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgICAgIHdoaWxlIChhdHRlbXB0cyA8IG9wdGlvbnMubWF4UmV0cmllcygpKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBvcHRpb25zLmNhbGxiYWNrKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUJsb2NrZXIoc3R5bGVFbGVtZW50KTtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcblxyXG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgICAgICAgICBsYXN0RXJyb3IgPSBlcnJvcjtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoY29uc29sZUNvdW50ID49IDcpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmNsZWFyKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZUNvdW50ID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXRyeVVubGVzcyAmJiAhb3B0aW9ucy5yZXRyeVVubGVzcyhlcnJvcikpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7IC8vIElmIHRoZSBlcnJvciBzaG91bGQgbm90IGJlIHJldHJpZWQsIHJldGhyb3cgaXRcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBIYW5kbGUgY29ubmVjdGlvbiBlcnJvclxyXG4gICAgICAgICAgICAgICAgc3R5bGVFbGVtZW50ID0gYXdhaXQgdGhpcy5vbkNvbm5lY3Rpb25FcnJvcihvcHRpb25zLCBlcnJvcik7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMub25FcnJvcilcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmludm9rZUhvb2sob3B0aW9ucy5vbkVycm9yLmJpbmQodGhpcywgZXJyb3IpKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoYXR0ZW1wdHMgPj0gb3B0aW9ucy5tYXhSZXRyaWVzKCkgLSAxKVxyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG5cclxuICAgICAgICAgICAgICAgIGF0dGVtcHRzKys7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlQ291bnQrKztcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgQXR0ZW1wdCAke2F0dGVtcHRzfSBmYWlsZWQuIFJldHJ5aW5nLi4uYCwgZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgd2FpdEZvcihvcHRpb25zLmRlbGF5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc29sZS53YXJuKGBGYWlsZWQgYWZ0ZXIgJHtvcHRpb25zLm1heFJldHJpZXN9IGF0dGVtcHRzYCk7XHJcbiAgICAgICAgdGhyb3cgbGFzdEVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHBlcmZvcm1SZXF1ZXN0V2l0aFJldHJ5PFQgPSBhbnk+KFxyXG4gICAgICAgIG9wdGlvbnM6IElBcGlPcHRpb25zLFxyXG4gICAgICAgIGNvbmZpZzogSUxvY2FsaXplQXBpQ29uZmlncyxcclxuICAgICAgICBwZXJmb3JtUmVxdWVzdDogPFQgPSBhbnk+KG9wdGlvbnM6IElBcGlPcHRpb25zKSA9PiBQcm9taXNlPFQ+XHJcbiAgICApOiBQcm9taXNlPFQ+IHtcclxuXHJcbiAgICAgICAgY29uc3QgcmV0cnlVbmxlc3MgPSBjb25maWcucmV0cnlPcHRpb25zPy5yZXRyeUZ1bmN0aW9uXHJcbiAgICAgICAgICAgIHx8IHRoaXMuaXNDb25uZWN0aW9uRXJyb3I7XHJcblxyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnBlcmZvcm1SZXRyeSh7XHJcbiAgICAgICAgICAgIGNvbm5lY3Rpb25FcnJvcjogY29uZmlnLnJldHJ5T3B0aW9ucz8ub25Db25uZWN0aW9uRXJyb3IsXHJcbiAgICAgICAgICAgIG1heFJldHJpZXM6ICgpID0+IGNvbmZpZy5yZXRyeU9wdGlvbnM/Lm1heFJldHJpZXMgPz8gMTAwMCxcclxuICAgICAgICAgICAgZGVsYXk6IGNvbmZpZy5yZXRyeU9wdGlvbnM/LmRlbGF5ID8/IDUwMCxcclxuICAgICAgICAgICAgY2FsbGJhY2s6ICgpID0+IHBlcmZvcm1SZXF1ZXN0PFQ+KG9wdGlvbnMpLFxyXG4gICAgICAgICAgICByZXRyeVVubGVzczogcmV0cnlVbmxlc3MsXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBidWlsZFVybChiYXNlVXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZFVybCA9IGAke2Jhc2VVcmwudHJpbSgpLnJlcGxhY2UoL1xcLz8kLywgJy8nKX0ke3BhdGgudHJpbSgpLnJlcGxhY2UoL15cXC8vLCAnJyl9YDtcclxuICAgICAgICByZXR1cm4gbm9ybWFsaXplZFVybC5lbmRzV2l0aCgnLycpXHJcbiAgICAgICAgICAgID8gbm9ybWFsaXplZFVybC5zbGljZSgwLCAtMSlcclxuICAgICAgICAgICAgOiBub3JtYWxpemVkVXJsO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGludm9rZUhvb2soY2FsbGJhY2s/OiAoKSA9PiBQcm9taXNlPGFueT4gfCBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGlmICghY2FsbGJhY2spIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gY2FsbGJhY2soKTtcclxuICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xyXG4gICAgICAgICAgICBhd2FpdCByZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZVJlcXVlc3Q8VCA9IGFueT4oXHJcbiAgICAgICAgaW5zdGFuY2U6IFJlcXVpcmVkPElSZXF1ZXN0SW5zdGFuY2U+LFxyXG4gICAgICAgIG1ldGhvZDogc3RyaW5nLFxyXG4gICAgICAgIHVybDogc3RyaW5nLFxyXG4gICAgICAgIGJvZHk6IGFueSxcclxuICAgICAgICBvcHRpb25zOiB7IGhlYWRlcnM6IEh0dHBIZWFkZXJzIH1cclxuICAgICkge1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3QkID0gaW5zdGFuY2UuY2xpZW50LnJlcXVlc3Q8VD4obWV0aG9kLCB1cmwsIHtcclxuICAgICAgICAgICAgLi4ub3B0aW9ucyxcclxuICAgICAgICAgICAgYm9keSxcclxuICAgICAgICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcclxuICAgICAgICB9KS5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwoaW5zdGFuY2UuZGVzdHJveSQoKSksXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gQ29udmVydCB0byBhIG5vbi1vYnNlcnZhYmxlIGVycm9yIHRvIGhhbmRsZSBpbiB0aGUgcHJvbWlzZVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJldHVybiByZXF1ZXN0JDtcclxuICAgIH1cclxuXHJcbiAgICBkZWZhdWx0UmV0cnlGdW5jdGlvbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcclxuXHJcbiAgICAgICAgLy8gRG9uJ3QgcmV0cnkgZm9yIG90aGVyIGVycm9ycyAobGlrZSA0MDAsIDQwMSwgNDAzLCBldGMuKVxyXG4gICAgICAgIGlmICghdGhpcy5pc0Nvbm5lY3Rpb25FcnJvcihlcnJvcikpXHJcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpc0Nvbm5lY3Rpb25FcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBpc05ldHdvcmtFcnJvciA9IGVycm9yLnN0YXR1cyA9PT0gMDtcclxuICAgICAgICBjb25zdCBpc1NlcnZlckVycm9yID0gZXJyb3Iuc3RhdHVzID49IDEwMDAgJiYgZXJyb3Iuc3RhdHVzIDwgNjAwO1xyXG4gICAgICAgIHJldHVybiBpc05ldHdvcmtFcnJvciB8fCBpc1NlcnZlckVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG9uQ29ubmVjdGlvbkVycm9yKFxyXG4gICAgICAgIG9wdGlvbnM6IElSZXRyeU9wdGlvbnMsXHJcbiAgICAgICAgZXJyb3I6IGFueVxyXG4gICAgKTogUHJvbWlzZTxQcm9taXNlPHZvaWQ+IHwgYW55PiB7XHJcblxyXG4gICAgICAgIGlmICghb3B0aW9ucy5jb25uZWN0aW9uRXJyb3IpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgbGV0IHN0eWxlRWxlbWVudDogSFRNTFN0eWxlRWxlbWVudCB8IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodGhpcy5pc0Nvbm5lY3Rpb25FcnJvcihlcnJvcikpIHtcclxuXHJcbiAgICAgICAgICAgIHN0eWxlRWxlbWVudCA9IHRoaXMuc2NyZWVuQmxvY2tlcihvcHRpb25zLCBlcnJvciwgdHJ1ZSk7XHJcblxyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmludm9rZUhvb2sob3B0aW9ucy5jb25uZWN0aW9uRXJyb3IuY2FsbGJhY2s/LmJpbmQodGhpcywgZXJyb3IpKTtcclxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlRWxlbWVudDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNjcmVlbkJsb2NrZXIob3B0aW9ucywgZXJyb3IsIGZhbHNlKTtcclxuICAgICAgICAgICAgc3R5bGVFbGVtZW50Py5yZW1vdmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2NyZWVuQmxvY2tlcihvcHRvbnM6IElSZXRyeU9wdGlvbnMsXHJcbiAgICAgICAgZXJyb3I/OiBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgICAgICBhZGQ6IGJvb2xlYW4gPSB0cnVlKTogSFRNTFN0eWxlRWxlbWVudCB8IHVuZGVmaW5lZCB7XHJcblxyXG4gICAgICAgIGlmICghb3B0b25zLmNvbm5lY3Rpb25FcnJvcj8uYmxvY2tTY3JlZW4pXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IG9wdG9ucy5jb25uZWN0aW9uRXJyb3I/Lm1lc3NhZ2VcclxuICAgICAgICAgICAgfHwgJ0Nvbm5lY3Rpb24gZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSB3YWl0JztcclxuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvcj8uZXJyb3I/Lm1lc3NhZ2UgfHwgJ0FuIGVycm9yIG9jY3VycmVkJztcclxuICAgICAgICBjb25zdCBzdWdnZXN0aW5NZXNzYWdlID0gb3B0b25zLmNvbm5lY3Rpb25FcnJvcj8uc3VnZ2VzdGlvbk1lc3NhZ2VcclxuICAgICAgICAgICAgfHwgJ1BsZWFzZSBjaGVjayB5b3VyIGludGVybmV0IGNvbm5lY3Rpb24gb3IgdGhlIHNlcnZlciBzdGF0dXMuJztcclxuXHJcbiAgICAgICAgY29uc3QgekluZGV4ID0gb3B0b25zLmNvbm5lY3Rpb25FcnJvcj8uYmxvY2tTY3JlZW5aSW5kZXggfHwgMTAwMDA7XHJcblxyXG4gICAgICAgIGNvbnN0IGJvZHkgPSBkb2N1bWVudC5ib2R5O1xyXG4gICAgICAgIGNvbnN0IGJsY29rZXJIdG1sID0gYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsemUtYmxvY2tlclwiPlxyXG4gICAgICAgICAgICAke0xPQ0FMSVpFX0FQSV9BU1NFVFMubmV0d29yay5ub0Nvbm5lY3Rpb259XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsemUtYmxvY2tlcl9fbWVzc2FnZVwiPlxyXG4gICAgICAgICAgICAgICAgJHttZXNzYWdlfVxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsemUtYmxvY2tlcl9fZG90dGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibHplLWJsb2NrZXJfX2RvdFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImx6ZS1ibG9ja2VyX19kb3RcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsemUtYmxvY2tlcl9fZG90XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImx6ZS1ibG9ja2VyX19lcnJvclwiPiR7ZXJyb3JNZXNzYWdlfTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibHplLWJsb2NrZXJfX2Vycm9yX3N1Z2dlc3Rpb25cIj4ke3N1Z2dlc3Rpbk1lc3NhZ2V9PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgYDtcclxuICAgICAgICBjb25zdCBzdHlsZSA9IGBcclxuICAgICAgICBkaXYubHplLWJsb2NrZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAke3pJbmRleH07XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcjbHplLW5vLWNvbm5lY3Rpb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogNzVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBkaXYubHplLWJsb2NrZXJfX21lc3NhZ2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIC5semUtYmxvY2tlcl9fZG90dGluZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3Bhbi5semUtYmxvY2tlcl9fZG90IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogN3B4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDdweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBkb3R0aW5nIDFzIGluZmluaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubHplLWJsb2NrZXJfX2RvdDpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubHplLWJsb2NrZXJfX2RvdDpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5semUtYmxvY2tlcl9fZG90Om50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC40cztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBrZXlmcmFtZXMgZG90dGluZyB7XHJcbiAgICAgICAgICAgIDAlLCA4MCUsIDEwMCUgeyBvcGFjaXR5OiAwLjM7IH1cclxuICAgICAgICAgICAgNDAlIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGl2Lmx6ZS1ibG9ja2VyX19lcnJvciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxcHggI2ZmNWY1ZiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGl2Lmx6ZS1ibG9ja2VyX19lcnJvcl9zdWdnZXN0aW9uIHtcclxuICAgICAgICAgICAgY29sb3I6ICNjY2MgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIEBrZXlmcmFtZXMgc3BpbiB7XHJcbiAgICAgICAgICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYDtcclxuXHJcbiAgICAgICAgY29uc3Qgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcclxuXHJcbiAgICAgICAgaWYgKGFkZCkge1xyXG4gICAgICAgICAgICBpZiAoIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5semUtYmxvY2tlcicpKSB7XHJcbiAgICAgICAgICAgICAgICBzdHlsZUVsZW1lbnQuaW5uZXJIVE1MID0gc3R5bGU7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxlRWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICBib2R5Lmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywgYmxjb2tlckh0bWwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmVCbG9ja2VyKHN0eWxlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc3R5bGVFbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVtb3ZlQmxvY2tlcihzdHlsZUVsZW1lbnQ6IEhUTUxTdHlsZUVsZW1lbnQgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBibG9ja2VyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmx6ZS1ibG9ja2VyJyk7XHJcbiAgICAgICAgYmxvY2tlcj8ucmVtb3ZlKCk7XHJcbiAgICAgICAgc3R5bGVFbGVtZW50Py5yZW1vdmUoKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEFwaUhlbHBlciA9IG5ldyBMb2NhbGl6ZUFwaUhlbHBlcigpOyJdfQ==
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jY2FsaXplLmFwaS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbG9jYWxpemUtdG9rZW4vaGVscGVycy9sb2NjYWxpemUuYXBpLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFXLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWdCNUQsTUFBTSxpQkFBaUI7SUFBdkI7UUFFYSx3QkFBbUIsR0FBMkI7WUFDbkQsZUFBZSxFQUFFO2dCQUNiLE9BQU8sRUFBRSx3Q0FBd0M7Z0JBQ2pELFdBQVcsRUFBRSxJQUFJO2dCQUNqQixpQkFBaUIsRUFBRSxLQUFLO2FBQzNCO1NBQ0osQ0FBQztJQW1STixDQUFDO0lBalJTLFlBQVksQ0FBVSxPQUFzQjs7WUFDOUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLElBQUksU0FBYyxDQUFDO1lBQ25CLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztZQUVyQixvREFBb0Q7WUFDcEQsT0FBTyxtQ0FBUSxJQUFJLENBQUMsbUJBQW1CLEdBQUssT0FBTyxDQUFFLENBQUE7WUFFckQsSUFBSSxZQUEwQyxDQUFDO1lBRS9DLE9BQU8sUUFBUSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDcEMsSUFBSTtvQkFDQSxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDakMsT0FBTyxNQUFNLENBQUM7aUJBRWpCO2dCQUFDLE9BQU8sS0FBVSxFQUFFO29CQUNqQixTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUVsQixJQUFJLFlBQVksSUFBSSxDQUFDLEVBQUU7d0JBQ25CLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFDaEIsWUFBWSxHQUFHLENBQUMsQ0FBQztxQkFDcEI7b0JBRUQsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7d0JBQ2xELE1BQU0sS0FBSyxDQUFDLENBQUMsaURBQWlEO29CQUVsRSwwQkFBMEI7b0JBQzFCLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBRTVELElBQUksT0FBTyxDQUFDLE9BQU87d0JBQ2YsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUU3RCxJQUFJLFFBQVEsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQzt3QkFDcEMsTUFBTSxLQUFLLENBQUM7b0JBRWhCLFFBQVEsRUFBRSxDQUFDO29CQUNYLFlBQVksRUFBRSxDQUFDO29CQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxRQUFRLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUMvRCxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2hDO2FBQ0o7WUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixPQUFPLENBQUMsVUFBVSxXQUFXLENBQUMsQ0FBQztZQUM1RCxNQUFNLFNBQVMsQ0FBQztRQUNwQixDQUFDO0tBQUE7SUFFSyx1QkFBdUIsQ0FDekIsT0FBb0IsRUFDcEIsTUFBMkIsRUFDM0IsY0FBNkQ7OztZQUc3RCxNQUFNLFdBQVcsR0FBRyxDQUFBLE1BQUEsTUFBTSxDQUFDLFlBQVksMENBQUUsYUFBYTttQkFDL0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBRTlCLE9BQU8sTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUMzQixlQUFlLEVBQUUsTUFBQSxNQUFNLENBQUMsWUFBWSwwQ0FBRSxpQkFBaUI7Z0JBQ3ZELFVBQVUsRUFBRSxHQUFHLEVBQUUsZUFBQyxPQUFBLE1BQUEsTUFBQSxNQUFNLENBQUMsWUFBWSwwQ0FBRSxVQUFVLG1DQUFJLElBQUksQ0FBQSxFQUFBO2dCQUN6RCxLQUFLLEVBQUUsTUFBQSxNQUFBLE1BQU0sQ0FBQyxZQUFZLDBDQUFFLEtBQUssbUNBQUksR0FBRztnQkFDeEMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBSSxPQUFPLENBQUM7Z0JBQzFDLFdBQVcsRUFBRSxXQUFXO2FBQzNCLENBQUMsQ0FBQTs7S0FDTDtJQUVELFFBQVEsQ0FBQyxPQUFlLEVBQUUsSUFBWTtRQUNsQyxNQUFNLGFBQWEsR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDaEcsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUM5QixDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUN4QixDQUFDO0lBRUssVUFBVSxDQUFDLFFBQW1DOztZQUNoRCxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBRXRCLE1BQU0sTUFBTSxHQUFHLFFBQVEsRUFBRSxDQUFDO1lBQzFCLElBQUksTUFBTSxZQUFZLE9BQU8sRUFBRTtnQkFDM0IsTUFBTSxNQUFNLENBQUM7YUFDaEI7UUFDTCxDQUFDO0tBQUE7SUFFRCxhQUFhLENBQ1QsUUFBb0MsRUFDcEMsTUFBYyxFQUNkLEdBQVcsRUFDWCxJQUFTLEVBQ1QsT0FBaUM7UUFFakMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUksTUFBTSxFQUFFLEdBQUcsa0NBQ2hELE9BQU8sS0FDVixJQUFJLEVBQ0osT0FBTyxFQUFFLFVBQVUsSUFDckIsQ0FBQyxJQUFJLENBQ0gsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUM5QixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDcEMsNkRBQTZEO1lBQzdELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBd0I7UUFFekMsMERBQTBEO1FBQzFELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDO1lBQzlCLE1BQU0sS0FBSyxDQUFDO1FBRWhCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUF3QjtRQUN0QyxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUMxQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUNqRSxPQUFPLGNBQWMsSUFBSSxhQUFhLENBQUM7SUFDM0MsQ0FBQztJQUVLLGlCQUFpQixDQUNuQixPQUFzQixFQUN0QixLQUFVOzs7WUFHVixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWU7Z0JBQ3hCLE9BQU87WUFFWCxJQUFJLFlBQTBDLENBQUM7WUFDL0MsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBRS9CLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBRXhELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFBLE9BQU8sQ0FBQyxlQUFlLENBQUMsUUFBUSwwQ0FBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzNFLE9BQU8sWUFBWSxDQUFDO2FBQ3ZCO2lCQUFNO2dCQUNILElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDMUMsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLE1BQU0sRUFBRSxDQUFDO2FBQzFCOztLQUNKO0lBRUQsYUFBYSxDQUFDLE1BQXFCLEVBQy9CLEtBQXlCLEVBQ3pCLE1BQWUsSUFBSTs7UUFFbkIsSUFBSSxDQUFDLENBQUEsTUFBQSxNQUFNLENBQUMsZUFBZSwwQ0FBRSxXQUFXLENBQUE7WUFDcEMsT0FBTztRQUVYLE1BQU0sT0FBTyxHQUFHLENBQUEsTUFBQSxNQUFNLENBQUMsZUFBZSwwQ0FBRSxPQUFPO2VBQ3hDLHdDQUF3QyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLENBQUEsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsS0FBSywwQ0FBRSxPQUFPLEtBQUksbUJBQW1CLENBQUM7UUFDbEUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFBLE1BQUEsTUFBTSxDQUFDLGVBQWUsMENBQUUsaUJBQWlCO2VBQzNELDZEQUE2RCxDQUFDO1FBRXJFLE1BQU0sTUFBTSxHQUFHLENBQUEsTUFBQSxNQUFNLENBQUMsZUFBZSwwQ0FBRSxpQkFBaUIsS0FBSSxLQUFLLENBQUM7UUFFbEUsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUMzQixNQUFNLFdBQVcsR0FBRzs7Y0FFZCxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsWUFBWTs7a0JBRXBDLE9BQU87Ozs7Ozs7OENBT3FCLFlBQVk7eURBQ0QsZ0JBQWdCOztTQUVoRSxDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUc7Ozs7Ozs7O3VCQVFDLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0F5RXBCLENBQUM7UUFFRixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJELElBQUksR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQ3pDLFlBQVksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUMvQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQzthQUNyRDtTQUNKO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxZQUEwQztRQUM1RCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLEVBQUUsQ0FBQztRQUNsQixZQUFZLGFBQVosWUFBWSx1QkFBWixZQUFZLENBQUUsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNKO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJQXBpT3B0aW9ucywgSUxvY2FsaXplQXBpQ29uZmlncywgSU9uQ29ubmVjdGlvbkVycm9yIH0gZnJvbSBcIi4vaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGNhdGNoRXJyb3IsIHRocm93RXJyb3IsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB3YWl0Rm9yIH0gZnJvbSBcIi4uL2xvY2FsaXplLnRva2VuXCI7XHJcbmltcG9ydCB7IExPQ0FMSVpFX0FQSV9BU1NFVFMgfSBmcm9tIFwiLi9sb2NhbGl6ZS5hcGkuYXNzZXRzXCI7XHJcblxyXG5pbnRlcmZhY2UgSVJlcXVlc3RJbnN0YW5jZSB7XHJcbiAgICBjbGllbnQ6IEh0dHBDbGllbnQ7XHJcbiAgICBkZXN0cm95JDogKCkgPT4gU3ViamVjdDx2b2lkPjtcclxufVxyXG5cclxuaW50ZXJmYWNlIElSZXRyeU9wdGlvbnMge1xyXG4gICAgbWF4UmV0cmllczogKCkgPT4gbnVtYmVyO1xyXG4gICAgZGVsYXk6IG51bWJlcjtcclxuICAgIGNhbGxiYWNrOiAoKSA9PiBQcm9taXNlPGFueT4gfCBhbnk7XHJcbiAgICByZXRyeVVubGVzcz86IChlcnJvcjogYW55KSA9PiBib29sZWFuO1xyXG4gICAgb25FcnJvcj86IChlcnJvcjogYW55KSA9PiBQcm9taXNlPHZvaWQ+IHwgYW55O1xyXG4gICAgY29ubmVjdGlvbkVycm9yPzogSU9uQ29ubmVjdGlvbkVycm9yXHJcbn1cclxuXHJcbmNsYXNzIExvY2FsaXplQXBpSGVscGVyIHtcclxuXHJcbiAgICByZWFkb25seSBkZWZhdWx0UmV0cnlPcHRpb25zOiBQYXJ0aWFsPElSZXRyeU9wdGlvbnM+ID0ge1xyXG4gICAgICAgIGNvbm5lY3Rpb25FcnJvcjoge1xyXG4gICAgICAgICAgICBtZXNzYWdlOiAnQ29ubmVjdGlvbiBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIHdhaXQnLFxyXG4gICAgICAgICAgICBibG9ja1NjcmVlbjogdHJ1ZSxcclxuICAgICAgICAgICAgYmxvY2tTY3JlZW5aSW5kZXg6IDEwMDAwXHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBhc3luYyBwZXJmb3JtUmV0cnk8VCA9IGFueT4ob3B0aW9uczogSVJldHJ5T3B0aW9ucyk6IFByb21pc2U8VD4ge1xyXG4gICAgICAgIGxldCBhdHRlbXB0cyA9IDA7XHJcbiAgICAgICAgbGV0IGxhc3RFcnJvcjogYW55O1xyXG4gICAgICAgIGxldCBjb25zb2xlQ291bnQgPSAwO1xyXG5cclxuICAgICAgICAvLyBNZXJnZSBkZWZhdWx0IHJldHJ5IG9wdGlvbnMgd2l0aCBwcm92aWRlZCBvcHRpb25zXHJcbiAgICAgICAgb3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0UmV0cnlPcHRpb25zLCAuLi5vcHRpb25zIH1cclxuXHJcbiAgICAgICAgbGV0IHN0eWxlRWxlbWVudDogSFRNTFN0eWxlRWxlbWVudCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICAgICAgd2hpbGUgKGF0dGVtcHRzIDwgb3B0aW9ucy5tYXhSZXRyaWVzKCkpIHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG9wdGlvbnMuY2FsbGJhY2soKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlQmxvY2tlcihzdHlsZUVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuXHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgIGxhc3RFcnJvciA9IGVycm9yO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChjb25zb2xlQ291bnQgPj0gNykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuY2xlYXIoKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlQ291bnQgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnJldHJ5VW5sZXNzICYmICFvcHRpb25zLnJldHJ5VW5sZXNzKGVycm9yKSlcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjsgLy8gSWYgdGhlIGVycm9yIHNob3VsZCBub3QgYmUgcmV0cmllZCwgcmV0aHJvdyBpdFxyXG5cclxuICAgICAgICAgICAgICAgIC8vIEhhbmRsZSBjb25uZWN0aW9uIGVycm9yXHJcbiAgICAgICAgICAgICAgICBzdHlsZUVsZW1lbnQgPSBhd2FpdCB0aGlzLm9uQ29ubmVjdGlvbkVycm9yKG9wdGlvbnMsIGVycm9yKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5vbkVycm9yKVxyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuaW52b2tlSG9vayhvcHRpb25zLm9uRXJyb3IuYmluZCh0aGlzLCBlcnJvcikpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChhdHRlbXB0cyA+PSBvcHRpb25zLm1heFJldHJpZXMoKSAtIDEpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XHJcblxyXG4gICAgICAgICAgICAgICAgYXR0ZW1wdHMrKztcclxuICAgICAgICAgICAgICAgIGNvbnNvbGVDb3VudCsrO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBBdHRlbXB0ICR7YXR0ZW1wdHN9IGZhaWxlZC4gUmV0cnlpbmcuLi5gLCBlcnJvcik7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKG9wdGlvbnMuZGVsYXkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zb2xlLndhcm4oYEZhaWxlZCBhZnRlciAke29wdGlvbnMubWF4UmV0cmllc30gYXR0ZW1wdHNgKTtcclxuICAgICAgICB0aHJvdyBsYXN0RXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcGVyZm9ybVJlcXVlc3RXaXRoUmV0cnk8VCA9IGFueT4oXHJcbiAgICAgICAgb3B0aW9uczogSUFwaU9wdGlvbnMsXHJcbiAgICAgICAgY29uZmlnOiBJTG9jYWxpemVBcGlDb25maWdzLFxyXG4gICAgICAgIHBlcmZvcm1SZXF1ZXN0OiA8VCA9IGFueT4ob3B0aW9uczogSUFwaU9wdGlvbnMpID0+IFByb21pc2U8VD5cclxuICAgICk6IFByb21pc2U8VD4ge1xyXG5cclxuICAgICAgICBjb25zdCByZXRyeVVubGVzcyA9IGNvbmZpZy5yZXRyeU9wdGlvbnM/LnJldHJ5RnVuY3Rpb25cclxuICAgICAgICAgICAgfHwgdGhpcy5pc0Nvbm5lY3Rpb25FcnJvcjtcclxuXHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucGVyZm9ybVJldHJ5KHtcclxuICAgICAgICAgICAgY29ubmVjdGlvbkVycm9yOiBjb25maWcucmV0cnlPcHRpb25zPy5vbkNvbm5lY3Rpb25FcnJvcixcclxuICAgICAgICAgICAgbWF4UmV0cmllczogKCkgPT4gY29uZmlnLnJldHJ5T3B0aW9ucz8ubWF4UmV0cmllcyA/PyAxMDAwLFxyXG4gICAgICAgICAgICBkZWxheTogY29uZmlnLnJldHJ5T3B0aW9ucz8uZGVsYXkgPz8gNTAwLFxyXG4gICAgICAgICAgICBjYWxsYmFjazogKCkgPT4gcGVyZm9ybVJlcXVlc3Q8VD4ob3B0aW9ucyksXHJcbiAgICAgICAgICAgIHJldHJ5VW5sZXNzOiByZXRyeVVubGVzcyxcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIGJ1aWxkVXJsKGJhc2VVcmw6IHN0cmluZywgcGF0aDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBub3JtYWxpemVkVXJsID0gYCR7YmFzZVVybC50cmltKCkucmVwbGFjZSgvXFwvPyQvLCAnLycpfSR7cGF0aC50cmltKCkucmVwbGFjZSgvXlxcLy8sICcnKX1gO1xyXG4gICAgICAgIHJldHVybiBub3JtYWxpemVkVXJsLmVuZHNXaXRoKCcvJylcclxuICAgICAgICAgICAgPyBub3JtYWxpemVkVXJsLnNsaWNlKDAsIC0xKVxyXG4gICAgICAgICAgICA6IG5vcm1hbGl6ZWRVcmw7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgaW52b2tlSG9vayhjYWxsYmFjaz86ICgpID0+IFByb21pc2U8YW55PiB8IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgaWYgKCFjYWxsYmFjaykgcmV0dXJuO1xyXG5cclxuICAgICAgICBjb25zdCByZXN1bHQgPSBjYWxsYmFjaygpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHJlc3VsdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlUmVxdWVzdDxUID0gYW55PihcclxuICAgICAgICBpbnN0YW5jZTogUmVxdWlyZWQ8SVJlcXVlc3RJbnN0YW5jZT4sXHJcbiAgICAgICAgbWV0aG9kOiBzdHJpbmcsXHJcbiAgICAgICAgdXJsOiBzdHJpbmcsXHJcbiAgICAgICAgYm9keTogYW55LFxyXG4gICAgICAgIG9wdGlvbnM6IHsgaGVhZGVyczogSHR0cEhlYWRlcnMgfVxyXG4gICAgKSB7XHJcbiAgICAgICAgY29uc3QgcmVxdWVzdCQgPSBpbnN0YW5jZS5jbGllbnQucmVxdWVzdDxUPihtZXRob2QsIHVybCwge1xyXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxyXG4gICAgICAgICAgICBib2R5LFxyXG4gICAgICAgICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxyXG4gICAgICAgIH0pLnBpcGUoXHJcbiAgICAgICAgICAgIHRha2VVbnRpbChpbnN0YW5jZS5kZXN0cm95JCgpKSxcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBDb252ZXJ0IHRvIGEgbm9uLW9ic2VydmFibGUgZXJyb3IgdG8gaGFuZGxlIGluIHRoZSBwcm9taXNlXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHJlcXVlc3QkO1xyXG4gICAgfVxyXG5cclxuICAgIGRlZmF1bHRSZXRyeUZ1bmN0aW9uKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IGJvb2xlYW4ge1xyXG5cclxuICAgICAgICAvLyBEb24ndCByZXRyeSBmb3Igb3RoZXIgZXJyb3JzIChsaWtlIDQwMCwgNDAxLCA0MDMsIGV0Yy4pXHJcbiAgICAgICAgaWYgKCF0aGlzLmlzQ29ubmVjdGlvbkVycm9yKGVycm9yKSlcclxuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlzQ29ubmVjdGlvbkVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGlzTmV0d29ya0Vycm9yID0gZXJyb3Iuc3RhdHVzID09PSAwO1xyXG4gICAgICAgIGNvbnN0IGlzU2VydmVyRXJyb3IgPSBlcnJvci5zdGF0dXMgPj0gMTAwMCAmJiBlcnJvci5zdGF0dXMgPCA2MDA7XHJcbiAgICAgICAgcmV0dXJuIGlzTmV0d29ya0Vycm9yIHx8IGlzU2VydmVyRXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25Db25uZWN0aW9uRXJyb3IoXHJcbiAgICAgICAgb3B0aW9uczogSVJldHJ5T3B0aW9ucyxcclxuICAgICAgICBlcnJvcjogYW55XHJcbiAgICApOiBQcm9taXNlPFByb21pc2U8dm9pZD4gfCBhbnk+IHtcclxuXHJcbiAgICAgICAgaWYgKCFvcHRpb25zLmNvbm5lY3Rpb25FcnJvcilcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICBsZXQgc3R5bGVFbGVtZW50OiBIVE1MU3R5bGVFbGVtZW50IHwgdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmICh0aGlzLmlzQ29ubmVjdGlvbkVycm9yKGVycm9yKSkge1xyXG5cclxuICAgICAgICAgICAgc3R5bGVFbGVtZW50ID0gdGhpcy5zY3JlZW5CbG9ja2VyKG9wdGlvbnMsIGVycm9yLCB0cnVlKTtcclxuXHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuaW52b2tlSG9vayhvcHRpb25zLmNvbm5lY3Rpb25FcnJvci5jYWxsYmFjaz8uYmluZCh0aGlzLCBlcnJvcikpO1xyXG4gICAgICAgICAgICByZXR1cm4gc3R5bGVFbGVtZW50O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2NyZWVuQmxvY2tlcihvcHRpb25zLCBlcnJvciwgZmFsc2UpO1xyXG4gICAgICAgICAgICBzdHlsZUVsZW1lbnQ/LnJlbW92ZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzY3JlZW5CbG9ja2VyKG9wdG9uczogSVJldHJ5T3B0aW9ucyxcclxuICAgICAgICBlcnJvcj86IEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gICAgICAgIGFkZDogYm9vbGVhbiA9IHRydWUpOiBIVE1MU3R5bGVFbGVtZW50IHwgdW5kZWZpbmVkIHtcclxuXHJcbiAgICAgICAgaWYgKCFvcHRvbnMuY29ubmVjdGlvbkVycm9yPy5ibG9ja1NjcmVlbilcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICBjb25zdCBtZXNzYWdlID0gb3B0b25zLmNvbm5lY3Rpb25FcnJvcj8ubWVzc2FnZVxyXG4gICAgICAgICAgICB8fCAnQ29ubmVjdGlvbiBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIHdhaXQnO1xyXG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yPy5lcnJvcj8ubWVzc2FnZSB8fCAnQW4gZXJyb3Igb2NjdXJyZWQnO1xyXG4gICAgICAgIGNvbnN0IHN1Z2dlc3Rpbk1lc3NhZ2UgPSBvcHRvbnMuY29ubmVjdGlvbkVycm9yPy5zdWdnZXN0aW9uTWVzc2FnZVxyXG4gICAgICAgICAgICB8fCAnUGxlYXNlIGNoZWNrIHlvdXIgaW50ZXJuZXQgY29ubmVjdGlvbiBvciB0aGUgc2VydmVyIHN0YXR1cy4nO1xyXG5cclxuICAgICAgICBjb25zdCB6SW5kZXggPSBvcHRvbnMuY29ubmVjdGlvbkVycm9yPy5ibG9ja1NjcmVlblpJbmRleCB8fCAxMDAwMDtcclxuXHJcbiAgICAgICAgY29uc3QgYm9keSA9IGRvY3VtZW50LmJvZHk7XHJcbiAgICAgICAgY29uc3QgYmxjb2tlckh0bWwgPSBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImx6ZS1ibG9ja2VyXCI+XHJcbiAgICAgICAgICAgICR7TE9DQUxJWkVfQVBJX0FTU0VUUy5uZXR3b3JrLm5vQ29ubmVjdGlvbn1cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImx6ZS1ibG9ja2VyX19tZXNzYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAke21lc3NhZ2V9XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImx6ZS1ibG9ja2VyX19kb3R0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsemUtYmxvY2tlcl9fZG90XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibHplLWJsb2NrZXJfX2RvdFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImx6ZS1ibG9ja2VyX19kb3RcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibHplLWJsb2NrZXJfX2Vycm9yXCI+JHtlcnJvck1lc3NhZ2V9PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsemUtYmxvY2tlcl9fZXJyb3Jfc3VnZ2VzdGlvblwiPiR7c3VnZ2VzdGluTWVzc2FnZX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBgO1xyXG4gICAgICAgIGNvbnN0IHN0eWxlID0gYFxyXG4gICAgICAgIGRpdi5semUtYmxvY2tlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHotaW5kZXg6ICR7ekluZGV4fTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyNsemUtbm8tY29ubmVjdGlvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIGRpdi5semUtYmxvY2tlcl9fbWVzc2FnZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgLmx6ZS1ibG9ja2VyX19kb3R0aW5nIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuLmx6ZS1ibG9ja2VyX19kb3Qge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogN3B4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IGRvdHRpbmcgMXMgaW5maW5pdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5semUtYmxvY2tlcl9fZG90Om50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5semUtYmxvY2tlcl9fZG90Om50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4ycztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmx6ZS1ibG9ja2VyX19kb3Q6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjRzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGtleWZyYW1lcyBkb3R0aW5nIHtcclxuICAgICAgICAgICAgMCUsIDgwJSwgMTAwJSB7IG9wYWNpdHk6IDAuMzsgfVxyXG4gICAgICAgICAgICA0MCUgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkaXYubHplLWJsb2NrZXJfX2Vycm9yIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmMDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDFweCAjZmY1ZjVmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkaXYubHplLWJsb2NrZXJfX2Vycm9yX3N1Z2dlc3Rpb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogI2NjYyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGtleWZyYW1lcyBzcGluIHtcclxuICAgICAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gICAgICAgICAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBgO1xyXG5cclxuICAgICAgICBjb25zdCBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xyXG5cclxuICAgICAgICBpZiAoYWRkKSB7XHJcbiAgICAgICAgICAgIGlmICghZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmx6ZS1ibG9ja2VyJykpIHtcclxuICAgICAgICAgICAgICAgIHN0eWxlRWxlbWVudC5pbm5lckhUTUwgPSBzdHlsZTtcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KTtcclxuICAgICAgICAgICAgICAgIGJvZHkuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCBibGNva2VySHRtbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZUJsb2NrZXIoc3R5bGVFbGVtZW50KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBzdHlsZUVsZW1lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZW1vdmVCbG9ja2VyKHN0eWxlRWxlbWVudDogSFRNTFN0eWxlRWxlbWVudCB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGJsb2NrZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubHplLWJsb2NrZXInKTtcclxuICAgICAgICBibG9ja2VyPy5yZW1vdmUoKTtcclxuICAgICAgICBzdHlsZUVsZW1lbnQ/LnJlbW92ZSgpO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQXBpSGVscGVyID0gbmV3IExvY2FsaXplQXBpSGVscGVyKCk7Il19
|
|
@@ -132,6 +132,7 @@ export class LocalizeApiService {
|
|
|
132
132
|
catch (error) {
|
|
133
133
|
// Handle the error, log it
|
|
134
134
|
yield ApiHelper.invokeHook(this.config.onAutoLogout);
|
|
135
|
+
throw error;
|
|
135
136
|
}
|
|
136
137
|
finally {
|
|
137
138
|
// Reset the revoking token state
|
|
@@ -153,9 +154,7 @@ export class LocalizeApiService {
|
|
|
153
154
|
var _a;
|
|
154
155
|
return __awaiter(this, void 0, void 0, function* () {
|
|
155
156
|
if (this.isRevokingToken) {
|
|
156
|
-
// console.warn('A token refresh is in progress. Request is waiting.');
|
|
157
157
|
yield waitUntil(() => !this.isRevokingToken);
|
|
158
|
-
// console.info('Token refresh complete. Resuming request.');
|
|
159
158
|
}
|
|
160
159
|
// to wait for each request in 50ms, even if the request is not completed
|
|
161
160
|
const waitMilliseconds = (_a = this.config.waitEachRequest) === null || _a === void 0 ? void 0 : _a.milliseconds;
|
|
@@ -194,7 +193,7 @@ export class LocalizeApiService {
|
|
|
194
193
|
}
|
|
195
194
|
validateConfig() {
|
|
196
195
|
var _a, _b, _c, _d;
|
|
197
|
-
if (this.localizeTokenService.config.
|
|
196
|
+
if (this.localizeTokenService.config.requiredTenant
|
|
198
197
|
&& !((_b = (_a = this.localizeTokenService.config.tenantToken) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.trim().length)) {
|
|
199
198
|
throw Error('Tenant token is required but tenantTokenName is not configured');
|
|
200
199
|
}
|
|
@@ -213,4 +212,4 @@ LocalizeApiService.ctorParameters = () => [
|
|
|
213
212
|
{ type: HttpClient },
|
|
214
213
|
{ type: LocalizeTokenService }
|
|
215
214
|
];
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9kZXYvc3JjL2xvY2FsaXplLXRva2VuL2xvY2FsaXplLmFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQXFCLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBb0MsT0FBTyxFQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFDMUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBRTNELE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7QUFLMUMsTUFBTSxPQUFPLGtCQUFrQjtJQXlDN0IsWUFBcUIsVUFBc0IsRUFDeEIsb0JBQTBDO1FBRHhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQXpDNUMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0Isa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBK0IsRUFBRSxDQUFDLENBQUM7UUFDOUUsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDMUQsOEJBQXlCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFlakUsa0JBQWEsR0FBaUM7WUFDcEQsZUFBZSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFB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WUFEVixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuU2VydmljZSB9IGZyb20gXCIuL2xvY2FsaXplLnRva2VuLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IExvY2FsaXplVG9rZW4sIHdhaXRGb3IsIHdhaXRVbnRpbCB9IGZyb20gXCIuL2xvY2FsaXplLnRva2VuXCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IElMb2NhbGl6ZUFwaUNvbmZpZ3MsIElBcGlPcHRpb25zLCBFTWV0aG9kLCBJSGVhZGVyIH0gZnJvbSBcIi4vaGVscGVycy9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCB7IEFwaUhlbHBlciB9IGZyb20gXCIuL2hlbHBlcnMvbG9jY2FsaXplLmFwaS5oZWxwZXJcIjtcclxuXHJcbmNvbnN0IFNDSEVNRVMgPSBMb2NhbGl6ZVRva2VuLmh0dHBIZWFkZXJzO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxpemVBcGlTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcnRpYWw8SUxvY2FsaXplQXBpQ29uZmlncz4+KHt9KTtcclxuICByZWFkb25seSBpc1JlcXVlc3RpbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcmVhZG9ubHkgaXNSZXNvbHZpbmdTdGFydHVwU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGdldCBpc1Jlc29sdmluZ1N0YXJ0dXAoKSB7IHJldHVybiB0aGlzLmlzUmVzb2x2aW5nU3RhcnR1cFN1YmplY3QudmFsdWU7IH1cclxuXHJcbiAgZ2V0IG5lZWRUZW5hbnQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy50ZW5hbnRUb2tlbiAhPT0gdW5kZWZpbmVkOyB9XHJcblxyXG4gIGdldCBpc1JlcXVlc3RpbmcoKSB7IHJldHVybiB0aGlzLmlzUmVxdWVzdGluZ1N1YmplY3QudmFsdWU7IH1cclxuICBnZXQgaXNSZXZva2luZ1Rva2VuKCkgeyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5pc1Jldm9raW5nVG9rZW47IH1cclxuICBzZXQgaXNSZXZva2luZ1Rva2VuKHZhbHVlOiBib29sZWFuKSB7IHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuaXNSZXZva2luZ1Rva2VuID0gdmFsdWU7IH1cclxuXHJcbiAgZ2V0IGFjY2Vzc1Rva2VuKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmFjY2Vzc1Rva2VuOyB9XHJcbiAgc2V0IGFjY2Vzc1Rva2VuKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHsgdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5hY2Nlc3NUb2tlbiA9IHZhbHVlOyB9XHJcblxyXG4gIGdldCByZWZyZXNoVG9rZW4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UucmVmcmVzaFRva2VuOyB9XHJcbiAgZ2V0IHRlbmFudFRva2VuKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLnRlbmFudFRva2VuOyB9XHJcblxyXG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZzogUGFydGlhbDxJTG9jYWxpemVBcGlDb25maWdzPiA9IHtcclxuICAgIHdhaXRFYWNoUmVxdWVzdDogeyBtaWxsaXNlY29uZHM6IDAgfSxcclxuICAgIGVuYWJsZVJlcXVlc3RDYW5jZWxsYXRpb246IHRydWUsXHJcblxyXG4gICAgcmV0cnlPcHRpb25zOiB7XHJcbiAgICAgIG1heFJldHJpZXM6IDEwMDAsXHJcbiAgICAgIGRlbGF5OiAxMDAwLFxyXG4gICAgICByZXRyeUZ1bmN0aW9uOiBBcGlIZWxwZXIuZGVmYXVsdFJldHJ5RnVuY3Rpb24uYmluZCh0aGlzKSxcclxuICAgIH0sXHJcblxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgZ2V0IGNvbmZpZygpOiBQYXJ0aWFsPElMb2NhbGl6ZUFwaUNvbmZpZ3M+IHtcclxuICAgIHRoaXMudmFsaWRhdGVDb25maWcoKTtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N1YmplY3QudmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwaU9wdGlvbnM6IFBhcnRpYWw8SUFwaU9wdGlvbnM+ID0ge1xyXG4gICAgbWV0aG9kOiBFTWV0aG9kLkdFVCxcclxuICAgIHJlcXVlc3RCb2R5OiBudWxsLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsaXplVG9rZW5TZXJ2aWNlOiBMb2NhbGl6ZVRva2VuU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgdGhlIEFQSSBzZXJ2aWNlLlxyXG4gICAqIEBwYXJhbSBhcGlDb25maWdzIC0gVGhlIEFQSSBjb25maWd1cmF0aW9ucy5cclxuICAgKi9cclxuICBpbml0KGFwaUNvbmZpZ3M6IElMb2NhbGl6ZUFwaUNvbmZpZ3MpIHtcclxuICAgIGNvbnNvbGUubG9nKCdMb2NhbGl6ZUFwaVNlcnZpY2UgaXMgaW5pdGlhbGl6ZWQuJyk7XHJcbiAgICB0aGlzLmNvbmZpZ1N1YmplY3QubmV4dCh7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgLi4uYXBpQ29uZmlncyB9KTtcclxuICB9XHJcblxyXG4gIGNhbmNlbFBlbmRpbmdSZXF1ZXN0cygpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlnLmVuYWJsZVJlcXVlc3RDYW5jZWxsYXRpb25cclxuICAgICAgJiYgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQSBoaWdoZXItb3JkZXIgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY3VycmllZCBmdW5jdGlvbiBmb3IgbWFraW5nIEFQSSByZXF1ZXN0cy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBiYXNlVXJsIC0gVGhlIGJhc2UgVVJMIG9mIHRoZSBBUEkuXHJcbiAgICogQHJldHVybnMgQSBjdXJyaWVkIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBBUEkgcmVxdWVzdHMuXHJcbiAgICovXHJcbiAgZnVuYyA9IChiYXNlVXJsOiBzdHJpbmcpID0+XHJcbiAgICA8VCA9IGFueT4ocGF0aDogc3RyaW5nLCBtZXRob2Q6IEVNZXRob2QgPSBFTWV0aG9kLkdFVCwgcmVxQm9keTogYW55ID0gbnVsbCwgcmVxSGVhZGVycz86IElIZWFkZXIpID0+XHJcbiAgICAgIHRoaXMucmVxdWVzdDxUPihiYXNlVXJsLCBwYXRoLCBtZXRob2QsIHJlcUJvZHksIHJlcUhlYWRlcnMpXHJcblxyXG4gIHB1YmxpYyBhc3luYyByZXF1ZXN0PFQgPSBhbnk+KGJhc2VVcmw6IHN0cmluZyxcclxuICAgIHBhdGg6IHN0cmluZyxcclxuICAgIG1ldGhvZDogRU1ldGhvZCA9IEVNZXRob2QuR0VULFxyXG4gICAgcmVxQm9keTogYW55ID0gbnVsbCxcclxuICAgIHJlcUhlYWRlcnM/OiBJSGVhZGVyKTogUHJvbWlzZTxUPiB7XHJcblxyXG4gICAgYXdhaXQgd2FpdFVudGlsKCgpID0+ICF0aGlzLmlzUmVzb2x2aW5nU3RhcnR1cCwgNTAwKTtcclxuXHJcbiAgICBhd2FpdCBBcGlIZWxwZXIuaW52b2tlSG9vayh0aGlzLmNvbmZpZy5vblByZXBhcmVSZXF1ZXN0KTtcclxuXHJcbiAgICBjb25zdCBhcGlPcHRpb25zID0gdGhpcy5idWlsZEFwaU9wdGlvbnMoYmFzZVVybCwgcGF0aCwgbWV0aG9kLCByZXFCb2R5LCByZXFIZWFkZXJzKTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCB0aGlzLnRvV2FpdEZvclByZXZpb3VzUmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmV0dXJuIGF3YWl0IEFwaUhlbHBlci5wZXJmb3JtUmVxdWVzdFdpdGhSZXRyeTxUPihcclxuICAgICAgICBhcGlPcHRpb25zLFxyXG4gICAgICAgIHRoaXMuY29uZmlnLFxyXG4gICAgICAgIHRoaXMucGVyZm9ybVJlcXVlc3QuYmluZCh0aGlzKVxyXG4gICAgICApO1xyXG5cclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZU9uUmVxdWVzdEVycm9yKGVycm9yLCBhcGlPcHRpb25zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlT25SZXF1ZXN0RXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBvcHRpb25zOiBJQXBpT3B0aW9ucyk6IFByb21pc2U8YW55PiB7XHJcbiAgICBpZiAoZXJyb3Iuc3RhdHVzICE9PSA0MDEpXHJcbiAgICAgIHRocm93IGVycm9yO1xyXG5cclxuICAgIGF3YWl0IHdhaXRVbnRpbCgoKSA9PiAhdGhpcy5pc1Jlc29sdmluZ1N0YXJ0dXAsIDUwKTtcclxuXHJcbiAgICByZXR1cm4gYXdhaXQgQXBpSGVscGVyLnBlcmZvcm1SZXRyeSh7XHJcbiAgICAgIG1heFJldHJpZXM6ICgpID0+IDEwMDAsXHJcbiAgICAgIGRlbGF5OiAxMCxcclxuICAgICAgcmV0cnlVbmxlc3M6IChlcnJvcikgPT4gZXJyb3Iuc3RhdHVzID09PSA0MDEgfHwgQXBpSGVscGVyLmlzQ29ubmVjdGlvbkVycm9yKGVycm9yKSxcclxuICAgICAgY2FsbGJhY2s6IGFzeW5jICgpID0+IHtcclxuICAgICAgICAvLyBPbmx5IGhhbmRsZSA0MDEgVW5hdXRob3JpemVkIGVycm9yc1xyXG4gICAgICAgIGF3YWl0IHRoaXMucmV2b2tlVG9rZW4oKTtcclxuXHJcbiAgICAgICAgLy8gUmV0cnkgdGhlIHJlcXVlc3Qgd2l0aCB0aGUgbmV3IGFjY2VzcyB0b2tlblxyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnBlcmZvcm1SZXF1ZXN0KG9wdGlvbnMpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcGVyZm9ybVJlcXVlc3Q8VCA9IGFueT4ob3B0aW9uczogSUFwaU9wdGlvbnMpOiBQcm9taXNlPFQ+IHtcclxuXHJcbiAgICAvLyBCdWlsZCB0aGUgcmVxdWVzdCBvcHRpb25zXHJcbiAgICBjb25zdCBidWlsZE9wdGlvbnMgPSB7IGhlYWRlcnM6IHRoaXMuYnVpbGRIZWFkZXJPcHRpb25zKG9wdGlvbnMpIH07XHJcblxyXG4gICAgLy8gQ3JlYXRlIHRoZSByZXF1ZXN0IG9ic2VydmFibGVcclxuICAgIGNvbnN0IHJlcXVlc3QkID0gQXBpSGVscGVyLmNyZWF0ZVJlcXVlc3Q8VD4oe1xyXG4gICAgICBjbGllbnQ6IHRoaXMuaHR0cENsaWVudCxcclxuICAgICAgZGVzdHJveSQ6ICgpID0+IHRoaXMuZGVzdHJveSRcclxuICAgIH0sIG9wdGlvbnMubWV0aG9kLCBvcHRpb25zLnJlcXVlc3RVcmwsIG9wdGlvbnMucmVxdWVzdEJvZHksIGJ1aWxkT3B0aW9ucyk7XHJcblxyXG4gICAgLy8gU2V0IHRoZSBpc1JlcXVlc3Rpbmcgc3RhdGUgdG8gdHJ1ZSBiZWZvcmUgbWFraW5nIHRoZSByZXF1ZXN0XHJcbiAgICB0aGlzLmlzUmVxdWVzdGluZ1N1YmplY3QubmV4dCh0cnVlKTtcclxuXHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT5cclxuICAgICAgcmVxdWVzdCQuc3Vic2NyaWJlKHsgbmV4dDogKHJlcykgPT4gcmVzb2x2ZShyZXMuYm9keSksIGVycm9yOiByZWplY3QgfSkpO1xyXG5cclxuICAgIC8vIFJlc2V0IHRoZSBpc1JlcXVlc3Rpbmcgc3RhdGUgYWZ0ZXIgdGhlIHJlcXVlc3QgY29tcGxldGVzXHJcbiAgICB0aGlzLmlzUmVxdWVzdGluZ1N1YmplY3QubmV4dChmYWxzZSk7XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyByZXZva2VUb2tlbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoYXdhaXQgdGhpcy5pbnRlcmNlcHRSZXZva2VUb2tlbigpKVxyXG4gICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgIHRoaXMuaXNSZXZva2luZ1Rva2VuID0gdHJ1ZTtcclxuXHJcbiAgICAgIGNvbnN0IGFwaU9wdGlvbnM6IElBcGlPcHRpb25zID0ge1xyXG4gICAgICAgIC4uLnRoaXMuYnVpbGRBcGlPcHRpb25zKHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuY29uZmlnLnJlZnJlc2hUb2tlbj8ucmVxdWVzdFVybCB8fCAnJyksXHJcbiAgICAgICAgcmVmcmVzaFRva2VuOiB0cnVlLFxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBjb25zdCByZXZva2VUb2tlbiA9IGF3YWl0IHRoaXMucGVyZm9ybVJlcXVlc3QoYXBpT3B0aW9ucyk7XHJcbiAgICAgIGNvbnN0IHJldm9rZVRva2VuID0gYXdhaXQgQXBpSGVscGVyLnBlcmZvcm1SZXF1ZXN0V2l0aFJldHJ5KFxyXG4gICAgICAgIGFwaU9wdGlvbnMsXHJcbiAgICAgICAgdGhpcy5jb25maWcsXHJcbiAgICAgICAgdGhpcy5wZXJmb3JtUmVxdWVzdC5iaW5kKHRoaXMpXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBhd2FpdCB0aGlzLmhhbmRsZU9uVG9rZW5SZXZva2VkKHJldm9rZVRva2VuKTtcclxuXHJcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgIC8vIEhhbmRsZSB0aGUgZXJyb3IsIGxvZyBpdFxyXG4gICAgICBhd2FpdCBBcGlIZWxwZXIuaW52b2tlSG9vayh0aGlzLmNvbmZpZy5vbkF1dG9Mb2dvdXQpO1xyXG5cclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIC8vIFJlc2V0IHRoZSByZXZva2luZyB0b2tlbiBzdGF0ZVxyXG4gICAgICB0aGlzLmlzUmV2b2tpbmdUb2tlbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIGRlZmF1bHQgaHR0cCByZXF1ZXN0IG9wdGlvbnMgKi9cclxuICBwcml2YXRlIGJ1aWxkSGVhZGVyT3B0aW9ucyhvcHRpb25zOiBJQXBpT3B0aW9ucyk6IEh0dHBIZWFkZXJzIHtcclxuXHJcbiAgICBjb25zdCBoZWFkZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xyXG4gICAgICAuLi4ob3B0aW9ucy5yZWZyZXNoVG9rZW4gJiYgeyBbU0NIRU1FUy5YX1JFRlJFU0hfVE9LRU5dOiBgJHt0aGlzLnJlZnJlc2hUb2tlbn1gIH0pLFxyXG4gICAgICAuLi4oIW9wdGlvbnMuaXNGb3JtRGF0YSAmJiB7IFtTQ0hFTUVTLkNPTlRFTlRfVFlQRV06ICdhcHBsaWNhdGlvbi9qc29uJyB9KSxcclxuICAgICAgW1NDSEVNRVMuQVVUSE9SSVpBVElPTl06IGBCZWFyZXIgJHt0aGlzLmFjY2Vzc1Rva2VufWAsXHJcbiAgICAgIC4uLih0aGlzLm5lZWRUZW5hbnQgJiYgeyBbU0NIRU1FUy5YX1RFTkFOVF06IGAke3RoaXMudGVuYW50VG9rZW59YCB9KVxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHsgLi4uaGVhZGVycywgLi4ub3B0aW9ucy5oZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEFwaU9wdGlvbnMoXHJcbiAgICBiYXNlVXJsOiBzdHJpbmcsXHJcbiAgICBwYXRoOiBzdHJpbmcgPSAnJyxcclxuICAgIG1ldGhvZDogRU1ldGhvZCA9IEVNZXRob2QuR0VULFxyXG4gICAgcmVxdWVzdEJvZHk6IGFueSA9IG51bGwsXHJcbiAgICBoZWFkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxyXG4gICk6IElBcGlPcHRpb25zIHtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0VXJsID0gQXBpSGVscGVyLmJ1aWxkVXJsKGJhc2VVcmwsIHBhdGgpO1xyXG4gICAgY29uc3QgaXNGb3JtRGF0YSA9IHJlcXVlc3RCb2R5ICYmIHJlcXVlc3RCb2R5IGluc3RhbmNlb2YgRm9ybURhdGE7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi50aGlzLmFwaU9wdGlvbnMsXHJcbiAgICAgIC4uLnsgaGVhZGVycywgbWV0aG9kLCByZXF1ZXN0VXJsLCByZXF1ZXN0Qm9keSwgaXNGb3JtRGF0YSB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgYXN5bmMgdG9XYWl0Rm9yUHJldmlvdXNSZXF1ZXN0KCkge1xyXG4gICAgaWYgKHRoaXMuaXNSZXZva2luZ1Rva2VuKSB7XHJcbiAgICAgIC8vIGNvbnNvbGUud2FybignQSB0b2tlbiByZWZyZXNoIGlzIGluIHByb2dyZXNzLiBSZXF1ZXN0IGlzIHdhaXRpbmcuJyk7XHJcbiAgICAgIGF3YWl0IHdhaXRVbnRpbCgoKSA9PiAhdGhpcy5pc1Jldm9raW5nVG9rZW4pO1xyXG4gICAgICAvLyBjb25zb2xlLmluZm8oJ1Rva2VuIHJlZnJlc2ggY29tcGxldGUuIFJlc3VtaW5nIHJlcXVlc3QuJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdG8gd2FpdCBmb3IgZWFjaCByZXF1ZXN0IGluIDUwbXMsIGV2ZW4gaWYgdGhlIHJlcXVlc3QgaXMgbm90IGNvbXBsZXRlZFxyXG4gICAgY29uc3Qgd2FpdE1pbGxpc2Vjb25kcyA9IHRoaXMuY29uZmlnLndhaXRFYWNoUmVxdWVzdD8ubWlsbGlzZWNvbmRzO1xyXG4gICAgaWYgKHdhaXRNaWxsaXNlY29uZHMgJiYgdGhpcy5pc1JlcXVlc3RpbmcpIHtcclxuICAgICAgLy8gY29uc29sZS53YXJuKGBSZXF1ZXN0IHRocm90dGxpbmc6IEFub3RoZXIgcmVxdWVzdCBpcyBpbiBwcm9ncmVzcy4gV2FpdGluZyBmb3IgJHt3YWl0TWlsbGlzZWNvbmRzfW1zLmApO1xyXG4gICAgICBhd2FpdCB3YWl0Rm9yKHdhaXRNaWxsaXNlY29uZHMsIHRoaXMuaXNSZXF1ZXN0aW5nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZU9uVG9rZW5SZXZva2VkKHJlc3BvbnNlOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHJcbiAgICBpZiAocmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAvLyBJZiB0aGUgcmVzcG9uc2UgaXMgc3VjY2Vzc2Z1bCwgdXBkYXRlIHRoZSBhY2Nlc3MgdG9rZW5cclxuICAgICAgdGhpcy5hY2Nlc3NUb2tlbiA9IHJlc3BvbnNlLm1lc3NhZ2U7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gSWYgdGhlIHJlc3BvbnNlIGluZGljYXRlcyBhbiBlcnJvciwgaW52b2tlIHRoZSBvblJldm9rZVVuYXV0aG9yaXplZCBob29rXHJcbiAgICAgIGNvbnNvbGUud2FybignVG9rZW4gcmV2b2NhdGlvbiBmYWlsZWQsIHJlZnJlc2ggdG9rZW4gaXMgZXhwaXJlZC4nLCByZXNwb25zZS5tZXNzYWdlKTtcclxuICAgICAgYXdhaXQgQXBpSGVscGVyLmludm9rZUhvb2sodGhpcy5jb25maWcub25SZXZva2VVbmF1dGhvcml6ZWQpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaW50ZXJjZXB0UmV2b2tlVG9rZW4oKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNSZXZva2luZ1Rva2VuKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignVG9rZW4gaXMgYWxyZWFkeSBiZWluZyByZXZva2VkLiBXYWl0aW5nIGZvciB0aGUgY3VycmVudCBvcGVyYXRpb24gdG8gY29tcGxldGUuLi4nKTtcclxuICAgICAgYXdhaXQgd2FpdFVudGlsKCgpID0+ICF0aGlzLmlzUmV2b2tpbmdUb2tlbik7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5yZWZyZXNoVG9rZW4pIHtcclxuICAgICAgLy8gYXdhaXQgQXBpSGVscGVyLmludm9rZUhvb2sodGhpcy5hcGlDb25maWdzLm9uQXV0b0xvZ291dCk7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVmcmVzaCB0b2tlbiBpcyBtaXNzaW5nLiBQbGVhc2UgbG9naW4gYWdhaW4uJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUNvbmZpZygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy50ZW5hbnRUb2tlblxyXG4gICAgICAmJiAhdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5jb25maWcudGVuYW50VG9rZW4/Lm5hbWU/LnRyaW0oKS5sZW5ndGgpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ1RlbmFudCB0b2tlbiBpcyByZXF1aXJlZCBidXQgdGVuYW50VG9rZW5OYW1lIGlzIG5vdCBjb25maWd1cmVkJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy5yZWZyZXNoVG9rZW4/LnJlcXVlc3RVcmw/LnRyaW0oKS5sZW5ndGgpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ1Jldm9rZSB0b2tlbiBVUkwgaXMgbm90IGNvbmZpZ3VyZWQgLSB0b2tlbiByZWZyZXNoIHdpbGwgbm90IHdvcmsnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9jYWxpemUtdG9rZW4vbG9jYWxpemUuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBcUIsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFvQyxPQUFPLEVBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFFM0QsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQztBQUsxQyxNQUFNLE9BQU8sa0JBQWtCO0lBeUM3QixZQUFxQixVQUFzQixFQUN4QixvQkFBMEM7UUFEeEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN4Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBekM1QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUMvQixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUErQixFQUFFLENBQUMsQ0FBQztRQUM5RSx3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUMxRCw4QkFBeUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQWVqRSxrQkFBYSxHQUFpQztZQUNwRCxlQUFlLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFO1lBQ3BDLHlCQUF5QixFQUFFLElBQUk7WUFFL0IsWUFBWSxFQUFFO2dCQUNaLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxhQUFhLEVBQUUsU0FBUyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDekQ7U0FFRixDQUFDO1FBT00sZUFBVSxHQUF5QjtZQUN6QyxNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDbkIsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQztRQXlCRjs7Ozs7V0FLRztRQUNILFNBQUksR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFLENBQ3pCLENBQVUsSUFBWSxFQUFFLFNBQWtCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsVUFBZSxJQUFJLEVBQUUsVUFBb0IsRUFBRSxFQUFFLENBQ2xHLElBQUksQ0FBQyxPQUFPLENBQUksT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBN0IzRCxDQUFDO0lBdENMLElBQUksa0JBQWtCLEtBQUssT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUV6RSxJQUFJLFVBQVUsS0FBYyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFFaEcsSUFBSSxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxJQUFJLGVBQWUsS0FBSyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQzNFLElBQUksZUFBZSxDQUFDLEtBQWMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFMUYsSUFBSSxXQUFXLEtBQXlCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDdkYsSUFBSSxXQUFXLENBQUMsS0FBeUIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFN0YsSUFBSSxZQUFZLEtBQXlCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDekYsSUFBSSxXQUFXLEtBQXlCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFjdkYsSUFBWSxNQUFNO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFXRDs7O09BR0c7SUFDSCxJQUFJLENBQUMsVUFBK0I7UUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxpQ0FBTSxJQUFJLENBQUMsYUFBYSxHQUFLLFVBQVUsRUFBRyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyx5QkFBeUI7ZUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBWVksT0FBTyxDQUFVLE9BQWUsRUFDM0MsSUFBWSxFQUNaLFNBQWtCLE9BQU8sQ0FBQyxHQUFHLEVBQzdCLFVBQWUsSUFBSSxFQUNuQixVQUFvQjs7WUFFcEIsTUFBTSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFckQsTUFBTSxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUV6RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUVwRixJQUFJO2dCQUNGLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBRXRDLE9BQU8sTUFBTSxTQUFTLENBQUMsdUJBQXVCLENBQzVDLFVBQVUsRUFDVixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUMvQixDQUFDO2FBRUg7WUFDRCxPQUFPLEtBQVUsRUFBRTtnQkFDakIsT0FBTyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDM0Q7UUFDSCxDQUFDO0tBQUE7SUFFYSxvQkFBb0IsQ0FBQyxLQUF3QixFQUFFLE9BQW9COztZQUMvRSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRztnQkFDdEIsTUFBTSxLQUFLLENBQUM7WUFFZCxNQUFNLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUVwRCxPQUFPLE1BQU0sU0FBUyxDQUFDLFlBQVksQ0FBQztnQkFDbEMsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7Z0JBQ3RCLEtBQUssRUFBRSxFQUFFO2dCQUNULFdBQVcsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztnQkFDbEYsUUFBUSxFQUFFLEdBQVMsRUFBRTtvQkFDbkIsc0NBQXNDO29CQUN0QyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFFekIsOENBQThDO29CQUM5QyxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDNUMsQ0FBQyxDQUFBO2FBQ0YsQ0FBQyxDQUFBO1FBRUosQ0FBQztLQUFBO0lBRWEsY0FBYyxDQUFVLE9BQW9COztZQUV4RCw0QkFBNEI7WUFDNUIsTUFBTSxZQUFZLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFFbkUsZ0NBQWdDO1lBQ2hDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUk7Z0JBQzFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDdkIsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO2FBQzlCLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFFMUUsK0RBQStEO1lBQy9ELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFcEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUMxRCxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFM0UsMkRBQTJEO1lBQzNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFckMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztLQUFBO0lBRWEsV0FBVzs7O1lBRXZCLElBQUk7Z0JBQ0YsSUFBSSxNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtvQkFDbkMsT0FBTztnQkFFVCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztnQkFFNUIsTUFBTSxVQUFVLG1DQUNYLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsWUFBWSwwQ0FBRSxVQUFVLEtBQUksRUFBRSxDQUFDLEtBQ3hGLFlBQVksRUFBRSxJQUFJLEdBQ25CLENBQUE7Z0JBRUQsNkRBQTZEO2dCQUM3RCxNQUFNLFdBQVcsR0FBRyxNQUFNLFNBQVMsQ0FBQyx1QkFBdUIsQ0FDekQsVUFBVSxFQUNWLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQy9CLENBQUM7Z0JBRUYsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7YUFFOUM7WUFBQyxPQUFPLEtBQVUsRUFBRTtnQkFDbkIsMkJBQTJCO2dCQUMzQixNQUFNLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDckQsTUFBTSxLQUFLLENBQUM7YUFFYjtvQkFBUztnQkFDUixpQ0FBaUM7Z0JBQ2pDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO2FBQzlCOztLQUNGO0lBRUQsbUNBQW1DO0lBQzNCLGtCQUFrQixDQUFDLE9BQW9CO1FBRTdDLE1BQU0sT0FBTywrREFDUixDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLEdBQy9FLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxLQUMxRSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxVQUFVLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FDbEQsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUN0RSxDQUFDO1FBRUYsT0FBTyxJQUFJLFdBQVcsaUNBQU0sT0FBTyxHQUFLLE9BQU8sQ0FBQyxPQUFPLEVBQUcsQ0FBQztJQUM3RCxDQUFDO0lBRU8sZUFBZSxDQUNyQixPQUFlLEVBQ2YsT0FBZSxFQUFFLEVBQ2pCLFNBQWtCLE9BQU8sQ0FBQyxHQUFHLEVBQzdCLGNBQW1CLElBQUksRUFDdkIsT0FBbUM7UUFHbkMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckQsTUFBTSxVQUFVLEdBQUcsV0FBVyxJQUFJLFdBQVcsWUFBWSxRQUFRLENBQUM7UUFDbEUsdUNBQ0ssSUFBSSxDQUFDLFVBQVUsR0FDZixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsRUFDM0Q7SUFDSixDQUFDO0lBR2Esd0JBQXdCOzs7WUFDcEMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUN4QixNQUFNLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUM5QztZQUVELHlFQUF5RTtZQUN6RSxNQUFNLGdCQUFnQixHQUFHLE1BQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLDBDQUFFLFlBQVksQ0FBQztZQUNuRSxJQUFJLGdCQUFnQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3pDLDBHQUEwRztnQkFDMUcsTUFBTSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3BEOztLQUNGO0lBR2Esb0JBQW9CLENBQUMsUUFBYTs7WUFFOUMsSUFBSSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsTUFBTSxFQUFFO2dCQUNwQix5REFBeUQ7Z0JBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQzthQUVyQztpQkFBTTtnQkFDTCwyRUFBMkU7Z0JBQzNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0RBQW9ELEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNyRixNQUFNLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2FBQzlEO1FBRUgsQ0FBQztLQUFBO0lBRWEsb0JBQW9COztZQUVoQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0ZBQWtGLENBQUMsQ0FBQztnQkFDakcsTUFBTSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzdDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdEIsNERBQTREO2dCQUM1RCxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7YUFDbEU7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7S0FBQTtJQUVELGNBQWM7O1FBQ1osSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLGNBQWM7ZUFDOUMsQ0FBQyxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFdBQVcsMENBQUUsSUFBSSwwQ0FBRSxJQUFJLEdBQUcsTUFBTSxDQUFBLEVBQUU7WUFDdkUsTUFBTSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztTQUMvRTtRQUVELElBQUksQ0FBQyxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFlBQVksMENBQUUsVUFBVSwwQ0FBRSxJQUFJLEdBQUcsTUFBTSxDQUFBLEVBQUU7WUFDN0UsTUFBTSxLQUFLLENBQUMsa0VBQWtFLENBQUMsQ0FBQztTQUNqRjtJQUNILENBQUM7Ozs7WUF2UUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFWUSxVQUFVO1lBRFYsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTG9jYWxpemVUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi9sb2NhbGl6ZS50b2tlbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuLCB3YWl0Rm9yLCB3YWl0VW50aWwgfSBmcm9tIFwiLi9sb2NhbGl6ZS50b2tlblwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBJTG9jYWxpemVBcGlDb25maWdzLCBJQXBpT3B0aW9ucywgRU1ldGhvZCwgSUhlYWRlciB9IGZyb20gXCIuL2hlbHBlcnMvaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgeyBBcGlIZWxwZXIgfSBmcm9tIFwiLi9oZWxwZXJzL2xvY2NhbGl6ZS5hcGkuaGVscGVyXCI7XHJcblxyXG5jb25zdCBTQ0hFTUVTID0gTG9jYWxpemVUb2tlbi5odHRwSGVhZGVycztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplQXBpU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPElMb2NhbGl6ZUFwaUNvbmZpZ3M+Pih7fSk7XHJcbiAgcmVhZG9ubHkgaXNSZXF1ZXN0aW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHJlYWRvbmx5IGlzUmVzb2x2aW5nU3RhcnR1cFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBnZXQgaXNSZXNvbHZpbmdTdGFydHVwKCkgeyByZXR1cm4gdGhpcy5pc1Jlc29sdmluZ1N0YXJ0dXBTdWJqZWN0LnZhbHVlOyB9XHJcblxyXG4gIGdldCBuZWVkVGVuYW50KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5jb25maWcudGVuYW50VG9rZW4gIT09IHVuZGVmaW5lZDsgfVxyXG5cclxuICBnZXQgaXNSZXF1ZXN0aW5nKCkgeyByZXR1cm4gdGhpcy5pc1JlcXVlc3RpbmdTdWJqZWN0LnZhbHVlOyB9XHJcbiAgZ2V0IGlzUmV2b2tpbmdUb2tlbigpIHsgcmV0dXJuIHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuaXNSZXZva2luZ1Rva2VuOyB9XHJcbiAgc2V0IGlzUmV2b2tpbmdUb2tlbih2YWx1ZTogYm9vbGVhbikgeyB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmlzUmV2b2tpbmdUb2tlbiA9IHZhbHVlOyB9XHJcblxyXG4gIGdldCBhY2Nlc3NUb2tlbigpOiBzdHJpbmcgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5hY2Nlc3NUb2tlbjsgfVxyXG4gIHNldCBhY2Nlc3NUb2tlbih2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7IHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuYWNjZXNzVG9rZW4gPSB2YWx1ZTsgfVxyXG5cclxuICBnZXQgcmVmcmVzaFRva2VuKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLnJlZnJlc2hUb2tlbjsgfVxyXG4gIGdldCB0ZW5hbnRUb2tlbigpOiBzdHJpbmcgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS50ZW5hbnRUb2tlbjsgfVxyXG5cclxuICBwcml2YXRlIGRlZmF1bHRDb25maWc6IFBhcnRpYWw8SUxvY2FsaXplQXBpQ29uZmlncz4gPSB7XHJcbiAgICB3YWl0RWFjaFJlcXVlc3Q6IHsgbWlsbGlzZWNvbmRzOiAwIH0sXHJcbiAgICBlbmFibGVSZXF1ZXN0Q2FuY2VsbGF0aW9uOiB0cnVlLFxyXG5cclxuICAgIHJldHJ5T3B0aW9uczoge1xyXG4gICAgICBtYXhSZXRyaWVzOiAxMDAwLFxyXG4gICAgICBkZWxheTogMTAwMCxcclxuICAgICAgcmV0cnlGdW5jdGlvbjogQXBpSGVscGVyLmRlZmF1bHRSZXRyeUZ1bmN0aW9uLmJpbmQodGhpcyksXHJcbiAgICB9LFxyXG5cclxuICB9O1xyXG5cclxuICBwcml2YXRlIGdldCBjb25maWcoKTogUGFydGlhbDxJTG9jYWxpemVBcGlDb25maWdzPiB7XHJcbiAgICB0aGlzLnZhbGlkYXRlQ29uZmlnKCk7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTdWJqZWN0LnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcGlPcHRpb25zOiBQYXJ0aWFsPElBcGlPcHRpb25zPiA9IHtcclxuICAgIG1ldGhvZDogRU1ldGhvZC5HRVQsXHJcbiAgICByZXF1ZXN0Qm9keTogbnVsbCxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGl6ZVRva2VuU2VydmljZTogTG9jYWxpemVUb2tlblNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplIHRoZSBBUEkgc2VydmljZS5cclxuICAgKiBAcGFyYW0gYXBpQ29uZmlncyAtIFRoZSBBUEkgY29uZmlndXJhdGlvbnMuXHJcbiAgICovXHJcbiAgaW5pdChhcGlDb25maWdzOiBJTG9jYWxpemVBcGlDb25maWdzKSB7XHJcbiAgICBjb25zb2xlLmxvZygnTG9jYWxpemVBcGlTZXJ2aWNlIGlzIGluaXRpYWxpemVkLicpO1xyXG4gICAgdGhpcy5jb25maWdTdWJqZWN0Lm5leHQoeyAuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLmFwaUNvbmZpZ3MgfSk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWxQZW5kaW5nUmVxdWVzdHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpZy5lbmFibGVSZXF1ZXN0Q2FuY2VsbGF0aW9uXHJcbiAgICAgICYmIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgaGlnaGVyLW9yZGVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGN1cnJpZWQgZnVuY3Rpb24gZm9yIG1ha2luZyBBUEkgcmVxdWVzdHMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gYmFzZVVybCAtIFRoZSBiYXNlIFVSTCBvZiB0aGUgQVBJLlxyXG4gICAqIEByZXR1cm5zIEEgY3VycmllZCBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgQVBJIHJlcXVlc3RzLlxyXG4gICAqL1xyXG4gIGZ1bmMgPSAoYmFzZVVybDogc3RyaW5nKSA9PlxyXG4gICAgPFQgPSBhbnk+KHBhdGg6IHN0cmluZywgbWV0aG9kOiBFTWV0aG9kID0gRU1ldGhvZC5HRVQsIHJlcUJvZHk6IGFueSA9IG51bGwsIHJlcUhlYWRlcnM/OiBJSGVhZGVyKSA9PlxyXG4gICAgICB0aGlzLnJlcXVlc3Q8VD4oYmFzZVVybCwgcGF0aCwgbWV0aG9kLCByZXFCb2R5LCByZXFIZWFkZXJzKVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcmVxdWVzdDxUID0gYW55PihiYXNlVXJsOiBzdHJpbmcsXHJcbiAgICBwYXRoOiBzdHJpbmcsXHJcbiAgICBtZXRob2Q6IEVNZXRob2QgPSBFTWV0aG9kLkdFVCxcclxuICAgIHJlcUJvZHk6IGFueSA9IG51bGwsXHJcbiAgICByZXFIZWFkZXJzPzogSUhlYWRlcik6IFByb21pc2U8VD4ge1xyXG5cclxuICAgIGF3YWl0IHdhaXRVbnRpbCgoKSA9PiAhdGhpcy5pc1Jlc29sdmluZ1N0YXJ0dXAsIDUwMCk7XHJcblxyXG4gICAgYXdhaXQgQXBpSGVscGVyLmludm9rZUhvb2sodGhpcy5jb25maWcub25QcmVwYXJlUmVxdWVzdCk7XHJcblxyXG4gICAgY29uc3QgYXBpT3B0aW9ucyA9IHRoaXMuYnVpbGRBcGlPcHRpb25zKGJhc2VVcmwsIHBhdGgsIG1ldGhvZCwgcmVxQm9keSwgcmVxSGVhZGVycyk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgYXdhaXQgdGhpcy50b1dhaXRGb3JQcmV2aW91c1JlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJldHVybiBhd2FpdCBBcGlIZWxwZXIucGVyZm9ybVJlcXVlc3RXaXRoUmV0cnk8VD4oXHJcbiAgICAgICAgYXBpT3B0aW9ucyxcclxuICAgICAgICB0aGlzLmNvbmZpZyxcclxuICAgICAgICB0aGlzLnBlcmZvcm1SZXF1ZXN0LmJpbmQodGhpcylcclxuICAgICAgKTtcclxuXHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVPblJlcXVlc3RFcnJvcihlcnJvciwgYXBpT3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZU9uUmVxdWVzdEVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSwgb3B0aW9uczogSUFwaU9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKGVycm9yLnN0YXR1cyAhPT0gNDAxKVxyXG4gICAgICB0aHJvdyBlcnJvcjtcclxuXHJcbiAgICBhd2FpdCB3YWl0VW50aWwoKCkgPT4gIXRoaXMuaXNSZXNvbHZpbmdTdGFydHVwLCA1MCk7XHJcblxyXG4gICAgcmV0dXJuIGF3YWl0IEFwaUhlbHBlci5wZXJmb3JtUmV0cnkoe1xyXG4gICAgICBtYXhSZXRyaWVzOiAoKSA9PiAxMDAwLFxyXG4gICAgICBkZWxheTogMTAsXHJcbiAgICAgIHJldHJ5VW5sZXNzOiAoZXJyb3IpID0+IGVycm9yLnN0YXR1cyA9PT0gNDAxIHx8IEFwaUhlbHBlci5pc0Nvbm5lY3Rpb25FcnJvcihlcnJvciksXHJcbiAgICAgIGNhbGxiYWNrOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgLy8gT25seSBoYW5kbGUgNDAxIFVuYXV0aG9yaXplZCBlcnJvcnNcclxuICAgICAgICBhd2FpdCB0aGlzLnJldm9rZVRva2VuKCk7XHJcblxyXG4gICAgICAgIC8vIFJldHJ5IHRoZSByZXF1ZXN0IHdpdGggdGhlIG5ldyBhY2Nlc3MgdG9rZW5cclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wZXJmb3JtUmVxdWVzdChvcHRpb25zKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHBlcmZvcm1SZXF1ZXN0PFQgPSBhbnk+KG9wdGlvbnM6IElBcGlPcHRpb25zKTogUHJvbWlzZTxUPiB7XHJcblxyXG4gICAgLy8gQnVpbGQgdGhlIHJlcXVlc3Qgb3B0aW9uc1xyXG4gICAgY29uc3QgYnVpbGRPcHRpb25zID0geyBoZWFkZXJzOiB0aGlzLmJ1aWxkSGVhZGVyT3B0aW9ucyhvcHRpb25zKSB9O1xyXG5cclxuICAgIC8vIENyZWF0ZSB0aGUgcmVxdWVzdCBvYnNlcnZhYmxlXHJcbiAgICBjb25zdCByZXF1ZXN0JCA9IEFwaUhlbHBlci5jcmVhdGVSZXF1ZXN0PFQ+KHtcclxuICAgICAgY2xpZW50OiB0aGlzLmh0dHBDbGllbnQsXHJcbiAgICAgIGRlc3Ryb3kkOiAoKSA9PiB0aGlzLmRlc3Ryb3kkXHJcbiAgICB9LCBvcHRpb25zLm1ldGhvZCwgb3B0aW9ucy5yZXF1ZXN0VXJsLCBvcHRpb25zLnJlcXVlc3RCb2R5LCBidWlsZE9wdGlvbnMpO1xyXG5cclxuICAgIC8vIFNldCB0aGUgaXNSZXF1ZXN0aW5nIHN0YXRlIHRvIHRydWUgYmVmb3JlIG1ha2luZyB0aGUgcmVxdWVzdFxyXG4gICAgdGhpcy5pc1JlcXVlc3RpbmdTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcblxyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+XHJcbiAgICAgIHJlcXVlc3QkLnN1YnNjcmliZSh7IG5leHQ6IChyZXMpID0+IHJlc29sdmUocmVzLmJvZHkpLCBlcnJvcjogcmVqZWN0IH0pKTtcclxuXHJcbiAgICAvLyBSZXNldCB0aGUgaXNSZXF1ZXN0aW5nIHN0YXRlIGFmdGVyIHRoZSByZXF1ZXN0IGNvbXBsZXRlc1xyXG4gICAgdGhpcy5pc1JlcXVlc3RpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG5cclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcmV2b2tlVG9rZW4oKTogUHJvbWlzZTx2b2lkPiB7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGF3YWl0IHRoaXMuaW50ZXJjZXB0UmV2b2tlVG9rZW4oKSlcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICB0aGlzLmlzUmV2b2tpbmdUb2tlbiA9IHRydWU7XHJcblxyXG4gICAgICBjb25zdCBhcGlPcHRpb25zOiBJQXBpT3B0aW9ucyA9IHtcclxuICAgICAgICAuLi50aGlzLmJ1aWxkQXBpT3B0aW9ucyh0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy5yZWZyZXNoVG9rZW4/LnJlcXVlc3RVcmwgfHwgJycpLFxyXG4gICAgICAgIHJlZnJlc2hUb2tlbjogdHJ1ZSxcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gY29uc3QgcmV2b2tlVG9rZW4gPSBhd2FpdCB0aGlzLnBlcmZvcm1SZXF1ZXN0KGFwaU9wdGlvbnMpO1xyXG4gICAgICBjb25zdCByZXZva2VUb2tlbiA9IGF3YWl0IEFwaUhlbHBlci5wZXJmb3JtUmVxdWVzdFdpdGhSZXRyeShcclxuICAgICAgICBhcGlPcHRpb25zLFxyXG4gICAgICAgIHRoaXMuY29uZmlnLFxyXG4gICAgICAgIHRoaXMucGVyZm9ybVJlcXVlc3QuYmluZCh0aGlzKVxyXG4gICAgICApO1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVPblRva2VuUmV2b2tlZChyZXZva2VUb2tlbik7XHJcblxyXG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICAvLyBIYW5kbGUgdGhlIGVycm9yLCBsb2cgaXRcclxuICAgICAgYXdhaXQgQXBpSGVscGVyLmludm9rZUhvb2sodGhpcy5jb25maWcub25BdXRvTG9nb3V0KTtcclxuICAgICAgdGhyb3cgZXJyb3I7XHJcblxyXG4gICAgfSBmaW5hbGx5IHtcclxuICAgICAgLy8gUmVzZXQgdGhlIHJldm9raW5nIHRva2VuIHN0YXRlXHJcbiAgICAgIHRoaXMuaXNSZXZva2luZ1Rva2VuID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogZGVmYXVsdCBodHRwIHJlcXVlc3Qgb3B0aW9ucyAqL1xyXG4gIHByaXZhdGUgYnVpbGRIZWFkZXJPcHRpb25zKG9wdGlvbnM6IElBcGlPcHRpb25zKTogSHR0cEhlYWRlcnMge1xyXG5cclxuICAgIGNvbnN0IGhlYWRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XHJcbiAgICAgIC4uLihvcHRpb25zLnJlZnJlc2hUb2tlbiAmJiB7IFtTQ0hFTUVTLlhfUkVGUkVTSF9UT0tFTl06IGAke3RoaXMucmVmcmVzaFRva2VufWAgfSksXHJcbiAgICAgIC4uLighb3B0aW9ucy5pc0Zvcm1EYXRhICYmIHsgW1NDSEVNRVMuQ09OVEVOVF9UWVBFXTogJ2FwcGxpY2F0aW9uL2pzb24nIH0pLFxyXG4gICAgICBbU0NIRU1FUy5BVVRIT1JJWkFUSU9OXTogYEJlYXJlciAke3RoaXMuYWNjZXNzVG9rZW59YCxcclxuICAgICAgLi4uKHRoaXMubmVlZFRlbmFudCAmJiB7IFtTQ0hFTUVTLlhfVEVOQU5UXTogYCR7dGhpcy50ZW5hbnRUb2tlbn1gIH0pXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoeyAuLi5oZWFkZXJzLCAuLi5vcHRpb25zLmhlYWRlcnMgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkQXBpT3B0aW9ucyhcclxuICAgIGJhc2VVcmw6IHN0cmluZyxcclxuICAgIHBhdGg6IHN0cmluZyA9ICcnLFxyXG4gICAgbWV0aG9kOiBFTWV0aG9kID0gRU1ldGhvZC5HRVQsXHJcbiAgICByZXF1ZXN0Qm9keTogYW55ID0gbnVsbCxcclxuICAgIGhlYWRlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XHJcbiAgKTogSUFwaU9wdGlvbnMge1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3RVcmwgPSBBcGlIZWxwZXIuYnVpbGRVcmwoYmFzZVVybCwgcGF0aCk7XHJcbiAgICBjb25zdCBpc0Zvcm1EYXRhID0gcmVxdWVzdEJvZHkgJiYgcmVxdWVzdEJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLnRoaXMuYXBpT3B0aW9ucyxcclxuICAgICAgLi4ueyBoZWFkZXJzLCBtZXRob2QsIHJlcXVlc3RVcmwsIHJlcXVlc3RCb2R5LCBpc0Zvcm1EYXRhIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyB0b1dhaXRGb3JQcmV2aW91c1JlcXVlc3QoKSB7XHJcbiAgICBpZiAodGhpcy5pc1Jldm9raW5nVG9rZW4pIHtcclxuICAgICAgYXdhaXQgd2FpdFVudGlsKCgpID0+ICF0aGlzLmlzUmV2b2tpbmdUb2tlbik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdG8gd2FpdCBmb3IgZWFjaCByZXF1ZXN0IGluIDUwbXMsIGV2ZW4gaWYgdGhlIHJlcXVlc3QgaXMgbm90IGNvbXBsZXRlZFxyXG4gICAgY29uc3Qgd2FpdE1pbGxpc2Vjb25kcyA9IHRoaXMuY29uZmlnLndhaXRFYWNoUmVxdWVzdD8ubWlsbGlzZWNvbmRzO1xyXG4gICAgaWYgKHdhaXRNaWxsaXNlY29uZHMgJiYgdGhpcy5pc1JlcXVlc3RpbmcpIHtcclxuICAgICAgLy8gY29uc29sZS53YXJuKGBSZXF1ZXN0IHRocm90dGxpbmc6IEFub3RoZXIgcmVxdWVzdCBpcyBpbiBwcm9ncmVzcy4gV2FpdGluZyBmb3IgJHt3YWl0TWlsbGlzZWNvbmRzfW1zLmApO1xyXG4gICAgICBhd2FpdCB3YWl0Rm9yKHdhaXRNaWxsaXNlY29uZHMsIHRoaXMuaXNSZXF1ZXN0aW5nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZU9uVG9rZW5SZXZva2VkKHJlc3BvbnNlOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHJcbiAgICBpZiAocmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAvLyBJZiB0aGUgcmVzcG9uc2UgaXMgc3VjY2Vzc2Z1bCwgdXBkYXRlIHRoZSBhY2Nlc3MgdG9rZW5cclxuICAgICAgdGhpcy5hY2Nlc3NUb2tlbiA9IHJlc3BvbnNlLm1lc3NhZ2U7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gSWYgdGhlIHJlc3BvbnNlIGluZGljYXRlcyBhbiBlcnJvciwgaW52b2tlIHRoZSBvblJldm9rZVVuYXV0aG9yaXplZCBob29rXHJcbiAgICAgIGNvbnNvbGUud2FybignVG9rZW4gcmV2b2NhdGlvbiBmYWlsZWQsIHJlZnJlc2ggdG9rZW4gaXMgZXhwaXJlZC4nLCByZXNwb25zZS5tZXNzYWdlKTtcclxuICAgICAgYXdhaXQgQXBpSGVscGVyLmludm9rZUhvb2sodGhpcy5jb25maWcub25SZXZva2VVbmF1dGhvcml6ZWQpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaW50ZXJjZXB0UmV2b2tlVG9rZW4oKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNSZXZva2luZ1Rva2VuKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignVG9rZW4gaXMgYWxyZWFkeSBiZWluZyByZXZva2VkLiBXYWl0aW5nIGZvciB0aGUgY3VycmVudCBvcGVyYXRpb24gdG8gY29tcGxldGUuLi4nKTtcclxuICAgICAgYXdhaXQgd2FpdFVudGlsKCgpID0+ICF0aGlzLmlzUmV2b2tpbmdUb2tlbik7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5yZWZyZXNoVG9rZW4pIHtcclxuICAgICAgLy8gYXdhaXQgQXBpSGVscGVyLmludm9rZUhvb2sodGhpcy5hcGlDb25maWdzLm9uQXV0b0xvZ291dCk7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVmcmVzaCB0b2tlbiBpcyBtaXNzaW5nLiBQbGVhc2UgbG9naW4gYWdhaW4uJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUNvbmZpZygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy5yZXF1aXJlZFRlbmFudFxyXG4gICAgICAmJiAhdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5jb25maWcudGVuYW50VG9rZW4/Lm5hbWU/LnRyaW0oKS5sZW5ndGgpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ1RlbmFudCB0b2tlbiBpcyByZXF1aXJlZCBidXQgdGVuYW50VG9rZW5OYW1lIGlzIG5vdCBjb25maWd1cmVkJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy5yZWZyZXNoVG9rZW4/LnJlcXVlc3RVcmw/LnRyaW0oKS5sZW5ndGgpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ1Jldm9rZSB0b2tlbiBVUkwgaXMgbm90IGNvbmZpZ3VyZWQgLSB0b2tlbiByZWZyZXNoIHdpbGwgbm90IHdvcmsnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -29,11 +29,20 @@ export function waitFor(milliseconds, when = true) {
|
|
|
29
29
|
*/
|
|
30
30
|
export function waitUntil(when, intervalNumber = 50) {
|
|
31
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
function isConditionMet() {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
const cond = when();
|
|
35
|
+
const result = cond instanceof Promise
|
|
36
|
+
? yield cond
|
|
37
|
+
: cond;
|
|
38
|
+
return result;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
if (yield isConditionMet())
|
|
42
|
+
return;
|
|
32
43
|
yield new Promise(resolve => {
|
|
33
44
|
const interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
|
|
35
|
-
const result = cond instanceof Promise ? yield cond : cond;
|
|
36
|
-
if (result) {
|
|
45
|
+
if (yield isConditionMet()) {
|
|
37
46
|
clearInterval(interval);
|
|
38
47
|
resolve(true);
|
|
39
48
|
}
|
|
@@ -46,4 +55,4 @@ export function extractMainDomain(subdomain) {
|
|
|
46
55
|
const parts = subdomain.split('.');
|
|
47
56
|
return parts.length > 2 ? parts.slice(-2).join('.') : subdomain;
|
|
48
57
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9jYWxpemUtdG9rZW4vbG9jYWxpemUudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBc0JoRSxNQUFNLE9BQU8sYUFBYTs7QUFFUixxQkFBTyxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztBQUVyQyx5QkFBVyxHQUFHO0lBQzVCLGFBQWEsRUFBRSxlQUFlO0lBQzlCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLGVBQWUsRUFBRSxnQkFBZ0I7SUFDakMsWUFBWSxFQUFFLGNBQWM7Q0FDN0IsQ0FBQTtBQUlIOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFnQixPQUFPLENBQUMsWUFBb0IsRUFBRSxPQUFnQixJQUFJOztRQUN0RSxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDbEIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQUE7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFnQixTQUFTLENBQUMsSUFBZSxFQUFFLGlCQUF5QixFQUFFOztRQUUxRSxTQUFlLGNBQWM7O2dCQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLE9BQU87b0JBQ3BDLENBQUMsQ0FBQyxNQUFNLElBQUk7b0JBQ1osQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDVCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1NBQUE7UUFFRCxJQUFJLE1BQU0sY0FBYyxFQUFFO1lBQUUsT0FBTztRQUVuQyxNQUFNLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFCLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxHQUFTLEVBQUU7Z0JBQ3RDLElBQUksTUFBTSxjQUFjLEVBQUUsRUFBRTtvQkFDMUIsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2Y7WUFDSCxDQUFDLENBQUEsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FBQTtBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxTQUFrQjtJQUNsRCxTQUFTLGFBQVQsU0FBUyxjQUFULFNBQVMsSUFBVCxTQUFTLEdBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUM7SUFDdkMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDbEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsaXplVG9rZW5TdG9yYWdlIH0gZnJvbSBcIi4vbG9jYWxpemUudG9rZW4uc3RvcmFnZVwiO1xyXG5cclxuaW50ZXJmYWNlIElMb2NhbGl6ZVRva2VuVG9rZW5zIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcmVxdWVzdFVybD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTG9jYWxpemVUb2tlbkNvbmZpZyB7XHJcbiAgLyoqXHJcbiAgICogVGhlIG1haW4gZG9tYWluIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBzZXQgdGhlIGNvb2tpZXMgdG8gYmUgYXZhaWxhYmxlIGZvciBjcm9zcyBhcHBsaWNhdGlvbiB3aXRoIHN1YmRvbWFpbnMuXHJcbiAgICogXHJcbiAgICogRGVmYXVsdCBpcyBsb2NhdGlvbi5ob3N0bmFtZSAoY3VycmVudCBkb21haW4pIGFuZCBhdXRvbWF0aWNhbGx5IHNldCBleHRyYWN0ZWQgbWFpbiBkb21haW4gaWYgaXQgaXMgc3ViZG9tYWluLlxyXG4gICAqL1xyXG4gIG1haW5Eb21haW4/OiBzdHJpbmc7XHJcblxyXG4gIGlzUHJvZHVjdGlvbjogYm9vbGVhbjtcclxuICBhdXRoVG9rZW4/OiBJTG9jYWxpemVUb2tlblRva2VucztcclxuICByZWZyZXNoVG9rZW4/OiBJTG9jYWxpemVUb2tlblRva2VucztcclxuICB0ZW5hbnRUb2tlbj86IElMb2NhbGl6ZVRva2VuVG9rZW5zO1xyXG4gIHJlcXVpcmVkVGVuYW50PzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvY2FsaXplVG9rZW4ge1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgc3RvcmFnZSA9IG5ldyBMb2NhbGl6ZVRva2VuU3RvcmFnZSgpO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgaHR0cEhlYWRlcnMgPSB7XHJcbiAgICBBVVRIT1JJWkFUSU9OOiAnQXV0aG9yaXphdGlvbicsXHJcbiAgICBYX1RFTkFOVDogJ1gtVGVuYW50JyxcclxuICAgIFhfUkVGUkVTSF9UT0tFTjogJ1gtUmVmcmVzaFRva2VuJyxcclxuICAgIENPTlRFTlRfVFlQRTogJ0NvbnRlbnQtVHlwZScsXHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBXYWl0cyBmb3IgYSBzcGVjaWZpZWQgYW1vdW50IG9mIHRpbWUuXHJcbiAqIEBwYXJhbSBtaWxsaXNlY29uZHMgIC0gVGhlIG1pbGxpc2Vjb25kcyB0byB3YWl0LlxyXG4gKiBAcGFyYW0gd2hlbiAgLSBUaGUgY29uZGl0aW9uIHRvIHdhaXQgZm9yLiBEZWZhdWx0IGlzIHRydWUuXHJcbiAqIEByZXR1cm5zICAtIFByb21pc2U8dm9pZD5cclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YWl0Rm9yKG1pbGxpc2Vjb25kczogbnVtYmVyLCB3aGVuOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gIGlmICghd2hlbikgcmV0dXJuO1xyXG4gIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtaWxsaXNlY29uZHMpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqICBXYWl0cyB1bnRpbCB0aGUgY29uZGl0aW9uIGlzIG1ldC5cclxuICogQHBhcmFtIHdoZW4gIC0gVGhlIGNvbmRpdGlvbiB0byB3YWl0IGZvci5cclxuICogQHBhcmFtIGludGVydmFsTnVtYmVyICAtIFRoZSBpbnRlcnZhbCBudW1iZXIgaW4gbWlsbGlzZWNvbmRzIHRvIGNoZWNrIHRoZSBjb25kaXRpb24uIERlZmF1bHQgaXMgNTAuXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2FpdFVudGlsKHdoZW46ICgpID0+IGFueSwgaW50ZXJ2YWxOdW1iZXI6IG51bWJlciA9IDUwKSB7XHJcblxyXG4gIGFzeW5jIGZ1bmN0aW9uIGlzQ29uZGl0aW9uTWV0KCkge1xyXG4gICAgY29uc3QgY29uZCA9IHdoZW4oKTtcclxuICAgIGNvbnN0IHJlc3VsdCA9IGNvbmQgaW5zdGFuY2VvZiBQcm9taXNlXHJcbiAgICAgID8gYXdhaXQgY29uZFxyXG4gICAgICA6IGNvbmQ7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgaWYgKGF3YWl0IGlzQ29uZGl0aW9uTWV0KCkpIHJldHVybjtcclxuXHJcbiAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XHJcbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKGFzeW5jICgpID0+IHtcclxuICAgICAgaWYgKGF3YWl0IGlzQ29uZGl0aW9uTWV0KCkpIHtcclxuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcclxuICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9LCBpbnRlcnZhbE51bWJlcik7XHJcbiAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0TWFpbkRvbWFpbihzdWJkb21haW4/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gIHN1YmRvbWFpbiA/Pz0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xyXG4gIGNvbnN0IHBhcnRzID0gc3ViZG9tYWluLnNwbGl0KCcuJyk7XHJcbiAgcmV0dXJuIHBhcnRzLmxlbmd0aCA+IDIgPyBwYXJ0cy5zbGljZSgtMikuam9pbignLicpIDogc3ViZG9tYWluO1xyXG59Il19
|
|
@@ -11,4 +11,4 @@ LocalizeTokenModule.decorators = [
|
|
|
11
11
|
]
|
|
12
12
|
},] }
|
|
13
13
|
];
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUudG9rZW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvY2FsaXplLXRva2VuL2xvY2FsaXplLnRva2VuLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBUTVELE1BQU0sT0FBTyxtQkFBbUI7OztZQU4vQixRQUFRLFNBQUM7Z0JBQ04sU0FBUyxFQUFFO29CQUNQLG9CQUFvQjtvQkFDcEIsa0JBQWtCO2lCQUNyQjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9jYWxpemVUb2tlblNlcnZpY2UgfSBmcm9tICcuL2xvY2FsaXplLnRva2VuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZUFwaVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsaXplLmFwaS5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBMb2NhbGl6ZVRva2VuU2VydmljZSxcclxuICAgICAgICBMb2NhbGl6ZUFwaVNlcnZpY2VcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplVG9rZW5Nb2R1bGUgeyB9Il19
|