@sambath999/localize-token 12.4.8 → 12.4.9

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.
@@ -31,4 +31,4 @@ LocalizeApiTokenService.ctorParameters = () => [
31
31
  { type: LocalizeApiService },
32
32
  { type: LocalizeLogindlgService }
33
33
  ];
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtYXBpLXRva2VuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9jYWxpemUtYXBpLXRva2VuL2xvY2FsaXplLWFwaS10b2tlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFekYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7O0FBS2hGLE1BQU0sT0FBTyx1QkFBdUI7SUFLbEMsWUFBWSxZQUFrQyxFQUM1QyxVQUE4QixFQUM5QixrQkFBMkM7UUFDM0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztJQUN4QyxDQUFDO0lBRUQsVUFBVSxDQUFDLFdBQWlDLEVBQUUsU0FBOEI7UUFDMUUsNEVBQTRFO1FBQzVFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTdCLHdFQUF3RTtRQUN4RSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6QixPQUFPLENBQUMsR0FBRyxDQUFDLHdFQUF3RSxDQUFDLENBQUM7SUFFeEYsQ0FBQzs7OztZQXpCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUpRLG9CQUFvQjtZQUZwQixrQkFBa0I7WUFGbEIsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZUxvZ2luZGxnU2VydmljZSB9IGZyb20gJy4uL2xvY2FsaXplLWxvZ2luZGxnL2xvY2FsaXplLWxvZ2luZGxnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJTG9jYWxpemVBcGlDb25maWdzIH0gZnJvbSAnLi4vbG9jYWxpemUtdG9rZW4vaGVscGVycy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTG9jYWxpemVBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vbG9jYWxpemUtdG9rZW4vbG9jYWxpemUuYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJTG9jYWxpemVUb2tlbkNvbmZpZyB9IGZyb20gJy4uL2xvY2FsaXplLXRva2VuL2xvY2FsaXplLnRva2VuJztcclxuaW1wb3J0IHsgTG9jYWxpemVUb2tlblNlcnZpY2UgfSBmcm9tICcuLi9sb2NhbGl6ZS10b2tlbi9sb2NhbGl6ZS50b2tlbi5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplQXBpVG9rZW5TZXJ2aWNlIHtcclxuICByZWFkb25seSBhcGk6IExvY2FsaXplQXBpU2VydmljZTtcclxuICByZWFkb25seSB0b2tlbjogTG9jYWxpemVUb2tlblNlcnZpY2U7XHJcbiAgcmVhZG9ubHkgbG9naW5EaWFsb2c6IExvY2FsaXplTG9naW5kbGdTZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcih0b2tlblNlcnZpY2U6IExvY2FsaXplVG9rZW5TZXJ2aWNlLFxyXG4gICAgYXBpU2VydmljZTogTG9jYWxpemVBcGlTZXJ2aWNlLFxyXG4gICAgbG9naW5EaWFsb2dTZXJ2aWNlOiBMb2NhbGl6ZUxvZ2luZGxnU2VydmljZSkge1xyXG4gICAgdGhpcy5hcGkgPSBhcGlTZXJ2aWNlO1xyXG4gICAgdGhpcy50b2tlbiA9IHRva2VuU2VydmljZTtcclxuICAgIHRoaXMubG9naW5EaWFsb2cgPSBsb2dpbkRpYWxvZ1NlcnZpY2U7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplKHRva2VuQ29uZmlnOiBJTG9jYWxpemVUb2tlbkNvbmZpZywgYXBpQ29uZmlnOiBJTG9jYWxpemVBcGlDb25maWdzKSB7XHJcbiAgICAvLyBJbml0aWFsaXplIHRoZSBMb2NhbGl6ZVRva2VuU2VydmljZSB3aXRoIHRoZSBwcm92aWRlZCB0b2tlbiBjb25maWd1cmF0aW9uXHJcbiAgICB0aGlzLnRva2VuLmluaXQodG9rZW5Db25maWcpO1xyXG5cclxuICAgIC8vIEluaXRpYWxpemUgdGhlIExvY2FsaXplQXBpU2VydmljZSB3aXRoIHRoZSBwcm92aWRlZCBBUEkgY29uZmlndXJhdGlvblxyXG4gICAgdGhpcy5hcGkuaW5pdChhcGlDb25maWcpO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKCdMb2NhbGl6ZUFwaVRva2VuU2VydmljZSBpbml0aWFsaXplZCB3aXRoIHRva2VuIGFuZCBBUEkgY29uZmlndXJhdGlvbnMuJyk7XHJcblxyXG4gIH1cclxufVxyXG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtYXBpLXRva2VuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9BTkdVTEFSL0xJQlJBUklFUy9sb2NhbGl6ZS50b2tlbi4xMi4xLjAvZGV2L3NyYy9sb2NhbGl6ZS1hcGktdG9rZW4vbG9jYWxpemUtYXBpLXRva2VuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUU1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7QUFLaEYsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxZQUFZLFlBQWtDLEVBQzVDLFVBQThCLEVBQzlCLGtCQUEyQztRQUMzQyxJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDO0lBQ3hDLENBQUM7SUFFRCxVQUFVLENBQUMsV0FBaUMsRUFBRSxTQUE4QjtRQUMxRSw0RUFBNEU7UUFDNUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFN0Isd0VBQXdFO1FBQ3hFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXpCLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0VBQXdFLENBQUMsQ0FBQztJQUV4RixDQUFDOzs7O1lBekJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBSlEsb0JBQW9CO1lBRnBCLGtCQUFrQjtZQUZsQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvY2FsaXplTG9naW5kbGdTZXJ2aWNlIH0gZnJvbSAnLi4vbG9jYWxpemUtbG9naW5kbGcvbG9jYWxpemUtbG9naW5kbGcuc2VydmljZSc7XHJcbmltcG9ydCB7IElMb2NhbGl6ZUFwaUNvbmZpZ3MgfSBmcm9tICcuLi9sb2NhbGl6ZS10b2tlbi9oZWxwZXJzL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZUFwaVNlcnZpY2UgfSBmcm9tICcuLi9sb2NhbGl6ZS10b2tlbi9sb2NhbGl6ZS5hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IElMb2NhbGl6ZVRva2VuQ29uZmlnIH0gZnJvbSAnLi4vbG9jYWxpemUtdG9rZW4vbG9jYWxpemUudG9rZW4nO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuU2VydmljZSB9IGZyb20gJy4uL2xvY2FsaXplLXRva2VuL2xvY2FsaXplLnRva2VuLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxpemVBcGlUb2tlblNlcnZpY2Uge1xyXG4gIHJlYWRvbmx5IGFwaTogTG9jYWxpemVBcGlTZXJ2aWNlO1xyXG4gIHJlYWRvbmx5IHRva2VuOiBMb2NhbGl6ZVRva2VuU2VydmljZTtcclxuICByZWFkb25seSBsb2dpbkRpYWxvZzogTG9jYWxpemVMb2dpbmRsZ1NlcnZpY2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHRva2VuU2VydmljZTogTG9jYWxpemVUb2tlblNlcnZpY2UsXHJcbiAgICBhcGlTZXJ2aWNlOiBMb2NhbGl6ZUFwaVNlcnZpY2UsXHJcbiAgICBsb2dpbkRpYWxvZ1NlcnZpY2U6IExvY2FsaXplTG9naW5kbGdTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmFwaSA9IGFwaVNlcnZpY2U7XHJcbiAgICB0aGlzLnRva2VuID0gdG9rZW5TZXJ2aWNlO1xyXG4gICAgdGhpcy5sb2dpbkRpYWxvZyA9IGxvZ2luRGlhbG9nU2VydmljZTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemUodG9rZW5Db25maWc6IElMb2NhbGl6ZVRva2VuQ29uZmlnLCBhcGlDb25maWc6IElMb2NhbGl6ZUFwaUNvbmZpZ3MpIHtcclxuICAgIC8vIEluaXRpYWxpemUgdGhlIExvY2FsaXplVG9rZW5TZXJ2aWNlIHdpdGggdGhlIHByb3ZpZGVkIHRva2VuIGNvbmZpZ3VyYXRpb25cclxuICAgIHRoaXMudG9rZW4uaW5pdCh0b2tlbkNvbmZpZyk7XHJcblxyXG4gICAgLy8gSW5pdGlhbGl6ZSB0aGUgTG9jYWxpemVBcGlTZXJ2aWNlIHdpdGggdGhlIHByb3ZpZGVkIEFQSSBjb25maWd1cmF0aW9uXHJcbiAgICB0aGlzLmFwaS5pbml0KGFwaUNvbmZpZyk7XHJcblxyXG4gICAgY29uc29sZS5sb2coJ0xvY2FsaXplQXBpVG9rZW5TZXJ2aWNlIGluaXRpYWxpemVkIHdpdGggdG9rZW4gYW5kIEFQSSBjb25maWd1cmF0aW9ucy4nKTtcclxuXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -420,4 +420,4 @@ LocalizeLogindlgComponent.ctorParameters = () => [
420
420
  { type: HttpClient },
421
421
  { type: DomSanitizer }
422
422
  ];
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=
423
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtbG9naW5kbGcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQU5HVUxBUi9MSUJSQVJJRVMvbG9jYWxpemUudG9rZW4uMTIuMS4wL2Rldi9zcmMvbG9jYWxpemUtbG9naW5kbGcvbG9jYWxpemUtbG9naW5kbGcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUUsT0FBTyxFQUFjLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQXVUekQsTUFBTSxPQUFPLHlCQUF5QjtJQWNwQyxZQUNtQixjQUE4QixFQUM5QixHQUFzQixFQUN0QixNQUF3QixFQUN4QixTQUE4QixFQUM5QixZQUFrQyxFQUNsQyxVQUFzQixFQUN0QixTQUF1QjtRQU52QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQXNCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQXBCakMsZUFBVSxHQUFHLFlBQVksQ0FBQztRQUduQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFrR2hCLGdCQUFXLEdBQUcsR0FBRyxFQUFFLFdBQUMsT0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLCtDQUFYLElBQUksQ0FBVyxDQUFBLEVBQUEsQ0FBQztRQWhGbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDO1FBQ3hELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFXLENBQUM7SUFDakQsQ0FBQztJQXBCRCxJQUFZLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQXNCekQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUE7UUFFekMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztZQUM5QyxVQUFVLENBQUMsR0FBRyxFQUFFLFdBQUMsT0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLCtDQUFYLElBQUksQ0FBVyxDQUFBLEVBQUEsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUssVUFBVTs7O1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsd0RBQXdELENBQUMsQ0FBQzthQUM1RjtZQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxDQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxNQUFNLENBQUEsRUFBRTtnQkFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFBLFFBQVEsQ0FBQyxPQUFPLG1DQUFJLG1CQUFtQixDQUFDLENBQUM7YUFDM0U7WUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUM1RCxNQUFNLGFBQWEsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFBLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxtQ0FBSSxHQUFHLEVBQUUsQ0FBQTtZQUNqRSxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLDBDQUFFLElBQUksS0FBSSxFQUFFLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDN0csSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDOztLQUNWO0lBRWEsS0FBSzs7O1lBQ2pCLElBQUksQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsSUFBSSxHQUFHLE1BQU0sQ0FBQSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO2dCQUNuRCxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7YUFDMUM7WUFFRCxJQUFJO2dCQUVGLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUU7b0JBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztvQkFDM0MsT0FBTyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLE1BQUEsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxLQUFLLG1DQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2lCQUNySDtnQkFFRCxPQUFPLE1BQU0sSUFBSSxPQUFPLENBQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVMsRUFDakMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUNsQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQzthQUVsRjtZQUFDLE9BQU8sQ0FBTSxFQUFFO2dCQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckMsT0FBTyxJQUFJLENBQUM7YUFDYjs7S0FDRjtJQUVPLFVBQVU7O1FBQ2hCLE9BQU87WUFDTCxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQUUsTUFBQSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksbUNBQUksRUFBRTtZQUNqRixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBQSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsbUNBQUksRUFBRTtTQUMxRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCO1lBQ3RDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDbEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUM3RixDQUFDO0lBSU8sV0FBVyxDQUFDLFFBQWdCLEVBQUUsT0FBZTtRQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLGNBQWM7O1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFBLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxtQ0FBSSxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDOzs7WUFyYUYsU0FBUyxTQUFDO2dCQXFQVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBMkRIO2dCQUNQLFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDM0IsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7eUJBbFQ1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbVBSO2FBZ0VGOzs7WUEzVFEsY0FBYztZQUxyQixpQkFBaUI7WUFNVyxnQkFBZ0I7WUFBckMsbUJBQW1CO1lBQ1Asb0JBQW9CO1lBVGhDLFVBQVU7WUFZVixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcclxuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gXCJwcmltZW5nL2R5bmFtaWNkaWFsb2dcIjtcclxuaW1wb3J0IHsgSnd0UGF5bG9hZCwgTG9jYWxpemVUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi4vbG9jYWxpemUtdG9rZW4vbG9jYWxpemUudG9rZW4uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuIH0gZnJvbSBcIi4uL2xvY2FsaXplLXRva2VuL2xvY2FsaXplLnRva2VuXCI7XHJcbmltcG9ydCB7IElMb2dpbkRpYWxvZ0NvbmZpZywgSUxvZ2luRGlhbG9nUHJvcGVydGllcyB9IGZyb20gXCIuL2xvY2FsaXplLWxvZ2luZGxnLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0eWxlczogW2BcclxuICAjbG9naW4tZGxnLXdyYXAge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuICBcclxuICAubG9naW4tZGxnLWVsbSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgLmxvZ2luLWRsZy1lbG0ubG9naW4tZGxnLXN1Z2dlc3Qge1xyXG4gICAgZGlzcGxheTogZmxleCA7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2RkZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcclxuICAgIGJveC1zaGFkb3c6IDFweCA1cHggMTBweCAtMTJweCAjMDAwO1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tZGxnLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcbiAgXHJcbiAgI2xvZ2luLWRsZy1oZWFkZXIgaDMge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIGNvbG9yOiBvcmFuZ2U7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1sb2dvIHtcclxuICAgIGhlaWdodDogNTVweDtcclxuICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgLyogYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvbG9nby0zMDBweC5wbmdcIikgbm8tcmVwZWF0OyAqL1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1kbGctY29udGVudCAucC1pbnB1dGdyb3VwIHtcclxuICAgIGhlaWdodDogNDVweDtcclxuICB9XHJcbiAgXHJcbiAgI2xvZ2luLWRsZy1jb250ZW50IC5wLWlucHV0Z3JvdXAgLnAtaW5wdXRncm91cC1hZGRvbiB7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4IDAgMCAxNXB4O1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgfVxyXG4gICNsb2dpbi1kbGctY29udGVudCAqe1xyXG4gICAgZm9udC1zaXplOiAuOXJlbTtcclxuICAgIC8qIGZvbnQtZmFtaWx5OiAnTGV4ZW5kJywgJ1JvYm90bycsIHNhbnMtc2VyaWYsICdtYXRlcmlhbC1pY29ucy1yb3VuZCc7ICovXHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1kbGctY29udGVudCAucC1pbnB1dGdyb3VwIC5wLWlucHV0Z3JvdXAtYWRkb24gKiB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1kbGctY29udGVudCAucC1pbnB1dGdyb3VwIGlucHV0IHtcclxuICAgIGhlaWdodDogNDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMTVweCAxNXB4IDA7XHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1kbGctY29udGVudCBidXR0b24ge1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICB9XHJcbiAgXHJcbiAgLypjaGVjayBhbmltYXRpb24gYmxvY2sqL1xyXG4gIFxyXG4gIC5jaGVjay1hbmltYXRpb24td3JhcCB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjAwcHgpO1xyXG4gICAgbWluLWhlaWdodDogNDAwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jaGVjay1tYWluLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gIC5jaGVjay1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDYuMjVyZW07XHJcbiAgICBoZWlnaHQ6IDcuNXJlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG4gIFxyXG4gIC5jaGVjay1jb250YWluZXIgLmNoZWNrLWJhY2tncm91bmQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgIzVkZTU5MywgIzQxZDY3Yyk7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCA2NXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQsIDBweCAwcHggMHB4IDY1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44NCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBhbmltYXRpb246IGFuaW1hdGVDb250YWluZXIgMC43NXMgZWFzZS1vdXQgZm9yd2FyZHMgMC43NXM7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgXHJcbiAgLmNoZWNrLWNvbnRhaW5lciAuY2hlY2stYmFja2dyb3VuZCBzdmcge1xyXG4gICAgd2lkdGg6IDY1JTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjI1cmVtKTtcclxuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDgwO1xyXG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDgwO1xyXG4gICAgYW5pbWF0aW9uOiBhbmltYXRlQ2hlY2sgMC4zNXMgZm9yd2FyZHMgMS4yNXMgZWFzZS1vdXQ7XHJcbiAgICBtaW4td2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICB9XHJcbiAgXHJcbiAgLmNoZWNrLWNvbnRhaW5lciAuY2hlY2stc2hhZG93IHtcclxuICAgIGJvdHRvbTogY2FsYygtMTUlIC0gNXB4KTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2xvc2VzdC1zaWRlLCByZ2JhKDczLCAyMTgsIDEzMSwgMSksIHRyYW5zcGFyZW50KTtcclxuICAgIGFuaW1hdGlvbjogYW5pbWF0ZVNoYWRvdyAwLjc1cyBlYXNlLW91dCBmb3J3YXJkcyAwLjc1cztcclxuICB9XHJcbiAgXHJcbiAgQGtleWZyYW1lcyBhbmltYXRlQ29udGFpbmVyIHtcclxuICAgIDAlIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggNjVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0LCAwcHggMHB4IDBweCA2NXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQ7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAyNSUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XHJcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDY1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldCwgMHB4IDBweCAwcHggNjVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgNDMuNzUlIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggNDMuMzM0cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldCwgMHB4IDBweCAwcHggNjVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgNjIuNSUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldCwgMHB4IDBweCAwcHggMjEuNjY3cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldDtcclxuICAgIH1cclxuICBcclxuICAgIDgxLjI1JSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldDtcclxuICAgIH1cclxuICBcclxuICAgIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIEBrZXlmcmFtZXMgYW5pbWF0ZUNoZWNrIHtcclxuICAgIGZyb20ge1xyXG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogODA7XHJcbiAgICB9XHJcbiAgXHJcbiAgICB0byB7XHJcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBAa2V5ZnJhbWVzIGFuaW1hdGVTaGFkb3cge1xyXG4gICAgMCUge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxNSU7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAyNSUge1xyXG4gICAgICBvcGFjaXR5OiAwLjI1O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgNDMuNzUlIHtcclxuICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgaGVpZ2h0OiA3JTtcclxuICAgICAgb3BhY2l0eTogMC4zNTtcclxuICAgIH1cclxuICBcclxuICAgIDEwMCUge1xyXG4gICAgICB3aWR0aDogODUlO1xyXG4gICAgICBoZWlnaHQ6IDE1JTtcclxuICAgICAgb3BhY2l0eTogMC4yNTtcclxuICAgIH1cclxuICB9XHJcbiAgI2xvZ2luLWRsZy13cmFwIC5sb2FkZXItd3JhcCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaGVpZ2h0OjEwMCU7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDEwMDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY0MjtcclxuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpO1xyXG4gIH1cclxuXHJcbiAgI2xvZ2luLWRsZy13cmFwIC5sb2dpbi1kbGctbG9hZGVyIHtcclxuICAgIGJvcmRlcjogMTVweCBzb2xpZCAjZTdlN2U3O1xyXG4gICAgYm9yZGVyLXRvcDogMTVweCBzb2xpZCAjNTJkYmExO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIGFuaW1hdGlvbjogc3BpbmxvYWRlciAycyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgfVxyXG5cclxuICAjbG9naW4tZGxnLXdyYXAgLmxvYWRlci13cmFwOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgYm9yZGVyOiAxNXB4IHNvbGlkICNlN2U3ZTcwMDtcclxuICAgIGJvcmRlci10b3A6IDE1cHggc29saWQgIzUyZGJhMWM5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYW5pbWF0aW9uOiBzcGlubG9hZGVyIC43NXMgbGluZWFyIGluZmluaXRlO1xyXG4gIH1cclxuXHJcbiAgQGtleWZyYW1lcyBzcGlubG9hZGVyIHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbiAgfVxyXG4gIGBdLFxyXG4gIHRlbXBsYXRlOiBgPHAtdG9hc3Qga2V5PVwiJGxvZ2luLWRsZ1wiIHBvc2l0aW9uPVwidG9wLWNlbnRlclwiPjwvcC10b2FzdD5cclxuICA8ZGl2IGlkPVwibG9naW4tZGxnLXdyYXBcIj5cclxuICAgIDxkaXYgaWQ9XCJsb2dpbi1kbGctaGVhZGVyXCI+XHJcbiAgICAgIDxkaXYgaWQ9XCJsb2dpbi1sb2dvXCIgY2xhc3M9XCJwLW1iLTJcIiBzdHlsZT1cImJhY2tncm91bmQ6IHVybCgne3twcm9wZXJ0aWVzLmxvZ29JbWFnZX19Jykgbm8tcmVwZWF0XCI+PC9kaXY+XHJcbiAgICAgIDxoMyAqbmdJZj1cIiFzdWNjZXNzXCIgW2lubmVySFRNTF09XCJzYW5pdGl6ZWRUaXRsZVwiPjwvaDM+XHJcbiAgICAgIDxoMyAqbmdJZj1cInN1Y2Nlc3NcIiBzdHlsZT1cImNvbG9yOmdyZWVuICFpbXBvcnRhbnQ7XCI+e3twcm9wZXJ0aWVzLmxvZ2luU3VjY2Vzc01lc3NhZ2V9fTwvaDM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgaWQ9XCJsb2dpbi1kbGctY29udGVudFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXN1Y2Nlc3NcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwibG9hZGVyLXdyYXBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb2dpbi1kbGctbG9hZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvZ2luLWRsZy1lbG1cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWlucHV0Z3JvdXBcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLWlucHV0Z3JvdXAtYWRkb25cIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zLXJvdW5kXCI+cGVyc29uPC9pPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxpbnB1dCBkaXNhYmxlZCBwSW5wdXRUZXh0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJ7e3Byb3BlcnRpZXMudXNlcm5hbWU/LnBsYWNlSG9sZGVyfX1cIiBbdmFsdWVdPVwiZGVjb2RlVG9rZW4/LmVtYWlsXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2dpbi1kbGctZWxtXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1pbnB1dGdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1pbnB1dGdyb3VwLWFkZG9uXCI+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1yb3VuZFwiPmxvY2s8L2k+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPGlucHV0IFtkaXNhYmxlZF09XCJsb2FkaW5nXCIgKGtleWRvd24uZW50ZXIpPVwiY2xpY2tMb2dpbigpXCIgcElucHV0VGV4dCB0eXBlPVwicGFzc3dvcmRcIiBcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7cHJvcGVydGllcy5wYXNzd29yZD8ucGxhY2VIb2xkZXJ9fVwiIFsobmdNb2RlbCldPVwicGFzc3dvcmRcIlxyXG4gICAgICAgICAgICAgIGF1dG9mb2N1cyAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvZ2luLWRsZy1lbG1cIj5cclxuICAgICAgICAgIDxidXR0b24gc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBwQnV0dG9uIHR5cGU9XCJidXR0b25cIiBsYWJlbD1cInt7cHJvcGVydGllcy5sb2dpbkJ1dHRvbj8ucGxhY2VIb2xkZXJ9fVwiIChjbGljayk9XCJjbGlja0xvZ2luKClcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXBhc3N3b3JkIHx8IGxvYWRpbmdcIj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9naW4tZGxnLWVsbSBsb2dpbi1kbGctc3VnZ2VzdFwiIHN0eWxlPVwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOiBjZW50ZXI7dXNlci1zZWxlY3Q6IG5vbmU7XCI+XHJcbiAgICAgICAgICA8c3Bhbj57e3Byb3BlcnRpZXMubG9nb3V0QnV0dG9uPy5tZXNzYWdlfX08L3NwYW4+XHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicC1idXR0b24tdGV4dFwiIHBCdXR0b24gdHlwZT1cImJ1dHRvblwiIGxhYmVsPVwie3twcm9wZXJ0aWVzLmxvZ291dEJ1dHRvbj8ucGxhY2VIb2xkZXJ9fVwiIFxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tMb2dvdXQoKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICBcclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN1Y2Nlc3NcIj5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDozNXB4O1wiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1hbmltYXRpb24td3JhcFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrLW1haW4tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2stYmFja2dyb3VuZFwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDY1IDUxXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNyAyNUwyNy4zMDc3IDQ0TDU4LjUgN1wiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMTNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PmAsXHJcbiAgc2VsZWN0b3I6IFwiYXBwLWxvY2FsaXplLWxvZ2luZGxnXCIsXHJcbiAgcHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2VdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZUxvZ2luZGxnQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBtZXNzYWdlS2V5ID0gXCIkbG9naW4tZGxnXCI7XHJcbiAgcGFzc3dvcmQ6IGFueTtcclxuICByZWFkb25seSBkZWNvZGVUb2tlbjogSnd0UGF5bG9hZCB8IG51bGw7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIHN1Y2Nlc3MgPSBmYWxzZTtcclxuICBwcml2YXRlIGdldCBjb25maWcoKSB7IHJldHVybiB0aGlzLnRva2VuU2VydmljZS5jb25maWc7IH1cclxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2luQ29uZmlnOiBJTG9naW5EaWFsb2dDb25maWdcclxuXHJcbiAgcHJpdmF0ZSBsb2dvdXQ/OiAoKSA9PiBhbnlcclxuICBwcml2YXRlIGxvZ2luVXJsPzogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IHByb3BlcnRpZXM6IElMb2dpbkRpYWxvZ1Byb3BlcnRpZXM7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHQ6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkbGdSZWY6IER5bmFtaWNEaWFsb2dSZWYsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRsZ0NvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9rZW5TZXJ2aWNlOiBMb2NhbGl6ZVRva2VuU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcclxuICApIHtcclxuICAgIHRoaXMuZGVjb2RlVG9rZW4gPSB0aGlzLnRva2VuU2VydmljZS5kZWNvZGVSZWZyZXNoVG9rZW47XHJcbiAgICB0aGlzLmxvZ2luQ29uZmlnID0gdGhpcy5kbGdDb25maWcuZGF0YS5sb2dpbkNvbmZpZztcclxuICAgIHRoaXMucHJvcGVydGllcyA9IHRoaXMubG9naW5Db25maWcucHJvcGVydGllcyE7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGxnQ29uZmlnLmNsb3NhYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLmxvZ291dCA9IHRoaXMubG9naW5Db25maWcubG9nb3V0RnVuYztcclxuICAgIHRoaXMubG9naW5VcmwgPSB0aGlzLmxvZ2luQ29uZmlnLmxvZ2luVXJsXHJcblxyXG4gICAgaWYgKCF0aGlzLmRlY29kZVRva2VuKSB7XHJcbiAgICAgIHRoaXMuc2hvd01lc3NhZ2UoXCJlcnJvclwiLCBcIlRva2VuIGlzIGludmFsaWRcIik7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5sb2dvdXQ/LigpLCAyMDAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuY2R0LmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGNsaWNrTG9naW4oKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNWYWxpZFBhc3N3b3JkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNob3dNZXNzYWdlKFwiZXJyb3JcIiwgXCJQYXNzd29yZCBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhdCBsZWFzdCA2IGNoYXJhY3RlcnNcIik7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IGxvZ2luUmVzID0gYXdhaXQgdGhpcy5sb2dpbigpO1xyXG4gICAgaWYgKCFsb2dpblJlcz8uc3RhdHVzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNob3dNZXNzYWdlKFwiZXJyb3JcIiwgbG9naW5SZXMubWVzc2FnZSA/PyBcIkFuIGVycm9yIG9jY3VycmVkXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudG9rZW5TZXJ2aWNlLmFjY2Vzc1Rva2VuID0gbG9naW5SZXMudG9rZW5zLmFjY2Vzc1Rva2VuO1xyXG4gICAgY29uc3QgY29va2llT3B0aW9ucyA9IHsgZXhwaXJlczogdGhpcy5sb2dpbkNvbmZpZy5leHBpcmUgPz8gMzY1IH1cclxuICAgIExvY2FsaXplVG9rZW4uc3RvcmFnZS5zZXQodGhpcy5jb25maWcucmVmcmVzaFRva2VuPy5uYW1lIHx8ICcnLCBsb2dpblJlcy50b2tlbnMucmVmcmVzaFRva2VuLCBjb29raWVPcHRpb25zKTtcclxuICAgIHRoaXMuc3VjY2VzcyA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5kbGdDb25maWcuZGlzbWlzc2FibGVNYXNrID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kbGdDb25maWcubW9kYWwgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kbGdSZWYuY2xvc2UodHJ1ZSk7XHJcbiAgICB9LCAyMDAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgbG9naW4oKSB7XHJcbiAgICBpZiAoIXRoaXMubG9naW5Vcmw/LnRyaW0oKS5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5zaG93TWVzc2FnZShcImVycm9yXCIsIFwiTG9naW4gdXJsIGlzIHJlcXVpcmVkXCIpO1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJMb2dpbiB1cmwgaXMgcmVxdWlyZWRcIik7XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuXHJcbiAgICAgIGlmICh0aGlzLmxvZ2luQ29uZmlnLmxvZ2luRnVuY3Rpb24pIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIlVzaW5nIGN1c3RvbSBsb2dpbiBmdW5jdGlvblwiKTtcclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2dpbkNvbmZpZy5sb2dpbkZ1bmN0aW9uKHRoaXMuZGVjb2RlVG9rZW4/LmVtYWlsID8/ICcnLCB0aGlzLnBhc3N3b3JkLnRyaW0oKSwgdGhpcy5nZXRIZWFkZXJzKCkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PlxyXG4gICAgICAgIHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMubG9naW5VcmwhLFxyXG4gICAgICAgICAgeyBwYXNzd29yZDogdGhpcy5wYXNzd29yZC50cmltKCkgfSxcclxuICAgICAgICAgIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkuc3Vic2NyaWJlKHsgbmV4dDogcmVzb2x2ZSwgZXJyb3I6IHJlamVjdCB9KSk7XHJcblxyXG4gICAgfSBjYXRjaCAoZTogYW55KSB7XHJcbiAgICAgIHRoaXMuc2hvd01lc3NhZ2UoXCJlcnJvclwiLCBlLm1lc3NhZ2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SGVhZGVycygpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIFtMb2NhbGl6ZVRva2VuLmh0dHBIZWFkZXJzLlhfUkVGUkVTSF9UT0tFTl06IHRoaXMudG9rZW5TZXJ2aWNlLnJlZnJlc2hUb2tlbiA/PyBcIlwiLFxyXG4gICAgICBbTG9jYWxpemVUb2tlbi5odHRwSGVhZGVycy5YX1RFTkFOVF06IHRoaXMudG9rZW5TZXJ2aWNlLnRlbmFudFRva2VuID8/IFwiXCIsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzVmFsaWRQYXNzd29yZCgpOiBib29sZWFuIHtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHRoaXMucHJvcGVydGllcy5wYXNzd29yZFZhbGlkYXRvclxyXG4gICAgICA/IHRoaXMucHJvcGVydGllcy5wYXNzd29yZFZhbGlkYXRvcih0aGlzLnBhc3N3b3JkKVxyXG4gICAgICA6IHRoaXMucGFzc3dvcmQgJiYgdGhpcy5wYXNzd29yZC50cmltKCkubGVuZ3RoID49IDYgJiYgdGhpcy5wYXNzd29yZC50cmltKCkubGVuZ3RoIDw9IDUwO1xyXG4gIH1cclxuXHJcbiAgY2xpY2tMb2dvdXQgPSAoKSA9PiB0aGlzLmxvZ291dD8uKCk7XHJcblxyXG4gIHByaXZhdGUgc2hvd01lc3NhZ2Uoc2V2ZXJpdHk6IHN0cmluZywgc3VtbWFyeTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IGtleTogdGhpcy5tZXNzYWdlS2V5LCBzZXZlcml0eSwgc3VtbWFyeSB9KTtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNhbml0aXplZFRpdGxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMucHJvcGVydGllcy50aXRsZSA/PyAnJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -25,4 +25,4 @@ LocalizeLogindlgModule.decorators = [
25
25
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
26
26
  },] }
27
27
  ];
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtbG9naW5kbGcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvY2FsaXplLWxvZ2luZGxnL2xvY2FsaXplLWxvZ2luZGxnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQWdCdEUsTUFBTSxPQUFPLHNCQUFzQjs7O1lBZGxDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztnQkFDekMsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7Z0JBQ3BDLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsZUFBZTtvQkFDZixhQUFhO29CQUNiLFdBQVc7b0JBQ1gsWUFBWTtpQkFDYjtnQkFDRCxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDcEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7YUFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgTG9jYWxpemVMb2dpbmRsZ0NvbXBvbmVudCB9IGZyb20gXCIuL2xvY2FsaXplLWxvZ2luZGxnLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3RvYXN0XCI7XHJcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2lucHV0dGV4dFwiO1xyXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9idXR0b25cIjtcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTG9jYWxpemVMb2dpbmRsZ1NlcnZpY2UgfSBmcm9tIFwiLi9sb2NhbGl6ZS1sb2dpbmRsZy5zZXJ2aWNlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0xvY2FsaXplTG9naW5kbGdDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtMb2NhbGl6ZUxvZ2luZGxnQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBUb2FzdE1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW0xvY2FsaXplTG9naW5kbGdTZXJ2aWNlXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZUxvZ2luZGxnTW9kdWxlIHsgfVxyXG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtbG9naW5kbGcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQU5HVUxBUi9MSUJSQVJJRVMvbG9jYWxpemUudG9rZW4uMTIuMS4wL2Rldi9zcmMvbG9jYWxpemUtbG9naW5kbGcvbG9jYWxpemUtbG9naW5kbGcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBZ0J0RSxNQUFNLE9BQU8sc0JBQXNCOzs7WUFkbEMsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLHlCQUF5QixDQUFDO2dCQUN6QyxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztnQkFDcEMsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxlQUFlO29CQUNmLGFBQWE7b0JBQ2IsV0FBVztvQkFDWCxZQUFZO2lCQUNiO2dCQUNELFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2dCQUNwQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzthQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZUxvZ2luZGxnQ29tcG9uZW50IH0gZnJvbSBcIi4vbG9jYWxpemUtbG9naW5kbGcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSBcInByaW1lbmcvdG9hc3RcIjtcclxuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSBcInByaW1lbmcvaW5wdXR0ZXh0XCI7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZUxvZ2luZGxnU2VydmljZSB9IGZyb20gXCIuL2xvY2FsaXplLWxvZ2luZGxnLnNlcnZpY2VcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbTG9jYWxpemVMb2dpbmRsZ0NvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW0xvY2FsaXplTG9naW5kbGdDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFRvYXN0TW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgQnJvd3Nlck1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbTG9jYWxpemVMb2dpbmRsZ1NlcnZpY2VdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplTG9naW5kbGdNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -61,4 +61,4 @@ LocalizeLogindlgService.decorators = [
61
61
  LocalizeLogindlgService.ctorParameters = () => [
62
62
  { type: Injector }
63
63
  ];
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtbG9naW5kbGcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2NhbGl6ZS1sb2dpbmRsZy9sb2NhbGl6ZS1sb2dpbmRsZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUF1QixNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQXdEMUUsTUFBTSxPQUFPLHVCQUF1QjtJQUVsQyxZQUE2QixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUksQ0FBQztJQUU5QyxlQUFlLENBQUMsV0FBK0IsRUFBRSxNQUE0Qjs7WUFFakYsTUFBTSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRTdCLE1BQU0sQ0FBQyxJQUFJLG1DQUFRLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsR0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFFLENBQUM7WUFFN0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdkQsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVyRSxNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzdCLElBQUksR0FBRyxFQUFFO29CQUNQLE9BQU8sRUFBRSxDQUFDO2lCQUNYO1lBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUM7S0FBQTtJQUVPLG9CQUFvQixDQUFDLE1BQTRCO1FBQ3ZELE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxJQUFOLE1BQU0sR0FBSztZQUNULE1BQU0sRUFBRSxPQUFPO1lBQ2YsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7WUFDakUsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLEVBQUE7UUFFRCxNQUFNLG1DQUNELE1BQU0sR0FBSztZQUNaLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRTtTQUM1RCxDQUNGLENBQUE7UUFDRCxNQUFNLENBQUMsS0FBSyxtQ0FBUSxNQUFNLENBQUMsS0FBSyxHQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFFLENBQUM7UUFDbkUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUdPLFVBQVUsQ0FBQyxXQUErQjs7UUFDaEQsV0FBVyxhQUFYLFdBQVcsY0FBWCxXQUFXLElBQVgsV0FBVyxHQUFLLEVBQUUsRUFBQTtRQUNsQixNQUFBLFdBQVcsQ0FBQyxVQUFVLG9DQUF0QixXQUFXLENBQUMsVUFBVSxHQUFLO1lBQ3pCLEtBQUssRUFBRSwrREFBK0Q7WUFDdEUsbUJBQW1CLEVBQUUsa0NBQWtDO1lBQ3ZELFNBQVMsRUFBRSwrQkFBK0I7WUFDMUMsUUFBUSxFQUFFLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRTtZQUNyQyxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFO1lBQ3JDLFdBQVcsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUU7WUFDckMsWUFBWSxFQUFFO2dCQUNaLE9BQU8sRUFBRSx3Q0FBd0M7Z0JBQ2pELFdBQVcsRUFBRSxRQUFRO2FBQ3RCO1NBQ0YsRUFBQTtJQUNILENBQUM7Ozs7WUExREYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUF6RG9CLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlLCBEeW5hbWljRGlhbG9nQ29uZmlnIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgTG9jYWxpemVMb2dpbmRsZ0NvbXBvbmVudCB9IGZyb20gJy4vbG9jYWxpemUtbG9naW5kbGcuY29tcG9uZW50JztcclxuZXhwb3J0IGludGVyZmFjZSBJTG9naW5EaWFsb2dQbGFjZUhvbGRlciB7XHJcbiAgLyoqXHJcbiAgICogTWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSBpbnB1dCBmaWVsZCwgdHlwaWNhbGx5IHVzZWQgZm9yIGVycm9yIG1lc3NhZ2VzIG9yIGhpbnRzLlxyXG4gICAqIFRoaXMgaXMgb3B0aW9uYWwgYW5kIGNhbiBiZSB1c2VkIHRvIHByb3ZpZGUgYWRkaXRpb25hbCBjb250ZXh0IG9yIGluc3RydWN0aW9ucyB0byB0aGUgdXNlci5cclxuICAgKi9cclxuICBtZXNzYWdlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFBsYWNlaG9sZGVyIG9yIGxhYmVsIHRleHQgZm9yIHRoZSBpbnB1dCBmaWVsZFxyXG4gICAqL1xyXG4gIHBsYWNlSG9sZGVyPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElMb2dpbkRpYWxvZ1Byb3BlcnRpZXMge1xyXG4gIC8qKlxyXG4gICAqIFRpdGxlIG9mIHRoZSBsb2dpbiBkaWFsb2dcclxuICAgKi9cclxuICB0aXRsZT86IHN0cmluZztcclxuICBsb2dpblN1Y2Nlc3NNZXNzYWdlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIExvZ29nIGltYWdlIHBhdGggb3IgVVJMIHRvIGRpc3BsYXkgaW4gdGhlIGxvZ2luIGRpYWxvZ1xyXG4gICAqIElmIG5vdCBwcm92aWRlZCwgdGhlIFwiL2Fzc2V0cy9pbWFnZXMvbG9nby0zMDBweC5wbmdcIiBpbWFnZSB3aWxsIGJlIHVzZWQuXHJcbiAgICovXHJcbiAgbG9nb0ltYWdlPzogc3RyaW5nO1xyXG4gIHVzZXJuYW1lPzogSUxvZ2luRGlhbG9nUGxhY2VIb2xkZXI7XHJcbiAgcGFzc3dvcmQ/OiBJTG9naW5EaWFsb2dQbGFjZUhvbGRlcjtcclxuICBsb2dpbkJ1dHRvbj86IElMb2dpbkRpYWxvZ1BsYWNlSG9sZGVyO1xyXG4gIGxvZ291dEJ1dHRvbj86IElMb2dpbkRpYWxvZ1BsYWNlSG9sZGVyO1xyXG4gIC8qKlxyXG4gICAqIEZ1bmN0aW9uIHRvIHZhbGlkYXRlIHRoZSBwYXNzd29yZC5cclxuICAgKiBJZiBub3QgcHJvdmlkZWQsIHRoZSBkZWZhdWx0IHZhbGlkYXRpb24gY2hlY2tzIGlmIHRoZSBwYXNzd29yZCBpcyBiZXR3ZWVuIDYgYW5kIDUwIGNoYXJhY3RlcnMgbG9uZy5cclxuICAgKiBAcGFyYW0gcGFzc3dvcmRcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHBhc3N3b3JkVmFsaWRhdG9yPzogKHBhc3N3b3JkOiBzdHJpbmcpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUxvZ2luRGlhbG9nQ29uZmlnIHtcclxuICBsb2dpblVybD86IHN0cmluZztcclxuICBsb2dvdXRVcmw/OiBzdHJpbmc7XHJcbiAgbG9naW5GdW5jdGlvbj86ICh1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCBoZWFkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkgPT4gUHJvbWlzZTxhbnk+O1xyXG4gIGxvZ291dEZ1bmM/OiAoKSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIENvb2tpZSBleHBpcmF0aW9uIGRhdGUgaW4gZGF5cyBmcm9tIG5vdy4gSWYgbm90IHByb3ZpZGVkIHRoZSBjb29raWUgaXMgYSBzZXNzaW9uIGNvb2tpZVxyXG4gICAqL1xyXG4gIGV4cGlyZT86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBDb25maWd1cmF0aW9uIGZvciB0aGUgbG9naW4gZGlhbG9nLlxyXG4gICAqIFRoaXMgaW50ZXJmYWNlIGRlZmluZXMgdGhlIHByb3BlcnRpZXMgdGhhdCBjYW4gYmUgdXNlZCB0byBjdXN0b21pemUgdGhlIGxvZ2luIGRpYWxvZydzIGJlaGF2aW9yIGFuZCBhcHBlYXJhbmNlXHJcbiAgICovXHJcbiAgcHJvcGVydGllcz86IElMb2dpbkRpYWxvZ1Byb3BlcnRpZXM7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplTG9naW5kbGdTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHsgfVxyXG5cclxuICBhc3luYyBvcGVuTG9naW5EaWFsb2cobG9naW5Db25maWc6IElMb2dpbkRpYWxvZ0NvbmZpZywgY29uZmlnPzogRHluYW1pY0RpYWxvZ0NvbmZpZykge1xyXG5cclxuICAgIGNvbmZpZyA9IHRoaXMuaW50ZXJjZXBEaWFsb2dDb25maWcoY29uZmlnKTtcclxuICAgIHRoaXMuaW5pdENvbmZpZyhsb2dpbkNvbmZpZyk7XHJcblxyXG4gICAgY29uZmlnLmRhdGEgPSB7IC4uLihjb25maWcuZGF0YSB8fCB7fSksIC4uLnsgbG9naW5Db25maWcgfSB9O1xyXG5cclxuICAgIGNvbnN0IGRpYWxvZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChEaWFsb2dTZXJ2aWNlKTtcclxuICAgIGNvbnN0IGRpYWxvZyA9IGRpYWxvZ1NlcnZpY2Uub3BlbihMb2NhbGl6ZUxvZ2luZGxnQ29tcG9uZW50LCBjb25maWcpO1xyXG5cclxuICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PlxyXG4gICAgICBkaWFsb2cub25DbG9zZS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGludGVyY2VwRGlhbG9nQ29uZmlnKGNvbmZpZz86IER5bmFtaWNEaWFsb2dDb25maWcpIHtcclxuICAgIGNvbmZpZyA/Pz0ge1xyXG4gICAgICBoZWFkZXI6ICdMb2dpbicsXHJcbiAgICAgIHN0eWxlOiB7ICdtYXgtd2lkdGgnOiAnNDAwcHgnLCB3aWR0aDogJzEwMCUnLCAnaGVpZ2h0JzogJzY1MHB4JyB9LFxyXG4gICAgICBtb2RhbDogdHJ1ZSxcclxuICAgICAgY2xvc2FibGU6IGZhbHNlLFxyXG4gICAgICBzaG93SGVhZGVyOiBmYWxzZSxcclxuICAgIH1cclxuXHJcbiAgICBjb25maWcgPSB7XHJcbiAgICAgIC4uLmNvbmZpZywgLi4ue1xyXG4gICAgICAgIGNvbnRlbnRTdHlsZTogeyAnaGVpZ2h0JzogJzEwMCUnLCAnYm9yZGVyLXJhZGl1cyc6ICcyMHB4JyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbmZpZy5zdHlsZSA9IHsgLi4uY29uZmlnLnN0eWxlLCAuLi57ICdib3JkZXItcmFkaXVzJzogJzIwcHgnIH0gfTtcclxuICAgIHJldHVybiBjb25maWc7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBpbml0Q29uZmlnKGxvZ2luQ29uZmlnOiBJTG9naW5EaWFsb2dDb25maWcpIHtcclxuICAgIGxvZ2luQ29uZmlnID8/PSB7fVxyXG4gICAgbG9naW5Db25maWcucHJvcGVydGllcyA/Pz0ge1xyXG4gICAgICB0aXRsZTogJ1lvdXIgc2Vzc2lvbiBpcyBleHBpcmVkITxici8+IFBsZWFzZSBsb2dpbiBhZ2FpbiB0byBjb250aW51ZS4nLFxyXG4gICAgICBsb2dpblN1Y2Nlc3NNZXNzYWdlOiAnWW91IGhhdmUgc3VjY2Vzc2Z1bGx5IGxvZ2dlZCBpbi4nLFxyXG4gICAgICBsb2dvSW1hZ2U6ICcvYXNzZXRzL2ltYWdlcy9sb2dvLTMwMHB4LnBuZycsXHJcbiAgICAgIHVzZXJuYW1lOiB7IHBsYWNlSG9sZGVyOiAnVXNlcm5hbWUnIH0sXHJcbiAgICAgIHBhc3N3b3JkOiB7IHBsYWNlSG9sZGVyOiAnUGFzc3dvcmQnIH0sXHJcbiAgICAgIGxvZ2luQnV0dG9uOiB7IHBsYWNlSG9sZGVyOiAnTG9naW4nIH0sXHJcbiAgICAgIGxvZ291dEJ1dHRvbjoge1xyXG4gICAgICAgIG1lc3NhZ2U6ICdObywgSSB3YW50IHRvIGxvZ2luIHdpdGggYW5vdGhlciB1c2VyLicsXHJcbiAgICAgICAgcGxhY2VIb2xkZXI6ICdMb2dvdXQnXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtbG9naW5kbGcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0FOR1VMQVIvTElCUkFSSUVTL2xvY2FsaXplLnRva2VuLjEyLjEuMC9kZXYvc3JjL2xvY2FsaXplLWxvZ2luZGxnL2xvY2FsaXplLWxvZ2luZGxnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQXVCLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBd0QxRSxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDLFlBQTZCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBSSxDQUFDO0lBRTlDLGVBQWUsQ0FBQyxXQUErQixFQUFFLE1BQTRCOztZQUVqRixNQUFNLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFN0IsTUFBTSxDQUFDLElBQUksbUNBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxHQUFLLEVBQUUsV0FBVyxFQUFFLENBQUUsQ0FBQztZQUU3RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN2RCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRXJFLE1BQU0sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNsQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDN0IsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsT0FBTyxFQUFFLENBQUM7aUJBQ1g7WUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQztLQUFBO0lBRU8sb0JBQW9CLENBQUMsTUFBNEI7UUFDdkQsTUFBTSxhQUFOLE1BQU0sY0FBTixNQUFNLElBQU4sTUFBTSxHQUFLO1lBQ1QsTUFBTSxFQUFFLE9BQU87WUFDZixLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtZQUNqRSxLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRSxLQUFLO1lBQ2YsVUFBVSxFQUFFLEtBQUs7U0FDbEIsRUFBQTtRQUVELE1BQU0sbUNBQ0QsTUFBTSxHQUFLO1lBQ1osWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFO1NBQzVELENBQ0YsQ0FBQTtRQUNELE1BQU0sQ0FBQyxLQUFLLG1DQUFRLE1BQU0sQ0FBQyxLQUFLLEdBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLENBQUUsQ0FBQztRQUNuRSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBR08sVUFBVSxDQUFDLFdBQStCOztRQUNoRCxXQUFXLGFBQVgsV0FBVyxjQUFYLFdBQVcsSUFBWCxXQUFXLEdBQUssRUFBRSxFQUFBO1FBQ2xCLE1BQUEsV0FBVyxDQUFDLFVBQVUsb0NBQXRCLFdBQVcsQ0FBQyxVQUFVLEdBQUs7WUFDekIsS0FBSyxFQUFFLCtEQUErRDtZQUN0RSxtQkFBbUIsRUFBRSxrQ0FBa0M7WUFDdkQsU0FBUyxFQUFFLCtCQUErQjtZQUMxQyxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFO1lBQ3JDLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUU7WUFDckMsV0FBVyxFQUFFLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRTtZQUNyQyxZQUFZLEVBQUU7Z0JBQ1osT0FBTyxFQUFFLHdDQUF3QztnQkFDakQsV0FBVyxFQUFFLFFBQVE7YUFDdEI7U0FDRixFQUFBO0lBQ0gsQ0FBQzs7OztZQTFERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXpEb0IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dDb25maWcgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZUxvZ2luZGxnQ29tcG9uZW50IH0gZnJvbSAnLi9sb2NhbGl6ZS1sb2dpbmRsZy5jb21wb25lbnQnO1xyXG5leHBvcnQgaW50ZXJmYWNlIElMb2dpbkRpYWxvZ1BsYWNlSG9sZGVyIHtcclxuICAvKipcclxuICAgKiBNZXNzYWdlIHRvIGRpc3BsYXkgaW4gdGhlIGlucHV0IGZpZWxkLCB0eXBpY2FsbHkgdXNlZCBmb3IgZXJyb3IgbWVzc2FnZXMgb3IgaGludHMuXHJcbiAgICogVGhpcyBpcyBvcHRpb25hbCBhbmQgY2FuIGJlIHVzZWQgdG8gcHJvdmlkZSBhZGRpdGlvbmFsIGNvbnRleHQgb3IgaW5zdHJ1Y3Rpb25zIHRvIHRoZSB1c2VyLlxyXG4gICAqL1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogUGxhY2Vob2xkZXIgb3IgbGFiZWwgdGV4dCBmb3IgdGhlIGlucHV0IGZpZWxkXHJcbiAgICovXHJcbiAgcGxhY2VIb2xkZXI/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUxvZ2luRGlhbG9nUHJvcGVydGllcyB7XHJcbiAgLyoqXHJcbiAgICogVGl0bGUgb2YgdGhlIGxvZ2luIGRpYWxvZ1xyXG4gICAqL1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGxvZ2luU3VjY2Vzc01lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogTG9nb2cgaW1hZ2UgcGF0aCBvciBVUkwgdG8gZGlzcGxheSBpbiB0aGUgbG9naW4gZGlhbG9nXHJcbiAgICogSWYgbm90IHByb3ZpZGVkLCB0aGUgXCIvYXNzZXRzL2ltYWdlcy9sb2dvLTMwMHB4LnBuZ1wiIGltYWdlIHdpbGwgYmUgdXNlZC5cclxuICAgKi9cclxuICBsb2dvSW1hZ2U/OiBzdHJpbmc7XHJcbiAgdXNlcm5hbWU/OiBJTG9naW5EaWFsb2dQbGFjZUhvbGRlcjtcclxuICBwYXNzd29yZD86IElMb2dpbkRpYWxvZ1BsYWNlSG9sZGVyO1xyXG4gIGxvZ2luQnV0dG9uPzogSUxvZ2luRGlhbG9nUGxhY2VIb2xkZXI7XHJcbiAgbG9nb3V0QnV0dG9uPzogSUxvZ2luRGlhbG9nUGxhY2VIb2xkZXI7XHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gdG8gdmFsaWRhdGUgdGhlIHBhc3N3b3JkLlxyXG4gICAqIElmIG5vdCBwcm92aWRlZCwgdGhlIGRlZmF1bHQgdmFsaWRhdGlvbiBjaGVja3MgaWYgdGhlIHBhc3N3b3JkIGlzIGJldHdlZW4gNiBhbmQgNTAgY2hhcmFjdGVycyBsb25nLlxyXG4gICAqIEBwYXJhbSBwYXNzd29yZFxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcGFzc3dvcmRWYWxpZGF0b3I/OiAocGFzc3dvcmQ6IHN0cmluZykgPT4gYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTG9naW5EaWFsb2dDb25maWcge1xyXG4gIGxvZ2luVXJsPzogc3RyaW5nO1xyXG4gIGxvZ291dFVybD86IHN0cmluZztcclxuICBsb2dpbkZ1bmN0aW9uPzogKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIGhlYWRlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSA9PiBQcm9taXNlPGFueT47XHJcbiAgbG9nb3V0RnVuYz86ICgpID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogQ29va2llIGV4cGlyYXRpb24gZGF0ZSBpbiBkYXlzIGZyb20gbm93LiBJZiBub3QgcHJvdmlkZWQgdGhlIGNvb2tpZSBpcyBhIHNlc3Npb24gY29va2llXHJcbiAgICovXHJcbiAgZXhwaXJlPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBsb2dpbiBkaWFsb2cuXHJcbiAgICogVGhpcyBpbnRlcmZhY2UgZGVmaW5lcyB0aGUgcHJvcGVydGllcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGN1c3RvbWl6ZSB0aGUgbG9naW4gZGlhbG9nJ3MgYmVoYXZpb3IgYW5kIGFwcGVhcmFuY2VcclxuICAgKi9cclxuICBwcm9wZXJ0aWVzPzogSUxvZ2luRGlhbG9nUHJvcGVydGllcztcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxpemVMb2dpbmRsZ1NlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcikgeyB9XHJcblxyXG4gIGFzeW5jIG9wZW5Mb2dpbkRpYWxvZyhsb2dpbkNvbmZpZzogSUxvZ2luRGlhbG9nQ29uZmlnLCBjb25maWc/OiBEeW5hbWljRGlhbG9nQ29uZmlnKSB7XHJcblxyXG4gICAgY29uZmlnID0gdGhpcy5pbnRlcmNlcERpYWxvZ0NvbmZpZyhjb25maWcpO1xyXG4gICAgdGhpcy5pbml0Q29uZmlnKGxvZ2luQ29uZmlnKTtcclxuXHJcbiAgICBjb25maWcuZGF0YSA9IHsgLi4uKGNvbmZpZy5kYXRhIHx8IHt9KSwgLi4ueyBsb2dpbkNvbmZpZyB9IH07XHJcblxyXG4gICAgY29uc3QgZGlhbG9nU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KERpYWxvZ1NlcnZpY2UpO1xyXG4gICAgY29uc3QgZGlhbG9nID0gZGlhbG9nU2VydmljZS5vcGVuKExvY2FsaXplTG9naW5kbGdDb21wb25lbnQsIGNvbmZpZyk7XHJcblxyXG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+XHJcbiAgICAgIGRpYWxvZy5vbkNsb3NlLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW50ZXJjZXBEaWFsb2dDb25maWcoY29uZmlnPzogRHluYW1pY0RpYWxvZ0NvbmZpZykge1xyXG4gICAgY29uZmlnID8/PSB7XHJcbiAgICAgIGhlYWRlcjogJ0xvZ2luJyxcclxuICAgICAgc3R5bGU6IHsgJ21heC13aWR0aCc6ICc0MDBweCcsIHdpZHRoOiAnMTAwJScsICdoZWlnaHQnOiAnNjUwcHgnIH0sXHJcbiAgICAgIG1vZGFsOiB0cnVlLFxyXG4gICAgICBjbG9zYWJsZTogZmFsc2UsXHJcbiAgICAgIHNob3dIZWFkZXI6IGZhbHNlLFxyXG4gICAgfVxyXG5cclxuICAgIGNvbmZpZyA9IHtcclxuICAgICAgLi4uY29uZmlnLCAuLi57XHJcbiAgICAgICAgY29udGVudFN0eWxlOiB7ICdoZWlnaHQnOiAnMTAwJScsICdib3JkZXItcmFkaXVzJzogJzIwcHgnIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uZmlnLnN0eWxlID0geyAuLi5jb25maWcuc3R5bGUsIC4uLnsgJ2JvcmRlci1yYWRpdXMnOiAnMjBweCcgfSB9O1xyXG4gICAgcmV0dXJuIGNvbmZpZztcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGluaXRDb25maWcobG9naW5Db25maWc6IElMb2dpbkRpYWxvZ0NvbmZpZykge1xyXG4gICAgbG9naW5Db25maWcgPz89IHt9XHJcbiAgICBsb2dpbkNvbmZpZy5wcm9wZXJ0aWVzID8/PSB7XHJcbiAgICAgIHRpdGxlOiAnWW91ciBzZXNzaW9uIGlzIGV4cGlyZWQhPGJyLz4gUGxlYXNlIGxvZ2luIGFnYWluIHRvIGNvbnRpbnVlLicsXHJcbiAgICAgIGxvZ2luU3VjY2Vzc01lc3NhZ2U6ICdZb3UgaGF2ZSBzdWNjZXNzZnVsbHkgbG9nZ2VkIGluLicsXHJcbiAgICAgIGxvZ29JbWFnZTogJy9hc3NldHMvaW1hZ2VzL2xvZ28tMzAwcHgucG5nJyxcclxuICAgICAgdXNlcm5hbWU6IHsgcGxhY2VIb2xkZXI6ICdVc2VybmFtZScgfSxcclxuICAgICAgcGFzc3dvcmQ6IHsgcGxhY2VIb2xkZXI6ICdQYXNzd29yZCcgfSxcclxuICAgICAgbG9naW5CdXR0b246IHsgcGxhY2VIb2xkZXI6ICdMb2dpbicgfSxcclxuICAgICAgbG9nb3V0QnV0dG9uOiB7XHJcbiAgICAgICAgbWVzc2FnZTogJ05vLCBJIHdhbnQgdG8gbG9naW4gd2l0aCBhbm90aGVyIHVzZXIuJyxcclxuICAgICAgICBwbGFjZUhvbGRlcjogJ0xvZ291dCdcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -16,4 +16,4 @@ export var EMethod;
16
16
  // details?: any;
17
17
  // status: number;
18
18
  // }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9sb2NhbGl6ZS10b2tlbi9oZWxwZXJzL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxPQU1YO0FBTkQsV0FBWSxPQUFPO0lBQ2Ysd0JBQWEsQ0FBQTtJQUNiLHNCQUFXLENBQUE7SUFDWCxzQkFBVyxDQUFBO0lBQ1gsNEJBQWlCLENBQUE7SUFDakIsMEJBQWUsQ0FBQTtBQUNuQixDQUFDLEVBTlcsT0FBTyxLQUFQLE9BQU8sUUFNbEI7QUF5RkQsc0NBQXNDO0FBQ3RDLGtCQUFrQjtBQUNsQixvQkFBb0I7QUFDcEIsdUJBQXVCO0FBQ3ZCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG4vKipcclxuICogSHR0cCBtZXRob2Qgb3B0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGVudW0gRU1ldGhvZCB7XHJcbiAgICBQT1NUID0gJ3Bvc3QnLFxyXG4gICAgR0VUID0gJ2dldCcsXHJcbiAgICBQVVQgPSAncHV0JyxcclxuICAgIERFTEVURSA9ICdkZWxldGUnLFxyXG4gICAgUEFUQ0ggPSAncGF0Y2gnLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElPbkNvbm5lY3Rpb25FcnJvciB7XHJcbiAgICAvKipcclxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgd2hlbiBhIGNvbm5lY3Rpb24gZXJyb3Igb2NjdXJzLlxyXG4gICAgICogVGhpcyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgUHJvbWlzZSBvciBhbnkgdmFsdWUuXHJcbiAgICAgKi9cclxuICAgIGNhbGxiYWNrPzogKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gUHJvbWlzZTx2b2lkPiB8IGFueTtcclxuICAgIC8qKlxyXG4gICAgICogSWYgdHJ1ZSwgdGhlIHJlcXVlc3Qgd2lsbCBibG9jayB0aGUgc2NyZWVuIHdpdGggb3ZlcmxheSBvbiBjb25uZWN0aW9uIGVycm9ycy5cclxuICAgICAqIERlZmF1bHQgaXMgZmFsc2UuXHJcbiAgICAgKi9cclxuICAgIGJsb2NrU2NyZWVuPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogT3B0aW9uYWwgei1pbmRleCBmb3IgdGhlIGJsb2NrIHNjcmVlbiBvdmVybGF5LlxyXG4gICAgICogRGVmYXVsdCBpcyAxMDAwMC5cclxuICAgICAqL1xyXG4gICAgYmxvY2tTY3JlZW5aSW5kZXg/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPcHRpb25hbCBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiBhIGNvbm5lY3Rpb24gZXJyb3Igb2NjdXJzLlxyXG4gICAgICovXHJcbiAgICBtZXNzYWdlPzogc3RyaW5nO1xyXG4gICAgc3VnZ2VzdGlvbk1lc3NhZ2U/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBJUmV0cnlPcHRpb25zIHtcclxuXHJcbiAgICAvKipcclxuICAgICAgICogTWF4aW11bSBudW1iZXIgb2YgcmV0cmllcyBmb3IgYSBmYWlsZWQgcmVxdWVzdC5cclxuICAgICAgICogRGVmYXVsdCBpcyAxMDAuXHJcbiAgICAgICAqL1xyXG4gICAgbWF4UmV0cmllcz86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIERlbGF5IGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgcmV0cnlpbmcgYSBmYWlsZWQgcmVxdWVzdC5cclxuICAgICAqIERlZmF1bHQgaXMgNTAwbXMuXHJcbiAgICAgKi9cclxuICAgIGRlbGF5PzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIGEgcmVxdWVzdCBzaG91bGQgYmUgcmV0cmllZCBiYXNlZCBvbiB0aGUgZXJyb3IuXHJcbiAgICAgKiBJZiBub3QgcHJvdmlkZWQsIHRoZSBkZWZhdWx0IGZ1bmN0aW9uIHdpbGwgcmV0cnkgZm9yIG5ldHdvcmsgZXJyb3JzIGFuZCBzZXJ2ZXIgZXJyb3JzIChzdGF0dXMgNTAwLTU5OSkuXHJcbiAgICAgKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3Igb2JqZWN0IGZyb20gdGhlIGZhaWxlZCByZXF1ZXN0LlxyXG4gICAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgcmVxdWVzdCBzaG91bGQgYmUgcmV0cmllZCwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gICAgICovXHJcbiAgICByZXRyeUZ1bmN0aW9uPzogKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gUHJvbWlzZTxib29sZWFuPiB8IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bmN0aW9uIHRvIGV4ZWN1dGUgd2hlbiBhIGNvbm5lY3Rpb24gZXJyb3Igb2NjdXJzLlxyXG4gICAgICogVGhpcyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgUHJvbWlzZSBvciBhbnkgdmFsdWUuXHJcbiAgICAgKi9cclxuICAgIG9uQ29ubmVjdGlvbkVycm9yPzogSU9uQ29ubmVjdGlvbkVycm9yO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTG9jYWxpemVBcGlDb25maWdzIHtcclxuICAgIG9uUHJlcGFyZVJlcXVlc3Q/OiAoKSA9PiBQcm9taXNlPHZvaWQ+IHwgYW55O1xyXG4gICAgb25BdXRvTG9nb3V0PzogKCkgPT4gUHJvbWlzZTx2b2lkPiB8IGFueTtcclxuICAgIG9uUmV2b2tlVW5hdXRob3JpemVkPzogKCkgPT4gUHJvbWlzZTx2b2lkPiB8IGFueTtcclxuICAgIG9uUmVzcG9uc2VCb2R5SW52YWxpZD86IChib2R5OiBhbnkpID0+IHZvaWQ7XHJcbiAgICB3YWl0RWFjaFJlcXVlc3Q/OiB7XHJcbiAgICAgICAgbWlsbGlzZWNvbmRzOiBudW1iZXI7XHJcbiAgICB9O1xyXG4gICAgZW5hYmxlUmVxdWVzdENhbmNlbGxhdGlvbj86IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb25maWcgZm9yIHJldHJ5aW5nIGZhaWxlZCByZXF1ZXN0cy5cclxuICAgICAqIElmIG5vdCBwcm92aWRlZCwgdGhlIGRlZmF1bHQgcmV0cnkgb3B0aW9ucyB3aWxsIGJlIHVzZWQuXHJcbiAgICAgKi9cclxuICAgIHJldHJ5T3B0aW9ucz86IElSZXRyeU9wdGlvbnM7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFwaU9wdGlvbnMge1xyXG4gICAgaGVhZGVycz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICBtZXRob2Q6IEVNZXRob2Q7XHJcbiAgICByZXF1ZXN0VXJsOiBzdHJpbmc7XHJcbiAgICByZXF1ZXN0Qm9keT86IGFueTtcclxuICAgIGlzRm9ybURhdGE/OiBib29sZWFuO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJZiB0cnVlLCB0aGUgcmVxdWVzdCB3aWxsIHVzZSB0aGUgcmVmcmVzaCB0b2tlbiBmb3IgYXV0aG9yaXphdGlvbi5cclxuICAgICAqL1xyXG4gICAgcmVmcmVzaFRva2VuPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVyIHtcclxuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcclxufVxyXG5cclxuLy8gZXhwb3J0IGludGVyZmFjZSBJTm9ybWFsaXplZEVycm9yIHtcclxuLy8gICAgIGVycm9yOiBhbnk7XHJcbi8vICAgICBjb2RlOiBzdHJpbmc7XHJcbi8vICAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbi8vICAgICBkZXRhaWxzPzogYW55O1xyXG4vLyAgICAgc3RhdHVzOiBudW1iZXI7XHJcbi8vIH1cclxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0FOR1VMQVIvTElCUkFSSUVTL2xvY2FsaXplLnRva2VuLjEyLjEuMC9kZXYvc3JjL2xvY2FsaXplLXRva2VuL2hlbHBlcnMvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLE9BTVg7QUFORCxXQUFZLE9BQU87SUFDZix3QkFBYSxDQUFBO0lBQ2Isc0JBQVcsQ0FBQTtJQUNYLHNCQUFXLENBQUE7SUFDWCw0QkFBaUIsQ0FBQTtJQUNqQiwwQkFBZSxDQUFBO0FBQ25CLENBQUMsRUFOVyxPQUFPLEtBQVAsT0FBTyxRQU1sQjtBQXlGRCxzQ0FBc0M7QUFDdEMsa0JBQWtCO0FBQ2xCLG9CQUFvQjtBQUNwQix1QkFBdUI7QUFDdkIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuXHJcbi8qKlxyXG4gKiBIdHRwIG1ldGhvZCBvcHRpb25zXHJcbiAqL1xyXG5leHBvcnQgZW51bSBFTWV0aG9kIHtcclxuICAgIFBPU1QgPSAncG9zdCcsXHJcbiAgICBHRVQgPSAnZ2V0JyxcclxuICAgIFBVVCA9ICdwdXQnLFxyXG4gICAgREVMRVRFID0gJ2RlbGV0ZScsXHJcbiAgICBQQVRDSCA9ICdwYXRjaCcsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU9uQ29ubmVjdGlvbkVycm9yIHtcclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gZXhlY3V0ZSB3aGVuIGEgY29ubmVjdGlvbiBlcnJvciBvY2N1cnMuXHJcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gYSBQcm9taXNlIG9yIGFueSB2YWx1ZS5cclxuICAgICAqL1xyXG4gICAgY2FsbGJhY2s/OiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBQcm9taXNlPHZvaWQ+IHwgYW55O1xyXG4gICAgLyoqXHJcbiAgICAgKiBJZiB0cnVlLCB0aGUgcmVxdWVzdCB3aWxsIGJsb2NrIHRoZSBzY3JlZW4gd2l0aCBvdmVybGF5IG9uIGNvbm5lY3Rpb24gZXJyb3JzLlxyXG4gICAgICogRGVmYXVsdCBpcyBmYWxzZS5cclxuICAgICAqL1xyXG4gICAgYmxvY2tTY3JlZW4/OiBib29sZWFuO1xyXG5cclxuICAgIC8qKiBPcHRpb25hbCB6LWluZGV4IGZvciB0aGUgYmxvY2sgc2NyZWVuIG92ZXJsYXkuXHJcbiAgICAgKiBEZWZhdWx0IGlzIDEwMDAwLlxyXG4gICAgICovXHJcbiAgICBibG9ja1NjcmVlblpJbmRleD86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE9wdGlvbmFsIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIGEgY29ubmVjdGlvbiBlcnJvciBvY2N1cnMuXHJcbiAgICAgKi9cclxuICAgIG1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgICBzdWdnZXN0aW9uTWVzc2FnZT86IHN0cmluZztcclxufVxyXG5cclxuaW50ZXJmYWNlIElSZXRyeU9wdGlvbnMge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICAgKiBNYXhpbXVtIG51bWJlciBvZiByZXRyaWVzIGZvciBhIGZhaWxlZCByZXF1ZXN0LlxyXG4gICAgICAgKiBEZWZhdWx0IGlzIDEwMC5cclxuICAgICAgICovXHJcbiAgICBtYXhSZXRyaWVzPzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVsYXkgaW4gbWlsbGlzZWNvbmRzIGJlZm9yZSByZXRyeWluZyBhIGZhaWxlZCByZXF1ZXN0LlxyXG4gICAgICogRGVmYXVsdCBpcyA1MDBtcy5cclxuICAgICAqL1xyXG4gICAgZGVsYXk/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgYSByZXF1ZXN0IHNob3VsZCBiZSByZXRyaWVkIGJhc2VkIG9uIHRoZSBlcnJvci5cclxuICAgICAqIElmIG5vdCBwcm92aWRlZCwgdGhlIGRlZmF1bHQgZnVuY3Rpb24gd2lsbCByZXRyeSBmb3IgbmV0d29yayBlcnJvcnMgYW5kIHNlcnZlciBlcnJvcnMgKHN0YXR1cyA1MDAtNTk5KS5cclxuICAgICAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvciBvYmplY3QgZnJvbSB0aGUgZmFpbGVkIHJlcXVlc3QuXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSByZXF1ZXN0IHNob3VsZCBiZSByZXRyaWVkLCBmYWxzZSBvdGhlcndpc2UuXHJcbiAgICAgKi9cclxuICAgIHJldHJ5RnVuY3Rpb24/OiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBQcm9taXNlPGJvb2xlYW4+IHwgYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gZXhlY3V0ZSB3aGVuIGEgY29ubmVjdGlvbiBlcnJvciBvY2N1cnMuXHJcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gYSBQcm9taXNlIG9yIGFueSB2YWx1ZS5cclxuICAgICAqL1xyXG4gICAgb25Db25uZWN0aW9uRXJyb3I/OiBJT25Db25uZWN0aW9uRXJyb3I7XHJcblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElMb2NhbGl6ZUFwaUNvbmZpZ3Mge1xyXG4gICAgb25QcmVwYXJlUmVxdWVzdD86ICgpID0+IFByb21pc2U8dm9pZD4gfCBhbnk7XHJcbiAgICBvbkF1dG9Mb2dvdXQ/OiAoKSA9PiBQcm9taXNlPHZvaWQ+IHwgYW55O1xyXG4gICAgb25SZXZva2VVbmF1dGhvcml6ZWQ/OiAoKSA9PiBQcm9taXNlPHZvaWQ+IHwgYW55O1xyXG4gICAgb25SZXNwb25zZUJvZHlJbnZhbGlkPzogKGJvZHk6IGFueSkgPT4gdm9pZDtcclxuICAgIHdhaXRFYWNoUmVxdWVzdD86IHtcclxuICAgICAgICBtaWxsaXNlY29uZHM6IG51bWJlcjtcclxuICAgIH07XHJcbiAgICBlbmFibGVSZXF1ZXN0Q2FuY2VsbGF0aW9uPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbmZpZyBmb3IgcmV0cnlpbmcgZmFpbGVkIHJlcXVlc3RzLlxyXG4gICAgICogSWYgbm90IHByb3ZpZGVkLCB0aGUgZGVmYXVsdCByZXRyeSBvcHRpb25zIHdpbGwgYmUgdXNlZC5cclxuICAgICAqL1xyXG4gICAgcmV0cnlPcHRpb25zPzogSVJldHJ5T3B0aW9ucztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQXBpT3B0aW9ucyB7XHJcbiAgICBoZWFkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIG1ldGhvZDogRU1ldGhvZDtcclxuICAgIHJlcXVlc3RVcmw6IHN0cmluZztcclxuICAgIHJlcXVlc3RCb2R5PzogYW55O1xyXG4gICAgaXNGb3JtRGF0YT86IGJvb2xlYW47XHJcbiAgICAvKipcclxuICAgICAqIElmIHRydWUsIHRoZSByZXF1ZXN0IHdpbGwgdXNlIHRoZSByZWZyZXNoIHRva2VuIGZvciBhdXRob3JpemF0aW9uLlxyXG4gICAgICovXHJcbiAgICByZWZyZXNoVG9rZW4/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXIge1xyXG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xyXG59XHJcblxyXG4vLyBleHBvcnQgaW50ZXJmYWNlIElOb3JtYWxpemVkRXJyb3Ige1xyXG4vLyAgICAgZXJyb3I6IGFueTtcclxuLy8gICAgIGNvZGU6IHN0cmluZztcclxuLy8gICAgIG1lc3NhZ2U6IHN0cmluZztcclxuLy8gICAgIGRldGFpbHM/OiBhbnk7XHJcbi8vICAgICBzdGF0dXM6IG51bWJlcjtcclxuLy8gfVxyXG4iXX0=
@@ -17,4 +17,4 @@ export const LOCALIZE_API_ASSETS = {
17
17
  </svg>`
18
18
  }
19
19
  };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUuYXBpLmFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9sb2NhbGl6ZS10b2tlbi9oZWxwZXJzL2xvY2FsaXplLmFwaS5hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDL0IsT0FBTyxFQUFFO1FBQ0wsWUFBWSxFQUFFOzs7Ozs7Ozs7Ozs7OzttQkFjSDtLQUNkO0NBQ0osQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBMT0NBTElaRV9BUElfQVNTRVRTID0ge1xyXG4gICAgbmV0d29yazoge1xyXG4gICAgICAgIG5vQ29ubmVjdGlvbjogYDw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCI/PlxyXG4gICAgICAgICAgICA8c3ZnIGlkPVwibHplLW5vLWNvbm5lY3Rpb25cIiBkYXRhLW5hbWU9XCJMYXllciAyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzcuMjkgNzAuOThcIj5cclxuICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICA8c3R5bGU+IC5jbHMtMSB7IGZpbGw6ICNmZmY7IH0gLmNscy0yLCAuY2xzLTMgeyBmaWxsOiAjZTMwNjEzOyB9IC5jbHMtMyB7IHN0cm9rZTogI2UzMDYxMzsgc3Ryb2tlLW1pdGVybGltaXQ6IDEwOyBzdHJva2Utd2lkdGg6IC4yNXB4OyB9IDwvc3R5bGU+XHJcbiAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgPGcgaWQ9XCJMYXllcl8zXCIgZGF0YS1uYW1lPVwiTGF5ZXIgM1wiPlxyXG4gICAgICAgICAgICAgICAgPGc+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNscy0xXCIgZD1cIm03My4yOSwzNWMtMS4yLDAtMi4zMy0uNTMtMy4wOS0xLjQ2LS40OC0uNTctMTEuMjMtMTMuMi0zMS41NS0xMy4ycy0zMS4xMSwxMi42Ni0zMS41NiwxMy4yYy0xLjQsMS43MS0zLjkyLDEuOTUtNS42My41NS0xLjcxLTEuNC0xLjk1LTMuOTItLjU1LTUuNjMuNTQtLjY2LDEzLjQ3LTE2LjEyLDM3Ljc0LTE2LjEyczM3LjIsMTUuNDYsMzcuNzQsMTYuMTJjMS40LDEuNzEsMS4xNSw0LjIzLS41Niw1LjYyLS43MS41OC0xLjYxLjktMi41My45WlwiLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPVwiY2xzLTFcIiBkPVwibTYzLjk2LDQ1LjY2Yy0xLjE5LDAtMi4zMi0uNTMtMy4wOC0xLjQ0LTUuNzktNi4wNS0xMy44Ni05LjM5LTIyLjI0LTkuMjEtOC4zOC0uMTgtMTYuNDUsMy4xNi0yMi4yNCw5LjIyLTEuNDYsMS42NS0zLjk5LDEuODEtNS42NC4zNS0xLjU3LTEuMzktMS44LTMuNzctLjUyLTUuNDMsNy4zMi03Ljg5LDE3LjY0LTEyLjI5LDI4LjQtMTIuMTIsMTAuNzYtLjE3LDIxLjA4LDQuMjQsMjguNCwxMi4xMiwxLjQsMS43MSwxLjE1LDQuMjMtLjU2LDUuNjItLjcxLjU4LTEuNi45LTIuNTMuOVpcIi8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNscy0xXCIgZD1cIm01My4zLDU2LjMyYy0xLjI0LDAtMi40MS0uNTctMy4xNi0xLjU1LTUuNzMtNi4zNS0xNS41Mi02Ljg1LTIxLjg3LTEuMTMtLjQuMzYtLjc3LjczLTEuMTMsMS4xMy0xLjM2LDEuNzMtMy44OCwyLjAzLTUuNjEuNjctMS43MS0xLjM0LTIuMDMtMy44LS43My01LjU0LDguMzktOS44NSwyMy4xOC0xMS4wNCwzMy4wMy0yLjY1Ljk1LjgxLDEuODQsMS42OSwyLjY1LDIuNjUsMS4zNCwxLjc1LDEsNC4yNi0uNzUsNS42LS43LjUzLTEuNTUuODItMi40My44MlpcIi8+XHJcbiAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNscy0yXCIgZD1cIm00Ny4yMSw5LjQ1bC00LjA2LDQxLjM2Yy0uNjQsNS40Mi04LjM5LDUuMzktOS4wMSwwLDAsMC00LjA2LTQxLjM2LTQuMDYtNDEuMzYtLjQ2LTQuNzMsMi45OS04Ljk0LDcuNzItOS40LDUuMzMtLjU4LDkuOTcsNC4wOSw5LjQsOS40aDBaXCIvPlxyXG4gICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNscy0zXCIgY3g9XCIzOC42NFwiIGN5PVwiNjQuNzlcIiByPVwiNi4wN1wiLz5cclxuICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICA8L3N2Zz5gXHJcbiAgICB9XHJcbn0iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUuYXBpLmFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0FOR1VMQVIvTElCUkFSSUVTL2xvY2FsaXplLnRva2VuLjEyLjEuMC9kZXYvc3JjL2xvY2FsaXplLXRva2VuL2hlbHBlcnMvbG9jYWxpemUuYXBpLmFzc2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUMvQixPQUFPLEVBQUU7UUFDTCxZQUFZLEVBQUU7Ozs7Ozs7Ozs7Ozs7O21CQWNIO0tBQ2Q7Q0FDSixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IExPQ0FMSVpFX0FQSV9BU1NFVFMgPSB7XHJcbiAgICBuZXR3b3JrOiB7XHJcbiAgICAgICAgbm9Db25uZWN0aW9uOiBgPD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIj8+XHJcbiAgICAgICAgICAgIDxzdmcgaWQ9XCJsemUtbm8tY29ubmVjdGlvblwiIGRhdGEtbmFtZT1cIkxheWVyIDJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA3Ny4yOSA3MC45OFwiPlxyXG4gICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgIDxzdHlsZT4gLmNscy0xIHsgZmlsbDogI2ZmZjsgfSAuY2xzLTIsIC5jbHMtMyB7IGZpbGw6ICNlMzA2MTM7IH0gLmNscy0zIHsgc3Ryb2tlOiAjZTMwNjEzOyBzdHJva2UtbWl0ZXJsaW1pdDogMTA7IHN0cm9rZS13aWR0aDogLjI1cHg7IH0gPC9zdHlsZT5cclxuICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICA8ZyBpZD1cIkxheWVyXzNcIiBkYXRhLW5hbWU9XCJMYXllciAzXCI+XHJcbiAgICAgICAgICAgICAgICA8Zz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPVwiY2xzLTFcIiBkPVwibTczLjI5LDM1Yy0xLjIsMC0yLjMzLS41My0zLjA5LTEuNDYtLjQ4LS41Ny0xMS4yMy0xMy4yLTMxLjU1LTEzLjJzLTMxLjExLDEyLjY2LTMxLjU2LDEzLjJjLTEuNCwxLjcxLTMuOTIsMS45NS01LjYzLjU1LTEuNzEtMS40LTEuOTUtMy45Mi0uNTUtNS42My41NC0uNjYsMTMuNDctMTYuMTIsMzcuNzQtMTYuMTJzMzcuMiwxNS40NiwzNy43NCwxNi4xMmMxLjQsMS43MSwxLjE1LDQuMjMtLjU2LDUuNjItLjcxLjU4LTEuNjEuOS0yLjUzLjlaXCIvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9XCJjbHMtMVwiIGQ9XCJtNjMuOTYsNDUuNjZjLTEuMTksMC0yLjMyLS41My0zLjA4LTEuNDQtNS43OS02LjA1LTEzLjg2LTkuMzktMjIuMjQtOS4yMS04LjM4LS4xOC0xNi40NSwzLjE2LTIyLjI0LDkuMjItMS40NiwxLjY1LTMuOTksMS44MS01LjY0LjM1LTEuNTctMS4zOS0xLjgtMy43Ny0uNTItNS40Myw3LjMyLTcuODksMTcuNjQtMTIuMjksMjguNC0xMi4xMiwxMC43Ni0uMTcsMjEuMDgsNC4yNCwyOC40LDEyLjEyLDEuNCwxLjcxLDEuMTUsNC4yMy0uNTYsNS42Mi0uNzEuNTgtMS42LjktMi41My45WlwiLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPVwiY2xzLTFcIiBkPVwibTUzLjMsNTYuMzJjLTEuMjQsMC0yLjQxLS41Ny0zLjE2LTEuNTUtNS43My02LjM1LTE1LjUyLTYuODUtMjEuODctMS4xMy0uNC4zNi0uNzcuNzMtMS4xMywxLjEzLTEuMzYsMS43My0zLjg4LDIuMDMtNS42MS42Ny0xLjcxLTEuMzQtMi4wMy0zLjgtLjczLTUuNTQsOC4zOS05Ljg1LDIzLjE4LTExLjA0LDMzLjAzLTIuNjUuOTUuODEsMS44NCwxLjY5LDIuNjUsMi42NSwxLjM0LDEuNzUsMSw0LjI2LS43NSw1LjYtLjcuNTMtMS41NS44Mi0yLjQzLjgyWlwiLz5cclxuICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPVwiY2xzLTJcIiBkPVwibTQ3LjIxLDkuNDVsLTQuMDYsNDEuMzZjLS42NCw1LjQyLTguMzksNS4zOS05LjAxLDAsMCwwLTQuMDYtNDEuMzYtNC4wNi00MS4zNi0uNDYtNC43MywyLjk5LTguOTQsNy43Mi05LjQsNS4zMy0uNTgsOS45Nyw0LjA5LDkuNCw5LjRoMFpcIi8+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPVwiY2xzLTNcIiBjeD1cIjM4LjY0XCIgY3k9XCI2NC43OVwiIHI9XCI2LjA3XCIvPlxyXG4gICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgIDwvc3ZnPmBcclxuICAgIH1cclxufSJdfQ==
@@ -46,7 +46,7 @@ class LocalizeApiHelper {
46
46
  yield waitFor(options.delay);
47
47
  }
48
48
  }
49
- console.warn(`Failed after ${options.maxRetries} attempts`);
49
+ console.warn(`Failed after ${options.maxRetries()} attempts`);
50
50
  throw lastError;
51
51
  });
52
52
  }
@@ -264,4 +264,4 @@ function extractJsonFromResponse(body, onError) {
264
264
  return body;
265
265
  }
266
266
  export const ApiHelper = new LocalizeApiHelper();
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jY2FsaXplLmFwaS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbG9jYWxpemUtdG9rZW4vaGVscGVycy9sb2NjYWxpemUuYXBpLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFXLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFnQjVELE1BQU0saUJBQWlCO0lBQXZCO1FBRWEsd0JBQW1CLEdBQTJCO1lBQ25ELGVBQWUsRUFBRTtnQkFDYixPQUFPLEVBQUUsd0NBQXdDO2dCQUNqRCxXQUFXLEVBQUUsSUFBSTtnQkFDakIsaUJBQWlCLEVBQUUsS0FBSzthQUMzQjtTQUNKLENBQUM7SUFvUk4sQ0FBQztJQWxSUyxZQUFZLENBQVUsT0FBc0I7O1lBQzlDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztZQUNqQixJQUFJLFNBQWMsQ0FBQztZQUNuQixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7WUFFckIsb0RBQW9EO1lBQ3BELE9BQU8sbUNBQVEsSUFBSSxDQUFDLG1CQUFtQixHQUFLLE9BQU8sQ0FBRSxDQUFBO1lBRXJELElBQUksWUFBMEMsQ0FBQztZQUUvQyxPQUFPLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQ3BDLElBQUk7b0JBQ0EsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ2pDLE9BQU8sTUFBTSxDQUFDO2lCQUVqQjtnQkFBQyxPQUFPLEtBQVUsRUFBRTtvQkFDakIsU0FBUyxHQUFHLEtBQUssQ0FBQztv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Q0FBQyxFQUFFO1lBQ25CLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUMsSUFBSTtnQkFDQSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDakM7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUiwyQ0FBMkM7Z0JBQzNDLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDaEIsT0FBTyxJQUFJLENBQUM7YUFDZjtTQUNKO0tBQ0o7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJQXBpT3B0aW9ucywgSUxvY2FsaXplQXBpQ29uZmlncywgSU9uQ29ubmVjdGlvbkVycm9yIH0gZnJvbSBcIi4vaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGNhdGNoRXJyb3IsIHRocm93RXJyb3IsIFN1YmplY3QsIG1hcCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHdhaXRGb3IgfSBmcm9tIFwiLi4vbG9jYWxpemUudG9rZW5cIjtcclxuaW1wb3J0IHsgTE9DQUxJWkVfQVBJX0FTU0VUUyB9IGZyb20gXCIuL2xvY2FsaXplLmFwaS5hc3NldHNcIjtcclxuXHJcbmludGVyZmFjZSBJUmVxdWVzdEluc3RhbmNlIHtcclxuICAgIGNsaWVudDogSHR0cENsaWVudDtcclxuICAgIGRlc3Ryb3kkOiAoKSA9PiBTdWJqZWN0PHZvaWQ+O1xyXG59XHJcblxyXG5pbnRlcmZhY2UgSVJldHJ5T3B0aW9ucyB7XHJcbiAgICBtYXhSZXRyaWVzOiAoKSA9PiBudW1iZXI7XHJcbiAgICBkZWxheTogbnVtYmVyO1xyXG4gICAgY2FsbGJhY2s6ICgpID0+IFByb21pc2U8YW55PiB8IGFueTtcclxuICAgIHJldHJ5VW5sZXNzPzogKGVycm9yOiBhbnkpID0+IGJvb2xlYW47XHJcbiAgICBvbkVycm9yPzogKGVycm9yOiBhbnkpID0+IFByb21pc2U8dm9pZD4gfCBhbnk7XHJcbiAgICBjb25uZWN0aW9uRXJyb3I/OiBJT25Db25uZWN0aW9uRXJyb3JcclxufVxyXG5cclxuY2xhc3MgTG9jYWxpemVBcGlIZWxwZXIge1xyXG5cclxuICAgIHJlYWRvbmx5IGRlZmF1bHRSZXRyeU9wdGlvbnM6IFBhcnRpYWw8SVJldHJ5T3B0aW9ucz4gPSB7XHJcbiAgICAgICAgY29ubmVjdGlvbkVycm9yOiB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdDb25uZWN0aW9uIGVycm9yIG9jY3VycmVkLiBQbGVhc2Ugd2FpdCcsXHJcbiAgICAgICAgICAgIGJsb2NrU2NyZWVuOiB0cnVlLFxyXG4gICAgICAgICAgICBibG9ja1NjcmVlblpJbmRleDogMTAwMDBcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIGFzeW5jIHBlcmZvcm1SZXRyeTxUID0gYW55PihvcHRpb25zOiBJUmV0cnlPcHRpb25zKTogUHJvbWlzZTxUPiB7XHJcbiAgICAgICAgbGV0IGF0dGVtcHRzID0gMDtcclxuICAgICAgICBsZXQgbGFzdEVycm9yOiBhbnk7XHJcbiAgICAgICAgbGV0IGNvbnNvbGVDb3VudCA9IDA7XHJcblxyXG4gICAgICAgIC8vIE1lcmdlIGRlZmF1bHQgcmV0cnkgb3B0aW9ucyB3aXRoIHByb3ZpZGVkIG9wdGlvbnNcclxuICAgICAgICBvcHRpb25zID0geyAuLi50aGlzLmRlZmF1bHRSZXRyeU9wdGlvbnMsIC4uLm9wdGlvbnMgfVxyXG5cclxuICAgICAgICBsZXQgc3R5bGVFbGVtZW50OiBIVE1MU3R5bGVFbGVtZW50IHwgdW5kZWZpbmVkO1xyXG5cclxuICAgICAgICB3aGlsZSAoYXR0ZW1wdHMgPCBvcHRpb25zLm1heFJldHJpZXMoKSkge1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgb3B0aW9ucy5jYWxsYmFjaygpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVCbG9ja2VyKHN0eWxlRWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG5cclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgbGFzdEVycm9yID0gZXJyb3I7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGNvbnNvbGVDb3VudCA+PSA3KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5jbGVhcigpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGVDb3VudCA9IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMucmV0cnlVbmxlc3MgJiYgIW9wdGlvbnMucmV0cnlVbmxlc3MoZXJyb3IpKVxyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycm9yOyAvLyBJZiB0aGUgZXJyb3Igc2hvdWxkIG5vdCBiZSByZXRyaWVkLCByZXRocm93IGl0XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gSGFuZGxlIGNvbm5lY3Rpb24gZXJyb3JcclxuICAgICAgICAgICAgICAgIHN0eWxlRWxlbWVudCA9IGF3YWl0IHRoaXMub25Db25uZWN0aW9uRXJyb3Iob3B0aW9ucywgZXJyb3IpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm9uRXJyb3IpXHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5pbnZva2VIb29rKG9wdGlvbnMub25FcnJvci5iaW5kKHRoaXMsIGVycm9yKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGF0dGVtcHRzID49IG9wdGlvbnMubWF4UmV0cmllcygpIC0gMSlcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcclxuXHJcbiAgICAgICAgICAgICAgICBhdHRlbXB0cysrO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZUNvdW50Kys7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYEF0dGVtcHQgJHthdHRlbXB0c30gZmFpbGVkLiBSZXRyeWluZy4uLmAsIGVycm9yKTtcclxuICAgICAgICAgICAgICAgIGF3YWl0IHdhaXRGb3Iob3B0aW9ucy5kZWxheSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnNvbGUud2FybihgRmFpbGVkIGFmdGVyICR7b3B0aW9ucy5tYXhSZXRyaWVzfSBhdHRlbXB0c2ApO1xyXG4gICAgICAgIHRocm93IGxhc3RFcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBwZXJmb3JtUmVxdWVzdFdpdGhSZXRyeTxUID0gYW55PihcclxuICAgICAgICBvcHRpb25zOiBJQXBpT3B0aW9ucyxcclxuICAgICAgICBjb25maWc6IElMb2NhbGl6ZUFwaUNvbmZpZ3MsXHJcbiAgICAgICAgcGVyZm9ybVJlcXVlc3Q6IDxUID0gYW55PihvcHRpb25zOiBJQXBpT3B0aW9ucykgPT4gUHJvbWlzZTxUPlxyXG4gICAgKTogUHJvbWlzZTxUPiB7XHJcblxyXG4gICAgICAgIGNvbnN0IHJldHJ5VW5sZXNzID0gY29uZmlnLnJldHJ5T3B0aW9ucz8ucmV0cnlGdW5jdGlvblxyXG4gICAgICAgICAgICB8fCB0aGlzLmlzQ29ubmVjdGlvbkVycm9yO1xyXG5cclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wZXJmb3JtUmV0cnkoe1xyXG4gICAgICAgICAgICBjb25uZWN0aW9uRXJyb3I6IGNvbmZpZy5yZXRyeU9wdGlvbnM/Lm9uQ29ubmVjdGlvbkVycm9yLFxyXG4gICAgICAgICAgICBtYXhSZXRyaWVzOiAoKSA9PiBjb25maWcucmV0cnlPcHRpb25zPy5tYXhSZXRyaWVzID8/IDEwMDAsXHJcbiAgICAgICAgICAgIGRlbGF5OiBjb25maWcucmV0cnlPcHRpb25zPy5kZWxheSA/PyA1MDAsXHJcbiAgICAgICAgICAgIGNhbGxiYWNrOiAoKSA9PiBwZXJmb3JtUmVxdWVzdDxUPihvcHRpb25zKSxcclxuICAgICAgICAgICAgcmV0cnlVbmxlc3M6IHJldHJ5VW5sZXNzLFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgYnVpbGRVcmwoYmFzZVVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRVcmwgPSBgJHtiYXNlVXJsLnRyaW0oKS5yZXBsYWNlKC9cXC8/JC8sICcvJyl9JHtwYXRoLnRyaW0oKS5yZXBsYWNlKC9eXFwvLywgJycpfWA7XHJcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWRVcmwuZW5kc1dpdGgoJy8nKVxyXG4gICAgICAgICAgICA/IG5vcm1hbGl6ZWRVcmwuc2xpY2UoMCwgLTEpXHJcbiAgICAgICAgICAgIDogbm9ybWFsaXplZFVybDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBpbnZva2VIb29rKGNhbGxiYWNrPzogKCkgPT4gUHJvbWlzZTxhbnk+IHwgYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBpZiAoIWNhbGxiYWNrKSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGNhbGxiYWNrKCk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgICAgICAgYXdhaXQgcmVzdWx0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVSZXF1ZXN0PFQgPSBhbnk+KFxyXG4gICAgICAgIGluc3RhbmNlOiBSZXF1aXJlZDxJUmVxdWVzdEluc3RhbmNlPixcclxuICAgICAgICBtZXRob2Q6IHN0cmluZyxcclxuICAgICAgICB1cmw6IHN0cmluZyxcclxuICAgICAgICBib2R5OiBhbnksXHJcbiAgICAgICAgb3B0aW9uczogeyBoZWFkZXJzOiBIdHRwSGVhZGVycyB9LFxyXG4gICAgICAgIG9uSW52YWxpZFJlc3BvbnNlQm9keT86IChib2R5OiBhbnkpID0+IHZvaWRcclxuICAgICkge1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3QkID0gaW5zdGFuY2UuY2xpZW50LnJlcXVlc3Q8VD4obWV0aG9kLCB1cmwsIHtcclxuICAgICAgICAgICAgLi4ub3B0aW9ucyxcclxuICAgICAgICAgICAgYm9keSxcclxuICAgICAgICB9KS5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwoaW5zdGFuY2UuZGVzdHJveSQoKSksXHJcbiAgICAgICAgICAgIG1hcCgoYm9keSkgPT4gZXh0cmFjdEpzb25Gcm9tUmVzcG9uc2UoYm9keSwgb25JbnZhbGlkUmVzcG9uc2VCb2R5KSksXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gQ29udmVydCB0byBhIG5vbi1vYnNlcnZhYmxlIGVycm9yIHRvIGhhbmRsZSBpbiB0aGUgcHJvbWlzZVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJldHVybiByZXF1ZXN0JDtcclxuICAgIH1cclxuXHJcbiAgICBkZWZhdWx0UmV0cnlGdW5jdGlvbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcclxuXHJcbiAgICAgICAgLy8gRG9uJ3QgcmV0cnkgZm9yIG90aGVyIGVycm9ycyAobGlrZSA0MDAsIDQwMSwgNDAzLCBldGMuKVxyXG4gICAgICAgIGlmICghdGhpcy5pc0Nvbm5lY3Rpb25FcnJvcihlcnJvcikpXHJcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpc0Nvbm5lY3Rpb25FcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBpc05ldHdvcmtFcnJvciA9IGVycm9yLnN0YXR1cyA9PT0gMDtcclxuICAgICAgICBjb25zdCBpc1NlcnZlckVycm9yID0gZXJyb3Iuc3RhdHVzID49IDEwMDAgJiYgZXJyb3Iuc3RhdHVzIDwgNjAwO1xyXG4gICAgICAgIHJldHVybiBpc05ldHdvcmtFcnJvciB8fCBpc1NlcnZlckVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG9uQ29ubmVjdGlvbkVycm9yKFxyXG4gICAgICAgIG9wdGlvbnM6IElSZXRyeU9wdGlvbnMsXHJcbiAgICAgICAgZXJyb3I6IGFueVxyXG4gICAgKTogUHJvbWlzZTxQcm9taXNlPHZvaWQ+IHwgYW55PiB7XHJcblxyXG4gICAgICAgIGlmICghb3B0aW9ucy5jb25uZWN0aW9uRXJyb3IpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgbGV0IHN0eWxlRWxlbWVudDogSFRNTFN0eWxlRWxlbWVudCB8IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodGhpcy5pc0Nvbm5lY3Rpb25FcnJvcihlcnJvcikpIHtcclxuXHJcbiAgICAgICAgICAgIHN0eWxlRWxlbWVudCA9IHRoaXMuc2NyZWVuQmxvY2tlcihvcHRpb25zLCBlcnJvciwgdHJ1ZSk7XHJcblxyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmludm9rZUhvb2sob3B0aW9ucy5jb25uZWN0aW9uRXJyb3IuY2FsbGJhY2s/LmJpbmQodGhpcywgZXJyb3IpKTtcclxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlRWxlbWVudDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNjcmVlbkJsb2NrZXIob3B0aW9ucywgZXJyb3IsIGZhbHNlKTtcclxuICAgICAgICAgICAgc3R5bGVFbGVtZW50Py5yZW1vdmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2NyZWVuQmxvY2tlcihvcHRvbnM6IElSZXRyeU9wdGlvbnMsXHJcbiAgICAgICAgZXJyb3I/OiBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgICAgICBhZGQ6IGJvb2xlYW4gPSB0cnVlKTogSFRNTFN0eWxlRWxlbWVudCB8IHVuZGVmaW5lZCB7XHJcblxyXG4gICAgICAgIGlmICghb3B0b25zLmNvbm5lY3Rpb25FcnJvcj8uYmxvY2tTY3JlZW4pXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IG9wdG9ucy5jb25uZWN0aW9uRXJyb3I/Lm1lc3NhZ2VcclxuICAgICAgICAgICAgfHwgJ0Nvbm5lY3Rpb24gZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSB3YWl0JztcclxuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvcj8uZXJyb3I/Lm1lc3NhZ2UgfHwgJ0FuIGVycm9yIG9jY3VycmVkJztcclxuICAgICAgICBjb25zdCBzdWdnZXN0aW5NZXNzYWdlID0gb3B0b25zLmNvbm5lY3Rpb25FcnJvcj8uc3VnZ2VzdGlvbk1lc3NhZ2VcclxuICAgICAgICAgICAgfHwgJ1BsZWFzZSBjaGVjayB5b3VyIGludGVybmV0IGNvbm5lY3Rpb24gb3IgdGhlIHNlcnZlciBzdGF0dXMuJztcclxuXHJcbiAgICAgICAgY29uc3QgekluZGV4ID0gb3B0b25zLmNvbm5lY3Rpb25FcnJvcj8uYmxvY2tTY3JlZW5aSW5kZXggfHwgMTAwMDA7XHJcblxyXG4gICAgICAgIGNvbnN0IGJvZHkgPSBkb2N1bWVudC5ib2R5O1xyXG4gICAgICAgIGNvbnN0IGJsY29rZXJIdG1sID0gYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsemUtYmxvY2tlclwiPlxyXG4gICAgICAgICAgICAke0xPQ0FMSVpFX0FQSV9BU1NFVFMubmV0d29yay5ub0Nvbm5lY3Rpb259XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsemUtYmxvY2tlcl9fbWVzc2FnZVwiPlxyXG4gICAgICAgICAgICAgICAgJHttZXNzYWdlfVxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsemUtYmxvY2tlcl9fZG90dGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibHplLWJsb2NrZXJfX2RvdFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImx6ZS1ibG9ja2VyX19kb3RcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsemUtYmxvY2tlcl9fZG90XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImx6ZS1ibG9ja2VyX19lcnJvclwiPiR7ZXJyb3JNZXNzYWdlfTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibHplLWJsb2NrZXJfX2Vycm9yX3N1Z2dlc3Rpb25cIj4ke3N1Z2dlc3Rpbk1lc3NhZ2V9PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgYDtcclxuICAgICAgICBjb25zdCBzdHlsZSA9IGBcclxuICAgICAgICBkaXYubHplLWJsb2NrZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAke3pJbmRleH07XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcjbHplLW5vLWNvbm5lY3Rpb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogNzVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBkaXYubHplLWJsb2NrZXJfX21lc3NhZ2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIC5semUtYmxvY2tlcl9fZG90dGluZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3Bhbi5semUtYmxvY2tlcl9fZG90IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogN3B4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDdweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBkb3R0aW5nIDFzIGluZmluaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubHplLWJsb2NrZXJfX2RvdDpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubHplLWJsb2NrZXJfX2RvdDpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5semUtYmxvY2tlcl9fZG90Om50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC40cztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBrZXlmcmFtZXMgZG90dGluZyB7XHJcbiAgICAgICAgICAgIDAlLCA4MCUsIDEwMCUgeyBvcGFjaXR5OiAwLjM7IH1cclxuICAgICAgICAgICAgNDAlIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGl2Lmx6ZS1ibG9ja2VyX19lcnJvciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxcHggI2ZmNWY1ZiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGl2Lmx6ZS1ibG9ja2VyX19lcnJvcl9zdWdnZXN0aW9uIHtcclxuICAgICAgICAgICAgY29sb3I6ICNjY2MgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIEBrZXlmcmFtZXMgc3BpbiB7XHJcbiAgICAgICAgICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYDtcclxuXHJcbiAgICAgICAgY29uc3Qgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcclxuXHJcbiAgICAgICAgaWYgKGFkZCkge1xyXG4gICAgICAgICAgICBpZiAoIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5semUtYmxvY2tlcicpKSB7XHJcbiAgICAgICAgICAgICAgICBzdHlsZUVsZW1lbnQuaW5uZXJIVE1MID0gc3R5bGU7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxlRWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICBib2R5Lmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywgYmxjb2tlckh0bWwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmVCbG9ja2VyKHN0eWxlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc3R5bGVFbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVtb3ZlQmxvY2tlcihzdHlsZUVsZW1lbnQ6IEhUTUxTdHlsZUVsZW1lbnQgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBibG9ja2VyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmx6ZS1ibG9ja2VyJyk7XHJcbiAgICAgICAgYmxvY2tlcj8ucmVtb3ZlKCk7XHJcbiAgICAgICAgc3R5bGVFbGVtZW50Py5yZW1vdmUoKTtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZXh0cmFjdEpzb25Gcm9tUmVzcG9uc2UoYm9keTogYW55LCBvbkVycm9yPzogKGJvZHk6IGFueSkgPT4gdm9pZCk6IGFueSB7XHJcbiAgICAvLyBJZiBhbHJlYWR5IGFuIG9iamVjdCwganVzdCByZXR1cm5cclxuICAgIGlmICh0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcgJiYgYm9keSAhPT0gbnVsbCkgcmV0dXJuIGJvZHk7XHJcblxyXG4gICAgLy8gSWYgaXQncyBhIHN0cmluZywgdHJ5IHRvIGV4dHJhY3QgSlNPTiBwb3J0aW9uXHJcbiAgICBpZiAodHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgY29uc3QgZmlyc3RCcmFjZSA9IGJvZHkuaW5kZXhPZigneycpO1xyXG4gICAgICAgIGlmIChmaXJzdEJyYWNlICE9PSAtMSkge1xyXG4gICAgICAgICAgICBjb25zdCBqc29uU3RyaW5nID0gYm9keS5zdWJzdHJpbmcoZmlyc3RCcmFjZSk7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgcGFyc2luZyBmYWlscywgcmV0dXJuIG9yaWdpbmFsIHN0cmluZ1xyXG4gICAgICAgICAgICAgICAgb25FcnJvcj8uKGJvZHkpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGJvZHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHJldHVybiBib2R5O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQXBpSGVscGVyID0gbmV3IExvY2FsaXplQXBpSGVscGVyKCk7Il19
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jY2FsaXplLmFwaS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9BTkdVTEFSL0xJQlJBUklFUy9sb2NhbGl6ZS50b2tlbi4xMi4xLjAvZGV2L3NyYy9sb2NhbGl6ZS10b2tlbi9oZWxwZXJzL2xvY2NhbGl6ZS5hcGkuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQVcsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWdCNUQsTUFBTSxpQkFBaUI7SUFBdkI7UUFFYSx3QkFBbUIsR0FBMkI7WUFDbkQsZUFBZSxFQUFFO2dCQUNiLE9BQU8sRUFBRSx3Q0FBd0M7Z0JBQ2pELFdBQVcsRUFBRSxJQUFJO2dCQUNqQixpQkFBaUIsRUFBRSxLQUFLO2FBQzNCO1NBQ0osQ0FBQztJQW9STixDQUFDO0lBbFJTLFlBQVksQ0FBVSxPQUFzQjs7WUFDOUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLElBQUksU0FBYyxDQUFDO1lBQ25CLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztZQUVyQixvREFBb0Q7WUFDcEQsT0FBTyxtQ0FBUSxJQUFJLENBQUMsbUJBQW1CLEdBQUssT0FBTyxDQUFFLENBQUE7WUFFckQsSUFBSSxZQUEwQyxDQUFDO1lBRS9DLE9BQU8sUUFBUSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDcEMsSUFBSTtvQkFDQSxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDakMsT0FBTyxNQUFNLENBQUM7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SUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQyxJQUFJLFVBQVUsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlDLElBQUk7Z0JBQ0EsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2pDO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsMkNBQTJDO2dCQUMzQyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7U0FDSjtLQUNKO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSUFwaU9wdGlvbnMsIElMb2NhbGl6ZUFwaUNvbmZpZ3MsIElPbkNvbm5lY3Rpb25FcnJvciB9IGZyb20gXCIuL2ludGVyZmFjZXNcIjtcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBjYXRjaEVycm9yLCB0aHJvd0Vycm9yLCBTdWJqZWN0LCBtYXAgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB3YWl0Rm9yIH0gZnJvbSBcIi4uL2xvY2FsaXplLnRva2VuXCI7XHJcbmltcG9ydCB7IExPQ0FMSVpFX0FQSV9BU1NFVFMgfSBmcm9tIFwiLi9sb2NhbGl6ZS5hcGkuYXNzZXRzXCI7XHJcblxyXG5pbnRlcmZhY2UgSVJlcXVlc3RJbnN0YW5jZSB7XHJcbiAgICBjbGllbnQ6IEh0dHBDbGllbnQ7XHJcbiAgICBkZXN0cm95JDogKCkgPT4gU3ViamVjdDx2b2lkPjtcclxufVxyXG5cclxuaW50ZXJmYWNlIElSZXRyeU9wdGlvbnMge1xyXG4gICAgbWF4UmV0cmllczogKCkgPT4gbnVtYmVyO1xyXG4gICAgZGVsYXk6IG51bWJlcjtcclxuICAgIGNhbGxiYWNrOiAoKSA9PiBQcm9taXNlPGFueT4gfCBhbnk7XHJcbiAgICByZXRyeVVubGVzcz86IChlcnJvcjogYW55KSA9PiBib29sZWFuO1xyXG4gICAgb25FcnJvcj86IChlcnJvcjogYW55KSA9PiBQcm9taXNlPHZvaWQ+IHwgYW55O1xyXG4gICAgY29ubmVjdGlvbkVycm9yPzogSU9uQ29ubmVjdGlvbkVycm9yXHJcbn1cclxuXHJcbmNsYXNzIExvY2FsaXplQXBpSGVscGVyIHtcclxuXHJcbiAgICByZWFkb25seSBkZWZhdWx0UmV0cnlPcHRpb25zOiBQYXJ0aWFsPElSZXRyeU9wdGlvbnM+ID0ge1xyXG4gICAgICAgIGNvbm5lY3Rpb25FcnJvcjoge1xyXG4gICAgICAgICAgICBtZXNzYWdlOiAnQ29ubmVjdGlvbiBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIHdhaXQnLFxyXG4gICAgICAgICAgICBibG9ja1NjcmVlbjogdHJ1ZSxcclxuICAgICAgICAgICAgYmxvY2tTY3JlZW5aSW5kZXg6IDEwMDAwXHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBhc3luYyBwZXJmb3JtUmV0cnk8VCA9IGFueT4ob3B0aW9uczogSVJldHJ5T3B0aW9ucyk6IFByb21pc2U8VD4ge1xyXG4gICAgICAgIGxldCBhdHRlbXB0cyA9IDA7XHJcbiAgICAgICAgbGV0IGxhc3RFcnJvcjogYW55O1xyXG4gICAgICAgIGxldCBjb25zb2xlQ291bnQgPSAwO1xyXG5cclxuICAgICAgICAvLyBNZXJnZSBkZWZhdWx0IHJldHJ5IG9wdGlvbnMgd2l0aCBwcm92aWRlZCBvcHRpb25zXHJcbiAgICAgICAgb3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0UmV0cnlPcHRpb25zLCAuLi5vcHRpb25zIH1cclxuXHJcbiAgICAgICAgbGV0IHN0eWxlRWxlbWVudDogSFRNTFN0eWxlRWxlbWVudCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICAgICAgd2hpbGUgKGF0dGVtcHRzIDwgb3B0aW9ucy5tYXhSZXRyaWVzKCkpIHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG9wdGlvbnMuY2FsbGJhY2soKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlQmxvY2tlcihzdHlsZUVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuXHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgIGxhc3RFcnJvciA9IGVycm9yO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChjb25zb2xlQ291bnQgPj0gNykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuY2xlYXIoKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlQ291bnQgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnJldHJ5VW5sZXNzICYmICFvcHRpb25zLnJldHJ5VW5sZXNzKGVycm9yKSlcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjsgLy8gSWYgdGhlIGVycm9yIHNob3VsZCBub3QgYmUgcmV0cmllZCwgcmV0aHJvdyBpdFxyXG5cclxuICAgICAgICAgICAgICAgIC8vIEhhbmRsZSBjb25uZWN0aW9uIGVycm9yXHJcbiAgICAgICAgICAgICAgICBzdHlsZUVsZW1lbnQgPSBhd2FpdCB0aGlzLm9uQ29ubmVjdGlvbkVycm9yKG9wdGlvbnMsIGVycm9yKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5vbkVycm9yKVxyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuaW52b2tlSG9vayhvcHRpb25zLm9uRXJyb3IuYmluZCh0aGlzLCBlcnJvcikpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChhdHRlbXB0cyA+PSBvcHRpb25zLm1heFJldHJpZXMoKSAtIDEpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XHJcblxyXG4gICAgICAgICAgICAgICAgYXR0ZW1wdHMrKztcclxuICAgICAgICAgICAgICAgIGNvbnNvbGVDb3VudCsrO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBBdHRlbXB0ICR7YXR0ZW1wdHN9IGZhaWxlZC4gUmV0cnlpbmcuLi5gLCBlcnJvcik7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKG9wdGlvbnMuZGVsYXkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zb2xlLndhcm4oYEZhaWxlZCBhZnRlciAke29wdGlvbnMubWF4UmV0cmllcygpfSBhdHRlbXB0c2ApO1xyXG4gICAgICAgIHRocm93IGxhc3RFcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBwZXJmb3JtUmVxdWVzdFdpdGhSZXRyeTxUID0gYW55PihcclxuICAgICAgICBvcHRpb25zOiBJQXBpT3B0aW9ucyxcclxuICAgICAgICBjb25maWc6IElMb2NhbGl6ZUFwaUNvbmZpZ3MsXHJcbiAgICAgICAgcGVyZm9ybVJlcXVlc3Q6IDxUID0gYW55PihvcHRpb25zOiBJQXBpT3B0aW9ucykgPT4gUHJvbWlzZTxUPlxyXG4gICAgKTogUHJvbWlzZTxUPiB7XHJcblxyXG4gICAgICAgIGNvbnN0IHJldHJ5VW5sZXNzID0gY29uZmlnLnJldHJ5T3B0aW9ucz8ucmV0cnlGdW5jdGlvblxyXG4gICAgICAgICAgICB8fCB0aGlzLmlzQ29ubmVjdGlvbkVycm9yO1xyXG5cclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wZXJmb3JtUmV0cnkoe1xyXG4gICAgICAgICAgICBjb25uZWN0aW9uRXJyb3I6IGNvbmZpZy5yZXRyeU9wdGlvbnM/Lm9uQ29ubmVjdGlvbkVycm9yLFxyXG4gICAgICAgICAgICBtYXhSZXRyaWVzOiAoKSA9PiBjb25maWcucmV0cnlPcHRpb25zPy5tYXhSZXRyaWVzID8/IDEwMDAsXHJcbiAgICAgICAgICAgIGRlbGF5OiBjb25maWcucmV0cnlPcHRpb25zPy5kZWxheSA/PyA1MDAsXHJcbiAgICAgICAgICAgIGNhbGxiYWNrOiAoKSA9PiBwZXJmb3JtUmVxdWVzdDxUPihvcHRpb25zKSxcclxuICAgICAgICAgICAgcmV0cnlVbmxlc3M6IHJldHJ5VW5sZXNzLFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgYnVpbGRVcmwoYmFzZVVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRVcmwgPSBgJHtiYXNlVXJsLnRyaW0oKS5yZXBsYWNlKC9cXC8/JC8sICcvJyl9JHtwYXRoLnRyaW0oKS5yZXBsYWNlKC9eXFwvLywgJycpfWA7XHJcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWRVcmwuZW5kc1dpdGgoJy8nKVxyXG4gICAgICAgICAgICA/IG5vcm1hbGl6ZWRVcmwuc2xpY2UoMCwgLTEpXHJcbiAgICAgICAgICAgIDogbm9ybWFsaXplZFVybDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBpbnZva2VIb29rKGNhbGxiYWNrPzogKCkgPT4gUHJvbWlzZTxhbnk+IHwgYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBpZiAoIWNhbGxiYWNrKSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGNhbGxiYWNrKCk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgICAgICAgYXdhaXQgcmVzdWx0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVSZXF1ZXN0PFQgPSBhbnk+KFxyXG4gICAgICAgIGluc3RhbmNlOiBSZXF1aXJlZDxJUmVxdWVzdEluc3RhbmNlPixcclxuICAgICAgICBtZXRob2Q6IHN0cmluZyxcclxuICAgICAgICB1cmw6IHN0cmluZyxcclxuICAgICAgICBib2R5OiBhbnksXHJcbiAgICAgICAgb3B0aW9uczogeyBoZWFkZXJzOiBIdHRwSGVhZGVycyB9LFxyXG4gICAgICAgIG9uSW52YWxpZFJlc3BvbnNlQm9keT86IChib2R5OiBhbnkpID0+IHZvaWRcclxuICAgICkge1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3QkID0gaW5zdGFuY2UuY2xpZW50LnJlcXVlc3Q8VD4obWV0aG9kLCB1cmwsIHtcclxuICAgICAgICAgICAgLi4ub3B0aW9ucyxcclxuICAgICAgICAgICAgYm9keSxcclxuICAgICAgICB9KS5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwoaW5zdGFuY2UuZGVzdHJveSQoKSksXHJcbiAgICAgICAgICAgIG1hcCgoYm9keSkgPT4gZXh0cmFjdEpzb25Gcm9tUmVzcG9uc2UoYm9keSwgb25JbnZhbGlkUmVzcG9uc2VCb2R5KSksXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gQ29udmVydCB0byBhIG5vbi1vYnNlcnZhYmxlIGVycm9yIHRvIGhhbmRsZSBpbiB0aGUgcHJvbWlzZVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJldHVybiByZXF1ZXN0JDtcclxuICAgIH1cclxuXHJcbiAgICBkZWZhdWx0UmV0cnlGdW5jdGlvbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcclxuXHJcbiAgICAgICAgLy8gRG9uJ3QgcmV0cnkgZm9yIG90aGVyIGVycm9ycyAobGlrZSA0MDAsIDQwMSwgNDAzLCBldGMuKVxyXG4gICAgICAgIGlmICghdGhpcy5pc0Nvbm5lY3Rpb25FcnJvcihlcnJvcikpXHJcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpc0Nvbm5lY3Rpb25FcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBpc05ldHdvcmtFcnJvciA9IGVycm9yLnN0YXR1cyA9PT0gMDtcclxuICAgICAgICBjb25zdCBpc1NlcnZlckVycm9yID0gZXJyb3Iuc3RhdHVzID49IDEwMDAgJiYgZXJyb3Iuc3RhdHVzIDwgNjAwO1xyXG4gICAgICAgIHJldHVybiBpc05ldHdvcmtFcnJvciB8fCBpc1NlcnZlckVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG9uQ29ubmVjdGlvbkVycm9yKFxyXG4gICAgICAgIG9wdGlvbnM6IElSZXRyeU9wdGlvbnMsXHJcbiAgICAgICAgZXJyb3I6IGFueVxyXG4gICAgKTogUHJvbWlzZTxQcm9taXNlPHZvaWQ+IHwgYW55PiB7XHJcblxyXG4gICAgICAgIGlmICghb3B0aW9ucy5jb25uZWN0aW9uRXJyb3IpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgbGV0IHN0eWxlRWxlbWVudDogSFRNTFN0eWxlRWxlbWVudCB8IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodGhpcy5pc0Nvbm5lY3Rpb25FcnJvcihlcnJvcikpIHtcclxuXHJcbiAgICAgICAgICAgIHN0eWxlRWxlbWVudCA9IHRoaXMuc2NyZWVuQmxvY2tlcihvcHRpb25zLCBlcnJvciwgdHJ1ZSk7XHJcblxyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmludm9rZUhvb2sob3B0aW9ucy5jb25uZWN0aW9uRXJyb3IuY2FsbGJhY2s/LmJpbmQodGhpcywgZXJyb3IpKTtcclxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlRWxlbWVudDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNjcmVlbkJsb2NrZXIob3B0aW9ucywgZXJyb3IsIGZhbHNlKTtcclxuICAgICAgICAgICAgc3R5bGVFbGVtZW50Py5yZW1vdmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2NyZWVuQmxvY2tlcihvcHRvbnM6IElSZXRyeU9wdGlvbnMsXHJcbiAgICAgICAgZXJyb3I/OiBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgICAgICBhZGQ6IGJvb2xlYW4gPSB0cnVlKTogSFRNTFN0eWxlRWxlbWVudCB8IHVuZGVmaW5lZCB7XHJcblxyXG4gICAgICAgIGlmICghb3B0b25zLmNvbm5lY3Rpb25FcnJvcj8uYmxvY2tTY3JlZW4pXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IG9wdG9ucy5jb25uZWN0aW9uRXJyb3I/Lm1lc3NhZ2VcclxuICAgICAgICAgICAgfHwgJ0Nvbm5lY3Rpb24gZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSB3YWl0JztcclxuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvcj8uZXJyb3I/Lm1lc3NhZ2UgfHwgJ0FuIGVycm9yIG9jY3VycmVkJztcclxuICAgICAgICBjb25zdCBzdWdnZXN0aW5NZXNzYWdlID0gb3B0b25zLmNvbm5lY3Rpb25FcnJvcj8uc3VnZ2VzdGlvbk1lc3NhZ2VcclxuICAgICAgICAgICAgfHwgJ1BsZWFzZSBjaGVjayB5b3VyIGludGVybmV0IGNvbm5lY3Rpb24gb3IgdGhlIHNlcnZlciBzdGF0dXMuJztcclxuXHJcbiAgICAgICAgY29uc3QgekluZGV4ID0gb3B0b25zLmNvbm5lY3Rpb25FcnJvcj8uYmxvY2tTY3JlZW5aSW5kZXggfHwgMTAwMDA7XHJcblxyXG4gICAgICAgIGNvbnN0IGJvZHkgPSBkb2N1bWVudC5ib2R5O1xyXG4gICAgICAgIGNvbnN0IGJsY29rZXJIdG1sID0gYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsemUtYmxvY2tlclwiPlxyXG4gICAgICAgICAgICAke0xPQ0FMSVpFX0FQSV9BU1NFVFMubmV0d29yay5ub0Nvbm5lY3Rpb259XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsemUtYmxvY2tlcl9fbWVzc2FnZVwiPlxyXG4gICAgICAgICAgICAgICAgJHttZXNzYWdlfVxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsemUtYmxvY2tlcl9fZG90dGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibHplLWJsb2NrZXJfX2RvdFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImx6ZS1ibG9ja2VyX19kb3RcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsemUtYmxvY2tlcl9fZG90XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImx6ZS1ibG9ja2VyX19lcnJvclwiPiR7ZXJyb3JNZXNzYWdlfTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibHplLWJsb2NrZXJfX2Vycm9yX3N1Z2dlc3Rpb25cIj4ke3N1Z2dlc3Rpbk1lc3NhZ2V9PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgYDtcclxuICAgICAgICBjb25zdCBzdHlsZSA9IGBcclxuICAgICAgICBkaXYubHplLWJsb2NrZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAke3pJbmRleH07XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcjbHplLW5vLWNvbm5lY3Rpb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogNzVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBkaXYubHplLWJsb2NrZXJfX21lc3NhZ2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIC5semUtYmxvY2tlcl9fZG90dGluZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3Bhbi5semUtYmxvY2tlcl9fZG90IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogN3B4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDdweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBkb3R0aW5nIDFzIGluZmluaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubHplLWJsb2NrZXJfX2RvdDpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubHplLWJsb2NrZXJfX2RvdDpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5semUtYmxvY2tlcl9fZG90Om50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC40cztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBrZXlmcmFtZXMgZG90dGluZyB7XHJcbiAgICAgICAgICAgIDAlLCA4MCUsIDEwMCUgeyBvcGFjaXR5OiAwLjM7IH1cclxuICAgICAgICAgICAgNDAlIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGl2Lmx6ZS1ibG9ja2VyX19lcnJvciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxcHggI2ZmNWY1ZiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGl2Lmx6ZS1ibG9ja2VyX19lcnJvcl9zdWdnZXN0aW9uIHtcclxuICAgICAgICAgICAgY29sb3I6ICNjY2MgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIEBrZXlmcmFtZXMgc3BpbiB7XHJcbiAgICAgICAgICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYDtcclxuXHJcbiAgICAgICAgY29uc3Qgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcclxuXHJcbiAgICAgICAgaWYgKGFkZCkge1xyXG4gICAgICAgICAgICBpZiAoIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5semUtYmxvY2tlcicpKSB7XHJcbiAgICAgICAgICAgICAgICBzdHlsZUVsZW1lbnQuaW5uZXJIVE1MID0gc3R5bGU7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxlRWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICBib2R5Lmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywgYmxjb2tlckh0bWwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmVCbG9ja2VyKHN0eWxlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc3R5bGVFbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVtb3ZlQmxvY2tlcihzdHlsZUVsZW1lbnQ6IEhUTUxTdHlsZUVsZW1lbnQgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBibG9ja2VyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmx6ZS1ibG9ja2VyJyk7XHJcbiAgICAgICAgYmxvY2tlcj8ucmVtb3ZlKCk7XHJcbiAgICAgICAgc3R5bGVFbGVtZW50Py5yZW1vdmUoKTtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZXh0cmFjdEpzb25Gcm9tUmVzcG9uc2UoYm9keTogYW55LCBvbkVycm9yPzogKGJvZHk6IGFueSkgPT4gdm9pZCk6IGFueSB7XHJcbiAgICAvLyBJZiBhbHJlYWR5IGFuIG9iamVjdCwganVzdCByZXR1cm5cclxuICAgIGlmICh0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcgJiYgYm9keSAhPT0gbnVsbCkgcmV0dXJuIGJvZHk7XHJcblxyXG4gICAgLy8gSWYgaXQncyBhIHN0cmluZywgdHJ5IHRvIGV4dHJhY3QgSlNPTiBwb3J0aW9uXHJcbiAgICBpZiAodHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgY29uc3QgZmlyc3RCcmFjZSA9IGJvZHkuaW5kZXhPZigneycpO1xyXG4gICAgICAgIGlmIChmaXJzdEJyYWNlICE9PSAtMSkge1xyXG4gICAgICAgICAgICBjb25zdCBqc29uU3RyaW5nID0gYm9keS5zdWJzdHJpbmcoZmlyc3RCcmFjZSk7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgcGFyc2luZyBmYWlscywgcmV0dXJuIG9yaWdpbmFsIHN0cmluZ1xyXG4gICAgICAgICAgICAgICAgb25FcnJvcj8uKGJvZHkpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGJvZHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGJvZHk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBBcGlIZWxwZXIgPSBuZXcgTG9jYWxpemVBcGlIZWxwZXIoKTsiXX0=
@@ -48,6 +48,9 @@ export class LocalizeApiService {
48
48
  set accessToken(value) { this.localizeTokenService.accessToken = value; }
49
49
  get refreshToken() { return this.localizeTokenService.refreshToken; }
50
50
  get tenantToken() { return this.localizeTokenService.tenantToken; }
51
+ get isThirdPartyMode() { return this.localizeTokenService.config.isThirdPartyMode; }
52
+ get clientId() { var _a; return (_a = this.localizeTokenService.config.thirdPartyConfig) === null || _a === void 0 ? void 0 : _a.clientId; }
53
+ get clientSecret() { var _a; return (_a = this.localizeTokenService.config.thirdPartyConfig) === null || _a === void 0 ? void 0 : _a.clientSecret; }
51
54
  get config() {
52
55
  this.validateConfig();
53
56
  return this.configSubject.value;
@@ -126,6 +129,19 @@ export class LocalizeApiService {
126
129
  return;
127
130
  this.isRevokingToken = true;
128
131
  const apiOptions = Object.assign(Object.assign({}, this.buildApiOptions(((_a = this.localizeTokenService.config.refreshToken) === null || _a === void 0 ? void 0 : _a.requestUrl) || '')), { refreshToken: true });
132
+ // If in third party mode, use the third party token refresh endpoint and options
133
+ if (this.isThirdPartyMode) {
134
+ const thirdPartyConfig = this.localizeTokenService.config.thirdPartyConfig;
135
+ if (thirdPartyConfig) {
136
+ // Add the request URL, method and body
137
+ apiOptions.requestUrl = thirdPartyConfig.refreshTokenUrl;
138
+ apiOptions.method = (thirdPartyConfig === null || thirdPartyConfig === void 0 ? void 0 : thirdPartyConfig.method) || EMethod.GET;
139
+ apiOptions.requestBody = (thirdPartyConfig === null || thirdPartyConfig === void 0 ? void 0 : thirdPartyConfig.body) || {};
140
+ // Add client secret header when revoking token
141
+ const clientSecret = { [SCHEMES.X_SECRET]: `${this.clientSecret}` };
142
+ apiOptions.headers = Object.assign(Object.assign({}, apiOptions.headers), clientSecret);
143
+ }
144
+ }
129
145
  // const revokeToken = await this.performRequest(apiOptions);
130
146
  const revokeToken = yield ApiHelper.performRequestWithRetry(apiOptions, this.config, this.performRequest.bind(this));
131
147
  yield this.handleOnTokenRevoked(revokeToken);
@@ -141,9 +157,11 @@ export class LocalizeApiService {
141
157
  }
142
158
  });
143
159
  }
160
+ apiOptionsForThirdParty() {
161
+ }
144
162
  /** default http request options */
145
163
  buildHeaderOptions(options) {
146
- const headers = Object.assign(Object.assign(Object.assign(Object.assign({}, (options.refreshToken && { [SCHEMES.X_REFRESH_TOKEN]: `${this.refreshToken}` })), (!options.isFormData && { [SCHEMES.CONTENT_TYPE]: 'application/json' })), { [SCHEMES.AUTHORIZATION]: `Bearer ${this.accessToken}` }), (this.needTenant && { [SCHEMES.X_TENANT]: `${this.tenantToken}` }));
164
+ const headers = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (options.refreshToken && { [SCHEMES.X_REFRESH_TOKEN]: `${this.refreshToken}` })), (!options.isFormData && { [SCHEMES.CONTENT_TYPE]: 'application/json' })), { [SCHEMES.AUTHORIZATION]: `Bearer ${this.accessToken}` }), (this.needTenant && { [SCHEMES.X_TENANT]: `${this.tenantToken}` })), (this.isThirdPartyMode && { [SCHEMES.X_CLIENT]: `${this.clientId}` }));
147
165
  return new HttpHeaders(Object.assign(Object.assign({}, headers), options.headers));
148
166
  }
149
167
  buildApiOptions(baseUrl, path = '', method = EMethod.GET, requestBody = null, headers) {
@@ -167,7 +185,11 @@ export class LocalizeApiService {
167
185
  }
168
186
  handleOnTokenRevoked(response) {
169
187
  return __awaiter(this, void 0, void 0, function* () {
170
- if (response === null || response === void 0 ? void 0 : response.status) {
188
+ if (this.isThirdPartyMode && (response === null || response === void 0 ? void 0 : response.token)) {
189
+ // If request third party token refresh, the new access token will be in response.token.
190
+ this.accessToken = response.token;
191
+ }
192
+ else if (response === null || response === void 0 ? void 0 : response.status) {
171
193
  // If the response is successful, update the access token
172
194
  this.accessToken = response.message;
173
195
  }
@@ -213,4 +235,4 @@ LocalizeApiService.ctorParameters = () => [
213
235
  { type: HttpClient },
214
236
  { type: LocalizeTokenService }
215
237
  ];
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9jYWxpemUtdG9rZW4vbG9jYWxpemUuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBcUIsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFvQyxPQUFPLEVBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFFM0QsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQztBQUsxQyxNQUFNLE9BQU8sa0JBQWtCO0lBeUM3QixZQUFxQixVQUFzQixFQUN4QixvQkFBMEM7UUFEeEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN4Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBekM1QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUMvQixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUErQixFQUFFLENBQUMsQ0FBQztRQUM5RSx3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUMxRCw4QkFBeUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQWVqRSxrQkFBYSxHQUFpQztZQUNwRCxlQUFlLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFO1lBQ3BDLHlCQUF5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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTG9jYWxpemVUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi9sb2NhbGl6ZS50b2tlbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuLCB3YWl0Rm9yLCB3YWl0VW50aWwgfSBmcm9tIFwiLi9sb2NhbGl6ZS50b2tlblwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBJTG9jYWxpemVBcGlDb25maWdzLCBJQXBpT3B0aW9ucywgRU1ldGhvZCwgSUhlYWRlciB9IGZyb20gXCIuL2hlbHBlcnMvaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgeyBBcGlIZWxwZXIgfSBmcm9tIFwiLi9oZWxwZXJzL2xvY2NhbGl6ZS5hcGkuaGVscGVyXCI7XHJcblxyXG5jb25zdCBTQ0hFTUVTID0gTG9jYWxpemVUb2tlbi5odHRwSGVhZGVycztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplQXBpU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPElMb2NhbGl6ZUFwaUNvbmZpZ3M+Pih7fSk7XHJcbiAgcmVhZG9ubHkgaXNSZXF1ZXN0aW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHJlYWRvbmx5IGlzUmVzb2x2aW5nU3RhcnR1cFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBnZXQgaXNSZXNvbHZpbmdTdGFydHVwKCkgeyByZXR1cm4gdGhpcy5pc1Jlc29sdmluZ1N0YXJ0dXBTdWJqZWN0LnZhbHVlOyB9XHJcblxyXG4gIGdldCBuZWVkVGVuYW50KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5jb25maWcudGVuYW50VG9rZW4gIT09IHVuZGVmaW5lZDsgfVxyXG5cclxuICBnZXQgaXNSZXF1ZXN0aW5nKCkgeyByZXR1cm4gdGhpcy5pc1JlcXVlc3RpbmdTdWJqZWN0LnZhbHVlOyB9XHJcbiAgZ2V0IGlzUmV2b2tpbmdUb2tlbigpIHsgcmV0dXJuIHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuaXNSZXZva2luZ1Rva2VuOyB9XHJcbiAgc2V0IGlzUmV2b2tpbmdUb2tlbih2YWx1ZTogYm9vbGVhbikgeyB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmlzUmV2b2tpbmdUb2tlbiA9IHZhbHVlOyB9XHJcblxyXG4gIGdldCBhY2Nlc3NUb2tlbigpOiBzdHJpbmcgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5hY2Nlc3NUb2tlbjsgfVxyXG4gIHNldCBhY2Nlc3NUb2tlbih2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7IHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuYWNjZXNzVG9rZW4gPSB2YWx1ZTsgfVxyXG5cclxuICBnZXQgcmVmcmVzaFRva2VuKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLnJlZnJlc2hUb2tlbjsgfVxyXG4gIGdldCB0ZW5hbnRUb2tlbigpOiBzdHJpbmcgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS50ZW5hbnRUb2tlbjsgfVxyXG5cclxuICBwcml2YXRlIGRlZmF1bHRDb25maWc6IFBhcnRpYWw8SUxvY2FsaXplQXBpQ29uZmlncz4gPSB7XHJcbiAgICB3YWl0RWFjaFJlcXVlc3Q6IHsgbWlsbGlzZWNvbmRzOiAwIH0sXHJcbiAgICBlbmFibGVSZXF1ZXN0Q2FuY2VsbGF0aW9uOiB0cnVlLFxyXG5cclxuICAgIHJldHJ5T3B0aW9uczoge1xyXG4gICAgICBtYXhSZXRyaWVzOiAxMDAwLFxyXG4gICAgICBkZWxheTogMTAwMCxcclxuICAgICAgcmV0cnlGdW5jdGlvbjogQXBpSGVscGVyLmRlZmF1bHRSZXRyeUZ1bmN0aW9uLmJpbmQodGhpcyksXHJcbiAgICB9LFxyXG5cclxuICB9O1xyXG5cclxuICBwcml2YXRlIGdldCBjb25maWcoKTogUGFydGlhbDxJTG9jYWxpemVBcGlDb25maWdzPiB7XHJcbiAgICB0aGlzLnZhbGlkYXRlQ29uZmlnKCk7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTdWJqZWN0LnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcGlPcHRpb25zOiBQYXJ0aWFsPElBcGlPcHRpb25zPiA9IHtcclxuICAgIG1ldGhvZDogRU1ldGhvZC5HRVQsXHJcbiAgICByZXF1ZXN0Qm9keTogbnVsbCxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGl6ZVRva2VuU2VydmljZTogTG9jYWxpemVUb2tlblNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplIHRoZSBBUEkgc2VydmljZS5cclxuICAgKiBAcGFyYW0gYXBpQ29uZmlncyAtIFRoZSBBUEkgY29uZmlndXJhdGlvbnMuXHJcbiAgICovXHJcbiAgaW5pdChhcGlDb25maWdzOiBJTG9jYWxpemVBcGlDb25maWdzKSB7XHJcbiAgICBjb25zb2xlLmxvZygnTG9jYWxpemVBcGlTZXJ2aWNlIGlzIGluaXRpYWxpemVkLicpO1xyXG4gICAgdGhpcy5jb25maWdTdWJqZWN0Lm5leHQoeyAuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLmFwaUNvbmZpZ3MgfSk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWxQZW5kaW5nUmVxdWVzdHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpZy5lbmFibGVSZXF1ZXN0Q2FuY2VsbGF0aW9uXHJcbiAgICAgICYmIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgaGlnaGVyLW9yZGVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGN1cnJpZWQgZnVuY3Rpb24gZm9yIG1ha2luZyBBUEkgcmVxdWVzdHMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gYmFzZVVybCAtIFRoZSBiYXNlIFVSTCBvZiB0aGUgQVBJLlxyXG4gICAqIEByZXR1cm5zIEEgY3VycmllZCBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgQVBJIHJlcXVlc3RzLlxyXG4gICAqL1xyXG4gIGZ1bmMgPSAoYmFzZVVybDogc3RyaW5nKSA9PlxyXG4gICAgPFQgPSBhbnk+KHBhdGg6IHN0cmluZywgbWV0aG9kOiBFTWV0aG9kID0gRU1ldGhvZC5HRVQsIHJlcUJvZHk6IGFueSA9IG51bGwsIHJlcUhlYWRlcnM/OiBJSGVhZGVyKSA9PlxyXG4gICAgICB0aGlzLnJlcXVlc3Q8VD4oYmFzZVVybCwgcGF0aCwgbWV0aG9kLCByZXFCb2R5LCByZXFIZWFkZXJzKVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcmVxdWVzdDxUID0gYW55PihiYXNlVXJsOiBzdHJpbmcsXHJcbiAgICBwYXRoOiBzdHJpbmcsXHJcbiAgICBtZXRob2Q6IEVNZXRob2QgPSBFTWV0aG9kLkdFVCxcclxuICAgIHJlcUJvZHk6IGFueSA9IG51bGwsXHJcbiAgICByZXFIZWFkZXJzPzogSUhlYWRlcik6IFByb21pc2U8VD4ge1xyXG5cclxuICAgIGF3YWl0IHdhaXRVbnRpbCgoKSA9PiAhdGhpcy5pc1Jlc29sdmluZ1N0YXJ0dXAsIDUwMCk7XHJcblxyXG4gICAgYXdhaXQgQXBpSGVscGVyLmludm9rZUhvb2sodGhpcy5jb25maWcub25QcmVwYXJlUmVxdWVzdCk7XHJcblxyXG4gICAgY29uc3QgYXBpT3B0aW9ucyA9IHRoaXMuYnVpbGRBcGlPcHRpb25zKGJhc2VVcmwsIHBhdGgsIG1ldGhvZCwgcmVxQm9keSwgcmVxSGVhZGVycyk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgYXdhaXQgdGhpcy50b1dhaXRGb3JQcmV2aW91c1JlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJldHVybiBhd2FpdCBBcGlIZWxwZXIucGVyZm9ybVJlcXVlc3RXaXRoUmV0cnk8VD4oXHJcbiAgICAgICAgYXBpT3B0aW9ucyxcclxuICAgICAgICB0aGlzLmNvbmZpZyxcclxuICAgICAgICB0aGlzLnBlcmZvcm1SZXF1ZXN0LmJpbmQodGhpcylcclxuICAgICAgKTtcclxuXHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVPblJlcXVlc3RFcnJvcihlcnJvciwgYXBpT3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZU9uUmVxdWVzdEVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSwgb3B0aW9uczogSUFwaU9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKGVycm9yLnN0YXR1cyAhPT0gNDAxKVxyXG4gICAgICB0aHJvdyBlcnJvcjtcclxuXHJcbiAgICBhd2FpdCB3YWl0VW50aWwoKCkgPT4gIXRoaXMuaXNSZXNvbHZpbmdTdGFydHVwLCA1MCk7XHJcblxyXG4gICAgcmV0dXJuIGF3YWl0IEFwaUhlbHBlci5wZXJmb3JtUmV0cnkoe1xyXG4gICAgICBtYXhSZXRyaWVzOiAoKSA9PiAxMDAwLFxyXG4gICAgICBkZWxheTogMTAsXHJcbiAgICAgIHJldHJ5VW5sZXNzOiAoZXJyb3IpID0+IGVycm9yLnN0YXR1cyA9PT0gNDAxIHx8IEFwaUhlbHBlci5pc0Nvbm5lY3Rpb25FcnJvcihlcnJvciksXHJcbiAgICAgIGNhbGxiYWNrOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgLy8gT25seSBoYW5kbGUgNDAxIFVuYXV0aG9yaXplZCBlcnJvcnNcclxuICAgICAgICBhd2FpdCB0aGlzLnJldm9rZVRva2VuKCk7XHJcblxyXG4gICAgICAgIC8vIFJldHJ5IHRoZSByZXF1ZXN0IHdpdGggdGhlIG5ldyBhY2Nlc3MgdG9rZW5cclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wZXJmb3JtUmVxdWVzdChvcHRpb25zKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHBlcmZvcm1SZXF1ZXN0PFQgPSBhbnk+KG9wdGlvbnM6IElBcGlPcHRpb25zKTogUHJvbWlzZTxUPiB7XHJcblxyXG4gICAgLy8gQnVpbGQgdGhlIHJlcXVlc3Qgb3B0aW9uc1xyXG4gICAgY29uc3QgYnVpbGRPcHRpb25zID0geyBoZWFkZXJzOiB0aGlzLmJ1aWxkSGVhZGVyT3B0aW9ucyhvcHRpb25zKSB9O1xyXG5cclxuICAgIC8vIENyZWF0ZSB0aGUgcmVxdWVzdCBvYnNlcnZhYmxlXHJcbiAgICBjb25zdCByZXF1ZXN0JCA9IEFwaUhlbHBlci5jcmVhdGVSZXF1ZXN0PFQ+KHtcclxuICAgICAgY2xpZW50OiB0aGlzLmh0dHBDbGllbnQsXHJcbiAgICAgIGRlc3Ryb3kkOiAoKSA9PiB0aGlzLmRlc3Ryb3kkXHJcbiAgICB9LCBvcHRpb25zLm1ldGhvZCwgb3B0aW9ucy5yZXF1ZXN0VXJsLCBvcHRpb25zLnJlcXVlc3RCb2R5LCBidWlsZE9wdGlvbnMsXHJcbiAgICAgIHRoaXMuY29uZmlnLm9uUmVzcG9uc2VCb2R5SW52YWxpZD8uYmluZCh0aGlzKSk7XHJcblxyXG4gICAgLy8gU2V0IHRoZSBpc1JlcXVlc3Rpbmcgc3RhdGUgdG8gdHJ1ZSBiZWZvcmUgbWFraW5nIHRoZSByZXF1ZXN0XHJcbiAgICB0aGlzLmlzUmVxdWVzdGluZ1N1YmplY3QubmV4dCh0cnVlKTtcclxuXHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT5cclxuICAgICAgcmVxdWVzdCQuc3Vic2NyaWJlKHsgbmV4dDogcmVzb2x2ZSwgZXJyb3I6IHJlamVjdCB9KSk7XHJcblxyXG4gICAgLy8gUmVzZXQgdGhlIGlzUmVxdWVzdGluZyBzdGF0ZSBhZnRlciB0aGUgcmVxdWVzdCBjb21wbGV0ZXNcclxuICAgIHRoaXMuaXNSZXF1ZXN0aW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcclxuXHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHJldm9rZVRva2VuKCk6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGlmIChhd2FpdCB0aGlzLmludGVyY2VwdFJldm9rZVRva2VuKCkpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgdGhpcy5pc1Jldm9raW5nVG9rZW4gPSB0cnVlO1xyXG5cclxuICAgICAgY29uc3QgYXBpT3B0aW9uczogSUFwaU9wdGlvbnMgPSB7XHJcbiAgICAgICAgLi4udGhpcy5idWlsZEFwaU9wdGlvbnModGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5jb25maWcucmVmcmVzaFRva2VuPy5yZXF1ZXN0VXJsIHx8ICcnKSxcclxuICAgICAgICByZWZyZXNoVG9rZW46IHRydWUsXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGNvbnN0IHJldm9rZVRva2VuID0gYXdhaXQgdGhpcy5wZXJmb3JtUmVxdWVzdChhcGlPcHRpb25zKTtcclxuICAgICAgY29uc3QgcmV2b2tlVG9rZW4gPSBhd2FpdCBBcGlIZWxwZXIucGVyZm9ybVJlcXVlc3RXaXRoUmV0cnkoXHJcbiAgICAgICAgYXBpT3B0aW9ucyxcclxuICAgICAgICB0aGlzLmNvbmZpZyxcclxuICAgICAgICB0aGlzLnBlcmZvcm1SZXF1ZXN0LmJpbmQodGhpcylcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlT25Ub2tlblJldm9rZWQocmV2b2tlVG9rZW4pO1xyXG5cclxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcclxuICAgICAgLy8gSGFuZGxlIHRoZSBlcnJvciwgbG9nIGl0XHJcbiAgICAgIGF3YWl0IEFwaUhlbHBlci5pbnZva2VIb29rKHRoaXMuY29uZmlnLm9uQXV0b0xvZ291dCk7XHJcbiAgICAgIHRocm93IGVycm9yO1xyXG5cclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIC8vIFJlc2V0IHRoZSByZXZva2luZyB0b2tlbiBzdGF0ZVxyXG4gICAgICB0aGlzLmlzUmV2b2tpbmdUb2tlbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIGRlZmF1bHQgaHR0cCByZXF1ZXN0IG9wdGlvbnMgKi9cclxuICBwcml2YXRlIGJ1aWxkSGVhZGVyT3B0aW9ucyhvcHRpb25zOiBJQXBpT3B0aW9ucyk6IEh0dHBIZWFkZXJzIHtcclxuXHJcbiAgICBjb25zdCBoZWFkZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xyXG4gICAgICAuLi4ob3B0aW9ucy5yZWZyZXNoVG9rZW4gJiYgeyBbU0NIRU1FUy5YX1JFRlJFU0hfVE9LRU5dOiBgJHt0aGlzLnJlZnJlc2hUb2tlbn1gIH0pLFxyXG4gICAgICAuLi4oIW9wdGlvbnMuaXNGb3JtRGF0YSAmJiB7IFtTQ0hFTUVTLkNPTlRFTlRfVFlQRV06ICdhcHBsaWNhdGlvbi9qc29uJyB9KSxcclxuICAgICAgW1NDSEVNRVMuQVVUSE9SSVpBVElPTl06IGBCZWFyZXIgJHt0aGlzLmFjY2Vzc1Rva2VufWAsXHJcbiAgICAgIC4uLih0aGlzLm5lZWRUZW5hbnQgJiYgeyBbU0NIRU1FUy5YX1RFTkFOVF06IGAke3RoaXMudGVuYW50VG9rZW59YCB9KVxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHsgLi4uaGVhZGVycywgLi4ub3B0aW9ucy5oZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEFwaU9wdGlvbnMoXHJcbiAgICBiYXNlVXJsOiBzdHJpbmcsXHJcbiAgICBwYXRoOiBzdHJpbmcgPSAnJyxcclxuICAgIG1ldGhvZDogRU1ldGhvZCA9IEVNZXRob2QuR0VULFxyXG4gICAgcmVxdWVzdEJvZHk6IGFueSA9IG51bGwsXHJcbiAgICBoZWFkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxyXG4gICk6IElBcGlPcHRpb25zIHtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0VXJsID0gQXBpSGVscGVyLmJ1aWxkVXJsKGJhc2VVcmwsIHBhdGgpO1xyXG4gICAgY29uc3QgaXNGb3JtRGF0YSA9IHJlcXVlc3RCb2R5ICYmIHJlcXVlc3RCb2R5IGluc3RhbmNlb2YgRm9ybURhdGE7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi50aGlzLmFwaU9wdGlvbnMsXHJcbiAgICAgIC4uLnsgaGVhZGVycywgbWV0aG9kLCByZXF1ZXN0VXJsLCByZXF1ZXN0Qm9keSwgaXNGb3JtRGF0YSB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgYXN5bmMgdG9XYWl0Rm9yUHJldmlvdXNSZXF1ZXN0KCkge1xyXG4gICAgaWYgKHRoaXMuaXNSZXZva2luZ1Rva2VuKSB7XHJcbiAgICAgIGF3YWl0IHdhaXRVbnRpbCgoKSA9PiAhdGhpcy5pc1Jldm9raW5nVG9rZW4pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRvIHdhaXQgZm9yIGVhY2ggcmVxdWVzdCBpbiA1MG1zLCBldmVuIGlmIHRoZSByZXF1ZXN0IGlzIG5vdCBjb21wbGV0ZWRcclxuICAgIGNvbnN0IHdhaXRNaWxsaXNlY29uZHMgPSB0aGlzLmNvbmZpZy53YWl0RWFjaFJlcXVlc3Q/Lm1pbGxpc2Vjb25kcztcclxuICAgIGlmICh3YWl0TWlsbGlzZWNvbmRzICYmIHRoaXMuaXNSZXF1ZXN0aW5nKSB7XHJcbiAgICAgIC8vIGNvbnNvbGUud2FybihgUmVxdWVzdCB0aHJvdHRsaW5nOiBBbm90aGVyIHJlcXVlc3QgaXMgaW4gcHJvZ3Jlc3MuIFdhaXRpbmcgZm9yICR7d2FpdE1pbGxpc2Vjb25kc31tcy5gKTtcclxuICAgICAgYXdhaXQgd2FpdEZvcih3YWl0TWlsbGlzZWNvbmRzLCB0aGlzLmlzUmVxdWVzdGluZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVPblRva2VuUmV2b2tlZChyZXNwb25zZTogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcblxyXG4gICAgaWYgKHJlc3BvbnNlPy5zdGF0dXMpIHtcclxuICAgICAgLy8gSWYgdGhlIHJlc3BvbnNlIGlzIHN1Y2Nlc3NmdWwsIHVwZGF0ZSB0aGUgYWNjZXNzIHRva2VuXHJcbiAgICAgIHRoaXMuYWNjZXNzVG9rZW4gPSByZXNwb25zZS5tZXNzYWdlO1xyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIElmIHRoZSByZXNwb25zZSBpbmRpY2F0ZXMgYW4gZXJyb3IsIGludm9rZSB0aGUgb25SZXZva2VVbmF1dGhvcml6ZWQgaG9va1xyXG4gICAgICBjb25zb2xlLndhcm4oJ1Rva2VuIHJldm9jYXRpb24gZmFpbGVkLCByZWZyZXNoIHRva2VuIGlzIGV4cGlyZWQuJywgcmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgIGF3YWl0IEFwaUhlbHBlci5pbnZva2VIb29rKHRoaXMuY29uZmlnLm9uUmV2b2tlVW5hdXRob3JpemVkKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGludGVyY2VwdFJldm9rZVRva2VuKCkge1xyXG5cclxuICAgIGlmICh0aGlzLmlzUmV2b2tpbmdUb2tlbikge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ1Rva2VuIGlzIGFscmVhZHkgYmVpbmcgcmV2b2tlZC4gV2FpdGluZyBmb3IgdGhlIGN1cnJlbnQgb3BlcmF0aW9uIHRvIGNvbXBsZXRlLi4uJyk7XHJcbiAgICAgIGF3YWl0IHdhaXRVbnRpbCgoKSA9PiAhdGhpcy5pc1Jldm9raW5nVG9rZW4pO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMucmVmcmVzaFRva2VuKSB7XHJcbiAgICAgIC8vIGF3YWl0IEFwaUhlbHBlci5pbnZva2VIb29rKHRoaXMuYXBpQ29uZmlncy5vbkF1dG9Mb2dvdXQpO1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlZnJlc2ggdG9rZW4gaXMgbWlzc2luZy4gUGxlYXNlIGxvZ2luIGFnYWluLicpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVDb25maWcoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5jb25maWcucmVxdWlyZWRUZW5hbnRcclxuICAgICAgJiYgIXRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuY29uZmlnLnRlbmFudFRva2VuPy5uYW1lPy50cmltKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRocm93IEVycm9yKCdUZW5hbnQgdG9rZW4gaXMgcmVxdWlyZWQgYnV0IHRlbmFudFRva2VuTmFtZSBpcyBub3QgY29uZmlndXJlZCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5jb25maWcucmVmcmVzaFRva2VuPy5yZXF1ZXN0VXJsPy50cmltKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRocm93IEVycm9yKCdSZXZva2UgdG9rZW4gVVJMIGlzIG5vdCBjb25maWd1cmVkIC0gdG9rZW4gcmVmcmVzaCB3aWxsIG5vdCB3b3JrJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9BTkdVTEFSL0xJQlJBUklFUy9sb2NhbGl6ZS50b2tlbi4xMi4xLjAvZGV2L3NyYy9sb2NhbGl6ZS10b2tlbi9sb2NhbGl6ZS5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFxQixXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQW9DLE9BQU8sRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQUUzRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDO0FBVTFDLE1BQU0sT0FBTyxrQkFBa0I7SUE0QzdCLFlBQXFCLFVBQXNCLEVBQ3hCLG9CQUEwQztRQUR4QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3hCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUE1QzVDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQStCLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzFELDhCQUF5QixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBa0JqRSxrQkFBYSxH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WUFDdkUsTUFBTSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztTQUMvRTtRQUVELElBQUksQ0FBQyxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFlBQVksMENBQUUsVUFBVSwwQ0FBRSxJQUFJLEdBQUcsTUFBTSxDQUFBLEVBQUU7WUFDN0UsTUFBTSxLQUFLLENBQUMsa0VBQWtFLENBQUMsQ0FBQztTQUNqRjtJQUNILENBQUM7Ozs7WUEvUkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFmUSxVQUFVO1lBRFYsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTG9jYWxpemVUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi9sb2NhbGl6ZS50b2tlbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuLCB3YWl0Rm9yLCB3YWl0VW50aWwgfSBmcm9tIFwiLi9sb2NhbGl6ZS50b2tlblwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBJTG9jYWxpemVBcGlDb25maWdzLCBJQXBpT3B0aW9ucywgRU1ldGhvZCwgSUhlYWRlciB9IGZyb20gXCIuL2hlbHBlcnMvaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgeyBBcGlIZWxwZXIgfSBmcm9tIFwiLi9oZWxwZXJzL2xvY2NhbGl6ZS5hcGkuaGVscGVyXCI7XHJcblxyXG5jb25zdCBTQ0hFTUVTID0gTG9jYWxpemVUb2tlbi5odHRwSGVhZGVycztcclxuXHJcbmludGVyZmFjZSBJVGhpcmRQYXJ0eVRva2VucyB7XHJcbiAgY2xpZW50SWQ6IHN0cmluZztcclxuICBjbGllbnRTZWNyZXQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplQXBpU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPElMb2NhbGl6ZUFwaUNvbmZpZ3M+Pih7fSk7XHJcbiAgcmVhZG9ubHkgaXNSZXF1ZXN0aW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHJlYWRvbmx5IGlzUmVzb2x2aW5nU3RhcnR1cFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBnZXQgaXNSZXNvbHZpbmdTdGFydHVwKCkgeyByZXR1cm4gdGhpcy5pc1Jlc29sdmluZ1N0YXJ0dXBTdWJqZWN0LnZhbHVlOyB9XHJcblxyXG4gIGdldCBuZWVkVGVuYW50KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5jb25maWcudGVuYW50VG9rZW4gIT09IHVuZGVmaW5lZDsgfVxyXG4gIGdldCBpc1JlcXVlc3RpbmcoKSB7IHJldHVybiB0aGlzLmlzUmVxdWVzdGluZ1N1YmplY3QudmFsdWU7IH1cclxuICBnZXQgaXNSZXZva2luZ1Rva2VuKCkgeyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5pc1Jldm9raW5nVG9rZW47IH1cclxuICBzZXQgaXNSZXZva2luZ1Rva2VuKHZhbHVlOiBib29sZWFuKSB7IHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuaXNSZXZva2luZ1Rva2VuID0gdmFsdWU7IH1cclxuXHJcbiAgZ2V0IGFjY2Vzc1Rva2VuKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmFjY2Vzc1Rva2VuOyB9XHJcbiAgc2V0IGFjY2Vzc1Rva2VuKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHsgdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5hY2Nlc3NUb2tlbiA9IHZhbHVlOyB9XHJcblxyXG4gIGdldCByZWZyZXNoVG9rZW4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UucmVmcmVzaFRva2VuOyB9XHJcbiAgZ2V0IHRlbmFudFRva2VuKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLnRlbmFudFRva2VuOyB9XHJcblxyXG4gIGdldCBpc1RoaXJkUGFydHlNb2RlKCkgeyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5jb25maWcuaXNUaGlyZFBhcnR5TW9kZTsgfVxyXG4gIGdldCBjbGllbnRJZCgpIHsgcmV0dXJuIHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuY29uZmlnLnRoaXJkUGFydHlDb25maWc/LmNsaWVudElkOyB9XHJcbiAgZ2V0IGNsaWVudFNlY3JldCgpIHsgcmV0dXJuIHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuY29uZmlnLnRoaXJkUGFydHlDb25maWc/LmNsaWVudFNlY3JldDsgfVxyXG5cclxuICBwcml2YXRlIGRlZmF1bHRDb25maWc6IFBhcnRpYWw8SUxvY2FsaXplQXBpQ29uZmlncz4gPSB7XHJcbiAgICB3YWl0RWFjaFJlcXVlc3Q6IHsgbWlsbGlzZWNvbmRzOiAwIH0sXHJcbiAgICBlbmFibGVSZXF1ZXN0Q2FuY2VsbGF0aW9uOiB0cnVlLFxyXG5cclxuICAgIHJldHJ5T3B0aW9uczoge1xyXG4gICAgICBtYXhSZXRyaWVzOiAxMDAwLFxyXG4gICAgICBkZWxheTogMTAwMCxcclxuICAgICAgcmV0cnlGdW5jdGlvbjogQXBpSGVscGVyLmRlZmF1bHRSZXRyeUZ1bmN0aW9uLmJpbmQodGhpcyksXHJcbiAgICB9LFxyXG5cclxuICB9O1xyXG5cclxuICBwcml2YXRlIGdldCBjb25maWcoKTogUGFydGlhbDxJTG9jYWxpemVBcGlDb25maWdzPiB7XHJcbiAgICB0aGlzLnZhbGlkYXRlQ29uZmlnKCk7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTdWJqZWN0LnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcGlPcHRpb25zOiBQYXJ0aWFsPElBcGlPcHRpb25zPiA9IHtcclxuICAgIG1ldGhvZDogRU1ldGhvZC5HRVQsXHJcbiAgICByZXF1ZXN0Qm9keTogbnVsbCxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGl6ZVRva2VuU2VydmljZTogTG9jYWxpemVUb2tlblNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplIHRoZSBBUEkgc2VydmljZS5cclxuICAgKiBAcGFyYW0gYXBpQ29uZmlncyAtIFRoZSBBUEkgY29uZmlndXJhdGlvbnMuXHJcbiAgICovXHJcbiAgaW5pdChhcGlDb25maWdzOiBJTG9jYWxpemVBcGlDb25maWdzKSB7XHJcbiAgICBjb25zb2xlLmxvZygnTG9jYWxpemVBcGlTZXJ2aWNlIGlzIGluaXRpYWxpemVkLicpO1xyXG4gICAgdGhpcy5jb25maWdTdWJqZWN0Lm5leHQoeyAuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLmFwaUNvbmZpZ3MgfSk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWxQZW5kaW5nUmVxdWVzdHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpZy5lbmFibGVSZXF1ZXN0Q2FuY2VsbGF0aW9uXHJcbiAgICAgICYmIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgaGlnaGVyLW9yZGVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGN1cnJpZWQgZnVuY3Rpb24gZm9yIG1ha2luZyBBUEkgcmVxdWVzdHMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gYmFzZVVybCAtIFRoZSBiYXNlIFVSTCBvZiB0aGUgQVBJLlxyXG4gICAqIEByZXR1cm5zIEEgY3VycmllZCBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgQVBJIHJlcXVlc3RzLlxyXG4gICAqL1xyXG4gIGZ1bmMgPSAoYmFzZVVybDogc3RyaW5nKSA9PlxyXG4gICAgPFQgPSBhbnk+KHBhdGg6IHN0cmluZywgbWV0aG9kOiBFTWV0aG9kID0gRU1ldGhvZC5HRVQsIHJlcUJvZHk6IGFueSA9IG51bGwsIHJlcUhlYWRlcnM/OiBJSGVhZGVyKSA9PlxyXG4gICAgICB0aGlzLnJlcXVlc3Q8VD4oYmFzZVVybCwgcGF0aCwgbWV0aG9kLCByZXFCb2R5LCByZXFIZWFkZXJzKVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcmVxdWVzdDxUID0gYW55PihiYXNlVXJsOiBzdHJpbmcsXHJcbiAgICBwYXRoOiBzdHJpbmcsXHJcbiAgICBtZXRob2Q6IEVNZXRob2QgPSBFTWV0aG9kLkdFVCxcclxuICAgIHJlcUJvZHk6IGFueSA9IG51bGwsXHJcbiAgICByZXFIZWFkZXJzPzogSUhlYWRlcik6IFByb21pc2U8VD4ge1xyXG5cclxuICAgIGF3YWl0IHdhaXRVbnRpbCgoKSA9PiAhdGhpcy5pc1Jlc29sdmluZ1N0YXJ0dXAsIDUwMCk7XHJcblxyXG4gICAgYXdhaXQgQXBpSGVscGVyLmludm9rZUhvb2sodGhpcy5jb25maWcub25QcmVwYXJlUmVxdWVzdCk7XHJcblxyXG4gICAgY29uc3QgYXBpT3B0aW9ucyA9IHRoaXMuYnVpbGRBcGlPcHRpb25zKGJhc2VVcmwsIHBhdGgsIG1ldGhvZCwgcmVxQm9keSwgcmVxSGVhZGVycyk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgYXdhaXQgdGhpcy50b1dhaXRGb3JQcmV2aW91c1JlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJldHVybiBhd2FpdCBBcGlIZWxwZXIucGVyZm9ybVJlcXVlc3RXaXRoUmV0cnk8VD4oXHJcbiAgICAgICAgYXBpT3B0aW9ucyxcclxuICAgICAgICB0aGlzLmNvbmZpZyxcclxuICAgICAgICB0aGlzLnBlcmZvcm1SZXF1ZXN0LmJpbmQodGhpcylcclxuICAgICAgKTtcclxuXHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVPblJlcXVlc3RFcnJvcihlcnJvciwgYXBpT3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZU9uUmVxdWVzdEVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSwgb3B0aW9uczogSUFwaU9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKGVycm9yLnN0YXR1cyAhPT0gNDAxKVxyXG4gICAgICB0aHJvdyBlcnJvcjtcclxuXHJcbiAgICBhd2FpdCB3YWl0VW50aWwoKCkgPT4gIXRoaXMuaXNSZXNvbHZpbmdTdGFydHVwLCA1MCk7XHJcblxyXG4gICAgcmV0dXJuIGF3YWl0IEFwaUhlbHBlci5wZXJmb3JtUmV0cnkoe1xyXG4gICAgICBtYXhSZXRyaWVzOiAoKSA9PiAxMDAwLFxyXG4gICAgICBkZWxheTogMTAsXHJcbiAgICAgIHJldHJ5VW5sZXNzOiAoZXJyb3IpID0+IGVycm9yLnN0YXR1cyA9PT0gNDAxIHx8IEFwaUhlbHBlci5pc0Nvbm5lY3Rpb25FcnJvcihlcnJvciksXHJcbiAgICAgIGNhbGxiYWNrOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgLy8gT25seSBoYW5kbGUgNDAxIFVuYXV0aG9yaXplZCBlcnJvcnNcclxuICAgICAgICBhd2FpdCB0aGlzLnJldm9rZVRva2VuKCk7XHJcblxyXG4gICAgICAgIC8vIFJldHJ5IHRoZSByZXF1ZXN0IHdpdGggdGhlIG5ldyBhY2Nlc3MgdG9rZW5cclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wZXJmb3JtUmVxdWVzdChvcHRpb25zKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHBlcmZvcm1SZXF1ZXN0PFQgPSBhbnk+KG9wdGlvbnM6IElBcGlPcHRpb25zKTogUHJvbWlzZTxUPiB7XHJcblxyXG4gICAgLy8gQnVpbGQgdGhlIHJlcXVlc3Qgb3B0aW9uc1xyXG4gICAgY29uc3QgYnVpbGRPcHRpb25zID0geyBoZWFkZXJzOiB0aGlzLmJ1aWxkSGVhZGVyT3B0aW9ucyhvcHRpb25zKSB9O1xyXG5cclxuICAgIC8vIENyZWF0ZSB0aGUgcmVxdWVzdCBvYnNlcnZhYmxlXHJcbiAgICBjb25zdCByZXF1ZXN0JCA9IEFwaUhlbHBlci5jcmVhdGVSZXF1ZXN0PFQ+KHtcclxuICAgICAgY2xpZW50OiB0aGlzLmh0dHBDbGllbnQsXHJcbiAgICAgIGRlc3Ryb3kkOiAoKSA9PiB0aGlzLmRlc3Ryb3kkXHJcbiAgICB9LCBvcHRpb25zLm1ldGhvZCwgb3B0aW9ucy5yZXF1ZXN0VXJsLCBvcHRpb25zLnJlcXVlc3RCb2R5LCBidWlsZE9wdGlvbnMsXHJcbiAgICAgIHRoaXMuY29uZmlnLm9uUmVzcG9uc2VCb2R5SW52YWxpZD8uYmluZCh0aGlzKSk7XHJcblxyXG4gICAgLy8gU2V0IHRoZSBpc1JlcXVlc3Rpbmcgc3RhdGUgdG8gdHJ1ZSBiZWZvcmUgbWFraW5nIHRoZSByZXF1ZXN0XHJcbiAgICB0aGlzLmlzUmVxdWVzdGluZ1N1YmplY3QubmV4dCh0cnVlKTtcclxuXHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT5cclxuICAgICAgcmVxdWVzdCQuc3Vic2NyaWJlKHsgbmV4dDogcmVzb2x2ZSwgZXJyb3I6IHJlamVjdCB9KSk7XHJcblxyXG4gICAgLy8gUmVzZXQgdGhlIGlzUmVxdWVzdGluZyBzdGF0ZSBhZnRlciB0aGUgcmVxdWVzdCBjb21wbGV0ZXNcclxuICAgIHRoaXMuaXNSZXF1ZXN0aW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcclxuXHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHJldm9rZVRva2VuKCk6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGlmIChhd2FpdCB0aGlzLmludGVyY2VwdFJldm9rZVRva2VuKCkpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgdGhpcy5pc1Jldm9raW5nVG9rZW4gPSB0cnVlO1xyXG4gICAgICBjb25zdCBhcGlPcHRpb25zOiBJQXBpT3B0aW9ucyA9IHtcclxuICAgICAgICAuLi50aGlzLmJ1aWxkQXBpT3B0aW9ucyh0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy5yZWZyZXNoVG9rZW4/LnJlcXVlc3RVcmwgfHwgJycpLFxyXG4gICAgICAgIHJlZnJlc2hUb2tlbjogdHJ1ZVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBJZiBpbiB0aGlyZCBwYXJ0eSBtb2RlLCB1c2UgdGhlIHRoaXJkIHBhcnR5IHRva2VuIHJlZnJlc2ggZW5kcG9pbnQgYW5kIG9wdGlvbnNcclxuICAgICAgaWYgKHRoaXMuaXNUaGlyZFBhcnR5TW9kZSkge1xyXG4gICAgICAgIGNvbnN0IHRoaXJkUGFydHlDb25maWcgPSB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy50aGlyZFBhcnR5Q29uZmlnO1xyXG4gICAgICAgIGlmICh0aGlyZFBhcnR5Q29uZmlnKSB7XHJcbiAgICAgICAgICAvLyBBZGQgdGhlIHJlcXVlc3QgVVJMLCBtZXRob2QgYW5kIGJvZHlcclxuICAgICAgICAgIGFwaU9wdGlvbnMucmVxdWVzdFVybCA9IHRoaXJkUGFydHlDb25maWcucmVmcmVzaFRva2VuVXJsO1xyXG4gICAgICAgICAgYXBpT3B0aW9ucy5tZXRob2QgPSB0aGlyZFBhcnR5Q29uZmlnPy5tZXRob2QgfHwgRU1ldGhvZC5HRVQ7XHJcbiAgICAgICAgICBhcGlPcHRpb25zLnJlcXVlc3RCb2R5ID0gdGhpcmRQYXJ0eUNvbmZpZz8uYm9keSB8fCB7fTtcclxuICAgICAgICAgIC8vIEFkZCBjbGllbnQgc2VjcmV0IGhlYWRlciB3aGVuIHJldm9raW5nIHRva2VuXHJcbiAgICAgICAgICBjb25zdCBjbGllbnRTZWNyZXQgPSB7IFtTQ0hFTUVTLlhfU0VDUkVUXTogYCR7dGhpcy5jbGllbnRTZWNyZXR9YCB9O1xyXG4gICAgICAgICAgYXBpT3B0aW9ucy5oZWFkZXJzID0geyAuLi5hcGlPcHRpb25zLmhlYWRlcnMsIC4uLmNsaWVudFNlY3JldCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gY29uc3QgcmV2b2tlVG9rZW4gPSBhd2FpdCB0aGlzLnBlcmZvcm1SZXF1ZXN0KGFwaU9wdGlvbnMpO1xyXG4gICAgICBjb25zdCByZXZva2VUb2tlbiA9IGF3YWl0IEFwaUhlbHBlci5wZXJmb3JtUmVxdWVzdFdpdGhSZXRyeShcclxuICAgICAgICBhcGlPcHRpb25zLFxyXG4gICAgICAgIHRoaXMuY29uZmlnLFxyXG4gICAgICAgIHRoaXMucGVyZm9ybVJlcXVlc3QuYmluZCh0aGlzKVxyXG4gICAgICApO1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVPblRva2VuUmV2b2tlZChyZXZva2VUb2tlbik7XHJcblxyXG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICAvLyBIYW5kbGUgdGhlIGVycm9yLCBsb2cgaXRcclxuICAgICAgYXdhaXQgQXBpSGVscGVyLmludm9rZUhvb2sodGhpcy5jb25maWcub25BdXRvTG9nb3V0KTtcclxuICAgICAgdGhyb3cgZXJyb3I7XHJcblxyXG4gICAgfSBmaW5hbGx5IHtcclxuICAgICAgLy8gUmVzZXQgdGhlIHJldm9raW5nIHRva2VuIHN0YXRlXHJcbiAgICAgIHRoaXMuaXNSZXZva2luZ1Rva2VuID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhcGlPcHRpb25zRm9yVGhpcmRQYXJ0eSgpIHtcclxuXHJcbiAgfVxyXG5cclxuICAvKiogZGVmYXVsdCBodHRwIHJlcXVlc3Qgb3B0aW9ucyAqL1xyXG4gIHByaXZhdGUgYnVpbGRIZWFkZXJPcHRpb25zKG9wdGlvbnM6IElBcGlPcHRpb25zKTogSHR0cEhlYWRlcnMge1xyXG5cclxuICAgIGNvbnN0IGhlYWRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XHJcbiAgICAgIC4uLihvcHRpb25zLnJlZnJlc2hUb2tlbiAmJiB7IFtTQ0hFTUVTLlhfUkVGUkVTSF9UT0tFTl06IGAke3RoaXMucmVmcmVzaFRva2VufWAgfSksXHJcbiAgICAgIC4uLighb3B0aW9ucy5pc0Zvcm1EYXRhICYmIHsgW1NDSEVNRVMuQ09OVEVOVF9UWVBFXTogJ2FwcGxpY2F0aW9uL2pzb24nIH0pLFxyXG4gICAgICBbU0NIRU1FUy5BVVRIT1JJWkFUSU9OXTogYEJlYXJlciAke3RoaXMuYWNjZXNzVG9rZW59YCxcclxuICAgICAgLi4uKHRoaXMubmVlZFRlbmFudCAmJiB7IFtTQ0hFTUVTLlhfVEVOQU5UXTogYCR7dGhpcy50ZW5hbnRUb2tlbn1gIH0pLFxyXG4gICAgICAuLi4odGhpcy5pc1RoaXJkUGFydHlNb2RlICYmIHsgW1NDSEVNRVMuWF9DTElFTlRdOiBgJHt0aGlzLmNsaWVudElkfWAgfSksXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoeyAuLi5oZWFkZXJzLCAuLi5vcHRpb25zLmhlYWRlcnMgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkQXBpT3B0aW9ucyhcclxuICAgIGJhc2VVcmw6IHN0cmluZyxcclxuICAgIHBhdGg6IHN0cmluZyA9ICcnLFxyXG4gICAgbWV0aG9kOiBFTWV0aG9kID0gRU1ldGhvZC5HRVQsXHJcbiAgICByZXF1ZXN0Qm9keTogYW55ID0gbnVsbCxcclxuICAgIGhlYWRlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XHJcbiAgKTogSUFwaU9wdGlvbnMge1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3RVcmwgPSBBcGlIZWxwZXIuYnVpbGRVcmwoYmFzZVVybCwgcGF0aCk7XHJcbiAgICBjb25zdCBpc0Zvcm1EYXRhID0gcmVxdWVzdEJvZHkgJiYgcmVxdWVzdEJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLnRoaXMuYXBpT3B0aW9ucyxcclxuICAgICAgLi4ueyBoZWFkZXJzLCBtZXRob2QsIHJlcXVlc3RVcmwsIHJlcXVlc3RCb2R5LCBpc0Zvcm1EYXRhIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyB0b1dhaXRGb3JQcmV2aW91c1JlcXVlc3QoKSB7XHJcbiAgICBpZiAodGhpcy5pc1Jldm9raW5nVG9rZW4pIHtcclxuICAgICAgYXdhaXQgd2FpdFVudGlsKCgpID0+ICF0aGlzLmlzUmV2b2tpbmdUb2tlbik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdG8gd2FpdCBmb3IgZWFjaCByZXF1ZXN0IGluIDUwbXMsIGV2ZW4gaWYgdGhlIHJlcXVlc3QgaXMgbm90IGNvbXBsZXRlZFxyXG4gICAgY29uc3Qgd2FpdE1pbGxpc2Vjb25kcyA9IHRoaXMuY29uZmlnLndhaXRFYWNoUmVxdWVzdD8ubWlsbGlzZWNvbmRzO1xyXG4gICAgaWYgKHdhaXRNaWxsaXNlY29uZHMgJiYgdGhpcy5pc1JlcXVlc3RpbmcpIHtcclxuICAgICAgLy8gY29uc29sZS53YXJuKGBSZXF1ZXN0IHRocm90dGxpbmc6IEFub3RoZXIgcmVxdWVzdCBpcyBpbiBwcm9ncmVzcy4gV2FpdGluZyBmb3IgJHt3YWl0TWlsbGlzZWNvbmRzfW1zLmApO1xyXG4gICAgICBhd2FpdCB3YWl0Rm9yKHdhaXRNaWxsaXNlY29uZHMsIHRoaXMuaXNSZXF1ZXN0aW5nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZU9uVG9rZW5SZXZva2VkKHJlc3BvbnNlOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmlzVGhpcmRQYXJ0eU1vZGUgJiYgcmVzcG9uc2U/LnRva2VuKSB7XHJcbiAgICAgIC8vIElmIHJlcXVlc3QgdGhpcmQgcGFydHkgdG9rZW4gcmVmcmVzaCwgdGhlIG5ldyBhY2Nlc3MgdG9rZW4gd2lsbCBiZSBpbiByZXNwb25zZS50b2tlbi5cclxuICAgICAgdGhpcy5hY2Nlc3NUb2tlbiA9IHJlc3BvbnNlLnRva2VuO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAocmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAvLyBJZiB0aGUgcmVzcG9uc2UgaXMgc3VjY2Vzc2Z1bCwgdXBkYXRlIHRoZSBhY2Nlc3MgdG9rZW5cclxuICAgICAgdGhpcy5hY2Nlc3NUb2tlbiA9IHJlc3BvbnNlLm1lc3NhZ2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBJZiB0aGUgcmVzcG9uc2UgaW5kaWNhdGVzIGFuIGVycm9yLCBpbnZva2UgdGhlIG9uUmV2b2tlVW5hdXRob3JpemVkIGhvb2tcclxuICAgICAgY29uc29sZS53YXJuKCdUb2tlbiByZXZvY2F0aW9uIGZhaWxlZCwgcmVmcmVzaCB0b2tlbiBpcyBleHBpcmVkLicsIHJlc3BvbnNlLm1lc3NhZ2UpO1xyXG4gICAgICBhd2FpdCBBcGlIZWxwZXIuaW52b2tlSG9vayh0aGlzLmNvbmZpZy5vblJldm9rZVVuYXV0aG9yaXplZCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBpbnRlcmNlcHRSZXZva2VUb2tlbigpIHtcclxuXHJcbiAgICBpZiAodGhpcy5pc1Jldm9raW5nVG9rZW4pIHtcclxuICAgICAgY29uc29sZS53YXJuKCdUb2tlbiBpcyBhbHJlYWR5IGJlaW5nIHJldm9rZWQuIFdhaXRpbmcgZm9yIHRoZSBjdXJyZW50IG9wZXJhdGlvbiB0byBjb21wbGV0ZS4uLicpO1xyXG4gICAgICBhd2FpdCB3YWl0VW50aWwoKCkgPT4gIXRoaXMuaXNSZXZva2luZ1Rva2VuKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnJlZnJlc2hUb2tlbikge1xyXG4gICAgICAvLyBhd2FpdCBBcGlIZWxwZXIuaW52b2tlSG9vayh0aGlzLmFwaUNvbmZpZ3Mub25BdXRvTG9nb3V0KTtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZWZyZXNoIHRva2VuIGlzIG1pc3NpbmcuIFBsZWFzZSBsb2dpbiBhZ2Fpbi4nKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlQ29uZmlnKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuY29uZmlnLnJlcXVpcmVkVGVuYW50XHJcbiAgICAgICYmICF0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy50ZW5hbnRUb2tlbj8ubmFtZT8udHJpbSgpLmxlbmd0aCkge1xyXG4gICAgICB0aHJvdyBFcnJvcignVGVuYW50IHRva2VuIGlzIHJlcXVpcmVkIGJ1dCB0ZW5hbnRUb2tlbk5hbWUgaXMgbm90IGNvbmZpZ3VyZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuY29uZmlnLnJlZnJlc2hUb2tlbj8ucmVxdWVzdFVybD8udHJpbSgpLmxlbmd0aCkge1xyXG4gICAgICB0aHJvdyBFcnJvcignUmV2b2tlIHRva2VuIFVSTCBpcyBub3QgY29uZmlndXJlZCAtIHRva2VuIHJlZnJlc2ggd2lsbCBub3Qgd29yaycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -8,6 +8,8 @@ LocalizeToken.httpHeaders = {
8
8
  X_TENANT: 'X-Tenant',
9
9
  X_REFRESH_TOKEN: 'X-RefreshToken',
10
10
  CONTENT_TYPE: 'Content-Type',
11
+ X_CLIENT: 'X-Client',
12
+ X_SECRET: 'X-Secret'
11
13
  };
12
14
  /**
13
15
  * Waits for a specified amount of time.
@@ -55,4 +57,4 @@ export function extractMainDomain(subdomain) {
55
57
  const parts = subdomain.split('.');
56
58
  return parts.length > 2 ? parts.slice(-2).join('.') : subdomain;
57
59
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9jYWxpemUtdG9rZW4vbG9jYWxpemUudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBc0JoRSxNQUFNLE9BQU8sYUFBYTs7QUFFUixxQkFBTyxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztBQUVyQyx5QkFBVyxHQUFHO0lBQzVCLGFBQWEsRUFBRSxlQUFlO0lBQzlCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLGVBQWUsRUFBRSxnQkFBZ0I7SUFDakMsWUFBWSxFQUFFLGNBQWM7Q0FDN0IsQ0FBQTtBQUlIOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFnQixPQUFPLENBQUMsWUFBb0IsRUFBRSxPQUFnQixJQUFJOztRQUN0RSxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDbEIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQUE7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFnQixTQUFTLENBQUMsSUFBZSxFQUFFLGlCQUF5QixFQUFFOztRQUUxRSxTQUFlLGNBQWM7O2dCQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLE9BQU87b0JBQ3BDLENBQUMsQ0FBQyxNQUFNLElBQUk7b0JBQ1osQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDVCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1NBQUE7UUFFRCxJQUFJLE1BQU0sY0FBYyxFQUFFO1lBQUUsT0FBTztRQUVuQyxNQUFNLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFCLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxHQUFTLEVBQUU7Z0JBQ3RDLElBQUksTUFBTSxjQUFjLEVBQUUsRUFBRTtvQkFDMUIsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2Y7WUFDSCxDQUFDLENBQUEsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FBQTtBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxTQUFrQjtJQUNsRCxTQUFTLGFBQVQsU0FBUyxjQUFULFNBQVMsSUFBVCxTQUFTLEdBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUM7SUFDdkMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDbEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsaXplVG9rZW5TdG9yYWdlIH0gZnJvbSBcIi4vbG9jYWxpemUudG9rZW4uc3RvcmFnZVwiO1xyXG5cclxuaW50ZXJmYWNlIElMb2NhbGl6ZVRva2VuVG9rZW5zIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcmVxdWVzdFVybD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTG9jYWxpemVUb2tlbkNvbmZpZyB7XHJcbiAgLyoqXHJcbiAgICogVGhlIG1haW4gZG9tYWluIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBzZXQgdGhlIGNvb2tpZXMgdG8gYmUgYXZhaWxhYmxlIGZvciBjcm9zcyBhcHBsaWNhdGlvbiB3aXRoIHN1YmRvbWFpbnMuXHJcbiAgICogXHJcbiAgICogRGVmYXVsdCBpcyBsb2NhdGlvbi5ob3N0bmFtZSAoY3VycmVudCBkb21haW4pIGFuZCBhdXRvbWF0aWNhbGx5IHNldCBleHRyYWN0ZWQgbWFpbiBkb21haW4gaWYgaXQgaXMgc3ViZG9tYWluLlxyXG4gICAqL1xyXG4gIG1haW5Eb21haW4/OiBzdHJpbmc7XHJcblxyXG4gIGlzUHJvZHVjdGlvbjogYm9vbGVhbjtcclxuICBhdXRoVG9rZW4/OiBJTG9jYWxpemVUb2tlblRva2VucztcclxuICByZWZyZXNoVG9rZW4/OiBJTG9jYWxpemVUb2tlblRva2VucztcclxuICB0ZW5hbnRUb2tlbj86IElMb2NhbGl6ZVRva2VuVG9rZW5zO1xyXG4gIHJlcXVpcmVkVGVuYW50PzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvY2FsaXplVG9rZW4ge1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgc3RvcmFnZSA9IG5ldyBMb2NhbGl6ZVRva2VuU3RvcmFnZSgpO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgaHR0cEhlYWRlcnMgPSB7XHJcbiAgICBBVVRIT1JJWkFUSU9OOiAnQXV0aG9yaXphdGlvbicsXHJcbiAgICBYX1RFTkFOVDogJ1gtVGVuYW50JyxcclxuICAgIFhfUkVGUkVTSF9UT0tFTjogJ1gtUmVmcmVzaFRva2VuJyxcclxuICAgIENPTlRFTlRfVFlQRTogJ0NvbnRlbnQtVHlwZScsXHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBXYWl0cyBmb3IgYSBzcGVjaWZpZWQgYW1vdW50IG9mIHRpbWUuXHJcbiAqIEBwYXJhbSBtaWxsaXNlY29uZHMgIC0gVGhlIG1pbGxpc2Vjb25kcyB0byB3YWl0LlxyXG4gKiBAcGFyYW0gd2hlbiAgLSBUaGUgY29uZGl0aW9uIHRvIHdhaXQgZm9yLiBEZWZhdWx0IGlzIHRydWUuXHJcbiAqIEByZXR1cm5zICAtIFByb21pc2U8dm9pZD5cclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YWl0Rm9yKG1pbGxpc2Vjb25kczogbnVtYmVyLCB3aGVuOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gIGlmICghd2hlbikgcmV0dXJuO1xyXG4gIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtaWxsaXNlY29uZHMpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqICBXYWl0cyB1bnRpbCB0aGUgY29uZGl0aW9uIGlzIG1ldC5cclxuICogQHBhcmFtIHdoZW4gIC0gVGhlIGNvbmRpdGlvbiB0byB3YWl0IGZvci5cclxuICogQHBhcmFtIGludGVydmFsTnVtYmVyICAtIFRoZSBpbnRlcnZhbCBudW1iZXIgaW4gbWlsbGlzZWNvbmRzIHRvIGNoZWNrIHRoZSBjb25kaXRpb24uIERlZmF1bHQgaXMgNTAuXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2FpdFVudGlsKHdoZW46ICgpID0+IGFueSwgaW50ZXJ2YWxOdW1iZXI6IG51bWJlciA9IDUwKSB7XHJcblxyXG4gIGFzeW5jIGZ1bmN0aW9uIGlzQ29uZGl0aW9uTWV0KCkge1xyXG4gICAgY29uc3QgY29uZCA9IHdoZW4oKTtcclxuICAgIGNvbnN0IHJlc3VsdCA9IGNvbmQgaW5zdGFuY2VvZiBQcm9taXNlXHJcbiAgICAgID8gYXdhaXQgY29uZFxyXG4gICAgICA6IGNvbmQ7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgaWYgKGF3YWl0IGlzQ29uZGl0aW9uTWV0KCkpIHJldHVybjtcclxuXHJcbiAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XHJcbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKGFzeW5jICgpID0+IHtcclxuICAgICAgaWYgKGF3YWl0IGlzQ29uZGl0aW9uTWV0KCkpIHtcclxuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcclxuICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9LCBpbnRlcnZhbE51bWJlcik7XHJcbiAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0TWFpbkRvbWFpbihzdWJkb21haW4/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gIHN1YmRvbWFpbiA/Pz0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xyXG4gIGNvbnN0IHBhcnRzID0gc3ViZG9tYWluLnNwbGl0KCcuJyk7XHJcbiAgcmV0dXJuIHBhcnRzLmxlbmd0aCA+IDIgPyBwYXJ0cy5zbGljZSgtMikuam9pbignLicpIDogc3ViZG9tYWluO1xyXG59Il19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9BTkdVTEFSL0xJQlJBUklFUy9sb2NhbGl6ZS50b2tlbi4xMi4xLjAvZGV2L3NyYy9sb2NhbGl6ZS10b2tlbi9sb2NhbGl6ZS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFrQ2hFLE1BQU0sT0FBTyxhQUFhOztBQUVSLHFCQUFPLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0FBRXJDLHlCQUFXLEdBQUc7SUFDNUIsYUFBYSxFQUFFLGVBQWU7SUFDOUIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsZUFBZSxFQUFFLGdCQUFnQjtJQUNqQyxZQUFZLEVBQUUsY0FBYztJQUM1QixRQUFRLEVBQUUsVUFBVTtJQUNwQixRQUFRLEVBQUUsVUFBVTtDQUNyQixDQUFBO0FBSUg7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQWdCLE9BQU8sQ0FBQyxZQUFvQixFQUFFLE9BQWdCLElBQUk7O1FBQ3RFLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUNsQixNQUFNLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FBQTtBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQWdCLFNBQVMsQ0FBQyxJQUFlLEVBQUUsaUJBQXlCLEVBQUU7O1FBRTFFLFNBQWUsY0FBYzs7Z0JBQzNCLE1BQU0sSUFBSSxHQUFHLElBQUksRUFBRSxDQUFDO2dCQUNwQixNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksT0FBTztvQkFDcEMsQ0FBQyxDQUFDLE1BQU0sSUFBSTtvQkFDWixDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNULE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7U0FBQTtRQUVELElBQUksTUFBTSxjQUFjLEVBQUU7WUFBRSxPQUFPO1FBRW5DLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQVMsRUFBRTtnQkFDdEMsSUFBSSxNQUFNLGNBQWMsRUFBRSxFQUFFO29CQUMxQixhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDZjtZQUNILENBQUMsQ0FBQSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUFBO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFNBQWtCO0lBQ2xELFNBQVMsYUFBVCxTQUFTLGNBQVQsU0FBUyxJQUFULFNBQVMsR0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBQztJQUN2QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLE9BQU8sS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU1ldGhvZCB9IGZyb20gXCIuL2hlbHBlcnMvaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuU3RvcmFnZSB9IGZyb20gXCIuL2xvY2FsaXplLnRva2VuLnN0b3JhZ2VcIjtcclxuXHJcbmludGVyZmFjZSBJTG9jYWxpemVUb2tlblRva2VucyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHJlcXVlc3RVcmw/OiBzdHJpbmc7XHJcbiAgbWV0aG9kPzogRU1ldGhvZDtcclxuICBib2R5Pzoge307XHJcbn1cclxuXHJcbmludGVyZmFjZSBJVGhpcmRQYXJ0eUNvbmZpZyB7XHJcbiAgY2xpZW50SWQ6IHN0cmluZztcclxuICBjbGllbnRTZWNyZXQ6IHN0cmluZztcclxuICByZWZyZXNoVG9rZW5Vcmw6IHN0cmluZztcclxuICBtZXRob2Q/OiBFTWV0aG9kO1xyXG4gIGJvZHk/OiB7fTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTG9jYWxpemVUb2tlbkNvbmZpZyB7XHJcbiAgLyoqXHJcbiAgICogVGhlIG1haW4gZG9tYWluIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBzZXQgdGhlIGNvb2tpZXMgdG8gYmUgYXZhaWxhYmxlIGZvciBjcm9zcyBhcHBsaWNhdGlvbiB3aXRoIHN1YmRvbWFpbnMuXHJcbiAgICogXHJcbiAgICogRGVmYXVsdCBpcyBsb2NhdGlvbi5ob3N0bmFtZSAoY3VycmVudCBkb21haW4pIGFuZCBhdXRvbWF0aWNhbGx5IHNldCBleHRyYWN0ZWQgbWFpbiBkb21haW4gaWYgaXQgaXMgc3ViZG9tYWluLlxyXG4gICAqL1xyXG4gIG1haW5Eb21haW4/OiBzdHJpbmc7XHJcbiAgaXNQcm9kdWN0aW9uOiBib29sZWFuO1xyXG4gIGF1dGhUb2tlbj86IElMb2NhbGl6ZVRva2VuVG9rZW5zO1xyXG4gIHJlZnJlc2hUb2tlbj86IElMb2NhbGl6ZVRva2VuVG9rZW5zO1xyXG4gIHRlbmFudFRva2VuPzogSUxvY2FsaXplVG9rZW5Ub2tlbnM7XHJcbiAgcmVxdWlyZWRUZW5hbnQ/OiBib29sZWFuO1xyXG5cclxuICBpc1RoaXJkUGFydHlNb2RlPzogYm9vbGVhbjtcclxuICB0aGlyZFBhcnR5Q29uZmlnPzogSVRoaXJkUGFydHlDb25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZVRva2VuIHtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IHN0b3JhZ2UgPSBuZXcgTG9jYWxpemVUb2tlblN0b3JhZ2UoKTtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IGh0dHBIZWFkZXJzID0ge1xyXG4gICAgQVVUSE9SSVpBVElPTjogJ0F1dGhvcml6YXRpb24nLFxyXG4gICAgWF9URU5BTlQ6ICdYLVRlbmFudCcsXHJcbiAgICBYX1JFRlJFU0hfVE9LRU46ICdYLVJlZnJlc2hUb2tlbicsXHJcbiAgICBDT05URU5UX1RZUEU6ICdDb250ZW50LVR5cGUnLFxyXG4gICAgWF9DTElFTlQ6ICdYLUNsaWVudCcsXHJcbiAgICBYX1NFQ1JFVDogJ1gtU2VjcmV0J1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgV2FpdHMgZm9yIGEgc3BlY2lmaWVkIGFtb3VudCBvZiB0aW1lLlxyXG4gKiBAcGFyYW0gbWlsbGlzZWNvbmRzICAtIFRoZSBtaWxsaXNlY29uZHMgdG8gd2FpdC5cclxuICogQHBhcmFtIHdoZW4gIC0gVGhlIGNvbmRpdGlvbiB0byB3YWl0IGZvci4gRGVmYXVsdCBpcyB0cnVlLlxyXG4gKiBAcmV0dXJucyAgLSBQcm9taXNlPHZvaWQ+XHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2FpdEZvcihtaWxsaXNlY29uZHM6IG51bWJlciwgd2hlbjogYm9vbGVhbiA9IHRydWUpIHtcclxuICBpZiAoIXdoZW4pIHJldHVybjtcclxuICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbWlsbGlzZWNvbmRzKSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgV2FpdHMgdW50aWwgdGhlIGNvbmRpdGlvbiBpcyBtZXQuXHJcbiAqIEBwYXJhbSB3aGVuICAtIFRoZSBjb25kaXRpb24gdG8gd2FpdCBmb3IuXHJcbiAqIEBwYXJhbSBpbnRlcnZhbE51bWJlciAgLSBUaGUgaW50ZXJ2YWwgbnVtYmVyIGluIG1pbGxpc2Vjb25kcyB0byBjaGVjayB0aGUgY29uZGl0aW9uLiBEZWZhdWx0IGlzIDUwLlxyXG4gKi9cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXRVbnRpbCh3aGVuOiAoKSA9PiBhbnksIGludGVydmFsTnVtYmVyOiBudW1iZXIgPSA1MCkge1xyXG5cclxuICBhc3luYyBmdW5jdGlvbiBpc0NvbmRpdGlvbk1ldCgpIHtcclxuICAgIGNvbnN0IGNvbmQgPSB3aGVuKCk7XHJcbiAgICBjb25zdCByZXN1bHQgPSBjb25kIGluc3RhbmNlb2YgUHJvbWlzZVxyXG4gICAgICA/IGF3YWl0IGNvbmRcclxuICAgICAgOiBjb25kO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIGlmIChhd2FpdCBpc0NvbmRpdGlvbk1ldCgpKSByZXR1cm47XHJcblxyXG4gIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xyXG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgIGlmIChhd2FpdCBpc0NvbmRpdGlvbk1ldCgpKSB7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XHJcbiAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgfVxyXG4gICAgfSwgaW50ZXJ2YWxOdW1iZXIpO1xyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdE1haW5Eb21haW4oc3ViZG9tYWluPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICBzdWJkb21haW4gPz89IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTtcclxuICBjb25zdCBwYXJ0cyA9IHN1YmRvbWFpbi5zcGxpdCgnLicpO1xyXG4gIHJldHVybiBwYXJ0cy5sZW5ndGggPiAyID8gcGFydHMuc2xpY2UoLTIpLmpvaW4oJy4nKSA6IHN1YmRvbWFpbjtcclxufSJdfQ==
@@ -11,4 +11,4 @@ LocalizeTokenModule.decorators = [
11
11
  ]
12
12
  },] }
13
13
  ];
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUudG9rZW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvY2FsaXplLXRva2VuL2xvY2FsaXplLnRva2VuLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBUTVELE1BQU0sT0FBTyxtQkFBbUI7OztZQU4vQixRQUFRLFNBQUM7Z0JBQ04sU0FBUyxFQUFFO29CQUNQLG9CQUFvQjtvQkFDcEIsa0JBQWtCO2lCQUNyQjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9jYWxpemVUb2tlblNlcnZpY2UgfSBmcm9tICcuL2xvY2FsaXplLnRva2VuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZUFwaVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsaXplLmFwaS5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBMb2NhbGl6ZVRva2VuU2VydmljZSxcclxuICAgICAgICBMb2NhbGl6ZUFwaVNlcnZpY2VcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplVG9rZW5Nb2R1bGUgeyB9Il19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUudG9rZW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQU5HVUxBUi9MSUJSQVJJRVMvbG9jYWxpemUudG9rZW4uMTIuMS4wL2Rldi9zcmMvbG9jYWxpemUtdG9rZW4vbG9jYWxpemUudG9rZW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFRNUQsTUFBTSxPQUFPLG1CQUFtQjs7O1lBTi9CLFFBQVEsU0FBQztnQkFDTixTQUFTLEVBQUU7b0JBQ1Asb0JBQW9CO29CQUNwQixrQkFBa0I7aUJBQ3JCO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuU2VydmljZSB9IGZyb20gJy4vbG9jYWxpemUudG9rZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsaXplQXBpU2VydmljZSB9IGZyb20gJy4vbG9jYWxpemUuYXBpLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIExvY2FsaXplVG9rZW5TZXJ2aWNlLFxyXG4gICAgICAgIExvY2FsaXplQXBpU2VydmljZVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxpemVUb2tlbk1vZHVsZSB7IH0iXX0=