@idea-ionic/auth 6.6.3 → 6.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,8 +14,8 @@ import * as i0 from "@angular/core";
14
14
  import * as i1 from "@angular/router";
15
15
  export class IDEAAuthModule {
16
16
  }
17
- IDEAAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IDEAAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
- IDEAAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IDEAAuthModule, declarations: [IDEASignInPage,
17
+ IDEAAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IDEAAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ IDEAAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: IDEAAuthModule, declarations: [IDEASignInPage,
19
19
  IDEASignUpPage,
20
20
  IDEANewPasswordPage,
21
21
  IDEAResendLinkPage,
@@ -24,22 +24,20 @@ IDEAAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
24
24
  FormsModule,
25
25
  IonicModule,
26
26
  IDEATranslationsModule, i1.RouterModule] });
27
- IDEAAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IDEAAuthModule, imports: [[
28
- CommonModule,
29
- FormsModule,
30
- IonicModule,
31
- IDEATranslationsModule,
32
- RouterModule.forChild([
33
- { path: '', redirectTo: 'sign-in', pathMatch: 'full' },
34
- { path: 'sign-in', component: IDEASignInPage },
35
- { path: 'sign-up', component: IDEASignUpPage },
36
- { path: 'new-password', component: IDEANewPasswordPage },
37
- { path: 'resend-link', component: IDEAResendLinkPage },
38
- { path: 'forgot-password', component: IDEAForgotPasswordPage },
39
- { path: 'confirm-password', component: IDEAConfirmPasswordPage }
40
- ])
41
- ]] });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IDEAAuthModule, decorators: [{
27
+ IDEAAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IDEAAuthModule, imports: [CommonModule,
28
+ FormsModule,
29
+ IonicModule,
30
+ IDEATranslationsModule,
31
+ RouterModule.forChild([
32
+ { path: '', redirectTo: 'sign-in', pathMatch: 'full' },
33
+ { path: 'sign-in', component: IDEASignInPage },
34
+ { path: 'sign-up', component: IDEASignUpPage },
35
+ { path: 'new-password', component: IDEANewPasswordPage },
36
+ { path: 'resend-link', component: IDEAResendLinkPage },
37
+ { path: 'forgot-password', component: IDEAForgotPasswordPage },
38
+ { path: 'confirm-password', component: IDEAConfirmPasswordPage }
39
+ ])] });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IDEAAuthModule, decorators: [{
43
41
  type: NgModule,
44
42
  args: [{
45
43
  imports: [
@@ -67,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
67
65
  ]
68
66
  }]
69
67
  }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2F1dGgvc3JjL2F1dGgubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBMkJqRSxNQUFNLE9BQU8sY0FBYzs7NEdBQWQsY0FBYzs2R0FBZCxjQUFjLGlCQVJ2QixjQUFjO1FBQ2QsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLHVCQUF1QixhQXBCdkIsWUFBWTtRQUNaLFdBQVc7UUFDWCxXQUFXO1FBQ1gsc0JBQXNCOzZHQW9CYixjQUFjLFlBeEJoQjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsV0FBVztZQUNYLHNCQUFzQjtZQUN0QixZQUFZLENBQUMsUUFBUSxDQUFDO2dCQUNwQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO2dCQUN0RCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFDOUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBQzlDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUU7Z0JBQ3hELEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUU7Z0JBQ3RELEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRTtnQkFDOUQsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFO2FBQ2pFLENBQUM7U0FDSDs0RkFVVSxjQUFjO2tCQXpCMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsc0JBQXNCO3dCQUN0QixZQUFZLENBQUMsUUFBUSxDQUFDOzRCQUNwQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFOzRCQUN0RCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTs0QkFDOUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7NEJBQzlDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUU7NEJBQ3hELEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUU7NEJBQ3RELEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRTs0QkFDOUQsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFO3lCQUNqRSxDQUFDO3FCQUNIO29CQUNELFlBQVksRUFBRTt3QkFDWixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3FCQUN4QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IElERUFUcmFuc2xhdGlvbnNNb2R1bGUgfSBmcm9tICdAaWRlYS1pb25pYy9jb21tb24nO1xuXG5pbXBvcnQgeyBJREVBU2lnbkluUGFnZSB9IGZyb20gJy4vc2lnbkluLnBhZ2UnO1xuaW1wb3J0IHsgSURFQVNpZ25VcFBhZ2UgfSBmcm9tICcuL3NpZ25VcC5wYWdlJztcbmltcG9ydCB7IElERUFOZXdQYXNzd29yZFBhZ2UgfSBmcm9tICcuL25ld1Bhc3N3b3JkLnBhZ2UnO1xuaW1wb3J0IHsgSURFQVJlc2VuZExpbmtQYWdlIH0gZnJvbSAnLi9yZXNlbmRMaW5rLnBhZ2UnO1xuaW1wb3J0IHsgSURFQUZvcmdvdFBhc3N3b3JkUGFnZSB9IGZyb20gJy4vZm9yZ290UGFzc3dvcmQucGFnZSc7XG5pbXBvcnQgeyBJREVBQ29uZmlybVBhc3N3b3JkUGFnZSB9IGZyb20gJy4vY29uZmlybVBhc3N3b3JkLnBhZ2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIElvbmljTW9kdWxlLFxuICAgIElERUFUcmFuc2xhdGlvbnNNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKFtcbiAgICAgIHsgcGF0aDogJycsIHJlZGlyZWN0VG86ICdzaWduLWluJywgcGF0aE1hdGNoOiAnZnVsbCcgfSxcbiAgICAgIHsgcGF0aDogJ3NpZ24taW4nLCBjb21wb25lbnQ6IElERUFTaWduSW5QYWdlIH0sXG4gICAgICB7IHBhdGg6ICdzaWduLXVwJywgY29tcG9uZW50OiBJREVBU2lnblVwUGFnZSB9LFxuICAgICAgeyBwYXRoOiAnbmV3LXBhc3N3b3JkJywgY29tcG9uZW50OiBJREVBTmV3UGFzc3dvcmRQYWdlIH0sXG4gICAgICB7IHBhdGg6ICdyZXNlbmQtbGluaycsIGNvbXBvbmVudDogSURFQVJlc2VuZExpbmtQYWdlIH0sXG4gICAgICB7IHBhdGg6ICdmb3Jnb3QtcGFzc3dvcmQnLCBjb21wb25lbnQ6IElERUFGb3Jnb3RQYXNzd29yZFBhZ2UgfSxcbiAgICAgIHsgcGF0aDogJ2NvbmZpcm0tcGFzc3dvcmQnLCBjb21wb25lbnQ6IElERUFDb25maXJtUGFzc3dvcmRQYWdlIH1cbiAgICBdKVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBJREVBU2lnbkluUGFnZSxcbiAgICBJREVBU2lnblVwUGFnZSxcbiAgICBJREVBTmV3UGFzc3dvcmRQYWdlLFxuICAgIElERUFSZXNlbmRMaW5rUGFnZSxcbiAgICBJREVBRm9yZ290UGFzc3dvcmRQYWdlLFxuICAgIElERUFDb25maXJtUGFzc3dvcmRQYWdlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSURFQUF1dGhNb2R1bGUge31cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2F1dGgvc3JjL2F1dGgubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBMkJqRSxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQVJ2QixjQUFjO1FBQ2QsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLHVCQUF1QixhQXBCdkIsWUFBWTtRQUNaLFdBQVc7UUFDWCxXQUFXO1FBQ1gsc0JBQXNCOzRHQW9CYixjQUFjLFlBdkJ2QixZQUFZO1FBQ1osV0FBVztRQUNYLFdBQVc7UUFDWCxzQkFBc0I7UUFDdEIsWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUNwQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO1lBQ3RELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO1lBQzlDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO1lBQzlDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUU7WUFDeEQsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRTtZQUN0RCxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUU7WUFDOUQsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFO1NBQ2pFLENBQUM7MkZBV08sY0FBYztrQkF6QjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxXQUFXO3dCQUNYLHNCQUFzQjt3QkFDdEIsWUFBWSxDQUFDLFFBQVEsQ0FBQzs0QkFDcEIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTs0QkFDdEQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7NEJBQzlDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFOzRCQUM5QyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFOzRCQUN4RCxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFOzRCQUN0RCxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUU7NEJBQzlELEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRTt5QkFDakUsQ0FBQztxQkFDSDtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osY0FBYzt3QkFDZCxjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHVCQUF1QjtxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBJREVBVHJhbnNsYXRpb25zTW9kdWxlIH0gZnJvbSAnQGlkZWEtaW9uaWMvY29tbW9uJztcblxuaW1wb3J0IHsgSURFQVNpZ25JblBhZ2UgfSBmcm9tICcuL3NpZ25Jbi5wYWdlJztcbmltcG9ydCB7IElERUFTaWduVXBQYWdlIH0gZnJvbSAnLi9zaWduVXAucGFnZSc7XG5pbXBvcnQgeyBJREVBTmV3UGFzc3dvcmRQYWdlIH0gZnJvbSAnLi9uZXdQYXNzd29yZC5wYWdlJztcbmltcG9ydCB7IElERUFSZXNlbmRMaW5rUGFnZSB9IGZyb20gJy4vcmVzZW5kTGluay5wYWdlJztcbmltcG9ydCB7IElERUFGb3Jnb3RQYXNzd29yZFBhZ2UgfSBmcm9tICcuL2ZvcmdvdFBhc3N3b3JkLnBhZ2UnO1xuaW1wb3J0IHsgSURFQUNvbmZpcm1QYXNzd29yZFBhZ2UgfSBmcm9tICcuL2NvbmZpcm1QYXNzd29yZC5wYWdlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBJb25pY01vZHVsZSxcbiAgICBJREVBVHJhbnNsYXRpb25zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZS5mb3JDaGlsZChbXG4gICAgICB7IHBhdGg6ICcnLCByZWRpcmVjdFRvOiAnc2lnbi1pbicsIHBhdGhNYXRjaDogJ2Z1bGwnIH0sXG4gICAgICB7IHBhdGg6ICdzaWduLWluJywgY29tcG9uZW50OiBJREVBU2lnbkluUGFnZSB9LFxuICAgICAgeyBwYXRoOiAnc2lnbi11cCcsIGNvbXBvbmVudDogSURFQVNpZ25VcFBhZ2UgfSxcbiAgICAgIHsgcGF0aDogJ25ldy1wYXNzd29yZCcsIGNvbXBvbmVudDogSURFQU5ld1Bhc3N3b3JkUGFnZSB9LFxuICAgICAgeyBwYXRoOiAncmVzZW5kLWxpbmsnLCBjb21wb25lbnQ6IElERUFSZXNlbmRMaW5rUGFnZSB9LFxuICAgICAgeyBwYXRoOiAnZm9yZ290LXBhc3N3b3JkJywgY29tcG9uZW50OiBJREVBRm9yZ290UGFzc3dvcmRQYWdlIH0sXG4gICAgICB7IHBhdGg6ICdjb25maXJtLXBhc3N3b3JkJywgY29tcG9uZW50OiBJREVBQ29uZmlybVBhc3N3b3JkUGFnZSB9XG4gICAgXSlcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgSURFQVNpZ25JblBhZ2UsXG4gICAgSURFQVNpZ25VcFBhZ2UsXG4gICAgSURFQU5ld1Bhc3N3b3JkUGFnZSxcbiAgICBJREVBUmVzZW5kTGlua1BhZ2UsXG4gICAgSURFQUZvcmdvdFBhc3N3b3JkUGFnZSxcbiAgICBJREVBQ29uZmlybVBhc3N3b3JkUGFnZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIElERUFBdXRoTW9kdWxlIHt9XG4iXX0=
@@ -309,10 +309,10 @@ export class IDEAAuthService {
309
309
  });
310
310
  }
311
311
  }
312
- IDEAAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IDEAAuthService, deps: [{ token: i1.IDEAStorageService }], target: i0.ɵɵFactoryTarget.Injectable });
313
- IDEAAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IDEAAuthService, providedIn: 'root' });
314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IDEAAuthService, decorators: [{
312
+ IDEAAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IDEAAuthService, deps: [{ token: i1.IDEAStorageService }], target: i0.ɵɵFactoryTarget.Injectable });
313
+ IDEAAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IDEAAuthService, providedIn: 'root' });
314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IDEAAuthService, decorators: [{
315
315
  type: Injectable,
316
316
  args: [{ providedIn: 'root' }]
317
317
  }], ctorParameters: function () { return [{ type: i1.IDEAStorageService }]; } });
318
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbW9kdWxlcy9hdXRoL3NyYy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLG1CQUFtQixFQUdwQixNQUFNLDRCQUE0QixDQUFDO0FBSXBDLE9BQU8sRUFBRSxXQUFXLElBQUksR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFFMUM7O0dBRUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUVoRTs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFBc0IsT0FBMkI7UUFBM0IsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQztZQUNsQyxVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVTtZQUN0QyxRQUFRLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCO1NBQzNDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNPLGtCQUFrQixDQUFDLFFBQWdCLEVBQUUsR0FBVztRQUN4RCxPQUFPLElBQUkscUJBQXFCLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFDRDs7T0FFRztJQUNPLGtCQUFrQixDQUFDLFFBQWdCO1FBQzNDLE9BQU8sSUFBSSxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0Q7O09BRUc7SUFDTyxvQkFBb0IsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN4RCxPQUFPLElBQUksb0JBQW9CLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQzdDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsNkNBQTZDO1lBQzdDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxFQUFFO2dCQUM5RixTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDL0IsU0FBUyxFQUFFLENBQUMsR0FBVSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2dCQUN0QyxtQkFBbUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2FBQ3pDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNEOztPQUVHO0lBQ0ksa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxZQUFvQixFQUFFLFdBQW1CO1FBQ25GLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsOEJBQThCO1lBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsRUFBRTtnQkFDckUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRTtnQkFDMUIsU0FBUyxFQUFFLENBQUMsR0FBVSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2dCQUN0QyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7Z0JBQ3hCLHNDQUFzQztnQkFDdEMsSUFBSSxDQUFDLDRCQUE0QixDQUMvQixXQUFXLEVBQ1gsRUFBRSxFQUNGO29CQUNFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUU7b0JBQzFCLFNBQVMsRUFBRSxDQUFDLEdBQVUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztpQkFDdkMsQ0FDRjthQUNKLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNEOztPQUVHO0lBQ0ksUUFBUSxDQUFDLFFBQWdCLEVBQUUsUUFBZ0IsRUFBRSxVQUFnQjtRQUNsRSxVQUFVLEdBQUcsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUM5QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLHlEQUF5RDtZQUN6RCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDakIsS0FBSyxNQUFNLElBQUksSUFBSSxVQUFVO2dCQUMzQixJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEYsc0VBQXNFO1lBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztnQkFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNoRixvQ0FBb0M7WUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBVSxFQUFFLEdBQWtCLEVBQUUsRUFBRSxDQUN2RixHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FDdEMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNEOztPQUVHO0lBQ0ksbUJBQW1CLENBQUMsUUFBZ0IsRUFBRSxJQUFZO1FBQ3ZELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFVLEVBQUUsRUFBRSxDQUMvRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQzlCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRDs7T0FFRztJQUNJLHNCQUFzQixDQUFDLFFBQWdCO1FBQzVDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsR0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0Q7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBNkI7UUFDekMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQywyQ0FBMkM7WUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2hELG1DQUFtQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQy9DLCtCQUErQjtnQkFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBVSxFQUFFLEVBQUU7b0JBQ25DLHFHQUFxRztvQkFDckcsSUFBSSxHQUFHO3dCQUFFLE9BQU8sT0FBTyxFQUFFLENBQUM7b0JBQzFCLG9EQUFvRDtvQkFDcEQsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUI7d0JBQUUsTUFBTSxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3pGLDZFQUE2RTtvQkFDN0UsSUFBSSxPQUFPLENBQUMsTUFBTTt3QkFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7eUJBQ2pHO3dCQUNILElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzt3QkFDZixPQUFPLEVBQUUsQ0FBQztxQkFDWDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRDs7T0FFRztJQUNJLGNBQWMsQ0FBQyxRQUFnQjtRQUNwQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxjQUFjLENBQUM7Z0JBQy9DLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUU7Z0JBQzFCLFNBQVMsRUFBRSxDQUFDLEdBQVUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUN2QyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRDs7T0FFRztJQUNJLGVBQWUsQ0FBQyxRQUFnQixFQUFFLElBQVksRUFBRSxNQUFjO1FBQ25FLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsMENBQTBDO1lBQzFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDOUQsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRTtnQkFDMUIsU0FBUyxFQUFFLENBQUMsR0FBVSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2FBQ3ZDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNEOzs7O09BSUc7SUFDSSxlQUFlLENBQUMsY0FBdUIsRUFBRSxvQkFBcUQ7UUFDbkcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLGNBQWMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pHLDRGQUE0RjtnQkFDNUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7b0JBQzlDLDJDQUEyQztxQkFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ3hELENBQUM7YUFDSDtpQkFBTTtnQkFDTCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsSUFBSTtvQkFBRSxPQUFPLE1BQU0sRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBVSxFQUFFLE9BQTJCLEVBQUUsRUFBRTtvQkFDMUQsSUFBSSxHQUFHO3dCQUFFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM1QixzQkFBc0I7b0JBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQVEsRUFBRSxVQUFrQyxFQUFFLEVBQUU7d0JBQ3RFLElBQUksQ0FBQzs0QkFBRSxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDeEIsd0JBQXdCO3dCQUN4QixNQUFNLFdBQVcsR0FBUSxFQUFFLENBQUM7d0JBQzVCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUMzRiwwQ0FBMEM7d0JBQzFDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQzt3QkFDN0QsTUFBTSxNQUFNLEdBQWEsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO3dCQUM3RCxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDO3dCQUMvQixtR0FBbUc7d0JBQ25HLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLEVBQUU7NEJBQ3hDLDJEQUEyRDs0QkFDM0QsSUFBSSxHQUFHO2dDQUFFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUM1QiwyRUFBMkU7NEJBQzNFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDOzRCQUMzRSxrRkFBa0Y7NEJBQ2xGLFVBQVUsQ0FDUixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsb0JBQW9CLENBQUMsRUFDM0YsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQ2YsQ0FBQyxDQUFDLG1CQUFtQjs0QkFDdEIscUZBQXFGOzRCQUNyRixJQUFJLGNBQWM7Z0NBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLENBQUM7NEJBQ3JFLHVDQUF1Qzs0QkFDdkMsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO3dCQUN4RSxDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0Q7O09BRUc7SUFDTyxjQUFjLENBQUMsSUFBaUIsRUFBRSxZQUFvQixFQUFFLFFBQXdDO1FBQ3hHLElBQUksQ0FBQyxjQUFjLENBQ2pCLElBQUksbUJBQW1CLENBQUMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFDdkQsQ0FBQyxHQUFVLEVBQUUsT0FBMkIsRUFBRSxFQUFFO1lBQzFDLElBQUksR0FBRyxFQUFFO2dCQUNQLHdCQUF3QjtnQkFDeEIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO2FBQ3BGO2lCQUFNO2dCQUNMLDJFQUEyRTtnQkFDM0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQzNFLDBCQUEwQjtnQkFDMUIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUM1RyxrQ0FBa0M7Z0JBQ2xDLElBQUksUUFBUTtvQkFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7YUFDNUQ7UUFDSCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFDRDs7Ozs7T0FLRztJQUNPLGlCQUFpQixDQUFDLFdBQWdCLEVBQUUsUUFBK0I7UUFDM0UsTUFBTSxNQUFNLEdBQWEsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLG1EQUFtRDtRQUNuRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELElBQUksT0FBTztZQUFFLE9BQU8sUUFBUSxFQUFFLENBQUM7UUFDL0IsNkZBQTZGO1FBQzdGLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDakQsSUFBSSxPQUFPO1lBQUUsT0FBTyxRQUFRLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUN0RCx3RkFBd0Y7UUFDeEYsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUI7WUFBRSxPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0csd0JBQXdCO1FBQ3hCLFFBQVEsRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUNEOztPQUVHO0lBQ08sS0FBSyxDQUFDLDRCQUE0QixDQUFDLFdBQWdCLEVBQUUsUUFBK0I7UUFDNUYsdURBQXVEO1FBQ3ZELElBQUksZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0QsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN4RCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzNEO1FBQ0Qsc0ZBQXNGO1FBQ3RGLE1BQU0sK0JBQStCLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDMUUsd0ZBQXdGO1FBQ3hGLElBQUksQ0FBQywrQkFBK0IsRUFBRTtZQUNwQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsZ0JBQWdCLENBQUM7aUJBQzlDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztpQkFDdEIsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RCx1Q0FBdUM7U0FDeEM7YUFBTSxJQUFJLCtCQUErQixLQUFLLGdCQUFnQjtZQUFFLFFBQVEsRUFBRSxDQUFDO1FBQzVFLGlFQUFpRTs7WUFDNUQsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0Q7O09BRUc7SUFDTywwQkFBMEIsQ0FBQyxTQUFrQjtRQUNyRCxNQUFNLFVBQVUsR0FBUSxFQUFFLENBQUM7UUFDM0IsK0RBQStEO1FBQy9ELFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLFNBQVMsSUFBSSxFQUFFLENBQUM7UUFDbkQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNEOztPQUVHO0lBQ0ksb0JBQW9CLENBQUMsVUFBZTtRQUN6QyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLDJDQUEyQztZQUMzQyxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBTyxDQUFDO1lBQy9CLEtBQUssTUFBTSxJQUFJLElBQUksVUFBVTtnQkFDM0IsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUztvQkFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxJQUFJO2dCQUFFLE9BQU8sTUFBTSxFQUFFLENBQUM7WUFDM0Isb0RBQW9EO1lBQ3BELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFVLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxHQUFHO29CQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzs7b0JBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvRSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NkdBcFNVLGVBQWU7aUhBQWYsZUFBZSxjQURGLE1BQU07NEZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXV0aGVudGljYXRpb25EZXRhaWxzLFxuICBDb2duaXRvVXNlcixcbiAgQ29nbml0b1VzZXJBdHRyaWJ1dGUsXG4gIENvZ25pdG9Vc2VyUG9vbCxcbiAgQ29nbml0b1JlZnJlc2hUb2tlbixcbiAgQ29nbml0b1VzZXJTZXNzaW9uLFxuICBJU2lnblVwUmVzdWx0XG59IGZyb20gJ2FtYXpvbi1jb2duaXRvLWlkZW50aXR5LWpzJztcblxuaW1wb3J0IHsgSURFQVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlkZWEtaW9uaWMvY29tbW9uJztcblxuaW1wb3J0IHsgZW52aXJvbm1lbnQgYXMgZW52IH0gZnJvbSAnQGVudic7XG5cbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIENvZ25pdG8ncyB1c2VyIGF0dHJpYnV0ZSB3aGljaCBjb250YWlucyB0aGUga2V5IG9mIHRoZSBsYXN0IGRldmljZSB0byBsb2dpbiBpbiB0aGlzIHByb2plY3QuXG4gKi9cbmNvbnN0IERFVklDRV9LRVlfQVRUUklCVVRFID0gJ2N1c3RvbTonLmNvbmNhdChlbnYuaWRlYS5wcm9qZWN0KTtcblxuLyoqXG4gKiBDb2duaXRvIHdyYXBwZXIgdG8gbWFuYWdlIHRoZSBhdXRoZW50aWNhdGlvbiBmbG93LlxuICpcbiAqIE5vdGU6IGluIElERUEncyBDb2duaXRvIHVzZXJzIHBvb2xzLCB0aGUgZW1haWwgaXMgYW4gYWxpYXMgb2YgdGhlIHVzZXJuYW1lLlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIElERUFBdXRoU2VydmljZSB7XG4gIHByb3RlY3RlZCB1c2VyUG9vbDogQ29nbml0b1VzZXJQb29sO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzdG9yYWdlOiBJREVBU3RvcmFnZVNlcnZpY2UpIHtcbiAgICB0aGlzLnVzZXJQb29sID0gbmV3IENvZ25pdG9Vc2VyUG9vbCh7XG4gICAgICBVc2VyUG9vbElkOiBlbnYuYXdzLmNvZ25pdG8udXNlclBvb2xJZCxcbiAgICAgIENsaWVudElkOiBlbnYuYXdzLmNvZ25pdG8udXNlclBvb2xDbGllbnRJZFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXBhcmUgdGhlIG5lY2Vzc2FyeSBzdHJ1Y3R1cmUgdG8gZ2V0IGF1dGhvcml6ZWQgaW4gQ29nbml0by5cbiAgICovXG4gIHByb3RlY3RlZCBwcmVwYXJlQXV0aERldGFpbHModXNlcm5hbWU6IHN0cmluZywgcHdkOiBzdHJpbmcpOiBBdXRoZW50aWNhdGlvbkRldGFpbHMge1xuICAgIHJldHVybiBuZXcgQXV0aGVudGljYXRpb25EZXRhaWxzKHsgVXNlcm5hbWU6IHVzZXJuYW1lLCBQYXNzd29yZDogcHdkIH0pO1xuICB9XG4gIC8qKlxuICAgKiBQcmVwYXJlIHRoZSBuZWNlc3Nhcnkgc3RydWN0dXJlIHRvIGlkZW50aWZ5IGEgQ29nbml0byB1c2VyLlxuICAgKi9cbiAgcHJvdGVjdGVkIHByZXBhcmVDb2duaXRvVXNlcih1c2VybmFtZTogc3RyaW5nKTogQ29nbml0b1VzZXIge1xuICAgIHJldHVybiBuZXcgQ29nbml0b1VzZXIoeyBVc2VybmFtZTogdXNlcm5hbWUsIFBvb2w6IHRoaXMudXNlclBvb2wgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFByZXBhcmUgYSB1c2VyIGF0dHJpYnV0ZSAodGhleSBhcmUgYWxsIHN0cmluZ3MpIGluIENvZ25pdG8ncyBmb3JtYXQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcHJlcGFyZVVzZXJBdHRyaWJ1dGUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogQ29nbml0b1VzZXJBdHRyaWJ1dGUge1xuICAgIHJldHVybiBuZXcgQ29nbml0b1VzZXJBdHRyaWJ1dGUoeyBOYW1lOiBuYW1lLCBWYWx1ZTogdmFsdWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybSBhIGxvZ2luIHRocm91Z2ggdXNlcm5hbWUgYW5kIHBhc3N3b3JkLlxuICAgKi9cbiAgcHVibGljIGxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgLy8gZ2V0IGEgY29nbml0byB1c2VyIGFuZCB0cnkgdG8gYXV0aGVudGljYXRlXG4gICAgICB0aGlzLnByZXBhcmVDb2duaXRvVXNlcih1c2VybmFtZSkuYXV0aGVudGljYXRlVXNlcih0aGlzLnByZXBhcmVBdXRoRGV0YWlscyh1c2VybmFtZSwgcGFzc3dvcmQpLCB7XG4gICAgICAgIG9uU3VjY2VzczogKCkgPT4gcmVzb2x2ZShmYWxzZSksXG4gICAgICAgIG9uRmFpbHVyZTogKGVycjogRXJyb3IpID0+IHJlamVjdChlcnIpLFxuICAgICAgICBuZXdQYXNzd29yZFJlcXVpcmVkOiAoKSA9PiByZXNvbHZlKHRydWUpXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQ29tcGxldGUgYSBjb21wbGV0ZSBuZXcgcGFzc3dvcmQgZmxvdyBpbiB0aGUgYXV0aGVudGljYXRpb24uXG4gICAqL1xuICBwdWJsaWMgY29uZmlybU5ld1Bhc3N3b3JkKHVzZXJuYW1lOiBzdHJpbmcsIHRlbXBQYXNzd29yZDogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIC8vIGxvZ2luIHdpdGggdGhlIG9sZCBwYXNzd29yZFxuICAgICAgY29uc3QgdXNlciA9IHRoaXMucHJlcGFyZUNvZ25pdG9Vc2VyKHVzZXJuYW1lKTtcbiAgICAgIHVzZXIuYXV0aGVudGljYXRlVXNlcih0aGlzLnByZXBhcmVBdXRoRGV0YWlscyh1c2VybmFtZSwgdGVtcFBhc3N3b3JkKSwge1xuICAgICAgICBvblN1Y2Nlc3M6ICgpID0+IHJlc29sdmUoKSxcbiAgICAgICAgb25GYWlsdXJlOiAoZXJyOiBFcnJvcikgPT4gcmVqZWN0KGVyciksXG4gICAgICAgIG5ld1Bhc3N3b3JkUmVxdWlyZWQ6ICgpID0+XG4gICAgICAgICAgLy8gY29tcGxldGUgdGhlIG5ldyBwYXNzd29yZCBjaGFsbGVuZ2VcbiAgICAgICAgICB1c2VyLmNvbXBsZXRlTmV3UGFzc3dvcmRDaGFsbGVuZ2UoXG4gICAgICAgICAgICBuZXdQYXNzd29yZCxcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBvblN1Y2Nlc3M6ICgpID0+IHJlc29sdmUoKSxcbiAgICAgICAgICAgICAgb25GYWlsdXJlOiAoZXJyOiBFcnJvcikgPT4gcmVqZWN0KGVycilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogUmVnaXN0ZXIgYSBuZXcgdXNlciBhIHNldCBpdHMgZGVmYXVsdCBhdHRyaWJ1dGVzLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIGF0dHJpYnV0ZXM/OiBhbnkpOiBQcm9taXNlPENvZ25pdG9Vc2VyPiB7XG4gICAgYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXMgfHwge307XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIC8vIGFkZCBhdHRyaWJ1dGVzIGxpa2UgdGhlIGVtYWlsIGFkZHJlc3MgYW5kIHRoZSBmdWxsbmFtZVxuICAgICAgY29uc3QgYXR0cnMgPSBbXTtcbiAgICAgIGZvciAoY29uc3QgcHJvcCBpbiBhdHRyaWJ1dGVzKVxuICAgICAgICBpZiAoYXR0cmlidXRlc1twcm9wXSkgYXR0cnMucHVzaCh0aGlzLnByZXBhcmVVc2VyQXR0cmlidXRlKHByb3AsIGF0dHJpYnV0ZXNbcHJvcF0pKTtcbiAgICAgIC8vIGFkZCB0aGUgZW1haWwsIHdoaWNoIGlzIGVxdWFsIHRvIHRoZSB1c2VybmFtZSBmb3IgbW9zdCBvZiBvdXIgUG9vbHNcbiAgICAgIGlmICghYXR0cmlidXRlcy5lbWFpbCkgYXR0cnMucHVzaCh0aGlzLnByZXBhcmVVc2VyQXR0cmlidXRlKCdlbWFpbCcsIHVzZXJuYW1lKSk7XG4gICAgICAvLyByZWdpc3RlciB0aGUgbmV3IHVzZXIgdG8gdGhlIHBvb2xcbiAgICAgIHRoaXMudXNlclBvb2wuc2lnblVwKHVzZXJuYW1lLCBwYXNzd29yZCwgYXR0cnMsIG51bGwsIChlcnI6IEVycm9yLCByZXM6IElTaWduVXBSZXN1bHQpID0+XG4gICAgICAgIGVyciA/IHJlamVjdChlcnIpIDogcmVzb2x2ZShyZXMudXNlcilcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIENvbmZpcm0gYSBuZXcgcmVnaXN0cmF0aW9uIHRocm91Z2ggdGhlIGNvbmZpcm1hdGlvbiBjb2RlIHNlbnQgYnkgQ29nbml0by5cbiAgICovXG4gIHB1YmxpYyBjb25maXJtUmVnaXN0cmF0aW9uKHVzZXJuYW1lOiBzdHJpbmcsIGNvZGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLnByZXBhcmVDb2duaXRvVXNlcih1c2VybmFtZSkuY29uZmlybVJlZ2lzdHJhdGlvbihjb2RlLCB0cnVlLCAoZXJyOiBFcnJvcikgPT5cbiAgICAgICAgZXJyID8gcmVqZWN0KGVycikgOiByZXNvbHZlKClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFNlbmQgYWdhaW4gYSBjb25maXJtYXRpb24gY29kZSBmb3IgYSBuZXcgcmVnaXN0cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlc2VuZENvbmZpcm1hdGlvbkNvZGUodXNlcm5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLnByZXBhcmVDb2duaXRvVXNlcih1c2VybmFtZSkucmVzZW5kQ29uZmlybWF0aW9uQ29kZSgoZXJyOiBFcnJvcikgPT4gKGVyciA/IHJlamVjdChlcnIpIDogcmVzb2x2ZSgpKSk7XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIExvZ291dCB0aGUgY3VycmVudGx5IHNpZ25lZC1pbiB1c2VyLlxuICAgKi9cbiAgcHVibGljIGxvZ291dChvcHRpb25zPzogeyBnbG9iYWw6IGJvb2xlYW4gfSk6IFByb21pc2U8dm9pZD4ge1xuICAgIG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHsgZ2xvYmFsOiBmYWxzZSB9LCBvcHRpb25zKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgLy8gcmVtb3ZlIHRoZSByZWZyZXNoIHRva2VuIHByZXZpb3NseSBzYXZlZFxuICAgICAgdGhpcy5zdG9yYWdlLnJlbW92ZSgnQXV0aFJlZnJlc2hUb2tlbicpLnRoZW4oKCkgPT5cbiAgICAgICAgLy8gcmVtb3ZlIHRoZSBvcHRpb25hbCBhdXRoIGRldGFpbHNcbiAgICAgICAgdGhpcy5zdG9yYWdlLnJlbW92ZSgnQXV0aFVzZXJEZXRhaWxzJykudGhlbigoKSA9PiB7XG4gICAgICAgICAgLy8gZ2V0IHRoZSB1c2VyIGFuZCB0aGUgc2Vzc2lvblxuICAgICAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLnVzZXJQb29sLmdldEN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgdXNlci5nZXRTZXNzaW9uKGFzeW5jIChlcnI6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICAvLyBpZiB0aGUgc2Vzc2lvbiBpcyBhY3RpdmUsIHJ1biB0aGUgb25saW5lIHNpZ24tb3V0OyBvdGhlcndpc2UsIG9ubHkgdGhlIGxvY2FsIGRhdGEgaGFzIGJlZW4gZGVsZXRlZFxuICAgICAgICAgICAgaWYgKGVycikgcmV0dXJuIHJlc29sdmUoKTtcbiAgICAgICAgICAgIC8vIGlmIGEgcmVmZXJlbmNlIHRvIHRoZSBkZXZpY2Ugd2FzIHNhdmVkLCBmb3JnZXQgaXRcbiAgICAgICAgICAgIGlmIChlbnYuaWRlYS5hdXRoLnNpbmdsZVNpbXVsdGFuZW91c1Nlc3Npb24pIGF3YWl0IHRoaXMuc2V0Q3VycmVudERldmljZUZvclByb2plY3QobnVsbCk7XG4gICAgICAgICAgICAvLyBzaWduLW91dCBmcm9tIHRoZSBwb29sICh0ZXJtaW5hdGUgdGhlIGN1cnJlbnQgc2Vzc2lvbiBvciBhbGwgdGhlIHNlc3Npb25zKVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuZ2xvYmFsKSB1c2VyLmdsb2JhbFNpZ25PdXQoeyBvblN1Y2Nlc3M6ICgpID0+IHJlc29sdmUoKSwgb25GYWlsdXJlOiBlcnIgPT4gcmVqZWN0KGVycikgfSk7XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgdXNlci5zaWduT3V0KCk7XG4gICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFNlbmQgYSBwYXNzd29yZCByZXNldCByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGZvcmdvdFBhc3N3b3JkKHVzZXJuYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5wcmVwYXJlQ29nbml0b1VzZXIodXNlcm5hbWUpLmZvcmdvdFBhc3N3b3JkKHtcbiAgICAgICAgb25TdWNjZXNzOiAoKSA9PiByZXNvbHZlKCksXG4gICAgICAgIG9uRmFpbHVyZTogKGVycjogRXJyb3IpID0+IHJlamVjdChlcnIpXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQ29uZmlybSBhIG5ldyBwYXNzd29yZCBhZnRlciBhIHBhc3N3b3JkIHJlc2V0IHJlcXVlc3QuXG4gICAqL1xuICBwdWJsaWMgY29uZmlybVBhc3N3b3JkKHVzZXJuYW1lOiBzdHJpbmcsIGNvZGU6IHN0cmluZywgbmV3UHdkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgLy8gZ2V0IHRoZSB1c2VyIGFuZCBjb25maXJtIGEgbmV3IHBhc3N3b3JkXG4gICAgICB0aGlzLnByZXBhcmVDb2duaXRvVXNlcih1c2VybmFtZSkuY29uZmlybVBhc3N3b3JkKGNvZGUsIG5ld1B3ZCwge1xuICAgICAgICBvblN1Y2Nlc3M6ICgpID0+IHJlc29sdmUoKSxcbiAgICAgICAgb25GYWlsdXJlOiAoZXJyOiBFcnJvcikgPT4gcmVqZWN0KGVycilcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIHVzZXIgaXMgY3VycmVudGx5IGF1dGhlbnRpY2F0ZWQuXG4gICAqIEBwYXJhbSBvZmZsaW5lQWxsb3dlZCBpZiBzZXQgYW5kIGlmIG9mZmxpbmUsIHNraXAgYXV0aGVudGljYXRpb24gYW5kIHJldHJpZXZlIGRhdGEgbG9jYWxseVxuICAgKiBAcGFyYW0gZ2V0RnJlc2hJZFRva2VuT25FeHAgY2IgZnVuY3Rpb24gdG8gZXhlY3V0ZSB3aGVuIHRoZSBpZFRva2VuIGlzIHJlZnJlc2hlZFxuICAgKi9cbiAgcHVibGljIGlzQXV0aGVudGljYXRlZChvZmZsaW5lQWxsb3dlZDogYm9vbGVhbiwgZ2V0RnJlc2hJZFRva2VuT25FeHA/OiAoZnJlc2hJZFRva2VuOiBzdHJpbmcpID0+IHZvaWQpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAob2ZmbGluZUFsbG93ZWQgJiYgIW5hdmlnYXRvci5vbkxpbmUpIHtcbiAgICAgICAgdGhpcy5zdG9yYWdlLmdldCgnQXV0aFVzZXJEZXRhaWxzJykudGhlbih1c2VyRGV0YWlscyA9PiByZXNvbHZlKHsgaWRUb2tlbjogbnVsbCwgdXNlckRldGFpbHMgfSkpO1xuICAgICAgICAvLyByZS1leGVjdXRlIHRoZSBtZXRob2Qgd2hlbiBiYWNrIG9ubGluZSwgc28gdGhhdCB5b3UgY2FuIHJldHJpZXZlIGEgdG9rZW4gdG8gbWFrZSByZXF1ZXN0c1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb25saW5lJywgKCkgPT5cbiAgICAgICAgICB0aGlzLmlzQXV0aGVudGljYXRlZCh0cnVlLCBnZXRGcmVzaElkVG9rZW5PbkV4cClcbiAgICAgICAgICAgIC8vIHNldCB0aGUgbmV3IHRva2VuIGFzIGlmIGl0IHdhcyByZWZyZXNoZWRcbiAgICAgICAgICAgIC50aGVuKHJlc3VsdCA9PiBnZXRGcmVzaElkVG9rZW5PbkV4cChyZXN1bHQuaWRUb2tlbikpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB1c2VyID0gdGhpcy51c2VyUG9vbC5nZXRDdXJyZW50VXNlcigpO1xuICAgICAgICBpZiAoIXVzZXIpIHJldHVybiByZWplY3QoKTtcbiAgICAgICAgdXNlci5nZXRTZXNzaW9uKChlcnI6IEVycm9yLCBzZXNzaW9uOiBDb2duaXRvVXNlclNlc3Npb24pID0+IHtcbiAgICAgICAgICBpZiAoZXJyKSByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICAgICAgLy8gZ2V0IHVzZXIgYXR0cmlidXRlc1xuICAgICAgICAgIHVzZXIuZ2V0VXNlckF0dHJpYnV0ZXMoKGU6IEVycm9yLCBhdHRyaWJ1dGVzOiBDb2duaXRvVXNlckF0dHJpYnV0ZVtdKSA9PiB7XG4gICAgICAgICAgICBpZiAoZSkgcmV0dXJuIHJlamVjdChlKTtcbiAgICAgICAgICAgIC8vIHJlbWFwIHVzZXIgYXR0cmlidXRlc1xuICAgICAgICAgICAgY29uc3QgdXNlckRldGFpbHM6IGFueSA9IHt9O1xuICAgICAgICAgICAgYXR0cmlidXRlcy5mb3JFYWNoKChhOiBDb2duaXRvVXNlckF0dHJpYnV0ZSkgPT4gKHVzZXJEZXRhaWxzW2EuZ2V0TmFtZSgpXSA9IGEuZ2V0VmFsdWUoKSkpO1xuICAgICAgICAgICAgLy8gYWRkIHRoZSB1c2VyJ3MgZ3JvdXBzIHRvIHRoZSBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBjb25zdCBzZXNzaW9uSW5mbyA9IHNlc3Npb24uZ2V0QWNjZXNzVG9rZW4oKS5kZWNvZGVQYXlsb2FkKCk7XG4gICAgICAgICAgICBjb25zdCBncm91cHM6IHN0cmluZ1tdID0gc2Vzc2lvbkluZm9bJ2NvZ25pdG86Z3JvdXBzJ10gfHwgW107XG4gICAgICAgICAgICB1c2VyRGV0YWlsc1snZ3JvdXBzJ10gPSBncm91cHM7XG4gICAgICAgICAgICAvLyBydW4gc29tZSBjaGVja3MgY29uc2lkZXJpbmcgdGhlIHVzZXIncyBncm91cHMgYW5kIGRldmljZXMgKGJhc2VkIG9uIHRoZSBwcm9qZWN0J3MgY29uZmlndXJhdGlvbilcbiAgICAgICAgICAgIHRoaXMucnVuUG9zdEF1dGhDaGVja3ModXNlckRldGFpbHMsIGVyciA9PiB7XG4gICAgICAgICAgICAgIC8vIGluIGNhc2Ugc29tZSBjaGVjayBmYWlsZWQsIHJlamVjdCB0aGUgYXV0aG9yaXNhdGlvbiBmbG93XG4gICAgICAgICAgICAgIGlmIChlcnIpIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgLy8gKGFzeW5jKSBzYXZlIHRoZSByZWZyZXNoIHRva2VuIHNvIGl0IGNhbiBiZSBhY2Nlc3NlZCBieSBvdGhlciBwcm9jZWR1cmVzXG4gICAgICAgICAgICAgIHRoaXMuc3RvcmFnZS5zZXQoJ0F1dGhSZWZyZXNoVG9rZW4nLCBzZXNzaW9uLmdldFJlZnJlc2hUb2tlbigpLmdldFRva2VuKCkpO1xuICAgICAgICAgICAgICAvLyBzZXQgYSB0aW1lciB0byBtYW5hZ2UgdGhlIGF1dG9yZWZyZXNoIG9mIHRoZSBpZFRva2VuICh0aHJvdWdoIHRoZSByZWZyZXNoVG9rZW4pXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoXG4gICAgICAgICAgICAgICAgKCkgPT4gdGhpcy5yZWZyZXNoU2Vzc2lvbih1c2VyLCBzZXNzaW9uLmdldFJlZnJlc2hUb2tlbigpLmdldFRva2VuKCksIGdldEZyZXNoSWRUb2tlbk9uRXhwKSxcbiAgICAgICAgICAgICAgICAxNSAqIDYwICogMTAwMFxuICAgICAgICAgICAgICApOyAvLyBldmVyeSAxNSBtaW51dGVzXG4gICAgICAgICAgICAgIC8vIChhc3luYykgaWYgb2ZmbGluZUFsbG93ZWQsIHNhdmUgZGF0YSBsb2NhbGx5LCB0byB1c2UgaXQgbmV4dCB0aW1lIHdlJ2xsIGJlIG9mZmxpbmVcbiAgICAgICAgICAgICAgaWYgKG9mZmxpbmVBbGxvd2VkKSB0aGlzLnN0b3JhZ2Uuc2V0KCdBdXRoVXNlckRldGFpbHMnLCB1c2VyRGV0YWlscyk7XG4gICAgICAgICAgICAgIC8vIHJldHVybiB0aGUgaWRUb2tlbiAodG8gdXNlIHdpdGggQVBJKVxuICAgICAgICAgICAgICByZXNvbHZlKHsgaWRUb2tlbjogc2Vzc2lvbi5nZXRJZFRva2VuKCkuZ2V0Snd0VG9rZW4oKSwgdXNlckRldGFpbHMgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIEhlbHBlciB0byByZWZyZXNoIHRoZSBzZXNzaW9uIGV2ZXJ5IE4gbWludXRlcy5cbiAgICovXG4gIHByb3RlY3RlZCByZWZyZXNoU2Vzc2lvbih1c2VyOiBDb2duaXRvVXNlciwgcmVmcmVzaFRva2VuOiBzdHJpbmcsIGNhbGxiYWNrOiAoZnJlc2hJZFRva2VuOiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICB1c2VyLnJlZnJlc2hTZXNzaW9uKFxuICAgICAgbmV3IENvZ25pdG9SZWZyZXNoVG9rZW4oeyBSZWZyZXNoVG9rZW46IHJlZnJlc2hUb2tlbiB9KSxcbiAgICAgIChlcnI6IEVycm9yLCBzZXNzaW9uOiBDb2duaXRvVXNlclNlc3Npb24pID0+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIC8vIHRyeSBhZ2FpbiBpbiAxIG1pbnV0ZVxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZWZyZXNoU2Vzc2lvbih1c2VyLCByZWZyZXNoVG9rZW4sIGNhbGxiYWNrKSwgMSAqIDYwICogMTAwMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gKGFzeW5jKSBzYXZlIHRoZSByZWZyZXNoIHRva2VuIHNvIGl0IGNhbiBiZSBhY2Nlc3NlZCBieSBvdGhlciBwcm9jZWR1cmVzXG4gICAgICAgICAgdGhpcy5zdG9yYWdlLnNldCgnQXV0aFJlZnJlc2hUb2tlbicsIHNlc3Npb24uZ2V0UmVmcmVzaFRva2VuKCkuZ2V0VG9rZW4oKSk7XG4gICAgICAgICAgLy8gcmVwZWF0IGV2ZXJ5IDE1IG1pbnV0ZXNcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVmcmVzaFNlc3Npb24odXNlciwgc2Vzc2lvbi5nZXRSZWZyZXNoVG9rZW4oKS5nZXRUb2tlbigpLCBjYWxsYmFjayksIDE1ICogNjAgKiAxMDAwKTtcbiAgICAgICAgICAvLyBydW4gdGhlIGNhbGxiYWNrIGFjdGlvbiwgaWYgc2V0XG4gICAgICAgICAgaWYgKGNhbGxiYWNrKSBjYWxsYmFjayhzZXNzaW9uLmdldElkVG9rZW4oKS5nZXRKd3RUb2tlbigpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gIH1cbiAgLyoqXG4gICAqIFJ1biBzb21lIHBvc3QtYXV0aCBjaGVja3MsIGJhc2VkIG9uIHRoZSB1c2VycyBncm91cHMgYW5kIG9uIHRoZSBhcHAncyBjb25maWd1cmF0aW9uOlxuICAgKiAgLSB1c2VycyBpbiB0aGUgQ29nbml0bydzIFwiYWRtaW5zXCIgZ3J1cCBza2lwIGFsbCB0aGUgZm9sbG93aW5nIHJ1bGVzLlxuICAgKiAgLSB1c2VycyBpbiB0aGUgQ29nbml0bydzIFwicm9ib3RzXCIgZ3JvdXAgY2FuJ3Qgc2lnbi1pbnRvIGZyb250LWVuZHMgKHRoZXkgc2VydmUgb25seSBiYWNrLWVuZCBwdXJwb3NlcykuXG4gICAqICAtIGlmIGBlbnYuaWRlYS5hdXRoLnNpbmdsZVNpbXVsdGFuZW91c1Nlc3Npb25gIGlzIG9uLCBtYWtlIHN1cmUgdGhlcmUgaXMgb25seSBvbmUgYWN0aXZlIHNlc3Npb24gcGVyIHVzZXIuXG4gICAqL1xuICBwcm90ZWN0ZWQgcnVuUG9zdEF1dGhDaGVja3ModXNlckRldGFpbHM6IGFueSwgY2FsbGJhY2s6IChlcnI/OiBFcnJvcikgPT4gdm9pZCkge1xuICAgIGNvbnN0IGdyb3Vwczogc3RyaW5nW10gPSB1c2VyRGV0YWlsc1snZ3JvdXBzJ107XG4gICAgLy8gc2tpcCBjaGVja3MgaWYgdGhlIHVzZXIgaXMgaW4gdGhlIFwiYWRtaW5zXCIgZ3JvdXBcbiAgICBjb25zdCBpc0FkbWluID0gZ3JvdXBzLnNvbWUoeCA9PiB4ID09PSAnYWRtaW5zJyk7XG4gICAgaWYgKGlzQWRtaW4pIHJldHVybiBjYWxsYmFjaygpO1xuICAgIC8vIHVzZXJzIGluIHRoZSBcInJvYm90c1wiIGdyb3VwIGNhbid0IHNpZ24taW50byBmcm9udC1lbmRzICh0aGV5IHNlcnZlIG9ubHkgYmFjay1lbmQgcHVycG9zZXMpXG4gICAgY29uc3QgaXNSb2JvdCA9IGdyb3Vwcy5zb21lKHggPT4geCA9PT0gJ3JvYm90cycpO1xuICAgIGlmIChpc1JvYm90KSByZXR1cm4gY2FsbGJhY2sobmV3IEVycm9yKCdST0JPVF9VU0VSJykpO1xuICAgIC8vIGluIGNhc2UgdGhlIHByb2plY3QgbGltaXRzIGVhY2ggYWNjb3VudCB0byBvbmx5IG9uZSBzaW11bHRhbmVvdXMgc2Vzc2lvbiwgcnVuIGEgY2hlY2tcbiAgICBpZiAoZW52LmlkZWEuYXV0aC5zaW5nbGVTaW11bHRhbmVvdXNTZXNzaW9uKSByZXR1cm4gdGhpcy5jaGVja0ZvclNpbXVsdGFuZW91c1Nlc3Npb25zKHVzZXJEZXRhaWxzLCBjYWxsYmFjayk7XG4gICAgLy8gb3RoZXJ3aXNlLCB3ZSdyZSBkb25lXG4gICAgY2FsbGJhY2soKTtcbiAgfVxuICAvKipcbiAgICogQ2hlY2sgd2hldGhlciB0aGUgdXNlciBzaWduZWQtaW50byBtdWx0aXBsZSBkZXZpY2VzLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGNoZWNrRm9yU2ltdWx0YW5lb3VzU2Vzc2lvbnModXNlckRldGFpbHM6IGFueSwgY2FsbGJhY2s6IChlcnI/OiBFcnJvcikgPT4gdm9pZCkge1xuICAgIC8vIGdldCBvciBjcmVhdGUgYSBrZXkgZm9yIHRoZSBjdXJyZW50IGRldmljZSAofnJhbmRvbSlcbiAgICBsZXQgY3VycmVudERldmljZUtleSA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoJ0F1dGhEZXZpY2VLZXknKTtcbiAgICBpZiAoIWN1cnJlbnREZXZpY2VLZXkpIHtcbiAgICAgIGNvbnN0IHJhbmRvbUtleSA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygxMCk7XG4gICAgICBjdXJyZW50RGV2aWNlS2V5ID0gcmFuZG9tS2V5LmNvbmNhdChTdHJpbmcoRGF0ZS5ub3coKSkpO1xuICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNldCgnQXV0aERldmljZUtleScsIGN1cnJlbnREZXZpY2VLZXkpO1xuICAgIH1cbiAgICAvLyBjaGVjayB3aGV0aGVyIHRoZSBsYXN0IGRldmljZSB0byBzaWduLWludG8gdGhpcyBwcm9qZWN0IChpZiBhbnkpIGlzIHRoZSBjdXJyZW50IG9uZVxuICAgIGNvbnN0IGxhc3REZXZpY2VUb1NpZ25JbnRvVGhpc1Byb2plY3QgPSB1c2VyRGV0YWlsc1tERVZJQ0VfS0VZX0FUVFJJQlVURV07XG4gICAgLy8gaWYgaXQncyB0aGUgZmlyc3QgdXNlcidzIGRldmljZSB0byBzaWduLWluLCBzYXZlIHRoZSByZWZlcmVuY2UgaW4gQ29nbml0byBhbmQgcmVzb2x2ZVxuICAgIGlmICghbGFzdERldmljZVRvU2lnbkludG9UaGlzUHJvamVjdCkge1xuICAgICAgdGhpcy5zZXRDdXJyZW50RGV2aWNlRm9yUHJvamVjdChjdXJyZW50RGV2aWNlS2V5KVxuICAgICAgICAudGhlbigoKSA9PiBjYWxsYmFjaygpKVxuICAgICAgICAuY2F0Y2goKCkgPT4gY2FsbGJhY2sobmV3IEVycm9yKCdDQU5UX1NFVF9ERVZJQ0UnKSkpO1xuICAgICAgLy8gaWYgdGhlIGRldmljZSBkaWRuJ3QgY2hhbmdlLCByZXNvbHZlXG4gICAgfSBlbHNlIGlmIChsYXN0RGV2aWNlVG9TaWduSW50b1RoaXNQcm9qZWN0ID09PSBjdXJyZW50RGV2aWNlS2V5KSBjYWxsYmFjaygpO1xuICAgIC8vIG90aHdlcndpc2UsIHJlcG9ydCB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIHNpbXVsdGFuZW91cyBzZXNzaW9uXG4gICAgZWxzZSBjYWxsYmFjayhuZXcgRXJyb3IoJ1NJTVVMVEFORU9VU19TRVNTSU9OJykpO1xuICB9XG4gIC8qKlxuICAgKiBTZXQgKG9yIHJlc2V0KSB0aGUgY3VycmVudCB1c2VyJ3MgZGV2aWNlIChieSBrZXkpIGluIHRoZSBjdXJyZW50IHByb2plY3QgKHN0b3JlZCBpbiBDb2duaXRvKS5cbiAgICovXG4gIHByb3RlY3RlZCBzZXRDdXJyZW50RGV2aWNlRm9yUHJvamVjdChkZXZpY2VLZXk/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzOiBhbnkgPSB7fTtcbiAgICAvLyBub3RlOiBhbiBlbXB0eSBzdHJpbmcgd2lsbCByZW1vdmUgdGhlIGF0dHJpYnV0ZSBmcm9tIENvZ25pdG9cbiAgICBhdHRyaWJ1dGVzW0RFVklDRV9LRVlfQVRUUklCVVRFXSA9IGRldmljZUtleSB8fCAnJztcbiAgICByZXR1cm4gdGhpcy51cGRhdGVVc2VyQXR0cmlidXRlcyhhdHRyaWJ1dGVzKTtcbiAgfVxuICAvKipcbiAgICogVXBkYXRlIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIncyBhdHRyaWJ1dGVzLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZVVzZXJBdHRyaWJ1dGVzKGF0dHJpYnV0ZXM6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAvLyBwcmVwYXJlIHRoZSBhdHRyaWJ1dGVzIHdlIHdhbnQgdG8gY2hhbmdlXG4gICAgICBjb25zdCBhdHRycyA9IG5ldyBBcnJheTxhbnk+KCk7XG4gICAgICBmb3IgKGNvbnN0IHByb3AgaW4gYXR0cmlidXRlcylcbiAgICAgICAgaWYgKGF0dHJpYnV0ZXNbcHJvcF0gIT09IHVuZGVmaW5lZCkgYXR0cnMucHVzaCh0aGlzLnByZXBhcmVVc2VyQXR0cmlidXRlKHByb3AsIGF0dHJpYnV0ZXNbcHJvcF0pKTtcbiAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLnVzZXJQb29sLmdldEN1cnJlbnRVc2VyKCk7XG4gICAgICBpZiAoIXVzZXIpIHJldHVybiByZWplY3QoKTtcbiAgICAgIC8vIHdlIG5lZWQgdG8gZ2V0IHRoZSBzZXNzaW9uIGJlZm9yZSB0byBtYWtlIGNoYW5nZXNcbiAgICAgIHVzZXIuZ2V0U2Vzc2lvbigoZXJyOiBFcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyKSByZWplY3QoZXJyKTtcbiAgICAgICAgZWxzZSB1c2VyLnVwZGF0ZUF0dHJpYnV0ZXMoYXR0cnMsIChlOiBFcnJvcikgPT4gKGUgPyByZWplY3QoZSkgOiByZXNvbHZlKCkpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
318
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbW9kdWxlcy9hdXRoL3NyYy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLG1CQUFtQixFQUdwQixNQUFNLDRCQUE0QixDQUFDO0FBSXBDLE9BQU8sRUFBRSxXQUFXLElBQUksR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFFMUM7O0dBRUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUVoRTs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFBc0IsT0FBMkI7UUFBM0IsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQztZQUNsQyxVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVTtZQUN0QyxRQUFRLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCO1NBQzNDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNPLGtCQUFrQixDQUFDLFFBQWdCLEVBQUUsR0FBVztRQUN4RCxPQUFPLElBQUkscUJBQXFCLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFDRDs7T0FFRztJQUNPLGtCQUFrQixDQUFDLFFBQWdCO1FBQzNDLE9BQU8sSUFBSSxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLENB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QyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvRSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NEdBcFNVLGVBQWU7Z0hBQWYsZUFBZSxjQURGLE1BQU07MkZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXV0aGVudGljYXRpb25EZXRhaWxzLFxuICBDb2duaXRvVXNlcixcbiAgQ29nbml0b1VzZXJBdHRyaWJ1dGUsXG4gIENvZ25pdG9Vc2VyUG9vbCxcbiAgQ29nbml0b1JlZnJlc2hUb2tlbixcbiAgQ29nbml0b1VzZXJTZXNzaW9uLFxuICBJU2lnblVwUmVzdWx0XG59IGZyb20gJ2FtYXpvbi1jb2duaXRvLWlkZW50aXR5LWpzJztcblxuaW1wb3J0IHsgSURFQVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlkZWEtaW9uaWMvY29tbW9uJztcblxuaW1wb3J0IHsgZW52aXJvbm1lbnQgYXMgZW52IH0gZnJvbSAnQGVudic7XG5cbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIENvZ25pdG8ncyB1c2VyIGF0dHJpYnV0ZSB3aGljaCBjb250YWlucyB0aGUga2V5IG9mIHRoZSBsYXN0IGRldmljZSB0byBsb2dpbiBpbiB0aGlzIHByb2plY3QuXG4gKi9cbmNvbnN0IERFVklDRV9LRVlfQVRUUklCVVRFID0gJ2N1c3RvbTonLmNvbmNhdChlbnYuaWRlYS5wcm9qZWN0KTtcblxuLyoqXG4gKiBDb2duaXRvIHdyYXBwZXIgdG8gbWFuYWdlIHRoZSBhdXRoZW50aWNhdGlvbiBmbG93LlxuICpcbiAqIE5vdGU6IGluIElERUEncyBDb2duaXRvIHVzZXJzIHBvb2xzLCB0aGUgZW1haWwgaXMgYW4gYWxpYXMgb2YgdGhlIHVzZXJuYW1lLlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIElERUFBdXRoU2VydmljZSB7XG4gIHByb3RlY3RlZCB1c2VyUG9vbDogQ29nbml0b1VzZXJQb29sO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzdG9yYWdlOiBJREVBU3RvcmFnZVNlcnZpY2UpIHtcbiAgICB0aGlzLnVzZXJQb29sID0gbmV3IENvZ25pdG9Vc2VyUG9vbCh7XG4gICAgICBVc2VyUG9vbElkOiBlbnYuYXdzLmNvZ25pdG8udXNlclBvb2xJZCxcbiAgICAgIENsaWVudElkOiBlbnYuYXdzLmNvZ25pdG8udXNlclBvb2xDbGllbnRJZFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXBhcmUgdGhlIG5lY2Vzc2FyeSBzdHJ1Y3R1cmUgdG8gZ2V0IGF1dGhvcml6ZWQgaW4gQ29nbml0by5cbiAgICovXG4gIHByb3RlY3RlZCBwcmVwYXJlQXV0aERldGFpbHModXNlcm5hbWU6IHN0cmluZywgcHdkOiBzdHJpbmcpOiBBdXRoZW50aWNhdGlvbkRldGFpbHMge1xuICAgIHJldHVybiBuZXcgQXV0aGVudGljYXRpb25EZXRhaWxzKHsgVXNlcm5hbWU6IHVzZXJuYW1lLCBQYXNzd29yZDogcHdkIH0pO1xuICB9XG4gIC8qKlxuICAgKiBQcmVwYXJlIHRoZSBuZWNlc3Nhcnkgc3RydWN0dXJlIHRvIGlkZW50aWZ5IGEgQ29nbml0byB1c2VyLlxuICAgKi9cbiAgcHJvdGVjdGVkIHByZXBhcmVDb2duaXRvVXNlcih1c2VybmFtZTogc3RyaW5nKTogQ29nbml0b1VzZXIge1xuICAgIHJldHVybiBuZXcgQ29nbml0b1VzZXIoeyBVc2VybmFtZTogdXNlcm5hbWUsIFBvb2w6IHRoaXMudXNlclBvb2wgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFByZXBhcmUgYSB1c2VyIGF0dHJpYnV0ZSAodGhleSBhcmUgYWxsIHN0cmluZ3MpIGluIENvZ25pdG8ncyBmb3JtYXQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcHJlcGFyZVVzZXJBdHRyaWJ1dGUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogQ29nbml0b1VzZXJBdHRyaWJ1dGUge1xuICAgIHJldHVybiBuZXcgQ29nbml0b1VzZXJBdHRyaWJ1dGUoeyBOYW1lOiBuYW1lLCBWYWx1ZTogdmFsdWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybSBhIGxvZ2luIHRocm91Z2ggdXNlcm5hbWUgYW5kIHBhc3N3b3JkLlxuICAgKi9cbiAgcHVibGljIGxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgLy8gZ2V0IGEgY29nbml0byB1c2VyIGFuZCB0cnkgdG8gYXV0aGVudGljYXRlXG4gICAgICB0aGlzLnByZXBhcmVDb2duaXRvVXNlcih1c2VybmFtZSkuYXV0aGVudGljYXRlVXNlcih0aGlzLnByZXBhcmVBdXRoRGV0YWlscyh1c2VybmFtZSwgcGFzc3dvcmQpLCB7XG4gICAgICAgIG9uU3VjY2VzczogKCkgPT4gcmVzb2x2ZShmYWxzZSksXG4gICAgICAgIG9uRmFpbHVyZTogKGVycjogRXJyb3IpID0+IHJlamVjdChlcnIpLFxuICAgICAgICBuZXdQYXNzd29yZFJlcXVpcmVkOiAoKSA9PiByZXNvbHZlKHRydWUpXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQ29tcGxldGUgYSBjb21wbGV0ZSBuZXcgcGFzc3dvcmQgZmxvdyBpbiB0aGUgYXV0aGVudGljYXRpb24uXG4gICAqL1xuICBwdWJsaWMgY29uZmlybU5ld1Bhc3N3b3JkKHVzZXJuYW1lOiBzdHJpbmcsIHRlbXBQYXNzd29yZDogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIC8vIGxvZ2luIHdpdGggdGhlIG9sZCBwYXNzd29yZFxuICAgICAgY29uc3QgdXNlciA9IHRoaXMucHJlcGFyZUNvZ25pdG9Vc2VyKHVzZXJuYW1lKTtcbiAgICAgIHVzZXIuYXV0aGVudGljYXRlVXNlcih0aGlzLnByZXBhcmVBdXRoRGV0YWlscyh1c2VybmFtZSwgdGVtcFBhc3N3b3JkKSwge1xuICAgICAgICBvblN1Y2Nlc3M6ICgpID0+IHJlc29sdmUoKSxcbiAgICAgICAgb25GYWlsdXJlOiAoZXJyOiBFcnJvcikgPT4gcmVqZWN0KGVyciksXG4gICAgICAgIG5ld1Bhc3N3b3JkUmVxdWlyZWQ6ICgpID0+XG4gICAgICAgICAgLy8gY29tcGxldGUgdGhlIG5ldyBwYXNzd29yZCBjaGFsbGVuZ2VcbiAgICAgICAgICB1c2VyLmNvbXBsZXRlTmV3UGFzc3dvcmRDaGFsbGVuZ2UoXG4gICAgICAgICAgICBuZXdQYXNzd29yZCxcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBvblN1Y2Nlc3M6ICgpID0+IHJlc29sdmUoKSxcbiAgICAgICAgICAgICAgb25GYWlsdXJlOiAoZXJyOiBFcnJvcikgPT4gcmVqZWN0KGVycilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogUmVnaXN0ZXIgYSBuZXcgdXNlciBhIHNldCBpdHMgZGVmYXVsdCBhdHRyaWJ1dGVzLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIGF0dHJpYnV0ZXM/OiBhbnkpOiBQcm9taXNlPENvZ25pdG9Vc2VyPiB7XG4gICAgYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXMgfHwge307XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIC8vIGFkZCBhdHRyaWJ1dGVzIGxpa2UgdGhlIGVtYWlsIGFkZHJlc3MgYW5kIHRoZSBmdWxsbmFtZVxuICAgICAgY29uc3QgYXR0cnMgPSBbXTtcbiAgICAgIGZvciAoY29uc3QgcHJvcCBpbiBhdHRyaWJ1dGVzKVxuICAgICAgICBpZiAoYXR0cmlidXRlc1twcm9wXSkgYXR0cnMucHVzaCh0aGlzLnByZXBhcmVVc2VyQXR0cmlidXRlKHByb3AsIGF0dHJpYnV0ZXNbcHJvcF0pKTtcbiAgICAgIC8vIGFkZCB0aGUgZW1haWwsIHdoaWNoIGlzIGVxdWFsIHRvIHRoZSB1c2VybmFtZSBmb3IgbW9zdCBvZiBvdXIgUG9vbHNcbiAgICAgIGlmICghYXR0cmlidXRlcy5lbWFpbCkgYXR0cnMucHVzaCh0aGlzLnByZXBhcmVVc2VyQXR0cmlidXRlKCdlbWFpbCcsIHVzZXJuYW1lKSk7XG4gICAgICAvLyByZWdpc3RlciB0aGUgbmV3IHVzZXIgdG8gdGhlIHBvb2xcbiAgICAgIHRoaXMudXNlclBvb2wuc2lnblVwKHVzZXJuYW1lLCBwYXNzd29yZCwgYXR0cnMsIG51bGwsIChlcnI6IEVycm9yLCByZXM6IElTaWduVXBSZXN1bHQpID0+XG4gICAgICAgIGVyciA/IHJlamVjdChlcnIpIDogcmVzb2x2ZShyZXMudXNlcilcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIENvbmZpcm0gYSBuZXcgcmVnaXN0cmF0aW9uIHRocm91Z2ggdGhlIGNvbmZpcm1hdGlvbiBjb2RlIHNlbnQgYnkgQ29nbml0by5cbiAgICovXG4gIHB1YmxpYyBjb25maXJtUmVnaXN0cmF0aW9uKHVzZXJuYW1lOiBzdHJpbmcsIGNvZGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLnByZXBhcmVDb2duaXRvVXNlcih1c2VybmFtZSkuY29uZmlybVJlZ2lzdHJhdGlvbihjb2RlLCB0cnVlLCAoZXJyOiBFcnJvcikgPT5cbiAgICAgICAgZXJyID8gcmVqZWN0KGVycikgOiByZXNvbHZlKClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFNlbmQgYWdhaW4gYSBjb25maXJtYXRpb24gY29kZSBmb3IgYSBuZXcgcmVnaXN0cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlc2VuZENvbmZpcm1hdGlvbkNvZGUodXNlcm5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLnByZXBhcmVDb2duaXRvVXNlcih1c2VybmFtZSkucmVzZW5kQ29uZmlybWF0aW9uQ29kZSgoZXJyOiBFcnJvcikgPT4gKGVyciA/IHJlamVjdChlcnIpIDogcmVzb2x2ZSgpKSk7XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIExvZ291dCB0aGUgY3VycmVudGx5IHNpZ25lZC1pbiB1c2VyLlxuICAgKi9cbiAgcHVibGljIGxvZ291dChvcHRpb25zPzogeyBnbG9iYWw6IGJvb2xlYW4gfSk6IFByb21pc2U8dm9pZD4ge1xuICAgIG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHsgZ2xvYmFsOiBmYWxzZSB9LCBvcHRpb25zKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgLy8gcmVtb3ZlIHRoZSByZWZyZXNoIHRva2VuIHByZXZpb3NseSBzYXZlZFxuICAgICAgdGhpcy5zdG9yYWdlLnJlbW92ZSgnQXV0aFJlZnJlc2hUb2tlbicpLnRoZW4oKCkgPT5cbiAgICAgICAgLy8gcmVtb3ZlIHRoZSBvcHRpb25hbCBhdXRoIGRldGFpbHNcbiAgICAgICAgdGhpcy5zdG9yYWdlLnJlbW92ZSgnQXV0aFVzZXJEZXRhaWxzJykudGhlbigoKSA9PiB7XG4gICAgICAgICAgLy8gZ2V0IHRoZSB1c2VyIGFuZCB0aGUgc2Vzc2lvblxuICAgICAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLnVzZXJQb29sLmdldEN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgdXNlci5nZXRTZXNzaW9uKGFzeW5jIChlcnI6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICAvLyBpZiB0aGUgc2Vzc2lvbiBpcyBhY3RpdmUsIHJ1biB0aGUgb25saW5lIHNpZ24tb3V0OyBvdGhlcndpc2UsIG9ubHkgdGhlIGxvY2FsIGRhdGEgaGFzIGJlZW4gZGVsZXRlZFxuICAgICAgICAgICAgaWYgKGVycikgcmV0dXJuIHJlc29sdmUoKTtcbiAgICAgICAgICAgIC8vIGlmIGEgcmVmZXJlbmNlIHRvIHRoZSBkZXZpY2Ugd2FzIHNhdmVkLCBmb3JnZXQgaXRcbiAgICAgICAgICAgIGlmIChlbnYuaWRlYS5hdXRoLnNpbmdsZVNpbXVsdGFuZW91c1Nlc3Npb24pIGF3YWl0IHRoaXMuc2V0Q3VycmVudERldmljZUZvclByb2plY3QobnVsbCk7XG4gICAgICAgICAgICAvLyBzaWduLW91dCBmcm9tIHRoZSBwb29sICh0ZXJtaW5hdGUgdGhlIGN1cnJlbnQgc2Vzc2lvbiBvciBhbGwgdGhlIHNlc3Npb25zKVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuZ2xvYmFsKSB1c2VyLmdsb2JhbFNpZ25PdXQoeyBvblN1Y2Nlc3M6ICgpID0+IHJlc29sdmUoKSwgb25GYWlsdXJlOiBlcnIgPT4gcmVqZWN0KGVycikgfSk7XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgdXNlci5zaWduT3V0KCk7XG4gICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFNlbmQgYSBwYXNzd29yZCByZXNldCByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGZvcmdvdFBhc3N3b3JkKHVzZXJuYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5wcmVwYXJlQ29nbml0b1VzZXIodXNlcm5hbWUpLmZvcmdvdFBhc3N3b3JkKHtcbiAgICAgICAgb25TdWNjZXNzOiAoKSA9PiByZXNvbHZlKCksXG4gICAgICAgIG9uRmFpbHVyZTogKGVycjogRXJyb3IpID0+IHJlamVjdChlcnIpXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQ29uZmlybSBhIG5ldyBwYXNzd29yZCBhZnRlciBhIHBhc3N3b3JkIHJlc2V0IHJlcXVlc3QuXG4gICAqL1xuICBwdWJsaWMgY29uZmlybVBhc3N3b3JkKHVzZXJuYW1lOiBzdHJpbmcsIGNvZGU6IHN0cmluZywgbmV3UHdkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgLy8gZ2V0IHRoZSB1c2VyIGFuZCBjb25maXJtIGEgbmV3IHBhc3N3b3JkXG4gICAgICB0aGlzLnByZXBhcmVDb2duaXRvVXNlcih1c2VybmFtZSkuY29uZmlybVBhc3N3b3JkKGNvZGUsIG5ld1B3ZCwge1xuICAgICAgICBvblN1Y2Nlc3M6ICgpID0+IHJlc29sdmUoKSxcbiAgICAgICAgb25GYWlsdXJlOiAoZXJyOiBFcnJvcikgPT4gcmVqZWN0KGVycilcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIHVzZXIgaXMgY3VycmVudGx5IGF1dGhlbnRpY2F0ZWQuXG4gICAqIEBwYXJhbSBvZmZsaW5lQWxsb3dlZCBpZiBzZXQgYW5kIGlmIG9mZmxpbmUsIHNraXAgYXV0aGVudGljYXRpb24gYW5kIHJldHJpZXZlIGRhdGEgbG9jYWxseVxuICAgKiBAcGFyYW0gZ2V0RnJlc2hJZFRva2VuT25FeHAgY2IgZnVuY3Rpb24gdG8gZXhlY3V0ZSB3aGVuIHRoZSBpZFRva2VuIGlzIHJlZnJlc2hlZFxuICAgKi9cbiAgcHVibGljIGlzQXV0aGVudGljYXRlZChvZmZsaW5lQWxsb3dlZDogYm9vbGVhbiwgZ2V0RnJlc2hJZFRva2VuT25FeHA/OiAoZnJlc2hJZFRva2VuOiBzdHJpbmcpID0+IHZvaWQpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAob2ZmbGluZUFsbG93ZWQgJiYgIW5hdmlnYXRvci5vbkxpbmUpIHtcbiAgICAgICAgdGhpcy5zdG9yYWdlLmdldCgnQXV0aFVzZXJEZXRhaWxzJykudGhlbih1c2VyRGV0YWlscyA9PiByZXNvbHZlKHsgaWRUb2tlbjogbnVsbCwgdXNlckRldGFpbHMgfSkpO1xuICAgICAgICAvLyByZS1leGVjdXRlIHRoZSBtZXRob2Qgd2hlbiBiYWNrIG9ubGluZSwgc28gdGhhdCB5b3UgY2FuIHJldHJpZXZlIGEgdG9rZW4gdG8gbWFrZSByZXF1ZXN0c1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb25saW5lJywgKCkgPT5cbiAgICAgICAgICB0aGlzLmlzQXV0aGVudGljYXRlZCh0cnVlLCBnZXRGcmVzaElkVG9rZW5PbkV4cClcbiAgICAgICAgICAgIC8vIHNldCB0aGUgbmV3IHRva2VuIGFzIGlmIGl0IHdhcyByZWZyZXNoZWRcbiAgICAgICAgICAgIC50aGVuKHJlc3VsdCA9PiBnZXRGcmVzaElkVG9rZW5PbkV4cChyZXN1bHQuaWRUb2tlbikpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB1c2VyID0gdGhpcy51c2VyUG9vbC5nZXRDdXJyZW50VXNlcigpO1xuICAgICAgICBpZiAoIXVzZXIpIHJldHVybiByZWplY3QoKTtcbiAgICAgICAgdXNlci5nZXRTZXNzaW9uKChlcnI6IEVycm9yLCBzZXNzaW9uOiBDb2duaXRvVXNlclNlc3Npb24pID0+IHtcbiAgICAgICAgICBpZiAoZXJyKSByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICAgICAgLy8gZ2V0IHVzZXIgYXR0cmlidXRlc1xuICAgICAgICAgIHVzZXIuZ2V0VXNlckF0dHJpYnV0ZXMoKGU6IEVycm9yLCBhdHRyaWJ1dGVzOiBDb2duaXRvVXNlckF0dHJpYnV0ZVtdKSA9PiB7XG4gICAgICAgICAgICBpZiAoZSkgcmV0dXJuIHJlamVjdChlKTtcbiAgICAgICAgICAgIC8vIHJlbWFwIHVzZXIgYXR0cmlidXRlc1xuICAgICAgICAgICAgY29uc3QgdXNlckRldGFpbHM6IGFueSA9IHt9O1xuICAgICAgICAgICAgYXR0cmlidXRlcy5mb3JFYWNoKChhOiBDb2duaXRvVXNlckF0dHJpYnV0ZSkgPT4gKHVzZXJEZXRhaWxzW2EuZ2V0TmFtZSgpXSA9IGEuZ2V0VmFsdWUoKSkpO1xuICAgICAgICAgICAgLy8gYWRkIHRoZSB1c2VyJ3MgZ3JvdXBzIHRvIHRoZSBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBjb25zdCBzZXNzaW9uSW5mbyA9IHNlc3Npb24uZ2V0QWNjZXNzVG9rZW4oKS5kZWNvZGVQYXlsb2FkKCk7XG4gICAgICAgICAgICBjb25zdCBncm91cHM6IHN0cmluZ1tdID0gc2Vzc2lvbkluZm9bJ2NvZ25pdG86Z3JvdXBzJ10gfHwgW107XG4gICAgICAgICAgICB1c2VyRGV0YWlsc1snZ3JvdXBzJ10gPSBncm91cHM7XG4gICAgICAgICAgICAvLyBydW4gc29tZSBjaGVja3MgY29uc2lkZXJpbmcgdGhlIHVzZXIncyBncm91cHMgYW5kIGRldmljZXMgKGJhc2VkIG9uIHRoZSBwcm9qZWN0J3MgY29uZmlndXJhdGlvbilcbiAgICAgICAgICAgIHRoaXMucnVuUG9zdEF1dGhDaGVja3ModXNlckRldGFpbHMsIGVyciA9PiB7XG4gICAgICAgICAgICAgIC8vIGluIGNhc2Ugc29tZSBjaGVjayBmYWlsZWQsIHJlamVjdCB0aGUgYXV0aG9yaXNhdGlvbiBmbG93XG4gICAgICAgICAgICAgIGlmIChlcnIpIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgLy8gKGFzeW5jKSBzYXZlIHRoZSByZWZyZXNoIHRva2VuIHNvIGl0IGNhbiBiZSBhY2Nlc3NlZCBieSBvdGhlciBwcm9jZWR1cmVzXG4gICAgICAgICAgICAgIHRoaXMuc3RvcmFnZS5zZXQoJ0F1dGhSZWZyZXNoVG9rZW4nLCBzZXNzaW9uLmdldFJlZnJlc2hUb2tlbigpLmdldFRva2VuKCkpO1xuICAgICAgICAgICAgICAvLyBzZXQgYSB0aW1lciB0byBtYW5hZ2UgdGhlIGF1dG9yZWZyZXNoIG9mIHRoZSBpZFRva2VuICh0aHJvdWdoIHRoZSByZWZyZXNoVG9rZW4pXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoXG4gICAgICAgICAgICAgICAgKCkgPT4gdGhpcy5yZWZyZXNoU2Vzc2lvbih1c2VyLCBzZXNzaW9uLmdldFJlZnJlc2hUb2tlbigpLmdldFRva2VuKCksIGdldEZyZXNoSWRUb2tlbk9uRXhwKSxcbiAgICAgICAgICAgICAgICAxNSAqIDYwICogMTAwMFxuICAgICAgICAgICAgICApOyAvLyBldmVyeSAxNSBtaW51dGVzXG4gICAgICAgICAgICAgIC8vIChhc3luYykgaWYgb2ZmbGluZUFsbG93ZWQsIHNhdmUgZGF0YSBsb2NhbGx5LCB0byB1c2UgaXQgbmV4dCB0aW1lIHdlJ2xsIGJlIG9mZmxpbmVcbiAgICAgICAgICAgICAgaWYgKG9mZmxpbmVBbGxvd2VkKSB0aGlzLnN0b3JhZ2Uuc2V0KCdBdXRoVXNlckRldGFpbHMnLCB1c2VyRGV0YWlscyk7XG4gICAgICAgICAgICAgIC8vIHJldHVybiB0aGUgaWRUb2tlbiAodG8gdXNlIHdpdGggQVBJKVxuICAgICAgICAgICAgICByZXNvbHZlKHsgaWRUb2tlbjogc2Vzc2lvbi5nZXRJZFRva2VuKCkuZ2V0Snd0VG9rZW4oKSwgdXNlckRldGFpbHMgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIEhlbHBlciB0byByZWZyZXNoIHRoZSBzZXNzaW9uIGV2ZXJ5IE4gbWludXRlcy5cbiAgICovXG4gIHByb3RlY3RlZCByZWZyZXNoU2Vzc2lvbih1c2VyOiBDb2duaXRvVXNlciwgcmVmcmVzaFRva2VuOiBzdHJpbmcsIGNhbGxiYWNrOiAoZnJlc2hJZFRva2VuOiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICB1c2VyLnJlZnJlc2hTZXNzaW9uKFxuICAgICAgbmV3IENvZ25pdG9SZWZyZXNoVG9rZW4oeyBSZWZyZXNoVG9rZW46IHJlZnJlc2hUb2tlbiB9KSxcbiAgICAgIChlcnI6IEVycm9yLCBzZXNzaW9uOiBDb2duaXRvVXNlclNlc3Npb24pID0+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIC8vIHRyeSBhZ2FpbiBpbiAxIG1pbnV0ZVxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZWZyZXNoU2Vzc2lvbih1c2VyLCByZWZyZXNoVG9rZW4sIGNhbGxiYWNrKSwgMSAqIDYwICogMTAwMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gKGFzeW5jKSBzYXZlIHRoZSByZWZyZXNoIHRva2VuIHNvIGl0IGNhbiBiZSBhY2Nlc3NlZCBieSBvdGhlciBwcm9jZWR1cmVzXG4gICAgICAgICAgdGhpcy5zdG9yYWdlLnNldCgnQXV0aFJlZnJlc2hUb2tlbicsIHNlc3Npb24uZ2V0UmVmcmVzaFRva2VuKCkuZ2V0VG9rZW4oKSk7XG4gICAgICAgICAgLy8gcmVwZWF0IGV2ZXJ5IDE1IG1pbnV0ZXNcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVmcmVzaFNlc3Npb24odXNlciwgc2Vzc2lvbi5nZXRSZWZyZXNoVG9rZW4oKS5nZXRUb2tlbigpLCBjYWxsYmFjayksIDE1ICogNjAgKiAxMDAwKTtcbiAgICAgICAgICAvLyBydW4gdGhlIGNhbGxiYWNrIGFjdGlvbiwgaWYgc2V0XG4gICAgICAgICAgaWYgKGNhbGxiYWNrKSBjYWxsYmFjayhzZXNzaW9uLmdldElkVG9rZW4oKS5nZXRKd3RUb2tlbigpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gIH1cbiAgLyoqXG4gICAqIFJ1biBzb21lIHBvc3QtYXV0aCBjaGVja3MsIGJhc2VkIG9uIHRoZSB1c2VycyBncm91cHMgYW5kIG9uIHRoZSBhcHAncyBjb25maWd1cmF0aW9uOlxuICAgKiAgLSB1c2VycyBpbiB0aGUgQ29nbml0bydzIFwiYWRtaW5zXCIgZ3J1cCBza2lwIGFsbCB0aGUgZm9sbG93aW5nIHJ1bGVzLlxuICAgKiAgLSB1c2VycyBpbiB0aGUgQ29nbml0bydzIFwicm9ib3RzXCIgZ3JvdXAgY2FuJ3Qgc2lnbi1pbnRvIGZyb250LWVuZHMgKHRoZXkgc2VydmUgb25seSBiYWNrLWVuZCBwdXJwb3NlcykuXG4gICAqICAtIGlmIGBlbnYuaWRlYS5hdXRoLnNpbmdsZVNpbXVsdGFuZW91c1Nlc3Npb25gIGlzIG9uLCBtYWtlIHN1cmUgdGhlcmUgaXMgb25seSBvbmUgYWN0aXZlIHNlc3Npb24gcGVyIHVzZXIuXG4gICAqL1xuICBwcm90ZWN0ZWQgcnVuUG9zdEF1dGhDaGVja3ModXNlckRldGFpbHM6IGFueSwgY2FsbGJhY2s6IChlcnI/OiBFcnJvcikgPT4gdm9pZCkge1xuICAgIGNvbnN0IGdyb3Vwczogc3RyaW5nW10gPSB1c2VyRGV0YWlsc1snZ3JvdXBzJ107XG4gICAgLy8gc2tpcCBjaGVja3MgaWYgdGhlIHVzZXIgaXMgaW4gdGhlIFwiYWRtaW5zXCIgZ3JvdXBcbiAgICBjb25zdCBpc0FkbWluID0gZ3JvdXBzLnNvbWUoeCA9PiB4ID09PSAnYWRtaW5zJyk7XG4gICAgaWYgKGlzQWRtaW4pIHJldHVybiBjYWxsYmFjaygpO1xuICAgIC8vIHVzZXJzIGluIHRoZSBcInJvYm90c1wiIGdyb3VwIGNhbid0IHNpZ24taW50byBmcm9udC1lbmRzICh0aGV5IHNlcnZlIG9ubHkgYmFjay1lbmQgcHVycG9zZXMpXG4gICAgY29uc3QgaXNSb2JvdCA9IGdyb3Vwcy5zb21lKHggPT4geCA9PT0gJ3JvYm90cycpO1xuICAgIGlmIChpc1JvYm90KSByZXR1cm4gY2FsbGJhY2sobmV3IEVycm9yKCdST0JPVF9VU0VSJykpO1xuICAgIC8vIGluIGNhc2UgdGhlIHByb2plY3QgbGltaXRzIGVhY2ggYWNjb3VudCB0byBvbmx5IG9uZSBzaW11bHRhbmVvdXMgc2Vzc2lvbiwgcnVuIGEgY2hlY2tcbiAgICBpZiAoZW52LmlkZWEuYXV0aC5zaW5nbGVTaW11bHRhbmVvdXNTZXNzaW9uKSByZXR1cm4gdGhpcy5jaGVja0ZvclNpbXVsdGFuZW91c1Nlc3Npb25zKHVzZXJEZXRhaWxzLCBjYWxsYmFjayk7XG4gICAgLy8gb3RoZXJ3aXNlLCB3ZSdyZSBkb25lXG4gICAgY2FsbGJhY2soKTtcbiAgfVxuICAvKipcbiAgICogQ2hlY2sgd2hldGhlciB0aGUgdXNlciBzaWduZWQtaW50byBtdWx0aXBsZSBkZXZpY2VzLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGNoZWNrRm9yU2ltdWx0YW5lb3VzU2Vzc2lvbnModXNlckRldGFpbHM6IGFueSwgY2FsbGJhY2s6IChlcnI/OiBFcnJvcikgPT4gdm9pZCkge1xuICAgIC8vIGdldCBvciBjcmVhdGUgYSBrZXkgZm9yIHRoZSBjdXJyZW50IGRldmljZSAofnJhbmRvbSlcbiAgICBsZXQgY3VycmVudERldmljZUtleSA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoJ0F1dGhEZXZpY2VLZXknKTtcbiAgICBpZiAoIWN1cnJlbnREZXZpY2VLZXkpIHtcbiAgICAgIGNvbnN0IHJhbmRvbUtleSA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygxMCk7XG4gICAgICBjdXJyZW50RGV2aWNlS2V5ID0gcmFuZG9tS2V5LmNvbmNhdChTdHJpbmcoRGF0ZS5ub3coKSkpO1xuICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNldCgnQXV0aERldmljZUtleScsIGN1cnJlbnREZXZpY2VLZXkpO1xuICAgIH1cbiAgICAvLyBjaGVjayB3aGV0aGVyIHRoZSBsYXN0IGRldmljZSB0byBzaWduLWludG8gdGhpcyBwcm9qZWN0IChpZiBhbnkpIGlzIHRoZSBjdXJyZW50IG9uZVxuICAgIGNvbnN0IGxhc3REZXZpY2VUb1NpZ25JbnRvVGhpc1Byb2plY3QgPSB1c2VyRGV0YWlsc1tERVZJQ0VfS0VZX0FUVFJJQlVURV07XG4gICAgLy8gaWYgaXQncyB0aGUgZmlyc3QgdXNlcidzIGRldmljZSB0byBzaWduLWluLCBzYXZlIHRoZSByZWZlcmVuY2UgaW4gQ29nbml0byBhbmQgcmVzb2x2ZVxuICAgIGlmICghbGFzdERldmljZVRvU2lnbkludG9UaGlzUHJvamVjdCkge1xuICAgICAgdGhpcy5zZXRDdXJyZW50RGV2aWNlRm9yUHJvamVjdChjdXJyZW50RGV2aWNlS2V5KVxuICAgICAgICAudGhlbigoKSA9PiBjYWxsYmFjaygpKVxuICAgICAgICAuY2F0Y2goKCkgPT4gY2FsbGJhY2sobmV3IEVycm9yKCdDQU5UX1NFVF9ERVZJQ0UnKSkpO1xuICAgICAgLy8gaWYgdGhlIGRldmljZSBkaWRuJ3QgY2hhbmdlLCByZXNvbHZlXG4gICAgfSBlbHNlIGlmIChsYXN0RGV2aWNlVG9TaWduSW50b1RoaXNQcm9qZWN0ID09PSBjdXJyZW50RGV2aWNlS2V5KSBjYWxsYmFjaygpO1xuICAgIC8vIG90aHdlcndpc2UsIHJlcG9ydCB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIHNpbXVsdGFuZW91cyBzZXNzaW9uXG4gICAgZWxzZSBjYWxsYmFjayhuZXcgRXJyb3IoJ1NJTVVMVEFORU9VU19TRVNTSU9OJykpO1xuICB9XG4gIC8qKlxuICAgKiBTZXQgKG9yIHJlc2V0KSB0aGUgY3VycmVudCB1c2VyJ3MgZGV2aWNlIChieSBrZXkpIGluIHRoZSBjdXJyZW50IHByb2plY3QgKHN0b3JlZCBpbiBDb2duaXRvKS5cbiAgICovXG4gIHByb3RlY3RlZCBzZXRDdXJyZW50RGV2aWNlRm9yUHJvamVjdChkZXZpY2VLZXk/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzOiBhbnkgPSB7fTtcbiAgICAvLyBub3RlOiBhbiBlbXB0eSBzdHJpbmcgd2lsbCByZW1vdmUgdGhlIGF0dHJpYnV0ZSBmcm9tIENvZ25pdG9cbiAgICBhdHRyaWJ1dGVzW0RFVklDRV9LRVlfQVRUUklCVVRFXSA9IGRldmljZUtleSB8fCAnJztcbiAgICByZXR1cm4gdGhpcy51cGRhdGVVc2VyQXR0cmlidXRlcyhhdHRyaWJ1dGVzKTtcbiAgfVxuICAvKipcbiAgICogVXBkYXRlIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIncyBhdHRyaWJ1dGVzLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZVVzZXJBdHRyaWJ1dGVzKGF0dHJpYnV0ZXM6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAvLyBwcmVwYXJlIHRoZSBhdHRyaWJ1dGVzIHdlIHdhbnQgdG8gY2hhbmdlXG4gICAgICBjb25zdCBhdHRycyA9IG5ldyBBcnJheTxhbnk+KCk7XG4gICAgICBmb3IgKGNvbnN0IHByb3AgaW4gYXR0cmlidXRlcylcbiAgICAgICAgaWYgKGF0dHJpYnV0ZXNbcHJvcF0gIT09IHVuZGVmaW5lZCkgYXR0cnMucHVzaCh0aGlzLnByZXBhcmVVc2VyQXR0cmlidXRlKHByb3AsIGF0dHJpYnV0ZXNbcHJvcF0pKTtcbiAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLnVzZXJQb29sLmdldEN1cnJlbnRVc2VyKCk7XG4gICAgICBpZiAoIXVzZXIpIHJldHVybiByZWplY3QoKTtcbiAgICAgIC8vIHdlIG5lZWQgdG8gZ2V0IHRoZSBzZXNzaW9uIGJlZm9yZSB0byBtYWtlIGNoYW5nZXNcbiAgICAgIHVzZXIuZ2V0U2Vzc2lvbigoZXJyOiBFcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyKSByZWplY3QoZXJyKTtcbiAgICAgICAgZWxzZSB1c2VyLnVwZGF0ZUF0dHJpYnV0ZXMoYXR0cnMsIChlOiBFcnJvcikgPT4gKGUgPyByZWplY3QoZSkgOiByZXNvbHZlKCkpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -4,8 +4,8 @@ import * as i1 from "@ionic/angular";
4
4
  import * as i2 from "@angular/router";
5
5
  import * as i3 from "@idea-ionic/common";
6
6
  import * as i4 from "./auth.service";
7
- import * as i5 from "@angular/forms";
8
- import * as i6 from "@angular/common";
7
+ import * as i5 from "@angular/common";
8
+ import * as i6 from "@angular/forms";
9
9
  export class IDEAConfirmPasswordPage {
10
10
  constructor(navCtrl, route, message, loading, auth, t) {
11
11
  this.navCtrl = navCtrl;
@@ -50,10 +50,10 @@ export class IDEAConfirmPasswordPage {
50
50
  this.navCtrl.navigateBack(['auth']);
51
51
  }
52
52
  }
53
- IDEAConfirmPasswordPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IDEAConfirmPasswordPage, deps: [{ token: i1.NavController }, { token: i2.ActivatedRoute }, { token: i3.IDEAMessageService }, { token: i3.IDEALoadingService }, { token: i4.IDEAAuthService }, { token: i3.IDEATranslationsService }], target: i0.ɵɵFactoryTarget.Component });
54
- IDEAConfirmPasswordPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: IDEAConfirmPasswordPage, selector: "idea-confirm-password", ngImport: i0, template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.CHANGE_THE_PASSWORD' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.CHANGE_THE_PASSWORD_HINT' | translate: { n: 8 } }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <p class=\"errorBox\" *ngIf=\"errorMsg\">\n <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>\n {{ errorMsg }}\n </p>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"person-circle\" color=\"primary\"> </ion-icon>\n </ion-label>\n <ion-input\n type=\"email\"\n inputmode=\"email\"\n pattern=\"[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"email\"\n [placeholder]=\"t._('IDEA_AUTH.EMAIL')\"\n [title]=\"t._('IDEA_AUTH.EMAIL_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"email\"\n (keyup.enter)=\"confirmPassword()\"\n ></ion-input>\n </ion-item>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"disc\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n type=\"text\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n [placeholder]=\"t._('IDEA_AUTH.RESET_CODE')\"\n [title]=\"t._('IDEA_AUTH.RESET_CODE_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"code\"\n (keyup.enter)=\"confirmPassword()\"\n ></ion-input>\n </ion-item>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"key\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n type=\"password\"\n pattern=\".{8,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"new-password\"\n [clearOnEdit]=\"false\"\n [placeholder]=\"t._('IDEA_AUTH.NEW_PASSWORD')\"\n [title]=\"t._('IDEA_AUTH.CHOOSE_A_PASSWORD')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"newPassword\"\n (keyup.enter)=\"confirmPassword()\"\n ></ion-input>\n </ion-item>\n <ion-button expand=\"block\" [title]=\"t._('IDEA_AUTH.CHANGE_MY_PASSWORD_HINT')\" (click)=\"confirmPassword()\">\n {{ 'IDEA_AUTH.CHANGE_MY_PASSWORD' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.HAVEN_T_RECEIVED_A_RESET_CODE_HINT')\"\n (click)=\"goToForgotPassword()\"\n >\n {{ 'IDEA_AUTH.HAVEN_T_RECEIVED_A_RESET_CODE' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n", styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background: var(--ion-color-white);--border-color: var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width: 500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}\n"], components: [{ type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { type: i1.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { type: i1.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { type: i1.IonCardSubtitle, selector: "ion-card-subtitle", inputs: ["color", "mode"] }, { type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }], directives: [{ type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { type: i5.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i3.IDEATranslatePipe } });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IDEAConfirmPasswordPage, decorators: [{
53
+ IDEAConfirmPasswordPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IDEAConfirmPasswordPage, deps: [{ token: i1.NavController }, { token: i2.ActivatedRoute }, { token: i3.IDEAMessageService }, { token: i3.IDEALoadingService }, { token: i4.IDEAAuthService }, { token: i3.IDEATranslationsService }], target: i0.ɵɵFactoryTarget.Component });
54
+ IDEAConfirmPasswordPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: IDEAConfirmPasswordPage, selector: "idea-confirm-password", ngImport: i0, template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.CHANGE_THE_PASSWORD' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.CHANGE_THE_PASSWORD_HINT' | translate: { n: 8 } }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <p class=\"errorBox\" *ngIf=\"errorMsg\">\n <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>\n {{ errorMsg }}\n </p>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"person-circle\" color=\"primary\"> </ion-icon>\n </ion-label>\n <ion-input\n type=\"email\"\n inputmode=\"email\"\n pattern=\"[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"email\"\n [placeholder]=\"t._('IDEA_AUTH.EMAIL')\"\n [title]=\"t._('IDEA_AUTH.EMAIL_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"email\"\n (keyup.enter)=\"confirmPassword()\"\n ></ion-input>\n </ion-item>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"disc\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n type=\"text\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n [placeholder]=\"t._('IDEA_AUTH.RESET_CODE')\"\n [title]=\"t._('IDEA_AUTH.RESET_CODE_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"code\"\n (keyup.enter)=\"confirmPassword()\"\n ></ion-input>\n </ion-item>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"key\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n type=\"password\"\n pattern=\".{8,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"new-password\"\n [clearOnEdit]=\"false\"\n [placeholder]=\"t._('IDEA_AUTH.NEW_PASSWORD')\"\n [title]=\"t._('IDEA_AUTH.CHOOSE_A_PASSWORD')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"newPassword\"\n (keyup.enter)=\"confirmPassword()\"\n ></ion-input>\n </ion-item>\n <ion-button expand=\"block\" [title]=\"t._('IDEA_AUTH.CHANGE_MY_PASSWORD_HINT')\" (click)=\"confirmPassword()\">\n {{ 'IDEA_AUTH.CHANGE_MY_PASSWORD' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.HAVEN_T_RECEIVED_A_RESET_CODE_HINT')\"\n (click)=\"goToForgotPassword()\"\n >\n {{ 'IDEA_AUTH.HAVEN_T_RECEIVED_A_RESET_CODE' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n", styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background: var(--ion-color-white);--border-color: var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width: 500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i1.IonCardSubtitle, selector: "ion-card-subtitle", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "pipe", type: i3.IDEATranslatePipe, name: "translate" }] });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IDEAConfirmPasswordPage, decorators: [{
56
56
  type: Component,
57
57
  args: [{ selector: 'idea-confirm-password', template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.CHANGE_THE_PASSWORD' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.CHANGE_THE_PASSWORD_HINT' | translate: { n: 8 } }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <p class=\"errorBox\" *ngIf=\"errorMsg\">\n <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>\n {{ errorMsg }}\n </p>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"person-circle\" color=\"primary\"> </ion-icon>\n </ion-label>\n <ion-input\n type=\"email\"\n inputmode=\"email\"\n pattern=\"[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"email\"\n [placeholder]=\"t._('IDEA_AUTH.EMAIL')\"\n [title]=\"t._('IDEA_AUTH.EMAIL_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"email\"\n (keyup.enter)=\"confirmPassword()\"\n ></ion-input>\n </ion-item>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"disc\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n type=\"text\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n [placeholder]=\"t._('IDEA_AUTH.RESET_CODE')\"\n [title]=\"t._('IDEA_AUTH.RESET_CODE_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"code\"\n (keyup.enter)=\"confirmPassword()\"\n ></ion-input>\n </ion-item>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"key\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n type=\"password\"\n pattern=\".{8,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"new-password\"\n [clearOnEdit]=\"false\"\n [placeholder]=\"t._('IDEA_AUTH.NEW_PASSWORD')\"\n [title]=\"t._('IDEA_AUTH.CHOOSE_A_PASSWORD')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"newPassword\"\n (keyup.enter)=\"confirmPassword()\"\n ></ion-input>\n </ion-item>\n <ion-button expand=\"block\" [title]=\"t._('IDEA_AUTH.CHANGE_MY_PASSWORD_HINT')\" (click)=\"confirmPassword()\">\n {{ 'IDEA_AUTH.CHANGE_MY_PASSWORD' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.HAVEN_T_RECEIVED_A_RESET_CODE_HINT')\"\n (click)=\"goToForgotPassword()\"\n >\n {{ 'IDEA_AUTH.HAVEN_T_RECEIVED_A_RESET_CODE' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n", styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background: var(--ion-color-white);--border-color: var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width: 500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}\n"] }]
58
58
  }], ctorParameters: function () { return [{ type: i1.NavController }, { type: i2.ActivatedRoute }, { type: i3.IDEAMessageService }, { type: i3.IDEALoadingService }, { type: i4.IDEAAuthService }, { type: i3.IDEATranslationsService }]; } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybVBhc3N3b3JkLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2F1dGgvc3JjL2NvbmZpcm1QYXNzd29yZC5wYWdlLnRzIiwiLi4vLi4vLi4vLi4vbW9kdWxlcy9hdXRoL3NyYy9jb25maXJtUGFzc3dvcmQucGFnZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBWTFDLE1BQU0sT0FBTyx1QkFBdUI7SUFrQmxDLFlBQ1MsT0FBc0IsRUFDdEIsS0FBcUIsRUFDckIsT0FBMkIsRUFDM0IsT0FBMkIsRUFDM0IsSUFBcUIsRUFDckIsQ0FBMEI7UUFMMUIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUNyQixNQUFDLEdBQUQsQ0FBQyxDQUF5QjtRQUVqQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJO1lBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUk7YUFDTixlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDeEQsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtDQUFrQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUM7YUFDRCxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNJLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0Q7O09BRUc7SUFDSSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O3FIQTlEVSx1QkFBdUI7eUdBQXZCLHVCQUF1Qiw2RENacEMsaS9HQTRGQTs0RkRoRmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgSURFQUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgSURFQU1lc3NhZ2VTZXJ2aWNlLCBJREVBTG9hZGluZ1NlcnZpY2UsIElERUFUcmFuc2xhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnQGlkZWEtaW9uaWMvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWRlYS1jb25maXJtLXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICdjb25maXJtUGFzc3dvcmQucGFnZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2F1dGguc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIElERUFDb25maXJtUGFzc3dvcmRQYWdlIHtcbiAgLyoqXG4gICAqIFRoZSBlbWFpbCBhZGRyZXNzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIGFjY291bnQuXG4gICAqL1xuICBwdWJsaWMgZW1haWw6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBjb2RlIChyZWNlaXZlZCB2aWEgZW1haWwpLCB0byB1c2UgZm9yIGNvbmZpcm1pbmcgdGhlIGFjY291bnQuXG4gICAqL1xuICBwdWJsaWMgY29kZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5ldyBwYXNzd29yZCBmb3IgdGhlIGFjY291bnQuXG4gICAqL1xuICBwdWJsaWMgbmV3UGFzc3dvcmQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgaW4gdGhlIFVJLCBpZiBhbnkuXG4gICAqL1xuICBwdWJsaWMgZXJyb3JNc2c6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbmF2Q3RybDogTmF2Q29udHJvbGxlcixcbiAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBtZXNzYWdlOiBJREVBTWVzc2FnZVNlcnZpY2UsXG4gICAgcHVibGljIGxvYWRpbmc6IElERUFMb2FkaW5nU2VydmljZSxcbiAgICBwdWJsaWMgYXV0aDogSURFQUF1dGhTZXJ2aWNlLFxuICAgIHB1YmxpYyB0OiBJREVBVHJhbnNsYXRpb25zU2VydmljZVxuICApIHtcbiAgICB0aGlzLmVtYWlsID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZW1haWwnKSB8fCBudWxsO1xuICAgIGlmICghdGhpcy5lbWFpbCAmJiB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnVzZXIpXG4gICAgICB0aGlzLmVtYWlsID0gZGVjb2RlVVJJQ29tcG9uZW50KHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudXNlcik7XG4gICAgdGhpcy5jb2RlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5jb2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbmZpcm0gbmV3IHBhc3N3b3JkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNvbmZpcm1QYXNzd29yZCgpIHtcbiAgICB0aGlzLmVycm9yTXNnID0gbnVsbDtcbiAgICBhd2FpdCB0aGlzLmxvYWRpbmcuc2hvdygpO1xuICAgIHRoaXMuYXV0aFxuICAgICAgLmNvbmZpcm1QYXNzd29yZCh0aGlzLmVtYWlsLCB0aGlzLmNvZGUsIHRoaXMubmV3UGFzc3dvcmQpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMubWVzc2FnZS5zdWNjZXNzKCdJREVBX0FVVEguUEFTU1dPUkRfQ0hBTkdFRCcpO1xuICAgICAgICB0aGlzLmdvVG9BdXRoKCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgdGhpcy5lcnJvck1zZyA9IHRoaXMudC5fKCdJREVBX0FVVEguQ09ORklSTV9QQVNTV09SRF9FUlJPUicsIHsgbjogOCB9KTtcbiAgICAgICAgdGhpcy5tZXNzYWdlLmVycm9yKHRoaXMuZXJyb3JNc2csIHRydWUpO1xuICAgICAgfSlcbiAgICAgIC5maW5hbGx5KCgpID0+IHRoaXMubG9hZGluZy5oaWRlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdvIHRvIGZvcmdvdCBwYXNzd29yZCBwYWdlLlxuICAgKi9cbiAgcHVibGljIGdvVG9Gb3Jnb3RQYXNzd29yZCgpIHtcbiAgICB0aGlzLm5hdkN0cmwubmF2aWdhdGVCYWNrKFsnYXV0aC9mb3Jnb3QtcGFzc3dvcmQnXSk7XG4gIH1cbiAgLyoqXG4gICAqIEdvIHRvIGF1dGggcGFnZS5cbiAgICovXG4gIHB1YmxpYyBnb1RvQXV0aCgpIHtcbiAgICB0aGlzLm5hdkN0cmwubmF2aWdhdGVCYWNrKFsnYXV0aCddKTtcbiAgfVxufVxuIiwiPGlvbi1jb250ZW50PlxuICA8Zm9ybSBjbGFzcz1cImZsZXhCb3hcIj5cbiAgICA8aW9uLWNhcmQgY2xhc3M9XCJhdXRoQ2FyZFwiPlxuICAgICAgPGlvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgPGlvbi1jYXJkLXRpdGxlIGNvbG9yPVwicHJpbWFyeVwiPnt7ICdJREVBX0FVVEguQ0hBTkdFX1RIRV9QQVNTV09SRCcgfCB0cmFuc2xhdGUgfX08L2lvbi1jYXJkLXRpdGxlPlxuICAgICAgICA8aW9uLWNhcmQtc3VidGl0bGU+e3sgJ0lERUFfQVVUSC5DSEFOR0VfVEhFX1BBU1NXT1JEX0hJTlQnIHwgdHJhbnNsYXRlOiB7IG46IDggfSB9fTwvaW9uLWNhcmQtc3VidGl0bGU+XG4gICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cbiAgICAgIDxpb24tY2FyZC1jb250ZW50PlxuICAgICAgICA8cCBjbGFzcz1cImVycm9yQm94XCIgKm5nSWY9XCJlcnJvck1zZ1wiPlxuICAgICAgICAgIDxiPiB7eyAnSURFQV9BVVRILkVSUk9SJyB8IHRyYW5zbGF0ZSB9fS4gPC9iPlxuICAgICAgICAgIHt7IGVycm9yTXNnIH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGlvbi1pdGVtPlxuICAgICAgICAgIDxpb24tbGFiZWwgcG9zaXRpb249XCJpbmxpbmVcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwicGVyc29uLWNpcmNsZVwiIGNvbG9yPVwicHJpbWFyeVwiPiA8L2lvbi1pY29uPlxuICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgIDxpb24taW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJlbWFpbFwiXG4gICAgICAgICAgICBpbnB1dG1vZGU9XCJlbWFpbFwiXG4gICAgICAgICAgICBwYXR0ZXJuPVwiW0EtWmEtejAtOS5fJSstXXsyLH1AW2EtekEtWi1fLl17Mix9Wy5dezF9W2EtekEtWl17Mix9XCJcbiAgICAgICAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICAgICAgICBhdXRvY29ycmVjdD1cIm9mZlwiXG4gICAgICAgICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiXG4gICAgICAgICAgICBhdXRvY29tcGxldGU9XCJlbWFpbFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidC5fKCdJREVBX0FVVEguRU1BSUwnKVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwidC5fKCdJREVBX0FVVEguRU1BSUxfSElOVCcpXCJcbiAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVtYWlsXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJjb25maXJtUGFzc3dvcmQoKVwiXG4gICAgICAgICAgPjwvaW9uLWlucHV0PlxuICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICA8aW9uLWl0ZW0+XG4gICAgICAgICAgPGlvbi1sYWJlbCBwb3NpdGlvbj1cImlubGluZVwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJkaXNjXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICA8aW9uLWlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJ0Ll8oJ0lERUFfQVVUSC5SRVNFVF9DT0RFJylcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILlJFU0VUX0NPREVfSElOVCcpXCJcbiAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvZGVcIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImNvbmZpcm1QYXNzd29yZCgpXCJcbiAgICAgICAgICA+PC9pb24taW5wdXQ+XG4gICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIDxpb24taXRlbT5cbiAgICAgICAgICA8aW9uLWxhYmVsIHBvc2l0aW9uPVwiaW5saW5lXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImtleVwiIGNvbG9yPVwicHJpbWFyeVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgIHBhdHRlcm49XCIuezgsfVwiXG4gICAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCJcbiAgICAgICAgICAgIFtjbGVhck9uRWRpdF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidC5fKCdJREVBX0FVVEguTkVXX1BBU1NXT1JEJylcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkNIT09TRV9BX1BBU1NXT1JEJylcIlxuICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibmV3UGFzc3dvcmRcIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImNvbmZpcm1QYXNzd29yZCgpXCJcbiAgICAgICAgICA+PC9pb24taW5wdXQ+XG4gICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIDxpb24tYnV0dG9uIGV4cGFuZD1cImJsb2NrXCIgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkNIQU5HRV9NWV9QQVNTV09SRF9ISU5UJylcIiAoY2xpY2spPVwiY29uZmlybVBhc3N3b3JkKClcIj5cbiAgICAgICAgICB7eyAnSURFQV9BVVRILkNIQU5HRV9NWV9QQVNTV09SRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgZXhwYW5kPVwiYmxvY2tcIlxuICAgICAgICAgIGNsYXNzPVwic21hbGxDYXNlQnV0dG9uXCJcbiAgICAgICAgICBbdGl0bGVdPVwidC5fKCdJREVBX0FVVEguSEFWRU5fVF9SRUNFSVZFRF9BX1JFU0VUX0NPREVfSElOVCcpXCJcbiAgICAgICAgICAoY2xpY2spPVwiZ29Ub0ZvcmdvdFBhc3N3b3JkKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ0lERUFfQVVUSC5IQVZFTl9UX1JFQ0VJVkVEX0FfUkVTRVRfQ09ERScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgZXhwYW5kPVwiYmxvY2tcIlxuICAgICAgICAgIGNsYXNzPVwic21hbGxDYXNlQnV0dG9uXCJcbiAgICAgICAgICBbdGl0bGVdPVwidC5fKCdJREVBX0FVVEguQkFDS19UT19TSUdOX0lOX0hJTlQnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImdvVG9BdXRoKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ0lERUFfQVVUSC5CQUNLX1RPX1NJR05fSU4nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvaW9uLWNhcmQtY29udGVudD5cbiAgICA8L2lvbi1jYXJkPlxuICA8L2Zvcm0+XG48L2lvbi1jb250ZW50PlxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybVBhc3N3b3JkLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2F1dGgvc3JjL2NvbmZpcm1QYXNzd29yZC5wYWdlLnRzIiwiLi4vLi4vLi4vLi4vbW9kdWxlcy9hdXRoL3NyYy9jb25maXJtUGFzc3dvcmQucGFnZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBWTFDLE1BQU0sT0FBTyx1QkFBdUI7SUFrQmxDLFlBQ1MsT0FBc0IsRUFDdEIsS0FBcUIsRUFDckIsT0FBMkIsRUFDM0IsT0FBMkIsRUFDM0IsSUFBcUIsRUFDckIsQ0FBMEI7UUFMMUIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUNyQixNQUFDLEdBQUQsQ0FBQyxDQUF5QjtRQUVqQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJO1lBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUk7YUFDTixlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDeEQsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtDQUFrQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUM7YUFDRCxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNJLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0Q7O09BRUc7SUFDSSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O29IQTlEVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw2RENacEMsaS9HQTRGQTsyRkRoRmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgSURFQUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgSURFQU1lc3NhZ2VTZXJ2aWNlLCBJREVBTG9hZGluZ1NlcnZpY2UsIElERUFUcmFuc2xhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnQGlkZWEtaW9uaWMvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWRlYS1jb25maXJtLXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICdjb25maXJtUGFzc3dvcmQucGFnZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2F1dGguc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIElERUFDb25maXJtUGFzc3dvcmRQYWdlIHtcbiAgLyoqXG4gICAqIFRoZSBlbWFpbCBhZGRyZXNzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIGFjY291bnQuXG4gICAqL1xuICBwdWJsaWMgZW1haWw6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBjb2RlIChyZWNlaXZlZCB2aWEgZW1haWwpLCB0byB1c2UgZm9yIGNvbmZpcm1pbmcgdGhlIGFjY291bnQuXG4gICAqL1xuICBwdWJsaWMgY29kZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5ldyBwYXNzd29yZCBmb3IgdGhlIGFjY291bnQuXG4gICAqL1xuICBwdWJsaWMgbmV3UGFzc3dvcmQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgaW4gdGhlIFVJLCBpZiBhbnkuXG4gICAqL1xuICBwdWJsaWMgZXJyb3JNc2c6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbmF2Q3RybDogTmF2Q29udHJvbGxlcixcbiAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBtZXNzYWdlOiBJREVBTWVzc2FnZVNlcnZpY2UsXG4gICAgcHVibGljIGxvYWRpbmc6IElERUFMb2FkaW5nU2VydmljZSxcbiAgICBwdWJsaWMgYXV0aDogSURFQUF1dGhTZXJ2aWNlLFxuICAgIHB1YmxpYyB0OiBJREVBVHJhbnNsYXRpb25zU2VydmljZVxuICApIHtcbiAgICB0aGlzLmVtYWlsID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZW1haWwnKSB8fCBudWxsO1xuICAgIGlmICghdGhpcy5lbWFpbCAmJiB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnVzZXIpXG4gICAgICB0aGlzLmVtYWlsID0gZGVjb2RlVVJJQ29tcG9uZW50KHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudXNlcik7XG4gICAgdGhpcy5jb2RlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5jb2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbmZpcm0gbmV3IHBhc3N3b3JkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNvbmZpcm1QYXNzd29yZCgpIHtcbiAgICB0aGlzLmVycm9yTXNnID0gbnVsbDtcbiAgICBhd2FpdCB0aGlzLmxvYWRpbmcuc2hvdygpO1xuICAgIHRoaXMuYXV0aFxuICAgICAgLmNvbmZpcm1QYXNzd29yZCh0aGlzLmVtYWlsLCB0aGlzLmNvZGUsIHRoaXMubmV3UGFzc3dvcmQpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMubWVzc2FnZS5zdWNjZXNzKCdJREVBX0FVVEguUEFTU1dPUkRfQ0hBTkdFRCcpO1xuICAgICAgICB0aGlzLmdvVG9BdXRoKCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgdGhpcy5lcnJvck1zZyA9IHRoaXMudC5fKCdJREVBX0FVVEguQ09ORklSTV9QQVNTV09SRF9FUlJPUicsIHsgbjogOCB9KTtcbiAgICAgICAgdGhpcy5tZXNzYWdlLmVycm9yKHRoaXMuZXJyb3JNc2csIHRydWUpO1xuICAgICAgfSlcbiAgICAgIC5maW5hbGx5KCgpID0+IHRoaXMubG9hZGluZy5oaWRlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdvIHRvIGZvcmdvdCBwYXNzd29yZCBwYWdlLlxuICAgKi9cbiAgcHVibGljIGdvVG9Gb3Jnb3RQYXNzd29yZCgpIHtcbiAgICB0aGlzLm5hdkN0cmwubmF2aWdhdGVCYWNrKFsnYXV0aC9mb3Jnb3QtcGFzc3dvcmQnXSk7XG4gIH1cbiAgLyoqXG4gICAqIEdvIHRvIGF1dGggcGFnZS5cbiAgICovXG4gIHB1YmxpYyBnb1RvQXV0aCgpIHtcbiAgICB0aGlzLm5hdkN0cmwubmF2aWdhdGVCYWNrKFsnYXV0aCddKTtcbiAgfVxufVxuIiwiPGlvbi1jb250ZW50PlxuICA8Zm9ybSBjbGFzcz1cImZsZXhCb3hcIj5cbiAgICA8aW9uLWNhcmQgY2xhc3M9XCJhdXRoQ2FyZFwiPlxuICAgICAgPGlvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgPGlvbi1jYXJkLXRpdGxlIGNvbG9yPVwicHJpbWFyeVwiPnt7ICdJREVBX0FVVEguQ0hBTkdFX1RIRV9QQVNTV09SRCcgfCB0cmFuc2xhdGUgfX08L2lvbi1jYXJkLXRpdGxlPlxuICAgICAgICA8aW9uLWNhcmQtc3VidGl0bGU+e3sgJ0lERUFfQVVUSC5DSEFOR0VfVEhFX1BBU1NXT1JEX0hJTlQnIHwgdHJhbnNsYXRlOiB7IG46IDggfSB9fTwvaW9uLWNhcmQtc3VidGl0bGU+XG4gICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cbiAgICAgIDxpb24tY2FyZC1jb250ZW50PlxuICAgICAgICA8cCBjbGFzcz1cImVycm9yQm94XCIgKm5nSWY9XCJlcnJvck1zZ1wiPlxuICAgICAgICAgIDxiPiB7eyAnSURFQV9BVVRILkVSUk9SJyB8IHRyYW5zbGF0ZSB9fS4gPC9iPlxuICAgICAgICAgIHt7IGVycm9yTXNnIH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGlvbi1pdGVtPlxuICAgICAgICAgIDxpb24tbGFiZWwgcG9zaXRpb249XCJpbmxpbmVcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwicGVyc29uLWNpcmNsZVwiIGNvbG9yPVwicHJpbWFyeVwiPiA8L2lvbi1pY29uPlxuICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgIDxpb24taW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJlbWFpbFwiXG4gICAgICAgICAgICBpbnB1dG1vZGU9XCJlbWFpbFwiXG4gICAgICAgICAgICBwYXR0ZXJuPVwiW0EtWmEtejAtOS5fJSstXXsyLH1AW2EtekEtWi1fLl17Mix9Wy5dezF9W2EtekEtWl17Mix9XCJcbiAgICAgICAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICAgICAgICBhdXRvY29ycmVjdD1cIm9mZlwiXG4gICAgICAgICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiXG4gICAgICAgICAgICBhdXRvY29tcGxldGU9XCJlbWFpbFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidC5fKCdJREVBX0FVVEguRU1BSUwnKVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwidC5fKCdJREVBX0FVVEguRU1BSUxfSElOVCcpXCJcbiAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVtYWlsXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJjb25maXJtUGFzc3dvcmQoKVwiXG4gICAgICAgICAgPjwvaW9uLWlucHV0PlxuICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICA8aW9uLWl0ZW0+XG4gICAgICAgICAgPGlvbi1sYWJlbCBwb3NpdGlvbj1cImlubGluZVwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJkaXNjXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICA8aW9uLWlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJ0Ll8oJ0lERUFfQVVUSC5SRVNFVF9DT0RFJylcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILlJFU0VUX0NPREVfSElOVCcpXCJcbiAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvZGVcIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImNvbmZpcm1QYXNzd29yZCgpXCJcbiAgICAgICAgICA+PC9pb24taW5wdXQ+XG4gICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIDxpb24taXRlbT5cbiAgICAgICAgICA8aW9uLWxhYmVsIHBvc2l0aW9uPVwiaW5saW5lXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImtleVwiIGNvbG9yPVwicHJpbWFyeVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgIHBhdHRlcm49XCIuezgsfVwiXG4gICAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCJcbiAgICAgICAgICAgIFtjbGVhck9uRWRpdF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidC5fKCdJREVBX0FVVEguTkVXX1BBU1NXT1JEJylcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkNIT09TRV9BX1BBU1NXT1JEJylcIlxuICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibmV3UGFzc3dvcmRcIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImNvbmZpcm1QYXNzd29yZCgpXCJcbiAgICAgICAgICA+PC9pb24taW5wdXQ+XG4gICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIDxpb24tYnV0dG9uIGV4cGFuZD1cImJsb2NrXCIgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkNIQU5HRV9NWV9QQVNTV09SRF9ISU5UJylcIiAoY2xpY2spPVwiY29uZmlybVBhc3N3b3JkKClcIj5cbiAgICAgICAgICB7eyAnSURFQV9BVVRILkNIQU5HRV9NWV9QQVNTV09SRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgZXhwYW5kPVwiYmxvY2tcIlxuICAgICAgICAgIGNsYXNzPVwic21hbGxDYXNlQnV0dG9uXCJcbiAgICAgICAgICBbdGl0bGVdPVwidC5fKCdJREVBX0FVVEguSEFWRU5fVF9SRUNFSVZFRF9BX1JFU0VUX0NPREVfSElOVCcpXCJcbiAgICAgICAgICAoY2xpY2spPVwiZ29Ub0ZvcmdvdFBhc3N3b3JkKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ0lERUFfQVVUSC5IQVZFTl9UX1JFQ0VJVkVEX0FfUkVTRVRfQ09ERScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgZXhwYW5kPVwiYmxvY2tcIlxuICAgICAgICAgIGNsYXNzPVwic21hbGxDYXNlQnV0dG9uXCJcbiAgICAgICAgICBbdGl0bGVdPVwidC5fKCdJREVBX0FVVEguQkFDS19UT19TSUdOX0lOX0hJTlQnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImdvVG9BdXRoKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ0lERUFfQVVUSC5CQUNLX1RPX1NJR05fSU4nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvaW9uLWNhcmQtY29udGVudD5cbiAgICA8L2lvbi1jYXJkPlxuICA8L2Zvcm0+XG48L2lvbi1jb250ZW50PlxuIl19
@@ -39,10 +39,10 @@ export class IDEAForgotPasswordPage {
39
39
  this.navCtrl.navigateBack(['auth']);
40
40
  }
41
41
  }
42
- IDEAForgotPasswordPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IDEAForgotPasswordPage, deps: [{ token: i1.NavController }, { token: i2.IDEAMessageService }, { token: i2.IDEALoadingService }, { token: i3.IDEAAuthService }, { token: i2.IDEATranslationsService }], target: i0.ɵɵFactoryTarget.Component });
43
- IDEAForgotPasswordPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: IDEAForgotPasswordPage, selector: "idea-forgot-password", ngImport: i0, template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.PASSWORD_RESET' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.PASSWORD_RESET_HINT' | translate }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"person-circle\" color=\"primary\"> </ion-icon>\n </ion-label>\n <ion-input\n type=\"email\"\n inputmode=\"email\"\n pattern=\"[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"email\"\n [placeholder]=\"t._('IDEA_AUTH.EMAIL')\"\n [title]=\"t._('IDEA_AUTH.EMAIL_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"email\"\n (keyup.enter)=\"forgotPassword()\"\n ></ion-input>\n </ion-item>\n <ion-button expand=\"block\" [title]=\"t._('IDEA_AUTH.RESET_MY_PASSWORD_HINT')\" (click)=\"forgotPassword()\">\n {{ 'IDEA_AUTH.RESET_MY_PASSWORD' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.ALREADY_HAVE_A_RESET_CODE_HINT')\"\n (click)=\"goToConfirmPassword()\"\n >\n {{ 'IDEA_AUTH.ALREADY_HAVE_A_RESET_CODE' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n", styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background: var(--ion-color-white);--border-color: var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width: 500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}\n"], components: [{ type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { type: i1.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { type: i1.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { type: i1.IonCardSubtitle, selector: "ion-card-subtitle", inputs: ["color", "mode"] }, { type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }], directives: [{ type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i2.IDEATranslatePipe } });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IDEAForgotPasswordPage, decorators: [{
42
+ IDEAForgotPasswordPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IDEAForgotPasswordPage, deps: [{ token: i1.NavController }, { token: i2.IDEAMessageService }, { token: i2.IDEALoadingService }, { token: i3.IDEAAuthService }, { token: i2.IDEATranslationsService }], target: i0.ɵɵFactoryTarget.Component });
43
+ IDEAForgotPasswordPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: IDEAForgotPasswordPage, selector: "idea-forgot-password", ngImport: i0, template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.PASSWORD_RESET' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.PASSWORD_RESET_HINT' | translate }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"person-circle\" color=\"primary\"> </ion-icon>\n </ion-label>\n <ion-input\n type=\"email\"\n inputmode=\"email\"\n pattern=\"[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"email\"\n [placeholder]=\"t._('IDEA_AUTH.EMAIL')\"\n [title]=\"t._('IDEA_AUTH.EMAIL_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"email\"\n (keyup.enter)=\"forgotPassword()\"\n ></ion-input>\n </ion-item>\n <ion-button expand=\"block\" [title]=\"t._('IDEA_AUTH.RESET_MY_PASSWORD_HINT')\" (click)=\"forgotPassword()\">\n {{ 'IDEA_AUTH.RESET_MY_PASSWORD' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.ALREADY_HAVE_A_RESET_CODE_HINT')\"\n (click)=\"goToConfirmPassword()\"\n >\n {{ 'IDEA_AUTH.ALREADY_HAVE_A_RESET_CODE' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n", styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background: var(--ion-color-white);--border-color: var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width: 500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i1.IonCardSubtitle, selector: "ion-card-subtitle", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "pipe", type: i2.IDEATranslatePipe, name: "translate" }] });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IDEAForgotPasswordPage, decorators: [{
45
45
  type: Component,
46
46
  args: [{ selector: 'idea-forgot-password', template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.PASSWORD_RESET' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.PASSWORD_RESET_HINT' | translate }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"person-circle\" color=\"primary\"> </ion-icon>\n </ion-label>\n <ion-input\n type=\"email\"\n inputmode=\"email\"\n pattern=\"[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"email\"\n [placeholder]=\"t._('IDEA_AUTH.EMAIL')\"\n [title]=\"t._('IDEA_AUTH.EMAIL_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"email\"\n (keyup.enter)=\"forgotPassword()\"\n ></ion-input>\n </ion-item>\n <ion-button expand=\"block\" [title]=\"t._('IDEA_AUTH.RESET_MY_PASSWORD_HINT')\" (click)=\"forgotPassword()\">\n {{ 'IDEA_AUTH.RESET_MY_PASSWORD' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.ALREADY_HAVE_A_RESET_CODE_HINT')\"\n (click)=\"goToConfirmPassword()\"\n >\n {{ 'IDEA_AUTH.ALREADY_HAVE_A_RESET_CODE' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n", styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background: var(--ion-color-white);--border-color: var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width: 500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}\n"] }]
47
47
  }], ctorParameters: function () { return [{ type: i1.NavController }, { type: i2.IDEAMessageService }, { type: i2.IDEALoadingService }, { type: i3.IDEAAuthService }, { type: i2.IDEATranslationsService }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290UGFzc3dvcmQucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21vZHVsZXMvYXV0aC9zcmMvZm9yZ290UGFzc3dvcmQucGFnZS50cyIsIi4uLy4uLy4uLy4uL21vZHVsZXMvYXV0aC9zcmMvZm9yZ290UGFzc3dvcmQucGFnZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVUxQyxNQUFNLE9BQU8sc0JBQXNCO0lBTWpDLFlBQ1MsT0FBc0IsRUFDdEIsT0FBMkIsRUFDM0IsT0FBMkIsRUFDM0IsSUFBcUIsRUFDckIsQ0FBMEI7UUFKMUIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUNyQixNQUFDLEdBQUQsQ0FBQyxDQUF5QjtJQUNoQyxDQUFDO0lBRUo7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUk7YUFDTixjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUMxQixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0NBQW9DLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQzthQUMzRCxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNJLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUNEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDOztvSEF4Q1Usc0JBQXNCO3dHQUF0QixzQkFBc0IsNERDVm5DLGkrREFvREE7NEZEMUNhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBJREVBQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBJREVBTWVzc2FnZVNlcnZpY2UsIElERUFMb2FkaW5nU2VydmljZSwgSURFQVRyYW5zbGF0aW9uc1NlcnZpY2UgfSBmcm9tICdAaWRlYS1pb25pYy9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZGVhLWZvcmdvdC1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnZm9yZ290UGFzc3dvcmQucGFnZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2F1dGguc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIElERUFGb3Jnb3RQYXNzd29yZFBhZ2Uge1xuICAvKipcbiAgICogVGhlIGVtYWlsIGFkZHJlc3MgdXNlZCB0byBpZGVudGlmeSB0aGUgYWNjb3VudC5cbiAgICovXG4gIHB1YmxpYyBlbWFpbDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBuYXZDdHJsOiBOYXZDb250cm9sbGVyLFxuICAgIHB1YmxpYyBtZXNzYWdlOiBJREVBTWVzc2FnZVNlcnZpY2UsXG4gICAgcHVibGljIGxvYWRpbmc6IElERUFMb2FkaW5nU2VydmljZSxcbiAgICBwdWJsaWMgYXV0aDogSURFQUF1dGhTZXJ2aWNlLFxuICAgIHB1YmxpYyB0OiBJREVBVHJhbnNsYXRpb25zU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIFwiSSBmb3Jnb3QgbXkgcGFzc3dvcmRcIiBwcm9jZWR1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZm9yZ290UGFzc3dvcmQoKSB7XG4gICAgYXdhaXQgdGhpcy5sb2FkaW5nLnNob3coKTtcbiAgICB0aGlzLmF1dGhcbiAgICAgIC5mb3Jnb3RQYXNzd29yZCh0aGlzLmVtYWlsKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2Uuc3VjY2VzcygnSURFQV9BVVRILlBBU1NXT1JEX1JFU0VUX0NPREVfU0VOVCcpO1xuICAgICAgICB0aGlzLmdvVG9Db25maXJtUGFzc3dvcmQoKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4gdGhpcy5tZXNzYWdlLmVycm9yKCdJREVBX0FVVEguVVNFUl9OT1RfRk9VTkQnKSlcbiAgICAgIC5maW5hbGx5KCgpID0+IHRoaXMubG9hZGluZy5oaWRlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdvIHRvIHRoZSBjb25maXJtIHBhc3N3b3JkIHBhZ2UuXG4gICAqL1xuICBwdWJsaWMgZ29Ub0NvbmZpcm1QYXNzd29yZCgpIHtcbiAgICB0aGlzLm5hdkN0cmwubmF2aWdhdGVGb3J3YXJkKFsnYXV0aC9jb25maXJtLXBhc3N3b3JkJ10sIHsgcXVlcnlQYXJhbXM6IHsgZW1haWw6IHRoaXMuZW1haWwgfHwgbnVsbCB9IH0pO1xuICB9XG4gIC8qKlxuICAgKiBHbyB0byBhdXRoIHBhZ2UuXG4gICAqL1xuICBwdWJsaWMgZ29Ub0F1dGgoKSB7XG4gICAgdGhpcy5uYXZDdHJsLm5hdmlnYXRlQmFjayhbJ2F1dGgnXSk7XG4gIH1cbn1cbiIsIjxpb24tY29udGVudD5cbiAgPGZvcm0gY2xhc3M9XCJmbGV4Qm94XCI+XG4gICAgPGlvbi1jYXJkIGNsYXNzPVwiYXV0aENhcmRcIj5cbiAgICAgIDxpb24tY2FyZC1oZWFkZXI+XG4gICAgICAgIDxpb24tY2FyZC10aXRsZSBjb2xvcj1cInByaW1hcnlcIj57eyAnSURFQV9BVVRILlBBU1NXT1JEX1JFU0VUJyB8IHRyYW5zbGF0ZSB9fTwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgIDxpb24tY2FyZC1zdWJ0aXRsZT57eyAnSURFQV9BVVRILlBBU1NXT1JEX1JFU0VUX0hJTlQnIHwgdHJhbnNsYXRlIH19PC9pb24tY2FyZC1zdWJ0aXRsZT5cbiAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuICAgICAgPGlvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxpb24taXRlbT5cbiAgICAgICAgICA8aW9uLWxhYmVsIHBvc2l0aW9uPVwiaW5saW5lXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInBlcnNvbi1jaXJjbGVcIiBjb2xvcj1cInByaW1hcnlcIj4gPC9pb24taWNvbj5cbiAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICA8aW9uLWlucHV0XG4gICAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgICAgaW5wdXRtb2RlPVwiZW1haWxcIlxuICAgICAgICAgICAgcGF0dGVybj1cIltBLVphLXowLTkuXyUrLV17Mix9QFthLXpBLVotXy5dezIsfVsuXXsxfVthLXpBLVpdezIsfVwiXG4gICAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwiZW1haWxcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQuXygnSURFQV9BVVRILkVNQUlMJylcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkVNQUlMX0hJTlQnKVwiXG4gICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbWFpbFwiXG4gICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiZm9yZ290UGFzc3dvcmQoKVwiXG4gICAgICAgICAgPjwvaW9uLWlucHV0PlxuICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICA8aW9uLWJ1dHRvbiBleHBhbmQ9XCJibG9ja1wiIFt0aXRsZV09XCJ0Ll8oJ0lERUFfQVVUSC5SRVNFVF9NWV9QQVNTV09SRF9ISU5UJylcIiAoY2xpY2spPVwiZm9yZ290UGFzc3dvcmQoKVwiPlxuICAgICAgICAgIHt7ICdJREVBX0FVVEguUkVTRVRfTVlfUEFTU1dPUkQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgIGV4cGFuZD1cImJsb2NrXCJcbiAgICAgICAgICBjbGFzcz1cInNtYWxsQ2FzZUJ1dHRvblwiXG4gICAgICAgICAgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkFMUkVBRFlfSEFWRV9BX1JFU0VUX0NPREVfSElOVCcpXCJcbiAgICAgICAgICAoY2xpY2spPVwiZ29Ub0NvbmZpcm1QYXNzd29yZCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdJREVBX0FVVEguQUxSRUFEWV9IQVZFX0FfUkVTRVRfQ09ERScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgZXhwYW5kPVwiYmxvY2tcIlxuICAgICAgICAgIGNsYXNzPVwic21hbGxDYXNlQnV0dG9uXCJcbiAgICAgICAgICBbdGl0bGVdPVwidC5fKCdJREVBX0FVVEguQkFDS19UT19TSUdOX0lOX0hJTlQnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImdvVG9BdXRoKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ0lERUFfQVVUSC5CQUNLX1RPX1NJR05fSU4nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvaW9uLWNhcmQtY29udGVudD5cbiAgICA8L2lvbi1jYXJkPlxuICA8L2Zvcm0+XG48L2lvbi1jb250ZW50PlxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290UGFzc3dvcmQucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21vZHVsZXMvYXV0aC9zcmMvZm9yZ290UGFzc3dvcmQucGFnZS50cyIsIi4uLy4uLy4uLy4uL21vZHVsZXMvYXV0aC9zcmMvZm9yZ290UGFzc3dvcmQucGFnZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVUxQyxNQUFNLE9BQU8sc0JBQXNCO0lBTWpDLFlBQ1MsT0FBc0IsRUFDdEIsT0FBMkIsRUFDM0IsT0FBMkIsRUFDM0IsSUFBcUIsRUFDckIsQ0FBMEI7UUFKMUIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUNyQixNQUFDLEdBQUQsQ0FBQyxDQUF5QjtJQUNoQyxDQUFDO0lBRUo7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUk7YUFDTixjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUMxQixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0NBQW9DLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQzthQUMzRCxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNJLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUNEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDOzttSEF4Q1Usc0JBQXNCO3VHQUF0QixzQkFBc0IsNERDVm5DLGkrREFvREE7MkZEMUNhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBJREVBQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBJREVBTWVzc2FnZVNlcnZpY2UsIElERUFMb2FkaW5nU2VydmljZSwgSURFQVRyYW5zbGF0aW9uc1NlcnZpY2UgfSBmcm9tICdAaWRlYS1pb25pYy9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZGVhLWZvcmdvdC1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnZm9yZ290UGFzc3dvcmQucGFnZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2F1dGguc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIElERUFGb3Jnb3RQYXNzd29yZFBhZ2Uge1xuICAvKipcbiAgICogVGhlIGVtYWlsIGFkZHJlc3MgdXNlZCB0byBpZGVudGlmeSB0aGUgYWNjb3VudC5cbiAgICovXG4gIHB1YmxpYyBlbWFpbDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBuYXZDdHJsOiBOYXZDb250cm9sbGVyLFxuICAgIHB1YmxpYyBtZXNzYWdlOiBJREVBTWVzc2FnZVNlcnZpY2UsXG4gICAgcHVibGljIGxvYWRpbmc6IElERUFMb2FkaW5nU2VydmljZSxcbiAgICBwdWJsaWMgYXV0aDogSURFQUF1dGhTZXJ2aWNlLFxuICAgIHB1YmxpYyB0OiBJREVBVHJhbnNsYXRpb25zU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIFwiSSBmb3Jnb3QgbXkgcGFzc3dvcmRcIiBwcm9jZWR1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZm9yZ290UGFzc3dvcmQoKSB7XG4gICAgYXdhaXQgdGhpcy5sb2FkaW5nLnNob3coKTtcbiAgICB0aGlzLmF1dGhcbiAgICAgIC5mb3Jnb3RQYXNzd29yZCh0aGlzLmVtYWlsKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2Uuc3VjY2VzcygnSURFQV9BVVRILlBBU1NXT1JEX1JFU0VUX0NPREVfU0VOVCcpO1xuICAgICAgICB0aGlzLmdvVG9Db25maXJtUGFzc3dvcmQoKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4gdGhpcy5tZXNzYWdlLmVycm9yKCdJREVBX0FVVEguVVNFUl9OT1RfRk9VTkQnKSlcbiAgICAgIC5maW5hbGx5KCgpID0+IHRoaXMubG9hZGluZy5oaWRlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdvIHRvIHRoZSBjb25maXJtIHBhc3N3b3JkIHBhZ2UuXG4gICAqL1xuICBwdWJsaWMgZ29Ub0NvbmZpcm1QYXNzd29yZCgpIHtcbiAgICB0aGlzLm5hdkN0cmwubmF2aWdhdGVGb3J3YXJkKFsnYXV0aC9jb25maXJtLXBhc3N3b3JkJ10sIHsgcXVlcnlQYXJhbXM6IHsgZW1haWw6IHRoaXMuZW1haWwgfHwgbnVsbCB9IH0pO1xuICB9XG4gIC8qKlxuICAgKiBHbyB0byBhdXRoIHBhZ2UuXG4gICAqL1xuICBwdWJsaWMgZ29Ub0F1dGgoKSB7XG4gICAgdGhpcy5uYXZDdHJsLm5hdmlnYXRlQmFjayhbJ2F1dGgnXSk7XG4gIH1cbn1cbiIsIjxpb24tY29udGVudD5cbiAgPGZvcm0gY2xhc3M9XCJmbGV4Qm94XCI+XG4gICAgPGlvbi1jYXJkIGNsYXNzPVwiYXV0aENhcmRcIj5cbiAgICAgIDxpb24tY2FyZC1oZWFkZXI+XG4gICAgICAgIDxpb24tY2FyZC10aXRsZSBjb2xvcj1cInByaW1hcnlcIj57eyAnSURFQV9BVVRILlBBU1NXT1JEX1JFU0VUJyB8IHRyYW5zbGF0ZSB9fTwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgIDxpb24tY2FyZC1zdWJ0aXRsZT57eyAnSURFQV9BVVRILlBBU1NXT1JEX1JFU0VUX0hJTlQnIHwgdHJhbnNsYXRlIH19PC9pb24tY2FyZC1zdWJ0aXRsZT5cbiAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuICAgICAgPGlvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxpb24taXRlbT5cbiAgICAgICAgICA8aW9uLWxhYmVsIHBvc2l0aW9uPVwiaW5saW5lXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInBlcnNvbi1jaXJjbGVcIiBjb2xvcj1cInByaW1hcnlcIj4gPC9pb24taWNvbj5cbiAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICA8aW9uLWlucHV0XG4gICAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgICAgaW5wdXRtb2RlPVwiZW1haWxcIlxuICAgICAgICAgICAgcGF0dGVybj1cIltBLVphLXowLTkuXyUrLV17Mix9QFthLXpBLVotXy5dezIsfVsuXXsxfVthLXpBLVpdezIsfVwiXG4gICAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwiZW1haWxcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQuXygnSURFQV9BVVRILkVNQUlMJylcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkVNQUlMX0hJTlQnKVwiXG4gICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbWFpbFwiXG4gICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiZm9yZ290UGFzc3dvcmQoKVwiXG4gICAgICAgICAgPjwvaW9uLWlucHV0PlxuICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICA8aW9uLWJ1dHRvbiBleHBhbmQ9XCJibG9ja1wiIFt0aXRsZV09XCJ0Ll8oJ0lERUFfQVVUSC5SRVNFVF9NWV9QQVNTV09SRF9ISU5UJylcIiAoY2xpY2spPVwiZm9yZ290UGFzc3dvcmQoKVwiPlxuICAgICAgICAgIHt7ICdJREVBX0FVVEguUkVTRVRfTVlfUEFTU1dPUkQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgIGV4cGFuZD1cImJsb2NrXCJcbiAgICAgICAgICBjbGFzcz1cInNtYWxsQ2FzZUJ1dHRvblwiXG4gICAgICAgICAgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkFMUkVBRFlfSEFWRV9BX1JFU0VUX0NPREVfSElOVCcpXCJcbiAgICAgICAgICAoY2xpY2spPVwiZ29Ub0NvbmZpcm1QYXNzd29yZCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdJREVBX0FVVEguQUxSRUFEWV9IQVZFX0FfUkVTRVRfQ09ERScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgZXhwYW5kPVwiYmxvY2tcIlxuICAgICAgICAgIGNsYXNzPVwic21hbGxDYXNlQnV0dG9uXCJcbiAgICAgICAgICBbdGl0bGVdPVwidC5fKCdJREVBX0FVVEguQkFDS19UT19TSUdOX0lOX0hJTlQnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImdvVG9BdXRoKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ0lERUFfQVVUSC5CQUNLX1RPX1NJR05fSU4nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvaW9uLWNhcmQtY29udGVudD5cbiAgICA8L2lvbi1jYXJkPlxuICA8L2Zvcm0+XG48L2lvbi1jb250ZW50PlxuIl19
@@ -3,8 +3,8 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "@ionic/angular";
4
4
  import * as i2 from "@idea-ionic/common";
5
5
  import * as i3 from "./auth.service";
6
- import * as i4 from "@angular/forms";
7
- import * as i5 from "@angular/common";
6
+ import * as i4 from "@angular/common";
7
+ import * as i5 from "@angular/forms";
8
8
  export class IDEANewPasswordPage {
9
9
  constructor(navCtrl, tc, message, loading, auth, t) {
10
10
  this.navCtrl = navCtrl;
@@ -43,10 +43,10 @@ export class IDEANewPasswordPage {
43
43
  this.navCtrl.navigateBack(['auth']);
44
44
  }
45
45
  }
46
- IDEANewPasswordPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IDEANewPasswordPage, deps: [{ token: i1.NavController }, { token: i2.IDEATinCanService }, { token: i2.IDEAMessageService }, { token: i2.IDEALoadingService }, { token: i3.IDEAAuthService }, { token: i2.IDEATranslationsService }], target: i0.ɵɵFactoryTarget.Component });
47
- IDEANewPasswordPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: IDEANewPasswordPage, selector: "idea-new-password", ngImport: i0, template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.CHOOSE_A_PASSWORD' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.YOU_NEED_TO_CHOOSE_A_NEW_PASSWORD' | translate }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <p class=\"errorBox\" *ngIf=\"errorMsg\">\n <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>\n {{ errorMsg }}\n </p>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"key\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n type=\"password\"\n pattern=\".{8,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"new-password\"\n [clearOnEdit]=\"false\"\n [placeholder]=\"t._('IDEA_AUTH.PASSWORD')\"\n [title]=\"t._('IDEA_AUTH.CHOOSE_A_PASSWORD')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"newPassword\"\n (keyup.enter)=\"confirmNewPassword()\"\n ></ion-input>\n </ion-item>\n <ion-button expand=\"block\" [title]=\"t._('IDEA_AUTH.CONFIRM_NEW_PASSWORD_HINT')\" (click)=\"confirmNewPassword()\">\n {{ 'IDEA_AUTH.CONFIRM_NEW_PASSWORD' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n", styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background: var(--ion-color-white);--border-color: var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width: 500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}\n"], components: [{ type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { type: i1.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { type: i1.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { type: i1.IonCardSubtitle, selector: "ion-card-subtitle", inputs: ["color", "mode"] }, { type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }], directives: [{ type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i2.IDEATranslatePipe } });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IDEANewPasswordPage, decorators: [{
46
+ IDEANewPasswordPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IDEANewPasswordPage, deps: [{ token: i1.NavController }, { token: i2.IDEATinCanService }, { token: i2.IDEAMessageService }, { token: i2.IDEALoadingService }, { token: i3.IDEAAuthService }, { token: i2.IDEATranslationsService }], target: i0.ɵɵFactoryTarget.Component });
47
+ IDEANewPasswordPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: IDEANewPasswordPage, selector: "idea-new-password", ngImport: i0, template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.CHOOSE_A_PASSWORD' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.YOU_NEED_TO_CHOOSE_A_NEW_PASSWORD' | translate }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <p class=\"errorBox\" *ngIf=\"errorMsg\">\n <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>\n {{ errorMsg }}\n </p>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"key\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n type=\"password\"\n pattern=\".{8,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"new-password\"\n [clearOnEdit]=\"false\"\n [placeholder]=\"t._('IDEA_AUTH.PASSWORD')\"\n [title]=\"t._('IDEA_AUTH.CHOOSE_A_PASSWORD')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"newPassword\"\n (keyup.enter)=\"confirmNewPassword()\"\n ></ion-input>\n </ion-item>\n <ion-button expand=\"block\" [title]=\"t._('IDEA_AUTH.CONFIRM_NEW_PASSWORD_HINT')\" (click)=\"confirmNewPassword()\">\n {{ 'IDEA_AUTH.CONFIRM_NEW_PASSWORD' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n", styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background: var(--ion-color-white);--border-color: var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width: 500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i1.IonCardSubtitle, selector: "ion-card-subtitle", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "pipe", type: i2.IDEATranslatePipe, name: "translate" }] });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IDEANewPasswordPage, decorators: [{
49
49
  type: Component,
50
50
  args: [{ selector: 'idea-new-password', template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.CHOOSE_A_PASSWORD' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.YOU_NEED_TO_CHOOSE_A_NEW_PASSWORD' | translate }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <p class=\"errorBox\" *ngIf=\"errorMsg\">\n <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>\n {{ errorMsg }}\n </p>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"key\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n type=\"password\"\n pattern=\".{8,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"new-password\"\n [clearOnEdit]=\"false\"\n [placeholder]=\"t._('IDEA_AUTH.PASSWORD')\"\n [title]=\"t._('IDEA_AUTH.CHOOSE_A_PASSWORD')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"newPassword\"\n (keyup.enter)=\"confirmNewPassword()\"\n ></ion-input>\n </ion-item>\n <ion-button expand=\"block\" [title]=\"t._('IDEA_AUTH.CONFIRM_NEW_PASSWORD_HINT')\" (click)=\"confirmNewPassword()\">\n {{ 'IDEA_AUTH.CONFIRM_NEW_PASSWORD' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n", styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background: var(--ion-color-white);--border-color: var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width: 500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}\n"] }]
51
51
  }], ctorParameters: function () { return [{ type: i1.NavController }, { type: i2.IDEATinCanService }, { type: i2.IDEAMessageService }, { type: i2.IDEALoadingService }, { type: i3.IDEAAuthService }, { type: i2.IDEATranslationsService }]; } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3UGFzc3dvcmQucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21vZHVsZXMvYXV0aC9zcmMvbmV3UGFzc3dvcmQucGFnZS50cyIsIi4uLy4uLy4uLy4uL21vZHVsZXMvYXV0aC9zcmMvbmV3UGFzc3dvcmQucGFnZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFXbEQsTUFBTSxPQUFPLG1CQUFtQjtJQWtCOUIsWUFDUyxPQUFzQixFQUN0QixFQUFxQixFQUNyQixPQUEyQixFQUMzQixPQUEyQixFQUMzQixJQUFxQixFQUNyQixDQUEwQjtRQUwxQixZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzNCLFNBQUksR0FBSixJQUFJLENBQWlCO1FBQ3JCLE1BQUMsR0FBRCxDQUFDLENBQXlCO0lBQ2hDLENBQUM7SUFDRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSTthQUNOLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ2hFLG1CQUFtQjthQUNsQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDdEMsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUNBQXFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMxRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQzthQUNELE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDOztpSEF0RFUsbUJBQW1CO3FHQUFuQixtQkFBbUIseURDWGhDLDZ5REErQ0E7NEZEcENhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IElERUFNZXNzYWdlU2VydmljZSwgSURFQUxvYWRpbmdTZXJ2aWNlLCBJREVBVGluQ2FuU2VydmljZSwgSURFQVRyYW5zbGF0aW9uc1NlcnZpY2UgfSBmcm9tICdAaWRlYS1pb25pYy9jb21tb24nO1xuXG5pbXBvcnQgeyBJREVBQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lkZWEtbmV3LXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICduZXdQYXNzd29yZC5wYWdlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnYXV0aC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSURFQU5ld1Bhc3N3b3JkUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBUaGUgZW1haWwgYWRkcmVzcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBhY2NvdW50LlxuICAgKi9cbiAgcHVibGljIGVtYWlsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCB0ZW1wb3JhcnkgcGFzc3dvcmQuXG4gICAqL1xuICBwdWJsaWMgcGFzc3dvcmQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuZXcgcGFzc3dvcmQgZm9yIHRoZSBhY2NvdW50LlxuICAgKi9cbiAgcHVibGljIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSBVSSwgaWYgYW55LlxuICAgKi9cbiAgcHVibGljIGVycm9yTXNnOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG5hdkN0cmw6IE5hdkNvbnRyb2xsZXIsXG4gICAgcHVibGljIHRjOiBJREVBVGluQ2FuU2VydmljZSxcbiAgICBwdWJsaWMgbWVzc2FnZTogSURFQU1lc3NhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyBsb2FkaW5nOiBJREVBTG9hZGluZ1NlcnZpY2UsXG4gICAgcHVibGljIGF1dGg6IElERUFBdXRoU2VydmljZSxcbiAgICBwdWJsaWMgdDogSURFQVRyYW5zbGF0aW9uc1NlcnZpY2VcbiAgKSB7fVxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5lbWFpbCA9IHRoaXMudGMuZ2V0KCdlbWFpbCcsIHRydWUpO1xuICAgIHRoaXMucGFzc3dvcmQgPSB0aGlzLnRjLmdldCgncGFzc3dvcmQnLCB0cnVlKTtcbiAgICBpZiAoIXRoaXMuZW1haWwgfHwgIXRoaXMucGFzc3dvcmQpIHRoaXMuZ29Ub0F1dGgoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maXJtIGEgbmV3IHBhc3N3b3JkIChhdXRoIGZsb3cgdGhhdCBmb2xsb3dzIGEgcmVnaXN0cmF0aW9uIG9yIGEgcGFzc3dvcmQgcmVzZXQpLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNvbmZpcm1OZXdQYXNzd29yZCgpIHtcbiAgICB0aGlzLmVycm9yTXNnID0gbnVsbDtcbiAgICBhd2FpdCB0aGlzLmxvYWRpbmcuc2hvdygpO1xuICAgIHRoaXMuYXV0aFxuICAgICAgLmNvbmZpcm1OZXdQYXNzd29yZCh0aGlzLmVtYWlsLCB0aGlzLnBhc3N3b3JkLCB0aGlzLm5ld1Bhc3N3b3JkKVxuICAgICAgLy8gd2UgYXJlIGxvZ2dlZCBpblxuICAgICAgLnRoZW4oKCkgPT4gd2luZG93LmxvY2F0aW9uLmFzc2lnbignJykpXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICB0aGlzLmVycm9yTXNnID0gdGhpcy50Ll8oJ0lERUFfQVVUSC5QQVNTV09SRF9QT0xJQ1lfVklPTEFUSU9OJywgeyBuOiA4IH0pO1xuICAgICAgICB0aGlzLm1lc3NhZ2UuZXJyb3IodGhpcy5lcnJvck1zZywgdHJ1ZSk7XG4gICAgICB9KVxuICAgICAgLmZpbmFsbHkoKCkgPT4gdGhpcy5sb2FkaW5nLmhpZGUoKSk7XG4gIH1cblxuICAvKipcbiAgICogR28gdG8gYXV0aCBwYWdlLlxuICAgKi9cbiAgcHVibGljIGdvVG9BdXRoKCkge1xuICAgIHRoaXMubmF2Q3RybC5uYXZpZ2F0ZUJhY2soWydhdXRoJ10pO1xuICB9XG59XG4iLCI8aW9uLWNvbnRlbnQ+XG4gIDxmb3JtIGNsYXNzPVwiZmxleEJveFwiPlxuICAgIDxpb24tY2FyZCBjbGFzcz1cImF1dGhDYXJkXCI+XG4gICAgICA8aW9uLWNhcmQtaGVhZGVyPlxuICAgICAgICA8aW9uLWNhcmQtdGl0bGUgY29sb3I9XCJwcmltYXJ5XCI+e3sgJ0lERUFfQVVUSC5DSE9PU0VfQV9QQVNTV09SRCcgfCB0cmFuc2xhdGUgfX08L2lvbi1jYXJkLXRpdGxlPlxuICAgICAgICA8aW9uLWNhcmQtc3VidGl0bGU+e3sgJ0lERUFfQVVUSC5ZT1VfTkVFRF9UT19DSE9PU0VfQV9ORVdfUEFTU1dPUkQnIHwgdHJhbnNsYXRlIH19PC9pb24tY2FyZC1zdWJ0aXRsZT5cbiAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuICAgICAgPGlvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxwIGNsYXNzPVwiZXJyb3JCb3hcIiAqbmdJZj1cImVycm9yTXNnXCI+XG4gICAgICAgICAgPGI+IHt7ICdJREVBX0FVVEguRVJST1InIHwgdHJhbnNsYXRlIH19LiA8L2I+XG4gICAgICAgICAge3sgZXJyb3JNc2cgfX1cbiAgICAgICAgPC9wPlxuICAgICAgICA8aW9uLWl0ZW0+XG4gICAgICAgICAgPGlvbi1sYWJlbCBwb3NpdGlvbj1cImlubGluZVwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJrZXlcIiBjb2xvcj1cInByaW1hcnlcIj48L2lvbi1pY29uPlxuICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgIDxpb24taW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICBwYXR0ZXJuPVwiLns4LH1cIlxuICAgICAgICAgICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICAgICAgICAgIGF1dG9jb3JyZWN0PVwib2ZmXCJcbiAgICAgICAgICAgIGF1dG9jYXBpdGFsaXplPVwib2ZmXCJcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICAgICAgICBbY2xlYXJPbkVkaXRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQuXygnSURFQV9BVVRILlBBU1NXT1JEJylcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkNIT09TRV9BX1BBU1NXT1JEJylcIlxuICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibmV3UGFzc3dvcmRcIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImNvbmZpcm1OZXdQYXNzd29yZCgpXCJcbiAgICAgICAgICA+PC9pb24taW5wdXQ+XG4gICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIDxpb24tYnV0dG9uIGV4cGFuZD1cImJsb2NrXCIgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkNPTkZJUk1fTkVXX1BBU1NXT1JEX0hJTlQnKVwiIChjbGljayk9XCJjb25maXJtTmV3UGFzc3dvcmQoKVwiPlxuICAgICAgICAgIHt7ICdJREVBX0FVVEguQ09ORklSTV9ORVdfUEFTU1dPUkQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgIGV4cGFuZD1cImJsb2NrXCJcbiAgICAgICAgICBjbGFzcz1cInNtYWxsQ2FzZUJ1dHRvblwiXG4gICAgICAgICAgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkJBQ0tfVE9fU0lHTl9JTl9ISU5UJylcIlxuICAgICAgICAgIChjbGljayk9XCJnb1RvQXV0aCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdJREVBX0FVVEguQkFDS19UT19TSUdOX0lOJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgPC9pb24tY2FyZD5cbiAgPC9mb3JtPlxuPC9pb24tY29udGVudD5cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3UGFzc3dvcmQucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21vZHVsZXMvYXV0aC9zcmMvbmV3UGFzc3dvcmQucGFnZS50cyIsIi4uLy4uLy4uLy4uL21vZHVsZXMvYXV0aC9zcmMvbmV3UGFzc3dvcmQucGFnZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFXbEQsTUFBTSxPQUFPLG1CQUFtQjtJQWtCOUIsWUFDUyxPQUFzQixFQUN0QixFQUFxQixFQUNyQixPQUEyQixFQUMzQixPQUEyQixFQUMzQixJQUFxQixFQUNyQixDQUEwQjtRQUwxQixZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzNCLFNBQUksR0FBSixJQUFJLENBQWlCO1FBQ3JCLE1BQUMsR0FBRCxDQUFDLENBQXlCO0lBQ2hDLENBQUM7SUFDRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSTthQUNOLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ2hFLG1CQUFtQjthQUNsQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDdEMsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUNBQXFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMxRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQzthQUNELE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDOztnSEF0RFUsbUJBQW1CO29HQUFuQixtQkFBbUIseURDWGhDLDZ5REErQ0E7MkZEcENhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IElERUFNZXNzYWdlU2VydmljZSwgSURFQUxvYWRpbmdTZXJ2aWNlLCBJREVBVGluQ2FuU2VydmljZSwgSURFQVRyYW5zbGF0aW9uc1NlcnZpY2UgfSBmcm9tICdAaWRlYS1pb25pYy9jb21tb24nO1xuXG5pbXBvcnQgeyBJREVBQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lkZWEtbmV3LXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICduZXdQYXNzd29yZC5wYWdlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnYXV0aC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSURFQU5ld1Bhc3N3b3JkUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBUaGUgZW1haWwgYWRkcmVzcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBhY2NvdW50LlxuICAgKi9cbiAgcHVibGljIGVtYWlsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCB0ZW1wb3JhcnkgcGFzc3dvcmQuXG4gICAqL1xuICBwdWJsaWMgcGFzc3dvcmQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuZXcgcGFzc3dvcmQgZm9yIHRoZSBhY2NvdW50LlxuICAgKi9cbiAgcHVibGljIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSBVSSwgaWYgYW55LlxuICAgKi9cbiAgcHVibGljIGVycm9yTXNnOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG5hdkN0cmw6IE5hdkNvbnRyb2xsZXIsXG4gICAgcHVibGljIHRjOiBJREVBVGluQ2FuU2VydmljZSxcbiAgICBwdWJsaWMgbWVzc2FnZTogSURFQU1lc3NhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyBsb2FkaW5nOiBJREVBTG9hZGluZ1NlcnZpY2UsXG4gICAgcHVibGljIGF1dGg6IElERUFBdXRoU2VydmljZSxcbiAgICBwdWJsaWMgdDogSURFQVRyYW5zbGF0aW9uc1NlcnZpY2VcbiAgKSB7fVxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5lbWFpbCA9IHRoaXMudGMuZ2V0KCdlbWFpbCcsIHRydWUpO1xuICAgIHRoaXMucGFzc3dvcmQgPSB0aGlzLnRjLmdldCgncGFzc3dvcmQnLCB0cnVlKTtcbiAgICBpZiAoIXRoaXMuZW1haWwgfHwgIXRoaXMucGFzc3dvcmQpIHRoaXMuZ29Ub0F1dGgoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maXJtIGEgbmV3IHBhc3N3b3JkIChhdXRoIGZsb3cgdGhhdCBmb2xsb3dzIGEgcmVnaXN0cmF0aW9uIG9yIGEgcGFzc3dvcmQgcmVzZXQpLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNvbmZpcm1OZXdQYXNzd29yZCgpIHtcbiAgICB0aGlzLmVycm9yTXNnID0gbnVsbDtcbiAgICBhd2FpdCB0aGlzLmxvYWRpbmcuc2hvdygpO1xuICAgIHRoaXMuYXV0aFxuICAgICAgLmNvbmZpcm1OZXdQYXNzd29yZCh0aGlzLmVtYWlsLCB0aGlzLnBhc3N3b3JkLCB0aGlzLm5ld1Bhc3N3b3JkKVxuICAgICAgLy8gd2UgYXJlIGxvZ2dlZCBpblxuICAgICAgLnRoZW4oKCkgPT4gd2luZG93LmxvY2F0aW9uLmFzc2lnbignJykpXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICB0aGlzLmVycm9yTXNnID0gdGhpcy50Ll8oJ0lERUFfQVVUSC5QQVNTV09SRF9QT0xJQ1lfVklPTEFUSU9OJywgeyBuOiA4IH0pO1xuICAgICAgICB0aGlzLm1lc3NhZ2UuZXJyb3IodGhpcy5lcnJvck1zZywgdHJ1ZSk7XG4gICAgICB9KVxuICAgICAgLmZpbmFsbHkoKCkgPT4gdGhpcy5sb2FkaW5nLmhpZGUoKSk7XG4gIH1cblxuICAvKipcbiAgICogR28gdG8gYXV0aCBwYWdlLlxuICAgKi9cbiAgcHVibGljIGdvVG9BdXRoKCkge1xuICAgIHRoaXMubmF2Q3RybC5uYXZpZ2F0ZUJhY2soWydhdXRoJ10pO1xuICB9XG59XG4iLCI8aW9uLWNvbnRlbnQ+XG4gIDxmb3JtIGNsYXNzPVwiZmxleEJveFwiPlxuICAgIDxpb24tY2FyZCBjbGFzcz1cImF1dGhDYXJkXCI+XG4gICAgICA8aW9uLWNhcmQtaGVhZGVyPlxuICAgICAgICA8aW9uLWNhcmQtdGl0bGUgY29sb3I9XCJwcmltYXJ5XCI+e3sgJ0lERUFfQVVUSC5DSE9PU0VfQV9QQVNTV09SRCcgfCB0cmFuc2xhdGUgfX08L2lvbi1jYXJkLXRpdGxlPlxuICAgICAgICA8aW9uLWNhcmQtc3VidGl0bGU+e3sgJ0lERUFfQVVUSC5ZT1VfTkVFRF9UT19DSE9PU0VfQV9ORVdfUEFTU1dPUkQnIHwgdHJhbnNsYXRlIH19PC9pb24tY2FyZC1zdWJ0aXRsZT5cbiAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuICAgICAgPGlvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxwIGNsYXNzPVwiZXJyb3JCb3hcIiAqbmdJZj1cImVycm9yTXNnXCI+XG4gICAgICAgICAgPGI+IHt7ICdJREVBX0FVVEguRVJST1InIHwgdHJhbnNsYXRlIH19LiA8L2I+XG4gICAgICAgICAge3sgZXJyb3JNc2cgfX1cbiAgICAgICAgPC9wPlxuICAgICAgICA8aW9uLWl0ZW0+XG4gICAgICAgICAgPGlvbi1sYWJlbCBwb3NpdGlvbj1cImlubGluZVwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJrZXlcIiBjb2xvcj1cInByaW1hcnlcIj48L2lvbi1pY29uPlxuICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgIDxpb24taW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICBwYXR0ZXJuPVwiLns4LH1cIlxuICAgICAgICAgICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICAgICAgICAgIGF1dG9jb3JyZWN0PVwib2ZmXCJcbiAgICAgICAgICAgIGF1dG9jYXBpdGFsaXplPVwib2ZmXCJcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICAgICAgICBbY2xlYXJPbkVkaXRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQuXygnSURFQV9BVVRILlBBU1NXT1JEJylcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkNIT09TRV9BX1BBU1NXT1JEJylcIlxuICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibmV3UGFzc3dvcmRcIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImNvbmZpcm1OZXdQYXNzd29yZCgpXCJcbiAgICAgICAgICA+PC9pb24taW5wdXQ+XG4gICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIDxpb24tYnV0dG9uIGV4cGFuZD1cImJsb2NrXCIgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkNPTkZJUk1fTkVXX1BBU1NXT1JEX0hJTlQnKVwiIChjbGljayk9XCJjb25maXJtTmV3UGFzc3dvcmQoKVwiPlxuICAgICAgICAgIHt7ICdJREVBX0FVVEguQ09ORklSTV9ORVdfUEFTU1dPUkQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgIGV4cGFuZD1cImJsb2NrXCJcbiAgICAgICAgICBjbGFzcz1cInNtYWxsQ2FzZUJ1dHRvblwiXG4gICAgICAgICAgW3RpdGxlXT1cInQuXygnSURFQV9BVVRILkJBQ0tfVE9fU0lHTl9JTl9ISU5UJylcIlxuICAgICAgICAgIChjbGljayk9XCJnb1RvQXV0aCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdJREVBX0FVVEguQkFDS19UT19TSUdOX0lOJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgPC9pb24tY2FyZD5cbiAgPC9mb3JtPlxuPC9pb24tY29udGVudD5cbiJdfQ==