{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/pages/Academy/accademy.routing.module.ts","webpack:///./src/app/pages/Academy/course-details/course-details.component.html","webpack:///./src/app/pages/Academy/course-details/course-details.component.scss","webpack:///./src/app/pages/Academy/course-details/course-details.component.ts","webpack:///./src/app/pages/Academy/landing/benefits/benefits.component.html","webpack:///./src/app/pages/Academy/landing/benefits/benefits.component.scss","webpack:///./src/app/pages/Academy/landing/benefits/benefits.component.ts","webpack:///./src/app/pages/Academy/landing/intro-slider/intro-slider.component.html","webpack:///./src/app/pages/Academy/landing/intro-slider/intro-slider.component.scss","webpack:///./src/app/pages/Academy/landing/intro-slider/intro-slider.component.ts","webpack:///./src/app/pages/Academy/landing/landing.component.html","webpack:///./src/app/pages/Academy/landing/landing.component.scss","webpack:///./src/app/pages/Academy/landing/landing.component.ts","webpack:///./src/app/pages/Academy/landing/new-courses/new-courses.component.html","webpack:///./src/app/pages/Academy/landing/new-courses/new-courses.component.scss","webpack:///./src/app/pages/Academy/landing/new-courses/new-courses.component.ts","webpack:///./src/app/pages/Academy/landing/recent-programs/recent-programs.component.html","webpack:///./src/app/pages/Academy/landing/recent-programs/recent-programs.component.scss","webpack:///./src/app/pages/Academy/landing/recent-programs/recent-programs.component.ts","webpack:///./src/app/pages/Academy/landing/topics/topics.component.html","webpack:///./src/app/pages/Academy/landing/topics/topics.component.scss","webpack:///./src/app/pages/Academy/landing/topics/topics.component.ts","webpack:///./src/app/pages/Academy/search/search.component.html","webpack:///./src/app/pages/Academy/search/search.component.scss","webpack:///./src/app/pages/Academy/search/search.component.ts","webpack:///./src/app/pages/Academy/student-profile/student-profile.component.html","webpack:///./src/app/pages/Academy/student-profile/student-profile.component.scss","webpack:///./src/app/pages/Academy/student-profile/student-profile.component.ts","webpack:///./src/app/pages/Academy/topic/topic.component.html","webpack:///./src/app/pages/Academy/topic/topic.component.scss","webpack:///./src/app/pages/Academy/topic/topic.component.ts","webpack:///./src/app/pages/AdminSite/admin-home/admin-home.component.html","webpack:///./src/app/pages/AdminSite/admin-home/admin-home.component.scss","webpack:///./src/app/pages/AdminSite/admin-home/admin-home.component.ts","webpack:///./src/app/pages/AdminSite/admin.routing.module.ts","webpack:///./src/app/pages/AdminSite/corperate/corperate.component.html","webpack:///./src/app/pages/AdminSite/corperate/corperate.component.scss","webpack:///./src/app/pages/AdminSite/corperate/corperate.component.ts","webpack:///./src/app/pages/AdminSite/corperate/create-new/create-new.component.html","webpack:///./src/app/pages/AdminSite/corperate/create-new/create-new.component.scss","webpack:///./src/app/pages/AdminSite/corperate/create-new/create-new.component.ts","webpack:///./src/app/pages/AdminSite/corperate/details/details.component.html","webpack:///./src/app/pages/AdminSite/corperate/details/details.component.scss","webpack:///./src/app/pages/AdminSite/corperate/details/details.component.ts","webpack:///./src/app/pages/AdminSite/create-course/courses-list/courses-list.component.html","webpack:///./src/app/pages/AdminSite/create-course/courses-list/courses-list.component.scss","webpack:///./src/app/pages/AdminSite/create-course/courses-list/courses-list.component.ts","webpack:///./src/app/pages/AdminSite/create-course/create-course.component.html","webpack:///./src/app/pages/AdminSite/create-course/create-course.component.scss","webpack:///./src/app/pages/AdminSite/create-course/create-course.component.ts","webpack:///./src/app/pages/AdminSite/dashboard/dashboard.component.html","webpack:///./src/app/pages/AdminSite/dashboard/dashboard.component.scss","webpack:///./src/app/pages/AdminSite/dashboard/dashboard.component.ts","webpack:///./src/app/pages/AdminSite/edit-course/edit-course.component.html","webpack:///./src/app/pages/AdminSite/edit-course/edit-course.component.scss","webpack:///./src/app/pages/AdminSite/edit-course/edit-course.component.ts","webpack:///./src/app/pages/AdminSite/users/users.component.html","webpack:///./src/app/pages/AdminSite/users/users.component.scss","webpack:///./src/app/pages/AdminSite/users/users.component.ts","webpack:///./src/app/pages/Components/admin-coprate-grid/admin-coprate-grid.component.html","webpack:///./src/app/pages/Components/admin-coprate-grid/admin-coprate-grid.component.scss","webpack:///./src/app/pages/Components/admin-coprate-grid/admin-coprate-grid.component.ts","webpack:///./src/app/pages/Components/admin-header/admin-header.component.html","webpack:///./src/app/pages/Components/admin-header/admin-header.component.scss","webpack:///./src/app/pages/Components/admin-header/admin-header.component.ts","webpack:///./src/app/pages/Components/admin-navigation/admin-navigation.component.html","webpack:///./src/app/pages/Components/admin-navigation/admin-navigation.component.scss","webpack:///./src/app/pages/Components/admin-navigation/admin-navigation.component.ts","webpack:///./src/app/pages/Components/course-player/course-player.component.html","webpack:///./src/app/pages/Components/course-player/course-player.component.scss","webpack:///./src/app/pages/Components/course-player/course-player.component.ts","webpack:///./src/app/pages/Components/course/course.component.html","webpack:///./src/app/pages/Components/course/course.component.scss","webpack:///./src/app/pages/Components/course/course.component.ts","webpack:///./src/app/pages/Components/footer/footer.component.html","webpack:///./src/app/pages/Components/footer/footer.component.scss","webpack:///./src/app/pages/Components/footer/footer.component.ts","webpack:///./src/app/pages/Components/header/header.component.html","webpack:///./src/app/pages/Components/header/header.component.scss","webpack:///./src/app/pages/Components/header/header.component.ts","webpack:///./src/app/pages/Components/loader/loader.component.html","webpack:///./src/app/pages/Components/loader/loader.component.scss","webpack:///./src/app/pages/Components/loader/loader.component.ts","webpack:///./src/app/pages/Components/mediaplayer/mediaplayer.component.html","webpack:///./src/app/pages/Components/mediaplayer/mediaplayer.component.scss","webpack:///./src/app/pages/Components/mediaplayer/mediaplayer.component.ts","webpack:///./src/app/pages/Components/quiz/quiz.component.html","webpack:///./src/app/pages/Components/quiz/quiz.component.scss","webpack:///./src/app/pages/Components/quiz/quiz.component.ts","webpack:///./src/app/pages/auth/ResetPassword/ResetPassword.component.css","webpack:///./src/app/pages/auth/ResetPassword/ResetPassword.component.html","webpack:///./src/app/pages/auth/ResetPassword/ResetPassword.component.ts","webpack:///./src/app/pages/auth/authrize.routing.module.ts","webpack:///./src/app/pages/auth/change-password/change-password.component.html","webpack:///./src/app/pages/auth/change-password/change-password.component.scss","webpack:///./src/app/pages/auth/change-password/change-password.component.ts","webpack:///./src/app/pages/auth/forget-password/forget-password.component.html","webpack:///./src/app/pages/auth/forget-password/forget-password.component.scss","webpack:///./src/app/pages/auth/forget-password/forget-password.component.ts","webpack:///./src/app/pages/auth/login/login.component.html","webpack:///./src/app/pages/auth/login/login.component.scss","webpack:///./src/app/pages/auth/login/login.component.ts","webpack:///./src/app/pages/auth/register/register.component.html","webpack:///./src/app/pages/auth/register/register.component.scss","webpack:///./src/app/pages/auth/register/register.component.ts","webpack:///./src/app/shared/config/i18n/ar.ts","webpack:///./src/app/shared/config/i18n/en.ts","webpack:///./src/app/shared/core/system-api.ts","webpack:///./src/app/shared/enums/enums.enum.ts","webpack:///./src/app/shared/guard/auth-guard.ts","webpack:///./src/app/shared/helpers/error-interceptor.ts","webpack:///./src/app/shared/helpers/jwt-interceptor.ts","webpack:///./src/app/shared/helpers/loader-interceptor.ts","webpack:///./src/app/shared/models/SelectList.model.ts","webpack:///./src/app/shared/models/base-login-provider.ts","webpack:///./src/app/shared/models/corporateDetails.model.ts","webpack:///./src/app/shared/models/social-user.ts","webpack:///./src/app/shared/services/Language.service.ts","webpack:///./src/app/shared/services/ability.service.ts","webpack:///./src/app/shared/services/authentication.service.ts","webpack:///./src/app/shared/services/category.service.ts","webpack:///./src/app/shared/services/contract.service.ts","webpack:///./src/app/shared/services/corporate.service.ts","webpack:///./src/app/shared/services/course.service.ts","webpack:///./src/app/shared/services/courseExams.service.ts","webpack:///./src/app/shared/services/courseQuestions.service.ts","webpack:///./src/app/shared/services/excel.service.ts","webpack:///./src/app/shared/services/loader.service.ts","webpack:///./src/app/shared/services/notification.service.ts","webpack:///./src/app/shared/services/swal-msgs.service.ts","webpack:///./src/app/shared/services/user.service.ts","webpack:///./src/app/shared/services/userCourse.service.ts","webpack:///./src/app/shared/services/video.service.ts","webpack:///./src/app/shared/socialmedia/providers/facebook-login-provider.ts","webpack:///./src/app/shared/socialmedia/providers/google-login-provider.ts","webpack:///./src/app/shared/socialmedia/public-api.ts","webpack:///./src/app/shared/socialmedia/socialauth.service.ts","webpack:///./src/app/shared/socialmedia/sociallogin.module.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///min-document (ignored)","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LandingComponent } from './pages/Academy/landing/landing.component';\r\nimport { CoursesListComponent } from './pages/AdminSite/create-course/courses-list/courses-list.component';\r\n\r\n\r\nconst routes: Routes = [\r\n \r\n { path: '', component: LandingComponent },\r\n // academy site\r\n { path: 'AdminSite/CoursesList', component: CoursesListComponent },\r\n \r\n // admin site\r\n\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","import { Component, Renderer2, ElementRef } from '@angular/core';\r\nimport { Router, NavigationEnd, NavigationStart, NavigationCancel } from '@angular/router';\r\n\r\nimport { AuthenticationService } from './shared/services/authentication.service';\r\nimport { UserDto } from './shared/core/system-api';\r\nimport { LanguageService } from './shared/services/Language.service';\r\n\r\n// language list\r\nimport { locale as enLang } from './shared/config/i18n/en';\r\nimport { locale as arLang } from './shared/config/i18n/ar';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { Location, LocationStrategy, PathLocationStrategy } from '@angular/common';\r\nimport { filter } from 'rxjs/operators';\r\ndeclare let $: any;\r\n\r\n@Component({\r\n selector: 'app-root', templateUrl: 'app.component.html', providers: [\r\n Location, {\r\n provide: LocationStrategy,\r\n useClass: PathLocationStrategy\r\n }\r\n ]\r\n})\r\nexport class AppComponent {\r\n currentUser: UserDto;\r\n IsAdminSite: boolean = null;\r\n\r\n location: any;\r\n routerSubscription: any;\r\n languageChanged: boolean = false;\r\n\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n currentLang: string;\r\n constructor(\r\n private el: ElementRef,\r\n private render: Renderer2,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private languageService: LanguageService,\r\n public translate: TranslateService\r\n ) {\r\n\r\n this.languageService.renderer = this.render;\r\n this.languageService.el = this.el;\r\n this.languageService.loadTranslations(enLang, arLang);\r\n const currentUserSubscription = this.authenticationService.currentUser.subscribe(x => {\r\n this.currentUser = x;\r\n });\r\n debugger;\r\n if (!this.languageChanged && localStorage.getItem('currentLanguage') != 'us') {\r\n localStorage.setItem('currentLanguage', 'sa');\r\n this.languageChanged = true;\r\n }\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(x => this.currentLang = x);\r\n if (localStorage.getItem('currentLanguage') == '') {\r\n localStorage.setItem('currentLanguage', 'sa');\r\n }\r\n this.languageService.switchLanguage(localStorage.getItem('currentLanguage'));\r\n this.unsubscribe.push(currentUserSubscription);\r\n this.unsubscribe.push(currentLangSubscription);\r\n\r\n }\r\n /**\r\n* On init\r\n*/\r\n ngOnInit(): void {\r\n\r\n\r\n this.recallJsFuntions();\r\n const routerSubscription = this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n // hide splash screen\r\n //this.splashScreenService.hide();\r\n // scroll to top on every route change\r\n window.scrollTo(0, 0);\r\n // to display back the body content\r\n setTimeout(() => { }, 500);\r\n }\r\n let url = (event).url\r\n if (url) {\r\n if (url.includes(\"AdminSite\"))\r\n this.IsAdminSite = true;\r\n else\r\n this.IsAdminSite = false;\r\n }\r\n });\r\n this.unsubscribe.push(routerSubscription);\r\n }\r\n\r\n\r\n recallJsFuntions() {\r\n this.router.events\r\n .subscribe((event) => {\r\n if (event instanceof NavigationStart) {\r\n $('.preloader').fadeIn('slow');\r\n }\r\n });\r\n this.routerSubscription = this.router.events\r\n .pipe(filter(event => event instanceof NavigationEnd || event instanceof NavigationCancel))\r\n .subscribe(event => {\r\n $.getScript('../assets/js/custom.js');\r\n $('.preloader').fadeOut('slow');\r\n this.location = this.router.url;\r\n if (!(event instanceof NavigationEnd)) {\r\n return;\r\n }\r\n window.scrollTo(0, 0)\r\n });\r\n }\r\n\r\n /**\r\n * On Destroy\r\n */\r\n ngOnDestroy() {\r\n localStorage.getItem('currentLanguage') == 'sa'\r\n this.routerSubscription.unsubscribe();\r\n\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n}\r\n","import { API_BASE_URL } from './shared/core/system-api';\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { TopicsComponent } from './pages/Academy/landing/topics/topics.component';\r\nimport { NewCoursesComponent } from './pages/Academy/landing/new-courses/new-courses.component';\r\nimport { BenefitsComponent } from './pages/Academy/landing/benefits/benefits.component';\r\nimport { LoginComponent } from './pages/auth/login/login.component';\r\nimport { RegisterComponent } from './pages/auth/register/register.component';\r\nimport { HeaderComponent } from './pages/Components/header/header.component';\r\nimport { FooterComponent } from './pages/Components/footer/footer.component';\r\nimport { LandingComponent } from './pages/Academy/landing/landing.component';\r\nimport { IntroSliderComponent } from './pages/Academy/landing/intro-slider/intro-slider.component';\r\nimport { RecentProgramsComponent } from './pages/Academy/landing/recent-programs/recent-programs.component';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatButtonModule, MatDialogModule, MatPaginatorModule } from '@angular/material';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { ChangePasswordComponent } from './pages/auth/change-password/change-password.component';\r\nimport { SocialAuthServiceConfig } from './shared/socialmedia/socialauth.service';\r\nimport { SocialLoginModule } from './shared/socialmedia/sociallogin.module';\r\nimport { FacebookLoginProvider } from './shared/socialmedia/providers/facebook-login-provider';\r\nimport { GoogleLoginProvider } from './shared/socialmedia/providers/google-login-provider';\r\n\r\nimport { SwiperModule } from 'ngx-swiper-wrapper';\r\nimport { SWIPER_CONFIG } from 'ngx-swiper-wrapper';\r\nimport { SwiperConfigInterface } from 'ngx-swiper-wrapper';\r\nimport { ForgetPasswordComponent } from './pages/auth/forget-password/forget-password.component';\r\nimport { CourseDetailsComponent } from './pages/Academy/course-details/course-details.component';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { JwtModule } from '@auth0/angular-jwt';\r\nimport { ErrorInterceptor } from './shared/helpers/error-interceptor';\r\nimport { JwtInterceptor } from './shared/helpers/jwt-interceptor';\r\nimport { StudentProfileComponent } from './pages/Academy/student-profile/student-profile.component';\r\nimport { SearchComponent } from './pages/Academy/search/search.component';\r\nimport { TopicComponent } from './pages/Academy/topic/topic.component';\r\nimport { ResetPasswordComponent } from './pages/auth/ResetPassword/ResetPassword.component';\r\nimport { CourseComponent } from './pages/Components/course/course.component';\r\nimport { VjsPlayerComponent } from './pages/Components/mediaplayer/mediaplayer.component';\r\nimport { CoursePlayerComponent } from './pages/Components/course-player/course-player.component';\r\nimport { environment } from '../environments/environment';\r\nimport { CreateCourseComponent } from './pages/AdminSite/create-course/create-course.component';\r\nimport { AdminNavigationComponent } from './pages/Components/admin-navigation/admin-navigation.component';\r\nimport { AdminHeaderComponent } from './pages/Components/admin-header/admin-header.component';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { DashboardComponent } from './pages/AdminSite/dashboard/dashboard.component';\r\nimport { CorperateComponent } from './pages/AdminSite/corperate/corperate.component';\r\nimport { AdminHomeComponent } from './pages/AdminSite/admin-home/admin-home.component';\r\nimport { UsersComponent } from './pages/AdminSite/users/users.component';\r\nimport { CreateNewComponent } from './pages/AdminSite/corperate/create-new/create-new.component';\r\nimport { DetailsComponent } from './pages/AdminSite/corperate/details/details.component';\r\nimport { QuizComponent } from './pages/Components/quiz/quiz.component';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { LoaderInterceptor } from './shared/helpers/loader-interceptor';\r\nimport { MyLoaderComponent } from './pages/Components/loader/loader.component';\r\nimport { LoaderService } from './shared/services/loader.service';\r\nimport { AccademyRoutingModule } from './pages/Academy/accademy.routing.module';\r\nimport { AdminRoutingModule } from './pages/AdminSite/admin.routing.module';\r\nimport { AuthrizeRoutingModule } from './pages/auth/authrize.routing.module';\r\nimport {MatSortModule} from '@angular/material/sort';\r\nimport { AdminCoprateGridComponent } from './pages/Components/admin-coprate-grid/admin-coprate-grid.component';\r\nimport {CoursesListComponent} from './pages/AdminSite/create-course/courses-list/courses-list.component';\r\nimport {EditCourseComponent} from './pages/AdminSite/edit-course/edit-course.component';\r\n\r\nexport function jwtTokenGetter() {\r\n return localStorage.getItem('token');\r\n}\r\n\r\nconst DEFAULT_SWIPER_CONFIG: SwiperConfigInterface = {\r\n direction: 'horizontal',\r\n slidesPerView: 'auto'\r\n};\r\n\r\n@NgModule({\r\n declarations: [\r\n MyLoaderComponent,\r\n AppComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n LandingComponent,\r\n IntroSliderComponent,\r\n RecentProgramsComponent,\r\n TopicsComponent,\r\n NewCoursesComponent,\r\n BenefitsComponent,\r\n LoginComponent,\r\n RegisterComponent,\r\n ChangePasswordComponent,\r\n ForgetPasswordComponent,\r\n CourseDetailsComponent,\r\n StudentProfileComponent,\r\n SearchComponent,\r\n TopicComponent,\r\n CourseComponent,\r\n TopicComponent,\r\n ResetPasswordComponent,\r\n CreateCourseComponent,\r\n AdminNavigationComponent,\r\n AdminHeaderComponent,\r\n VjsPlayerComponent,\r\n CoursePlayerComponent,\r\n DashboardComponent,\r\n CorperateComponent,\r\n AdminHomeComponent,\r\n UsersComponent,\r\n CreateNewComponent,\r\n DetailsComponent,\r\n QuizComponent,\r\n AdminCoprateGridComponent,\r\n CoursesListComponent,\r\n EditCourseComponent\r\n ],\r\n imports: [\r\n MatSortModule,\r\n MatPaginatorModule,\r\n HttpClientModule,\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatDialogModule,\r\n TranslateModule.forRoot(),\r\n ToastrModule.forRoot(),\r\n SocialLoginModule,\r\n SwiperModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n SocialLoginModule,\r\n MatMenuModule,\r\n MatStepperModule,\r\n MatSelectModule,\r\n MatCardModule,\r\n MatTabsModule,\r\n MatTableModule,\r\n MatExpansionModule,\r\n MatBadgeModule,\r\n MatRadioModule,\r\n AccademyRoutingModule,\r\n AdminRoutingModule,\r\n AuthrizeRoutingModule,\r\n\r\n JwtModule.forRoot({\r\n config: {\r\n tokenGetter: jwtTokenGetter\r\n }\r\n })\r\n\r\n ],\r\n // exports:[\r\n\r\n // ],\r\n entryComponents: [\r\n ChangePasswordComponent\r\n ],\r\n providers: [{\r\n provide: 'SocialAuthServiceConfig',\r\n useValue: {\r\n autoLogin: false,\r\n providers: [\r\n {\r\n id: GoogleLoginProvider.PROVIDER_ID,\r\n provider: new GoogleLoginProvider(\r\n '1056082598540-vdugfa5gaiitplpkfn29haplvgsodd07.apps.googleusercontent.com'\r\n )\r\n },\r\n {\r\n id: FacebookLoginProvider.PROVIDER_ID,\r\n provider: new FacebookLoginProvider('1219303065152429')\r\n }\r\n ]\r\n } as SocialAuthServiceConfig,\r\n },\r\n {\r\n provide: API_BASE_URL,\r\n useValue: environment.API_BASE_URL\r\n },\r\n { provide: SWIPER_CONFIG, useValue: DEFAULT_SWIPER_CONFIG },\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n LoaderService,\r\n { provide: HTTP_INTERCEPTORS, useClass: LoaderInterceptor, multi: true }],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { NgModule } from \"@angular/core\";\r\n \r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { AuthGuard } from \"../../shared/guard/auth-guard\";\r\nimport { CoursePlayerComponent } from \"../Components/course-player/course-player.component\";\r\nimport { CourseComponent } from \"../Components/course/course.component\";\r\nimport { QuizComponent } from \"../Components/quiz/quiz.component\";\r\nimport { CourseDetailsComponent } from \"./course-details/course-details.component\";\r\nimport { SearchComponent } from \"./search/search.component\";\r\nimport { StudentProfileComponent } from \"./student-profile/student-profile.component\";\r\nimport { TopicComponent } from \"./topic/topic.component\";\r\n\r\nconst routes: Routes = [\r\n { path: 'StudentProfile', component: StudentProfileComponent, canActivate: [AuthGuard] },\r\n { path: 'Search', component: SearchComponent },\r\n { path: 'Topic', component: TopicComponent },\r\n { path: 'CourseDetails', component: CourseDetailsComponent },\r\n { path: 'Course', component: CourseComponent },\r\n { path: 'CoursePlayer', component: CoursePlayerComponent },\r\n { path: 'Quiz', component: QuizComponent, canActivate: [AuthGuard] },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\n\r\nexport class AccademyRoutingModule {\r\n\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n

\\r\\n {{currentlang == 'sa'? item.nameAr: item.name}}\\r\\n

\\r\\n\\r\\n

\\r\\n {{currentlang == 'sa'? item.descriptionaR?item.descriptionaR:'' : item.description?item.description:''}}\\r\\n

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\\"course\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
0\\\" class=\\\"container\\\">\\r\\n\\r\\n \\r\\n

\\r\\n {{ 'CourseDetails.Content' | translate }}\\r\\n

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n
  • \\r\\n
    \\r\\n
    \\r\\n {{video.arName}}\\r\\n {{video.arName}}\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
  • \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
  • \\r\\n
    \\r\\n
    \\r\\n {{i.name}}\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
  • \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \".course-head {\\n background: linear-gradient(90deg, #791215 0%, #240506 100%);\\n}\\n\\n.course-content-list > li::marker {\\n content: \\\"\\\\f144\\\";\\n font-family: \\\"Font Awesome 5 Free\\\";\\n font-weight: 400;\\n}\\n\\n.card > a {\\n text-decoration: none;\\n}\\n\\n[dir=rtl] .icon_play {\\n transform: scale(-1, 1);\\n}\\n\\n/*section {\\n display: flex;\\n justify-content: center;\\n margin-top: 100px;\\n}\\n\\nul {\\n list-style: none;\\n padding-left: 0;\\n margin: 0 0 0 50px;\\n\\n li {\\n display: flex;\\n margin-bottom: 15px;\\n\\n img {\\n width: 150px;\\n height: 100px;\\n margin-right: 10px;\\n cursor: pointer;\\n }\\n\\n h5 {\\n font-weight: 500;\\n font-size: 15px;\\n text-transform: capitalize;\\n }\\n }\\n\\n li > img.active {\\n border: 3px solid #ff1d5e;\\n }\\n}\\n*/\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQWNhZGVteS9jb3Vyc2UtZGV0YWlscy9DOlxcVXNlcnNcXEV2cmFtXFxzb3VyY2VcXHJlcG9zXFxOSUEtQXBwXFxXZWJBcHBcXENsaWVudEFwcC9zcmNcXGFwcFxccGFnZXNcXEFjYWRlbXlcXGNvdXJzZS1kZXRhaWxzXFxjb3Vyc2UtZGV0YWlscy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvQWNhZGVteS9jb3Vyc2UtZGV0YWlscy9jb3Vyc2UtZGV0YWlscy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNFLDREQUFBO0FDQUY7O0FES0U7RUFDRSxnQkFBQTtFQUNBLGtDQUFBO0VBQ0EsZ0JBQUE7QUNGSjs7QURNQTtFQUNFLHFCQUFBO0FDSEY7O0FETUE7RUFDRSx1QkFBQTtBQ0hGOztBRE1BOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQSIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0FjYWRlbXkvY291cnNlLWRldGFpbHMvY291cnNlLWRldGFpbHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLmNvdXJzZS1oZWFkIHtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMTIxLDE4LDIxLDEpIDAlLCByZ2JhKDM2LDUsNiwxKSAxMDAlKTtcclxufVxyXG5cclxuLmNvdXJzZS1jb250ZW50LWxpc3Qge1xyXG5cclxuICA+IGxpOjptYXJrZXIge1xyXG4gICAgY29udGVudDogXCJcXGYxNDRcIjtcclxuICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gIH1cclxufVxyXG5cclxuLmNhcmQgPiBhIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbltkaXI9cnRsXSAuaWNvbl9wbGF5IHtcclxuICB0cmFuc2Zvcm06IHNjYWxlKC0xLDEpO1xyXG59XHJcblxyXG4vKnNlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogMTAwcHg7XHJcbn1cclxuXHJcbnVsIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxuICBtYXJnaW46IDAgMCAwIDUwcHg7XHJcblxyXG4gIGxpIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgaDUge1xyXG4gICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbGkgPiBpbWcuYWN0aXZlIHtcclxuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjFkNWU7XHJcbiAgfVxyXG59XHJcbiovXHJcbiIsIi5jb3Vyc2UtaGVhZCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzc5MTIxNSAwJSwgIzI0MDUwNiAxMDAlKTtcbn1cblxuLmNvdXJzZS1jb250ZW50LWxpc3QgPiBsaTo6bWFya2VyIHtcbiAgY29udGVudDogXCJcXGYxNDRcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uY2FyZCA+IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbltkaXI9cnRsXSAuaWNvbl9wbGF5IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG59XG5cbi8qc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxMDBweDtcbn1cblxudWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogMCAwIDAgNTBweDtcblxuICBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgfVxuXG4gIGxpID4gaW1nLmFjdGl2ZSB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmMWQ1ZTtcbiAgfVxufVxuKi8iXX0= */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { CourseVides, UserDto } from '../../../shared/core/system-api';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { CourseService } from '../../../shared/services/course.service';\r\nimport { CourseExamsService } from '../../../shared/services/courseExams.service';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\nimport { UserCourseService } from '../../../shared/services/userCourse.service';\r\nimport { VideoService } from '../../../shared/services/video.service';\r\n\r\ndeclare var require: any\r\nconst FileSaver = require('file-saver');\r\n\r\n@Component({\r\n selector: 'app-course-details',\r\n templateUrl: './course-details.component.html',\r\n styleUrls: ['./course-details.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n})\r\nexport class CourseDetailsComponent implements OnInit {\r\n item: any = [];\r\n isUserCourse: boolean = false;\r\n vedios: CourseVides[] = [];\r\n courseId: number = 0;\r\n hasRegistered: boolean = false;\r\n currentUser: UserDto;\r\n currentlang = '';\r\n userCourseId: number;\r\n private unsubscribe: Subscription[] = [];\r\n hideTakenBefor: boolean = false;\r\n hideTakenAfter: boolean = false;\r\n courseAttachments: Attachment[] = [];\r\n showTab: boolean = false;\r\n watchedVedios = '';\r\n watchedPercentage: number=0.0;\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private courseService: CourseService, private userCourseService: UserCourseService,\r\n private videoService: VideoService, private authenticationService: AuthenticationService, private courseExamService: CourseExamsService,\r\n private languageService: LanguageService) {\r\n const currentUserSubscription = this.authenticationService.currentUser.subscribe(x => this.currentUser = x);\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n this.unsubscribe.push(currentLangSubscription);\r\n this.unsubscribe.push(currentUserSubscription);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.route.paramMap.subscribe(params => {\r\n this.courseId = Number(params.get('courseID'));\r\n\r\n if (this.currentUser) {\r\n \r\n this.userCourseService.isUserCourse(this.courseId).subscribe(result => {\r\n if (result) {\r\n this.isUserCourse = true;\r\n this.userCourseId = result.id;\r\n this.watchedVedios = result.watchedVideos;\r\n \r\n\r\n this.courseExamService.get(result.id).subscribe(data => {\r\n if (data) {\r\n if (data.examTakenBefore) {\r\n this.hideTakenBefor = true;\r\n }\r\n if (data.examTakenAfter) {\r\n this.hideTakenAfter = true;\r\n }\r\n }\r\n \r\n });\r\n }\r\n });\r\n \r\n }\r\n this.courseService.get(this.courseId).subscribe(result => {\r\n if (this.courseId == 1) {\r\n this.showTab = true;\r\n this.courseAttachments = [\r\n { name: \"ملخص مقدمة دراسات الجدوى\", path: \"/Attachments/مقدمة دراسات الجدوى الاساسى ف 1-2-3-4.pdf\" },\r\n { name: \"ملخص دراسة الجدوى القومية\", path: \"/Attachments/دراسة الجدوى القومية المستوى الاساسى ف 5-6-7.pdf\" },\r\n { name: \"ملخص دراسة الجدوى المالية\", path: \"/Attachments/دراسة الجدوى المالية المستوى الاساسى ف 8-9-10-11-12.pdf\" }\r\n ];\r\n } else if (this.courseId == 22) {\r\n this.showTab = true;\r\n this.courseAttachments = [\r\n { name: \"ملخص التعريف بفكرة المشروع ودراسة الجدوى التسويقية\", path: \"/Attachments/ملخص التعريف بفكرة المشروع ودراسة الجدوى التسويقية 1.pdf\" },\r\n { name: \"ملخص دراسة الجدوى التسويقية 2\", path: \"/Attachments/ملخص دراسة الجدوى التسويقية 2.pdf\" },\r\n { name: \"ملخص دراسة الجدوى القومية النهائية\", path: \"/Attachments/ملخص دراسة الجدوى القومية النهائية.pdf\" },\r\n { name: \"ملخص دراسة الجدوى البيئية\", path: \"/Attachments/ملخص دراسة الجدوى البيئية.pdf\" },\r\n { name: \"ملخص دراسة الجدوى التنظيمية\", path: \"/Attachments/ملخص دراسة الجدوى التنظيمية.pdf\" },\r\n { name: \"ملخص دراسة الجدوي المالية\", path: \"/Attachments/ملخص دراسة الجدوي المالية.pdf\" },\r\n { name: \"ملخص دراسات الجدوي الفنية والهندسية\", path: \"/Attachments/ملخص دراسات الجدوي الفنية والهندسية.pdf\" },\r\n { name: \"ملخص كيفية إتخاذ القرار النهائي بشأن المشروعات المعروضة للدراسة\", path: \"/Attachments/ملخص كيفية إتخاذ القرار النهائي بشأن المشروعات المعروضة للدراسة.pdf\" }\r\n ];\r\n }\r\n else if (this.courseId == 27) {\r\n this.showTab = true;\r\n this.courseAttachments = [\r\n { name: \"الدليل_الجديد_للتخطيط_الإستراتيجى.pdf\", path: \"/Attachments/الدليل_الجديد_للتخطيط_الإستراتيجى.pdf\" },\r\n { name: \"برنامج عمل الحكومة التفصيلي.pdf\", path: \"/Attachments/برنامج عمل الحكومة التفصيلي.pdf\" },\r\n { name: \"ملخص برنامج عمل الحكومة-مضغوط.pdf\", path: \"/Attachments/ملخص برنامج عمل الحكومة-مضغوط.pdf\" },\r\n { name: \"last book.pdf\", path: \"/Attachments/last book.pdf\" }\r\n ];\r\n }\r\n\r\n else if (this.courseId == 30) {\r\n this.showTab = true;\r\n this.courseAttachments = [\r\n { name: \"ملخص- الحوكمة والمواصفة الدولية أيزو 37000.pdf\", path: \"/Attachments/ملخص- الحوكمة والمواصفة الدولية أيزو 37000.pdf\" }\r\n ];\r\n }\r\n else if (this.courseId == 31) {\r\n this.showTab = true;\r\n this.courseAttachments = [\r\n { name: \"ملخص ISO 9001 VER 2.pdf\", path: \"/Attachments/ملخص ISO 9001 VER 2.pdf\" }\r\n ];\r\n }\r\n else if (this.courseId == 32) {\r\n this.showTab = true;\r\n this.courseAttachments = [\r\n { name: \"ملخص نظام إدارة الإبتكار56002-2019 Version 2.pdf\", path: \"/Attachments/ملخص نظام إدارة الإبتكار56002-2019 Version 2.pdf\" }\r\n ];\r\n }\r\n this.item = result;\r\n });\r\n\r\n this.videoService.getVideosPerCourse(this.courseId).subscribe(result => {\r\n this.vedios = result.data;\r\n var vedioCount = this.vedios.length;\r\n var watchedCount = (this.watchedVedios.match(/,/g) || []).length;\r\n var percantge = (watchedCount + 1) / vedioCount;\r\n this.watchedPercentage = percantge;\r\n console.log(this.watchedPercentage);\r\n });\r\n });\r\n \r\n }\r\n\r\n\r\n\r\n CoursePlayer(courseId, vedioId) {\r\n if (this.currentUser && this.isUserCourse && this.hideTakenBefor)\r\n this.router.navigateByUrl('/CoursePlayer?courseID=' + courseId + '&vedioID=' + vedioId);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n\r\n NavigateToQuiz(status: string)\r\n {\r\n let start = 'false';\r\n if (status == 'start') {\r\n start = 'true';\r\n }\r\n this.router.navigateByUrl('/Quiz?id=' + this.courseId + '&UserCourse=' + this.userCourseId + '&IsStart=' + start);\r\n }\r\n\r\n downloadAttachment(name, path) {\r\n FileSaver.saveAs(path, name);\r\n }\r\n\r\n \r\n\r\n}\r\nclass Attachment {\r\n name: string;\r\n path: string;\r\n}\r\n","module.exports = \"\\r\\n

\\r\\n {{ 'Benefits.Title' | translate }}\\r\\n

\\r\\n

\\r\\n {{ 'Benefits.TitleBody' | translate }}\\r\\n

\\r\\n

\\r\\n {{ 'Benefits.NIABenefits' | translate }}\\r\\n

\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ 'Benefits.GradesAssignments' | translate }}
\\r\\n

\\r\\n {{ 'Benefits.GradesAssignmentsBody' | translate }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"benefits\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ 'Benefits.AttendanceBehavior' | translate }}
\\r\\n

\\r\\n {{ 'Benefits.AttendanceBehaviorBody' | translate }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"benefits\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ 'Benefits.DistrictStateTests' | translate }}
\\r\\n

\\r\\n {{ 'Benefits.DistrictStateTestsBody' | translate }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"benefits\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ 'Benefits.ACADEMICRESOURCES' | translate }}
\\r\\n

\\r\\n {{ 'Benefits.ACADEMICRESOURCESBody' | translate }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"benefits\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ 'Benefits.ScheduleCourses' | translate }}
\\r\\n

\\r\\n {{ 'Benefits.ScheduleCoursesBody' | translate }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"benefits\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ 'Benefits.AfterSchoolSupport' | translate }}
\\r\\n

\\r\\n {{ 'Benefits.AfterSchoolSupportBody' | translate }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"benefits\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0FjYWRlbXkvbGFuZGluZy9iZW5lZml0cy9iZW5lZml0cy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-benefits',\r\n templateUrl: './benefits.component.html',\r\n styleUrls: ['./benefits.component.scss']\r\n})\r\nexport class BenefitsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\\"Intro\\r\\n\\\"Intro\\r\\n\\r\\n\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0FjYWRlbXkvbGFuZGluZy9pbnRyby1zbGlkZXIvaW50cm8tc2xpZGVyLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { LanguageService } from '../../../../shared/services/Language.service';\r\n\r\n@Component({\r\n selector: 'app-intro-slider',\r\n templateUrl: './intro-slider.component.html',\r\n styleUrls: ['./intro-slider.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class IntroSliderComponent implements OnInit {\r\n\r\n currentlang: string;\r\n private unsubscribe: Subscription[] = [];\r\n\r\n constructor(private languageService: LanguageService) {\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n this.unsubscribe.push(currentLangSubscription);\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0FjYWRlbXkvbGFuZGluZy9sYW5kaW5nLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { UserDto } from '../../../shared/core/system-api';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-landing',\r\n templateUrl: './landing.component.html',\r\n styleUrls: ['./landing.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LandingComponent implements OnInit {\r\n\r\n private unsubscribe: Subscription[] = [];\r\n\r\n constructor() {\r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n}\r\n","module.exports = \"\\r\\n

\\r\\n {{ 'NewCourses.NewCourses' | translate }}\\r\\n

\\r\\n0\\\" class=\\\"swiper-container\\\" [config]=\\\"config\\\" >\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0FjYWRlbXkvbGFuZGluZy9uZXctY291cnNlcy9uZXctY291cnNlcy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { CourseService } from '../../../../shared/services/course.service';\r\nimport { SwiperOptions } from 'swiper';\r\nimport { SwiperConfigInterface } from 'ngx-swiper-wrapper';\r\n\r\n@Component({\r\n selector: 'app-new-courses',\r\n templateUrl: './new-courses.component.html',\r\n styleUrls: ['./new-courses.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class NewCoursesComponent implements OnInit {\r\n items: any[] = [];\r\n public config: SwiperConfigInterface = {\r\n a11y: true,\r\n direction: 'horizontal',\r\n slidesPerView: 4,\r\n keyboard: true,\r\n mousewheel: false,\r\n scrollbar: false,\r\n navigation: true,\r\n pagination: false,\r\n breakpoints: {\r\n 0: {\r\n slidesPerView: 1,\r\n },\r\n 576: {\r\n slidesPerView: 2,\r\n },\r\n 768: {\r\n slidesPerView: 3,\r\n },\r\n 992: {\r\n slidesPerView: 3,\r\n },\r\n 1200: {\r\n slidesPerView: 4,\r\n }\r\n }\r\n };\r\n constructor(private courseService: CourseService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.courseService.getCoursesList(10).subscribe(result => {\r\n\r\n if (result.success) {\r\n this.items = result.data;\r\n }\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \".swiper-container {\\n preventInteractionOnTransition: true;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQWNhZGVteS9sYW5kaW5nL3JlY2VudC1wcm9ncmFtcy9DOlxcVXNlcnNcXEV2cmFtXFxzb3VyY2VcXHJlcG9zXFxOSUEtQXBwXFxXZWJBcHBcXENsaWVudEFwcC9zcmNcXGFwcFxccGFnZXNcXEFjYWRlbXlcXGxhbmRpbmdcXHJlY2VudC1wcm9ncmFtc1xccmVjZW50LXByb2dyYW1zLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9wYWdlcy9BY2FkZW15L2xhbmRpbmcvcmVjZW50LXByb2dyYW1zL3JlY2VudC1wcm9ncmFtcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTtFQUNFLG9DQUFBO0FDSkYiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9BY2FkZW15L2xhbmRpbmcvcmVjZW50LXByb2dyYW1zL3JlY2VudC1wcm9ncmFtcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImFwcC1yZWNlbnQtcHJvZ3JhbXMge1xyXG5cclxuXHJcbiAgIFxyXG59XHJcbi5zd2lwZXItY29udGFpbmVyIHtcclxuICBwcmV2ZW50SW50ZXJhY3Rpb25PblRyYW5zaXRpb246IHRydWUsXHJcbn1cclxuIiwiLnN3aXBlci1jb250YWluZXIge1xuICBwcmV2ZW50SW50ZXJhY3Rpb25PblRyYW5zaXRpb246IHRydWU7XG59Il19 */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { CategoryService } from '../../../../shared/services/category.service';\r\nimport { SwiperConfigInterface } from 'ngx-swiper-wrapper';\r\nimport { Router } from '@angular/router';\r\nimport { LanguageService } from '../../../../shared/services/Language.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-recent-programs',\r\n templateUrl: './recent-programs.component.html',\r\n styleUrls: ['./recent-programs.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class RecentProgramsComponent implements OnInit {\r\n items: any[] = [];\r\n public config: SwiperConfigInterface = {\r\n a11y: true,\r\n direction: 'horizontal',\r\n slidesPerView: 3,\r\n keyboard: true,\r\n mousewheel: true,\r\n scrollbar: false,\r\n navigation: true,\r\n pagination: false\r\n };\r\n\r\n currentlang: string;\r\n private unsubscribe: Subscription[] = [];\r\n constructor(private router: Router, private categoryService: CategoryService, private languageService: LanguageService) {\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n this.unsubscribe.push(currentLangSubscription);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.categoryService.getCategorysList(5).subscribe(result => {\r\n \r\n if (result.success) {\r\n this.items = result.data;\r\n }\r\n });\r\n }\r\n getCategoryCourses(ID) {\r\n this.router.navigate(['Topic', { categoryID: ID }]);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n \\r\\n

\\r\\n {{ 'Topics.TopicsRecommended' | translate }}\\r\\n

\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0FjYWRlbXkvbGFuZGluZy90b3BpY3MvdG9waWNzLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CategoryService } from '../../../../shared/services/category.service';\r\nimport { LanguageService } from '../../../../shared/services/Language.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-topics',\r\n templateUrl: './topics.component.html',\r\n styleUrls: ['./topics.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TopicsComponent implements OnInit {\r\n items: any[] = [];\r\n\r\n currentlang: string;\r\n private unsubscribe: Subscription[] = [];\r\n constructor(private router: Router, private categoryService: CategoryService, private languageService: LanguageService) {\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n this.unsubscribe.push(currentLangSubscription); }\r\n\r\n ngOnInit(): void {\r\n this.categoryService.getCategorysList().subscribe(result => {\r\n if (result.success) {\r\n this.items = result.data;\r\n }\r\n });\r\n }\r\n getCategoryCourses(ID) {\r\n this.router.navigate(['Topic', { categoryID: ID }]);\r\n }\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'Search.NotFound' | translate }}

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
0 && Searched\\\" class=\\\"card border-0 m_b_16\\\">\\r\\n
\\r\\n {{ 'Search.Explore' | translate }}\\r\\n {{ 'Search.Courses' | translate }}\\r\\n\\r\\n
\\r\\n

\\r\\n {{items.length}}\\r\\n {{ 'Search.results' | translate }}“{{SearchText}}”\\r\\n {{items.length}}\\r\\n {{ 'Search.results' | translate }}“{{SearchText}}”\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{currentlang == 'us' ? item.name: item.nameAr}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0FjYWRlbXkvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CourseService } from '../../../shared/services/course.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\n\r\n@Component({\r\n selector: 'app-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.scss']\r\n})\r\nexport class SearchComponent implements OnInit {\r\n items: any[] = [];\r\n SearchText: string;\r\n Searched: boolean = false;\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n currentlang: string;\r\n\r\n constructor(private route: ActivatedRoute, private languageService: LanguageService, private courseService: CourseService)\r\n {\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.route.paramMap.subscribe(params => {\r\n this.SearchText = params.get('text');\r\n \r\n if (this.SearchText && this.SearchText.trim() != \"\")\r\n this.courseService.search(this.SearchText).subscribe(result => {\r\n if (result.success) {\r\n this.Searched = true\r\n this.items = result.data;\r\n }\r\n });\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n \\r\\n

\\r\\n {{ 'Profile.MyCourses' | translate }}\\r\\n

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0FjYWRlbXkvc3R1ZGVudC1wcm9maWxlL3N0dWRlbnQtcHJvZmlsZS5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { BehaviorSubject, Subscription } from 'rxjs';\r\nimport { UserDto } from '../../../shared/core/system-api';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\nimport { UserCourseService } from '../../../shared/services/userCourse.service';\r\n\r\n@Component({\r\n selector: 'app-student-profile',\r\n templateUrl: './student-profile.component.html',\r\n styleUrls: ['./student-profile.component.scss']\r\n})\r\nexport class StudentProfileComponent implements OnInit {\r\n items: any[] = [];\r\n currentUserSubject: any;\r\n currentUser: any;\r\n\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n currentlang: string;\r\n constructor(private languageService: LanguageService,private userCourseService: UserCourseService) {\r\n this.currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUser')));\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.userCourseService.getUserCoursesList().subscribe(result => {\r\n if (result.success) {\r\n this.items = result.data;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n
\\r\\n

\\r\\n {{category.name}}\\r\\n

\\r\\n\\r\\n

\\r\\n {{category.description}}\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0FjYWRlbXkvdG9waWMvdG9waWMuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { CategoryService } from '../../../shared/services/category.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Category } from '../../../shared/core/system-api';\r\n\r\n@Component({\r\n selector: 'app-topic',\r\n templateUrl: './topic.component.html',\r\n styleUrls: ['./topic.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n})\r\nexport class TopicComponent implements OnInit {\r\n\r\n items: any[] = [];\r\n CategoryID: number = 0;\r\n category: Category;\r\n constructor(private route: ActivatedRoute, private categoryService: CategoryService)\r\n {\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.route.paramMap.subscribe(params => {\r\n this.CategoryID = Number(params.get('categoryID'));\r\n\r\n if (this.CategoryID && this.CategoryID != 0)\r\n {\r\n this.categoryService.getCategoryCourses(this.CategoryID).subscribe(result => {\r\n if (result.success) {\r\n this.items = result.data;\r\n }\r\n });\r\n\r\n this.categoryService.get(this.CategoryID).subscribe(result => {\r\n if (result.success) {\r\n this.category = result.data;\r\n }\r\n });\r\n }\r\n \r\n });\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0FkbWluU2l0ZS9hZG1pbi1ob21lL2FkbWluLWhvbWUuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-admin-home',\r\n templateUrl: './admin-home.component.html',\r\n styleUrls: ['./admin-home.component.scss']\r\n})\r\nexport class AdminHomeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\n \r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { AuthGuard } from \"../../shared/guard/auth-guard\";\r\nimport { AdminHomeComponent } from \"./admin-home/admin-home.component\";\r\nimport { CorperateComponent } from \"./corperate/corperate.component\";\r\nimport { DetailsComponent } from \"./corperate/details/details.component\";\r\nimport { CreateCourseComponent } from \"./create-course/create-course.component\";\r\nimport { DashboardComponent } from \"./dashboard/dashboard.component\";\r\nimport { UsersComponent } from \"./users/users.component\";\r\nimport { CoursesListComponent } from './create-course/courses-list/courses-list.component';\r\nimport { EditCourseComponent } from './edit-course/edit-course.component';\r\n \r\n \r\nconst routes: Routes = [\r\n { path: 'AdminSite', component: CorperateComponent, canActivate: [AuthGuard] },\r\n { path: 'AdminSite/Home', component: AdminHomeComponent, canActivate: [AuthGuard] },\r\n { path: 'AdminSite/Dashboard', component: DashboardComponent, canActivate: [AuthGuard] },\r\n { path: 'AdminSite/Corperate', component: CorperateComponent, canActivate: [AuthGuard] },\r\n { path: 'AdminSite/Corporate/Details', component: DetailsComponent, canActivate: [AuthGuard] },\r\n { path: 'AdminSite/CreateCourse', component: CreateCourseComponent, canActivate: [AuthGuard] },\r\n { path: 'AdminSite/EditCourse', component: EditCourseComponent, canActivate: [AuthGuard] },\r\n { path: 'AdminSite/Courses', component: CoursesListComponent, canActivate: [AuthGuard] },\r\n\r\n { path: 'AdminSite/UsersManager', component: UsersComponent },\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n declarations: []\r\n})\r\n\r\nexport class AdminRoutingModule {\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n {{'Corporate.CorporateManagement'|translate}}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n

{{corporate.name}}

\\r\\n
\\r\\n \\r\\n {{corporate.headOfficeAddress}}\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#{{'Corporate.ContractNo'|translate}}{{'Corporate.ContractName'|translate}}{{'Corporate.ContactPerson'|translate}}{{'Corporate.NoOfCourses'|translate}}{{'Corporate.NoOfGroups'|translate}}{{'Corporate.NoOfTrainees'|translate}}
{{i+1}}{{contract.number}}{{contract.name}}\\r\\n {{contract.contactPersonName}}\\r\\n {{contract.coursesNo}}{{contract.groupNo}}{{contract.traineesNo}}
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\"","module.exports = \"app-corporate .mat-expansion-panel-header {\\n padding: 0px 16px;\\n}\\napp-corporate .mat-expansion-panel-body {\\n padding: 0px 16px 16px;\\n}\\napp-corporate .mat-expansion-panel-body #Contact-person-card {\\n width: 295px;\\n}\\napp-corporate .mat-expansion-panel-body #Contact-person-card td {\\n font-size: 13px;\\n vertical-align: middle;\\n padding: 4px;\\n}\\napp-corporate .mat-expansion-panel-body #TraineeList td,\\napp-corporate .mat-expansion-panel-body #TraineeList th {\\n padding: 4px 8px;\\n}\\n[dir=rtl] .m-16 {\\n margin-left: 16px !important;\\n margin-right: 0px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQWRtaW5TaXRlL2NvcnBlcmF0ZS9DOlxcVXNlcnNcXEV2cmFtXFxzb3VyY2VcXHJlcG9zXFxOSUEtQXBwXFxXZWJBcHBcXENsaWVudEFwcC9zcmNcXGFwcFxccGFnZXNcXEFkbWluU2l0ZVxcY29ycGVyYXRlXFxjb3JwZXJhdGUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3BhZ2VzL0FkbWluU2l0ZS9jb3JwZXJhdGUvY29ycGVyYXRlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVFO0VBQ0UsaUJBQUE7QUNESjtBRElFO0VBQ0Usc0JBQUE7QUNGSjtBRElJO0VBQ0UsWUFBQTtBQ0ZOO0FESU07RUFDRSxlQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQUFBO0FDRlI7QURRTTs7RUFFRSxnQkFBQTtBQ05SO0FEWUE7RUFDRSw0QkFBQTtFQUNBLDRCQUFBO0FDVEYiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9BZG1pblNpdGUvY29ycGVyYXRlL2NvcnBlcmF0ZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImFwcC1jb3Jwb3JhdGUge1xyXG5cclxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIge1xyXG4gICAgcGFkZGluZzogMHB4IDE2cHg7XHJcbiAgfVxyXG5cclxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1ib2R5IHtcclxuICAgIHBhZGRpbmc6IDBweCAxNnB4IDE2cHg7XHJcblxyXG4gICAgI0NvbnRhY3QtcGVyc29uLWNhcmQge1xyXG4gICAgICB3aWR0aDogMjk1cHg7XHJcblxyXG4gICAgICB0ZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI1RyYWluZWVMaXN0IHtcclxuXHJcbiAgICAgIHRkLFxyXG4gICAgICB0aCB7XHJcbiAgICAgICAgcGFkZGluZzogNHB4IDhweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuW2Rpcj1ydGxdIC5tLTE2IHtcclxuICBtYXJnaW4tbGVmdDogMTZweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiIsImFwcC1jb3Jwb3JhdGUgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIHtcbiAgcGFkZGluZzogMHB4IDE2cHg7XG59XG5hcHAtY29ycG9yYXRlIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWJvZHkge1xuICBwYWRkaW5nOiAwcHggMTZweCAxNnB4O1xufVxuYXBwLWNvcnBvcmF0ZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1ib2R5ICNDb250YWN0LXBlcnNvbi1jYXJkIHtcbiAgd2lkdGg6IDI5NXB4O1xufVxuYXBwLWNvcnBvcmF0ZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1ib2R5ICNDb250YWN0LXBlcnNvbi1jYXJkIHRkIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nOiA0cHg7XG59XG5hcHAtY29ycG9yYXRlIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWJvZHkgI1RyYWluZWVMaXN0IHRkLFxuYXBwLWNvcnBvcmF0ZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1ib2R5ICNUcmFpbmVlTGlzdCB0aCB7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG59XG5cbltkaXI9cnRsXSAubS0xNiB7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG59Il19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Corporate } from '../../../shared/core/system-api';\r\nimport { CorporateService } from '../../../shared/services/corporate.service';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-corperate',\r\n templateUrl: './corperate.component.html',\r\n styleUrls: ['./corperate.component.scss']\r\n})\r\n\r\nexport class CorperateComponent implements OnInit {\r\n corporates: any[] = [];\r\n selectedCorporate: Corporate;\r\n private unsubscribe: Subscription[] = [];\r\n constructor(private router: Router, private corporateService: CorporateService, public translate: TranslateService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.draw();\r\n }\r\n \r\n draw() {\r\n const getCorporatesList = this.corporateService.getCorporatesList().subscribe(\r\n data => {\r\n if (data && data.data) {\r\n this.corporates = data.data;\r\n }\r\n });\r\n this.unsubscribe.push(getCorporatesList);\r\n }\r\n edit(c) {\r\n this.selectedCorporate = c;\r\n this.AddNewCorporate = true;\r\n }\r\n delete(id) {\r\n Swal.fire({\r\n title: this.translate.instant('DEFAULT.confirmationTitle'),\r\n text: this.translate.instant('Corporate.confirmationCorporateDelete'),\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('DEFAULT.yes'),\r\n cancelButtonText: this.translate.instant('DEFAULT.no')\r\n }).then((result) => {\r\n if (result.value) {\r\n const changeUserStatus = this.corporateService.changeCorporateStatus(id, false).subscribe(\r\n data => {\r\n if (data.success) {\r\n this.toastr.success(this.translate.instant('Corporate.CorporateDeleted'));\r\n this.corporates = this.corporates.filter(x => x.id != id);\r\n }\r\n });\r\n this.unsubscribe.push(changeUserStatus);\r\n }\r\n });\r\n }\r\n\r\n details(id) {\r\n this.router.navigate(['AdminSite/Corporate/Details', { corporateID: id }]);\r\n }\r\n AddNewCorporate = false;\r\n\r\n ToggleAddNewCorporate() {\r\n this.selectedCorporate = null;\r\n this.AddNewCorporate = !this.AddNewCorporate;\r\n if (this.AddNewCorporate == false) {\r\n this.draw();\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n}\r\n","module.exports = \" \\r\\n
\\r\\n
\\r\\n {{'Corporate.CreateNewCorporate'|translate}}\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{'Corporate.Name'|translate}}\\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.HeadOfficeAddress'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.LocationOnGoogleMaps'|translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Corporate.BasicInfromation'|translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.Number'|translate}}\\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.StartDate'|translate}}\\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.EndDate'|translate}}\\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n {{ 'Validation.ConflictDate' | translate }}\\r\\n {{ 'Validation.ConflictDate' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.BIName'|translate}}\\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n {{'Corporate.Next'|translate}}\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{'Corporate.ContactPersonInfromation'|translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{'Corporate.CPIName'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.JobTitle'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.MobileNumber'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.EmailAddress'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n {{ 'Validation.Email' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n {{'Corporate.Previous'|translate}}\\r\\n {{'Corporate.Next'|translate}}\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{'Corporate.Course'|translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{'Corporate.SelectContractCourses'|translate}}\\r\\n \\r\\n \\r\\n {{currentlang == 'sa'? Course.nameAr: Course.name}}\\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n {{'Corporate.Previous'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{'Corporate.Groups'|translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{'Corporate.GroupNumber'|translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{'Corporate.GroupName'|translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#{{'Corporate.GroupNumber'|translate}}{{'Corporate.GroupName'|translate}}
{{i+1}}{{group.number}}{{group.name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n {{'Corporate.Previous'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#{{'Corporate.ContractNo'|translate}}{{'Corporate.ContractName'|translate}}{{'Corporate.ContactPerson'|translate}}{{'Corporate.NoOfCourses'|translate}}{{'Corporate.NoOfGroups'|translate}}
{{i+1}}{{contract.number}}{{contract.name}}\\r\\n {{contract.contactPersonName}}\\r\\n {{contract.contractCourse.length}}{{contract.contractGroup.length}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.SelectContractNumber'|translate}}\\r\\n \\r\\n {{contract.name}}\\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.SelectContractCourses'|translate}}\\r\\n \\r\\n \\r\\n {{currentlang == 'sa'? Course.nameAr: Course.name}}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.GroupName'|translate}}\\r\\n \\r\\n {{group.name}}\\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n National Id\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.TraineeName'|translate}}\\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.TraineeEntity'|translate}}\\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.JobTitle'|translate}}\\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.MobileNumber'|translate}}\\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'Corporate.EmailAddress'|translate}}\\r\\n \\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n {{ 'Validation.Email' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#{{'Corporate.TraineeName'|translate}}{{'Corporate.TraineeEntity'|translate}}{{'Corporate.EmailAddress'|translate}}{{'Corporate.AssignedCourses'|translate}}
{{i+1}}{{trainee.name}}{{trainee.entity}}{{trainee.emailAddress}}{{trainee.courses.length}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/* Chrome, Safari, Edge, Opera */\\ninput::-webkit-outer-spin-button,\\ninput::-webkit-inner-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n}\\n/* Firefox */\\ninput[type=number] {\\n -moz-appearance: textfield;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQWRtaW5TaXRlL2NvcnBlcmF0ZS9jcmVhdGUtbmV3L0M6XFxVc2Vyc1xcRXZyYW1cXHNvdXJjZVxccmVwb3NcXE5JQS1BcHBcXFdlYkFwcFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxwYWdlc1xcQWRtaW5TaXRlXFxjb3JwZXJhdGVcXGNyZWF0ZS1uZXdcXGNyZWF0ZS1uZXcuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3BhZ2VzL0FkbWluU2l0ZS9jb3JwZXJhdGUvY3JlYXRlLW5ldy9jcmVhdGUtbmV3LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGdDQUFBO0FBQ0E7O0VBRUUsd0JBQUE7RUFDQSxTQUFBO0FDREY7QURJQSxZQUFBO0FBQ0E7RUFDRSwwQkFBQTtBQ0RGIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvQWRtaW5TaXRlL2NvcnBlcmF0ZS9jcmVhdGUtbmV3L2NyZWF0ZS1uZXcuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJhcHAtY3JlYXRlLW5ldyB7fVxyXG5cclxuLyogQ2hyb21lLCBTYWZhcmksIEVkZ2UsIE9wZXJhICovXHJcbmlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxyXG5pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLyogRmlyZWZveCAqL1xyXG5pbnB1dFt0eXBlPW51bWJlcl0ge1xyXG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG59XHJcbiIsIi8qIENocm9tZSwgU2FmYXJpLCBFZGdlLCBPcGVyYSAqL1xuaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG5pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBGaXJlZm94ICovXG5pbnB1dFt0eXBlPW51bWJlcl0ge1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn0iXX0= */\"","import { formatDate } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatStepper } from '@angular/material';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { Contract, Corporate, Course, CreateContractDto, Group, GroupDto, Trainee, User } from '../../../../shared/core/system-api';\r\nimport { ContractService } from '../../../../shared/services/contract.service';\r\nimport { CorporateService } from '../../../../shared/services/corporate.service';\r\nimport { CourseService } from '../../../../shared/services/course.service';\r\nimport { LanguageService } from '../../../../shared/services/Language.service';\r\nimport { UserService } from '../../../../shared/services/user.service';\r\nimport Swal from 'sweetalert2';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\n\r\n@Component({\r\n selector: 'app-create-new',\r\n templateUrl: './create-new.component.html',\r\n styleUrls: ['./create-new.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n})\r\nexport class CreateNewComponent implements OnInit {\r\n @Output() returnToList = new EventEmitter();\r\n @Input() CorporateID: any;\r\n corporate: FormGroup;\r\n contract: FormGroup;\r\n trainee: FormGroup;\r\n selectedGroup: Group = new Group();\r\n EditselectedGroup: Group;\r\n contracts: Contract[] = [];\r\n trainees: Trainee[] = [];\r\n\r\n CoursesList: Course[] = [];\r\n ContractCoursesList: Course[] = [];\r\n ContractGroupsList: Group[] = [];\r\n contractGroups: GroupDto[] = [];\r\n\r\n public loading = false;\r\n datevalidate = false ;\r\n public corporateFormSubmitted = false;\r\n public contractFormSubmitted = false;\r\n public traineeFormSubmitted = false;\r\n public groupFormSubmitted = false;\r\n currentlang = '';\r\n public _translate: TranslateService;\r\n private unsubscribe: Subscription[] = [];\r\n constructor(public translate: TranslateService, private corporateService: CorporateService, private courseService: CourseService, private contractService: ContractService, private userService: UserService,\r\n private toastr: ToastrService, private formBuilder: FormBuilder, private languageService: LanguageService) {\r\n this._translate = translate;\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n this.unsubscribe.push(currentLangSubscription);\r\n const getCoursesList = this.courseService.getCoursesList().subscribe(result => {\r\n if (result.success) {\r\n this.CoursesList = result.data;\r\n }\r\n });\r\n this.unsubscribe.push(getCoursesList);\r\n }\r\n\r\n \r\n ngOnInit(): void {\r\n this.corporate = this.formBuilder.group({\r\n id: ['', ''],\r\n name: ['', Validators.required],\r\n headOfficeAddress: ['', Validators.required],\r\n locationOnGoogleMaps: [''],\r\n });\r\n this.contract = this.formBuilder.group({\r\n id: ['', ''],\r\n number: ['', Validators.required],\r\n startDate: ['', Validators.required],\r\n endDate: ['', [Validators.required, this.IsConflictDateCheck.bind(this)]],\r\n name: ['', Validators.required],\r\n contactPersonName: ['', Validators.required],\r\n contactPersonJobTitle: ['', Validators.required],\r\n contactPersonMobileNumber: ['', Validators.required],\r\n contactPersonEmailAddress: ['', [Validators.email, Validators.required]],\r\n contactCourses: ['', Validators.required],\r\n });\r\n this.trainee = this.formBuilder.group({\r\n id: ['', ''],\r\n name: ['', Validators.required],\r\n entity: ['', Validators.required],\r\n jobTitle: ['', Validators.required],\r\n mobileNumber: ['', Validators.required],\r\n emailAddress: ['', [Validators.email, Validators.required]],\r\n nationalId: ['', [Validators.required]],\r\n contractNumber: ['', Validators.required],\r\n groupId: ['', Validators.required],\r\n courses: ['', Validators.required],\r\n });\r\n\r\n }\r\n\r\n IsConflictDateCheck(fieldControl: FormControl) {\r\n if (this.contract && this.Contractf && this.Contractf.startDate.value > this.Contractf.endDate.value) {\r\n return { 'IsConflictDate': true };\r\n // this.datevalidate == true ;\r\n\r\n }\r\n // console.log (this.Contractf.startDate.value , this.Contractf.endDate.value)\r\n // else if (this.contract.get('startDate').value > this.contract.get('endDate').value){\r\n // // return { 'IsConflictDate': true };\r\n // this.datevalidate == true ;\r\n // }\r\n return null;\r\n }\r\n\r\n public get Corporatef() { return this.corporate.controls; }\r\n public get Contractf() { return this.contract.controls; }\r\n public get traineef() { return this.trainee.controls; }\r\n\r\n ngAfterViewInit() {\r\n if (this.CorporateID) {\r\n const get = this.corporateService.get(this.CorporateID).subscribe(res => {\r\n if (res) {\r\n this.corporate.patchValue({\r\n id: res.data.id,\r\n name: res.data.name,\r\n headOfficeAddress: res.data.headOfficeAddress,\r\n locationOnGoogleMaps: res.data.locationOnGoogleMaps,\r\n });\r\n this.contracts = res.data.contracts;\r\n this.trainees = res.data.trainees;\r\n console.log(this.trainees);\r\n }\r\n });\r\n this.unsubscribe.push(get);\r\n \r\n }\r\n }\r\n\r\n onSubmitCorporateForm(stepper: MatStepper) {\r\n if (this.loading)\r\n return;\r\n this.corporateFormSubmitted = true;\r\n this.loading = true;\r\n\r\n if (this.corporate.invalid) {\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n var corporate = new Corporate();\r\n corporate.id = this.Corporatef.id.value;\r\n corporate.name = this.Corporatef.name.value;\r\n corporate.headOfficeAddress = this.Corporatef.headOfficeAddress.value;\r\n corporate.locationOnGoogleMaps = this.Corporatef.locationOnGoogleMaps.value;\r\n if (corporate.id == 0 || corporate.id == null) {\r\n corporate.id = 0;\r\n this.corporateService.create(corporate).subscribe(res => {\r\n if (res.success) {\r\n this.corporate.patchValue({\r\n id: res.data.id\r\n });\r\n this.toastr.success(this.translate.instant('Corporate.CorporateCreated'));\r\n this.corporateFormSubmitted = false;\r\n stepper.next();\r\n }\r\n else {\r\n this.toastr.error(this.translate.instant('Corporate.' + res.code));\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n });\r\n }\r\n else {\r\n this.corporateService.update(corporate).subscribe(res => {\r\n if (res.success) {\r\n this.toastr.success(this.translate.instant('Corporate.CorporateUpdated'));\r\n this.corporate.reset();\r\n this.corporateFormSubmitted = false;\r\n stepper.next();\r\n }\r\n else {\r\n this.toastr.error(this.translate.instant('Corporate.' + res.code));\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n });\r\n }\r\n this.loading = false;\r\n }\r\n\r\n onSubmitContractForm() {\r\n \r\n if (this.loading)\r\n return;\r\n this.contractFormSubmitted = true;\r\n this.loading = true;\r\n\r\n if (this.contract.invalid || this.Corporatef.id.value == 0) {\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n var contract = new CreateContractDto();\r\n\r\n contract.id = this.Contractf.id.value;\r\n contract.corporateId = this.Corporatef.id.value;\r\n contract.number = this.Contractf.number.value;\r\n contract.startDate = this.adjustDateForTimeOffset(new Date(this.Contractf.startDate.value));\r\n contract.endDate = this.adjustDateForTimeOffset(new Date(this.Contractf.endDate.value));\r\n contract.name = this.Contractf.name.value;\r\n contract.contactPersonName = this.Contractf.contactPersonName.value;\r\n contract.contactPersonJobTitle = this.Contractf.contactPersonJobTitle.value;\r\n contract.contactPersonMobileNumber = this.Contractf.contactPersonMobileNumber.value;\r\n contract.contactPersonEmailAddress = this.Contractf.contactPersonEmailAddress.value;\r\n contract.courses = this.Contractf.contactCourses.value;\r\n contract.groups = this.contractGroups;\r\n if (contract.id == 0 || contract.id == null) {\r\n contract.id = 0;\r\n this.contractService.create(contract).subscribe(res => {\r\n console.log (\"The Contract Response :-\", res)\r\n if (res.success) {\r\n this.toastr.success(this.translate.instant('Corporate.ContractCreated'));\r\n this.contracts.push(res.data);\r\n this.contract.reset();\r\n this.step = 0;\r\n this.selectedGroup = new Group();\r\n this.EditselectedGroup = null;\r\n this.contractGroups = [];\r\n this.contractFormSubmitted = false;\r\n }\r\n else {\r\n this.toastr.error(this.translate.instant('Corporate.' + res.code));\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n });\r\n }\r\n else {\r\n this.contractService.update(contract).subscribe(res => {\r\n console.log (\"The Contract Response :-\", res)\r\n\r\n if (res.success) {\r\n this.toastr.success(this.translate.instant('Corporate.ContractUpdated'));\r\n this.contracts = this.contracts.filter(x => x.id != contract.id);\r\n this.contracts.push(res.data);\r\n this.contract.reset();\r\n this.step = 0;\r\n this.selectedGroup = new Group();\r\n this.EditselectedGroup = null;\r\n this.contractGroups = [];\r\n this.contractFormSubmitted = false;\r\n }\r\n else {\r\n this.toastr.error(this.translate.instant('Corporate.' + res.code));\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n });\r\n }\r\n this.loading = false;\r\n }\r\n\r\n onSubmitTraineeForm() {\r\n if (this.loading)\r\n return;\r\n this.traineeFormSubmitted = true;\r\n this.loading = true;\r\n\r\n if (this.trainee.invalid) {\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n var trainee = new Trainee();\r\n\r\n trainee.id = this.traineef.id.value;\r\n trainee.name = this.traineef.name.value;\r\n trainee.entity = this.traineef.entity.value;\r\n trainee.jobTitle = this.traineef.jobTitle.value;\r\n trainee.mobileNumber = this.traineef.mobileNumber.value;\r\n trainee.emailAddress = this.traineef.emailAddress.value;\r\n trainee.nationalId = this.traineef.nationalId.value;\r\n trainee.contractNumber = this.traineef.contractNumber.value;\r\n trainee.courses = this.traineef.courses.value;\r\n trainee.groupId = this.traineef.groupId.value;\r\n\r\n if (trainee.id == 0 || trainee.id == null) {\r\n trainee.id = 0;\r\n this.userService.createTrainee(trainee).subscribe(res => {\r\n if (res.success) {\r\n this.toastr.success(this.translate.instant('Corporate.TraineeCreated'));\r\n this.trainees.push(res.data);\r\n this.trainee.reset();\r\n this.traineeFormSubmitted = false;\r\n }\r\n else {\r\n this.toastr.error(this.translate.instant('Corporate.' + res.code));\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n });\r\n }\r\n else {\r\n this.userService.updateTrainee(trainee).subscribe(res => {\r\n if (res.success) {\r\n this.toastr.success(this.translate.instant('Corporate.TraineeUpdated'));\r\n this.trainees[this.trainees.findIndex(x => x.id == trainee.id)] = res.data;\r\n this.trainee.reset();\r\n this.traineeFormSubmitted = false;\r\n }\r\n else {\r\n this.toastr.error(this.translate.instant('Corporate.' + res.code));\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n });\r\n }\r\n this.loading = false;\r\n }\r\n\r\n AddGroup() {\r\n if (this.loading)\r\n return;\r\n this.groupFormSubmitted = true;\r\n this.loading = true;\r\n\r\n if (!this.selectedGroup.number || !this.selectedGroup.name) {\r\n this.loading = false;\r\n return;\r\n }\r\n let index = this.contractGroups.find(x => x == this.EditselectedGroup);\r\n if (index)\r\n {\r\n index.number = this.selectedGroup.number;\r\n index.name = this.selectedGroup.name;\r\n this.EditselectedGroup = null;\r\n }\r\n else\r\n this.contractGroups.push(this.selectedGroup);\r\n this.selectedGroup = new Group();\r\n this.groupFormSubmitted = false;\r\n this.loading = false;\r\n }\r\n\r\n EditGroup(group) {\r\n this.selectedGroup.id = group.id;\r\n this.selectedGroup.number = group.number;\r\n this.selectedGroup.name = group.name;\r\n this.EditselectedGroup = group;\r\n }\r\n\r\n DeleteGroup(group) {\r\n Swal.fire({\r\n title: this.translate.instant('DEFAULT.confirmationTitle'),\r\n text: this.translate.instant('Corporate.confirmationGroupDelete'),\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('DEFAULT.yes'),\r\n cancelButtonText: this.translate.instant('DEFAULT.no')\r\n }).then((result) => {\r\n if (result.value) {\r\n this.contractGroups = this.contractGroups.filter(x => x != group);\r\n this.selectedGroup = new Group();\r\n this.EditselectedGroup = null;\r\n }\r\n });\r\n }\r\n\r\n OnChange(value, courses: any = null) {\r\n this.ContractCoursesList = [];\r\n this.contractService.getContractCourses(value).subscribe(\r\n data => {\r\n if (data.success) {\r\n this.ContractCoursesList = data.data;\r\n if (courses) {\r\n var contractCourses = this.ContractCoursesList.map(function (item) { return item.id; });\r\n var notMissing = courses.filter(item => contractCourses.indexOf(item) >= 0);\r\n this.trainee.patchValue({\r\n courses: notMissing\r\n });\r\n }\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n });\r\n\r\n this.ContractGroupsList = [];\r\n this.contractService.getContractGroups(value).subscribe(\r\n data => {\r\n if (data.success) {\r\n this.ContractGroupsList = data.data;\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n public return(): void {\r\n this.returnToList.emit(false);\r\n }\r\n\r\n step = 0;\r\n nextPage(stepper: MatStepper) {\r\n stepper.next();\r\n }\r\n setStep(index: number) {\r\n this.step = index;\r\n }\r\n\r\n nextStep() {\r\n this.step++;\r\n }\r\n\r\n prevStep() {\r\n this.step--;\r\n }\r\n\r\n adjustDateForTimeOffset(dateToAdjust) {\r\n var offsetMs = dateToAdjust.getTimezoneOffset() * 60000;\r\n return new Date(dateToAdjust.getTime() - offsetMs);\r\n }\r\n\r\n contractEdit(id) {\r\n var c = this.contracts.find(x => x.id == id);\r\n if (c) {\r\n var contactCourses = c.contractCourse.map(function (item) { return item.courseId; });\r\n this.contract.patchValue({\r\n id: c.id,\r\n number: c.number,\r\n startDate: formatDate(c.startDate, 'yyyy-MM-dd', 'en'),\r\n endDate: formatDate(c.endDate, 'yyyy-MM-dd', 'en'),\r\n name: c.name,\r\n contactPersonName: c.contactPersonName,\r\n contactPersonJobTitle: c.contactPersonJobTitle,\r\n contactPersonMobileNumber: c.contactPersonMobileNumber,\r\n contactPersonEmailAddress: c.contactPersonEmailAddress,\r\n contactCourses: contactCourses,\r\n });\r\n this.contractGroups = c.contractGroup.map(function (item) {\r\n let GDTO = new GroupDto();\r\n GDTO.id = item.group.id;\r\n GDTO.number = item.group.number;\r\n GDTO.name = item.group.name;\r\n return GDTO;\r\n });\r\n }\r\n }\r\n\r\n contractDelete(id) {\r\n Swal.fire({\r\n title: this.translate.instant('DEFAULT.confirmationTitle'),\r\n text: this.translate.instant('Corporate.confirmationContractDelete'),\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('DEFAULT.yes'),\r\n cancelButtonText: this.translate.instant('DEFAULT.no')\r\n }).then((result) => {\r\n if (result.value) {\r\n const changeUserStatus = this.contractService.changeContractStatus(id, false).subscribe(\r\n data => {\r\n if (data.success) {\r\n this.toastr.success(this.translate.instant('Corporate.ContractDeleted'));\r\n this.contracts = this.contracts.filter(x => x.id != id);\r\n }\r\n });\r\n this.unsubscribe.push(changeUserStatus);\r\n }\r\n });\r\n }\r\n\r\n traineeEdit(id,contractID) {\r\n debugger;\r\n var t = this.trainees.find(x => x.id == id && x.contractNumber == contractID);\r\n if (t) {\r\n var courses = t.courses;\r\n this.OnChange(t.contractNumber, courses);\r\n this.trainee.patchValue({\r\n id: t.id,\r\n name: t.name,\r\n entity: t.entity,\r\n jobTitle: t.jobTitle,\r\n mobileNumber: t.mobileNumber,\r\n emailAddress: t.emailAddress,\r\n contractNumber: t.contractNumber,\r\n groupId: t.groupId,\r\n });\r\n }\r\n }\r\n\r\n traineeDelete(id, contractID) {\r\n Swal.fire({\r\n title: this.translate.instant('DEFAULT.confirmationTitle'),\r\n text: this.translate.instant('Corporate.confirmationTraineeDelete'),\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('DEFAULT.yes'),\r\n cancelButtonText: this.translate.instant('DEFAULT.no')\r\n }).then((result) => {\r\n if (result.value) {\r\n const changeUserStatus = this.userService.changeUserStatus(id, false, contractID).subscribe(\r\n data => {\r\n if (data.success) {\r\n this.toastr.success(this.translate.instant('Corporate.TraineeDeleted'));\r\n this.trainees = this.trainees.filter(x => x.id != id);\r\n }\r\n });\r\n this.unsubscribe.push(changeUserStatus);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n\r\n \r\n}\r\n","module.exports = \"
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n {{corporate.name}}\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n {{contract.number}}-{{contract.name}}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n {{course.name}}\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"#TraineeList td {\\n padding: 4px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQWRtaW5TaXRlL2NvcnBlcmF0ZS9kZXRhaWxzL0M6XFxVc2Vyc1xcRXZyYW1cXHNvdXJjZVxccmVwb3NcXE5JQS1BcHBcXFdlYkFwcFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxwYWdlc1xcQWRtaW5TaXRlXFxjb3JwZXJhdGVcXGRldGFpbHNcXGRldGFpbHMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3BhZ2VzL0FkbWluU2l0ZS9jb3JwZXJhdGUvZGV0YWlscy9kZXRhaWxzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvQWRtaW5TaXRlL2NvcnBlcmF0ZS9kZXRhaWxzL2RldGFpbHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjVHJhaW5lZUxpc3QgdGQge1xyXG4gIHBhZGRpbmc6IDRweDtcclxufVxyXG4iLCIjVHJhaW5lZUxpc3QgdGQge1xuICBwYWRkaW5nOiA0cHg7XG59Il19 */\"","import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource } from '@angular/material';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport Swal from 'sweetalert2';\r\nimport { UserExamService } from '../../../../shared/core/system-api';\r\nimport { corporateDetails } from '../../../../shared/models/corporateDetails.model';\r\nimport { CorporateService } from '../../../../shared/services/corporate.service';\r\nimport { ExcelService } from '../../../../shared/services/excel.service';\r\n\r\n@Component({\r\n selector: 'app-details',\r\n templateUrl: './details.component.html',\r\n styleUrls: ['./details.component.scss']\r\n})\r\n \r\nexport class DetailsComponent implements OnInit {\r\n displayedColumns: string[] = ['name','groupName' , 'quizResults', 'complete', 'quizResultAfter'];\r\n corporate: any;\r\n corporateDetails: corporateDetails;\r\n corporateDetailsToExcel: corporateDetails[] = [];\r\n headersToExcel: any[] = [];\r\n private unsubscribe: Subscription[] = [];\r\n corprateId: number = 0;\r\n \r\n\r\n constructor(public translate: TranslateService, private route: ActivatedRoute,\r\n private corporateService: CorporateService, public excelService: ExcelService, private userExamService: UserExamService) {\r\n }\r\n \r\n\r\n ngOnInit(): void {\r\n this.route.paramMap.subscribe(params => {\r\n this.corprateId = Number(params.get('corporateID'));\r\n this.draw(this.corprateId);\r\n });\r\n }\r\n\r\n draw(corporateID) {\r\n //debugger;\r\n const getCorporateDetails = this.corporateService.getCorporateDetails(corporateID).subscribe(\r\n data => {\r\n if (data.success) {\r\n this.corporate = data.data;\r\n }\r\n });\r\n this.unsubscribe.push(getCorporateDetails);\r\n }\r\n \r\n public exportAsXLSX(): void {\r\n this.generateCorporateDetailsToExcel();\r\n this.excelService.exportAsExcelFile(this.corporateDetailsToExcel, this.corporate.name);\r\n }\r\n generateCorporateDetailsToExcel() {\r\n this.corporateDetails = new corporateDetails();\r\n this.corporateDetails.contractName = this.translate.instant('Corporate.ContractName');\r\n this.corporateDetails.contractNumber = this.translate.instant('Corporate.ContractNo');\r\n this.corporateDetails.courseName = this.translate.instant('Corporate.Course');\r\n this.corporateDetails.traineeName = this.translate.instant('Corporate.TraineeName');\r\n this.corporateDetails.traineeEmail = this.translate.instant('Corporate.EmailAddress');\r\n this.corporateDetails.traineeQuizResultBefore = this.translate.instant('Corporate.QuizResults') + ' ' + this.translate.instant('Corporate.Before');\r\n this.corporateDetails.traineeQuizResultAfter = this.translate.instant('Corporate.QuizResults') + ' ' + this.translate.instant('Corporate.After');\r\n this.corporateDetails.traineeComplete = this.translate.instant('Corporate.Complete');\r\n this.corporateDetailsToExcel.push(this.corporateDetails);\r\n if (this.corporate.contracts.length > 0) {\r\n for (var iContract = 0; iContract < this.corporate.contracts.length; iContract++) {\r\n if (this.corporate.contracts[iContract].courses.length > 0) {\r\n for (var iCourse = 0; iCourse < this.corporate.contracts[iContract].courses.length; iCourse++) {\r\n if (this.corporate.contracts[iContract].courses[iCourse].trainees.length > 0) {\r\n for (var iTrainee = 0; iTrainee < this.corporate.contracts[iContract].courses[iCourse].trainees.length; iTrainee++) {\r\n this.corporateDetails = new corporateDetails();\r\n this.corporateDetails.contractName = this.corporate.contracts[iContract].name;\r\n this.corporateDetails.contractNumber = this.corporate.contracts[iContract].number;\r\n this.corporateDetails.courseName = this.corporate.contracts[iContract].courses[iCourse].name;\r\n this.corporateDetails.traineeName = this.corporate.contracts[iContract].courses[iCourse].trainees[iTrainee].name;\r\n this.corporateDetails.traineeEmail = this.corporate.contracts[iContract].courses[iCourse].trainees[iTrainee].email;\r\n this.corporateDetails.traineeQuizResultBefore = this.corporate.contracts[iContract].courses[iCourse].trainees[iTrainee].quizResultBefore;\r\n // this.corporateDetails.traineeQuizResultAfter = 'not taken'; \r\n this.corporateDetails.traineeQuizResultAfter = this.corporate.contracts[iContract].courses[iCourse].trainees[iTrainee].quizResultAfter;\r\n this.corporateDetails.traineeComplete = this.corporate.contracts[iContract].courses[iCourse].trainees[iTrainee].complete;\r\n this.corporateDetailsToExcel.push(this.corporateDetails);\r\n }\r\n }\r\n else {\r\n this.corporateDetails = new corporateDetails();\r\n this.corporateDetails.contractName = this.corporate.contracts[iContract].name;\r\n this.corporateDetails.contractNumber = this.corporate.contracts[iContract].number;\r\n this.corporateDetails.courseName = this.corporate.contracts[iContract].courses[iCourse].name;\r\n this.corporateDetails.traineeName = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeEmail = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeQuizResultBefore = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeQuizResultAfter = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeComplete = this.translate.instant('DEFAULT.null');\r\n this.corporateDetailsToExcel.push(this.corporateDetails);\r\n }\r\n }\r\n }\r\n else {\r\n this.corporateDetails = new corporateDetails();\r\n this.corporateDetails.contractName = this.corporate.contracts[iContract].name;\r\n this.corporateDetails.contractNumber = this.corporate.contracts[iContract].number;\r\n this.corporateDetails.courseName = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeName = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeEmail = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeQuizResultBefore = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeQuizResultAfter = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeComplete = this.translate.instant('DEFAULT.null');\r\n this.corporateDetailsToExcel.push(this.corporateDetails);\r\n }\r\n }\r\n }\r\n else {\r\n this.corporateDetails = new corporateDetails();\r\n this.corporateDetails.contractName = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.contractNumber = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.courseName = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeName = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeEmail = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeQuizResultBefore = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeQuizResultAfter = this.translate.instant('DEFAULT.null');\r\n this.corporateDetails.traineeComplete = this.translate.instant('DEFAULT.null');\r\n this.corporateDetailsToExcel.push(this.corporateDetails);\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n \r\n\r\n //applyFilter(event: Event, data) {\r\n // debugger;\r\n // var dataSource = new MatTableDataSource(data);\r\n\r\n // const filterValue = (event.target as HTMLInputElement).value;\r\n // if (filterValue.length > 0) {\r\n // this.hasFilter = true;\r\n // } else {\r\n // this.hasFilter = false;\r\n // }\r\n // dataSource.filter = filterValue.trim().toLowerCase();\r\n // this.filteredList = dataSource.filteredData as unknown as any[];\r\n //}\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n Courses management\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
#Course NameVideos NumAction
{{item.id}}{{item.name}}{{item.videosCount}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0FkbWluU2l0ZS9jcmVhdGUtY291cnNlL2NvdXJzZXMtbGlzdC9jb3Vyc2VzLWxpc3QuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {CourseService} from '../../../../shared/services/course.service';\r\n\r\n@Component({\r\n selector: 'app-courses-list',\r\n templateUrl: './courses-list.component.html',\r\n styleUrls: ['./courses-list.component.scss']\r\n})\r\nexport class CoursesListComponent implements OnInit {\r\n\r\n courses_list: any[] = [];\r\n\r\n constructor(private courseService: CourseService,\r\n private router: Router, ) { }\r\n\r\n ngOnInit() {\r\n this.courseService.getCoursesList().subscribe((res:any)=>{\r\n this.courses_list = res.data;\r\n console.log(\"The Coures list :----\", this.courses_list)\r\n })\r\n\r\n\r\n }\r\n\r\n NavigateToEditCourse(item){\r\n this.router.navigate(['/AdminSite/EditCourse'], { queryParams: { Course: item } });\r\n\r\n \r\n\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{'CreateCourse.CreateCourse'|translate}}\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.ChooseCategory'|translate}}\\r\\n \\r\\n {{item.name}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.Price'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.CourseNameEnglish'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.CourseDetialsEnglish'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.CourseNameArabic'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.CourseDetailsArabic'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'CreateCourse.UploadCourse'|translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n 0\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n {{message}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.VideoName'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.VideoArName'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n 0\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n {{message}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
#{{'CreateCourse.NameEn'|translate}}{{'CreateCourse.NameAr'|translate}}{{'CreateCourse.Thumbnail'|translate}}{{'CreateCourse.Path'|translate}}
{{i+1}}{{v.name}}{{v.arName}}{{v.vedioPath}}{{v.thubnails}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.TheQuestion'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.Answer01'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.Answer02'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.Answer03'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.Answer04'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Select the Correct Answer\\r\\n \\r\\n {{Answer.Key}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
#{{'CreateCourse.TheQuestion'|translate}}{{'CreateCourse.Answer01'|translate}}{{'CreateCourse.Answer02'|translate}}{{'CreateCourse.Answer03'|translate}}{{'CreateCourse.Answer04'|translate}}{{'CreateCourse.RightAnswer'|translate}}
{{i+1}}{{q.questionTitle}}{{q.answerOne}}{{q.answerTwo}}{{q.answerThree}}{{q.answerFour}}{{q.rightAnswer}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"app-create-course section.d-flex {\\n height: 100vh;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQWRtaW5TaXRlL2NyZWF0ZS1jb3Vyc2UvQzpcXFVzZXJzXFxFdnJhbVxcc291cmNlXFxyZXBvc1xcTklBLUFwcFxcV2ViQXBwXFxDbGllbnRBcHAvc3JjXFxhcHBcXHBhZ2VzXFxBZG1pblNpdGVcXGNyZWF0ZS1jb3Vyc2VcXGNyZWF0ZS1jb3Vyc2UuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3BhZ2VzL0FkbWluU2l0ZS9jcmVhdGUtY291cnNlL2NyZWF0ZS1jb3Vyc2UuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0U7RUFDRSxhQUFBO0FDQUoiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9BZG1pblNpdGUvY3JlYXRlLWNvdXJzZS9jcmVhdGUtY291cnNlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYXBwLWNyZWF0ZS1jb3Vyc2Uge1xyXG4gIHNlY3Rpb24uZC1mbGV4IHtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgfVxyXG59XHJcbiIsImFwcC1jcmVhdGUtY291cnNlIHNlY3Rpb24uZC1mbGV4IHtcbiAgaGVpZ2h0OiAxMDB2aDtcbn0iXX0= */\"","import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatStepper } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { Course, CourseVides } from '../../../shared/core/system-api';\r\nimport { CategoryService } from '../../../shared/services/category.service';\r\nimport { CourseService } from '../../../shared/services/course.service';\r\nimport { VideosService } from '../../../shared/core/system-api';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { HttpClient, HttpEventType } from '@angular/common/http';\r\nimport { SelectList, SelectOptions } from '../../../shared/models/SelectList.model';\r\nimport { CourseQuestionsService } from '../../../shared/services/courseQuestions.service';\r\nimport { DISABLED } from '@angular/forms/src/model';\r\n\r\n@Component({\r\n selector: 'app-create-course',\r\n templateUrl: './create-course.component.html',\r\n styleUrls: ['./create-course.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CreateCourseComponent implements OnInit {\r\n cats: any[] = [];\r\n vedios: any[] = [];\r\n questions: any[] = [];\r\n vedioAdd = false;\r\n questionAdded = false;\r\n catName = '';\r\n courses: FormGroup;\r\n courseVedios: FormGroup;\r\n courseQuestions: FormGroup;\r\n selectedAnswer: number = 0;\r\n public loading = false;\r\n public submitted = false;\r\n public vedioSubmitted = false;\r\n public questionSubmitted = false;\r\n\r\n\r\n courseId: number = 0;\r\n rowIndex = 0;\r\n\r\n folderPath = 'CourseImages/';\r\n imageName = '';\r\n vedioimageName = '';\r\n public progress: number;\r\n public message: string;\r\n @Output() public onUploadFinished = new EventEmitter();\r\n\r\n AnswersList: SelectOptions[] = [];\r\n\r\n constructor(private router: Router, \r\n private categoryService: CategoryService,\r\n private formBuilder: FormBuilder, \r\n private questionServices: CourseQuestionsService,\r\n private courseService: CourseService, \r\n private vedioService: VideosService, \r\n private toastr: ToastrService, \r\n private http: HttpClient) { }\r\n\r\n ngOnInit() {\r\n this.courses = this.formBuilder.group({\r\n category: ['', Validators.required],\r\n price: ['', Validators.required],\r\n name: ['', Validators.required],\r\n details: ['', Validators.required],\r\n arname: ['', Validators.required],\r\n ardetials: ['', Validators.required],\r\n });\r\n\r\n this.courseVedios = this.formBuilder.group({\r\n vedioName: ['', Validators.required],\r\n vedioArName: ['', Validators.required],\r\n vedioPath: ['', Validators.required],\r\n\r\n });\r\n\r\n this.courseQuestions = this.formBuilder.group({\r\n question: ['', Validators.required],\r\n answer1: ['', Validators.required],\r\n answer2: ['' , Validators.required],\r\n answer3: ['', Validators.required],\r\n answer4: ['', Validators.required],\r\n rightAnswer: ['', Validators.required],\r\n\r\n });\r\n \r\n this.categoryService.getCategorysList(0).subscribe(result => {\r\n if (result.success) {\r\n this.cats = result.data;\r\n }\r\n });\r\n\r\n this.setAnsewrsInputDisabled();\r\n }\r\n\r\n setCatName(catName) {\r\n this.catName = catName;\r\n }\r\n \r\n\r\n public get f() { return this.courses.controls; }\r\n public get v() { return this.courseVedios.controls; }\r\n public get q() { return this.courseQuestions.controls; }\r\n\r\n //#region Region Question Sections\r\n\r\n onSubmit(stepper: MatStepper) {\r\n this.submitted = true;\r\n this.loading = true;\r\n\r\n // stop here if form is invalid\r\n if (this.courses.invalid) {\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n var course = new Course();\r\n course.categoryId = this.f.category.value;\r\n course.name = this.f.name.value;\r\n course.nameAr = this.f.arname.value;\r\n course.description = this.f.details.value;\r\n course.descriptionaR = this.f.ardetials.value;\r\n course.price = this.f.price.value;\r\n course.imagePath = this.folderPath+ this.imageName;\r\n \r\n this.courseService.create(course).subscribe(\r\n data => {\r\n if (data != null) {\r\n this.courseId = data.id;\r\n this.toastr.success(\"the course is created\");\r\n stepper.next();\r\n } else\r\n this.toastr.error(\"The course name is already exist\");\r\n },\r\n error => {\r\n this.toastr.error(\"There is something went wrong, Please check with the IT Department.\");\r\n this.loading = false;\r\n });\r\n\r\n // stepper.next();\r\n this.loading = false;\r\n }\r\n\r\n //#endregion\r\n \r\n addVedio() {\r\n \r\n if (this.courseId == 0) {\r\n this.toastr.warning(\"Add Course first\");\r\n return;\r\n }\r\n\r\n this.vedioSubmitted = true;\r\n this.loading = true;\r\n\r\n // stop here if form is invalid\r\n if (this.courseVedios.invalid) {\r\n this.loading = false;\r\n return;\r\n }\r\n var imageBeforeAdd = this.vedioimageName;\r\n this.vedios.push({\r\n vedioId: 0, courseId: this.courseId, name: this.v.vedioName.value, arName: this.v.vedioArName.value,\r\n vedioPath: this.v.vedioPath.value, thubnails: 'VedioThubnils/' + this.vedioimageName\r\n });\r\n this.vedioAdd = true;\r\n this.vedioSubmitted = false;\r\n this.courseVedios.reset();\r\n this.vedioimageName = imageBeforeAdd;\r\n }\r\n\r\n submitCourseVedios(stepper: MatStepper) {\r\n if (this.vedios.length == 0)\r\n {\r\n this.toastr.warning(\"Add vedios first\");\r\n return;\r\n }\r\n this.vedioService.createBulk(this.vedios).subscribe(\r\n data => {\r\n if (data!= null) {\r\n this.vedioAdd = false;\r\n this.vedios = [];\r\n this.toastr.success(\"the vedios is added\");\r\n\r\n //stepper.reset();\r\n stepper.next();\r\n }\r\n \r\n });\r\n }\r\n\r\n cancleVedio(stepper: MatStepper)\r\n {\r\n stepper.reset();\r\n stepper.previous();\r\n }\r\n\r\n public uploadFile(files: FileList, folderName: string) {\r\n this.imageName = '';\r\n if (files.length === 0) {\r\n return;\r\n }\r\n\r\n let fileToUpload = files[0];\r\n const formData = new FormData();\r\n formData.append('file', fileToUpload);\r\n\r\n this.courseService.upload(formData,folderName)\r\n .subscribe(\r\n event => {\r\n if (folderName =='CourseImages') \r\n this.imageName = fileToUpload.name;\r\n else\r\n this.vedioimageName = fileToUpload.name;\r\n \r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n else if (event.type === HttpEventType.Response) {\r\n this.message = 'Upload success.';\r\n this.onUploadFinished.emit(event.body);\r\n };\r\n });\r\n }\r\n \r\n //#region Region Question Sections\r\n\r\n setAnsewrsInputDisabled() {\r\n this.q.answer2.disable();\r\n this.q.answer3.disable();\r\n this.q.answer4.disable();\r\n }\r\n\r\n fillAnswerList(value, index) {\r\n if (value != null && index < 4 ) {\r\n \r\n switch (index +1) {\r\n case 1:\r\n this.q.answer2.enable();\r\n break;\r\n case 2:\r\n this.q.answer3.enable();\r\n break;\r\n case 3:\r\n this.q.answer4.enable();\r\n break;\r\n }\r\n \r\n }\r\n var answer = value.target.value;\r\n\r\n var answerObject = new SelectOptions();\r\n answerObject.Key = answer;\r\n answerObject.Value = index + 1;\r\n\r\n if (this.AnswersList[index] != null) {\r\n\r\n this.AnswersList.splice(index, 1, answerObject);\r\n }\r\n else {\r\n\r\n this.AnswersList.splice(index, 0, answerObject);\r\n }\r\n\r\n }\r\n\r\n setSelectedAnswer(value) {\r\n this.selectedAnswer = value;\r\n }\r\n\r\n addQuestion() {\r\n if (this.courseId == 0) {\r\n this.toastr.warning(\"Add Course first\");\r\n return;\r\n }\r\n // debugger;\r\n if (this.AnswersList.length != 4) {\r\n this.toastr.info(\"please add the four answers\");\r\n return;\r\n }\r\n if (this.selectedAnswer == 0) {\r\n this.toastr.info(\"please select the rigt answer\");\r\n return;\r\n }\r\n\r\n this.questionSubmitted = true;\r\n this.loading = true;\r\n\r\n if (this.courseQuestions.invalid) {\r\n this.loading = false;\r\n this.toastr.info(\"All fields are mandatory\");\r\n return;\r\n }\r\n //this.courseId = 1;\r\n this.questions.push({\r\n questionId: 0, courseId: this.courseId, questionTitle: this.q.question.value, answerOne: this.q.answer1.value,\r\n answerTwo: this.q.answer2.value, answerThree: this.q.answer3.value, answerFour: this.q.answer4.value, rightAnswer: (this.q.rightAnswer.value*1)\r\n });\r\n this.questionAdded = true;\r\n this.AnswersList = [];\r\n this.setAnsewrsInputDisabled();\r\n this.courseQuestions.reset();\r\n }\r\n\r\n deleteQuestion(index)\r\n {\r\n this.questions.splice(index, 1);\r\n }\r\n\r\n submitCourseQuestions(stepper: MatStepper) {\r\n //debugger;\r\n this.questionServices.createBulk(this.questions).subscribe(\r\n data => {\r\n this.questionAdded = false;\r\n this.questions = [];\r\n this.AnswersList = [];\r\n if (data != null) {\r\n this.toastr.success(\"the questions is added\");\r\n } else\r\n this.toastr.info(\"this course already have questions\");\r\n \r\n \r\n stepper.reset();\r\n stepper.previous();\r\n },\r\n err => {\r\n });\r\n }\r\n\r\n //#endregion Region \r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n Dashboard\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\"","module.exports = \"app-create-course section.d-flex {\\n height: 100vh;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQWRtaW5TaXRlL2Rhc2hib2FyZC9DOlxcVXNlcnNcXEV2cmFtXFxzb3VyY2VcXHJlcG9zXFxOSUEtQXBwXFxXZWJBcHBcXENsaWVudEFwcC9zcmNcXGFwcFxccGFnZXNcXEFkbWluU2l0ZVxcZGFzaGJvYXJkXFxkYXNoYm9hcmQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3BhZ2VzL0FkbWluU2l0ZS9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNFO0VBQ0UsYUFBQTtBQ0FKIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvQWRtaW5TaXRlL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJhcHAtY3JlYXRlLWNvdXJzZSB7XHJcbiAgc2VjdGlvbi5kLWZsZXgge1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICB9XHJcbn1cclxuIiwiYXBwLWNyZWF0ZS1jb3Vyc2Ugc2VjdGlvbi5kLWZsZXgge1xuICBoZWlnaHQ6IDEwMHZoO1xufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Edit Course\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.ChooseCategory'|translate}}\\r\\n \\r\\n {{item.name}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.Price'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.CourseNameEnglish'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.CourseDetialsEnglish'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.CourseNameArabic'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.CourseDetailsArabic'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'CreateCourse.UploadCourse'|translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n 0\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n {{message}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.VideoName'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.VideoArName'|translate}}\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{ 'Validation.Required' | translate }}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n 0\\\">\\r\\n {{progress}}%\\r\\n \\r\\n \\r\\n {{message}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
#{{'CreateCourse.NameEn'|translate}}{{'CreateCourse.NameAr'|translate}}{{'CreateCourse.Thumbnail'|translate}}{{'CreateCourse.Path'|translate}}
{{i+1}}{{v.name}}{{v.arName}}{{v.vedioPath}}{{v.thubnails}}\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.TheQuestion'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.Answer01'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.Answer02'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.Answer03'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'CreateCourse.Answer04'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Select the Correct Answer\\r\\n \\r\\n {{Answer.Key}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
#{{'CreateCourse.TheQuestion'|translate}}{{'CreateCourse.Answer01'|translate}}{{'CreateCourse.Answer02'|translate}}{{'CreateCourse.Answer03'|translate}}{{'CreateCourse.Answer04'|translate}}{{'CreateCourse.RightAnswer'|translate}}
{{i+1}}{{q.questionTitle}}{{q.answerOne}}{{q.answerTwo}}{{q.answerThree}}{{q.answerFour}}{{q.rightAnswer}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \"app-create-course section.d-flex {\\n height: 100vh;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQWRtaW5TaXRlL2VkaXQtY291cnNlL0M6XFxVc2Vyc1xcRXZyYW1cXHNvdXJjZVxccmVwb3NcXE5JQS1BcHBcXFdlYkFwcFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxwYWdlc1xcQWRtaW5TaXRlXFxlZGl0LWNvdXJzZVxcZWRpdC1jb3Vyc2UuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3BhZ2VzL0FkbWluU2l0ZS9lZGl0LWNvdXJzZS9lZGl0LWNvdXJzZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDSTtFQUNFLGFBQUE7QUNBTiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0FkbWluU2l0ZS9lZGl0LWNvdXJzZS9lZGl0LWNvdXJzZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImFwcC1jcmVhdGUtY291cnNlIHtcclxuICAgIHNlY3Rpb24uZC1mbGV4IHtcclxuICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIH1cclxuICB9IiwiYXBwLWNyZWF0ZS1jb3Vyc2Ugc2VjdGlvbi5kLWZsZXgge1xuICBoZWlnaHQ6IDEwMHZoO1xufSJdfQ== */\"","import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatStepper } from '@angular/material';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Course, CourseVides } from '../../../shared/core/system-api';\r\nimport { CategoryService } from '../../../shared/services/category.service';\r\nimport { CourseService } from '../../../shared/services/course.service';\r\nimport { VideosService } from '../../../shared/core/system-api';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { HttpClient, HttpEventType } from '@angular/common/http';\r\nimport { SelectList, SelectOptions } from '../../../shared/models/SelectList.model';\r\nimport { CourseQuestionsService } from '../../../shared/services/courseQuestions.service';\r\nimport { DISABLED } from '@angular/forms/src/model';\r\nimport { element } from 'protractor';\r\n\r\n@Component({\r\n selector: 'app-edit-course',\r\n templateUrl: './edit-course.component.html',\r\n styleUrls: ['./edit-course.component.scss']\r\n})\r\nexport class EditCourseComponent implements OnInit {\r\n\r\n cats: any[] = [];\r\n vedios: any[] = [];\r\n questions: any[] = [];\r\n vedioAdd = false;\r\n questionAdded = false;\r\n catName = '';\r\n courses: FormGroup;\r\n courseVedios: FormGroup;\r\n courseQuestions: FormGroup;\r\n selectedAnswer: number = 0;\r\n public loading = false;\r\n public submitted = false;\r\n public vedioSubmitted = false;\r\n public questionSubmitted = false;\r\n\r\n\r\n courseId: number = 0;\r\n rowIndex = 0;\r\n\r\n folderPath = 'CourseImages/';\r\n imageName = '';\r\n vedioimageName = '';\r\n public progress: number;\r\n public message: string;\r\n @Output() public onUploadFinished = new EventEmitter();\r\n\r\n AnswersList: SelectOptions[] = [];\r\n\r\n Course_ID ;\r\n Course_Data;\r\n\r\n selectedCorporate;\r\n\r\n Video_array ;\r\n constructor(private router: Router, \r\n private categoryService: CategoryService,\r\n private formBuilder: FormBuilder, \r\n private questionServices: CourseQuestionsService,\r\n private courseService: CourseService, \r\n private vedioService: VideosService, \r\n private toastr: ToastrService, \r\n private http: HttpClient,\r\n private activatedRoute: ActivatedRoute,\r\n ) { }\r\n\r\n ngOnInit() {\r\n \r\n console.log(\"query parameter from header\",JSON.parse( this.activatedRoute.snapshot.queryParams['Course'] ) )\r\n \r\n this.Course_ID = JSON.parse( this.activatedRoute.snapshot.queryParams['Course'] );\r\n console.log (\"The Course ID is :------\" , this.Course_ID)\r\n\r\n this.courseId = this.Course_ID;\r\n\r\n this.courseService.get(this.Course_ID).subscribe((res:any)=>{\r\n this.Course_Data = res;\r\n console.log (\"The Course Data :----\", this.Course_Data)\r\n this.courses.patchValue({ name: this.Course_Data.name });\r\n this.courses.patchValue({ arname: this.Course_Data.nameAr });\r\n this.courses.patchValue({ price: this.Course_Data.price });\r\n this.courses.patchValue({ details: this.Course_Data.description });\r\n this.courses.patchValue({ ardetials: this.Course_Data.descriptionaR });\r\n this.courses.patchValue({ category: this.Course_Data.categoryId });\r\n\r\n // this.courseVedios.patchValue({ vedioName: this.Course_Data.courseVides[0].name});\r\n // this.courseVedios.patchValue({ vedioArName: this.Course_Data.courseVides[0].arName });\r\n // this.courseVedios.patchValue({ vedioPath: this.Course_Data.courseVides[0].vedioPath});\r\n \r\n\r\n\r\n this.courseQuestions.patchValue({ question: this.Course_Data.courseQuestions[0].questionTitle });\r\n this.courseQuestions.patchValue({ answer1: this.Course_Data.courseQuestions[0].answerOne});\r\n this.courseQuestions.patchValue({ answer2: this.Course_Data.courseQuestions[0].answerTwo});\r\n this.courseQuestions.patchValue({ answer3: this.Course_Data.courseQuestions[0].answerThree});\r\n this.courseQuestions.patchValue({ answer4: this.Course_Data.courseQuestions[0].answerFour });\r\n this.courseQuestions.patchValue({ rightAnswer: this.Course_Data.courseQuestions[0].rightAnswer });\r\n\r\n\r\n this.vedios = this.Course_Data.courseVides\r\n this.Video_array = this.Course_Data.courseVides\r\n this.questions = this.Course_Data.courseQuestions\r\n\r\n\r\n })\r\n \r\n this.courses = this.formBuilder.group({\r\n category: ['', Validators.required],\r\n price: ['', Validators.required],\r\n name: ['', Validators.required],\r\n details: ['', Validators.required],\r\n arname: ['', Validators.required],\r\n ardetials: ['', Validators.required],\r\n });\r\n\r\n this.courseVedios = this.formBuilder.group({\r\n vedioName: ['', Validators.required],\r\n vedioArName: ['', Validators.required],\r\n vedioPath: ['', Validators.required],\r\n\r\n });\r\n\r\n this.courseQuestions = this.formBuilder.group({\r\n question: ['', Validators.required],\r\n answer1: ['', Validators.required],\r\n answer2: ['' , Validators.required],\r\n answer3: ['', Validators.required],\r\n answer4: ['', Validators.required],\r\n rightAnswer: ['', Validators.required],\r\n\r\n });\r\n \r\n this.categoryService.getCategorysList(0).subscribe(result => {\r\n if (result.success) {\r\n this.cats = result.data;\r\n }\r\n });\r\n\r\n this.setAnsewrsInputDisabled();\r\n\r\n // this.edit(this.vedios[0].id);\r\n }\r\n\r\n setCatName(catName) {\r\n this.catName = catName;\r\n }\r\n \r\n\r\n public get f() { return this.courses.controls; }\r\n public get v() { return this.courseVedios.controls; }\r\n public get q() { return this.courseQuestions.controls; }\r\n\r\n //#region Region Question Sections\r\n\r\n onSubmit(stepper: MatStepper) {\r\n this.submitted = true;\r\n this.loading = true;\r\n\r\n // stop here if form is invalid\r\n if (this.courses.invalid) {\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n var course = new Course();\r\n course.categoryId = this.f.category.value;\r\n course.name = this.f.name.value;\r\n course.nameAr = this.f.arname.value;\r\n course.description = this.f.details.value;\r\n course.descriptionaR = this.f.ardetials.value;\r\n course.price = this.f.price.value;\r\n course.imagePath = this.folderPath+ this.imageName;\r\n course.id = this.Course_ID;\r\n \r\n this.courseService.update(course).subscribe(\r\n data => {\r\n console.log(\"Update Course Api Res :-\", data)\r\n\r\n if (data != null) {\r\n // this.courseId = data.id;\r\n this.Course_ID = data.id;\r\n this.toastr.success(\"the course is updated sucessfully\");\r\n stepper.next();\r\n } \r\n else\r\n this.toastr.error(\"The course name is already exist\");\r\n }\r\n ,\r\n error => {\r\n alert(\"There is something went wrong, Please check with the IT Department.\");\r\n this.loading = false;\r\n });\r\n\r\n // stepper.next();\r\n this.loading = false;\r\n }\r\n\r\n //#endregion\r\n \r\n addVedio() {\r\n \r\n if (this.courseId == 0) {\r\n this.toastr.warning(\"Add Course first\");\r\n return;\r\n }\r\n\r\n this.vedioSubmitted = true;\r\n this.loading = true;\r\n\r\n // stop here if form is invalid\r\n if (this.courseVedios.invalid) {\r\n this.loading = false;\r\n return;\r\n }\r\n var imageBeforeAdd = this.vedioimageName;\r\n this.vedios.push({\r\n vedioId: 0, courseId: this.courseId, name: this.v.vedioName.value, arName: this.v.vedioArName.value,\r\n vedioPath: this.v.vedioPath.value, thubnails: 'VedioThubnils/' + this.vedioimageName\r\n });\r\n this.vedioAdd = true;\r\n this.vedioSubmitted = false;\r\n this.courseVedios.reset();\r\n this.vedioimageName = imageBeforeAdd;\r\n }\r\n\r\n submitCourseVedios(stepper: MatStepper) {\r\n if (this.vedios.length == 0)\r\n {\r\n this.toastr.warning(\"Add vedios first\");\r\n return;\r\n }\r\n this.vedioService.createBulk(this.vedios).subscribe(\r\n data => {\r\n if (data!= null) {\r\n this.vedioAdd = false;\r\n this.vedios = [];\r\n this.toastr.success(\"the vedios is added\");\r\n\r\n //stepper.reset();\r\n stepper.next();\r\n }\r\n \r\n });\r\n }\r\n\r\n cancleVedio(stepper: MatStepper)\r\n {\r\n stepper.reset();\r\n stepper.previous();\r\n }\r\n\r\n public uploadFile(files: FileList, folderName: string) {\r\n this.imageName = '';\r\n if (files.length === 0) {\r\n return;\r\n }\r\n\r\n let fileToUpload = files[0];\r\n const formData = new FormData();\r\n formData.append('file', fileToUpload);\r\n\r\n this.courseService.upload(formData,folderName)\r\n .subscribe(\r\n event => {\r\n if (folderName =='CourseImages') \r\n this.imageName = fileToUpload.name;\r\n else\r\n this.vedioimageName = fileToUpload.name;\r\n \r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n else if (event.type === HttpEventType.Response) {\r\n this.message = 'Upload success.';\r\n this.onUploadFinished.emit(event.body);\r\n };\r\n });\r\n }\r\n \r\n //#region Region Question Sections\r\n\r\n setAnsewrsInputDisabled() {\r\n this.q.answer2.disable();\r\n this.q.answer3.disable();\r\n this.q.answer4.disable();\r\n }\r\n\r\n fillAnswerList(value, index) {\r\n if (value != null && index < 4 ) {\r\n \r\n switch (index +1) {\r\n case 1:\r\n this.q.answer2.enable();\r\n break;\r\n case 2:\r\n this.q.answer3.enable();\r\n break;\r\n case 3:\r\n this.q.answer4.enable();\r\n break;\r\n }\r\n \r\n }\r\n var answer = value.target.value;\r\n\r\n var answerObject = new SelectOptions();\r\n answerObject.Key = answer;\r\n answerObject.Value = index + 1;\r\n\r\n if (this.AnswersList[index] != null) {\r\n\r\n this.AnswersList.splice(index, 1, answerObject);\r\n }\r\n else {\r\n\r\n this.AnswersList.splice(index, 0, answerObject);\r\n }\r\n\r\n }\r\n\r\n setSelectedAnswer(value) {\r\n this.selectedAnswer = value;\r\n }\r\n\r\n addQuestion() {\r\n if (this.courseId == 0) {\r\n this.toastr.warning(\"Add Course first\");\r\n return;\r\n }\r\n // debugger;\r\n if (this.AnswersList.length != 4) {\r\n this.toastr.info(\"please add the four answers\");\r\n return;\r\n }\r\n if (this.selectedAnswer == 0) {\r\n this.toastr.info(\"please select the rigt answer\");\r\n return;\r\n }\r\n\r\n this.questionSubmitted = true;\r\n this.loading = true;\r\n\r\n if (this.courseQuestions.invalid) {\r\n this.loading = false;\r\n this.toastr.info(\"All fields are mandatory\");\r\n return;\r\n }\r\n //this.courseId = 1;\r\n this.questions.push({\r\n questionId: 0, courseId: this.courseId, questionTitle: this.q.question.value, answerOne: this.q.answer1.value,\r\n answerTwo: this.q.answer2.value, answerThree: this.q.answer3.value, answerFour: this.q.answer4.value, rightAnswer: (this.q.rightAnswer.value*1)\r\n });\r\n this.questionAdded = true;\r\n this.AnswersList = [];\r\n this.setAnsewrsInputDisabled();\r\n this.courseQuestions.reset();\r\n }\r\n\r\n deleteQuestion(index)\r\n {\r\n this.questions.splice(index, 1);\r\n }\r\n\r\n submitCourseQuestions(stepper: MatStepper) {\r\n //debugger;\r\n this.questionServices.createBulk(this.questions).subscribe(\r\n data => {\r\n this.questionAdded = false;\r\n this.questions = [];\r\n this.AnswersList = [];\r\n if (data != null) {\r\n this.toastr.success(\"the questions is added\");\r\n } else\r\n this.toastr.info(\"this course already have questions\");\r\n \r\n \r\n stepper.reset();\r\n stepper.previous();\r\n },\r\n err => {\r\n });\r\n }\r\n\r\n //#endregion Region \r\n\r\n edit(video) {\r\n // this.courseVedios.patchValue({ vedioName: video.name});\r\n // this.courseVedios.patchValue({ vedioArName: video.arName });\r\n // this.courseVedios.patchValue({ vedioPath: video.vedioPath});\r\n // console.log (\"The Edit Api :-----\",this.courseVedios.value )\r\n this.courseVedios.controls['vedioName'].setValue(video.name)\r\n this.courseVedios.controls['vedioArName'].setValue(video.arName)\r\n this.courseVedios.controls['vedioPath'].setValue(video.vedioPath)\r\n\r\n console.log (\"The Edit course video :-----\",this.courseVedios.value )\r\n\r\n\r\n }\r\n\r\n editquestion( Question){\r\n \r\n this.courseQuestions.controls['question'].setValue(Question.questionTitle)\r\n this.courseQuestions.controls['answer1'].setValue(Question.answerOne)\r\n this.courseQuestions.controls['answer2'].setValue(Question.answerTwo)\r\n this.courseQuestions.controls['answer3'].setValue(Question.answerThree)\r\n this.courseQuestions.controls['answer4'].setValue(Question.answerFour)\r\n this.courseQuestions.controls['rightAnswer'].setValue(Question.rightAnswer)\r\n\r\n console.log (\"The Edit Question :-----\",this.courseQuestions.value )\r\n\r\n }\r\n\r\n \r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n Users Management\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
#First NameLast NameEmail AddressPassword [in text]Action
1demo1demo1@niconsultingacademy.comNic123456\\r\\n\\r\\n \\r\\n
2demo2demo2@niconsultingacademy.comNic123456\\r\\n\\r\\n \\r\\n
3demo3demo3@niconsultingacademy.comNic123456\\r\\n\\r\\n \\r\\n
4demo4demo4@niconsultingacademy.comNic123456\\r\\n\\r\\n \\r\\n
5demo5demo5@niconsultingacademy.comNic123456\\r\\n\\r\\n \\r\\n
6demo6demo6@niconsultingacademy.comNic123456\\r\\n\\r\\n \\r\\n
7demo7demo7@niconsultingacademy.comNic123456\\r\\n\\r\\n \\r\\n
8demo8demo8@niconsultingacademy.comNic123456\\r\\n\\r\\n \\r\\n
9demo9demo9@niconsultingacademy.comNic123456\\r\\n\\r\\n \\r\\n
10demo10demo10@niconsultingacademy.comNic123456\\r\\n\\r\\n \\r\\n
11MichaelGeorgemichaelgoerge@gmail.comMm16112013\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0FkbWluU2l0ZS91c2Vycy91c2Vycy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-users',\r\n templateUrl: './users.component.html',\r\n styleUrls: ['./users.component.scss']\r\n})\r\nexport class UsersComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n Search\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
{{'Corporate.TraineeName'|translate}} \\r\\n\\r\\n

{{element.name}}

\\r\\n

\\r\\n {{element.email}}\\r\\n

\\r\\n
{{'Corporate.GroupName'|translate}} {{element.group}} {{'Corporate.QuizResults'|translate}} \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n

0 \\\">{{element.quizResultBefore * 10}} %

\\r\\n

Did not take exam

\\r\\n

0 %

\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

0 \\\">{{element.quizResultAfter * 10}} %

\\r\\n

Did not take exam

\\r\\n

0 %

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
{{'Corporate.Complete'|translate}} % \\r\\n {{element.complete}}%\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0NvbXBvbmVudHMvYWRtaW4tY29wcmF0ZS1ncmlkL2FkbWluLWNvcHJhdGUtZ3JpZC5jb21wb25lbnQuc2NzcyJ9 */\"","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource } from '@angular/material';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport Swal from 'sweetalert2';\r\nimport { CorporateService, UserExamService } from '../../../shared/core/system-api';\r\nimport { ExcelService } from '../../../shared/services/excel.service';\r\n\r\n@Component({\r\n selector: 'app-admin-coprate-grid',\r\n templateUrl: './admin-coprate-grid.component.html',\r\n styleUrls: ['./admin-coprate-grid.component.scss']\r\n})\r\nexport class AdminCoprateGridComponent implements OnInit {\r\n displayedColumns: string[] = ['name', 'groupName', 'quizResults', 'complete', 'quizResultAfter'];\r\n private unsubscribe: Subscription[] = [];\r\n corporate: any;\r\n dataSource:any;\r\n constructor(public translate: TranslateService, private route: ActivatedRoute,\r\n private corporateService: CorporateService, public excelService: ExcelService, private userExamService: UserExamService) {\r\n }\r\n\r\n @Input() traineeList: any[];\r\n @Input('corprateId') corprateId: any;\r\n\r\n @ViewChild(MatSort) sort: MatSort;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n\r\n ngOnInit() {\r\n this.dataSource = new MatTableDataSource(this.traineeList);\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n\r\n\r\n clearFinalRecord(userCourseId) {\r\n Swal.fire({\r\n title: this.translate.instant('DEFAULT.confirmationTitle'),\r\n text: this.translate.instant('Corporate.ResetResults'),\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('DEFAULT.yes'),\r\n cancelButtonText: this.translate.instant('DEFAULT.no')\r\n }).then((result) => {\r\n if (result.value) {\r\n const changeUserStatus = this.userExamService.resetFinalResult(userCourseId, false).subscribe(data => {\r\n this.draw(this.corprateId);\r\n },\r\n err => {\r\n console.log(err);\r\n })\r\n this.unsubscribe.push(changeUserStatus);\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n draw(corporateID) {\r\n // console.log (\"the data :---\", this.dataSource)\r\n\r\n const getCorporateDetails = this.corporateService.getCorporateDetails(corporateID).subscribe(\r\n\r\n data => {\r\n if (data.success) {\r\n this.corporate = data.data;\r\n \r\n }\r\n });\r\n this.unsubscribe.push(getCorporateDetails);\r\n }\r\n\r\n applyFilter(event: Event ) {\r\n // debugger;\r\n \r\n\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n // this.filteredList = dataSource.filteredData as unknown as any[];\r\n }\r\n\r\n}\r\n\r\n\r\n","module.exports = \"\\r\\n\"","module.exports = \"button:focus {\\n outline: 0px !important;\\n}\\n\\n.ActiveButton {\\n background-color: #791215 !important;\\n color: white;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9hZG1pbi1oZWFkZXIvQzpcXFVzZXJzXFxFdnJhbVxcc291cmNlXFxyZXBvc1xcTklBLUFwcFxcV2ViQXBwXFxDbGllbnRBcHAvc3JjXFxhcHBcXHBhZ2VzXFxDb21wb25lbnRzXFxhZG1pbi1oZWFkZXJcXGFkbWluLWhlYWRlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9hZG1pbi1oZWFkZXIvYWRtaW4taGVhZGVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNFO0VBQ0UsdUJBQUE7QUNBSjs7QURHRTtFQUNFLG9DQUFBO0VBQ0EsWUFBQTtBQ0FKIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9hZG1pbi1oZWFkZXIvYWRtaW4taGVhZGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbiAgYnV0dG9uOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IDBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLkFjdGl2ZUJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzkxMjE1ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgfVxyXG4iLCJidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAwcHggIWltcG9ydGFudDtcbn1cblxuLkFjdGl2ZUJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3OTEyMTUgIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlO1xufSJdfQ== */\"","import { Component, Input, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NotificationService } from '../../../shared/services/notification.service';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\nimport { SocialAuthService } from '../../../shared/socialmedia/public-api';\r\nimport { UserDto } from '../../../shared/core/system-api';\r\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MatDialog } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-admin-header',\r\n templateUrl: './admin-header.component.html',\r\n styleUrls: ['./admin-header.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n})\r\nexport class AdminHeaderComponent implements OnInit {\r\n\r\n currentUser: UserDto;\r\n\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n currentlang: string;\r\n SearchText: string = \"\";\r\n UserName: string = \"\";\r\n\r\n public currentUser$: Observable;\r\n private currentUserSubject: BehaviorSubject;\r\n\r\n constructor(private router: Router,\r\n private notificationService: NotificationService,\r\n public authenticationService: AuthenticationService,\r\n private languageService: LanguageService,\r\n public translate: TranslateService,\r\n private renderer: Renderer2,\r\n public dialog: MatDialog,\r\n //private SWAL: SWALMSGSService,\r\n //private ability: AbilityService,\r\n //private _ngZone: NgZone,\r\n //private toastr: ToastrService,\r\n private authService: SocialAuthService) {\r\n\r\n this.currentUserSubject = new BehaviorSubject(null);\r\n\r\n this.currentUser$ = this.currentUserSubject.asObservable();\r\n //us sa\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n this.unsubscribe.push(currentLangSubscription);\r\n if (this.currentlang == 'us') {\r\n this.renderer.setAttribute(document.querySelector('html'), 'dir', 'ltr');\r\n } else {\r\n this.renderer.setAttribute(document.querySelector('html'), 'dir', 'rtl');\r\n }\r\n }\r\n\r\n usernameAbridged() {\r\n if (this.currentUser) {\r\n let n = this.currentUser.userName.split(' ');\r\n let nConcat = n.map((n) => n[0]).join('');\r\n return nConcat.trim().substr(0, 2).toUpperCase();\r\n }\r\n return \"\";\r\n }\r\n ngOnInit() {\r\n if (this.currentUser) {\r\n this.UserName = this.usernameAbridged();\r\n //this.notificationService.startConnection();\r\n //this.DrawNotificationList();\r\n //const currentNotificationSubscription = this.notificationService.currentNotification.subscribe(notification => {\r\n\r\n // //if (!notification) {\r\n // // return;\r\n // //}\r\n // //else {\r\n // // this.notificationService.addNewNotification(this.VCRNotificationList, notification, this.NotificationsReferences, true);\r\n // // this.languageService.currentLang.subscribe(userLang => {\r\n // // if (userLang == 'us') {\r\n // // this.toastr.success(notification.message, notification.receiver.fullName);\r\n // // }\r\n // // else {\r\n // // this.toastr.success(notification.messageAr, notification.receiver.fullName);\r\n // // }\r\n // // });\r\n // //}\r\n //});\r\n //this.unsubscribe.push(currentNotificationSubscription);\r\n\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n this.UserName = this.usernameAbridged();\r\n }\r\n DrawNotificationList() {\r\n //const notificationSubscription = this.notificationService.getAll({\r\n // page: 0,\r\n // pageSize: 0,//This is filled in backend using appsetting \r\n // filter: []\r\n //}).subscribe(notifications => {\r\n\r\n // if (notifications.data.length > 0) {\r\n // for (var i = 0; i < notifications.data.length; i++) {\r\n // this.notificationService.addNewNotification(this.VCRNotificationList, notifications.data[i], this.NotificationsReferences);\r\n // }\r\n // }\r\n\r\n //});\r\n //this.unsubscribe.push(notificationSubscription);\r\n\r\n }\r\n\r\n @Input()\r\n set CurrentUser(currentUser) {\r\n this.currentUser = currentUser;\r\n this.currentUserSubject.next(this.currentUser);\r\n }\r\n\r\n @Input()\r\n set CurrentLang(currentLang) {\r\n\r\n this.currentlang = currentLang;\r\n }\r\n\r\n\r\n switchLanguage(code) {\r\n this.languageService.switchLanguage(code);\r\n //window.location.reload();\r\n if (code === 'us') {\r\n this.renderer.setAttribute(document.querySelector('html'), 'dir', 'ltr');\r\n } else {\r\n this.renderer.setAttribute(document.querySelector('html'), 'dir', 'rtl');\r\n }\r\n\r\n\r\n }\r\n\r\n logout() {\r\n this.authenticationService.logout();\r\n this.notificationService.closeConnection();\r\n this.currentUserSubject.next(null);\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n this.router.navigate(['']);\r\n this.authService.signOut();\r\n }\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n\r\n window['HeaderComponent'] = null;\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n \\\"NIC-Sign\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
    \\r\\n\\r\\n
  • \\r\\n \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n
  • \\r\\n\\r\\n \\r\\n\\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"app-admin-navigation {\\n width: 113px;\\n}\\napp-admin-navigation .side_nav_column button.btn {\\n position: relative;\\n background-color: rgba(255, 255, 255, 0);\\n color: rgba(255, 255, 255, 0.5);\\n transition: all 0.3s ease-in-out;\\n}\\napp-admin-navigation .side_nav_column button.btn:after {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0px;\\n left: -5px;\\n width: 4px;\\n height: 100%;\\n background-color: white;\\n transition: all 0.3s ease-in-out;\\n}\\napp-admin-navigation .side_nav_column button.btn:hover:after {\\n left: 0px;\\n}\\napp-admin-navigation .side_nav_column button.btn:focus,\\napp-admin-navigation .side_nav_column .active_nav_item {\\n background-color: rgba(255, 255, 255, 0.2) !important;\\n color: white !important;\\n box-shadow: none;\\n}\\napp-admin-navigation .side_nav_column button.btn:focus:after,\\napp-admin-navigation .side_nav_column .active_nav_item:after {\\n left: 0px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9hZG1pbi1uYXZpZ2F0aW9uL0M6XFxVc2Vyc1xcRXZyYW1cXHNvdXJjZVxccmVwb3NcXE5JQS1BcHBcXFdlYkFwcFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxwYWdlc1xcQ29tcG9uZW50c1xcYWRtaW4tbmF2aWdhdGlvblxcYWRtaW4tbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9hZG1pbi1uYXZpZ2F0aW9uL2FkbWluLW5hdmlnYXRpb24uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFBO0FDQ0Y7QURFSTtFQUNFLGtCQUFBO0VBQ0Esd0NBQUE7RUFDQSwrQkFBQTtFQUNBLGdDQUFBO0FDQU47QURHSTtFQUNFLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSx1QkFBQTtFQUNBLGdDQUFBO0FDRE47QURJSTtFQUNFLFNBQUE7QUNGTjtBREtJOztFQUVFLHFEQUFBO0VBQ0EsdUJBQUE7RUFDQSxnQkFBQTtBQ0hOO0FETUk7O0VBRUUsb0JBQUE7QUNKTiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0NvbXBvbmVudHMvYWRtaW4tbmF2aWdhdGlvbi9hZG1pbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYXBwLWFkbWluLW5hdmlnYXRpb24ge1xyXG4gIHdpZHRoOiAxMTNweDtcclxuXHJcbiAgLnNpZGVfbmF2X2NvbHVtbiB7XHJcbiAgICBidXR0b24uYnRuIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xyXG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b24uYnRuOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDBweDtcclxuICAgICAgbGVmdDogLTVweDtcclxuICAgICAgd2lkdGg6IDRweDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b24uYnRuOmhvdmVyOmFmdGVyIHtcclxuICAgICAgbGVmdDogMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbi5idG46Zm9jdXMsXHJcbiAgICAuYWN0aXZlX25hdl9pdGVtIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uLmJ0bjpmb2N1czphZnRlcixcclxuICAgIC5hY3RpdmVfbmF2X2l0ZW06YWZ0ZXIge1xyXG4gICAgICBsZWZ0OiAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiYXBwLWFkbWluLW5hdmlnYXRpb24ge1xuICB3aWR0aDogMTEzcHg7XG59XG5hcHAtYWRtaW4tbmF2aWdhdGlvbiAuc2lkZV9uYXZfY29sdW1uIGJ1dHRvbi5idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuYXBwLWFkbWluLW5hdmlnYXRpb24gLnNpZGVfbmF2X2NvbHVtbiBidXR0b24uYnRuOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogLTVweDtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5hcHAtYWRtaW4tbmF2aWdhdGlvbiAuc2lkZV9uYXZfY29sdW1uIGJ1dHRvbi5idG46aG92ZXI6YWZ0ZXIge1xuICBsZWZ0OiAwcHg7XG59XG5hcHAtYWRtaW4tbmF2aWdhdGlvbiAuc2lkZV9uYXZfY29sdW1uIGJ1dHRvbi5idG46Zm9jdXMsXG5hcHAtYWRtaW4tbmF2aWdhdGlvbiAuc2lkZV9uYXZfY29sdW1uIC5hY3RpdmVfbmF2X2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5hcHAtYWRtaW4tbmF2aWdhdGlvbiAuc2lkZV9uYXZfY29sdW1uIGJ1dHRvbi5idG46Zm9jdXM6YWZ0ZXIsXG5hcHAtYWRtaW4tbmF2aWdhdGlvbiAuc2lkZV9uYXZfY29sdW1uIC5hY3RpdmVfbmF2X2l0ZW06YWZ0ZXIge1xuICBsZWZ0OiAwcHggIWltcG9ydGFudDtcbn0iXX0= */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-admin-navigation',\r\n templateUrl: './admin-navigation.component.html',\r\n styleUrls: ['./admin-navigation.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AdminNavigationComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n screen_rotation\\r\\n \\r\\n

Rotate Your Mobile for Best Resolution

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'CourseDetails.Content' | translate }}\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{currentlang == 'sa'? video.arName: video.name}}\\r\\n
    \\r\\n \\r\\n
    \\r\\n
  • \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\"","module.exports = \"app-course-player .list-group {\\n background-color: #f2f2f2;\\n}\\napp-course-player .visited_item {\\n opacity: 0.5;\\n}\\napp-course-player .active_item {\\n background-color: #FFFFFF;\\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);\\n z-index: 1;\\n}\\napp-course-player .disabled_item {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n@media (min-width: 320px) and (max-width: 425px) {\\n app-course-player .rotate_mob {\\n display: flex;\\n inset: 0px 0px 0px 0px;\\n background-color: rgba(0, 0, 0, 0.5);\\n background: radial-gradient(circle, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0.5) 100%);\\n -webkit-backdrop-filter: blur(2px);\\n backdrop-filter: blur(3px);\\n z-index: 2;\\n }\\n app-course-player .rotate_mob .card {\\n width: 190px;\\n }\\n}\\n@media (min-width: 426px) {\\n app-course-player .rotate_mob {\\n display: none;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9jb3Vyc2UtcGxheWVyL0M6XFxVc2Vyc1xcRXZyYW1cXHNvdXJjZVxccmVwb3NcXE5JQS1BcHBcXFdlYkFwcFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxwYWdlc1xcQ29tcG9uZW50c1xcY291cnNlLXBsYXllclxcY291cnNlLXBsYXllci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9jb3Vyc2UtcGxheWVyL2NvdXJzZS1wbGF5ZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0U7RUFDRSx5QkFBQTtBQ0FKO0FER0U7RUFDRSxZQUFBO0FDREo7QURJRTtFQUNFLHlCQUFBO0VBQ0EsdUNBQUE7RUFDQSxVQUFBO0FDRko7QURLRTtFQUNFLG1CQUFBO0VBQ0EsWUFBQTtBQ0hKO0FETUU7RUFDRTtJQUNFLGFBQUE7SUFDQSxzQkFBQTtJQUNBLG9DQUFBO0lBQ0Esa0ZBQUE7SUFDQSxrQ0FBQTtJQUNBLDBCQUFBO0lBQ0EsVUFBQTtFQ0pKO0VETUk7SUFDRSxZQUFBO0VDSk47QUFDRjtBRFFFO0VBQ0U7SUFDRSxhQUFBO0VDTko7QUFDRiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0NvbXBvbmVudHMvY291cnNlLXBsYXllci9jb3Vyc2UtcGxheWVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYXBwLWNvdXJzZS1wbGF5ZXIge1xyXG4gIC5saXN0LWdyb3VwIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XHJcbiAgfVxyXG5cclxuICAudmlzaXRlZF9pdGVtIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICB9XHJcblxyXG4gIC5hY3RpdmVfaXRlbSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLDAsMCwwLjMpO1xyXG4gICAgei1pbmRleDogMTtcclxuICB9XHJcblxyXG4gIC5kaXNhYmxlZF9pdGVtIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0MjVweCkge1xyXG4gICAgLnJvdGF0ZV9tb2Ige1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBpbnNldDogMHB4IDBweCAwcHggMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNSk7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMCwwLDAsMCkgMjUlLCByZ2JhKDAsMCwwLDAuNSkgMTAwJSk7XHJcbiAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7XHJcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG5cclxuICAgICAgLmNhcmQge1xyXG4gICAgICAgIHdpZHRoOiAxOTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDQyNnB4KSB7XHJcbiAgICAucm90YXRlX21vYiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsImFwcC1jb3Vyc2UtcGxheWVyIC5saXN0LWdyb3VwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cbmFwcC1jb3Vyc2UtcGxheWVyIC52aXNpdGVkX2l0ZW0ge1xuICBvcGFjaXR5OiAwLjU7XG59XG5hcHAtY291cnNlLXBsYXllciAuYWN0aXZlX2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIHotaW5kZXg6IDE7XG59XG5hcHAtY291cnNlLXBsYXllciAuZGlzYWJsZWRfaXRlbSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQyNXB4KSB7XG4gIGFwcC1jb3Vyc2UtcGxheWVyIC5yb3RhdGVfbW9iIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGluc2V0OiAwcHggMHB4IDBweCAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMCwgMCwgMCwgMCkgMjUlLCByZ2JhKDAsIDAsIDAsIDAuNSkgMTAwJSk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG4gIGFwcC1jb3Vyc2UtcGxheWVyIC5yb3RhdGVfbW9iIC5jYXJkIHtcbiAgICB3aWR0aDogMTkwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0MjZweCkge1xuICBhcHAtY291cnNlLXBsYXllciAucm90YXRlX21vYiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSJdfQ== */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { CourseVides, UserDto } from '../../../shared/core/system-api';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\nimport { UserCourseService } from '../../../shared/services/userCourse.service';\r\nimport { VideoService } from '../../../shared/services/video.service';\r\n\r\n@Component({\r\n selector: 'app-course-player',\r\n templateUrl: './course-player.component.html',\r\n styleUrls: ['./course-player.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n})\r\nexport class CoursePlayerComponent implements OnInit {\r\n \r\n currentVideo: CourseVides;\r\n isUserCourse: boolean = false;\r\n sources: string = '';\r\n courseId: number = 0;\r\n playlist:CourseVides[] = [\r\n //{\r\n // name: 'Arial view of roads',\r\n // source:\r\n // \"http://niaccdemy-001-site1.itempurl.com/vedios/videogular.mp4\",\r\n // thumbnail:\r\n // 'https://res.cloudinary.com/hackafro/image/upload/c_scale,h_100,w_150/v1554641467/Screenshot_2019-04-07_at_1.39.17_PM_purcgf.png',\r\n //},\r\n //{\r\n // name: 'Blur colorful lights',\r\n // source:\r\n // 'https://player.vimeo.com/external/305211631.sd.mp4?s=3d46306a3d07d1c56eb64f1fcb1ba96232e34d90&profile_id=164&oauth2_token_id=57447761',\r\n // thumbnail:\r\n // 'https://res.cloudinary.com/hackafro/image/upload/c_scale,h_100,w_150/v1554641309/Screenshot_2019-04-07_at_1.46.12_PM_ztnroy.png',\r\n //},\r\n //{\r\n // name: 'Amazing view of the sunset',\r\n // source:\r\n // 'https://player.vimeo.com/external/306619138.sd.mp4?s=a7cb8a56ee700da618a4bc6bdd474eca0cf75d92&profile_id=164&oauth2_token_id=57447761',\r\n // thumbnail:\r\n // 'https://res.cloudinary.com/hackafro/image/upload/c_scale,h_100,w_150/v1554641380/Screenshot_2019-04-07_at_1.46.38_PM_f6nyr4.png',\r\n //},\r\n //{\r\n // name: 'Lighthouse by the sea',\r\n // source:\r\n // 'https://player.vimeo.com/external/312662160.sd.mp4?s=22154e69be5722a528e3c1cc374250af726a2b44&profile_id=164&oauth2_token_id=57447761',\r\n // thumbnail:\r\n // 'https://res.cloudinary.com/hackafro/image/upload/c_scale,h_100,w_150/v1554641395/Screenshot_2019-04-07_at_1.46.26_PM_xgbfdq.png',\r\n //},\r\n ];\r\n currentUser: UserDto;\r\n currentlang = '';\r\n private unsubscribe: Subscription[] = []; \r\n\r\n constructor(private router: Router, private videoService: VideoService, private route: ActivatedRoute, private authenticationService: AuthenticationService, private userCourseService: UserCourseService,\r\n private languageService: LanguageService) {\r\n const currentUserSubscription = this.authenticationService.currentUser.subscribe(x => this.currentUser = x);\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n this.unsubscribe.push(currentLangSubscription);\r\n this.unsubscribe.push(currentUserSubscription);\r\n }\r\n\r\n ngOnInit() {\r\n this.courseId = Number(this.route.snapshot.queryParamMap.get('courseID'));\r\n let vedioId = Number(this.route.snapshot.queryParamMap.get('vedioID'));\r\n\r\n if (this.currentUser) {\r\n this.userCourseService.isUserCourse(this.courseId).subscribe(result => {\r\n if (result)\r\n this.isUserCourse = true;\r\n else\r\n this.router.navigateByUrl('');\r\n });\r\n }\r\n else {\r\n this.router.navigateByUrl('');\r\n }\r\n this.userCourseService.addUserCourseVideo(vedioId, this.courseId).subscribe();\r\n this.videoService.getVideosPerCourse(this.courseId).subscribe(result => {\r\n this.playlist = result.data;\r\n this.currentVideo = this.playlist.find(x => x.vedioId == vedioId);\r\n this.sources = this.currentVideo.vedioPath;\r\n });\r\n \r\n }\r\n onVideoClick(video) {\r\n this.currentVideo = video;\r\n this.sources = video.vedioPath;\r\n this.userCourseService.addUserCourseVideo(video.vedioId, video.courseId).subscribe();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\\"recent\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{item.name}}\\r\\n {{item.nameAr}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n {{ 'Course.NotTaken' | translate }}\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0NvbXBvbmVudHMvY291cnNlL2NvdXJzZS5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { Course } from '../../../shared/core/system-api';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\n\r\n@Component({\r\n selector: 'app-course',\r\n templateUrl: './course.component.html',\r\n styleUrls: ['./course.component.scss']\r\n})\r\nexport class CourseComponent implements OnInit {\r\n private unsubscribe: Subscription[] = []; \r\n\r\n currentlang: string;\r\n @Input() item: Course;\r\n @Input() hideprice: boolean;\r\n constructor(private router: Router, private languageService: LanguageService) {\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n this.unsubscribe.push(currentLangSubscription);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n openCourseDetails(id) {\r\n this.router.navigate(['CourseDetails', { courseID: id }]);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'FOOTER.FeelFreeContactUs' | translate }}\\r\\n \\r\\n {{ 'FOOTER.Info' | translate }}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n

\\r\\n {{ 'FOOTER.CopyRight' | translate }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"app-footer a {\\n color: #CCCCCC;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9mb290ZXIvQzpcXFVzZXJzXFxFdnJhbVxcc291cmNlXFxyZXBvc1xcTklBLUFwcFxcV2ViQXBwXFxDbGllbnRBcHAvc3JjXFxhcHBcXHBhZ2VzXFxDb21wb25lbnRzXFxmb290ZXJcXGZvb3Rlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNFO0VBQ0UsY0FBQTtBQ0FKIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYXBwLWZvb3RlciB7XHJcbiAgYSB7XHJcbiAgICBjb2xvcjogI0NDQ0NDQztcclxuICB9XHJcbn1cclxuIiwiYXBwLWZvb3RlciBhIHtcbiAgY29sb3I6ICNDQ0NDQ0M7XG59Il19 */\""," import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n currentlang: string;\r\n constructor(\r\n private languageService: LanguageService) {\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n this.unsubscribe.push(currentLangSubscription);}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\"","module.exports = \"app-header a {\\n color: #666666;\\n}\\napp-header .social_links a {\\n display: inline-block;\\n text-align: center;\\n width: 34px;\\n line-height: 34px;\\n}\\napp-header .navbar-brand img {\\n height: 29px;\\n}\\napp-header .user-img {\\n width: 51px;\\n height: 51px;\\n cursor: pointer;\\n}\\napp-header .user-img img {\\n width: 100%;\\n height: auto;\\n}\\n@media (min-width: 768px) {\\n app-header .navbar-brand img {\\n height: 41px;\\n }\\n}\\n@media (min-width: 992px) {\\n app-header .navbar-brand img {\\n height: 89px;\\n }\\n}\\nbutton:focus {\\n outline: 0px !important;\\n}\\n.ActiveButton {\\n background-color: #791215 !important;\\n color: white;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9oZWFkZXIvQzpcXFVzZXJzXFxFdnJhbVxcc291cmNlXFxyZXBvc1xcTklBLUFwcFxcV2ViQXBwXFxDbGllbnRBcHAvc3JjXFxhcHBcXHBhZ2VzXFxDb21wb25lbnRzXFxoZWFkZXJcXGhlYWRlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNFO0VBQ0UsY0FBQTtBQ0FKO0FESUk7RUFDRSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0FDRk47QURPSTtFQUNFLFlBQUE7QUNMTjtBRFNFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0FDUEo7QURTSTtFQUNFLFdBQUE7RUFDQSxZQUFBO0FDUE47QURnQkU7RUFFSTtJQUNFLFlBQUE7RUNmTjtBQUNGO0FEbUJFO0VBRUk7SUFDRSxZQUFBO0VDbEJOO0FBQ0Y7QUQ4QkE7RUFDRSx1QkFBQTtBQzVCRjtBRDhCQTtFQUNFLG9DQUFBO0VBQ0EsWUFBQTtBQzNCRiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImFwcC1oZWFkZXIge1xyXG4gIGEge1xyXG4gICAgY29sb3I6ICM2NjY2NjY7XHJcbiAgfVxyXG5cclxuICAuc29jaWFsX2xpbmtzIHtcclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDM0cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5hdmJhci1icmFuZCB7XHJcbiAgICBpbWcge1xyXG4gICAgICBoZWlnaHQ6IDI5cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudXNlci1pbWcge1xyXG4gICAgd2lkdGg6IDUxcHg7XHJcbiAgICBoZWlnaHQ6IDUxcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICB9XHJcbiAgLy8gWC1TbWFsbCBkZXZpY2VzIChwb3J0cmFpdCBwaG9uZXMsIGxlc3MgdGhhbiA1NzZweClcclxuICAvLyBObyBtZWRpYSBxdWVyeSBmb3IgYHhzYCBzaW5jZSB0aGlzIGlzIHRoZSBkZWZhdWx0IGluIEJvb3RzdHJhcFxyXG4gIC8vIFNtYWxsIGRldmljZXMgKGxhbmRzY2FwZSBwaG9uZXMsIDU3NnB4IGFuZCB1cClcclxuICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcclxuICB9XHJcbiAgLy8gTWVkaXVtIGRldmljZXMgKHRhYmxldHMsIDc2OHB4IGFuZCB1cClcclxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgIC5uYXZiYXItYnJhbmQge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIGhlaWdodDogNDFweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvLyBMYXJnZSBkZXZpY2VzIChkZXNrdG9wcywgOTkycHggYW5kIHVwKVxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xyXG4gICAgLm5hdmJhci1icmFuZCB7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiA4OXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIFgtTGFyZ2UgZGV2aWNlcyAobGFyZ2UgZGVza3RvcHMsIDEyMDBweCBhbmQgdXApXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gIH1cclxuICAvLyBYWC1MYXJnZSBkZXZpY2VzIChsYXJnZXIgZGVza3RvcHMsIDE0MDBweCBhbmQgdXApXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbmJ1dHRvbjpmb2N1cyB7XHJcbiAgb3V0bGluZTogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLkFjdGl2ZUJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc5MTIxNSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxufVxyXG4iLCJhcHAtaGVhZGVyIGEge1xuICBjb2xvcjogIzY2NjY2Njtcbn1cbmFwcC1oZWFkZXIgLnNvY2lhbF9saW5rcyBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAzNHB4O1xuICBsaW5lLWhlaWdodDogMzRweDtcbn1cbmFwcC1oZWFkZXIgLm5hdmJhci1icmFuZCBpbWcge1xuICBoZWlnaHQ6IDI5cHg7XG59XG5hcHAtaGVhZGVyIC51c2VyLWltZyB7XG4gIHdpZHRoOiA1MXB4O1xuICBoZWlnaHQ6IDUxcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmFwcC1oZWFkZXIgLnVzZXItaW1nIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYXBwLWhlYWRlciAubmF2YmFyLWJyYW5kIGltZyB7XG4gICAgaGVpZ2h0OiA0MXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgYXBwLWhlYWRlciAubmF2YmFyLWJyYW5kIGltZyB7XG4gICAgaGVpZ2h0OiA4OXB4O1xuICB9XG59XG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAwcHggIWltcG9ydGFudDtcbn1cblxuLkFjdGl2ZUJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3OTEyMTUgIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlO1xufSJdfQ== */\"","import { Component, OnInit, Input, ViewChild, ElementRef, Renderer2, NgZone, ViewContainerRef, ComponentRef, ViewEncapsulation } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription, Observable, BehaviorSubject } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ChangePasswordComponent } from '../../../pages/auth/change-password/change-password.component';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { UserDto } from '../../../shared/core/system-api';\r\nimport { NotificationService } from '../../../shared/services/notification.service';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\nimport { SWALMSGSService } from '../../../shared/services/swal-msgs.service';\r\nimport { AbilityService } from '../../../shared/services/ability.service';\r\nimport { SocialAuthService } from '../../../shared/socialmedia/socialauth.service';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n\r\n currentUser: UserDto;\r\n\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n currentlang: string;\r\n SearchText: string=\"\";\r\n UserName: string = \"\";\r\n\r\n public currentUser$: Observable;\r\n private currentUserSubject: BehaviorSubject;\r\n\r\n //@ViewChild(\"notificationList\", { read: ViewContainerRef })\r\n //VCRNotificationList: ViewContainerRef;\r\n\r\n //NotificationsReferences = Array>()\r\n\r\n constructor(private router: Router,\r\n private notificationService: NotificationService,\r\n public authenticationService: AuthenticationService,\r\n private languageService: LanguageService,\r\n public translate: TranslateService,\r\n private renderer: Renderer2,\r\n public dialog: MatDialog,\r\n //private SWAL: SWALMSGSService,\r\n //private ability: AbilityService,\r\n //private _ngZone: NgZone,\r\n //private toastr: ToastrService,\r\n private authService: SocialAuthService ) {\r\n\r\n this.currentUserSubject = new BehaviorSubject(null);\r\n\r\n this.currentUser$ = this.currentUserSubject.asObservable();\r\n //us sa\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n this.unsubscribe.push(currentLangSubscription);\r\n if (this.currentlang == 'us') {\r\n this.renderer.setAttribute(document.querySelector('html'), 'dir', 'ltr');\r\n } else {\r\n this.renderer.setAttribute(document.querySelector('html'), 'dir', 'rtl');\r\n }\r\n }\r\n usernameAbridged() {\r\n if (this.currentUser) {\r\n let n = this.currentUser.userName.split(' ');\r\n let nConcat = n.map((n) => n[0]).join('');\r\n return nConcat.trim().substr(0, 2).toUpperCase();\r\n }\r\n return \"\";\r\n }\r\n ngOnInit(): void {\r\n\r\n if (this.currentUser) {\r\n this.UserName = this.usernameAbridged();\r\n //this.notificationService.startConnection();\r\n //this.DrawNotificationList();\r\n //const currentNotificationSubscription = this.notificationService.currentNotification.subscribe(notification => {\r\n\r\n // //if (!notification) {\r\n // // return;\r\n // //}\r\n // //else {\r\n // // this.notificationService.addNewNotification(this.VCRNotificationList, notification, this.NotificationsReferences, true);\r\n // // this.languageService.currentLang.subscribe(userLang => {\r\n // // if (userLang == 'us') {\r\n // // this.toastr.success(notification.message, notification.receiver.fullName);\r\n // // }\r\n // // else {\r\n // // this.toastr.success(notification.messageAr, notification.receiver.fullName);\r\n // // }\r\n // // });\r\n // //}\r\n //});\r\n //this.unsubscribe.push(currentNotificationSubscription);\r\n\r\n }\r\n }\r\n ngOnChanges() {\r\n this.UserName = this.usernameAbridged();\r\n }\r\n DrawNotificationList() {\r\n //const notificationSubscription = this.notificationService.getAll({\r\n // page: 0,\r\n // pageSize: 0,//This is filled in backend using appsetting \r\n // filter: []\r\n //}).subscribe(notifications => {\r\n\r\n // if (notifications.data.length > 0) {\r\n // for (var i = 0; i < notifications.data.length; i++) {\r\n // this.notificationService.addNewNotification(this.VCRNotificationList, notifications.data[i], this.NotificationsReferences);\r\n // }\r\n // }\r\n\r\n //});\r\n //this.unsubscribe.push(notificationSubscription);\r\n\r\n }\r\n\r\n @Input()\r\n set CurrentUser(currentUser) {\r\n this.currentUser = currentUser;\r\n this.currentUserSubject.next(this.currentUser);\r\n }\r\n\r\n @Input()\r\n set CurrentLang(currentLang) {\r\n\r\n this.currentlang = currentLang;\r\n }\r\n\r\n switchLanguage(code) {\r\n this.languageService.switchLanguage(code);\r\n //window.location.reload();\r\n if (code === 'us') {\r\n this.renderer.setAttribute(document.querySelector('html'), 'dir', 'ltr');\r\n } else {\r\n this.renderer.setAttribute(document.querySelector('html'), 'dir', 'rtl');\r\n }\r\n \r\n \r\n }\r\n\r\n logout() {\r\n this.authenticationService.logout();\r\n this.notificationService.closeConnection();\r\n this.currentUserSubject.next(null);\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n this.router.navigate(['']);\r\n this.authService.signOut();\r\n }\r\n Search() {\r\n if (this.SearchText.trim() != \"\")\r\n this.router.navigate(['Search', { text: this.SearchText }]);\r\n }\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n\r\n window['HeaderComponent'] = null;\r\n }\r\n changePassword() {\r\n let dialogConfig = new MatDialogConfig();\r\n dialogConfig.width = \"50%\";\r\n dialogConfig.direction = this.currentlang === 'sa' ? \"rtl\" : \"ltr\";\r\n dialogConfig.autoFocus = false;\r\n const dialogRef = this.dialog.open(ChangePasswordComponent, dialogConfig);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n {{ 'DEFAULT.Loading' | translate }}\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/* my-loader.component.css */\\n.loading-spinner {\\n background-color: #0000001f;\\n position: fixed;\\n width: 100%;\\n top: 0px;\\n left: 0px;\\n height: 100%;\\n align-items: center;\\n justify-content: center;\\n display: grid;\\n}\\n.loader {\\n align-self: end;\\n}\\n.loading-message {\\n text-align: center;\\n align-self: start;\\n margin-top: 5px;\\n font-size: large;\\n}\\n.loader {\\n border: 10px solid #f2f2f2;\\n /* Light grey */\\n border-top: 10px solid #791215;\\n border-radius: 50%;\\n width: 60px;\\n height: 60px;\\n -webkit-animation: spin 2s linear infinite;\\n animation: spin 2s linear infinite;\\n}\\n/* Safari */\\n@-webkit-keyframes spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n }\\n}\\n@keyframes spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9sb2FkZXIvQzpcXFVzZXJzXFxFdnJhbVxcc291cmNlXFxyZXBvc1xcTklBLUFwcFxcV2ViQXBwXFxDbGllbnRBcHAvc3JjXFxhcHBcXHBhZ2VzXFxDb21wb25lbnRzXFxsb2FkZXJcXGxvYWRlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRCQUFBO0FBQ0E7RUFDRSwyQkFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGFBQUE7QUNDRjtBRENBO0VBQ0UsZUFBQTtBQ0VGO0FEQ0E7RUFDRSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FDRUY7QURBQTtFQUNFLDBCQUFBO0VBQTRCLGVBQUE7RUFDNUIsOEJBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtBQ0lGO0FEREEsV0FBQTtBQUNBO0VBQ0U7SUFDRSwrQkFBQTtFQ0lGO0VEREE7SUFDRSxpQ0FBQTtFQ0dGO0FBQ0Y7QURBQTtFQUNFO0lBQ0UsdUJBQUE7RUNFRjtFRENBO0lBQ0UseUJBQUE7RUNDRjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogbXktbG9hZGVyLmNvbXBvbmVudC5jc3MgKi9cclxuLmxvYWRpbmctc3Bpbm5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDFmO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB3aWR0aDogMTAwJTtcclxuICB0b3A6IDBweDtcclxuICBsZWZ0OiAwcHg7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxufVxyXG4ubG9hZGVyIHtcclxuICBhbGlnbi1zZWxmOiBlbmQ7XHJcbn1cclxuXHJcbi5sb2FkaW5nLW1lc3NhZ2Uge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBhbGlnbi1zZWxmOiBzdGFydDtcclxuICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgZm9udC1zaXplOiBsYXJnZTtcclxufVxyXG4ubG9hZGVyIHtcclxuICBib3JkZXI6IDEwcHggc29saWQgI2YyZjJmMjsgLyogTGlnaHQgZ3JleSAqL1xyXG4gIGJvcmRlci10b3A6IDEwcHggc29saWQgIzc5MTIxNTtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgd2lkdGg6IDYwcHg7XHJcbiAgaGVpZ2h0OiA2MHB4O1xyXG4gIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XHJcbn1cclxuXHJcbi8qIFNhZmFyaSAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzcGluIHtcclxuICAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICB9XHJcbn1cclxuIiwiLyogbXktbG9hZGVyLmNvbXBvbmVudC5jc3MgKi9cbi5sb2FkaW5nLXNwaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwMWY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG5cbi5sb2FkZXIge1xuICBhbGlnbi1zZWxmOiBlbmQ7XG59XG5cbi5sb2FkaW5nLW1lc3NhZ2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIGZvbnQtc2l6ZTogbGFyZ2U7XG59XG5cbi5sb2FkZXIge1xuICBib3JkZXI6IDEwcHggc29saWQgI2YyZjJmMjtcbiAgLyogTGlnaHQgZ3JleSAqL1xuICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICM3OTEyMTU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLyogU2FmYXJpICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { LoaderService } from '../../../shared/services/loader.service';\r\n\r\n@Component({\r\n selector: 'app-my-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss']\r\n})\r\nexport class MyLoaderComponent implements OnInit {\r\n\r\n loading: boolean;\r\n\r\n constructor(private loaderService: LoaderService) {\r\n\r\n this.loaderService.isLoading.subscribe((v) => {\r\n this.loading = v;\r\n });\r\n\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\"","module.exports = \"@charset \\\"UTF-8\\\";\\n.vjs-modal-dialog .vjs-modal-dialog-content, .video-js .vjs-modal-dialog, .vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n.vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\\n text-align: center;\\n}\\n@font-face {\\n font-family: VideoJS;\\n src: url(data:application/font-woff;charset=utf-8;base64,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) format(\\\"woff\\\");\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-play, .video-js .vjs-play-control .vjs-icon-placeholder, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f101\\\";\\n}\\n.vjs-icon-play-circle {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-play-circle:before {\\n content: \\\"\\\\f102\\\";\\n}\\n.vjs-icon-pause, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-pause:before, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before {\\n content: \\\"\\\\f103\\\";\\n}\\n.vjs-icon-volume-mute, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-volume-mute:before, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f104\\\";\\n}\\n.vjs-icon-volume-low, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-volume-low:before, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f105\\\";\\n}\\n.vjs-icon-volume-mid, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-volume-mid:before, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f106\\\";\\n}\\n.vjs-icon-volume-high, .video-js .vjs-mute-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-volume-high:before, .video-js .vjs-mute-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f107\\\";\\n}\\n.vjs-icon-fullscreen-enter, .video-js .vjs-fullscreen-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f108\\\";\\n}\\n.vjs-icon-fullscreen-exit, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-fullscreen-exit:before, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f109\\\";\\n}\\n.vjs-icon-square {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-square:before {\\n content: \\\"\\\\f10a\\\";\\n}\\n.vjs-icon-spinner {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-spinner:before {\\n content: \\\"\\\\f10b\\\";\\n}\\n.vjs-icon-subtitles, .video-js .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-subtitles-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-subtitles:before, .video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-subtitles-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f10c\\\";\\n}\\n.vjs-icon-captions, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-captions-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-captions:before, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-captions-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f10d\\\";\\n}\\n.vjs-icon-chapters, .video-js .vjs-chapters-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-chapters:before, .video-js .vjs-chapters-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f10e\\\";\\n}\\n.vjs-icon-share {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-share:before {\\n content: \\\"\\\\f10f\\\";\\n}\\n.vjs-icon-cog {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-cog:before {\\n content: \\\"\\\\f110\\\";\\n}\\n.vjs-icon-circle, .vjs-seek-to-live-control .vjs-icon-placeholder, .video-js .vjs-volume-level, .video-js .vjs-play-progress {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-circle:before, .vjs-seek-to-live-control .vjs-icon-placeholder:before, .video-js .vjs-volume-level:before, .video-js .vjs-play-progress:before {\\n content: \\\"\\\\f111\\\";\\n}\\n.vjs-icon-circle-outline {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-circle-outline:before {\\n content: \\\"\\\\f112\\\";\\n}\\n.vjs-icon-circle-inner-circle {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-circle-inner-circle:before {\\n content: \\\"\\\\f113\\\";\\n}\\n.vjs-icon-hd {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-hd:before {\\n content: \\\"\\\\f114\\\";\\n}\\n.vjs-icon-cancel, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-cancel:before, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f115\\\";\\n}\\n.vjs-icon-replay, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before {\\n content: \\\"\\\\f116\\\";\\n}\\n.vjs-icon-facebook {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-facebook:before {\\n content: \\\"\\\\f117\\\";\\n}\\n.vjs-icon-gplus {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-gplus:before {\\n content: \\\"\\\\f118\\\";\\n}\\n.vjs-icon-linkedin {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-linkedin:before {\\n content: \\\"\\\\f119\\\";\\n}\\n.vjs-icon-twitter {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-twitter:before {\\n content: \\\"\\\\f11a\\\";\\n}\\n.vjs-icon-tumblr {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-tumblr:before {\\n content: \\\"\\\\f11b\\\";\\n}\\n.vjs-icon-pinterest {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-pinterest:before {\\n content: \\\"\\\\f11c\\\";\\n}\\n.vjs-icon-audio-description, .video-js .vjs-descriptions-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-audio-description:before, .video-js .vjs-descriptions-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f11d\\\";\\n}\\n.vjs-icon-audio, .video-js .vjs-audio-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-audio:before, .video-js .vjs-audio-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f11e\\\";\\n}\\n.vjs-icon-next-item {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-next-item:before {\\n content: \\\"\\\\f11f\\\";\\n}\\n.vjs-icon-previous-item {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-previous-item:before {\\n content: \\\"\\\\f120\\\";\\n}\\n.vjs-icon-picture-in-picture-enter, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-picture-in-picture-enter:before, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f121\\\";\\n}\\n.vjs-icon-picture-in-picture-exit, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-picture-in-picture-exit:before, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f122\\\";\\n}\\n.video-js {\\n display: block;\\n vertical-align: top;\\n box-sizing: border-box;\\n color: #fff;\\n background-color: #000;\\n position: relative;\\n padding: 0;\\n font-size: 10px;\\n line-height: 1;\\n font-weight: normal;\\n font-style: normal;\\n font-family: Arial, Helvetica, sans-serif;\\n word-break: initial;\\n}\\n.video-js:-moz-full-screen {\\n position: absolute;\\n}\\n.video-js:-webkit-full-screen {\\n width: 100% !important;\\n height: 100% !important;\\n}\\n.video-js[tabindex=\\\"-1\\\"] {\\n outline: none;\\n}\\n.video-js *,\\n.video-js *:before,\\n.video-js *:after {\\n box-sizing: inherit;\\n}\\n.video-js ul {\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n list-style-position: outside;\\n margin-left: 0;\\n margin-right: 0;\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n.video-js.vjs-fluid,\\n.video-js.vjs-16-9,\\n.video-js.vjs-4-3 {\\n width: 100%;\\n max-width: 100%;\\n height: 0;\\n}\\n.video-js.vjs-16-9 {\\n padding-top: 56.25%;\\n}\\n.video-js.vjs-4-3 {\\n padding-top: 75%;\\n}\\n.video-js.vjs-fill {\\n width: 100%;\\n height: 100%;\\n}\\n.video-js .vjs-tech {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\nbody.vjs-full-window {\\n padding: 0;\\n margin: 0;\\n height: 100%;\\n}\\n.vjs-full-window .video-js.vjs-fullscreen {\\n position: fixed;\\n overflow: hidden;\\n z-index: 1000;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n right: 0;\\n}\\n.video-js.vjs-fullscreen:not(.vjs-ios-native-fs) {\\n width: 100% !important;\\n height: 100% !important;\\n padding-top: 0 !important;\\n}\\n.video-js.vjs-fullscreen.vjs-user-inactive {\\n cursor: none;\\n}\\n.vjs-hidden {\\n display: none !important;\\n}\\n.vjs-disabled {\\n opacity: 0.5;\\n cursor: default;\\n}\\n.video-js .vjs-offscreen {\\n height: 1px;\\n left: -9999px;\\n position: absolute;\\n top: 0;\\n width: 1px;\\n}\\n.vjs-lock-showing {\\n display: block !important;\\n opacity: 1;\\n visibility: visible;\\n}\\n.vjs-no-js {\\n padding: 20px;\\n color: #fff;\\n background-color: #000;\\n font-size: 18px;\\n font-family: Arial, Helvetica, sans-serif;\\n text-align: center;\\n width: 300px;\\n height: 150px;\\n margin: 0px auto;\\n}\\n.vjs-no-js a,\\n.vjs-no-js a:visited {\\n color: #66A8CC;\\n}\\n.video-js .vjs-big-play-button {\\n font-size: 3em;\\n line-height: 1.5em;\\n height: 1.63332em;\\n width: 3em;\\n display: block;\\n position: absolute;\\n top: 10px;\\n left: 10px;\\n padding: 0;\\n cursor: pointer;\\n opacity: 1;\\n border: 0.06666em solid #fff;\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.7);\\n border-radius: 0.3em;\\n transition: all 0.4s;\\n}\\n.vjs-big-play-centered .vjs-big-play-button {\\n top: 50%;\\n left: 50%;\\n margin-top: -0.81666em;\\n margin-left: -1.5em;\\n}\\n.video-js:hover .vjs-big-play-button,\\n.video-js .vjs-big-play-button:focus {\\n border-color: #fff;\\n background-color: #73859f;\\n background-color: rgba(115, 133, 159, 0.5);\\n transition: all 0s;\\n}\\n.vjs-controls-disabled .vjs-big-play-button,\\n.vjs-has-started .vjs-big-play-button,\\n.vjs-using-native-controls .vjs-big-play-button,\\n.vjs-error .vjs-big-play-button {\\n display: none;\\n}\\n.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button {\\n display: block;\\n}\\n.video-js button {\\n background: none;\\n border: none;\\n color: inherit;\\n display: inline-block;\\n font-size: inherit;\\n line-height: inherit;\\n text-transform: none;\\n text-decoration: none;\\n transition: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n.vjs-control .vjs-button {\\n width: 100%;\\n height: 100%;\\n}\\n.video-js .vjs-control.vjs-close-button {\\n cursor: pointer;\\n height: 3em;\\n position: absolute;\\n right: 0;\\n top: 0.5em;\\n z-index: 2;\\n}\\n.video-js .vjs-modal-dialog {\\n background: rgba(0, 0, 0, 0.8);\\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0));\\n overflow: auto;\\n}\\n.video-js .vjs-modal-dialog > * {\\n box-sizing: border-box;\\n}\\n.vjs-modal-dialog .vjs-modal-dialog-content {\\n font-size: 1.2em;\\n line-height: 1.5;\\n padding: 20px 24px;\\n z-index: 1;\\n}\\n.vjs-menu-button {\\n cursor: pointer;\\n}\\n.vjs-menu-button.vjs-disabled {\\n cursor: default;\\n}\\n.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu {\\n display: none;\\n}\\n.vjs-menu .vjs-menu-content {\\n display: block;\\n padding: 0;\\n margin: 0;\\n font-family: Arial, Helvetica, sans-serif;\\n overflow: auto;\\n}\\n.vjs-menu .vjs-menu-content > * {\\n box-sizing: border-box;\\n}\\n.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu {\\n display: none;\\n}\\n.vjs-menu li {\\n list-style: none;\\n margin: 0;\\n padding: 0.2em 0;\\n line-height: 1.4em;\\n font-size: 1.2em;\\n text-align: center;\\n text-transform: lowercase;\\n}\\n.vjs-menu li.vjs-menu-item:focus,\\n.vjs-menu li.vjs-menu-item:hover,\\n.js-focus-visible .vjs-menu li.vjs-menu-item:hover {\\n background-color: #73859f;\\n background-color: rgba(115, 133, 159, 0.5);\\n}\\n.vjs-menu li.vjs-selected,\\n.vjs-menu li.vjs-selected:focus,\\n.vjs-menu li.vjs-selected:hover,\\n.js-focus-visible .vjs-menu li.vjs-selected:hover {\\n background-color: #fff;\\n color: #2B333F;\\n}\\n.vjs-menu li.vjs-menu-title {\\n text-align: center;\\n text-transform: uppercase;\\n font-size: 1em;\\n line-height: 2em;\\n padding: 0;\\n margin: 0 0 0.3em 0;\\n font-weight: bold;\\n cursor: default;\\n}\\n.vjs-menu-button-popup .vjs-menu {\\n display: none;\\n position: absolute;\\n bottom: 0;\\n width: 10em;\\n left: -3em;\\n height: 0em;\\n margin-bottom: 1.5em;\\n border-top-color: rgba(43, 51, 63, 0.7);\\n}\\n.vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.7);\\n position: absolute;\\n width: 100%;\\n bottom: 1.5em;\\n max-height: 15em;\\n}\\n.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\\n.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n max-height: 5em;\\n}\\n.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n max-height: 10em;\\n}\\n.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n max-height: 14em;\\n}\\n.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\\n.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\\n.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n max-height: 25em;\\n}\\n.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,\\n.vjs-menu-button-popup .vjs-menu.vjs-lock-showing {\\n display: block;\\n}\\n.video-js .vjs-menu-button-inline {\\n transition: all 0.4s;\\n overflow: hidden;\\n}\\n.video-js .vjs-menu-button-inline:before {\\n width: 2.222222222em;\\n}\\n.video-js .vjs-menu-button-inline:hover,\\n.video-js .vjs-menu-button-inline:focus,\\n.video-js .vjs-menu-button-inline.vjs-slider-active,\\n.video-js.vjs-no-flex .vjs-menu-button-inline {\\n width: 12em;\\n}\\n.vjs-menu-button-inline .vjs-menu {\\n opacity: 0;\\n height: 100%;\\n width: auto;\\n position: absolute;\\n left: 4em;\\n top: 0;\\n padding: 0;\\n margin: 0;\\n transition: all 0.4s;\\n}\\n.vjs-menu-button-inline:hover .vjs-menu,\\n.vjs-menu-button-inline:focus .vjs-menu,\\n.vjs-menu-button-inline.vjs-slider-active .vjs-menu {\\n display: block;\\n opacity: 1;\\n}\\n.vjs-no-flex .vjs-menu-button-inline .vjs-menu {\\n display: block;\\n opacity: 1;\\n position: relative;\\n width: auto;\\n}\\n.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu,\\n.vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu,\\n.vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu {\\n width: auto;\\n}\\n.vjs-menu-button-inline .vjs-menu-content {\\n width: auto;\\n height: 100%;\\n margin: 0;\\n overflow: hidden;\\n}\\n.video-js .vjs-control-bar {\\n display: none;\\n width: 100%;\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 3em;\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.7);\\n}\\n.vjs-has-started .vjs-control-bar {\\n display: flex;\\n visibility: visible;\\n opacity: 1;\\n transition: visibility 0.1s, opacity 0.1s;\\n}\\n.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\\n visibility: visible;\\n opacity: 0;\\n transition: visibility 1s, opacity 1s;\\n}\\n.vjs-controls-disabled .vjs-control-bar,\\n.vjs-using-native-controls .vjs-control-bar,\\n.vjs-error .vjs-control-bar {\\n display: none !important;\\n}\\n.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\\n opacity: 1;\\n visibility: visible;\\n}\\n.vjs-has-started.vjs-no-flex .vjs-control-bar {\\n display: table;\\n}\\n.video-js .vjs-control {\\n position: relative;\\n text-align: center;\\n margin: 0;\\n padding: 0;\\n height: 100%;\\n width: 4em;\\n flex: none;\\n}\\n.vjs-button > .vjs-icon-placeholder:before {\\n font-size: 1.8em;\\n line-height: 1.67;\\n}\\n.video-js .vjs-control:focus:before,\\n.video-js .vjs-control:hover:before,\\n.video-js .vjs-control:focus {\\n text-shadow: 0em 0em 1em white;\\n}\\n.video-js .vjs-control-text {\\n border: 0;\\n clip: rect(0 0 0 0);\\n height: 1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n.vjs-no-flex .vjs-control {\\n display: table-cell;\\n vertical-align: middle;\\n}\\n.video-js .vjs-custom-control-spacer {\\n display: none;\\n}\\n.video-js .vjs-progress-control {\\n cursor: pointer;\\n flex: auto;\\n display: flex;\\n align-items: center;\\n min-width: 4em;\\n touch-action: none;\\n}\\n.video-js .vjs-progress-control.disabled {\\n cursor: default;\\n}\\n.vjs-live .vjs-progress-control {\\n display: none;\\n}\\n.vjs-liveui .vjs-progress-control {\\n display: flex;\\n align-items: center;\\n}\\n.vjs-no-flex .vjs-progress-control {\\n width: auto;\\n}\\n.video-js .vjs-progress-holder {\\n flex: auto;\\n transition: all 0.2s;\\n height: 0.3em;\\n}\\n.video-js .vjs-progress-control .vjs-progress-holder {\\n margin: 0 10px;\\n}\\n.video-js .vjs-progress-control:hover .vjs-progress-holder {\\n font-size: 1.6666666667em;\\n}\\n.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled {\\n font-size: 1em;\\n}\\n.video-js .vjs-progress-holder .vjs-play-progress,\\n.video-js .vjs-progress-holder .vjs-load-progress,\\n.video-js .vjs-progress-holder .vjs-load-progress div {\\n position: absolute;\\n display: block;\\n height: 100%;\\n margin: 0;\\n padding: 0;\\n width: 0;\\n}\\n.video-js .vjs-play-progress {\\n background-color: #fff;\\n}\\n.video-js .vjs-play-progress:before {\\n font-size: 0.9em;\\n position: absolute;\\n right: -0.5em;\\n top: -0.3333333333em;\\n z-index: 1;\\n}\\n.video-js .vjs-load-progress {\\n background: rgba(115, 133, 159, 0.5);\\n}\\n.video-js .vjs-load-progress div {\\n background: rgba(115, 133, 159, 0.75);\\n}\\n.video-js .vjs-time-tooltip {\\n background-color: #fff;\\n background-color: rgba(255, 255, 255, 0.8);\\n border-radius: 0.3em;\\n color: #000;\\n float: right;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 1em;\\n padding: 6px 8px 8px 8px;\\n pointer-events: none;\\n position: absolute;\\n top: -3.4em;\\n visibility: hidden;\\n z-index: 1;\\n}\\n.video-js .vjs-progress-holder:focus .vjs-time-tooltip {\\n display: none;\\n}\\n.video-js .vjs-progress-control:hover .vjs-time-tooltip,\\n.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip {\\n display: block;\\n font-size: 0.6em;\\n visibility: visible;\\n}\\n.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip {\\n font-size: 1em;\\n}\\n.video-js .vjs-progress-control .vjs-mouse-display {\\n display: none;\\n position: absolute;\\n width: 1px;\\n height: 100%;\\n background-color: #000;\\n z-index: 1;\\n}\\n.vjs-no-flex .vjs-progress-control .vjs-mouse-display {\\n z-index: 0;\\n}\\n.video-js .vjs-progress-control:hover .vjs-mouse-display {\\n display: block;\\n}\\n.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display {\\n visibility: hidden;\\n opacity: 0;\\n transition: visibility 1s, opacity 1s;\\n}\\n.video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display {\\n display: none;\\n}\\n.vjs-mouse-display .vjs-time-tooltip {\\n color: #fff;\\n background-color: #000;\\n background-color: rgba(0, 0, 0, 0.8);\\n}\\n.video-js .vjs-slider {\\n position: relative;\\n cursor: pointer;\\n padding: 0;\\n margin: 0 0.45em 0 0.45em;\\n /* iOS Safari */\\n -webkit-touch-callout: none;\\n /* Safari */\\n -webkit-user-select: none;\\n /* Konqueror HTML */\\n /* Firefox */\\n -moz-user-select: none;\\n /* Internet Explorer/Edge */\\n /* Non-prefixed version, currently supported by Chrome and Opera */\\n user-select: none;\\n background-color: #73859f;\\n background-color: rgba(115, 133, 159, 0.5);\\n}\\n.video-js .vjs-slider.disabled {\\n cursor: default;\\n}\\n.video-js .vjs-slider:focus {\\n text-shadow: 0em 0em 1em white;\\n box-shadow: 0 0 1em #fff;\\n}\\n.video-js .vjs-mute-control {\\n cursor: pointer;\\n flex: none;\\n}\\n.video-js .vjs-volume-control {\\n cursor: pointer;\\n margin-right: 1em;\\n display: flex;\\n}\\n.video-js .vjs-volume-control.vjs-volume-horizontal {\\n width: 5em;\\n}\\n.video-js .vjs-volume-panel .vjs-volume-control {\\n visibility: visible;\\n opacity: 0;\\n width: 1px;\\n height: 1px;\\n margin-left: -1px;\\n}\\n.video-js .vjs-volume-panel {\\n transition: width 1s;\\n}\\n.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control, .video-js .vjs-volume-panel:active .vjs-volume-control, .video-js .vjs-volume-panel:focus .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control:active, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active {\\n visibility: visible;\\n opacity: 1;\\n position: relative;\\n transition: visibility 0.1s, opacity 0.1s, height 0.1s, width 0.1s, left 0s, top 0s;\\n}\\n.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal {\\n width: 5em;\\n height: 3em;\\n margin-right: 0;\\n}\\n.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical {\\n left: -3.5em;\\n transition: left 0s;\\n}\\n.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {\\n width: 10em;\\n transition: width 0.1s;\\n}\\n.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only {\\n width: 4em;\\n}\\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {\\n height: 8em;\\n width: 3em;\\n left: -3000em;\\n transition: visibility 1s, opacity 1s, height 1s 1s, width 1s 1s, left 1s 1s, top 1s 1s;\\n}\\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {\\n transition: visibility 1s, opacity 1s, height 1s 1s, width 1s, left 1s 1s, top 1s 1s;\\n}\\n.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {\\n width: 5em;\\n height: 3em;\\n visibility: visible;\\n opacity: 1;\\n position: relative;\\n transition: none;\\n}\\n.video-js.vjs-no-flex .vjs-volume-control.vjs-volume-vertical,\\n.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {\\n position: absolute;\\n bottom: 3em;\\n left: 0.5em;\\n}\\n.video-js .vjs-volume-panel {\\n display: flex;\\n}\\n.video-js .vjs-volume-bar {\\n margin: 1.35em 0.45em;\\n}\\n.vjs-volume-bar.vjs-slider-horizontal {\\n width: 5em;\\n height: 0.3em;\\n}\\n.vjs-volume-bar.vjs-slider-vertical {\\n width: 0.3em;\\n height: 5em;\\n margin: 1.35em auto;\\n}\\n.video-js .vjs-volume-level {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n background-color: #fff;\\n}\\n.video-js .vjs-volume-level:before {\\n position: absolute;\\n font-size: 0.9em;\\n}\\n.vjs-slider-vertical .vjs-volume-level {\\n width: 0.3em;\\n}\\n.vjs-slider-vertical .vjs-volume-level:before {\\n top: -0.5em;\\n left: -0.3em;\\n}\\n.vjs-slider-horizontal .vjs-volume-level {\\n height: 0.3em;\\n}\\n.vjs-slider-horizontal .vjs-volume-level:before {\\n top: -0.3em;\\n right: -0.5em;\\n}\\n.video-js .vjs-volume-panel.vjs-volume-panel-vertical {\\n width: 4em;\\n}\\n.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level {\\n height: 100%;\\n}\\n.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level {\\n width: 100%;\\n}\\n.video-js .vjs-volume-vertical {\\n width: 3em;\\n height: 8em;\\n bottom: 8em;\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.7);\\n}\\n.video-js .vjs-volume-horizontal .vjs-menu {\\n left: -2em;\\n}\\n.vjs-poster {\\n display: inline-block;\\n vertical-align: middle;\\n background-repeat: no-repeat;\\n background-position: 50% 50%;\\n background-size: contain;\\n background-color: #000000;\\n cursor: pointer;\\n margin: 0;\\n padding: 0;\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n height: 100%;\\n}\\n.vjs-has-started .vjs-poster {\\n display: none;\\n}\\n.vjs-audio.vjs-has-started .vjs-poster {\\n display: block;\\n}\\n.vjs-using-native-controls .vjs-poster {\\n display: none;\\n}\\n.video-js .vjs-live-control {\\n display: flex;\\n align-items: flex-start;\\n flex: auto;\\n font-size: 1em;\\n line-height: 3em;\\n}\\n.vjs-no-flex .vjs-live-control {\\n display: table-cell;\\n width: auto;\\n text-align: left;\\n}\\n.video-js:not(.vjs-live) .vjs-live-control,\\n.video-js.vjs-liveui .vjs-live-control {\\n display: none;\\n}\\n.video-js .vjs-seek-to-live-control {\\n align-items: center;\\n cursor: pointer;\\n flex: none;\\n display: inline-flex;\\n height: 100%;\\n padding-left: 0.5em;\\n padding-right: 0.5em;\\n font-size: 1em;\\n line-height: 3em;\\n width: auto;\\n min-width: 4em;\\n}\\n.vjs-no-flex .vjs-seek-to-live-control {\\n display: table-cell;\\n width: auto;\\n text-align: left;\\n}\\n.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,\\n.video-js:not(.vjs-live) .vjs-seek-to-live-control {\\n display: none;\\n}\\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge {\\n cursor: auto;\\n}\\n.vjs-seek-to-live-control .vjs-icon-placeholder {\\n margin-right: 0.5em;\\n color: #888;\\n}\\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder {\\n color: red;\\n}\\n.video-js .vjs-time-control {\\n flex: none;\\n font-size: 1em;\\n line-height: 3em;\\n min-width: 2em;\\n width: auto;\\n padding-left: 1em;\\n padding-right: 1em;\\n}\\n.vjs-live .vjs-time-control {\\n display: none;\\n}\\n.video-js .vjs-current-time,\\n.vjs-no-flex .vjs-current-time {\\n display: none;\\n}\\n.video-js .vjs-duration,\\n.vjs-no-flex .vjs-duration {\\n display: none;\\n}\\n.vjs-time-divider {\\n display: none;\\n line-height: 3em;\\n}\\n.vjs-live .vjs-time-divider {\\n display: none;\\n}\\n.video-js .vjs-play-control {\\n cursor: pointer;\\n}\\n.video-js .vjs-play-control .vjs-icon-placeholder {\\n flex: none;\\n}\\n.vjs-text-track-display {\\n position: absolute;\\n bottom: 3em;\\n left: 0;\\n right: 0;\\n top: 0;\\n pointer-events: none;\\n}\\n.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {\\n bottom: 1em;\\n}\\n.video-js .vjs-text-track {\\n font-size: 1.4em;\\n text-align: center;\\n margin-bottom: 0.1em;\\n}\\n.vjs-subtitles {\\n color: #fff;\\n}\\n.vjs-captions {\\n color: #fc6;\\n}\\n.vjs-tt-cue {\\n display: block;\\n}\\nvideo::-webkit-media-text-track-display {\\n transform: translateY(-3em);\\n}\\n.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display {\\n transform: translateY(-1.5em);\\n}\\n.video-js .vjs-picture-in-picture-control {\\n cursor: pointer;\\n flex: none;\\n}\\n.video-js .vjs-fullscreen-control {\\n cursor: pointer;\\n flex: none;\\n}\\n.vjs-playback-rate > .vjs-menu-button,\\n.vjs-playback-rate .vjs-playback-rate-value {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n.vjs-playback-rate .vjs-playback-rate-value {\\n pointer-events: none;\\n font-size: 1.5em;\\n line-height: 2;\\n text-align: center;\\n}\\n.vjs-playback-rate .vjs-menu {\\n width: 4em;\\n left: 0em;\\n}\\n.vjs-error .vjs-error-display .vjs-modal-dialog-content {\\n font-size: 1.4em;\\n text-align: center;\\n}\\n.vjs-error .vjs-error-display:before {\\n color: #fff;\\n content: \\\"X\\\";\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 4em;\\n left: 0;\\n line-height: 1;\\n margin-top: -0.5em;\\n position: absolute;\\n text-shadow: 0.05em 0.05em 0.1em #000;\\n text-align: center;\\n top: 50%;\\n vertical-align: middle;\\n width: 100%;\\n}\\n.vjs-loading-spinner {\\n display: none;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n margin: -25px 0 0 -25px;\\n opacity: 0.85;\\n text-align: left;\\n border: 6px solid rgba(43, 51, 63, 0.7);\\n box-sizing: border-box;\\n background-clip: padding-box;\\n width: 50px;\\n height: 50px;\\n border-radius: 25px;\\n visibility: hidden;\\n}\\n.vjs-seeking .vjs-loading-spinner,\\n.vjs-waiting .vjs-loading-spinner {\\n display: block;\\n -webkit-animation: vjs-spinner-show 0s linear 0.3s forwards;\\n animation: vjs-spinner-show 0s linear 0.3s forwards;\\n}\\n.vjs-loading-spinner:before,\\n.vjs-loading-spinner:after {\\n content: \\\"\\\";\\n position: absolute;\\n margin: -6px;\\n box-sizing: inherit;\\n width: inherit;\\n height: inherit;\\n border-radius: inherit;\\n opacity: 1;\\n border: inherit;\\n border-color: transparent;\\n border-top-color: white;\\n}\\n.vjs-seeking .vjs-loading-spinner:before,\\n.vjs-seeking .vjs-loading-spinner:after,\\n.vjs-waiting .vjs-loading-spinner:before,\\n.vjs-waiting .vjs-loading-spinner:after {\\n -webkit-animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite;\\n animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite;\\n}\\n.vjs-seeking .vjs-loading-spinner:before,\\n.vjs-waiting .vjs-loading-spinner:before {\\n border-top-color: white;\\n}\\n.vjs-seeking .vjs-loading-spinner:after,\\n.vjs-waiting .vjs-loading-spinner:after {\\n border-top-color: white;\\n -webkit-animation-delay: 0.44s;\\n animation-delay: 0.44s;\\n}\\n@keyframes vjs-spinner-show {\\n to {\\n visibility: visible;\\n }\\n}\\n@-webkit-keyframes vjs-spinner-show {\\n to {\\n visibility: visible;\\n }\\n}\\n@keyframes vjs-spinner-spin {\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n@-webkit-keyframes vjs-spinner-spin {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n }\\n}\\n@keyframes vjs-spinner-fade {\\n 0% {\\n border-top-color: #73859f;\\n }\\n 20% {\\n border-top-color: #73859f;\\n }\\n 35% {\\n border-top-color: white;\\n }\\n 60% {\\n border-top-color: #73859f;\\n }\\n 100% {\\n border-top-color: #73859f;\\n }\\n}\\n@-webkit-keyframes vjs-spinner-fade {\\n 0% {\\n border-top-color: #73859f;\\n }\\n 20% {\\n border-top-color: #73859f;\\n }\\n 35% {\\n border-top-color: white;\\n }\\n 60% {\\n border-top-color: #73859f;\\n }\\n 100% {\\n border-top-color: #73859f;\\n }\\n}\\n.vjs-chapters-button .vjs-menu ul {\\n width: 24em;\\n}\\n.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder {\\n vertical-align: middle;\\n display: inline-block;\\n margin-bottom: -0.1em;\\n}\\n.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {\\n font-family: VideoJS;\\n content: \\\"\\\";\\n font-size: 1.5em;\\n line-height: inherit;\\n}\\n.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder {\\n vertical-align: middle;\\n display: inline-block;\\n margin-bottom: -0.1em;\\n}\\n.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {\\n font-family: VideoJS;\\n content: \\\" \\\";\\n font-size: 1.5em;\\n line-height: inherit;\\n}\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-current-time,\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-time-divider,\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-duration,\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-remaining-time,\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-playback-rate,\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-chapters-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-descriptions-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-captions-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-subtitles-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-audio-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-volume-control, .video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-current-time,\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-time-divider,\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-duration,\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-remaining-time,\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-playback-rate,\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-chapters-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-descriptions-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-captions-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-subtitles-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-audio-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-volume-control, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-current-time,\\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-time-divider,\\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-duration,\\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-remaining-time,\\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-playback-rate,\\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-chapters-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-descriptions-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-captions-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-subtitles-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-audio-button,\\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-volume-control {\\n display: none;\\n}\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,\\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,\\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,\\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {\\n width: auto;\\n width: initial;\\n}\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small:not(.vjs-liveui) .vjs-subs-caps-button, .video-js:not(.vjs-fullscreen).vjs-layout-x-small:not(.vjs-live) .vjs-subs-caps-button, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-subs-caps-button {\\n display: none;\\n}\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small.vjs-liveui .vjs-custom-control-spacer, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-custom-control-spacer {\\n flex: auto;\\n display: block;\\n}\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small.vjs-liveui.vjs-no-flex .vjs-custom-control-spacer, .video-js:not(.vjs-fullscreen).vjs-layout-tiny.vjs-no-flex .vjs-custom-control-spacer {\\n width: auto;\\n}\\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small.vjs-liveui .vjs-progress-control, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-progress-control {\\n display: none;\\n}\\n.vjs-modal-dialog.vjs-text-track-settings {\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.75);\\n color: #fff;\\n height: 70%;\\n}\\n.vjs-text-track-settings .vjs-modal-dialog-content {\\n display: table;\\n}\\n.vjs-text-track-settings .vjs-track-settings-colors,\\n.vjs-text-track-settings .vjs-track-settings-font,\\n.vjs-text-track-settings .vjs-track-settings-controls {\\n display: table-cell;\\n}\\n.vjs-text-track-settings .vjs-track-settings-controls {\\n text-align: right;\\n vertical-align: bottom;\\n}\\n@supports (display: grid) {\\n .vjs-text-track-settings .vjs-modal-dialog-content {\\n display: grid;\\n grid-template-columns: 1fr 1fr;\\n grid-template-rows: 1fr;\\n padding: 20px 24px 0px 24px;\\n }\\n\\n .vjs-track-settings-controls .vjs-default-button {\\n margin-bottom: 20px;\\n }\\n\\n .vjs-text-track-settings .vjs-track-settings-controls {\\n grid-column: 1/-1;\\n }\\n\\n .vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,\\n.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,\\n.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content {\\n grid-template-columns: 1fr;\\n }\\n}\\n.vjs-track-setting > select {\\n margin-right: 1em;\\n margin-bottom: 0.5em;\\n}\\n.vjs-text-track-settings fieldset {\\n margin: 5px;\\n padding: 3px;\\n border: none;\\n}\\n.vjs-text-track-settings fieldset span {\\n display: inline-block;\\n}\\n.vjs-text-track-settings fieldset span > select {\\n max-width: 7.3em;\\n}\\n.vjs-text-track-settings legend {\\n color: #fff;\\n margin: 0 0 5px 0;\\n}\\n.vjs-text-track-settings .vjs-label {\\n position: absolute;\\n clip: rect(1px 1px 1px 1px);\\n clip: rect(1px, 1px, 1px, 1px);\\n display: block;\\n margin: 0 0 5px 0;\\n padding: 0;\\n border: 0;\\n height: 1px;\\n width: 1px;\\n overflow: hidden;\\n}\\n.vjs-track-settings-controls button:focus,\\n.vjs-track-settings-controls button:active {\\n outline-style: solid;\\n outline-width: medium;\\n background-image: linear-gradient(0deg, #fff 88%, #73859f 100%);\\n}\\n.vjs-track-settings-controls button:hover {\\n color: rgba(43, 51, 63, 0.75);\\n}\\n.vjs-track-settings-controls button {\\n background-color: #fff;\\n background-image: linear-gradient(-180deg, #fff 88%, #73859f 100%);\\n color: #2B333F;\\n cursor: pointer;\\n border-radius: 2px;\\n}\\n.vjs-track-settings-controls .vjs-default-button {\\n margin-right: 1em;\\n}\\n@media print {\\n .video-js > *:not(.vjs-tech):not(.vjs-poster) {\\n visibility: hidden;\\n }\\n}\\n.vjs-resize-manager {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n border: none;\\n z-index: -1000;\\n}\\n.js-focus-visible .video-js *:focus:not(.focus-visible) {\\n outline: none;\\n background: none;\\n}\\n.video-js *:focus:not(:focus-visible),\\n.video-js .vjs-menu *:focus:not(:focus-visible) {\\n outline: none;\\n background: none;\\n}\\n.player {\\n width: 100%;\\n height: 594px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy92aWRlby5qcy9kaXN0L3ZpZGVvLWpzLmNzcyIsInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9tZWRpYXBsYXllci9DOlxcVXNlcnNcXEV2cmFtXFxzb3VyY2VcXHJlcG9zXFxOSUEtQXBwXFxXZWJBcHBcXENsaWVudEFwcC9zcmNcXGFwcFxccGFnZXNcXENvbXBvbmVudHNcXG1lZGlhcGxheWVyXFxtZWRpYXBsYXllci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9tZWRpYXBsYXllci9tZWRpYXBsYXllci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFDaEI7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLE9BQU87RUFDUCxXQUFXO0VBQ1gsWUFBWTtBQUNkO0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixpdExBQWl0TDtFQUNqdEwsbUJBQW1CO0VBQ25CLGtCQUFrQjtBQUNwQjtBQUNBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUVBOzs7OztFQUtFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7Ozs7O0VBS0UsZ0JBQWdCO0FBQ2xCO0FBRUE7O0VBRUUsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7QUFDQTs7RUFFRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtC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bUJBQW1CO0VBQ3JCOztFQUVBO0lBQ0UsaUJBQWlCO0VBQ25COztFQUVBOzs7SUFHRSwwQkFBMEI7RUFDNUI7QUFDRjtBQUNBO0VBQ0UsaUJBQWlCO0VBQ2pCLG9CQUFvQjtBQUN0QjtBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixZQUFZO0FBQ2Q7QUFFQTtFQUNFLHFCQUFxQjtBQUN2QjtBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCO0FBRUE7RUFDRSxXQUFXO0VBQ1gsaUJBQWlCO0FBQ25CO0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsMkJBQTJCO0VBQzNCLDhCQUE4QjtFQUM5QixjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLFVBQVU7RUFDVixTQUFTO0VBQ1QsV0FBVztFQUNYLFVBQVU7RUFDVixnQkFBZ0I7QUFDbEI7QUFFQTs7RUFFRSxvQkFBb0I7RUFDcEIscUJBQXFCO0VBQ3JCLCtEQUErRDtBQUNqRTtBQUVBO0VBQ0UsNkJBQTZCO0FBQy9CO0FBRUE7RUFDRSxzQkFBc0I7RUFDdEIsa0VBQWtFO0VBQ2xFLGNBQWM7RUFDZCxlQUFlO0VBQ2Ysa0JBQWtCO0FBQ3BCO0FBRUE7RUFDRSxpQkFBaUI7QUFDbkI7QUFFQTtFQUNFO0lBQ0Usa0JBQWtCO0VBQ3BCO0FBQ0Y7QUFDQTtFQUNFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sT0FBTztFQUNQLFdBQVc7RUFDWCxZQUFZO0VBQ1osWUFBWTtFQUNaLGNBQWM7QUFDaEI7QUFFQTtFQUNFLGFBQWE7RUFDYixnQkFBZ0I7QUFDbEI7QUFFQTs7RUFFRSxhQUFhO0VBQ2IsZ0JBQWdCO0FBQ2xCO0FDN25EQTtFQUNFLFdBQUE7RUFDQSxhQUFBO0FDQUYiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9Db21wb25lbnRzL21lZGlhcGxheWVyL21lZGlhcGxheWVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLnZqcy1tb2RhbC1kaWFsb2cgLnZqcy1tb2RhbC1kaWFsb2ctY29udGVudCwgLnZpZGVvLWpzIC52anMtbW9kYWwtZGlhbG9nLCAudmpzLWJ1dHRvbiA+IC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUsIC52aWRlby1qcyAudmpzLWJpZy1wbGF5LWJ1dHRvbiAudmpzLWljb24tcGxhY2Vob2xkZXI6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi52anMtYnV0dG9uID4gLnZqcy1pY29uLXBsYWNlaG9sZGVyOmJlZm9yZSwgLnZpZGVvLWpzIC52anMtYmlnLXBsYXktYnV0dG9uIC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgc3JjOiB1cmwoZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsZDA5R1JnQUJBQUFBQUJEa0FBc0FBQUFBRzZnQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJIVTFWQ0FBQUJDQUFBQURzQUFBQlVJSXNsZWs5VEx6SUFBQUZFQUFBQVBnQUFBRlpSaVYzaFkyMWhjQUFBQVlRQUFBRGFBQUFEUHY3NDkvcG5iSGxtQUFBQ1lBQUFDM0FBQUJIUVpnNk9jV2hsWVdRQUFBM1FBQUFBS3dBQUFEWVp3MjUxYUdobFlRQUFEZndBQUFBZEFBQUFKQStSQ0xGb2JYUjRBQUFPSEFBQUFCTUFBQUNNNzQ0QUFHeHZZMkVBQUE0d0FBQUFTQUFBQUVoRjZrcXViV0Y0Y0FBQURuZ0FBQUFmQUFBQUlBRTBBSUZ1WVcxbEFBQU9tQUFBQVNVQUFBSUsxY2Yxb0hCdmMzUUFBQS9BQUFBQkpBQUFBZFBFeFl1TmVKeGpZR1JnWU9CaU1HQ3dZMkJ5Y2ZNSlllRExTU3pKWTVCaVlHR0FBSkE4TXBzeEp6TTlrWUVEeGdQS3NZQnBEaUJtZzRnQ0FDWTdCVWdBZUp4allHUzd3VGlCZ1pXQmdhV1E1UmtEQThNdkNNMGN3eERPZUk2QmdZbUJsWmtCS3doSWMwMWhjUGpJK0ZHSkhjUmR5QTRSWmdRUkFESzNDeEVBQUhpYzdkRlpic01nQUVYUlMweWN5Wm5uT2VHN3krcUM4cFUxZEh1c0lPWHh1b3hhT2x3WllXUUIwQWVhNHF1SUVONEU5THpLYktqekRlTTZIL211YTZMbWMvcDh5aGcwbHZkWXgxNVpHOHVPTFFPR2pNcDNFenFtekppellNbUtOUnUyN05oejRNaUpNeGV1M0xqejRFa3FtN1Q4UDUyRzhQUDNsblRPVmsrK1o2aU42UVp6Tk4xRjdwdHVON2VHT2pEVW9hR09ESFZzdXZVOE1kVE85SGQ1YXFnelE1MGI2c0pRbDRhNk10UzFvVzRNZFd1b08wUGRHK3JCVUkrR2VqTFVzNkZlRFBWcXFEZER2UnZxdzFDZmhwcU05QXQwaUZMYUFBQjRuSjFZRFhCVFZSWis1LzIyVFVsSjh3ZTBwSGxKbTdSSmY1TzhGMmo2RXltbFNQa3B4YUw4VTJ4cGEzREtqMENCaGMySVc0ZVdLU29rSW9Mc3VNcXNzTTY0ZitqQTRIU2RXWFhYc2NCcTY3SU9zM0ZYWjFaWVdWeVJGZG84OTl5WHRJQlFaOTBrNzcxN3p6M3YzSFBQT2ZkODU0WUNDajljTDlkTDBSUUZPcUNiR0puckhiNUVheWlLSVdOOGlBL2hXQmJsbzZoVVdtOFR0Q0R3RTgwV01KdXMvaXJ3eXhPZHhlQjBNRGIxNFZOSkhuWFlvTExTbDZGZkNVWU85bllQVEE4RXBnOTA5MExwcmZiQmJaMmhZMFVsSlVYSFFwMy92dFdrUzZFQnY4K3JQTXE1dTk2OTJmL2ROeEpOaXF3QzF4UEU5VENVZ0NzU2RRV2dFM1hRRDI1bGtHNENOMnhtVGNPWFdCT3lzZXI2Uk42S25HYktTYm1RMytkME9JMW0yVzhRekxMa0kyc3lrcldBZ0pKRXRBOHZHR1cvMlErQ21UM244elM5d1p3dTJEQ3Z0dVpLWk4zeGtyTGgzNnlDWnVVb21RU3FHcFk4dC8yNVZmSFZodzh6NGViR0J0ZkxiMHlhOVBDYURjKzhkR1R2azJkc2g2ejdXenZvd2xYS1VTV285TUoxNWEzS3JFUDJsb09yMk9qaHc2aVc2aGYyQkRkRWNjUXZaR3BhQXk3WW92U3dxOGtyN0hHbGx4cGQ3MXJrUzZHMFNmMTFzbDlPdk1LMStqd1BQT0R4alV3a09pbTlDVTNpeDF3TmpYRGZtSlNFbjYxOEJzNmxwV3dVcFUrOFBDcUxNWTY1MHpqcThWaENJUDE3TkVLVHgzZWFMTCtzNVBpNnlKV2FXalRITFIxall6UFNWOVZGLzZPamRiLzFrTzNNazN1aEhDMHg2Z2MxQmpsS1ErblFGeFRZZGFKa1o3eVNWeExCYmhSMWRzYm9OWHAxdENZS1cyTFJhRXpwWWNJeDJCS054YUwwWmFVblNxZkZvaU5oSEtSL0drWDZQV1VTQWFKZWxRYXFaTDFFcG9ITnNhalNFeVBTb0o5SWpoSXhUZGpITG13WnZoUkRPaUZUWS9ZZVFudnJWWm1pVFF0R25jRUNYdEZUQlpMT1Z3d01SZ29YSEFrWHpNelBuMW5BSko4allTYk1EYXFOMndhR0x6TmhpaC9iWnluVUJNcElXU2c3VllpN0RSeDJtOEFMa0lkUkNKd0k2QXJKeDJFSThrYURXZVRRS2VBRms5ZmpsLzFBdndrdGpRMVA3Tmp5TUdReWZkNHZqaXBYNk0vaTUyRDdDcTgwa3FsY3hFY0dYUnIvRkVjZ3MwdTV1R2dCNFZXdU1GZnBkbjJSZTZIaTNQcXpteFdLc3o2K2FlMlBuOWhYWHcvZnFNODU5VWlHQzBvS1lZSUxKQnFKcnNuMVoxRTVxT3M5clFDaVVRUlJFam04eUpjYkhGNWNVSnVmWDF2QUhsZWZ3MFhnVW9ib1MzRVRmUWxUeEJDNFNPdHVFOFZQUkpUQlNDUVNqWkNwazdHcXp1K21hc2FaMnk3WmplaGhvNEYzZzgyQk5Ea0FIcE9SRzQrT0NTK2Y2SlRQbXRSbi9QSDFrY2g2ZDA0c3A3QVFiMjVhUS9wcVV5WGVROHZyZWJHOE9ZUWRYT1ErNTg1dTBzZFc5cnFhbHpSVVJpSis5RjRNd2VSRnJLVWpsMUdVWWhIMUEyN1dPSHc1Y1RGU0ZQTW85RWVVSUduUVRaSElhSjdBSExhT0tzT09EYU5GOWprQmpZRzJRRXNRMnhqTVVBeDJiQkViZVRCV01Id3NrQmpuZ3E1NlMveWZna0JuV0JhNEs5c3FLdHEydDFVSThTOUhlNVh1QlJiYXdBZGF0clFFQWkzMEFrczIrTE04V2VDYmFsVlprV055bHZKK2RxSm56VmIrT0hsU29LVzhuUENQN1JkK0NjWjJEZFdBR3FKMkNCRk9waGd5d0ZGQ0ZCTnRmQWJHdE5QQkN3eHZ5Z0hlWU1aTVk5WmJvQnF3cS9wVnJzYmdONXRrdjE1Mk9EbGJNZmlxd0dNQmd4YTRFeHozUWhvdlJJVXA2YWNxWm1RelJxMHlwRFhTMlRQTFQwMllJa1FFVG5PRTQ0NW9PR3hPbVhBcVVKTk5HN1hndXBNalBxMnVhOWFzcmo1eVkveXVLdGVPMUt4MFlOSlR1ZnJpckxlMW1abmF0N09MNnJuVWRDV2VucFc2SThtQW5ic1k4S1dzMVB1U292Q1c5QS9aMjVQUTI0YTdjTk9xZ21Ua0xtQk1naDRUSGdjNGI5azJJVnYxL2cvRjVuR2xqd1BMZk9nSEF6SnpoNDVWLzQrV2VuVHptTXRSNVo3dXMyVHlzOTA5VUhxclBZN0tiY2tveFJ2UkhobVZjM2NKR0U5N3VtbDBSMVMwamRVTFZsN0V2WnRERlZCRjM1TjljRWRqcGdtQWlPbEZaK0R0b2g5MytEM3p6SHI4UlJOWlFobkNOTU5iY2VnT3ZwRXdab0wrMDZjSlEwN2grdGgzZlovN1BWYlZDNm5nVEFWL0tvTEZ1TzYrMktGY1U2NTFnRWI1dWdQU0liMUQrWHA4VjQrazNzRUlHbnc1bVllNElmNGsxbEZZcjZTQ3ptTTJFUThpV3Rtd2puQkk5a1R3ZTFUbGZBbVhoN0gwMmJ5OWZXMmdzakt3dHYwYWFVUktpbDRPZFY3ckRMMU1YSUZOcmhkeG9oY1pYWVRucTQ3V2lzcktpdGFPYmJmNSt5dmtMaTVKNmxDTlpaK0I2R0MzOFZOQlpCRGlkU1MvK21Tdmg2cytzcmdDOHB5S012RHR0K2RlM2M5ZlU3NlpQZnVNOHVkNEt2MGZ5UC9McWZlcE1ULzNvWnhTcXBaYVRhMURhUVlMWThURnNIWWJXWXNQb1JoUldmTDVlU1NRYmhVR2dHQzNZTGJWTWs2UGl0VEZOR3BBc05yQzZEMVZOQktnQkhNZWphaXVSV0VXR2dzU0RCVEpqcVdJbDhrSkxsc2FMSjJ0WERyNnhHZlQ4NWJNMlEwNmE0NngySFRndmRuVjh6NVlEeS8yN0o0enQ2eDJWdGt6am9ZcGtxMzZrYUJyNGVRU2c3dHlpVndlV3ViWFp1Z3RhZGw1OHlkYXBmYk9SZktzRFR1WjBPQmd4NGNmZGpDZjV0YldOSVRuTDEyMGZkT2kxUlYxQzN1S0d6TmR3WUxjTXZaM0J4b1B5VE9DRDFYdlhUcDdVMTBnV0NWbVRWOWIzcjJ6MFNrR1dvdmIyaHA5STg5TzhhMnNtbHlhTzhtdU1VK2RSbXR6cDYwSXpBb0ZwakxyMW4zODhib0x5ZjBkUnZ4aHNIWjBxYldxRGt3cXZ2cGtqNGwwZlk2RUlYUmk1c1FTckF2c1ZZd1hSeTRxSjJFVnREMUFON2EwSFd0aDl5bXZMMXhjM1dUVUtLL1RBSEEvYlhEVnRWV2ZPTWZ1R3hHWnY0TG4valZyOWpjM2oxeU12MHRuZG15dDlWcTg4WTlnSDF3dExYM0tXam90NSsraldIZ0FvWlprUTE0d0dRMjBGbGk3MVVtS0pBeTR4S01TVEdiVmR5Ylc3RkREQXV0OVhwRDVBeldyWU83elE4cWZmcUY4K1luZC9jbHJIY2R5eEd5M2EvMyttZk5uekMvY0JzdmVUam5UdlhmMW82dnpPbFp3N1d0cXRkbVBLL0VycnovNk5OdEQ3MnptTk9aZmJtWWRUR0hmb29mcUk3OU9jK1IybjFscm5MNnBPbTBVcDdrd3hoVFcxMkFtbTdXWWtYUjJxWXJGMkFtZ21iQXN4Wmp3eTF4cGcvbTFKZTJ2cnA4di9uejJ4cG1sQmc0RTlock1VMzQxd1ZwVE9oL09mbUd2QW5yYThxNnVjdHI2MFpRSFYzUStXTVFKeWtNajhac1duMlFCT21tSE1CK201cERJcFRGb25ZaWdpYUtBaEdFaUFIRjdFbGlWblFram9MVklNUHRKcEJLSFlkM0E4R1lIOWpKenJXd21IeDVRanA3dkRBWDBzdUdSeW0xdnRtLzlXMS9IeVI4dmN6Zk1zNlNrOERTdjg1NS81ZGxYOW9RcTUyaFQ4c3l5cDJyeDVJZDE3SUF5QU0zd0lqUVBNT0h6eXRFQjY0cTZENXpUOTF5TmJueDNWL25xbmQwMTdTOVkwNjA1azNpem9YTHBzeGRlMm4zOHlvT1Y5czFMY2p3ek5qYmRYNmFzbkJWYUJqLzYvRHdLd1BrcGNxYkRHN0Juc1hvU3FXblVBbW90dFlGNmpNU2RWeVlaaDN6VlhDandUaXd3SEg2c0d1UmlFSFFHenVSWDZ3aFprcDEyM295MUJXRTJtRWZKL3R2SVJ0TTRaTTViRFhpTXNQTWFBS09UeWM1dUw1N3JxeXljNXk1SkU1cG0xaTJTMmlVWDBDY2FRNmxDNlpvZzdKcVNxWm1ZbG9zbDJLNnB3TkE4NHpSblFXNlNhQUxZWlFHVzVsaEN0VS9XMzRONm8rYktmWjhjZjMvQ2wvK2lUWDN3QnpwT1k0bVJrZU5mM3JwdHljR1NzaFFXZ0diWXQ1akZjMmUwK0RnbElyd2w2RFZXUTdCdXdhSjNYazFKNFZMNXVybkxsL1dmK2dIVS9oWm9aZEtOeW02bEcrSTM0RmFOZVpLY1NwSklvMkllQ1Z2cGRzREdmS3Z6Sm5Bd21lRDM3T3c2NVpXd1Nvd3Bnd1g1VDY5cy9yQjU1ZFA1QmNwZ0RLRlY4cDdxMnNuLzF1YzkzYlZ6VC93NlVyQ3FEVFd2ZkNxL29DRC9xWlhOb1VqOEJMNUtwNkdVMDE3ZnJmTlhrQXRpaXlmL1NPQ0VlTHFuZDhSL1FsOUdsQ1JmY3RTNms1Y2h2SUJ1UTF6Q0Nqb0NITDJESE5ISVh4TUoza1FlTzhsYnNVWE9OZVNmQTVFamNHNi9FK0tkaE40YlAwNHZCaGRpODgzK0JGQnpRYnhGYnZaelFlWTlMTkJaYzBGTmZuNU53ZkRuNnJDVG5UdzZSOG8rZ2ZwZjVoQ29tMzNjUnVpVGxzczNLSG1aakQrQlBOKzVnWHVBMnppUy9RNzNtTHhVa3BiS04vZXF3ejV1SzBYOUYzaDJkMVY0bkdOZ1pHQmdBT0pkNzc2K2l1ZTMrY3JBemM0QUFqZTVCZmNnMHh6OVlIRU9CaVlRQlFBOEZRbEZBSGljWTJCa1lHQm5BQUdPUGdhRy8vODUraGtZR1ZDQk1nQkdHd05ZQUFBQWVKeGpZR0JnWUI4RW1LT1BnUUVBUTA0QmZnQUFBQUFBQUE0QWFBQitBTXdBNEFFQ0FVSUJiQUdZQWNJQ0dBSllBclFDNEFNd0E3QUQzZ1F3QkpZRTNBVWtCV1lGaWdZZ0JtWUd0QWJxQjFnSUVnaFlDRzRJaEFpMkNPaDRuR05nWkdCZ1VHWW9aV0JuQUFFbUlPWUNRZ2FHLzJBK0F3QVlDUUcyQUhpY1haQk5hb05BR0laZkU1UFFDS0ZRMmxVcHMyb1hCZk96ekFFU3lES0JRSmRHUjJOUVIzUVNTRS9RRS9RRVBVVVBVSHFzdnNyWGpUTXc4M3pQdlBNTkN1QVdQM0RRREFlamRtMUdqendTN3BNbXdpNzVYbmdBRDQvQ1Evb1g0VEZlNFF0N3VNTWJPemp1RGMwRW1YQ1AvQzdjSjM4SXUrUlA0UUVlOENVOHBQOFdIbU9QWDJFUHo4N1RQbzIwMmV5Mk9qbG5RU1hWLzZhck9qV0ZtdnN6TVd0ZDZDcXdPbEtIcTZvdnljTGFXTVdWeWRYS0ZGWm5tVkZsWlU0NnRQN1Iybkk1bmNiaS9kRGtmRHRGQkEyRERYYllraEtjK1YwQnFzNVp0OUpNMUhRR0JSVG0vRWV6VG1aTkt0cGNBTXM5WXU2QUs5Y2FGNzZ6b0xXSVdjZk1HT1NrVmR1dlNXZWNocVpzejA0MEliMlBZM3VyeEJKVHpyaVQ5NWxpcHorVE4xZm1BQUFBZUp4dGtNbDJ3akFNUmZPQWhBQmxLbTJoODBDMythamdDS0tEWTZjZWdQNTlUWUJ6dWtBTCt6MVpzcThjdGFKVFRLUHJzVVFMYlhRUUkwRVhLWHJvWTRBYkRESENHQk5NY1lzWjduQ1BCOHl4d0NPZThJd1h2T0lONy9qQUo3Nnd4SGZVcVdYK096Z3VtV0FqSk1WMTdpME5kbHI2aXJMS08rcWZ0ZFQ3aTZ5NHVGU1V2Q2tuYXkrbEZZWklaYVFjbWZIL3hJRmRZbjk4YnFocmExYUtUTS82bFdNbnlhWWlyeDFyRlVRWkZCa2IyekpVdG9YZUpDZWcwV25MdEhlU0ZjM090cm5vek53cWkwVGtTcEJNREIxblNkZTVvSlhXMjNoVFMyL1QwTGlsZ2xYWDdkbUZWeExucTVVMHZZQVRIRmszelgzQk9pc29RSE5ERkRlWm5xS0R5OWhSTmF3TjdWaDcyN2hGemNKNWM4VElMcktaZkg3dElQeEFGUDBCcExlSlBBPT0pIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi52anMtaWNvbi1wbGF5LCAudmlkZW8tanMgLnZqcy1wbGF5LWNvbnRyb2wgLnZqcy1pY29uLXBsYWNlaG9sZGVyLCAudmlkZW8tanMgLnZqcy1iaWctcGxheS1idXR0b24gLnZqcy1pY29uLXBsYWNlaG9sZGVyOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBWaWRlb0pTO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udmpzLWljb24tcGxheTpiZWZvcmUsIC52aWRlby1qcyAudmpzLXBsYXktY29udHJvbCAudmpzLWljb24tcGxhY2Vob2xkZXI6YmVmb3JlLCAudmlkZW8tanMgLnZqcy1iaWctcGxheS1idXR0b24gLnZqcy1pY29uLXBsYWNlaG9sZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAxXCI7XG59XG5cbi52anMtaWNvbi1wbGF5LWNpcmNsZSB7XG4gIGZvbnQtZmFtaWx5OiBWaWRlb0pTO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udmpzLWljb24tcGxheS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDJcIjtcbn1cblxuLnZqcy1pY29uLXBhdXNlLCAudmlkZW8tanMgLnZqcy1wbGF5LWNvbnRyb2wudmpzLXBsYXlpbmcgLnZqcy1pY29uLXBsYWNlaG9sZGVyIHtcbiAgZm9udC1mYW1pbHk6IFZpZGVvSlM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi52anMtaWNvbi1wYXVzZTpiZWZvcmUsIC52aWRlby1qcyAudmpzLXBsYXktY29udHJvbC52anMtcGxheWluZyAudmpzLWljb24tcGxhY2Vob2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDNcIjtcbn1cblxuLnZqcy1pY29uLXZvbHVtZS1tdXRlLCAudmlkZW8tanMgLnZqcy1tdXRlLWNvbnRyb2wudmpzLXZvbC0wIC52anMtaWNvbi1wbGFjZWhvbGRlciB7XG4gIGZvbnQtZmFtaWx5OiBWaWRlb0pTO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udmpzLWljb24tdm9sdW1lLW11dGU6YmVmb3JlLCAudmlkZW8tanMgLnZqcy1tdXRlLWNvbnRyb2wudmpzLXZvbC0wIC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNFwiO1xufVxuXG4udmpzLWljb24tdm9sdW1lLWxvdywgLnZpZGVvLWpzIC52anMtbXV0ZS1jb250cm9sLnZqcy12b2wtMSAudmpzLWljb24tcGxhY2Vob2xkZXIge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLXZvbHVtZS1sb3c6YmVmb3JlLCAudmlkZW8tanMgLnZqcy1tdXRlLWNvbnRyb2wudmpzLXZvbC0xIC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiO1xufVxuXG4udmpzLWljb24tdm9sdW1lLW1pZCwgLnZpZGVvLWpzIC52anMtbXV0ZS1jb250cm9sLnZqcy12b2wtMiAudmpzLWljb24tcGxhY2Vob2xkZXIge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLXZvbHVtZS1taWQ6YmVmb3JlLCAudmlkZW8tanMgLnZqcy1tdXRlLWNvbnRyb2wudmpzLXZvbC0yIC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNlwiO1xufVxuXG4udmpzLWljb24tdm9sdW1lLWhpZ2gsIC52aWRlby1qcyAudmpzLW11dGUtY29udHJvbCAudmpzLWljb24tcGxhY2Vob2xkZXIge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLXZvbHVtZS1oaWdoOmJlZm9yZSwgLnZpZGVvLWpzIC52anMtbXV0ZS1jb250cm9sIC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwN1wiO1xufVxuXG4udmpzLWljb24tZnVsbHNjcmVlbi1lbnRlciwgLnZpZGVvLWpzIC52anMtZnVsbHNjcmVlbi1jb250cm9sIC52anMtaWNvbi1wbGFjZWhvbGRlciB7XG4gIGZvbnQtZmFtaWx5OiBWaWRlb0pTO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udmpzLWljb24tZnVsbHNjcmVlbi1lbnRlcjpiZWZvcmUsIC52aWRlby1qcyAudmpzLWZ1bGxzY3JlZW4tY29udHJvbCAudmpzLWljb24tcGxhY2Vob2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDhcIjtcbn1cblxuLnZqcy1pY29uLWZ1bGxzY3JlZW4tZXhpdCwgLnZpZGVvLWpzLnZqcy1mdWxsc2NyZWVuIC52anMtZnVsbHNjcmVlbi1jb250cm9sIC52anMtaWNvbi1wbGFjZWhvbGRlciB7XG4gIGZvbnQtZmFtaWx5OiBWaWRlb0pTO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udmpzLWljb24tZnVsbHNjcmVlbi1leGl0OmJlZm9yZSwgLnZpZGVvLWpzLnZqcy1mdWxsc2NyZWVuIC52anMtZnVsbHNjcmVlbi1jb250cm9sIC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOVwiO1xufVxuXG4udmpzLWljb24tc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6IFZpZGVvSlM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi52anMtaWNvbi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGFcIjtcbn1cblxuLnZqcy1pY29uLXNwaW5uZXIge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLXNwaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGJcIjtcbn1cblxuLnZqcy1pY29uLXN1YnRpdGxlcywgLnZpZGVvLWpzIC52anMtc3Vicy1jYXBzLWJ1dHRvbiAudmpzLWljb24tcGxhY2Vob2xkZXIsXG4udmlkZW8tanMudmlkZW8tanM6bGFuZyhlbi1HQikgLnZqcy1zdWJzLWNhcHMtYnV0dG9uIC52anMtaWNvbi1wbGFjZWhvbGRlcixcbi52aWRlby1qcy52aWRlby1qczpsYW5nKGVuLUlFKSAudmpzLXN1YnMtY2Fwcy1idXR0b24gLnZqcy1pY29uLXBsYWNlaG9sZGVyLFxuLnZpZGVvLWpzLnZpZGVvLWpzOmxhbmcoZW4tQVUpIC52anMtc3Vicy1jYXBzLWJ1dHRvbiAudmpzLWljb24tcGxhY2Vob2xkZXIsXG4udmlkZW8tanMudmlkZW8tanM6bGFuZyhlbi1OWikgLnZqcy1zdWJzLWNhcHMtYnV0dG9uIC52anMtaWNvbi1wbGFjZWhvbGRlciwgLnZpZGVvLWpzIC52anMtc3VidGl0bGVzLWJ1dHRvbiAudmpzLWljb24tcGxhY2Vob2xkZXIge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLXN1YnRpdGxlczpiZWZvcmUsIC52aWRlby1qcyAudmpzLXN1YnMtY2Fwcy1idXR0b24gLnZqcy1pY29uLXBsYWNlaG9sZGVyOmJlZm9yZSxcbi52aWRlby1qcy52aWRlby1qczpsYW5nKGVuLUdCKSAudmpzLXN1YnMtY2Fwcy1idXR0b24gLnZqcy1pY29uLXBsYWNlaG9sZGVyOmJlZm9yZSxcbi52aWRlby1qcy52aWRlby1qczpsYW5nKGVuLUlFKSAudmpzLXN1YnMtY2Fwcy1idXR0b24gLnZqcy1pY29uLXBsYWNlaG9sZGVyOmJlZm9yZSxcbi52aWRlby1qcy52aWRlby1qczpsYW5nKGVuLUFVKSAudmpzLXN1YnMtY2Fwcy1idXR0b24gLnZqcy1pY29uLXBsYWNlaG9sZGVyOmJlZm9yZSxcbi52aWRlby1qcy52aWRlby1qczpsYW5nKGVuLU5aKSAudmpzLXN1YnMtY2Fwcy1idXR0b24gLnZqcy1pY29uLXBsYWNlaG9sZGVyOmJlZm9yZSwgLnZpZGVvLWpzIC52anMtc3VidGl0bGVzLWJ1dHRvbiAudmpzLWljb24tcGxhY2Vob2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGNcIjtcbn1cblxuLnZqcy1pY29uLWNhcHRpb25zLCAudmlkZW8tanM6bGFuZyhlbikgLnZqcy1zdWJzLWNhcHMtYnV0dG9uIC52anMtaWNvbi1wbGFjZWhvbGRlcixcbi52aWRlby1qczpsYW5nKGZyLUNBKSAudmpzLXN1YnMtY2Fwcy1idXR0b24gLnZqcy1pY29uLXBsYWNlaG9sZGVyLCAudmlkZW8tanMgLnZqcy1jYXB0aW9ucy1idXR0b24gLnZqcy1pY29uLXBsYWNlaG9sZGVyIHtcbiAgZm9udC1mYW1pbHk6IFZpZGVvSlM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi52anMtaWNvbi1jYXB0aW9uczpiZWZvcmUsIC52aWRlby1qczpsYW5nKGVuKSAudmpzLXN1YnMtY2Fwcy1idXR0b24gLnZqcy1pY29uLXBsYWNlaG9sZGVyOmJlZm9yZSxcbi52aWRlby1qczpsYW5nKGZyLUNBKSAudmpzLXN1YnMtY2Fwcy1idXR0b24gLnZqcy1pY29uLXBsYWNlaG9sZGVyOmJlZm9yZSwgLnZpZGVvLWpzIC52anMtY2FwdGlvbnMtYnV0dG9uIC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwZFwiO1xufVxuXG4udmpzLWljb24tY2hhcHRlcnMsIC52aWRlby1qcyAudmpzLWNoYXB0ZXJzLWJ1dHRvbiAudmpzLWljb24tcGxhY2Vob2xkZXIge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLWNoYXB0ZXJzOmJlZm9yZSwgLnZpZGVvLWpzIC52anMtY2hhcHRlcnMtYnV0dG9uIC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwZVwiO1xufVxuXG4udmpzLWljb24tc2hhcmUge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBmXCI7XG59XG5cbi52anMtaWNvbi1jb2cge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMFwiO1xufVxuXG4udmpzLWljb24tY2lyY2xlLCAudmpzLXNlZWstdG8tbGl2ZS1jb250cm9sIC52anMtaWNvbi1wbGFjZWhvbGRlciwgLnZpZGVvLWpzIC52anMtdm9sdW1lLWxldmVsLCAudmlkZW8tanMgLnZqcy1wbGF5LXByb2dyZXNzIHtcbiAgZm9udC1mYW1pbHk6IFZpZGVvSlM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi52anMtaWNvbi1jaXJjbGU6YmVmb3JlLCAudmpzLXNlZWstdG8tbGl2ZS1jb250cm9sIC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUsIC52aWRlby1qcyAudmpzLXZvbHVtZS1sZXZlbDpiZWZvcmUsIC52aWRlby1qcyAudmpzLXBsYXktcHJvZ3Jlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjtcbn1cblxuLnZqcy1pY29uLWNpcmNsZS1vdXRsaW5lIHtcbiAgZm9udC1mYW1pbHk6IFZpZGVvSlM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi52anMtaWNvbi1jaXJjbGUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMlwiO1xufVxuXG4udmpzLWljb24tY2lyY2xlLWlubmVyLWNpcmNsZSB7XG4gIGZvbnQtZmFtaWx5OiBWaWRlb0pTO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udmpzLWljb24tY2lyY2xlLWlubmVyLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExM1wiO1xufVxuXG4udmpzLWljb24taGQge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLWhkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE0XCI7XG59XG5cbi52anMtaWNvbi1jYW5jZWwsIC52aWRlby1qcyAudmpzLWNvbnRyb2wudmpzLWNsb3NlLWJ1dHRvbiAudmpzLWljb24tcGxhY2Vob2xkZXIge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLWNhbmNlbDpiZWZvcmUsIC52aWRlby1qcyAudmpzLWNvbnRyb2wudmpzLWNsb3NlLWJ1dHRvbiAudmpzLWljb24tcGxhY2Vob2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTVcIjtcbn1cblxuLnZqcy1pY29uLXJlcGxheSwgLnZpZGVvLWpzIC52anMtcGxheS1jb250cm9sLnZqcy1lbmRlZCAudmpzLWljb24tcGxhY2Vob2xkZXIge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLXJlcGxheTpiZWZvcmUsIC52aWRlby1qcyAudmpzLXBsYXktY29udHJvbC52anMtZW5kZWQgLnZqcy1pY29uLXBsYWNlaG9sZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE2XCI7XG59XG5cbi52anMtaWNvbi1mYWNlYm9vayB7XG4gIGZvbnQtZmFtaWx5OiBWaWRlb0pTO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udmpzLWljb24tZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTdcIjtcbn1cblxuLnZqcy1pY29uLWdwbHVzIHtcbiAgZm9udC1mYW1pbHk6IFZpZGVvSlM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi52anMtaWNvbi1ncGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExOFwiO1xufVxuXG4udmpzLWljb24tbGlua2VkaW4ge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE5XCI7XG59XG5cbi52anMtaWNvbi10d2l0dGVyIHtcbiAgZm9udC1mYW1pbHk6IFZpZGVvSlM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi52anMtaWNvbi10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFhXCI7XG59XG5cbi52anMtaWNvbi10dW1ibHIge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLXR1bWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYlwiO1xufVxuXG4udmpzLWljb24tcGludGVyZXN0IHtcbiAgZm9udC1mYW1pbHk6IFZpZGVvSlM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi52anMtaWNvbi1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWNcIjtcbn1cblxuLnZqcy1pY29uLWF1ZGlvLWRlc2NyaXB0aW9uLCAudmlkZW8tanMgLnZqcy1kZXNjcmlwdGlvbnMtYnV0dG9uIC52anMtaWNvbi1wbGFjZWhvbGRlciB7XG4gIGZvbnQtZmFtaWx5OiBWaWRlb0pTO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udmpzLWljb24tYXVkaW8tZGVzY3JpcHRpb246YmVmb3JlLCAudmlkZW8tanMgLnZqcy1kZXNjcmlwdGlvbnMtYnV0dG9uIC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZFwiO1xufVxuXG4udmpzLWljb24tYXVkaW8sIC52aWRlby1qcyAudmpzLWF1ZGlvLWJ1dHRvbiAudmpzLWljb24tcGxhY2Vob2xkZXIge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLWF1ZGlvOmJlZm9yZSwgLnZpZGVvLWpzIC52anMtYXVkaW8tYnV0dG9uIC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZVwiO1xufVxuXG4udmpzLWljb24tbmV4dC1pdGVtIHtcbiAgZm9udC1mYW1pbHk6IFZpZGVvSlM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi52anMtaWNvbi1uZXh0LWl0ZW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWZcIjtcbn1cblxuLnZqcy1pY29uLXByZXZpb3VzLWl0ZW0ge1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnZqcy1pY29uLXByZXZpb3VzLWl0ZW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjBcIjtcbn1cblxuLnZqcy1pY29uLXBpY3R1cmUtaW4tcGljdHVyZS1lbnRlciwgLnZpZGVvLWpzIC52anMtcGljdHVyZS1pbi1waWN0dXJlLWNvbnRyb2wgLnZqcy1pY29uLXBsYWNlaG9sZGVyIHtcbiAgZm9udC1mYW1pbHk6IFZpZGVvSlM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi52anMtaWNvbi1waWN0dXJlLWluLXBpY3R1cmUtZW50ZXI6YmVmb3JlLCAudmlkZW8tanMgLnZqcy1waWN0dXJlLWluLXBpY3R1cmUtY29udHJvbCAudmpzLWljb24tcGxhY2Vob2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjFcIjtcbn1cblxuLnZqcy1pY29uLXBpY3R1cmUtaW4tcGljdHVyZS1leGl0LCAudmlkZW8tanMudmpzLXBpY3R1cmUtaW4tcGljdHVyZSAudmpzLXBpY3R1cmUtaW4tcGljdHVyZS1jb250cm9sIC52anMtaWNvbi1wbGFjZWhvbGRlciB7XG4gIGZvbnQtZmFtaWx5OiBWaWRlb0pTO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udmpzLWljb24tcGljdHVyZS1pbi1waWN0dXJlLWV4aXQ6YmVmb3JlLCAudmlkZW8tanMudmpzLXBpY3R1cmUtaW4tcGljdHVyZSAudmpzLXBpY3R1cmUtaW4tcGljdHVyZS1jb250cm9sIC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMlwiO1xufVxuXG4udmlkZW8tanMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgd29yZC1icmVhazogaW5pdGlhbDtcbn1cbi52aWRlby1qczotbW96LWZ1bGwtc2NyZWVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnZpZGVvLWpzOi13ZWJraXQtZnVsbC1zY3JlZW4ge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnZpZGVvLWpzW3RhYmluZGV4PVwiLTFcIl0ge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4udmlkZW8tanMgKixcbi52aWRlby1qcyAqOmJlZm9yZSxcbi52aWRlby1qcyAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLnZpZGVvLWpzIHVsIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi52aWRlby1qcy52anMtZmx1aWQsXG4udmlkZW8tanMudmpzLTE2LTksXG4udmlkZW8tanMudmpzLTQtMyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbn1cblxuLnZpZGVvLWpzLnZqcy0xNi05IHtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTtcbn1cblxuLnZpZGVvLWpzLnZqcy00LTMge1xuICBwYWRkaW5nLXRvcDogNzUlO1xufVxuXG4udmlkZW8tanMudmpzLWZpbGwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4udmlkZW8tanMgLnZqcy10ZWNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbmJvZHkudmpzLWZ1bGwtd2luZG93IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi52anMtZnVsbC13aW5kb3cgLnZpZGVvLWpzLnZqcy1mdWxsc2NyZWVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxMDAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi52aWRlby1qcy52anMtZnVsbHNjcmVlbjpub3QoLnZqcy1pb3MtbmF0aXZlLWZzKSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4udmlkZW8tanMudmpzLWZ1bGxzY3JlZW4udmpzLXVzZXItaW5hY3RpdmUge1xuICBjdXJzb3I6IG5vbmU7XG59XG5cbi52anMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udmpzLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi52aWRlby1qcyAudmpzLW9mZnNjcmVlbiB7XG4gIGhlaWdodDogMXB4O1xuICBsZWZ0OiAtOTk5OXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLnZqcy1sb2NrLXNob3dpbmcge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4udmpzLW5vLWpzIHtcbiAgcGFkZGluZzogMjBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDMwMHB4O1xuICBoZWlnaHQ6IDE1MHB4O1xuICBtYXJnaW46IDBweCBhdXRvO1xufVxuXG4udmpzLW5vLWpzIGEsXG4udmpzLW5vLWpzIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNjZBOENDO1xufVxuXG4udmlkZW8tanMgLnZqcy1iaWctcGxheS1idXR0b24ge1xuICBmb250LXNpemU6IDNlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNjMzMzJlbTtcbiAgd2lkdGg6IDNlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICBsZWZ0OiAxMHB4O1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDE7XG4gIGJvcmRlcjogMC4wNjY2NmVtIHNvbGlkICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQjMzM0Y7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDMsIDUxLCA2MywgMC43KTtcbiAgYm9yZGVyLXJhZGl1czogMC4zZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xufVxuLnZqcy1iaWctcGxheS1jZW50ZXJlZCAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC0wLjgxNjY2ZW07XG4gIG1hcmdpbi1sZWZ0OiAtMS41ZW07XG59XG5cbi52aWRlby1qczpob3ZlciAudmpzLWJpZy1wbGF5LWJ1dHRvbixcbi52aWRlby1qcyAudmpzLWJpZy1wbGF5LWJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzczODU5ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMTUsIDEzMywgMTU5LCAwLjUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMHM7XG59XG5cbi52anMtY29udHJvbHMtZGlzYWJsZWQgLnZqcy1iaWctcGxheS1idXR0b24sXG4udmpzLWhhcy1zdGFydGVkIC52anMtYmlnLXBsYXktYnV0dG9uLFxuLnZqcy11c2luZy1uYXRpdmUtY29udHJvbHMgLnZqcy1iaWctcGxheS1idXR0b24sXG4udmpzLWVycm9yIC52anMtYmlnLXBsYXktYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnZqcy1oYXMtc3RhcnRlZC52anMtcGF1c2VkLnZqcy1zaG93LWJpZy1wbGF5LWJ1dHRvbi1vbi1wYXVzZSAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udmlkZW8tanMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLnZqcy1jb250cm9sIC52anMtYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnZpZGVvLWpzIC52anMtY29udHJvbC52anMtY2xvc2UtYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDNlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwLjVlbTtcbiAgei1pbmRleDogMjtcbn1cbi52aWRlby1qcyAudmpzLW1vZGFsLWRpYWxvZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAwLCAwLCAwLjgpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi52aWRlby1qcyAudmpzLW1vZGFsLWRpYWxvZyA+ICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4udmpzLW1vZGFsLWRpYWxvZyAudmpzLW1vZGFsLWRpYWxvZy1jb250ZW50IHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcGFkZGluZzogMjBweCAyNHB4O1xuICB6LWluZGV4OiAxO1xufVxuXG4udmpzLW1lbnUtYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udmpzLW1lbnUtYnV0dG9uLnZqcy1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnZqcy13b3JraW5naG92ZXIgLnZqcy1tZW51LWJ1dHRvbi52anMtZGlzYWJsZWQ6aG92ZXIgLnZqcy1tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnZqcy1tZW51IC52anMtbWVudS1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4udmpzLW1lbnUgLnZqcy1tZW51LWNvbnRlbnQgPiAqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnZqcy1zY3J1YmJpbmcgLnZqcy1jb250cm9sLnZqcy1tZW51LWJ1dHRvbjpob3ZlciAudmpzLW1lbnUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udmpzLW1lbnUgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMmVtIDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuXG4udmpzLW1lbnUgbGkudmpzLW1lbnUtaXRlbTpmb2N1cyxcbi52anMtbWVudSBsaS52anMtbWVudS1pdGVtOmhvdmVyLFxuLmpzLWZvY3VzLXZpc2libGUgLnZqcy1tZW51IGxpLnZqcy1tZW51LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzM4NTlmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExNSwgMTMzLCAxNTksIDAuNSk7XG59XG5cbi52anMtbWVudSBsaS52anMtc2VsZWN0ZWQsXG4udmpzLW1lbnUgbGkudmpzLXNlbGVjdGVkOmZvY3VzLFxuLnZqcy1tZW51IGxpLnZqcy1zZWxlY3RlZDpob3Zlcixcbi5qcy1mb2N1cy12aXNpYmxlIC52anMtbWVudSBsaS52anMtc2VsZWN0ZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzJCMzMzRjtcbn1cblxuLnZqcy1tZW51IGxpLnZqcy1tZW51LXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgMC4zZW0gMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnZqcy1tZW51LWJ1dHRvbi1wb3B1cCAudmpzLW1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwZW07XG4gIGxlZnQ6IC0zZW07XG4gIGhlaWdodDogMGVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSg0MywgNTEsIDYzLCAwLjcpO1xufVxuXG4udmpzLW1lbnUtYnV0dG9uLXBvcHVwIC52anMtbWVudSAudmpzLW1lbnUtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQjMzM0Y7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDMsIDUxLCA2MywgMC43KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAxLjVlbTtcbiAgbWF4LWhlaWdodDogMTVlbTtcbn1cblxuLnZqcy1sYXlvdXQtdGlueSAudmpzLW1lbnUtYnV0dG9uLXBvcHVwIC52anMtbWVudSAudmpzLW1lbnUtY29udGVudCxcbi52anMtbGF5b3V0LXgtc21hbGwgLnZqcy1tZW51LWJ1dHRvbi1wb3B1cCAudmpzLW1lbnUgLnZqcy1tZW51LWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiA1ZW07XG59XG5cbi52anMtbGF5b3V0LXNtYWxsIC52anMtbWVudS1idXR0b24tcG9wdXAgLnZqcy1tZW51IC52anMtbWVudS1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogMTBlbTtcbn1cblxuLnZqcy1sYXlvdXQtbWVkaXVtIC52anMtbWVudS1idXR0b24tcG9wdXAgLnZqcy1tZW51IC52anMtbWVudS1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogMTRlbTtcbn1cblxuLnZqcy1sYXlvdXQtbGFyZ2UgLnZqcy1tZW51LWJ1dHRvbi1wb3B1cCAudmpzLW1lbnUgLnZqcy1tZW51LWNvbnRlbnQsXG4udmpzLWxheW91dC14LWxhcmdlIC52anMtbWVudS1idXR0b24tcG9wdXAgLnZqcy1tZW51IC52anMtbWVudS1jb250ZW50LFxuLnZqcy1sYXlvdXQtaHVnZSAudmpzLW1lbnUtYnV0dG9uLXBvcHVwIC52anMtbWVudSAudmpzLW1lbnUtY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IDI1ZW07XG59XG5cbi52anMtd29ya2luZ2hvdmVyIC52anMtbWVudS1idXR0b24tcG9wdXAudmpzLWhvdmVyIC52anMtbWVudSxcbi52anMtbWVudS1idXR0b24tcG9wdXAgLnZqcy1tZW51LnZqcy1sb2NrLXNob3dpbmcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnZpZGVvLWpzIC52anMtbWVudS1idXR0b24taW5saW5lIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi52aWRlby1qcyAudmpzLW1lbnUtYnV0dG9uLWlubGluZTpiZWZvcmUge1xuICB3aWR0aDogMi4yMjIyMjIyMjJlbTtcbn1cblxuLnZpZGVvLWpzIC52anMtbWVudS1idXR0b24taW5saW5lOmhvdmVyLFxuLnZpZGVvLWpzIC52anMtbWVudS1idXR0b24taW5saW5lOmZvY3VzLFxuLnZpZGVvLWpzIC52anMtbWVudS1idXR0b24taW5saW5lLnZqcy1zbGlkZXItYWN0aXZlLFxuLnZpZGVvLWpzLnZqcy1uby1mbGV4IC52anMtbWVudS1idXR0b24taW5saW5lIHtcbiAgd2lkdGg6IDEyZW07XG59XG5cbi52anMtbWVudS1idXR0b24taW5saW5lIC52anMtbWVudSB7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNGVtO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG59XG5cbi52anMtbWVudS1idXR0b24taW5saW5lOmhvdmVyIC52anMtbWVudSxcbi52anMtbWVudS1idXR0b24taW5saW5lOmZvY3VzIC52anMtbWVudSxcbi52anMtbWVudS1idXR0b24taW5saW5lLnZqcy1zbGlkZXItYWN0aXZlIC52anMtbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAxO1xufVxuXG4udmpzLW5vLWZsZXggLnZqcy1tZW51LWJ1dHRvbi1pbmxpbmUgLnZqcy1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi52anMtbm8tZmxleCAudmpzLW1lbnUtYnV0dG9uLWlubGluZTpob3ZlciAudmpzLW1lbnUsXG4udmpzLW5vLWZsZXggLnZqcy1tZW51LWJ1dHRvbi1pbmxpbmU6Zm9jdXMgLnZqcy1tZW51LFxuLnZqcy1uby1mbGV4IC52anMtbWVudS1idXR0b24taW5saW5lLnZqcy1zbGlkZXItYWN0aXZlIC52anMtbWVudSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4udmpzLW1lbnUtYnV0dG9uLWlubGluZSAudmpzLW1lbnUtY29udGVudCB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnZpZGVvLWpzIC52anMtY29udHJvbC1iYXIge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDNlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCMzMzRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MywgNTEsIDYzLCAwLjcpO1xufVxuXG4udmpzLWhhcy1zdGFydGVkIC52anMtY29udHJvbC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuMXMsIG9wYWNpdHkgMC4xcztcbn1cblxuLnZqcy1oYXMtc3RhcnRlZC52anMtdXNlci1pbmFjdGl2ZS52anMtcGxheWluZyAudmpzLWNvbnRyb2wtYmFyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAxcywgb3BhY2l0eSAxcztcbn1cblxuLnZqcy1jb250cm9scy1kaXNhYmxlZCAudmpzLWNvbnRyb2wtYmFyLFxuLnZqcy11c2luZy1uYXRpdmUtY29udHJvbHMgLnZqcy1jb250cm9sLWJhcixcbi52anMtZXJyb3IgLnZqcy1jb250cm9sLWJhciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnZqcy1hdWRpby52anMtaGFzLXN0YXJ0ZWQudmpzLXVzZXItaW5hY3RpdmUudmpzLXBsYXlpbmcgLnZqcy1jb250cm9sLWJhciB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi52anMtaGFzLXN0YXJ0ZWQudmpzLW5vLWZsZXggLnZqcy1jb250cm9sLWJhciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udmlkZW8tanMgLnZqcy1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNGVtO1xuICBmbGV4OiBub25lO1xufVxuXG4udmpzLWJ1dHRvbiA+IC52anMtaWNvbi1wbGFjZWhvbGRlcjpiZWZvcmUge1xuICBmb250LXNpemU6IDEuOGVtO1xuICBsaW5lLWhlaWdodDogMS42Nztcbn1cblxuLnZpZGVvLWpzIC52anMtY29udHJvbDpmb2N1czpiZWZvcmUsXG4udmlkZW8tanMgLnZqcy1jb250cm9sOmhvdmVyOmJlZm9yZSxcbi52aWRlby1qcyAudmpzLWNvbnRyb2w6Zm9jdXMge1xuICB0ZXh0LXNoYWRvdzogMGVtIDBlbSAxZW0gd2hpdGU7XG59XG5cbi52aWRlby1qcyAudmpzLWNvbnRyb2wtdGV4dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLnZqcy1uby1mbGV4IC52anMtY29udHJvbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi52aWRlby1qcyAudmpzLWN1c3RvbS1jb250cm9sLXNwYWNlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi52aWRlby1qcyAudmpzLXByb2dyZXNzLWNvbnRyb2wge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsZXg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi13aWR0aDogNGVtO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi52aWRlby1qcyAudmpzLXByb2dyZXNzLWNvbnRyb2wuZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi52anMtbGl2ZSAudmpzLXByb2dyZXNzLWNvbnRyb2wge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udmpzLWxpdmV1aSAudmpzLXByb2dyZXNzLWNvbnRyb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udmpzLW5vLWZsZXggLnZqcy1wcm9ncmVzcy1jb250cm9sIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi52aWRlby1qcyAudmpzLXByb2dyZXNzLWhvbGRlciB7XG4gIGZsZXg6IGF1dG87XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICBoZWlnaHQ6IDAuM2VtO1xufVxuXG4udmlkZW8tanMgLnZqcy1wcm9ncmVzcy1jb250cm9sIC52anMtcHJvZ3Jlc3MtaG9sZGVyIHtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG5cbi52aWRlby1qcyAudmpzLXByb2dyZXNzLWNvbnRyb2w6aG92ZXIgLnZqcy1wcm9ncmVzcy1ob2xkZXIge1xuICBmb250LXNpemU6IDEuNjY2NjY2NjY2N2VtO1xufVxuXG4udmlkZW8tanMgLnZqcy1wcm9ncmVzcy1jb250cm9sOmhvdmVyIC52anMtcHJvZ3Jlc3MtaG9sZGVyLmRpc2FibGVkIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi52aWRlby1qcyAudmpzLXByb2dyZXNzLWhvbGRlciAudmpzLXBsYXktcHJvZ3Jlc3MsXG4udmlkZW8tanMgLnZqcy1wcm9ncmVzcy1ob2xkZXIgLnZqcy1sb2FkLXByb2dyZXNzLFxuLnZpZGVvLWpzIC52anMtcHJvZ3Jlc3MtaG9sZGVyIC52anMtbG9hZC1wcm9ncmVzcyBkaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDA7XG59XG5cbi52aWRlby1qcyAudmpzLXBsYXktcHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLnZpZGVvLWpzIC52anMtcGxheS1wcm9ncmVzczpiZWZvcmUge1xuICBmb250LXNpemU6IDAuOWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMC41ZW07XG4gIHRvcDogLTAuMzMzMzMzMzMzM2VtO1xuICB6LWluZGV4OiAxO1xufVxuXG4udmlkZW8tanMgLnZqcy1sb2FkLXByb2dyZXNzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMTUsIDEzMywgMTU5LCAwLjUpO1xufVxuXG4udmlkZW8tanMgLnZqcy1sb2FkLXByb2dyZXNzIGRpdiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTE1LCAxMzMsIDE1OSwgMC43NSk7XG59XG5cbi52aWRlby1qcyAudmpzLXRpbWUtdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgYm9yZGVyLXJhZGl1czogMC4zZW07XG4gIGNvbG9yOiAjMDAwO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZzogNnB4IDhweCA4cHggOHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zLjRlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xufVxuXG4udmlkZW8tanMgLnZqcy1wcm9ncmVzcy1ob2xkZXI6Zm9jdXMgLnZqcy10aW1lLXRvb2x0aXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udmlkZW8tanMgLnZqcy1wcm9ncmVzcy1jb250cm9sOmhvdmVyIC52anMtdGltZS10b29sdGlwLFxuLnZpZGVvLWpzIC52anMtcHJvZ3Jlc3MtY29udHJvbDpob3ZlciAudmpzLXByb2dyZXNzLWhvbGRlcjpmb2N1cyAudmpzLXRpbWUtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNmVtO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4udmlkZW8tanMgLnZqcy1wcm9ncmVzcy1jb250cm9sLmRpc2FibGVkOmhvdmVyIC52anMtdGltZS10b29sdGlwIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi52aWRlby1qcyAudmpzLXByb2dyZXNzLWNvbnRyb2wgLnZqcy1tb3VzZS1kaXNwbGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHotaW5kZXg6IDE7XG59XG5cbi52anMtbm8tZmxleCAudmpzLXByb2dyZXNzLWNvbnRyb2wgLnZqcy1tb3VzZS1kaXNwbGF5IHtcbiAgei1pbmRleDogMDtcbn1cblxuLnZpZGVvLWpzIC52anMtcHJvZ3Jlc3MtY29udHJvbDpob3ZlciAudmpzLW1vdXNlLWRpc3BsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnZpZGVvLWpzLnZqcy11c2VyLWluYWN0aXZlIC52anMtcHJvZ3Jlc3MtY29udHJvbCAudmpzLW1vdXNlLWRpc3BsYXkge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMXMsIG9wYWNpdHkgMXM7XG59XG5cbi52aWRlby1qcy52anMtdXNlci1pbmFjdGl2ZS52anMtbm8tZmxleCAudmpzLXByb2dyZXNzLWNvbnRyb2wgLnZqcy1tb3VzZS1kaXNwbGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnZqcy1tb3VzZS1kaXNwbGF5IC52anMtdGltZS10b29sdGlwIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cblxuLnZpZGVvLWpzIC52anMtc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwLjQ1ZW0gMCAwLjQ1ZW07XG4gIC8qIGlPUyBTYWZhcmkgKi9cbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAvKiBTYWZhcmkgKi9cbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLyogS29ucXVlcm9yIEhUTUwgKi9cbiAgLyogRmlyZWZveCAqL1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAvKiBJbnRlcm5ldCBFeHBsb3Jlci9FZGdlICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLyogTm9uLXByZWZpeGVkIHZlcnNpb24sIGN1cnJlbnRseSBzdXBwb3J0ZWQgYnkgQ2hyb21lIGFuZCBPcGVyYSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzczODU5ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMTUsIDEzMywgMTU5LCAwLjUpO1xufVxuXG4udmlkZW8tanMgLnZqcy1zbGlkZXIuZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi52aWRlby1qcyAudmpzLXNsaWRlcjpmb2N1cyB7XG4gIHRleHQtc2hhZG93OiAwZW0gMGVtIDFlbSB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMCAwIDFlbSAjZmZmO1xufVxuXG4udmlkZW8tanMgLnZqcy1tdXRlLWNvbnRyb2wge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsZXg6IG5vbmU7XG59XG4udmlkZW8tanMgLnZqcy12b2x1bWUtY29udHJvbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi52aWRlby1qcyAudmpzLXZvbHVtZS1jb250cm9sLnZqcy12b2x1bWUtaG9yaXpvbnRhbCB7XG4gIHdpZHRoOiA1ZW07XG59XG5cbi52aWRlby1qcyAudmpzLXZvbHVtZS1wYW5lbCAudmpzLXZvbHVtZS1jb250cm9sIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuXG4udmlkZW8tanMgLnZqcy12b2x1bWUtcGFuZWwge1xuICB0cmFuc2l0aW9uOiB3aWR0aCAxcztcbn1cbi52aWRlby1qcyAudmpzLXZvbHVtZS1wYW5lbC52anMtaG92ZXIgLnZqcy12b2x1bWUtY29udHJvbCwgLnZpZGVvLWpzIC52anMtdm9sdW1lLXBhbmVsOmFjdGl2ZSAudmpzLXZvbHVtZS1jb250cm9sLCAudmlkZW8tanMgLnZqcy12b2x1bWUtcGFuZWw6Zm9jdXMgLnZqcy12b2x1bWUtY29udHJvbCwgLnZpZGVvLWpzIC52anMtdm9sdW1lLXBhbmVsIC52anMtdm9sdW1lLWNvbnRyb2w6YWN0aXZlLCAudmlkZW8tanMgLnZqcy12b2x1bWUtcGFuZWwudmpzLWhvdmVyIC52anMtbXV0ZS1jb250cm9sIH4gLnZqcy12b2x1bWUtY29udHJvbCwgLnZpZGVvLWpzIC52anMtdm9sdW1lLXBhbmVsIC52anMtdm9sdW1lLWNvbnRyb2wudmpzLXNsaWRlci1hY3RpdmUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMC4xcywgb3BhY2l0eSAwLjFzLCBoZWlnaHQgMC4xcywgd2lkdGggMC4xcywgbGVmdCAwcywgdG9wIDBzO1xufVxuLnZpZGVvLWpzIC52anMtdm9sdW1lLXBhbmVsLnZqcy1ob3ZlciAudmpzLXZvbHVtZS1jb250cm9sLnZqcy12b2x1bWUtaG9yaXpvbnRhbCwgLnZpZGVvLWpzIC52anMtdm9sdW1lLXBhbmVsOmFjdGl2ZSAudmpzLXZvbHVtZS1jb250cm9sLnZqcy12b2x1bWUtaG9yaXpvbnRhbCwgLnZpZGVvLWpzIC52anMtdm9sdW1lLXBhbmVsOmZvY3VzIC52anMtdm9sdW1lLWNvbnRyb2wudmpzLXZvbHVtZS1ob3Jpem9udGFsLCAudmlkZW8tanMgLnZqcy12b2x1bWUtcGFuZWwgLnZqcy12b2x1bWUtY29udHJvbDphY3RpdmUudmpzLXZvbHVtZS1ob3Jpem9udGFsLCAudmlkZW8tanMgLnZqcy12b2x1bWUtcGFuZWwudmpzLWhvdmVyIC52anMtbXV0ZS1jb250cm9sIH4gLnZqcy12b2x1bWUtY29udHJvbC52anMtdm9sdW1lLWhvcml6b250YWwsIC52aWRlby1qcyAudmpzLXZvbHVtZS1wYW5lbCAudmpzLXZvbHVtZS1jb250cm9sLnZqcy1zbGlkZXItYWN0aXZlLnZqcy12b2x1bWUtaG9yaXpvbnRhbCB7XG4gIHdpZHRoOiA1ZW07XG4gIGhlaWdodDogM2VtO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udmlkZW8tanMgLnZqcy12b2x1bWUtcGFuZWwudmpzLWhvdmVyIC52anMtdm9sdW1lLWNvbnRyb2wudmpzLXZvbHVtZS12ZXJ0aWNhbCwgLnZpZGVvLWpzIC52anMtdm9sdW1lLXBhbmVsOmFjdGl2ZSAudmpzLXZvbHVtZS1jb250cm9sLnZqcy12b2x1bWUtdmVydGljYWwsIC52aWRlby1qcyAudmpzLXZvbHVtZS1wYW5lbDpmb2N1cyAudmpzLXZvbHVtZS1jb250cm9sLnZqcy12b2x1bWUtdmVydGljYWwsIC52aWRlby1qcyAudmpzLXZvbHVtZS1wYW5lbCAudmpzLXZvbHVtZS1jb250cm9sOmFjdGl2ZS52anMtdm9sdW1lLXZlcnRpY2FsLCAudmlkZW8tanMgLnZqcy12b2x1bWUtcGFuZWwudmpzLWhvdmVyIC52anMtbXV0ZS1jb250cm9sIH4gLnZqcy12b2x1bWUtY29udHJvbC52anMtdm9sdW1lLXZlcnRpY2FsLCAudmlkZW8tanMgLnZqcy12b2x1bWUtcGFuZWwgLnZqcy12b2x1bWUtY29udHJvbC52anMtc2xpZGVyLWFjdGl2ZS52anMtdm9sdW1lLXZlcnRpY2FsIHtcbiAgbGVmdDogLTMuNWVtO1xuICB0cmFuc2l0aW9uOiBsZWZ0IDBzO1xufVxuLnZpZGVvLWpzIC52anMtdm9sdW1lLXBhbmVsLnZqcy12b2x1bWUtcGFuZWwtaG9yaXpvbnRhbC52anMtaG92ZXIsIC52aWRlby1qcyAudmpzLXZvbHVtZS1wYW5lbC52anMtdm9sdW1lLXBhbmVsLWhvcml6b250YWw6YWN0aXZlLCAudmlkZW8tanMgLnZqcy12b2x1bWUtcGFuZWwudmpzLXZvbHVtZS1wYW5lbC1ob3Jpem9udGFsLnZqcy1zbGlkZXItYWN0aXZlIHtcbiAgd2lkdGg6IDEwZW07XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXM7XG59XG4udmlkZW8tanMgLnZqcy12b2x1bWUtcGFuZWwudmpzLXZvbHVtZS1wYW5lbC1ob3Jpem9udGFsLnZqcy1tdXRlLXRvZ2dsZS1vbmx5IHtcbiAgd2lkdGg6IDRlbTtcbn1cblxuLnZpZGVvLWpzIC52anMtdm9sdW1lLXBhbmVsIC52anMtdm9sdW1lLWNvbnRyb2wudmpzLXZvbHVtZS12ZXJ0aWNhbCB7XG4gIGhlaWdodDogOGVtO1xuICB3aWR0aDogM2VtO1xuICBsZWZ0OiAtMzAwMGVtO1xuICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDFzLCBvcGFjaXR5IDFzLCBoZWlnaHQgMXMgMXMsIHdpZHRoIDFzIDFzLCBsZWZ0IDFzIDFzLCB0b3AgMXMgMXM7XG59XG5cbi52aWRlby1qcyAudmpzLXZvbHVtZS1wYW5lbCAudmpzLXZvbHVtZS1jb250cm9sLnZqcy12b2x1bWUtaG9yaXpvbnRhbCB7XG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMXMsIG9wYWNpdHkgMXMsIGhlaWdodCAxcyAxcywgd2lkdGggMXMsIGxlZnQgMXMgMXMsIHRvcCAxcyAxcztcbn1cblxuLnZpZGVvLWpzLnZqcy1uby1mbGV4IC52anMtdm9sdW1lLXBhbmVsIC52anMtdm9sdW1lLWNvbnRyb2wudmpzLXZvbHVtZS1ob3Jpem9udGFsIHtcbiAgd2lkdGg6IDVlbTtcbiAgaGVpZ2h0OiAzZW07XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLnZpZGVvLWpzLnZqcy1uby1mbGV4IC52anMtdm9sdW1lLWNvbnRyb2wudmpzLXZvbHVtZS12ZXJ0aWNhbCxcbi52aWRlby1qcy52anMtbm8tZmxleCAudmpzLXZvbHVtZS1wYW5lbCAudmpzLXZvbHVtZS1jb250cm9sLnZqcy12b2x1bWUtdmVydGljYWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogM2VtO1xuICBsZWZ0OiAwLjVlbTtcbn1cblxuLnZpZGVvLWpzIC52anMtdm9sdW1lLXBhbmVsIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnZpZGVvLWpzIC52anMtdm9sdW1lLWJhciB7XG4gIG1hcmdpbjogMS4zNWVtIDAuNDVlbTtcbn1cblxuLnZqcy12b2x1bWUtYmFyLnZqcy1zbGlkZXItaG9yaXpvbnRhbCB7XG4gIHdpZHRoOiA1ZW07XG4gIGhlaWdodDogMC4zZW07XG59XG5cbi52anMtdm9sdW1lLWJhci52anMtc2xpZGVyLXZlcnRpY2FsIHtcbiAgd2lkdGg6IDAuM2VtO1xuICBoZWlnaHQ6IDVlbTtcbiAgbWFyZ2luOiAxLjM1ZW0gYXV0bztcbn1cblxuLnZpZGVvLWpzIC52anMtdm9sdW1lLWxldmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4udmlkZW8tanMgLnZqcy12b2x1bWUtbGV2ZWw6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4udmpzLXNsaWRlci12ZXJ0aWNhbCAudmpzLXZvbHVtZS1sZXZlbCB7XG4gIHdpZHRoOiAwLjNlbTtcbn1cbi52anMtc2xpZGVyLXZlcnRpY2FsIC52anMtdm9sdW1lLWxldmVsOmJlZm9yZSB7XG4gIHRvcDogLTAuNWVtO1xuICBsZWZ0OiAtMC4zZW07XG59XG5cbi52anMtc2xpZGVyLWhvcml6b250YWwgLnZqcy12b2x1bWUtbGV2ZWwge1xuICBoZWlnaHQ6IDAuM2VtO1xufVxuLnZqcy1zbGlkZXItaG9yaXpvbnRhbCAudmpzLXZvbHVtZS1sZXZlbDpiZWZvcmUge1xuICB0b3A6IC0wLjNlbTtcbiAgcmlnaHQ6IC0wLjVlbTtcbn1cblxuLnZpZGVvLWpzIC52anMtdm9sdW1lLXBhbmVsLnZqcy12b2x1bWUtcGFuZWwtdmVydGljYWwge1xuICB3aWR0aDogNGVtO1xufVxuXG4udmpzLXZvbHVtZS1iYXIudmpzLXNsaWRlci12ZXJ0aWNhbCAudmpzLXZvbHVtZS1sZXZlbCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnZqcy12b2x1bWUtYmFyLnZqcy1zbGlkZXItaG9yaXpvbnRhbCAudmpzLXZvbHVtZS1sZXZlbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udmlkZW8tanMgLnZqcy12b2x1bWUtdmVydGljYWwge1xuICB3aWR0aDogM2VtO1xuICBoZWlnaHQ6IDhlbTtcbiAgYm90dG9tOiA4ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQjMzM0Y7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDMsIDUxLCA2MywgMC43KTtcbn1cblxuLnZpZGVvLWpzIC52anMtdm9sdW1lLWhvcml6b250YWwgLnZqcy1tZW51IHtcbiAgbGVmdDogLTJlbTtcbn1cblxuLnZqcy1wb3N0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi52anMtaGFzLXN0YXJ0ZWQgLnZqcy1wb3N0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udmpzLWF1ZGlvLnZqcy1oYXMtc3RhcnRlZCAudmpzLXBvc3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udmpzLXVzaW5nLW5hdGl2ZS1jb250cm9scyAudmpzLXBvc3RlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi52aWRlby1qcyAudmpzLWxpdmUtY29udHJvbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBmbGV4OiBhdXRvO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDNlbTtcbn1cblxuLnZqcy1uby1mbGV4IC52anMtbGl2ZS1jb250cm9sIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi52aWRlby1qczpub3QoLnZqcy1saXZlKSAudmpzLWxpdmUtY29udHJvbCxcbi52aWRlby1qcy52anMtbGl2ZXVpIC52anMtbGl2ZS1jb250cm9sIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnZpZGVvLWpzIC52anMtc2Vlay10by1saXZlLWNvbnRyb2wge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsZXg6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDNlbTtcbiAgd2lkdGg6IGF1dG87XG4gIG1pbi13aWR0aDogNGVtO1xufVxuXG4udmpzLW5vLWZsZXggLnZqcy1zZWVrLXRvLWxpdmUtY29udHJvbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udmlkZW8tanMudmpzLWxpdmU6bm90KC52anMtbGl2ZXVpKSAudmpzLXNlZWstdG8tbGl2ZS1jb250cm9sLFxuLnZpZGVvLWpzOm5vdCgudmpzLWxpdmUpIC52anMtc2Vlay10by1saXZlLWNvbnRyb2wge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udmpzLXNlZWstdG8tbGl2ZS1jb250cm9sLnZqcy1jb250cm9sLnZqcy1hdC1saXZlLWVkZ2Uge1xuICBjdXJzb3I6IGF1dG87XG59XG5cbi52anMtc2Vlay10by1saXZlLWNvbnRyb2wgLnZqcy1pY29uLXBsYWNlaG9sZGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgY29sb3I6ICM4ODg7XG59XG5cbi52anMtc2Vlay10by1saXZlLWNvbnRyb2wudmpzLWNvbnRyb2wudmpzLWF0LWxpdmUtZWRnZSAudmpzLWljb24tcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmVkO1xufVxuXG4udmlkZW8tanMgLnZqcy10aW1lLWNvbnRyb2wge1xuICBmbGV4OiBub25lO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDNlbTtcbiAgbWluLXdpZHRoOiAyZW07XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xufVxuXG4udmpzLWxpdmUgLnZqcy10aW1lLWNvbnRyb2wge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udmlkZW8tanMgLnZqcy1jdXJyZW50LXRpbWUsXG4udmpzLW5vLWZsZXggLnZqcy1jdXJyZW50LXRpbWUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udmlkZW8tanMgLnZqcy1kdXJhdGlvbixcbi52anMtbm8tZmxleCAudmpzLWR1cmF0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnZqcy10aW1lLWRpdmlkZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBsaW5lLWhlaWdodDogM2VtO1xufVxuXG4udmpzLWxpdmUgLnZqcy10aW1lLWRpdmlkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udmlkZW8tanMgLnZqcy1wbGF5LWNvbnRyb2wge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi52aWRlby1qcyAudmpzLXBsYXktY29udHJvbCAudmpzLWljb24tcGxhY2Vob2xkZXIge1xuICBmbGV4OiBub25lO1xufVxuXG4udmpzLXRleHQtdHJhY2stZGlzcGxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAzZW07XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udmlkZW8tanMudmpzLXVzZXItaW5hY3RpdmUudmpzLXBsYXlpbmcgLnZqcy10ZXh0LXRyYWNrLWRpc3BsYXkge1xuICBib3R0b206IDFlbTtcbn1cblxuLnZpZGVvLWpzIC52anMtdGV4dC10cmFjayB7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMC4xZW07XG59XG5cbi52anMtc3VidGl0bGVzIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi52anMtY2FwdGlvbnMge1xuICBjb2xvcjogI2ZjNjtcbn1cblxuLnZqcy10dC1jdWUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxudmlkZW86Oi13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1kaXNwbGF5IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zZW0pO1xufVxuXG4udmlkZW8tanMudmpzLXVzZXItaW5hY3RpdmUudmpzLXBsYXlpbmcgdmlkZW86Oi13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1kaXNwbGF5IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xLjVlbSk7XG59XG5cbi52aWRlby1qcyAudmpzLXBpY3R1cmUtaW4tcGljdHVyZS1jb250cm9sIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4OiBub25lO1xufVxuLnZpZGVvLWpzIC52anMtZnVsbHNjcmVlbi1jb250cm9sIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4OiBub25lO1xufVxuLnZqcy1wbGF5YmFjay1yYXRlID4gLnZqcy1tZW51LWJ1dHRvbixcbi52anMtcGxheWJhY2stcmF0ZSAudmpzLXBsYXliYWNrLXJhdGUtdmFsdWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnZqcy1wbGF5YmFjay1yYXRlIC52anMtcGxheWJhY2stcmF0ZS12YWx1ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBsaW5lLWhlaWdodDogMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udmpzLXBsYXliYWNrLXJhdGUgLnZqcy1tZW51IHtcbiAgd2lkdGg6IDRlbTtcbiAgbGVmdDogMGVtO1xufVxuXG4udmpzLWVycm9yIC52anMtZXJyb3ItZGlzcGxheSAudmpzLW1vZGFsLWRpYWxvZy1jb250ZW50IHtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udmpzLWVycm9yIC52anMtZXJyb3ItZGlzcGxheTpiZWZvcmUge1xuICBjb2xvcjogI2ZmZjtcbiAgY29udGVudDogXCJYXCI7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDRlbTtcbiAgbGVmdDogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IC0wLjVlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LXNoYWRvdzogMC4wNWVtIDAuMDVlbSAwLjFlbSAjMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogNTAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnZqcy1sb2FkaW5nLXNwaW5uZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTI1cHggMCAwIC0yNXB4O1xuICBvcGFjaXR5OiAwLjg1O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXI6IDZweCBzb2xpZCByZ2JhKDQzLCA1MSwgNjMsIDAuNyk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnZqcy1zZWVraW5nIC52anMtbG9hZGluZy1zcGlubmVyLFxuLnZqcy13YWl0aW5nIC52anMtbG9hZGluZy1zcGlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiB2anMtc3Bpbm5lci1zaG93IDBzIGxpbmVhciAwLjNzIGZvcndhcmRzO1xuICAgICAgICAgIGFuaW1hdGlvbjogdmpzLXNwaW5uZXItc2hvdyAwcyBsaW5lYXIgMC4zcyBmb3J3YXJkcztcbn1cblxuLnZqcy1sb2FkaW5nLXNwaW5uZXI6YmVmb3JlLFxuLnZqcy1sb2FkaW5nLXNwaW5uZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogLTZweDtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgb3BhY2l0eTogMTtcbiAgYm9yZGVyOiBpbmhlcml0O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiB3aGl0ZTtcbn1cblxuLnZqcy1zZWVraW5nIC52anMtbG9hZGluZy1zcGlubmVyOmJlZm9yZSxcbi52anMtc2Vla2luZyAudmpzLWxvYWRpbmctc3Bpbm5lcjphZnRlcixcbi52anMtd2FpdGluZyAudmpzLWxvYWRpbmctc3Bpbm5lcjpiZWZvcmUsXG4udmpzLXdhaXRpbmcgLnZqcy1sb2FkaW5nLXNwaW5uZXI6YWZ0ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbjogdmpzLXNwaW5uZXItc3BpbiAxLjFzIGN1YmljLWJlemllcigwLjYsIDAuMiwgMCwgMC44KSBpbmZpbml0ZSwgdmpzLXNwaW5uZXItZmFkZSAxLjFzIGxpbmVhciBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiB2anMtc3Bpbm5lci1zcGluIDEuMXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4yLCAwLCAwLjgpIGluZmluaXRlLCB2anMtc3Bpbm5lci1mYWRlIDEuMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4udmpzLXNlZWtpbmcgLnZqcy1sb2FkaW5nLXNwaW5uZXI6YmVmb3JlLFxuLnZqcy13YWl0aW5nIC52anMtbG9hZGluZy1zcGlubmVyOmJlZm9yZSB7XG4gIGJvcmRlci10b3AtY29sb3I6IHdoaXRlO1xufVxuXG4udmpzLXNlZWtpbmcgLnZqcy1sb2FkaW5nLXNwaW5uZXI6YWZ0ZXIsXG4udmpzLXdhaXRpbmcgLnZqcy1sb2FkaW5nLXNwaW5uZXI6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiB3aGl0ZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNDRzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuNDRzO1xufVxuXG5Aa2V5ZnJhbWVzIHZqcy1zcGlubmVyLXNob3cge1xuICB0byB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHZqcy1zcGlubmVyLXNob3cge1xuICB0byB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuQGtleWZyYW1lcyB2anMtc3Bpbm5lci1zcGluIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHZqcy1zcGlubmVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgdmpzLXNwaW5uZXItZmFkZSB7XG4gIDAlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzM4NTlmO1xuICB9XG4gIDIwJSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzczODU5ZjtcbiAgfVxuICAzNSUge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHdoaXRlO1xuICB9XG4gIDYwJSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzczODU5ZjtcbiAgfVxuICAxMDAlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzM4NTlmO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgdmpzLXNwaW5uZXItZmFkZSB7XG4gIDAlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzM4NTlmO1xuICB9XG4gIDIwJSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzczODU5ZjtcbiAgfVxuICAzNSUge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHdoaXRlO1xuICB9XG4gIDYwJSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzczODU5ZjtcbiAgfVxuICAxMDAlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzM4NTlmO1xuICB9XG59XG4udmpzLWNoYXB0ZXJzLWJ1dHRvbiAudmpzLW1lbnUgdWwge1xuICB3aWR0aDogMjRlbTtcbn1cblxuLnZpZGVvLWpzIC52anMtc3Vicy1jYXBzLWJ1dHRvbiArIC52anMtbWVudSAudmpzLWNhcHRpb25zLW1lbnUtaXRlbSAudmpzLW1lbnUtaXRlbS10ZXh0IC52anMtaWNvbi1wbGFjZWhvbGRlciB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLTAuMWVtO1xufVxuXG4udmlkZW8tanMgLnZqcy1zdWJzLWNhcHMtYnV0dG9uICsgLnZqcy1tZW51IC52anMtY2FwdGlvbnMtbWVudS1pdGVtIC52anMtbWVudS1pdGVtLXRleHQgLnZqcy1pY29uLXBsYWNlaG9sZGVyOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBWaWRlb0pTO1xuICBjb250ZW50OiBcIu+EjVwiO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLnZpZGVvLWpzIC52anMtYXVkaW8tYnV0dG9uICsgLnZqcy1tZW51IC52anMtbWFpbi1kZXNjLW1lbnUtaXRlbSAudmpzLW1lbnUtaXRlbS10ZXh0IC52anMtaWNvbi1wbGFjZWhvbGRlciB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLTAuMWVtO1xufVxuXG4udmlkZW8tanMgLnZqcy1hdWRpby1idXR0b24gKyAudmpzLW1lbnUgLnZqcy1tYWluLWRlc2MtbWVudS1pdGVtIC52anMtbWVudS1pdGVtLXRleHQgLnZqcy1pY29uLXBsYWNlaG9sZGVyOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBWaWRlb0pTO1xuICBjb250ZW50OiBcIiDvhJ1cIjtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXNtYWxsIC52anMtY3VycmVudC10aW1lLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQtc21hbGwgLnZqcy10aW1lLWRpdmlkZXIsXG4udmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC1zbWFsbCAudmpzLWR1cmF0aW9uLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQtc21hbGwgLnZqcy1yZW1haW5pbmctdGltZSxcbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXNtYWxsIC52anMtcGxheWJhY2stcmF0ZSxcbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXNtYWxsIC52anMtY2hhcHRlcnMtYnV0dG9uLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQtc21hbGwgLnZqcy1kZXNjcmlwdGlvbnMtYnV0dG9uLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQtc21hbGwgLnZqcy1jYXB0aW9ucy1idXR0b24sXG4udmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC1zbWFsbCAudmpzLXN1YnRpdGxlcy1idXR0b24sXG4udmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC1zbWFsbCAudmpzLWF1ZGlvLWJ1dHRvbixcbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXNtYWxsIC52anMtdm9sdW1lLWNvbnRyb2wsIC52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXgtc21hbGwgLnZqcy1jdXJyZW50LXRpbWUsXG4udmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC14LXNtYWxsIC52anMtdGltZS1kaXZpZGVyLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQteC1zbWFsbCAudmpzLWR1cmF0aW9uLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQteC1zbWFsbCAudmpzLXJlbWFpbmluZy10aW1lLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQteC1zbWFsbCAudmpzLXBsYXliYWNrLXJhdGUsXG4udmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC14LXNtYWxsIC52anMtY2hhcHRlcnMtYnV0dG9uLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQteC1zbWFsbCAudmpzLWRlc2NyaXB0aW9ucy1idXR0b24sXG4udmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC14LXNtYWxsIC52anMtY2FwdGlvbnMtYnV0dG9uLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQteC1zbWFsbCAudmpzLXN1YnRpdGxlcy1idXR0b24sXG4udmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC14LXNtYWxsIC52anMtYXVkaW8tYnV0dG9uLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQteC1zbWFsbCAudmpzLXZvbHVtZS1jb250cm9sLCAudmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC10aW55IC52anMtY3VycmVudC10aW1lLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQtdGlueSAudmpzLXRpbWUtZGl2aWRlcixcbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXRpbnkgLnZqcy1kdXJhdGlvbixcbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXRpbnkgLnZqcy1yZW1haW5pbmctdGltZSxcbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXRpbnkgLnZqcy1wbGF5YmFjay1yYXRlLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQtdGlueSAudmpzLWNoYXB0ZXJzLWJ1dHRvbixcbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXRpbnkgLnZqcy1kZXNjcmlwdGlvbnMtYnV0dG9uLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQtdGlueSAudmpzLWNhcHRpb25zLWJ1dHRvbixcbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXRpbnkgLnZqcy1zdWJ0aXRsZXMtYnV0dG9uLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQtdGlueSAudmpzLWF1ZGlvLWJ1dHRvbixcbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXRpbnkgLnZqcy12b2x1bWUtY29udHJvbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC1zbWFsbCAudmpzLXZvbHVtZS1wYW5lbC52anMtdm9sdW1lLXBhbmVsLWhvcml6b250YWw6aG92ZXIsXG4udmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC1zbWFsbCAudmpzLXZvbHVtZS1wYW5lbC52anMtdm9sdW1lLXBhbmVsLWhvcml6b250YWw6YWN0aXZlLFxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQtc21hbGwgLnZqcy12b2x1bWUtcGFuZWwudmpzLXZvbHVtZS1wYW5lbC1ob3Jpem9udGFsLnZqcy1zbGlkZXItYWN0aXZlLCAudmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC14LXNtYWxsIC52anMtdm9sdW1lLXBhbmVsLnZqcy12b2x1bWUtcGFuZWwtaG9yaXpvbnRhbDpob3Zlcixcbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXgtc21hbGwgLnZqcy12b2x1bWUtcGFuZWwudmpzLXZvbHVtZS1wYW5lbC1ob3Jpem9udGFsOmFjdGl2ZSxcbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXgtc21hbGwgLnZqcy12b2x1bWUtcGFuZWwudmpzLXZvbHVtZS1wYW5lbC1ob3Jpem9udGFsLnZqcy1zbGlkZXItYWN0aXZlLCAudmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC10aW55IC52anMtdm9sdW1lLXBhbmVsLnZqcy12b2x1bWUtcGFuZWwtaG9yaXpvbnRhbDpob3Zlcixcbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXRpbnkgLnZqcy12b2x1bWUtcGFuZWwudmpzLXZvbHVtZS1wYW5lbC1ob3Jpem9udGFsOmFjdGl2ZSxcbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXRpbnkgLnZqcy12b2x1bWUtcGFuZWwudmpzLXZvbHVtZS1wYW5lbC1ob3Jpem9udGFsLnZqcy1zbGlkZXItYWN0aXZlIHtcbiAgd2lkdGg6IGF1dG87XG4gIHdpZHRoOiBpbml0aWFsO1xufVxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQteC1zbWFsbDpub3QoLnZqcy1saXZldWkpIC52anMtc3Vicy1jYXBzLWJ1dHRvbiwgLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQteC1zbWFsbDpub3QoLnZqcy1saXZlKSAudmpzLXN1YnMtY2Fwcy1idXR0b24sIC52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXRpbnkgLnZqcy1zdWJzLWNhcHMtYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi52aWRlby1qczpub3QoLnZqcy1mdWxsc2NyZWVuKS52anMtbGF5b3V0LXgtc21hbGwudmpzLWxpdmV1aSAudmpzLWN1c3RvbS1jb250cm9sLXNwYWNlciwgLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQtdGlueSAudmpzLWN1c3RvbS1jb250cm9sLXNwYWNlciB7XG4gIGZsZXg6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnZpZGVvLWpzOm5vdCgudmpzLWZ1bGxzY3JlZW4pLnZqcy1sYXlvdXQteC1zbWFsbC52anMtbGl2ZXVpLnZqcy1uby1mbGV4IC52anMtY3VzdG9tLWNvbnRyb2wtc3BhY2VyLCAudmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC10aW55LnZqcy1uby1mbGV4IC52anMtY3VzdG9tLWNvbnRyb2wtc3BhY2VyIHtcbiAgd2lkdGg6IGF1dG87XG59XG4udmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC14LXNtYWxsLnZqcy1saXZldWkgLnZqcy1wcm9ncmVzcy1jb250cm9sLCAudmlkZW8tanM6bm90KC52anMtZnVsbHNjcmVlbikudmpzLWxheW91dC10aW55IC52anMtcHJvZ3Jlc3MtY29udHJvbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi52anMtbW9kYWwtZGlhbG9nLnZqcy10ZXh0LXRyYWNrLXNldHRpbmdzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCMzMzRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MywgNTEsIDYzLCAwLjc1KTtcbiAgY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNzAlO1xufVxuXG4udmpzLXRleHQtdHJhY2stc2V0dGluZ3MgLnZqcy1tb2RhbC1kaWFsb2ctY29udGVudCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udmpzLXRleHQtdHJhY2stc2V0dGluZ3MgLnZqcy10cmFjay1zZXR0aW5ncy1jb2xvcnMsXG4udmpzLXRleHQtdHJhY2stc2V0dGluZ3MgLnZqcy10cmFjay1zZXR0aW5ncy1mb250LFxuLnZqcy10ZXh0LXRyYWNrLXNldHRpbmdzIC52anMtdHJhY2stc2V0dGluZ3MtY29udHJvbHMge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG4udmpzLXRleHQtdHJhY2stc2V0dGluZ3MgLnZqcy10cmFjay1zZXR0aW5ncy1jb250cm9scyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG5Ac3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgLnZqcy10ZXh0LXRyYWNrLXNldHRpbmdzIC52anMtbW9kYWwtZGlhbG9nLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgIHBhZGRpbmc6IDIwcHggMjRweCAwcHggMjRweDtcbiAgfVxuXG4gIC52anMtdHJhY2stc2V0dGluZ3MtY29udHJvbHMgLnZqcy1kZWZhdWx0LWJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIC52anMtdGV4dC10cmFjay1zZXR0aW5ncyAudmpzLXRyYWNrLXNldHRpbmdzLWNvbnRyb2xzIHtcbiAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgfVxuXG4gIC52anMtbGF5b3V0LXNtYWxsIC52anMtdGV4dC10cmFjay1zZXR0aW5ncyAudmpzLW1vZGFsLWRpYWxvZy1jb250ZW50LFxuLnZqcy1sYXlvdXQteC1zbWFsbCAudmpzLXRleHQtdHJhY2stc2V0dGluZ3MgLnZqcy1tb2RhbC1kaWFsb2ctY29udGVudCxcbi52anMtbGF5b3V0LXRpbnkgLnZqcy10ZXh0LXRyYWNrLXNldHRpbmdzIC52anMtbW9kYWwtZGlhbG9nLWNvbnRlbnQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG4udmpzLXRyYWNrLXNldHRpbmcgPiBzZWxlY3Qge1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5cbi52anMtdGV4dC10cmFjay1zZXR0aW5ncyBmaWVsZHNldCB7XG4gIG1hcmdpbjogNXB4O1xuICBwYWRkaW5nOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnZqcy10ZXh0LXRyYWNrLXNldHRpbmdzIGZpZWxkc2V0IHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi52anMtdGV4dC10cmFjay1zZXR0aW5ncyBmaWVsZHNldCBzcGFuID4gc2VsZWN0IHtcbiAgbWF4LXdpZHRoOiA3LjNlbTtcbn1cblxuLnZqcy10ZXh0LXRyYWNrLXNldHRpbmdzIGxlZ2VuZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDAgMCA1cHggMDtcbn1cblxuLnZqcy10ZXh0LXRyYWNrLXNldHRpbmdzIC52anMtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgNXB4IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi52anMtdHJhY2stc2V0dGluZ3MtY29udHJvbHMgYnV0dG9uOmZvY3VzLFxuLnZqcy10cmFjay1zZXR0aW5ncy1jb250cm9scyBidXR0b246YWN0aXZlIHtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtd2lkdGg6IG1lZGl1bTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsICNmZmYgODglLCAjNzM4NTlmIDEwMCUpO1xufVxuXG4udmpzLXRyYWNrLXNldHRpbmdzLWNvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDQzLCA1MSwgNjMsIDAuNzUpO1xufVxuXG4udmpzLXRyYWNrLXNldHRpbmdzLWNvbnRyb2xzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMTgwZGVnLCAjZmZmIDg4JSwgIzczODU5ZiAxMDAlKTtcbiAgY29sb3I6ICMyQjMzM0Y7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4udmpzLXRyYWNrLXNldHRpbmdzLWNvbnRyb2xzIC52anMtZGVmYXVsdC1idXR0b24ge1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLnZpZGVvLWpzID4gKjpub3QoLnZqcy10ZWNoKTpub3QoLnZqcy1wb3N0ZXIpIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbi52anMtcmVzaXplLW1hbmFnZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiBub25lO1xuICB6LWluZGV4OiAtMTAwMDtcbn1cblxuLmpzLWZvY3VzLXZpc2libGUgLnZpZGVvLWpzICo6Zm9jdXM6bm90KC5mb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi52aWRlby1qcyAqOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4udmlkZW8tanMgLnZqcy1tZW51ICo6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4iLCJAaW1wb3J0ICd+dmlkZW8uanMvZGlzdC92aWRlby1qcy5jc3MnO1xyXG5cclxuLnBsYXllciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA1OTRweDtcclxufVxyXG4iLCJAaW1wb3J0ICd+dmlkZW8uanMvZGlzdC92aWRlby1qcy5jc3MnO1xuLnBsYXllciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDU5NHB4O1xufSJdfQ== */\"","//import { Component, OnInit, ViewChild, Input } from '@angular/core';\r\n//@Component({\r\n// selector: 'app-mediaplayer',\r\n// templateUrl: './mediaplayer.component.html',\r\n// styleUrls: ['./mediaplayer.component.scss'],\r\n//})\r\n//export class MediaplayerComponent implements OnInit {\r\n// constructor() { }\r\n// @ViewChild('videoplayer') videoElement;\r\n// @Input() currentVideo;\r\n\r\n// video: HTMLVideoElement;\r\n// progressBarStyle = {\r\n// flexBasis: '0%',\r\n// };\r\n// iconClass = 'k-i-play';\r\n// mouseDown = false;\r\n\r\n// togglePlay() {\r\n// const method = this.video.paused ? 'play' : 'pause';\r\n// this.video[method]();\r\n// setTimeout(() => this.updateButton(), 10);\r\n// }\r\n\r\n// updateButton() {\r\n// const icon = this.video.paused ? 'k-i-play' : 'k-i-pause';\r\n// this.iconClass = icon;\r\n// }\r\n\r\n// handleVolumeChange(e) {\r\n// const { target } = e;\r\n// const { value } = target;\r\n// this.video.volume = value;\r\n// }\r\n\r\n// handleProgress() {\r\n// const percent = (this.video.currentTime / this.video.duration) * 100;\r\n// this.progressBarStyle.flexBasis = `${percent}%`;\r\n// }\r\n\r\n// seek(e: MouseEvent) {\r\n// const { srcElement: progress, offsetX } = e;\r\n// const offsetWidth = progress;\r\n// const seekTime = (offsetX / 100) * this.video.duration;\r\n// this.video.currentTime = seekTime;\r\n// }\r\n\r\n// ngOnInit() {\r\n// const { nativeElement } = this.videoElement;\r\n// this.video = nativeElement;\r\n// }\r\n\r\n// ngOnChanges(changes) {\r\n// if (this.video) {\r\n// this.progressBarStyle.flexBasis = '0%';\r\n// this.togglePlay();\r\n// }\r\n// }\r\n//}\r\n\r\nimport { Component, ElementRef, Input, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport videojs from 'video.js';\r\n\r\n@Component({\r\n selector: 'app-mediaplayer',\r\n templateUrl: './mediaplayer.component.html',\r\n styleUrls: ['./mediaplayer.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class VjsPlayerComponent implements OnInit, OnDestroy {\r\n @ViewChild('target') target: ElementRef;\r\n // see options: https://github.com/videojs/video.js/blob/maintutorial-options.html\r\n @Input() options: {\r\n fluid: boolean,\r\n aspectRatio: string,\r\n autoplay: boolean,\r\n sources: {\r\n src: string,\r\n type: string,\r\n },\r\n };\r\n player: videojs.Player;\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.instantiateVideo();\r\n }\r\n ngOnChanges() {\r\n this.player.src(this.options.sources);\r\n }\r\n instantiateVideo() {\r\n this.player = videojs(this.target.nativeElement, this.options, function onPlayerReady() { });\r\n }\r\n ngOnDestroy() {\r\n // destroy player\r\n if (this.player) {\r\n this.player.dispose();\r\n }\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{i+1}}\\r\\n

{{item.questionTitle}}

\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{item.answerOne}}\\r\\n \\r\\n {{item.answerTwo}}\\r\\n \\r\\n {{item.answerThree}}\\r\\n \\r\\n {{item.answerFour}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

There Is No Questions on this Course

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
Your Final Score
\\r\\n

{{finalScore*10}} %

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"app-quiz .mat-expansion-panel-header {\\n height: auto !important;\\n padding: 12px 24px !important;\\n}\\napp-quiz .question-title > span {\\n flex-shrink: 0 !important;\\n width: 24px;\\n max-height: 24px;\\n line-height: 24px;\\n}\\napp-quiz .answer-content > span {\\n flex-shrink: 0 !important;\\n width: 24px;\\n max-height: 24px;\\n line-height: 24px;\\n}\\napp-quiz .mat-radio-button {\\n display: block;\\n margin: 0px 0px 8px 0px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9xdWl6L0M6XFxVc2Vyc1xcRXZyYW1cXHNvdXJjZVxccmVwb3NcXE5JQS1BcHBcXFdlYkFwcFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxwYWdlc1xcQ29tcG9uZW50c1xccXVpelxccXVpei5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvQ29tcG9uZW50cy9xdWl6L3F1aXouY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0U7RUFDRSx1QkFBQTtFQUNBLDZCQUFBO0FDQUo7QURJSTtFQUNFLHlCQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QUNGTjtBRE9JO0VBQ0UseUJBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBQ0xOO0FEU0U7RUFDRSxjQUFBO0VBQ0EsdUJBQUE7QUNQSiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0NvbXBvbmVudHMvcXVpei9xdWl6LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYXBwLXF1aXoge1xyXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XHJcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgIFxyXG4gICAgcGFkZGluZzogMTJweCAyNHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAucXVlc3Rpb24tdGl0bGUge1xyXG4gICAgPiBzcGFuIHtcclxuICAgICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDtcclxuICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFuc3dlci1jb250ZW50IHtcclxuICAgID4gc3BhbiB7XHJcbiAgICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICBtYXgtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tYXQtcmFkaW8tYnV0dG9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwcHggMHB4IDhweCAwcHg7XHJcbiAgfVxyXG59XHJcbiIsImFwcC1xdWl6IC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxMnB4IDI0cHggIWltcG9ydGFudDtcbn1cbmFwcC1xdWl6IC5xdWVzdGlvbi10aXRsZSA+IHNwYW4ge1xuICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMjRweDtcbiAgbWF4LWhlaWdodDogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5hcHAtcXVpeiAuYW5zd2VyLWNvbnRlbnQgPiBzcGFuIHtcbiAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDI0cHg7XG4gIG1heC1oZWlnaHQ6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuYXBwLXF1aXogLm1hdC1yYWRpby1idXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwcHggMHB4IDhweCAwcHg7XG59Il19 */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport Swal from 'sweetalert2';\r\nimport { CourseQuestions, UserCourseExams } from '../../../shared/core/system-api';\r\nimport { QuestionAnswer } from '../../../shared/models/SelectList.model';\r\nimport { CourseExamsService } from '../../../shared/services/courseExams.service';\r\n \r\nimport { CourseQuestionsService } from '../../../shared/services/courseQuestions.service';\r\n\r\n@Component({\r\n selector: 'app-quiz',\r\n templateUrl: './quiz.component.html',\r\n styleUrls: ['./quiz.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n})\r\nexport class QuizComponent implements OnInit {\r\n questionList: any = [];\r\n score: number = 0;\r\n id: number = 0;\r\n answerList: QuestionAnswer[] = [];\r\n questionSubmitted: boolean = false;\r\n finalScore: number = 0;\r\n level: string = '';\r\n userCourse: number = 0;\r\n isStart: string;\r\n\r\n constructor(private examService: CourseQuestionsService, \r\n private _Activatedroute: ActivatedRoute,\r\n private toastr: ToastrService,\r\n public translate: TranslateService,\r\n private courseExamService: CourseExamsService,\r\n private route: ActivatedRoute,\r\n private router: Router) {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.id = Number(this.route.snapshot.queryParamMap.get('id'));\r\n this.userCourse = Number(this.route.snapshot.queryParamMap.get('UserCourse'));\r\n this.isStart = this.route.snapshot.queryParamMap.get('IsStart');\r\n\r\n this.examService.getCourseQuestionsList(this.id).subscribe(\r\n data => {\r\n this.questionList = data.data;\r\n }\r\n );\r\n }\r\n\r\n radioChange(e, rightAnswer, questionIndex) {\r\n \r\n if (rightAnswer == e.value)\r\n this.score = 1;\r\n else\r\n this.score = 0;\r\n \r\n if (!this.answerList.some(e => e.QuestionIdex == questionIndex)) {\r\n this.answerList.push({ QuestionIdex: questionIndex, QuestionDegree: this.score });\r\n } else {\r\n let newItem = { QuestionIdex: questionIndex, QuestionDegree: this.score };\r\n let answer = this.answerList.find(e => e.QuestionIdex == questionIndex);\r\n let index = this.answerList.indexOf(answer);\r\n\r\n this.answerList[index] = newItem;\r\n }\r\n \r\n }\r\n\r\n SaveAnswers() {\r\n this.finalScore = 0;\r\n this.questionSubmitted = false;\r\n\r\n Swal.fire({\r\n title: this.translate.instant('DEFAULT.confirmationTitle'),\r\n text: this.translate.instant('CreateCourse.ConfirmAnswer'),\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('DEFAULT.yes'),\r\n cancelButtonText: this.translate.instant('DEFAULT.no')\r\n }).then((result) => {\r\n if (result.value) {\r\n console.log (\"tha answer list :----\", this.answerList)\r\n this.answerList.forEach(e => {\r\n this.finalScore = this.finalScore + e.QuestionDegree;\r\n });\r\n this.setLevel(this.finalScore);\r\n var exam = new UserCourseExams();\r\n exam.userCourseId = this.userCourse;\r\n \r\n if (this.isStart =='true') {\r\n exam.examTakenBefore = true;\r\n exam.degreeBefore = this.finalScore;\r\n }\r\n else\r\n {\r\n exam.examTakenAfter = true;\r\n exam.degreeAfter = this.finalScore; \r\n }\r\n\r\n console.log(\" the mark calculated is :---- \", this.finalScore)\r\n\r\n setTimeout(() => {\r\n this.router.navigateByUrl('/StudentProfile');\r\n }, 5000);\r\n\r\n this.courseExamService.create(exam).subscribe(data => {\r\n console.log (\"The quiz Submit Response :----\",data)\r\n this.questionSubmitted = true;\r\n });\r\n }\r\n });\r\n \r\n \r\n }\r\n setLevel(score) {\r\n switch (score) {\r\n case score >= 6 :\r\n this.level = 'مرتفع'\r\n case score > 5:\r\n this.level = 'متوسط'\r\n\r\n default:\r\n this.level = 'ضعيف'\r\n }\r\n }\r\n ResetAnswers() {\r\n this.questionSubmitted = false;\r\n this.answerList = [];\r\n this.finalScore = 0;\r\n }\r\n}\r\n","module.exports = \".error {\\r\\n color: #D8000C;\\r\\n background-color: #FFBABA;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXV0aC9SZXNldFBhc3N3b3JkL1Jlc2V0UGFzc3dvcmQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGNBQWM7RUFDZCx5QkFBeUI7QUFDM0IiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9hdXRoL1Jlc2V0UGFzc3dvcmQvUmVzZXRQYXNzd29yZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmVycm9yIHtcclxuICBjb2xvcjogI0Q4MDAwQztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZCQUJBO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{ 'RESETPASS.ResetPassword' | translate }}\\r\\n
\\r\\n {{ 'RESETPASS.PleaseNewPassowrd' | translate }}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'RESETPASS.NewPassowrd' | translate }}\\r\\n \\r\\n {{ 'RESETPASS.NewPassowrdReq' | translate }}\\r\\n {{ 'RESETPASS.NewPassowrdPtrn' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'RESETPASS.ReEnterNewPassowrd' | translate }}\\r\\n \\r\\n {{ 'RESETPASS.ReEnterNewPassowrdReq' | translate }}\\r\\n {{ 'RESETPASS.DontMatch' | translate }}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, Renderer2, ElementRef } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { first } from 'rxjs/operators';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { UserService } from '../../../shared/services/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-ResetPassword',\r\n templateUrl: './ResetPassword.component.html',\r\n styleUrls: ['./ResetPassword.component.css']\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n\r\n public ResetPasswordForm: FormGroup;\r\n public loading = false;\r\n public submitted = false;\r\n public WrongUser = false;\r\n public InActiveUser = false;\r\n public returnUrl: string;\r\n currentlang: string;\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n token: any;\r\n\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private render: Renderer2,\r\n private userService: UserService,\r\n private authenticationService: AuthenticationService,\r\n private languageService: LanguageService,\r\n private toastr: ToastrService\r\n\r\n ) {\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n this.token = this.route.snapshot.queryParams['access_token'];\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.ResetPasswordForm = this.formBuilder.group({\r\n pass: ['', [Validators.required, Validators.pattern('(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[A-Za-z\\d$@$!%*?&].{6,}')]],\r\n confirmPass: ['',]\r\n },\r\n { validator: this.checkMatchingPasswords('pass', 'confirmPass') }\r\n );\r\n\r\n\r\n // load default styles\r\n this.render.addClass(document.body, 'login-container');\r\n this.render.addClass(document.body, 'login-backgroud');\r\n }\r\n\r\n\r\n // convenience getter for easy access to form fields\r\n public get f() { return this.ResetPasswordForm.controls; }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n this.loading = true;\r\n\r\n // stop here if form is invalid\r\n if (this.ResetPasswordForm.invalid) {\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n\r\n const ResetPasswordSubscription = this.userService.changeCurrentUserPassword(this.token, this.f.pass.value).subscribe(\r\n res => {\r\n if (res.success) {\r\n if (this.currentlang == \"us\")\r\n this.toastr.success(\"Password Changed Successfully\");\r\n else\r\n this.toastr.success(\"تم تغيير الرقم السري بنجاح\");\r\n this.authenticationService.logout();\r\n this.router.navigate(['/SignIn']);\r\n }\r\n else {\r\n this.WrongUser = true;\r\n }\r\n },\r\n error => {\r\n if (this.currentlang == \"us\")\r\n this.toastr.error(\"Something went wrong. Please contact the IT department.\");\r\n else\r\n this.toastr.error(\"حدث خطأ ما. يرجى التواصل مع قسم تقنية المعلومات\");\r\n this.loading = false;\r\n });\r\n\r\n this.unsubscribe.push(ResetPasswordSubscription);\r\n }\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n\r\n checkMatchingPasswords(passwordKey: string, ConfirmationKey: string) {\r\n return (group: FormGroup) => {\r\n let passwordInput = group.controls[passwordKey], ConfirmationInput = group.controls[ConfirmationKey];\r\n if (passwordInput.value !== ConfirmationInput.value) {\r\n return ConfirmationInput.setErrors({ notEqual: true });\r\n }\r\n else {\r\n return ConfirmationInput.setErrors(null);\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { ForgetPasswordComponent } from \"./forget-password/forget-password.component\";\r\nimport { LoginComponent } from \"./login/login.component\";\r\nimport { RegisterComponent } from \"./register/register.component\";\r\nimport { ResetPasswordComponent } from \"./ResetPassword/ResetPassword.component\";\r\n \r\nconst routes: Routes = [\r\n { path: 'SignIn', component: LoginComponent },\r\n { path: 'SignUp', component: RegisterComponent },\r\n { path: 'ResetPassword', component: ResetPasswordComponent },\r\n { path: 'ForgetPassword', component: ForgetPasswordComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\n\r\nexport class AuthrizeRoutingModule {\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n

{{ 'ChangePass.ChangePassword' | translate }}

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ 'ChangePass.WrongPassword' | translate }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ 'ChangePass.ConfirmPasswordReq2' | translate }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'ChangePass.OldPassword' | translate }}\\r\\n \\r\\n {{ 'ChangePass.OldPasswordReq' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'ChangePass.NewPassword' | translate }}\\r\\n \\r\\n {{ 'ChangePass.NewPasswordReq' | translate }}\\r\\n {{ 'ChangePass.NewPasswordPtrn' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'ChangePass.ConfirmPassword' | translate }}\\r\\n \\r\\n {{ 'ChangePass.ConfirmPasswordReq1' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"[dir=rtl] .close {\\n float: left;\\n}\\n\\n[dir=rtl] .header {\\n text-align: right;\\n}\\n\\n.error {\\n color: #D8000C;\\n background-color: #FFBABA;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXV0aC9jaGFuZ2UtcGFzc3dvcmQvQzpcXFVzZXJzXFxFdnJhbVxcc291cmNlXFxyZXBvc1xcTklBLUFwcFxcV2ViQXBwXFxDbGllbnRBcHAvc3JjXFxhcHBcXHBhZ2VzXFxhdXRoXFxjaGFuZ2UtcGFzc3dvcmRcXGNoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvYXV0aC9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksV0FBQTtBQ0NKOztBRENBO0VBQ0UsaUJBQUE7QUNFRjs7QURBQTtFQUNFLGNBQUE7RUFDQSx5QkFBQTtBQ0dGIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvYXV0aC9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiW2Rpcj1ydGxdIC5jbG9zZXtcclxuICAgIGZsb2F0OmxlZnRcclxufVxyXG5bZGlyPXJ0bF0gLmhlYWRlciB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHRcclxufVxyXG4uZXJyb3Ige1xyXG4gIGNvbG9yOiAjRDgwMDBDO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkJBQkE7XHJcbn1cclxuIiwiW2Rpcj1ydGxdIC5jbG9zZSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG5bZGlyPXJ0bF0gLmhlYWRlciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZXJyb3Ige1xuICBjb2xvcjogI0Q4MDAwQztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQkFCQTtcbn0iXX0= */\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { SWALMSGSService } from '../../../shared/services/swal-msgs.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { UserService } from '../../../shared/services/user.service';\r\nimport Swal from 'sweetalert2';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { NotificationService } from '../../../shared/services/notification.service';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.scss']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n public UserEditForm: FormGroup;\r\n match: boolean;\r\n submit: boolean;\r\n fullEdit: boolean;\r\n wrongOldPassword: boolean;\r\n public loading = false;\r\n currentlang: string;\r\n constructor(\r\n private SWAL: SWALMSGSService,\r\n private formBuilder: FormBuilder,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private userService: UserService,\r\n private notificationService: NotificationService,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private languageService: LanguageService,\r\n private toastr: ToastrService\r\n ) {\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n this.dialogRef.disableClose = true;\r\n this.match = true;\r\n\r\n this.UserEditForm = this.formBuilder.group({\r\n oldPassword: ['', Validators.required],\r\n newPassword: ['', [Validators.required, Validators.pattern('(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[A-Za-z\\d$@$!%*?&].{6,}')]],\r\n confirmPass: ['', Validators.required]\r\n });\r\n //if (this.data.userId) {\r\n //}\r\n }\r\n ngOnInit() {\r\n\r\n }\r\n\r\n // convenience getter for easy access to form fields\r\n public get f() { return this.UserEditForm.controls; }\r\n\r\n onSubmit() {\r\n this.loading = true;\r\n \r\n this.submit = true;\r\n this.wrongOldPassword = false;\r\n if (this.UserEditForm.invalid) {\r\n this.loading = false;\r\n return;\r\n }\r\n if (!this.match) {\r\n this.loading = false;\r\n return\r\n }\r\n let oldPassword = this.f.oldPassword.value;\r\n let newPassword = this.f.newPassword.value;\r\n this.userService.changePassword(oldPassword, newPassword).subscribe(res => {\r\n if (res) {\r\n if (res.success) {\r\n if (this.currentlang == \"us\")\r\n this.toastr.success(\"Password Changed Successfully\");\r\n else\r\n this.toastr.success(\"تم تغيير الرقم السري بنجاح\");\r\n this.authenticationService.logout();\r\n this.dialogRef.close();\r\n this.router.navigate(['/SignIn']);\r\n this.notificationService.closeConnection();\r\n }\r\n else {\r\n this.wrongOldPassword = true;\r\n }\r\n }\r\n this.loading = false;\r\n }, err => {\r\n if (this.currentlang == \"us\")\r\n this.toastr.error(\"Something went wrong. Please contact the IT department.\");\r\n else\r\n this.toastr.error(\"حدث خطأ ما. يرجى التواصل مع قسم تقنية المعلومات\");\r\n this.loading = false;\r\n });\r\n }\r\n\r\n CloseDia() {\r\n this.dialogRef.close();\r\n\r\n }\r\n\r\n public checkValidationsForConfrimPassword() {\r\n let newPassword = this.f.newPassword.value;\r\n let confirmPassword = this.f.confirmPass.value;\r\n\r\n this.match = newPassword === confirmPassword;\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{ 'ForgetPass.ForgotPassword' | translate }}\\r\\n
\\r\\n {{ 'ForgetPass.PleaseRegisteredEmail' | translate }}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ 'ForgetPass.Error1' | translate }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ 'ForgetPass.Error2' | translate }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ 'ForgetPass.Error3' | translate }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ 'ForgetPass.Success' | translate }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'ForgetPass.Email' | translate }}\\r\\n \\r\\n {{ 'ForgetPass.EmailReq1' | translate }}\\r\\n {{ 'ForgetPass.EmailReq2' | translate }}\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".error {\\n color: #D8000C;\\n background-color: #FFBABA;\\n}\\n\\n.Success {\\n color: #009900;\\n background-color: #e6ffe6;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXV0aC9mb3JnZXQtcGFzc3dvcmQvQzpcXFVzZXJzXFxFdnJhbVxcc291cmNlXFxyZXBvc1xcTklBLUFwcFxcV2ViQXBwXFxDbGllbnRBcHAvc3JjXFxhcHBcXHBhZ2VzXFxhdXRoXFxmb3JnZXQtcGFzc3dvcmRcXGZvcmdldC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvYXV0aC9mb3JnZXQtcGFzc3dvcmQvZm9yZ2V0LXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBQTtFQUNBLHlCQUFBO0FDQ0Y7O0FEQ0E7RUFDRSxjQUFBO0VBQ0EseUJBQUE7QUNFRiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2F1dGgvZm9yZ2V0LXBhc3N3b3JkL2ZvcmdldC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5lcnJvciB7XHJcbiAgY29sb3I6ICNEODAwMEM7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQkFCQTtcclxufVxyXG4uU3VjY2VzcyB7XHJcbiAgY29sb3I6ICMwMDk5MDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZmZlNjtcclxufVxyXG4iLCIuZXJyb3Ige1xuICBjb2xvcjogI0Q4MDAwQztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQkFCQTtcbn1cblxuLlN1Y2Nlc3Mge1xuICBjb2xvcjogIzAwOTkwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZmZlNjtcbn0iXX0= */\"","import { Component, OnInit, Renderer2, ElementRef } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { UserDto } from '../../../shared/core/system-api';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-Forgotpassword',\r\n templateUrl: './forget-password.component.html',\r\n styleUrls: ['./forget-password.component.scss']\r\n})\r\nexport class ForgetPasswordComponent implements OnInit {\r\n\r\n public ForgotpasswordForm: FormGroup;\r\n public loading = false;\r\n public submitted = false;\r\n public WrongUser = false;\r\n public isEmailSent = false;\r\n public Error = false;\r\n public InActiveUser = false;\r\n currentlang: string;\r\n\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private authenticationService: AuthenticationService,\r\n private languageService: LanguageService,\r\n private toastr: ToastrService\r\n ) {\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n }\r\n\r\n ngOnInit() {\r\n this.ForgotpasswordForm = this.formBuilder.group({\r\n email: ['', [Validators.required, Validators.email]],\r\n });\r\n }\r\n\r\n public get f() { return this.ForgotpasswordForm.controls; }\r\n\r\n onSubmit() {\r\n\r\n this.submitted = true;\r\n this.loading = true;\r\n this.isEmailSent = false;\r\n\r\n if (this.ForgotpasswordForm.invalid) {\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n var email = this.f.email.value;\r\n const ForgotpasswordSubscription = this.authenticationService.forgotPassword(email)\r\n .subscribe(\r\n res => {\r\n\r\n this.loading = false;\r\n if (res.success) {\r\n let user = res.data;\r\n if (!user.isActive) {\r\n this.InActiveUser = true;\r\n this.WrongUser = false;\r\n this.isEmailSent = false;\r\n this.Error = false;\r\n }\r\n else if (user.isSocialLogin) {\r\n this.InActiveUser = false;\r\n this.WrongUser = true;\r\n this.isEmailSent = false;\r\n this.Error = false;\r\n }\r\n else {\r\n this.isEmailSent = true;\r\n this.WrongUser = false;\r\n this.InActiveUser = false;\r\n this.Error = false;\r\n }\r\n }\r\n else if (res.code == 'UserNotFound') {\r\n this.WrongUser = true;\r\n this.InActiveUser = false;\r\n this.isEmailSent = false;\r\n this.Error = false;\r\n }\r\n else if (res.code == 'EmailNotDelivered') {\r\n this.WrongUser = false;\r\n this.InActiveUser = false;\r\n this.isEmailSent = false;\r\n this.Error = true;\r\n }\r\n },\r\n error => {\r\n if (this.currentlang == \"us\")\r\n this.toastr.error(\"Something went wrong. Please contact the IT department.\");\r\n else\r\n this.toastr.error(\"حدث خطأ ما. يرجى التواصل مع قسم تقنية المعلومات\");\r\n this.loading = false;\r\n });\r\n\r\n this.unsubscribe.push(ForgotpasswordSubscription);\r\n }\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{ 'LOGIN.LoginTo' | translate }}
{{ 'LOGIN.NIAcademyAccount' | translate }}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ 'LOGIN.Error1' | translate }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ 'LOGIN.Error2' | translate }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'LOGIN.Email' | translate }}\\r\\n \\r\\n {{ 'LOGIN.EmailReq' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'LOGIN.Password' | translate }}\\r\\n \\r\\n {{ 'LOGIN.PassowrdPtrn' | translate }}\\r\\n {{ 'LOGIN.PassowrdReq' | translate }}\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \".error {\\n color: #D8000C;\\n background-color: #FFBABA;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXV0aC9sb2dpbi9DOlxcVXNlcnNcXEV2cmFtXFxzb3VyY2VcXHJlcG9zXFxOSUEtQXBwXFxXZWJBcHBcXENsaWVudEFwcC9zcmNcXGFwcFxccGFnZXNcXGF1dGhcXGxvZ2luXFxsb2dpbi5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvYXV0aC9sb2dpbi9sb2dpbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGNBQUE7RUFDQSx5QkFBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvYXV0aC9sb2dpbi9sb2dpbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5lcnJvciB7XHJcbiAgY29sb3I6ICNEODAwMEM7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQkFCQTtcclxufVxyXG4iLCIuZXJyb3Ige1xuICBjb2xvcjogI0Q4MDAwQztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQkFCQTtcbn0iXX0= */\"","import { Component, OnInit, Renderer2, ElementRef } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { first } from 'rxjs/operators';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\nimport { UserLogin, UserDto, User, IUser } from '../../../shared/core/system-api';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { SocialUser } from \"../../../shared/models/social-user\";\r\nimport { SocialAuthService } from \"../../../shared/socialmedia/socialauth.service\";\r\nimport { FacebookLoginProvider } from \"../../../shared/socialmedia/providers/facebook-login-provider\";\r\nimport { GoogleLoginProvider } from \"../../../shared/socialmedia/providers/google-login-provider\";\r\nimport { UserType } from '../../../shared/enums/enums.enum';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n public loginForm: FormGroup;\r\n public loading = false;\r\n public submitted = false;\r\n public WrongUser = false;\r\n public InActiveUser = false;\r\n public returnUrl: string;\r\n public returnUrlForAdmin: string;\r\n currentLang: string;\r\n public Dublicate = false;\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n // private user: IUser = null;\r\n GoogleLoginProvider = GoogleLoginProvider;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private languageService: LanguageService,\r\n private authService: SocialAuthService, \r\n\r\n ) {\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(x => this.currentLang = x);\r\n this.unsubscribe.push(currentLangSubscription);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.loginForm = this.formBuilder.group({\r\n username: ['', Validators.required],\r\n password: ['', Validators.required]\r\n });\r\n\r\n // get return url from route parameters or default to '/'\r\n this.returnUrl = '';\r\n this.returnUrlForAdmin = 'AdminSite';\r\n\r\n }\r\n\r\n\r\n // convenience getter for easy access to form fields\r\n public get f() { return this.loginForm.controls; }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n this.loading = true;\r\n\r\n // stop here if form is invalid\r\n if (this.loginForm.invalid) {\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n var user = new UserLogin();\r\n user.email = this.f.username.value;\r\n user.password = this.f.password.value;\r\n const loginSubscription = this.authenticationService.login(user)\r\n .pipe(first())\r\n .subscribe(\r\n data => {\r\n if (data) {\r\n if (!data.isActive) {\r\n this.InActiveUser = true;\r\n this.WrongUser = false;\r\n this.loading = false;\r\n }\r\n else {\r\n this.languageService.switchLanguage(this.currentLang);\r\n if (data.type == UserType.Admin)\r\n this.router.navigate([this.returnUrlForAdmin]);\r\n else\r\n this.router.navigate([this.returnUrl]);\r\n this.WrongUser = false;\r\n this.InActiveUser = false;\r\n }\r\n }\r\n else {\r\n this.WrongUser = true;\r\n this.InActiveUser = false;\r\n this.loading = false;\r\n }\r\n },\r\n error => {\r\n // this.alertService.error(\"There is something went wrong, Please check with the IT Department.\");\r\n alert(\"There is something went wrong, Please check with the IT Department.\");\r\n this.loading = false;\r\n });\r\n\r\n this.unsubscribe.push(loginSubscription);\r\n }\r\n\r\n register(user,Type) {\r\n var _user = new UserDto();\r\n _user.userName = user.name;\r\n _user.email = user.email;\r\n _user.password = user.id;\r\n _user.allowSendEmail = true;\r\n _user.isSocialLogin = true;\r\n _user.socialLoginType = Type;\r\n\r\n const loginSubscription = this.authenticationService.socailRegister(_user)\r\n .subscribe(\r\n data => {\r\n if (data) {\r\n if (data.type == UserType.Admin)\r\n this.router.navigate([this.returnUrlForAdmin]);\r\n else\r\n this.router.navigate([this.returnUrl]);\r\n }\r\n else {\r\n this.Dublicate = true;\r\n this.loading = false;\r\n }\r\n },\r\n error => {\r\n // this.alertService.error(\"There is something went wrong, Please check with the IT Department.\");\r\n alert(\"There is something went wrong, Please check with the IT Department.\");\r\n this.loading = false;\r\n });\r\n\r\n this.unsubscribe.push(loginSubscription);\r\n }\r\n\r\n signInWithGoogle(): void {\r\n this.authService.signIn(GoogleLoginProvider.PROVIDER_ID).then( Logeduser => {\r\n this.register(Logeduser,2);\r\n });\r\n }\r\n\r\n signInWithFB(): void {\r\n this.authService.signIn(FacebookLoginProvider.PROVIDER_ID).then(Logeduser => {\r\n this.register(Logeduser,1);\r\n });;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n\r\n signOut(): void {\r\n this.authService.signOut();\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{ 'REGISTER.SignUpTo' | translate }}
{{ 'REGISTER.StartLearning' | translate }}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ 'REGISTER.EmailRegistered' | translate }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'REGISTER.FirstName' | translate }}\\r\\n \\r\\n {{ 'REGISTER.FirstNameReq' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{ 'REGISTER.LastName' | translate }}\\r\\n \\r\\n {{ 'REGISTER.LastNameReq' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n {{ 'REGISTER.Email' | translate }}\\r\\n \\r\\n {{ 'REGISTER.EmailReq' | translate }}\\r\\n {{ 'REGISTER.EmailPtrn' | translate }}\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n {{ 'REGISTER.Password' | translate }}\\r\\n \\r\\n {{ 'REGISTER.NewPassowrdReq' | translate }}\\r\\n {{ 'REGISTER.NewPassowrdPtrn' | translate }}\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n {{ 'REGISTER.allowsendemail' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".error {\\n color: #D8000C;\\n background-color: #FFBABA;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXV0aC9yZWdpc3Rlci9DOlxcVXNlcnNcXEV2cmFtXFxzb3VyY2VcXHJlcG9zXFxOSUEtQXBwXFxXZWJBcHBcXENsaWVudEFwcC9zcmNcXGFwcFxccGFnZXNcXGF1dGhcXHJlZ2lzdGVyXFxyZWdpc3Rlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvYXV0aC9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGNBQUE7RUFDQSx5QkFBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvYXV0aC9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5lcnJvciB7XHJcbiAgY29sb3I6ICNEODAwMEM7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQkFCQTtcclxufVxyXG4iLCIuZXJyb3Ige1xuICBjb2xvcjogI0Q4MDAwQztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQkFCQTtcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { LanguageService } from '../../../shared/services/Language.service';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { UserDto } from '../../../shared/core/system-api';\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: './register.component.html',\r\n styleUrls: ['./register.component.scss']\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n\r\n public registerForm: FormGroup;\r\n public loading = false;\r\n public submitted = false;\r\n public Dublicate = false;\r\n public returnUrl: string;\r\n currentlang: string;\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private languageService: LanguageService\r\n\r\n ) {\r\n const currentLangSubscription = this.languageService.currentLang.subscribe(res => { this.currentlang = res; });\r\n this.unsubscribe.push(currentLangSubscription);\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.registerForm = this.formBuilder.group({\r\n email: ['', [Validators.required, Validators.email]],\r\n firstname: ['', Validators.required],\r\n lastname: ['', Validators.required],\r\n password: ['', [Validators.required, Validators.pattern('(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[A-Za-z\\d$@$!%*?&].{6,}')]],\r\n allowsendemail: ['', '']\r\n });\r\n\r\n // get return url from route parameters or default to '/'\r\n this.returnUrl = '';\r\n\r\n }\r\n\r\n // convenience getter for easy access to form fields\r\n public get f() { return this.registerForm.controls; }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n this.loading = true;\r\n\r\n // stop here if form is invalid\r\n if (this.registerForm.invalid) {\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n var user = new UserDto();\r\n user.userName = this.f.firstname.value + \" \" + this.f.lastname.value;\r\n user.email = this.f.email.value;\r\n user.password = this.f.password.value;\r\n user.allowSendEmail = this.f.allowsendemail.value;\r\n const loginSubscription = this.authenticationService.register(user)\r\n .subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigate([this.returnUrl]);\r\n }\r\n else {\r\n this.Dublicate = true;\r\n this.loading = false;\r\n }\r\n },\r\n error => {\r\n // this.alertService.error(\"There is something went wrong, Please check with the IT Department.\");\r\n alert(\"There is something went wrong, Please check with the IT Department.\");\r\n this.loading = false;\r\n });\r\n\r\n this.unsubscribe.push(loginSubscription);\r\n }\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach(sb => sb.unsubscribe());\r\n }\r\n}\r\n","export const locale = {\r\n lang: 'sa',\r\n data: {\r\n dateLang: 'ar',\r\n Validation: {\r\n Required: \"هذا الحقل مطلوب.\",\r\n Email: \"لقد أدخلت بريدًا إلكترونيًا غير صالح.\",\r\n ConflictDate: \"يجب أن يكون تاريخ الانتهاء أكبر من تاريخ البدء.\",\r\n },\r\n DEFAULT: {\r\n Placeholder: \"اكتب هنا...\",\r\n Loading: \"تحميل...\",\r\n yes: \"نعم\",\r\n no: \"لا\",\r\n confirmationTitle: 'هل أنت متأكد؟',\r\n null: 'غير موجود',\r\n },\r\n HEADER: {\r\n Logout: \"خروج\",\r\n Language: \"اللغة\",\r\n DIR: \"rtl\",\r\n Notification: \"الإشعارات\",\r\n ChangePassword: \"تغيير كلمه السر\",\r\n MyCourses: \"كورساتي\",\r\n AdminSite: \"موقع المسؤول\",\r\n AboutUs: \"نبذة عنا\",\r\n JoinOurAcademy: \"انضم إلى أكاديميتنا\",\r\n SiteMap: \"خريطة الموقع\",\r\n ContactUs: \"اتصل بنا\",\r\n SearchOnCourse: \"بحث في الدورة التدريبية\",\r\n SignIn: \"تسجيل الدخول\",\r\n SignUp: \"تسجيل\",\r\n },\r\n FOOTER: {\r\n WELCOME: \"أهلا بك...! أكاديمية NI - منصة التعليم\",\r\n NIAEP: \"أكاديمية NI - منصة التعليم [NIAEP]\",\r\n Text: \"يقدّر كل طفل ، ويقدر الفرصة لمساعدة الطلاب على التعلم والنمو. كن جزءًا من مدارسنا ، سواء كنت أحد الوالدين أو طالبًا أو متطوعًا مجتمعيًا أو شريكًا.\",\r\n NEWSLETTERSIGNUP: \"الاشتراك في الرسائل الإخبارية\",\r\n ReceiveTheLatest: \"احصل على أحدث المعلومات المفيدة يوميًا.\",\r\n EmailAddress: \"أدخل عنوان بريدك الالكتروني\",\r\n SignUp: \"تسجيل\",\r\n FeelFreeContactUs: \"لا تتردد في الاتصال بنا:\",\r\n Info: \"+20 2 2480 07 03 / 04 | info@niconsulting.com.eg\",\r\n Home: \"الصفحة الرئيسية\",\r\n AboutUs: \"نبذة عنا\",\r\n JoinOurAcademy: \"انضم إلى أكاديميتنا\",\r\n Support: \"مساعدة و دعم\",\r\n TermsAndConditions: \"الأحكام والشروط\",\r\n PrivacyPolicy: \"سياسة خاصة\",\r\n SiteMap: \"خريطة الموقع\",\r\n ContactUs: \"اتصل بنا\",\r\n CopyRight: \"أكاديمية NI © سياسة الخصوصية 2021\",\r\n },\r\n RESETPASS: {\r\n ResetPassword: \"إعادة تعيين كلمة المرور\",\r\n PleaseNewPassowrd: \"الرجاء إدخال كلمة المرور الجديدة\",\r\n NewPassowrd: \"أدخل كلمة المرور الجديدة\",\r\n NewPassowrdReq: \"كلمة المرور الجديدة مطلوبة\",\r\n NewPassowrdPtrn: \"6 أحرف على الأقل: أحرف صغيرة وأحرف كبيرة وأرقام\",\r\n ReEnterNewPassowrd: \"تأكيد كلمة المرور الجديدة\",\r\n ReEnterNewPassowrdReq: \"تأكيد كلمة المرور مطلوب\",\r\n DontMatch: \"كلمة المرور وتأكيد كلمة المرور غير متطابقين\",\r\n ChangePasswordBTN: \"تغيير كلمة المرور\",\r\n },\r\n REGISTER: {\r\n SignUpTo: \"اشترك في\",\r\n StartLearning: \"ابدأ التعلم!\",\r\n EmailRegistered: \"تم تسجيل هذا البريد الإلكتروني بالفعل\",\r\n FirstName: \"الاسم الأول\",\r\n FirstNameReq: \"الاسم الأول مطلوب\",\r\n LastName: \"اسم العائلة\",\r\n LastNameReq: \"اسم العائلة مطلوب\",\r\n Email: \"البريد الإلكتروني\",\r\n EmailReq: \"البريد الإلكتروني مطلوب\",\r\n EmailPtrn: \"هذا البريد الإلكتروني غير صالح\",\r\n Password: \"كلمة المرور\",\r\n NewPassowrdReq: \"كلمة المرور مطلوبة\",\r\n NewPassowrdPtrn: \"6 أحرف على الأقل: أحرف صغيرة وأحرف كبيرة وأرقام\",\r\n allowsendemail: \"نعم! أرغب في تحقيق أقصى استفادة من أكاديمية NI من خلال تلقي رسائل بريد إلكتروني تحتوي على صفقات حصرية وتوصيات شخصية ونصائح تعليمية!\",\r\n SignUp: \"تسجيل\",\r\n Agree: \"بالتسجيل ، فإنك توافق على\",\r\n TermsOfUse: \"شروط الاستخدام\",\r\n And: \"و\",\r\n PrivacyPolicy: \"سياسة الخصوصية\",\r\n AlreadyHaveAnAccount: \"لديك حساب بالفعل\",\r\n },\r\n LOGIN: {\r\n LoginTo: \"تسجيل الدخول إلى\",\r\n NIAcademyAccount: \"حساب أكاديمية NI\",\r\n Error1: \"لا يسمح للمستخدم باستخدام هذا النظام\",\r\n Error2: \"الرجاء التحقق من اسم المستخدم وكلمة المرور مرة أخرى!\",\r\n Email: \"البريد الإلكتروني\",\r\n EmailReq: \"البريد الإلكتروني مطلوب\",\r\n Password: \"كلمة المرور\",\r\n PassowrdPtrn: \"6 أحرف على الأقل: أحرف صغيرة وأحرف كبيرة وأرقام\",\r\n PassowrdReq: \"كلمة المرور مطلوبة\",\r\n Login: \"دخول\",\r\n ForgotPassword: \"نسيت كلمة المرور\",\r\n CreateNewAccount: \"إنشاء حساب جديد\",\r\n Facebook: \"استخدم حسابك على Facebook\",\r\n Gmail: \"استخدم حسابك على Gmail\",\r\n },\r\n ForgetPass: {\r\n ForgotPassword: \"نسيت كلمة المرور\",\r\n PleaseRegisteredEmail: \"الرجاء إدخال بريدك الإلكتروني المسجل\",\r\n Error1: \"هذا المستخدم لم يعد قابلاً للاستخدام.\",\r\n Error2: \"البريد الإلكتروني غير موجود.\",\r\n Error3: \"خطأ Mailer حاول في وقت لاحق\",\r\n Success: \"تم الإرسال ، يرجى التحقق من بريدك الإلكتروني\",\r\n Email: \"البريد الإلكتروني\",\r\n EmailReq1: \"البريد الإلكتروني مطلوب\",\r\n EmailReq2: \"هذا البريد الإلكتروني غير صالح\",\r\n ResetPassword: \"إعادة تعيين كلمة المرور\",\r\n AlreadyHaveAnAccount: \"لديك حساب بالفعل\",\r\n SignIn: \"تسجيل الدخول\",\r\n },\r\n Error: {\r\n Message: \"ليس لديك امتيازات ، يرجى الاتصال بمسؤول أكاديمية NI.\",\r\n Home: \"العودة إلى الصفحة الرئيسية\",\r\n },\r\n ChangePass: {\r\n ChangePassword: \"تغيير كلمة المرور\",\r\n OldPassword: \"كلمة المرور القديمة\",\r\n OldPasswordReq: \"كلمة المرور القديمة مطلوبة\",\r\n WrongPassword: \"كلمة مرور خاطئة\",\r\n NewPassword: \"كلمة مرور جديدة\",\r\n NewPasswordReq: \"مطلوب كلمة مرور جديدة\",\r\n NewPasswordPtrn: \"6 أحرف على الأقل: أحرف صغيرة وأحرف كبيرة وأرقام\",\r\n ConfirmPassword: \"تأكيد كلمة المرور\",\r\n ConfirmPasswordReq1: \"تأكيد كلمة المرور مطلوب\",\r\n ConfirmPasswordReq2: \"تأكيد كلمة المرور لا تتطابق مع كلمة المرور الجديدة\",\r\n Save: \"حفظ\",\r\n },\r\n CourseDetails: {\r\n BuyNow: \"شراء الان\",\r\n CreatedBy: \"أنشاء بـ :\",\r\n Content: \"محتويـات الكورس\",\r\n },\r\n Benefits: {\r\n Title: \"البرامج الحديثة\",\r\n TitleBody: \"تحرص أكاديمية إن آي للاستشارات على تقديم كل ما هو جديد ومفيد للمتدرب فيما يثري قدراته العلمية ومهاراته المهنية في كافة المجالات.\",\r\n NIABenefits: \"مزايا أكاديمية إن آي للاستشارات\",\r\n GradesAssignments: \"إمكانية التدريب في أي وقت مناسب للمتدرب\",\r\n GradesAssignmentsBody: \"يستطيع المتدرب مشاهدة البرامج التدريبية في أي وقت على مدار اليوم.\",\r\n AttendanceBehavior: \"منهجية Education 2.0 العالمية\",\r\n AttendanceBehaviorBody: \"يتعلق نجاح وفعالية التدريب على رغبة وحرص المتدرب على التعلم والمشاركة الفعالة والمشاركة الفعالة في التدريب.\",\r\n DistrictStateTests: \"تقييم نسبة التطور المعرفي\",\r\n DistrictStateTestsBody: \"يتمكن المتدرب من متابعة نسبة التطور المعرفي الخاصة به من خلال نسب التقييم قبل وبعد حضور الدورة كاملة.\",\r\n ACADEMICRESOURCES: \"التواصل المباشر مع المدرب\",\r\n ACADEMICRESOURCESBody: \"يحضر المتدرب محاضرة تفاعلية مع المدرب يتمكن خلالها من إلقاء أي أسئلة أو مناقشة أي موضوعات تتعلق بالدورة التدريبية التي شاهدها قبل موعد هذه المحاضرة.\",\r\n ScheduleCourses: \"التنوع والتكامل\",\r\n ScheduleCoursesBody: \"تعطي أكاديمية إن آي للاستشارات الإمكانية للمتدرب لاختيار برامج تدريبية متعددة سواء في مجالات متنوعة تثري النطاق المعرفي للمتدرب أو اختيار برامج بمستويات أعلى في ذات الموضوع لتتكامل في بناء قدرات تخصصية أشمل للمتدرب.\",\r\n AfterSchoolSupport: \"التحديث المعرفي\",\r\n AfterSchoolSupportBody: \"يتمكن المتدرب من إعادة مشاهدة الدورة التدريبية لأي عدد من المرات خلال عام كامل لاستخدام الدورة التدريبية والموارد التعليمية كمرجع حين الاحتياج.\",\r\n },\r\n NewCourses: {\r\n NewCourses: \"دورات جديدة\",\r\n },\r\n RecentPrograms: {\r\n RecentPrograms: \"البرامج الحديثة\",\r\n Body: \"أكاديمية NI تقدم تعليم مونتيسوري عالي الجودة ومعتمد من AMI للأطفال في المرحلة الابتدائية والابتدائية والأطفال الصغار في المنطقة.\",\r\n },\r\n Topics: {\r\n TopicsRecommended: \"مواضيع مقترحة\",\r\n },\r\n Course: {\r\n buynow: \"شراء الان\",\r\n EGP: \"جنيه\",\r\n completed: \"مكتمل\",\r\n NotTaken: \"لم يتم أخذ الاختبار النهائي بعد\",\r\n FinalScore: \"نتيجة الامتحان\"\r\n },\r\n Search: {\r\n NotFound: \"عفوا لا توجد نتيجه للبحث\",\r\n Back: \"العوده للصفحه الرئيسيه\",\r\n Explore: \"تصفح\",\r\n Courses: \"الكورسات\",\r\n results: \"نتيجه لـ \",\r\n Createdby: \"أنشاء بواسطه\",\r\n },\r\n Profile: {\r\n MyCourses: \"كورسـاتى\",\r\n MyInfo: \"معلوماتى\",\r\n FirstName: \"الاسـم الاول\",\r\n LastName: \"الاسـم الاخير\",\r\n Email: \"الايميل\"\r\n },\r\n Corporate: {\r\n CorporateManagement: \"إدارة الشركة\",\r\n AddNewCorporate: \"إضافة شركة جديدة\",\r\n ContractNo: \"رقم العقد\",\r\n ContractName: \"اسم العقد\",\r\n ContactPerson: \"جهة الاتصال\",\r\n NoOfCourses: \"عدد الدورات\",\r\n NoOfGroups:\"عدد المجموعات\",\r\n NoOfTrainees: \"عدد المتدربين\",\r\n\r\n CorporateInformation: \"معلومات الشركة\",\r\n CreateNewCorporate: \"إنشاء شركة جديدة\",\r\n BackToCorporateList: \"العودة إلى قائمة الشركات\",\r\n Name: \"الاسم\",\r\n NamePH: \"على سبيل المثال: NI Consulting\",\r\n HeadOfficeAddress: \"عنوان المكتب الرئيسي\",\r\n HeadOfficeAddressPH: \"على سبيل المثال: مبنى مكاتب ستار كابيتال A2 ، الطابق التاسع ، مجمع سيتي ستار للأعمال والتجارة 2 ، شارع على راشد ، مدينة نصر ، القاهرة ، مصر\",\r\n LocationOnGoogleMaps: \"الموقع على خرائط جوجل\",\r\n LocationOnGoogleMapsPH: \"على سبيل المثال: 30.07454134025531 ، 31.346966728836392\",\r\n SaveCorporate: \"حفظ الشركة\",\r\n Return: \"العودة\",\r\n\r\n Contracts: \"العقود\",\r\n BasicInfromation: \"المعلومات الأساسية\",\r\n Number: \"الرقم\",\r\n NumberPH: \"على سبيل المثال: 20210428\",\r\n StartDate: \"تاريخ البدء\",\r\n StartDatePH: \"على سبيل المثال: 01/01/2021\",\r\n EndDate: \"تاريخ الانتهاء\",\r\n EndDatePH: \"على سبيل المثال: 31/01/2021\",\r\n BIName: \"الاسم\",\r\n BINamePH: \"على سبيل المثال: اسم العقد\",\r\n Next: \"التالي\",\r\n ContactPersonInfromation: \"معلومات جهة الاتصال\",\r\n CPIName: \"الاسم\",\r\n CPINamePH: \"على سبيل المثال: الاسم الكامل\",\r\n JobTitle: \"المسمى الوظيفي\",\r\n JobTitlePH: \"على سبيل المثال: المدير التنفيذي\",\r\n MobileNumber: \"رقم الهاتف المحمول\",\r\n MobileNumberPH: \"على سبيل المثال: +20 XXX X XXX XXX\",\r\n EmailAddress: \"عنوان البريد الإلكتروني\",\r\n EmailAddressPH: \"على سبيل المثال: email@domain.com\",\r\n Previous: \"السابق\",\r\n Course: \"دورة\",\r\n SelectContractCourses: \"اختر دورات العقد\",\r\n SaveContract: \"حفظ العقد\",\r\n SaveAndContinue: \"حفظ ومتابعة\",\r\n\r\n TraineeList: \"قائمة المتدربين\",\r\n TraineeName: \"اسم المتدرب\",\r\n TraineeNamePH: \"على سبيل المثال: الاسم الكامل\",\r\n TraineeEntity: \"كيان متدرب\",\r\n TraineeEntityPH: \"على سبيل المثال: وزارة التخطيط\",\r\n SelectContractNumber: \"حدد رقم العقد\",\r\n AssignedCourses: \"الدورات المعينة\",\r\n GroupName: \"أسم المجموعة\",\r\n GroupNumber: \"رقم المجموعة\",\r\n Groups: \"المجموعات\",\r\n AddGroup: \"أضافة المجموعة\",\r\n EditGroup: \"تحديث المجموعة\",\r\n SaveTrainee: \"حفظ المتدرب\",\r\n Cancel: \"إلغاء\",\r\n\r\n confirmationContractDelete: 'سوف تقوم بحذف هذا العقد',\r\n confirmationTraineeDelete: 'سوف تقوم بحذف هذا المتدرب',\r\n confirmationGroupDelete: 'سوف تقوم بحذف هذا المجموعة',\r\n confirmationCorporateDelete: 'سوف تقوم بحذف هذه الشركة',\r\n CorporateCreated: 'تم إنشاء الشركة بنجاح',\r\n CorporateUpdated: 'تم تحديث الشركة بنجاح',\r\n CorporateDeleted: 'تم حذف الشركة بنجاح',\r\n ContractCreated: 'تم إنشاء العقد بنجاح',\r\n ContractUpdated: 'تم تحديث العقد بنجاح',\r\n ContractDeleted: 'تم حذف العقد بنجاح',\r\n TraineeCreated: 'تم إنشاء المتدرب بنجاح',\r\n TraineeUpdated: 'تم تحديث المتدرب بنجاح',\r\n TraineeDeleted: 'تم حذف المتدرب بنجاح',\r\n\r\n NotUniqueCorporate: 'هذه الشركة موجودة بالفعل',\r\n NotUniqueContract: 'هذا العقد موجود بالفعل',\r\n NotUniqueTrainee: 'هذا المتدرب موجود بالفعل',\r\n\r\n ContractHavDependance: 'هذا العقد له تبعية احذفها أولاً',\r\n TraineeHavDependance: 'هذا المتدرب لديه تبعية احذفهم أولاً',\r\n ExportToExcel: 'تصدير إلى Excel',\r\n QuizResults: 'نتائج الاختبار',\r\n Before: 'قبل',\r\n After: 'بعد',\r\n Complete: 'مكتمل',\r\n ResetResults:'الغاء نتيجه الامتحان النهائى'\r\n },\r\n CreateCourse: {\r\n CourseInformation: 'معلومات عن الكورس',\r\n CreateCourse: 'أنشاء كورس',\r\n CourseVedios: 'فيديوهات الكورس',\r\n Price: 'السعر',\r\n CourseNameEnglish: 'أسم الكورس بالانجليزى',\r\n CourseDetialsEnglish: 'تفاصيل الكورس بالانجليزى',\r\n CourseNameArabic: 'أسم باللغه العربيه',\r\n CourseDetailsArabic: 'تفاصيل الكورس باللغه العربيه',\r\n UploadCourse: 'تحميل صوره الكورس',\r\n ChooseCategory: 'فئه الكورس',\r\n ChooseFile: 'اختر الملف',\r\n SaveandContinue: 'حفظ و استمرار',\r\n Cancel: 'الغـاء',\r\n SaveandFinish: 'حفظ وانهاء',\r\n BankofQuestions: 'بنك الاسئله',\r\n VideoName: 'أسـم الفيديو بالغه الانجليزيه',\r\n VideoArName: 'أسـم الفيديو بالغه العربيه',\r\n VideoThumbnail: 'صوره الفيديو',\r\n Add: 'أضافـه',\r\n NameEn: 'الاسم باللغه الانجليزيه',\r\n NameAr: 'الاسم باللغه العربيه',\r\n Thumbnail: 'غلاف الصوره',\r\n Path: 'المسار',\r\n TheQuestion: 'السـوال',\r\n VideoLink: 'أدخل لينك الفيديو ',\r\n Answer01:'الاجابه 1',\r\n Answer02:'الاجابه 2',\r\n Answer03:'الاجابه 3',\r\n Answer04: 'الاجابه 4',\r\n RightAnswer: 'الأجابه الصحيحه',\r\n ConfirmAnswer:'هل تريد الحفظ و المتابعه'\r\n }\r\n },\r\n\r\n};\r\n","export const locale = {\r\n lang: 'en',\r\n data: {\r\n dateLang: 'en',\r\n Validation: {\r\n Required: \"This field is required.\",\r\n Email: \"You have entered an invalid email.\",\r\n ConflictDate: \"End date must be greater than start date.\",\r\n },\r\n DEFAULT: {\r\n Placeholder: \"Write here...\",\r\n Loading: \"Loading...\",\r\n yes: \"Yes\",\r\n no: \"No\",\r\n confirmationTitle: 'Are You Sure?',\r\n null: 'NULL',\r\n },\r\n HEADER: {\r\n Logout: \"Logout\",\r\n Language: \"Language\",\r\n DIR: \"ltr\",\r\n Notification: \"Notification\",\r\n ChangePassword: \"Change Password\",\r\n MyCourses: \"My Courses\",\r\n AdminSite: \"Admin Site\",\r\n AboutUs: \"about us\",\r\n JoinOurAcademy: \"join our academy\",\r\n SiteMap: \"sitemap\",\r\n ContactUs: \"contact us\",\r\n SearchOnCourse: \"Search on Course\",\r\n SignIn: \"Sign In\",\r\n SignUp: \"Sign Up\",\r\n },\r\n FOOTER: {\r\n WELCOME: \"WELCOME...! NI Academy - Education Platform\",\r\n NIAEP: \"NI Academy - Education Platform [NIAEP]\",\r\n Text: \"treasures each child, and values the opportunity to help students learn and grow.Come be a part of our schools, whether as an involved parent, a student, a community volunteer, or a partner.Pulling together, we can accomplish our goal.\",\r\n NEWSLETTERSIGNUP: \"NEWSLETTER SIGNUP\",\r\n ReceiveTheLatest: \"Receive the latest useful information, daily.\",\r\n EmailAddress: \"Enter your e-mail Address\",\r\n SignUp: \"SIGNUP\",\r\n FeelFreeContactUs: \"Feel free to contact us:\",\r\n Info: \"+20 2 2480 07 03 / 04 | info@niconsulting.com.eg\",\r\n Home: \"home\",\r\n AboutUs: \"about us\",\r\n JoinOurAcademy: \"join our academy\",\r\n Support: \"help and support\",\r\n TermsAndConditions: \"terms and conditions\",\r\n PrivacyPolicy: \"privacy policy\",\r\n SiteMap: \"sitemap\",\r\n ContactUs: \"contact us\",\r\n CopyRight: \"NI Academy © 2021 Privacy Policy\",\r\n },\r\n RESETPASS: {\r\n ResetPassword: \"Reset Password\",\r\n PleaseNewPassowrd: \"Please enter your new passowrd\",\r\n NewPassowrd: \"Enter New Passowrd\",\r\n NewPassowrdReq: \"Password is required\",\r\n NewPassowrdPtrn: \"At least 6 characters: Lowercase letters & Uppercase letters & Numbers\",\r\n ReEnterNewPassowrd: \"Confirm New Passowrd\",\r\n ReEnterNewPassowrdReq: \"Confirm Password is required\",\r\n DontMatch: \"Password and Confirm Password do not match\",\r\n ChangePasswordBTN: \"Change Password\",\r\n },\r\n REGISTER: {\r\n SignUpTo: \"Sign up to\",\r\n StartLearning: \"Start Learning!\",\r\n EmailRegistered: \"This email has already been registered\",\r\n FirstName: \"First Name\",\r\n FirstNameReq: \"First Name is Required\",\r\n LastName: \"Last Name\",\r\n LastNameReq: \"Last Name is Required\",\r\n Email: \"Email\",\r\n EmailReq: \"Email is Required\",\r\n EmailPtrn: \"This Email is invalid\",\r\n Password: \"Password\",\r\n NewPassowrdReq: \"Password is required\",\r\n NewPassowrdPtrn: \"At least 6 characters: Lowercase letters & Uppercase letters & Numbers\",\r\n allowsendemail: \"Yes! I want to get the most out of NI Academy by receiving emails with exclusive deals, personal recommendations and learning tips!\",\r\n SignUp: \"Sign Up\",\r\n Agree: \"By signing up, you agree to our\",\r\n TermsOfUse: \"Terms of Use\",\r\n And: \"and\",\r\n PrivacyPolicy: \"Privacy Policy\",\r\n AlreadyHaveAnAccount: \"Already have an account\",\r\n },\r\n LOGIN: {\r\n LoginTo: \"login to your\",\r\n NIAcademyAccount: \"NI Academy Account\",\r\n Error1: \"The user is not allowed to use this system\",\r\n Error2: \"Please check the user name and the password again!\",\r\n Email: \"Email\",\r\n EmailReq: \"Email is Required\",\r\n Password: \"Password\",\r\n PassowrdPtrn: \"At least 6 characters: Lowercase letters & Uppercase letters & Numbers\",\r\n PassowrdReq: \"Password is Required\",\r\n Login: \"Login\",\r\n ForgotPassword: \"Forgot Password\",\r\n CreateNewAccount: \"Create new Account\",\r\n Facebook: \"Use your facebook account\",\r\n Gmail: \"Use your gmail account\",\r\n },\r\n ForgetPass: {\r\n ForgotPassword: \"Forgot Password\",\r\n PleaseRegisteredEmail: \"Please enter your registered email\",\r\n Error1: \"This user is no longer usable.\",\r\n Error2: \"Email not found.\",\r\n Error3: \"Mailer error Try at a later time\",\r\n Success: \"Sent, please check your email\",\r\n Email: \"Email\",\r\n EmailReq1: \"Email is required\",\r\n EmailReq2: \"This Email is invalid\",\r\n ResetPassword: \"Reset Password\",\r\n AlreadyHaveAnAccount: \"Already have an account\",\r\n SignIn: \"Sing In\",\r\n },\r\n Error: {\r\n Message: \"You don't have privileges,Please Contact NI Academy Administrator.\",\r\n Home: \"Back to Home\",\r\n },\r\n ChangePass: {\r\n ChangePassword: \"Change Password\",\r\n OldPassword: \"Old Password\",\r\n OldPasswordReq: \"Old Password Is Required\",\r\n WrongPassword: \"Wrong Password\",\r\n NewPassword: \"New Password\",\r\n NewPasswordReq: \"New Password Is Required\",\r\n NewPasswordPtrn: \"At least 6 characters: Lowercase letters & Uppercase letters & Numbers\",\r\n ConfirmPassword: \"Confirm Password\",\r\n ConfirmPasswordReq1: \"Confirm Password Is Required\",\r\n ConfirmPasswordReq2: \"Confirm Password Not Match With The New One\",\r\n Save: \"Save\",\r\n },\r\n CourseDetails: {\r\n BuyNow: \"Buy Now\",\r\n CreatedBy:\"created by:\",\r\n Content: \"courses content\",\r\n },\r\n Benefits: {\r\n Title: \"Current Training Programs\",\r\n TitleBody: \"NI Consulting Academy strides to provide the latest educational content that is beneficial to the trainee, all while enriching his or her abilities and professional skills in all fields. \",\r\n NIABenefits: \"NI Academy Advantages\",\r\n GradesAssignments: \"Flexibility and Convenience\",\r\n GradesAssignmentsBody: \"Trainees can access and benefit from the training resources and programs at any time throughout the day\",\r\n AttendanceBehavior: \"The Education 2.0 Method\",\r\n AttendanceBehaviorBody: \"The success and effectiveness of the program depends on the eagerness of the trainee to learn and actively participate in the training.\",\r\n DistrictStateTests: \"Measurable Learning Progress\",\r\n DistrictStateTestsBody: \"The trainee will be able to follow up on his or her cognitive development through assessment results before and after attending the full course.\",\r\n ACADEMICRESOURCES: \"Direct Communication with the Trainer\",\r\n ACADEMICRESOURCESBody: \"The trainee attends an interactive lecture with the trainer, during which he or she can ask questions or discuss topics related to the course material .\",\r\n ScheduleCourses: \"Diversity of Topics\",\r\n ScheduleCoursesBody: \"Trainees can choose multiple programs, whether in different fields that enrich their knowledge range, or programs at higher levels in the same subject to be integrated and build a more comprehensive knowledge base for the trainee.\",\r\n AfterSchoolSupport: \"Knowledge Refreshment\",\r\n AfterSchoolSupportBody: \"The trainee can re-watch the course videos any number of times during the year following the end of the program to use the course and educational resources as a reference when needed.\",\r\n },\r\n NewCourses: {\r\n NewCourses: \"new courses\",\r\n },\r\n RecentPrograms: {\r\n RecentPrograms: \"recent programs\",\r\n Body: \"NI Academy has been providing top-quality, AMI Certified Montessori Education to Elementary, Primary, and Toddler aged children in the area.\",\r\n },\r\n Topics: {\r\n TopicsRecommended: \"topics recommended\",\r\n },\r\n Course: {\r\n buynow: \"buy now\",\r\n EGP: \"EGP\",\r\n completed: \"completed\",\r\n NotTaken: \"The final exam has not been taken yet\",\r\n FinalScore: \"Exam Score\"\r\n },\r\n Search: {\r\n NotFound:\"Sorry no result found match with your search\",\r\n Back:\"Back to Home\",\r\n Explore:\"Explore\",\r\n Courses:\"Courses\",\r\n results:\"results for \",\r\n Createdby:\"Created by:\",\r\n },\r\n Profile: {\r\n MyCourses: \"my courses\",\r\n MyInfo: \"My Info\",\r\n FirstName: \"First Name\",\r\n LastName: \"Last Name\",\r\n Email:\"Mail\"\r\n },\r\n Corporate: {\r\n CorporateManagement: \"corporate management\",\r\n AddNewCorporate: \"Add New corporate\",\r\n ContractNo: \"Contract No.\",\r\n ContractName: \"Contract Name\",\r\n ContactPerson: \"Contact Person\",\r\n NoOfCourses: \"No. of Courses\",\r\n NoOfGroups: \"No. of Groups\",\r\n NoOfTrainees: \"No. of Trainees\",\r\n\r\n CorporateInformation: \"Corporate Information\",\r\n CreateNewCorporate: \"create new corporate\",\r\n BackToCorporateList: \"Back to Corporate List\",\r\n Name: \"Name\",\r\n NamePH: \"eg: NI Consulting\",\r\n HeadOfficeAddress: \"Head Office Address\",\r\n HeadOfficeAddressPH: \"eg: Star Capital A2 Office Building, 9th Floor, City Star Business and Commercial Complex 2, Aly Rashid St., Nasr City, Cairo, Egypt\",\r\n LocationOnGoogleMaps: \"Location on google Maps\",\r\n LocationOnGoogleMapsPH: \"eg: 30.07454134025531, 31.346966728836392\",\r\n SaveCorporate: \"Save Corporate\",\r\n Return: \"Return\",\r\n\r\n Contracts: \"Contracts\",\r\n BasicInfromation: \"Basic Infromation\",\r\n Number: \"Number\",\r\n NumberPH: \"eg: 20210428\",\r\n StartDate: \"Start Date\",\r\n StartDatePH: \"eg: 01/01/2021\",\r\n EndDate: \"End Date\",\r\n EndDatePH: \"eg: 31/01/2021\",\r\n BIName: \"Name\",\r\n BINamePH: \"eg: Contract Name\",\r\n Next: \"Next\",\r\n ContactPersonInfromation: \"Contact Person Infromation\",\r\n CPIName: \"Name\",\r\n CPINamePH: \"eg: Full Name\",\r\n JobTitle: \"Job Title\",\r\n JobTitlePH: \"eg: CEO\",\r\n MobileNumber: \"Mobile Number\",\r\n MobileNumberPH: \"eg: +20 XXX X XXX XXX\",\r\n EmailAddress: \"Email Address\",\r\n EmailAddressPH: \"eg: email@domain.com\",\r\n Previous: \"Previous\",\r\n Course: \"Course\",\r\n SelectContractCourses: \"Select Contract Courses\",\r\n SaveContract: \"Save Contract\",\r\n SaveAndContinue: \"Save and Continue\",\r\n\r\n TraineeList: \"Trainee List\",\r\n TraineeName: \"Trainee Name\",\r\n TraineeNamePH: \"eg: Full Name\",\r\n TraineeEntity: \"Trainee Entity\",\r\n TraineeEntityPH: \"eg: Ministry of Planning\",\r\n SelectContractNumber: \"Select Contract Number\",\r\n AssignedCourses: \"Assigned Courses\",\r\n GroupName: \"Group Name\",\r\n GroupNumber: \"Group Number/ID\",\r\n Groups: \"Groups\",\r\n AddGroup: \"Add Group\",\r\n EditGroup: \"Edit Group\",\r\n SaveTrainee: \"Save Trainee\",\r\n Cancel: \"Cancel\",\r\n\r\n confirmationContractDelete: 'You Will Delete This Contract',\r\n confirmationTraineeDelete: 'You Will Delete This Trainee',\r\n confirmationGroupDelete: 'You Will Delete This Group',\r\n confirmationCorporateDelete: 'You Will Delete This Corporate',\r\n CorporateCreated: 'Corporate Created Successfully',\r\n CorporateUpdated: 'Corporate Updated Successfully',\r\n CorporateDeleted: 'Corporate Deleted Successfully',\r\n ContractCreated: 'Contract Created Successfully',\r\n ContractUpdated: 'Contract Updated Successfully',\r\n ContractDeleted: 'Contract Deleted Successfully',\r\n TraineeCreated: 'Trainee Created Successfully',\r\n TraineeUpdated: 'Trainee Updated Successfully',\r\n TraineeDeleted: 'Trainee Deleted Successfully',\r\n\r\n NotUniqueCorporate: 'This corporate is already exist',\r\n NotUniqueContract: 'This contract is already exist',\r\n NotUniqueTrainee: 'This trainee is already exist',\r\n\r\n ContractHavDependance: 'This contract has dependency delete them first',\r\n TraineeHavDependance: 'This trainee has dependency delete them first',\r\n ExportToExcel: 'Export To Excel',\r\n QuizResults: 'Quiz Results',\r\n Before: 'Before',\r\n After: 'After',\r\n Complete: 'Complete',\r\n ResetResults: 'Reset The Final Result'\r\n },\r\n CreateCourse: {\r\n CourseInformation: 'Course Information',\r\n CreateCourse:'Create New Course',\r\n CourseVedios:'Course Vedios',\r\n Price:'Price',\r\n CourseNameEnglish:'Course Name in English Language',\r\n CourseDetialsEnglish:'Course Details in English Language',\r\n CourseNameArabic:'Course Name in Arabic Language',\r\n CourseDetailsArabic: 'Course Details in Arabic Language',\r\n UploadCourse: 'Upload Course Image',\r\n ChooseCategory:'Choose Category',\r\n ChooseFile:'Choose File',\r\n SaveandContinue:'Save and Continue',\r\n Cancel:'Cancel',\r\n SaveandFinish: 'Save and Finish',\r\n BankofQuestions: 'Bank of Questions',\r\n VideoName: 'Video Name by English',\r\n VideoArName: 'Video Name by Arabic',\r\n VideoThumbnail: 'Video Thumbnail',\r\n Add: 'Add',\r\n NameEn: 'Name [EN]',\r\n NameAr: 'Name [AR]',\r\n Thumbnail: 'Thumbnail',\r\n Path: 'Path',\r\n TheQuestion: 'The Question',\r\n VideoLink: 'Enter video link on Server',\r\n Answer01: 'Answer 01',\r\n Answer02: 'Answer 02',\r\n Answer03: 'Answer 03',\r\n Answer04: 'Answer 04',\r\n RightAnswer: 'Right Answer',\r\n ConfirmAnswer: 'Do you want to save and continue?'\r\n\r\n },\r\n }\r\n};\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.10.8.0 (NJsonSchema v10.3.11.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AbilityService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/Ability/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/Ability/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Ability/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n authenticate(user: UserLogin): Observable {\r\n let url_ = this.baseUrl + \"/api/Account/Authenticate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(user);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAuthenticate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAuthenticate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAuthenticate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n socialAuthenticate(user: UserDto): Observable {\r\n let url_ = this.baseUrl + \"/api/Account/SocialAuthenticate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(user);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSocialAuthenticate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSocialAuthenticate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSocialAuthenticate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n register(user: UserDto): Observable {\r\n let url_ = this.baseUrl + \"/api/Account/Register\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(user);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processRegister(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRegister(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processRegister(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n forgotPassword(email: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Account/ForgotPassword?\";\r\n if (email !== undefined && email !== null)\r\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processForgotPassword(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processForgotPassword(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processForgotPassword(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/Account/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/Account/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Account/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaseService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/Base/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/Base/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Base/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CategoryService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n get(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Category/Get?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getAll(page: number | undefined, pageSize: number | undefined, filter: Filter[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Category/GetAll?\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (filter !== undefined && filter !== null)\r\n filter && filter.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"Filter[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getCategorysList(lenght: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Category/GetCategorysList?\";\r\n if (lenght === null)\r\n throw new Error(\"The parameter 'lenght' cannot be null.\");\r\n else if (lenght !== undefined)\r\n url_ += \"Lenght=\" + encodeURIComponent(\"\" + lenght) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCategorysList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCategorysList(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetCategorysList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n create(category: Category): Observable {\r\n let url_ = this.baseUrl + \"/api/Category/Create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(category);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n update(category: Category): Observable {\r\n let url_ = this.baseUrl + \"/api/Category/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(category);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n changeCategoryStatus(iD: number | undefined, status: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Category/ChangeCategoryStatus?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeCategoryStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeCategoryStatus(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processChangeCategoryStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getCategoryCourses(categoryID: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Category/GetCategoryCourses?\";\r\n if (categoryID === null)\r\n throw new Error(\"The parameter 'categoryID' cannot be null.\");\r\n else if (categoryID !== undefined)\r\n url_ += \"CategoryID=\" + encodeURIComponent(\"\" + categoryID) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCategoryCourses(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCategoryCourses(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetCategoryCourses(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/Category/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/Category/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Category/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContractService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n get(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Contract/Get?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getContractCourses(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Contract/GetContractCourses?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetContractCourses(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetContractCourses(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetContractCourses(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getContractGroups(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Contract/GetContractGroups?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetContractGroups(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetContractGroups(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetContractGroups(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getAll(page: number | undefined, pageSize: number | undefined, filter: Filter[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Contract/GetAll?\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (filter !== undefined && filter !== null)\r\n filter && filter.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"Filter[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getContractsList(lenght: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Contract/GetContractsList?\";\r\n if (lenght === null)\r\n throw new Error(\"The parameter 'lenght' cannot be null.\");\r\n else if (lenght !== undefined)\r\n url_ += \"Lenght=\" + encodeURIComponent(\"\" + lenght) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetContractsList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetContractsList(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetContractsList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n create(contract: CreateContractDto): Observable {\r\n let url_ = this.baseUrl + \"/api/Contract/Create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(contract);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n update(contract: CreateContractDto): Observable {\r\n let url_ = this.baseUrl + \"/api/Contract/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(contract);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n changeContractStatus(iD: number | undefined, status: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Contract/ChangeContractStatus?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeContractStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeContractStatus(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processChangeContractStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/Contract/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/Contract/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Contract/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CorporateService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n get(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Corporate/Get?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getAll(page: number | undefined, pageSize: number | undefined, filter: Filter[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Corporate/GetAll?\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (filter !== undefined && filter !== null)\r\n filter && filter.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"Filter[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getCorporatesList(lenght: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Corporate/GetCorporatesList?\";\r\n if (lenght === null)\r\n throw new Error(\"The parameter 'lenght' cannot be null.\");\r\n else if (lenght !== undefined)\r\n url_ += \"Lenght=\" + encodeURIComponent(\"\" + lenght) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCorporatesList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCorporatesList(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetCorporatesList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n create(corporate: Corporate): Observable {\r\n let url_ = this.baseUrl + \"/api/Corporate/Create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(corporate);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n update(corporate: Corporate): Observable {\r\n let url_ = this.baseUrl + \"/api/Corporate/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(corporate);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n changeCorporateStatus(iD: number | undefined, status: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Corporate/ChangeCorporateStatus?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeCorporateStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeCorporateStatus(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processChangeCorporateStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getCorporateDetails(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Corporate/GetCorporateDetails?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCorporateDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCorporateDetails(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetCorporateDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/Corporate/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/Corporate/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Corporate/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CourseService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n get(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Course/Get?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getAll(page: number | undefined, pageSize: number | undefined, filter: Filter[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Course/GetAll?\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (filter !== undefined && filter !== null)\r\n filter && filter.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"Filter[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getCoursesList(lenght: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Course/GetCoursesList?\";\r\n if (lenght === null)\r\n throw new Error(\"The parameter 'lenght' cannot be null.\");\r\n else if (lenght !== undefined)\r\n url_ += \"Lenght=\" + encodeURIComponent(\"\" + lenght) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCoursesList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCoursesList(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetCoursesList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n create(course: Course): Observable {\r\n let url_ = this.baseUrl + \"/api/Course/Create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(course);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n update(course: Course): Observable {\r\n let url_ = this.baseUrl + \"/api/Course/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(course);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n changeCourseStatus(iD: number | undefined, status: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Course/ChangeCourseStatus?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeCourseStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeCourseStatus(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processChangeCourseStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n search(text: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Course/Search?\";\r\n if (text !== undefined && text !== null)\r\n url_ += \"Text=\" + encodeURIComponent(\"\" + text) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSearch(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSearch(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSearch(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n upload(file: FileParameter | null | undefined, folderName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Course/Upload?\";\r\n if (folderName !== undefined && folderName !== null)\r\n url_ += \"folderName=\" + encodeURIComponent(\"\" + folderName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (file !== null && file !== undefined)\r\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpload(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpload(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpload(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/Course/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/Course/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Course/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CourseQuestionsService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n get(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/CourseQuestions/Get?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getAll(page: number | undefined, pageSize: number | undefined, filter: Filter[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/CourseQuestions/GetAll?\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (filter !== undefined && filter !== null)\r\n filter && filter.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"Filter[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getCourseQuestionssList(courseId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/CourseQuestions/GetCourseQuestionssList?\";\r\n if (courseId === null)\r\n throw new Error(\"The parameter 'courseId' cannot be null.\");\r\n else if (courseId !== undefined)\r\n url_ += \"courseId=\" + encodeURIComponent(\"\" + courseId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCourseQuestionssList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCourseQuestionssList(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetCourseQuestionssList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n create(courseQuestions: CourseQuestions): Observable {\r\n let url_ = this.baseUrl + \"/api/CourseQuestions/Create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(courseQuestions);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n createBulk(courseQuestions: CourseQuestions[]): Observable {\r\n let url_ = this.baseUrl + \"/api/CourseQuestions/CreateBulk\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(courseQuestions);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateBulk(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateBulk(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCreateBulk(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n update(courseQuestions: CourseQuestions): Observable {\r\n let url_ = this.baseUrl + \"/api/CourseQuestions/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(courseQuestions);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/CourseQuestions/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/CourseQuestions/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/CourseQuestions/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n getAll(page: number | undefined, pageSize: number | undefined, filter: Filter[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/GetAll?\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (filter !== undefined && filter !== null)\r\n filter && filter.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"Filter[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n markAsSeen(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/MarkAsSeen?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processMarkAsSeen(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processMarkAsSeen(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processMarkAsSeen(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n export(type: ExportType | undefined, message: string, controlTitle: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Report/Export?\";\r\n if (type === null)\r\n throw new Error(\"The parameter 'type' cannot be null.\");\r\n else if (type !== undefined)\r\n url_ += \"type=\" + encodeURIComponent(\"\" + type) + \"&\";\r\n if (controlTitle !== undefined && controlTitle !== null)\r\n url_ += \"ControlTitle=\" + encodeURIComponent(\"\" + controlTitle) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processExport(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processExport(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processExport(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/Report/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/Report/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Report/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n get(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/User/Get?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getByToken(): Observable {\r\n let url_ = this.baseUrl + \"/api/User/GetByToken\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetByToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetByToken(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetByToken(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getAll(page: number | undefined, pageSize: number | undefined, filter: Filter[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/User/GetAll?\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (filter !== undefined && filter !== null)\r\n filter && filter.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"Filter[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getUsersList(): Observable {\r\n let url_ = this.baseUrl + \"/api/User/GetUsersList\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUsersList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUsersList(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetUsersList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n update(user: UserDto): Observable {\r\n let url_ = this.baseUrl + \"/api/User/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(user);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n changeUserPassword(iD: number | undefined, password: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/User/ChangeUserPassword?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n if (password !== undefined && password !== null)\r\n url_ += \"Password=\" + encodeURIComponent(\"\" + password) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeUserPassword(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeUserPassword(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processChangeUserPassword(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n sendEmail(): Observable {\r\n let url_ = this.baseUrl + \"/api/User/SendEmail\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSendEmail(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSendEmail(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSendEmail(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n changeUserStatus(iD: number | undefined, status: boolean | undefined, contractID: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/User/ChangeUserStatus?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n if (contractID === null)\r\n throw new Error(\"The parameter 'contractID' cannot be null.\");\r\n else if (contractID !== undefined)\r\n url_ += \"contractID=\" + encodeURIComponent(\"\" + contractID) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeUserStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeUserStatus(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processChangeUserStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n changePassword(oldPassword: string | null | undefined, newPassword: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/User/ChangePassword?\";\r\n if (oldPassword !== undefined && oldPassword !== null)\r\n url_ += \"oldPassword=\" + encodeURIComponent(\"\" + oldPassword) + \"&\";\r\n if (newPassword !== undefined && newPassword !== null)\r\n url_ += \"newPassword=\" + encodeURIComponent(\"\" + newPassword) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangePassword(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangePassword(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processChangePassword(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n changeCurrentUserPassword(access_token: string | null | undefined, password: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/User/ChangeCurrentUserPassword?\";\r\n if (access_token !== undefined && access_token !== null)\r\n url_ += \"access_token=\" + encodeURIComponent(\"\" + access_token) + \"&\";\r\n if (password !== undefined && password !== null)\r\n url_ += \"Password=\" + encodeURIComponent(\"\" + password) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeCurrentUserPassword(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeCurrentUserPassword(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processChangeCurrentUserPassword(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n createTrainee(trainee: Trainee): Observable {\r\n let url_ = this.baseUrl + \"/api/User/CreateTrainee\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(trainee);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateTrainee(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateTrainee(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCreateTrainee(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n updateTrainee(trainee: Trainee): Observable {\r\n let url_ = this.baseUrl + \"/api/User/UpdateTrainee\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(trainee);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdateTrainee(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateTrainee(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdateTrainee(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/User/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/User/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/User/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserCourseService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n get(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/UserCourse/Get?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getAll(page: number | undefined, pageSize: number | undefined, filter: Filter[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/UserCourse/GetAll?\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (filter !== undefined && filter !== null)\r\n filter && filter.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"Filter[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getUserCoursesList(lenght: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/UserCourse/GetUserCoursesList?\";\r\n if (lenght === null)\r\n throw new Error(\"The parameter 'lenght' cannot be null.\");\r\n else if (lenght !== undefined)\r\n url_ += \"Lenght=\" + encodeURIComponent(\"\" + lenght) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUserCoursesList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUserCoursesList(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetUserCoursesList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n create(userCourse: UserCourse): Observable {\r\n let url_ = this.baseUrl + \"/api/UserCourse/Create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(userCourse);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n update(userCourse: UserCourse): Observable {\r\n let url_ = this.baseUrl + \"/api/UserCourse/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(userCourse);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n changeUserCourseStatus(iD: number | undefined, status: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/UserCourse/ChangeUserCourseStatus?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeUserCourseStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeUserCourseStatus(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processChangeUserCourseStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n isUserCourse(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/UserCourse/IsUserCourse?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processIsUserCourse(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processIsUserCourse(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processIsUserCourse(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n addUserCourseVideo(videoID: number | undefined, courseID: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/UserCourse/AddUserCourseVideo?\";\r\n if (videoID === null)\r\n throw new Error(\"The parameter 'videoID' cannot be null.\");\r\n else if (videoID !== undefined)\r\n url_ += \"VideoID=\" + encodeURIComponent(\"\" + videoID) + \"&\";\r\n if (courseID === null)\r\n throw new Error(\"The parameter 'courseID' cannot be null.\");\r\n else if (courseID !== undefined)\r\n url_ += \"CourseID=\" + encodeURIComponent(\"\" + courseID) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddUserCourseVideo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddUserCourseVideo(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAddUserCourseVideo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/UserCourse/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/UserCourse/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/UserCourse/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserExamService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n get(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/UserExam/Get?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getAll(page: number | undefined, pageSize: number | undefined, filter: Filter[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/UserExam/GetAll?\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (filter !== undefined && filter !== null)\r\n filter && filter.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"Filter[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getUserCourseExamsList(lenght: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/UserExam/GetUserCourseExamsList?\";\r\n if (lenght === null)\r\n throw new Error(\"The parameter 'lenght' cannot be null.\");\r\n else if (lenght !== undefined)\r\n url_ += \"Lenght=\" + encodeURIComponent(\"\" + lenght) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUserCourseExamsList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUserCourseExamsList(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetUserCourseExamsList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n create(course: UserCourseExams): Observable {\r\n let url_ = this.baseUrl + \"/api/UserExam/Create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(course);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n update(course: UserCourseExams): Observable {\r\n let url_ = this.baseUrl + \"/api/UserExam/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(course);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n resetFinalResult(userCourseId: number | undefined, resetBefore: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/UserExam/ResetFinalResult?\";\r\n if (userCourseId === null)\r\n throw new Error(\"The parameter 'userCourseId' cannot be null.\");\r\n else if (userCourseId !== undefined)\r\n url_ += \"UserCourseId=\" + encodeURIComponent(\"\" + userCourseId) + \"&\";\r\n if (resetBefore === null)\r\n throw new Error(\"The parameter 'resetBefore' cannot be null.\");\r\n else if (resetBefore !== undefined)\r\n url_ += \"resetBefore=\" + encodeURIComponent(\"\" + resetBefore) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetFinalResult(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetFinalResult(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processResetFinalResult(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/UserExam/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/UserExam/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/UserExam/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VideosService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n get(iD: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Videos/Get?\";\r\n if (iD === null)\r\n throw new Error(\"The parameter 'iD' cannot be null.\");\r\n else if (iD !== undefined)\r\n url_ += \"ID=\" + encodeURIComponent(\"\" + iD) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getAll(page: number | undefined, pageSize: number | undefined, filter: Filter[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Videos/GetAll?\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (filter !== undefined && filter !== null)\r\n filter && filter.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"Filter[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAll(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAll(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetAll(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getVideossList(lenght: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Videos/GetVideossList?\";\r\n if (lenght === null)\r\n throw new Error(\"The parameter 'lenght' cannot be null.\");\r\n else if (lenght !== undefined)\r\n url_ += \"Lenght=\" + encodeURIComponent(\"\" + lenght) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetVideossList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetVideossList(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetVideossList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getVideosPerCourse(courseId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Videos/GetVideosPerCourse?\";\r\n if (courseId === null)\r\n throw new Error(\"The parameter 'courseId' cannot be null.\");\r\n else if (courseId !== undefined)\r\n url_ += \"courseId=\" + encodeURIComponent(\"\" + courseId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetVideosPerCourse(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetVideosPerCourse(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetVideosPerCourse(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n createBulk(videos: CourseVides[]): Observable {\r\n let url_ = this.baseUrl + \"/api/Videos/CreateBulk\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(videos);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateBulk(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateBulk(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCreateBulk(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n create(videos: CourseVides): Observable {\r\n let url_ = this.baseUrl + \"/api/Videos/Create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(videos);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n update(videos: CourseVides): Observable {\r\n let url_ = this.baseUrl + \"/api/Videos/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(videos);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Result.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n success(): Observable {\r\n let url_ = this.baseUrl + \"/api/Videos/Success\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSuccess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSuccess(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSuccess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Success.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n error(): Observable {\r\n let url_ = this.baseUrl + \"/api/Videos/Error\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processError(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processError(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processError(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ErrorDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getMimeType(fileName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Videos/GetMimeType?\";\r\n if (fileName !== undefined && fileName !== null)\r\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMimeType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMimeType(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetMimeType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\nexport class Result implements IResult {\r\n code?: string | undefined;\r\n data?: any | undefined;\r\n count!: number;\r\n sum!: number;\r\n success!: boolean;\r\n listData?: any[] | undefined;\r\n\r\n constructor(data?: IResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.data = _data[\"data\"];\r\n this.count = _data[\"count\"];\r\n this.sum = _data[\"sum\"];\r\n this.success = _data[\"success\"];\r\n if (Array.isArray(_data[\"listData\"])) {\r\n this.listData = [] as any;\r\n for (let item of _data[\"listData\"])\r\n this.listData!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Result {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Result();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"data\"] = this.data;\r\n data[\"count\"] = this.count;\r\n data[\"sum\"] = this.sum;\r\n data[\"success\"] = this.success;\r\n if (Array.isArray(this.listData)) {\r\n data[\"listData\"] = [];\r\n for (let item of this.listData)\r\n data[\"listData\"].push(item);\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IResult {\r\n code?: string | undefined;\r\n data?: any | undefined;\r\n count: number;\r\n sum: number;\r\n success: boolean;\r\n listData?: any[] | undefined;\r\n}\r\n\r\nexport class Success extends Result implements ISuccess {\r\n\r\n constructor(data?: ISuccess) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): Success {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Success();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ISuccess extends IResult {\r\n}\r\n\r\nexport class ErrorDto extends Result implements IErrorDto {\r\n\r\n constructor(data?: IErrorDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): ErrorDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ErrorDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IErrorDto extends IResult {\r\n}\r\n\r\nexport class UserDto implements IUserDto {\r\n id!: number;\r\n name?: string | undefined;\r\n nameAr?: string | undefined;\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n phone2?: string | undefined;\r\n address?: string | undefined;\r\n addressAr?: string | undefined;\r\n gender?: number | undefined;\r\n allowSendEmail?: boolean | undefined;\r\n type?: number | undefined;\r\n isSocialLogin?: boolean | undefined;\r\n socialLoginType?: number | undefined;\r\n photo?: string | undefined;\r\n isDeleted?: boolean | undefined;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n token?: string | undefined;\r\n profilePhoto?: any | undefined;\r\n\r\n constructor(data?: IUserDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.nameAr = _data[\"nameAr\"];\r\n this.userName = _data[\"userName\"];\r\n this.password = _data[\"password\"];\r\n this.email = _data[\"email\"];\r\n this.phone = _data[\"phone\"];\r\n this.phone2 = _data[\"phone2\"];\r\n this.address = _data[\"address\"];\r\n this.addressAr = _data[\"addressAr\"];\r\n this.gender = _data[\"gender\"];\r\n this.allowSendEmail = _data[\"allowSendEmail\"];\r\n this.type = _data[\"type\"];\r\n this.isSocialLogin = _data[\"isSocialLogin\"];\r\n this.socialLoginType = _data[\"socialLoginType\"];\r\n this.photo = _data[\"photo\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n this.token = _data[\"token\"];\r\n this.profilePhoto = _data[\"profilePhoto\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"nameAr\"] = this.nameAr;\r\n data[\"userName\"] = this.userName;\r\n data[\"password\"] = this.password;\r\n data[\"email\"] = this.email;\r\n data[\"phone\"] = this.phone;\r\n data[\"phone2\"] = this.phone2;\r\n data[\"address\"] = this.address;\r\n data[\"addressAr\"] = this.addressAr;\r\n data[\"gender\"] = this.gender;\r\n data[\"allowSendEmail\"] = this.allowSendEmail;\r\n data[\"type\"] = this.type;\r\n data[\"isSocialLogin\"] = this.isSocialLogin;\r\n data[\"socialLoginType\"] = this.socialLoginType;\r\n data[\"photo\"] = this.photo;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"token\"] = this.token;\r\n data[\"profilePhoto\"] = this.profilePhoto;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IUserDto {\r\n id: number;\r\n name?: string | undefined;\r\n nameAr?: string | undefined;\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n phone2?: string | undefined;\r\n address?: string | undefined;\r\n addressAr?: string | undefined;\r\n gender?: number | undefined;\r\n allowSendEmail?: boolean | undefined;\r\n type?: number | undefined;\r\n isSocialLogin?: boolean | undefined;\r\n socialLoginType?: number | undefined;\r\n photo?: string | undefined;\r\n isDeleted?: boolean | undefined;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n token?: string | undefined;\r\n profilePhoto?: any | undefined;\r\n}\r\n\r\nexport class UserLogin implements IUserLogin {\r\n email!: string;\r\n password!: string;\r\n\r\n constructor(data?: IUserLogin) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserLogin {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserLogin();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"password\"] = this.password;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IUserLogin {\r\n email: string;\r\n password: string;\r\n}\r\n\r\nexport class Filter implements IFilter {\r\n key?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: IFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.key = _data[\"key\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Filter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Filter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"key\"] = this.key;\r\n data[\"value\"] = this.value;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IFilter {\r\n key?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class Category implements ICategory {\r\n id!: number;\r\n name?: string | undefined;\r\n nameAr?: string | undefined;\r\n description?: string | undefined;\r\n descriptionaR?: string | undefined;\r\n imagePath?: string | undefined;\r\n isDeleted?: boolean | undefined;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n createdByNavigation?: User | undefined;\r\n course?: Course[] | undefined;\r\n\r\n constructor(data?: ICategory) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.nameAr = _data[\"nameAr\"];\r\n this.description = _data[\"description\"];\r\n this.descriptionaR = _data[\"descriptionaR\"];\r\n this.imagePath = _data[\"imagePath\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n this.createdByNavigation = _data[\"createdByNavigation\"] ? User.fromJS(_data[\"createdByNavigation\"]) : undefined;\r\n if (Array.isArray(_data[\"course\"])) {\r\n this.course = [] as any;\r\n for (let item of _data[\"course\"])\r\n this.course!.push(Course.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Category {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Category();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"nameAr\"] = this.nameAr;\r\n data[\"description\"] = this.description;\r\n data[\"descriptionaR\"] = this.descriptionaR;\r\n data[\"imagePath\"] = this.imagePath;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"createdByNavigation\"] = this.createdByNavigation ? this.createdByNavigation.toJSON() : undefined;\r\n if (Array.isArray(this.course)) {\r\n data[\"course\"] = [];\r\n for (let item of this.course)\r\n data[\"course\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ICategory {\r\n id: number;\r\n name?: string | undefined;\r\n nameAr?: string | undefined;\r\n description?: string | undefined;\r\n descriptionaR?: string | undefined;\r\n imagePath?: string | undefined;\r\n isDeleted?: boolean | undefined;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n createdByNavigation?: User | undefined;\r\n course?: Course[] | undefined;\r\n}\r\n\r\nexport class User implements IUser {\r\n id!: number;\r\n name?: string | undefined;\r\n nameAr?: string | undefined;\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n phone2?: string | undefined;\r\n address?: string | undefined;\r\n addressAr?: string | undefined;\r\n gender?: number | undefined;\r\n photo?: string | undefined;\r\n type?: number | undefined;\r\n isDeleted?: boolean | undefined;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n allowSendEmail?: boolean | undefined;\r\n isAdmin!: boolean;\r\n isSocialLogin?: boolean | undefined;\r\n socialLoginType?: number | undefined;\r\n entity?: string | undefined;\r\n jobTitle?: string | undefined;\r\n category?: Category[] | undefined;\r\n contractCreatedByNavigation?: Contract[] | undefined;\r\n contractUpdatedByNavigation?: Contract[] | undefined;\r\n corporateCreatedByNavigation?: Corporate[] | undefined;\r\n corporateUpdatedByNavigation?: Corporate[] | undefined;\r\n messageFromUser?: Message[] | undefined;\r\n messageToUser?: Message[] | undefined;\r\n notificationCreatedByNavigation?: Notification[] | undefined;\r\n notificationReceiver?: Notification[] | undefined;\r\n transaction?: Transaction[] | undefined;\r\n userCourseCreatedByNavigation?: UserCourse[] | undefined;\r\n userCourseUser?: UserCourse[] | undefined;\r\n\r\n constructor(data?: IUser) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.nameAr = _data[\"nameAr\"];\r\n this.userName = _data[\"userName\"];\r\n this.password = _data[\"password\"];\r\n this.email = _data[\"email\"];\r\n this.phone = _data[\"phone\"];\r\n this.phone2 = _data[\"phone2\"];\r\n this.address = _data[\"address\"];\r\n this.addressAr = _data[\"addressAr\"];\r\n this.gender = _data[\"gender\"];\r\n this.photo = _data[\"photo\"];\r\n this.type = _data[\"type\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n this.allowSendEmail = _data[\"allowSendEmail\"];\r\n this.isAdmin = _data[\"isAdmin\"];\r\n this.isSocialLogin = _data[\"isSocialLogin\"];\r\n this.socialLoginType = _data[\"socialLoginType\"];\r\n this.entity = _data[\"entity\"];\r\n this.jobTitle = _data[\"jobTitle\"];\r\n if (Array.isArray(_data[\"category\"])) {\r\n this.category = [] as any;\r\n for (let item of _data[\"category\"])\r\n this.category!.push(Category.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"contractCreatedByNavigation\"])) {\r\n this.contractCreatedByNavigation = [] as any;\r\n for (let item of _data[\"contractCreatedByNavigation\"])\r\n this.contractCreatedByNavigation!.push(Contract.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"contractUpdatedByNavigation\"])) {\r\n this.contractUpdatedByNavigation = [] as any;\r\n for (let item of _data[\"contractUpdatedByNavigation\"])\r\n this.contractUpdatedByNavigation!.push(Contract.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"corporateCreatedByNavigation\"])) {\r\n this.corporateCreatedByNavigation = [] as any;\r\n for (let item of _data[\"corporateCreatedByNavigation\"])\r\n this.corporateCreatedByNavigation!.push(Corporate.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"corporateUpdatedByNavigation\"])) {\r\n this.corporateUpdatedByNavigation = [] as any;\r\n for (let item of _data[\"corporateUpdatedByNavigation\"])\r\n this.corporateUpdatedByNavigation!.push(Corporate.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"messageFromUser\"])) {\r\n this.messageFromUser = [] as any;\r\n for (let item of _data[\"messageFromUser\"])\r\n this.messageFromUser!.push(Message.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"messageToUser\"])) {\r\n this.messageToUser = [] as any;\r\n for (let item of _data[\"messageToUser\"])\r\n this.messageToUser!.push(Message.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"notificationCreatedByNavigation\"])) {\r\n this.notificationCreatedByNavigation = [] as any;\r\n for (let item of _data[\"notificationCreatedByNavigation\"])\r\n this.notificationCreatedByNavigation!.push(Notification.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"notificationReceiver\"])) {\r\n this.notificationReceiver = [] as any;\r\n for (let item of _data[\"notificationReceiver\"])\r\n this.notificationReceiver!.push(Notification.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"transaction\"])) {\r\n this.transaction = [] as any;\r\n for (let item of _data[\"transaction\"])\r\n this.transaction!.push(Transaction.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"userCourseCreatedByNavigation\"])) {\r\n this.userCourseCreatedByNavigation = [] as any;\r\n for (let item of _data[\"userCourseCreatedByNavigation\"])\r\n this.userCourseCreatedByNavigation!.push(UserCourse.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"userCourseUser\"])) {\r\n this.userCourseUser = [] as any;\r\n for (let item of _data[\"userCourseUser\"])\r\n this.userCourseUser!.push(UserCourse.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): User {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new User();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"nameAr\"] = this.nameAr;\r\n data[\"userName\"] = this.userName;\r\n data[\"password\"] = this.password;\r\n data[\"email\"] = this.email;\r\n data[\"phone\"] = this.phone;\r\n data[\"phone2\"] = this.phone2;\r\n data[\"address\"] = this.address;\r\n data[\"addressAr\"] = this.addressAr;\r\n data[\"gender\"] = this.gender;\r\n data[\"photo\"] = this.photo;\r\n data[\"type\"] = this.type;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"allowSendEmail\"] = this.allowSendEmail;\r\n data[\"isAdmin\"] = this.isAdmin;\r\n data[\"isSocialLogin\"] = this.isSocialLogin;\r\n data[\"socialLoginType\"] = this.socialLoginType;\r\n data[\"entity\"] = this.entity;\r\n data[\"jobTitle\"] = this.jobTitle;\r\n if (Array.isArray(this.category)) {\r\n data[\"category\"] = [];\r\n for (let item of this.category)\r\n data[\"category\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.contractCreatedByNavigation)) {\r\n data[\"contractCreatedByNavigation\"] = [];\r\n for (let item of this.contractCreatedByNavigation)\r\n data[\"contractCreatedByNavigation\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.contractUpdatedByNavigation)) {\r\n data[\"contractUpdatedByNavigation\"] = [];\r\n for (let item of this.contractUpdatedByNavigation)\r\n data[\"contractUpdatedByNavigation\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.corporateCreatedByNavigation)) {\r\n data[\"corporateCreatedByNavigation\"] = [];\r\n for (let item of this.corporateCreatedByNavigation)\r\n data[\"corporateCreatedByNavigation\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.corporateUpdatedByNavigation)) {\r\n data[\"corporateUpdatedByNavigation\"] = [];\r\n for (let item of this.corporateUpdatedByNavigation)\r\n data[\"corporateUpdatedByNavigation\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.messageFromUser)) {\r\n data[\"messageFromUser\"] = [];\r\n for (let item of this.messageFromUser)\r\n data[\"messageFromUser\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.messageToUser)) {\r\n data[\"messageToUser\"] = [];\r\n for (let item of this.messageToUser)\r\n data[\"messageToUser\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.notificationCreatedByNavigation)) {\r\n data[\"notificationCreatedByNavigation\"] = [];\r\n for (let item of this.notificationCreatedByNavigation)\r\n data[\"notificationCreatedByNavigation\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.notificationReceiver)) {\r\n data[\"notificationReceiver\"] = [];\r\n for (let item of this.notificationReceiver)\r\n data[\"notificationReceiver\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.transaction)) {\r\n data[\"transaction\"] = [];\r\n for (let item of this.transaction)\r\n data[\"transaction\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.userCourseCreatedByNavigation)) {\r\n data[\"userCourseCreatedByNavigation\"] = [];\r\n for (let item of this.userCourseCreatedByNavigation)\r\n data[\"userCourseCreatedByNavigation\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.userCourseUser)) {\r\n data[\"userCourseUser\"] = [];\r\n for (let item of this.userCourseUser)\r\n data[\"userCourseUser\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IUser {\r\n id: number;\r\n name?: string | undefined;\r\n nameAr?: string | undefined;\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n phone2?: string | undefined;\r\n address?: string | undefined;\r\n addressAr?: string | undefined;\r\n gender?: number | undefined;\r\n photo?: string | undefined;\r\n type?: number | undefined;\r\n isDeleted?: boolean | undefined;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n allowSendEmail?: boolean | undefined;\r\n isAdmin: boolean;\r\n isSocialLogin?: boolean | undefined;\r\n socialLoginType?: number | undefined;\r\n entity?: string | undefined;\r\n jobTitle?: string | undefined;\r\n category?: Category[] | undefined;\r\n contractCreatedByNavigation?: Contract[] | undefined;\r\n contractUpdatedByNavigation?: Contract[] | undefined;\r\n corporateCreatedByNavigation?: Corporate[] | undefined;\r\n corporateUpdatedByNavigation?: Corporate[] | undefined;\r\n messageFromUser?: Message[] | undefined;\r\n messageToUser?: Message[] | undefined;\r\n notificationCreatedByNavigation?: Notification[] | undefined;\r\n notificationReceiver?: Notification[] | undefined;\r\n transaction?: Transaction[] | undefined;\r\n userCourseCreatedByNavigation?: UserCourse[] | undefined;\r\n userCourseUser?: UserCourse[] | undefined;\r\n}\r\n\r\nexport class Contract implements IContract {\r\n id!: number;\r\n corporateId!: number;\r\n number?: string | undefined;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n name?: string | undefined;\r\n contactPersonName?: string | undefined;\r\n contactPersonJobTitle?: string | undefined;\r\n contactPersonMobileNumber?: string | undefined;\r\n contactPersonEmailAddress?: string | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n updatedBy?: number | undefined;\r\n updatedDate?: Date | undefined;\r\n isActive?: boolean | undefined;\r\n corporate?: Corporate | undefined;\r\n createdByNavigation?: User | undefined;\r\n updatedByNavigation?: User | undefined;\r\n contractCourse?: ContractCourse[] | undefined;\r\n contractGroup?: ContractGroup[] | undefined;\r\n userCourse?: UserCourse[] | undefined;\r\n\r\n constructor(data?: IContract) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.corporateId = _data[\"corporateId\"];\r\n this.number = _data[\"number\"];\r\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\r\n this.name = _data[\"name\"];\r\n this.contactPersonName = _data[\"contactPersonName\"];\r\n this.contactPersonJobTitle = _data[\"contactPersonJobTitle\"];\r\n this.contactPersonMobileNumber = _data[\"contactPersonMobileNumber\"];\r\n this.contactPersonEmailAddress = _data[\"contactPersonEmailAddress\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n this.updatedBy = _data[\"updatedBy\"];\r\n this.updatedDate = _data[\"updatedDate\"] ? new Date(_data[\"updatedDate\"].toString()) : undefined;\r\n this.isActive = _data[\"isActive\"];\r\n this.corporate = _data[\"corporate\"] ? Corporate.fromJS(_data[\"corporate\"]) : undefined;\r\n this.createdByNavigation = _data[\"createdByNavigation\"] ? User.fromJS(_data[\"createdByNavigation\"]) : undefined;\r\n this.updatedByNavigation = _data[\"updatedByNavigation\"] ? User.fromJS(_data[\"updatedByNavigation\"]) : undefined;\r\n if (Array.isArray(_data[\"contractCourse\"])) {\r\n this.contractCourse = [] as any;\r\n for (let item of _data[\"contractCourse\"])\r\n this.contractCourse!.push(ContractCourse.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"contractGroup\"])) {\r\n this.contractGroup = [] as any;\r\n for (let item of _data[\"contractGroup\"])\r\n this.contractGroup!.push(ContractGroup.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"userCourse\"])) {\r\n this.userCourse = [] as any;\r\n for (let item of _data[\"userCourse\"])\r\n this.userCourse!.push(UserCourse.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Contract {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Contract();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"corporateId\"] = this.corporateId;\r\n data[\"number\"] = this.number;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"contactPersonName\"] = this.contactPersonName;\r\n data[\"contactPersonJobTitle\"] = this.contactPersonJobTitle;\r\n data[\"contactPersonMobileNumber\"] = this.contactPersonMobileNumber;\r\n data[\"contactPersonEmailAddress\"] = this.contactPersonEmailAddress;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"updatedBy\"] = this.updatedBy;\r\n data[\"updatedDate\"] = this.updatedDate ? this.updatedDate.toISOString() : undefined;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"corporate\"] = this.corporate ? this.corporate.toJSON() : undefined;\r\n data[\"createdByNavigation\"] = this.createdByNavigation ? this.createdByNavigation.toJSON() : undefined;\r\n data[\"updatedByNavigation\"] = this.updatedByNavigation ? this.updatedByNavigation.toJSON() : undefined;\r\n if (Array.isArray(this.contractCourse)) {\r\n data[\"contractCourse\"] = [];\r\n for (let item of this.contractCourse)\r\n data[\"contractCourse\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.contractGroup)) {\r\n data[\"contractGroup\"] = [];\r\n for (let item of this.contractGroup)\r\n data[\"contractGroup\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.userCourse)) {\r\n data[\"userCourse\"] = [];\r\n for (let item of this.userCourse)\r\n data[\"userCourse\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IContract {\r\n id: number;\r\n corporateId: number;\r\n number?: string | undefined;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n name?: string | undefined;\r\n contactPersonName?: string | undefined;\r\n contactPersonJobTitle?: string | undefined;\r\n contactPersonMobileNumber?: string | undefined;\r\n contactPersonEmailAddress?: string | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n updatedBy?: number | undefined;\r\n updatedDate?: Date | undefined;\r\n isActive?: boolean | undefined;\r\n corporate?: Corporate | undefined;\r\n createdByNavigation?: User | undefined;\r\n updatedByNavigation?: User | undefined;\r\n contractCourse?: ContractCourse[] | undefined;\r\n contractGroup?: ContractGroup[] | undefined;\r\n userCourse?: UserCourse[] | undefined;\r\n}\r\n\r\nexport class Corporate implements ICorporate {\r\n id!: number;\r\n name?: string | undefined;\r\n headOfficeAddress?: string | undefined;\r\n locationOnGoogleMaps?: string | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n updatedBy?: number | undefined;\r\n updatedDate?: Date | undefined;\r\n isActive?: boolean | undefined;\r\n createdByNavigation?: User | undefined;\r\n updatedByNavigation?: User | undefined;\r\n contract?: Contract[] | undefined;\r\n\r\n constructor(data?: ICorporate) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.headOfficeAddress = _data[\"headOfficeAddress\"];\r\n this.locationOnGoogleMaps = _data[\"locationOnGoogleMaps\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n this.updatedBy = _data[\"updatedBy\"];\r\n this.updatedDate = _data[\"updatedDate\"] ? new Date(_data[\"updatedDate\"].toString()) : undefined;\r\n this.isActive = _data[\"isActive\"];\r\n this.createdByNavigation = _data[\"createdByNavigation\"] ? User.fromJS(_data[\"createdByNavigation\"]) : undefined;\r\n this.updatedByNavigation = _data[\"updatedByNavigation\"] ? User.fromJS(_data[\"updatedByNavigation\"]) : undefined;\r\n if (Array.isArray(_data[\"contract\"])) {\r\n this.contract = [] as any;\r\n for (let item of _data[\"contract\"])\r\n this.contract!.push(Contract.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Corporate {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Corporate();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"headOfficeAddress\"] = this.headOfficeAddress;\r\n data[\"locationOnGoogleMaps\"] = this.locationOnGoogleMaps;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"updatedBy\"] = this.updatedBy;\r\n data[\"updatedDate\"] = this.updatedDate ? this.updatedDate.toISOString() : undefined;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"createdByNavigation\"] = this.createdByNavigation ? this.createdByNavigation.toJSON() : undefined;\r\n data[\"updatedByNavigation\"] = this.updatedByNavigation ? this.updatedByNavigation.toJSON() : undefined;\r\n if (Array.isArray(this.contract)) {\r\n data[\"contract\"] = [];\r\n for (let item of this.contract)\r\n data[\"contract\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ICorporate {\r\n id: number;\r\n name?: string | undefined;\r\n headOfficeAddress?: string | undefined;\r\n locationOnGoogleMaps?: string | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n updatedBy?: number | undefined;\r\n updatedDate?: Date | undefined;\r\n isActive?: boolean | undefined;\r\n createdByNavigation?: User | undefined;\r\n updatedByNavigation?: User | undefined;\r\n contract?: Contract[] | undefined;\r\n}\r\n\r\nexport class ContractCourse implements IContractCourse {\r\n contractId!: number;\r\n courseId!: number;\r\n id!: number;\r\n contract?: Contract | undefined;\r\n course?: Course | undefined;\r\n\r\n constructor(data?: IContractCourse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.contractId = _data[\"contractId\"];\r\n this.courseId = _data[\"courseId\"];\r\n this.id = _data[\"id\"];\r\n this.contract = _data[\"contract\"] ? Contract.fromJS(_data[\"contract\"]) : undefined;\r\n this.course = _data[\"course\"] ? Course.fromJS(_data[\"course\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContractCourse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContractCourse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"contractId\"] = this.contractId;\r\n data[\"courseId\"] = this.courseId;\r\n data[\"id\"] = this.id;\r\n data[\"contract\"] = this.contract ? this.contract.toJSON() : undefined;\r\n data[\"course\"] = this.course ? this.course.toJSON() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IContractCourse {\r\n contractId: number;\r\n courseId: number;\r\n id: number;\r\n contract?: Contract | undefined;\r\n course?: Course | undefined;\r\n}\r\n\r\nexport class Course implements ICourse {\r\n id!: number;\r\n name?: string | undefined;\r\n nameAr?: string | undefined;\r\n categoryId?: number | undefined;\r\n videosPath?: string | undefined;\r\n description?: string | undefined;\r\n descriptionaR?: string | undefined;\r\n price?: number | undefined;\r\n hasDiscount?: boolean | undefined;\r\n discount?: number | undefined;\r\n duration?: number | undefined;\r\n videosCount?: number | undefined;\r\n imagePath?: string | undefined;\r\n isDeleted?: boolean | undefined;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n updatedBy?: number | undefined;\r\n updatedDate?: Date | undefined;\r\n category?: Category | undefined;\r\n contractCourse?: ContractCourse[] | undefined;\r\n courseQuestions?: CourseQuestions[] | undefined;\r\n courseVides?: CourseVides[] | undefined;\r\n transaction?: Transaction[] | undefined;\r\n userCourse?: UserCourse[] | undefined;\r\n\r\n constructor(data?: ICourse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.nameAr = _data[\"nameAr\"];\r\n this.categoryId = _data[\"categoryId\"];\r\n this.videosPath = _data[\"videosPath\"];\r\n this.description = _data[\"description\"];\r\n this.descriptionaR = _data[\"descriptionaR\"];\r\n this.price = _data[\"price\"];\r\n this.hasDiscount = _data[\"hasDiscount\"];\r\n this.discount = _data[\"discount\"];\r\n this.duration = _data[\"duration\"];\r\n this.videosCount = _data[\"videosCount\"];\r\n this.imagePath = _data[\"imagePath\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n this.updatedBy = _data[\"updatedBy\"];\r\n this.updatedDate = _data[\"updatedDate\"] ? new Date(_data[\"updatedDate\"].toString()) : undefined;\r\n this.category = _data[\"category\"] ? Category.fromJS(_data[\"category\"]) : undefined;\r\n if (Array.isArray(_data[\"contractCourse\"])) {\r\n this.contractCourse = [] as any;\r\n for (let item of _data[\"contractCourse\"])\r\n this.contractCourse!.push(ContractCourse.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"courseQuestions\"])) {\r\n this.courseQuestions = [] as any;\r\n for (let item of _data[\"courseQuestions\"])\r\n this.courseQuestions!.push(CourseQuestions.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"courseVides\"])) {\r\n this.courseVides = [] as any;\r\n for (let item of _data[\"courseVides\"])\r\n this.courseVides!.push(CourseVides.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"transaction\"])) {\r\n this.transaction = [] as any;\r\n for (let item of _data[\"transaction\"])\r\n this.transaction!.push(Transaction.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"userCourse\"])) {\r\n this.userCourse = [] as any;\r\n for (let item of _data[\"userCourse\"])\r\n this.userCourse!.push(UserCourse.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Course {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Course();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"nameAr\"] = this.nameAr;\r\n data[\"categoryId\"] = this.categoryId;\r\n data[\"videosPath\"] = this.videosPath;\r\n data[\"description\"] = this.description;\r\n data[\"descriptionaR\"] = this.descriptionaR;\r\n data[\"price\"] = this.price;\r\n data[\"hasDiscount\"] = this.hasDiscount;\r\n data[\"discount\"] = this.discount;\r\n data[\"duration\"] = this.duration;\r\n data[\"videosCount\"] = this.videosCount;\r\n data[\"imagePath\"] = this.imagePath;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"updatedBy\"] = this.updatedBy;\r\n data[\"updatedDate\"] = this.updatedDate ? this.updatedDate.toISOString() : undefined;\r\n data[\"category\"] = this.category ? this.category.toJSON() : undefined;\r\n if (Array.isArray(this.contractCourse)) {\r\n data[\"contractCourse\"] = [];\r\n for (let item of this.contractCourse)\r\n data[\"contractCourse\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.courseQuestions)) {\r\n data[\"courseQuestions\"] = [];\r\n for (let item of this.courseQuestions)\r\n data[\"courseQuestions\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.courseVides)) {\r\n data[\"courseVides\"] = [];\r\n for (let item of this.courseVides)\r\n data[\"courseVides\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.transaction)) {\r\n data[\"transaction\"] = [];\r\n for (let item of this.transaction)\r\n data[\"transaction\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.userCourse)) {\r\n data[\"userCourse\"] = [];\r\n for (let item of this.userCourse)\r\n data[\"userCourse\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ICourse {\r\n id: number;\r\n name?: string | undefined;\r\n nameAr?: string | undefined;\r\n categoryId?: number | undefined;\r\n videosPath?: string | undefined;\r\n description?: string | undefined;\r\n descriptionaR?: string | undefined;\r\n price?: number | undefined;\r\n hasDiscount?: boolean | undefined;\r\n discount?: number | undefined;\r\n duration?: number | undefined;\r\n videosCount?: number | undefined;\r\n imagePath?: string | undefined;\r\n isDeleted?: boolean | undefined;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n updatedBy?: number | undefined;\r\n updatedDate?: Date | undefined;\r\n category?: Category | undefined;\r\n contractCourse?: ContractCourse[] | undefined;\r\n courseQuestions?: CourseQuestions[] | undefined;\r\n courseVides?: CourseVides[] | undefined;\r\n transaction?: Transaction[] | undefined;\r\n userCourse?: UserCourse[] | undefined;\r\n}\r\n\r\nexport class CourseQuestions implements ICourseQuestions {\r\n questionId!: number;\r\n courseId!: number;\r\n questionTitle?: string | undefined;\r\n answerOne?: string | undefined;\r\n answerTwo?: string | undefined;\r\n answerThree?: string | undefined;\r\n answerFour?: string | undefined;\r\n rightAnswer!: number;\r\n questionValue?: number | undefined;\r\n createdDate?: Date | undefined;\r\n updatedDate?: Date | undefined;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n updatedBy?: number | undefined;\r\n course?: Course | undefined;\r\n\r\n constructor(data?: ICourseQuestions) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.questionId = _data[\"questionId\"];\r\n this.courseId = _data[\"courseId\"];\r\n this.questionTitle = _data[\"questionTitle\"];\r\n this.answerOne = _data[\"answerOne\"];\r\n this.answerTwo = _data[\"answerTwo\"];\r\n this.answerThree = _data[\"answerThree\"];\r\n this.answerFour = _data[\"answerFour\"];\r\n this.rightAnswer = _data[\"rightAnswer\"];\r\n this.questionValue = _data[\"questionValue\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n this.updatedDate = _data[\"updatedDate\"] ? new Date(_data[\"updatedDate\"].toString()) : undefined;\r\n this.isActive = _data[\"isActive\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.updatedBy = _data[\"updatedBy\"];\r\n this.course = _data[\"course\"] ? Course.fromJS(_data[\"course\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CourseQuestions {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CourseQuestions();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"questionId\"] = this.questionId;\r\n data[\"courseId\"] = this.courseId;\r\n data[\"questionTitle\"] = this.questionTitle;\r\n data[\"answerOne\"] = this.answerOne;\r\n data[\"answerTwo\"] = this.answerTwo;\r\n data[\"answerThree\"] = this.answerThree;\r\n data[\"answerFour\"] = this.answerFour;\r\n data[\"rightAnswer\"] = this.rightAnswer;\r\n data[\"questionValue\"] = this.questionValue;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"updatedDate\"] = this.updatedDate ? this.updatedDate.toISOString() : undefined;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"updatedBy\"] = this.updatedBy;\r\n data[\"course\"] = this.course ? this.course.toJSON() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ICourseQuestions {\r\n questionId: number;\r\n courseId: number;\r\n questionTitle?: string | undefined;\r\n answerOne?: string | undefined;\r\n answerTwo?: string | undefined;\r\n answerThree?: string | undefined;\r\n answerFour?: string | undefined;\r\n rightAnswer: number;\r\n questionValue?: number | undefined;\r\n createdDate?: Date | undefined;\r\n updatedDate?: Date | undefined;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n updatedBy?: number | undefined;\r\n course?: Course | undefined;\r\n}\r\n\r\nexport class CourseVides implements ICourseVides {\r\n vedioId!: number;\r\n courseId!: number;\r\n name?: string | undefined;\r\n arName?: string | undefined;\r\n vedioPath?: string | undefined;\r\n thubnails?: string | undefined;\r\n course?: Course | undefined;\r\n\r\n constructor(data?: ICourseVides) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.vedioId = _data[\"vedioId\"];\r\n this.courseId = _data[\"courseId\"];\r\n this.name = _data[\"name\"];\r\n this.arName = _data[\"arName\"];\r\n this.vedioPath = _data[\"vedioPath\"];\r\n this.thubnails = _data[\"thubnails\"];\r\n this.course = _data[\"course\"] ? Course.fromJS(_data[\"course\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CourseVides {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CourseVides();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"vedioId\"] = this.vedioId;\r\n data[\"courseId\"] = this.courseId;\r\n data[\"name\"] = this.name;\r\n data[\"arName\"] = this.arName;\r\n data[\"vedioPath\"] = this.vedioPath;\r\n data[\"thubnails\"] = this.thubnails;\r\n data[\"course\"] = this.course ? this.course.toJSON() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ICourseVides {\r\n vedioId: number;\r\n courseId: number;\r\n name?: string | undefined;\r\n arName?: string | undefined;\r\n vedioPath?: string | undefined;\r\n thubnails?: string | undefined;\r\n course?: Course | undefined;\r\n}\r\n\r\nexport class Transaction implements ITransaction {\r\n id!: number;\r\n courseId?: number | undefined;\r\n userId?: number | undefined;\r\n amount?: number | undefined;\r\n isComplete?: boolean | undefined;\r\n sendDate?: Date | undefined;\r\n course?: Course | undefined;\r\n user?: User | undefined;\r\n\r\n constructor(data?: ITransaction) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.courseId = _data[\"courseId\"];\r\n this.userId = _data[\"userId\"];\r\n this.amount = _data[\"amount\"];\r\n this.isComplete = _data[\"isComplete\"];\r\n this.sendDate = _data[\"sendDate\"] ? new Date(_data[\"sendDate\"].toString()) : undefined;\r\n this.course = _data[\"course\"] ? Course.fromJS(_data[\"course\"]) : undefined;\r\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): Transaction {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Transaction();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"courseId\"] = this.courseId;\r\n data[\"userId\"] = this.userId;\r\n data[\"amount\"] = this.amount;\r\n data[\"isComplete\"] = this.isComplete;\r\n data[\"sendDate\"] = this.sendDate ? this.sendDate.toISOString() : undefined;\r\n data[\"course\"] = this.course ? this.course.toJSON() : undefined;\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ITransaction {\r\n id: number;\r\n courseId?: number | undefined;\r\n userId?: number | undefined;\r\n amount?: number | undefined;\r\n isComplete?: boolean | undefined;\r\n sendDate?: Date | undefined;\r\n course?: Course | undefined;\r\n user?: User | undefined;\r\n}\r\n\r\nexport class UserCourse implements IUserCourse {\r\n id!: number;\r\n courseId?: number | undefined;\r\n userId?: number | undefined;\r\n watchedVideos?: string | undefined;\r\n isDeleted?: boolean | undefined;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n contractId?: number | undefined;\r\n groupId?: number | undefined;\r\n contract?: Contract | undefined;\r\n course?: Course | undefined;\r\n createdByNavigation?: User | undefined;\r\n group?: Group | undefined;\r\n user?: User | undefined;\r\n userCourseExams?: UserCourseExams[] | undefined;\r\n\r\n constructor(data?: IUserCourse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.courseId = _data[\"courseId\"];\r\n this.userId = _data[\"userId\"];\r\n this.watchedVideos = _data[\"watchedVideos\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n this.contractId = _data[\"contractId\"];\r\n this.groupId = _data[\"groupId\"];\r\n this.contract = _data[\"contract\"] ? Contract.fromJS(_data[\"contract\"]) : undefined;\r\n this.course = _data[\"course\"] ? Course.fromJS(_data[\"course\"]) : undefined;\r\n this.createdByNavigation = _data[\"createdByNavigation\"] ? User.fromJS(_data[\"createdByNavigation\"]) : undefined;\r\n this.group = _data[\"group\"] ? Group.fromJS(_data[\"group\"]) : undefined;\r\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\r\n if (Array.isArray(_data[\"userCourseExams\"])) {\r\n this.userCourseExams = [] as any;\r\n for (let item of _data[\"userCourseExams\"])\r\n this.userCourseExams!.push(UserCourseExams.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserCourse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserCourse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"courseId\"] = this.courseId;\r\n data[\"userId\"] = this.userId;\r\n data[\"watchedVideos\"] = this.watchedVideos;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"contractId\"] = this.contractId;\r\n data[\"groupId\"] = this.groupId;\r\n data[\"contract\"] = this.contract ? this.contract.toJSON() : undefined;\r\n data[\"course\"] = this.course ? this.course.toJSON() : undefined;\r\n data[\"createdByNavigation\"] = this.createdByNavigation ? this.createdByNavigation.toJSON() : undefined;\r\n data[\"group\"] = this.group ? this.group.toJSON() : undefined;\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n if (Array.isArray(this.userCourseExams)) {\r\n data[\"userCourseExams\"] = [];\r\n for (let item of this.userCourseExams)\r\n data[\"userCourseExams\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IUserCourse {\r\n id: number;\r\n courseId?: number | undefined;\r\n userId?: number | undefined;\r\n watchedVideos?: string | undefined;\r\n isDeleted?: boolean | undefined;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n contractId?: number | undefined;\r\n groupId?: number | undefined;\r\n contract?: Contract | undefined;\r\n course?: Course | undefined;\r\n createdByNavigation?: User | undefined;\r\n group?: Group | undefined;\r\n user?: User | undefined;\r\n userCourseExams?: UserCourseExams[] | undefined;\r\n}\r\n\r\nexport class Group implements IGroup {\r\n id!: number;\r\n number?: string | undefined;\r\n name?: string | undefined;\r\n isDeleted!: boolean;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n contractGroup?: ContractGroup[] | undefined;\r\n userCourse?: UserCourse[] | undefined;\r\n\r\n constructor(data?: IGroup) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.number = _data[\"number\"];\r\n this.name = _data[\"name\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"contractGroup\"])) {\r\n this.contractGroup = [] as any;\r\n for (let item of _data[\"contractGroup\"])\r\n this.contractGroup!.push(ContractGroup.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"userCourse\"])) {\r\n this.userCourse = [] as any;\r\n for (let item of _data[\"userCourse\"])\r\n this.userCourse!.push(UserCourse.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Group {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Group();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"number\"] = this.number;\r\n data[\"name\"] = this.name;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n if (Array.isArray(this.contractGroup)) {\r\n data[\"contractGroup\"] = [];\r\n for (let item of this.contractGroup)\r\n data[\"contractGroup\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.userCourse)) {\r\n data[\"userCourse\"] = [];\r\n for (let item of this.userCourse)\r\n data[\"userCourse\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IGroup {\r\n id: number;\r\n number?: string | undefined;\r\n name?: string | undefined;\r\n isDeleted: boolean;\r\n isActive?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n contractGroup?: ContractGroup[] | undefined;\r\n userCourse?: UserCourse[] | undefined;\r\n}\r\n\r\nexport class ContractGroup implements IContractGroup {\r\n id!: number;\r\n contractId!: number;\r\n groupId!: number;\r\n contract?: Contract | undefined;\r\n group?: Group | undefined;\r\n\r\n constructor(data?: IContractGroup) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.contractId = _data[\"contractId\"];\r\n this.groupId = _data[\"groupId\"];\r\n this.contract = _data[\"contract\"] ? Contract.fromJS(_data[\"contract\"]) : undefined;\r\n this.group = _data[\"group\"] ? Group.fromJS(_data[\"group\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContractGroup {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContractGroup();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"contractId\"] = this.contractId;\r\n data[\"groupId\"] = this.groupId;\r\n data[\"contract\"] = this.contract ? this.contract.toJSON() : undefined;\r\n data[\"group\"] = this.group ? this.group.toJSON() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IContractGroup {\r\n id: number;\r\n contractId: number;\r\n groupId: number;\r\n contract?: Contract | undefined;\r\n group?: Group | undefined;\r\n}\r\n\r\nexport class UserCourseExams implements IUserCourseExams {\r\n id!: number;\r\n userCourseId!: number;\r\n degreeBefore?: number | undefined;\r\n degreeAfter?: number | undefined;\r\n examTakenBefore!: boolean;\r\n examTakenAfter?: boolean | undefined;\r\n userCourse?: UserCourse | undefined;\r\n\r\n constructor(data?: IUserCourseExams) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userCourseId = _data[\"userCourseId\"];\r\n this.degreeBefore = _data[\"degreeBefore\"];\r\n this.degreeAfter = _data[\"degreeAfter\"];\r\n this.examTakenBefore = _data[\"examTakenBefore\"];\r\n this.examTakenAfter = _data[\"examTakenAfter\"];\r\n this.userCourse = _data[\"userCourse\"] ? UserCourse.fromJS(_data[\"userCourse\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserCourseExams {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserCourseExams();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userCourseId\"] = this.userCourseId;\r\n data[\"degreeBefore\"] = this.degreeBefore;\r\n data[\"degreeAfter\"] = this.degreeAfter;\r\n data[\"examTakenBefore\"] = this.examTakenBefore;\r\n data[\"examTakenAfter\"] = this.examTakenAfter;\r\n data[\"userCourse\"] = this.userCourse ? this.userCourse.toJSON() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IUserCourseExams {\r\n id: number;\r\n userCourseId: number;\r\n degreeBefore?: number | undefined;\r\n degreeAfter?: number | undefined;\r\n examTakenBefore: boolean;\r\n examTakenAfter?: boolean | undefined;\r\n userCourse?: UserCourse | undefined;\r\n}\r\n\r\nexport class Message implements IMessage {\r\n id!: number;\r\n fromUserId?: number | undefined;\r\n toUserId?: number | undefined;\r\n body?: string | undefined;\r\n sendDate?: Date | undefined;\r\n fromUser?: User | undefined;\r\n toUser?: User | undefined;\r\n\r\n constructor(data?: IMessage) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fromUserId = _data[\"fromUserId\"];\r\n this.toUserId = _data[\"toUserId\"];\r\n this.body = _data[\"body\"];\r\n this.sendDate = _data[\"sendDate\"] ? new Date(_data[\"sendDate\"].toString()) : undefined;\r\n this.fromUser = _data[\"fromUser\"] ? User.fromJS(_data[\"fromUser\"]) : undefined;\r\n this.toUser = _data[\"toUser\"] ? User.fromJS(_data[\"toUser\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): Message {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Message();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fromUserId\"] = this.fromUserId;\r\n data[\"toUserId\"] = this.toUserId;\r\n data[\"body\"] = this.body;\r\n data[\"sendDate\"] = this.sendDate ? this.sendDate.toISOString() : undefined;\r\n data[\"fromUser\"] = this.fromUser ? this.fromUser.toJSON() : undefined;\r\n data[\"toUser\"] = this.toUser ? this.toUser.toJSON() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IMessage {\r\n id: number;\r\n fromUserId?: number | undefined;\r\n toUserId?: number | undefined;\r\n body?: string | undefined;\r\n sendDate?: Date | undefined;\r\n fromUser?: User | undefined;\r\n toUser?: User | undefined;\r\n}\r\n\r\nexport class Notification implements INotification {\r\n id!: number;\r\n body?: string | undefined;\r\n bodyAr?: string | undefined;\r\n title?: string | undefined;\r\n titleAr?: string | undefined;\r\n receiverId?: number | undefined;\r\n isRead?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n createdByNavigation?: User | undefined;\r\n receiver?: User | undefined;\r\n\r\n constructor(data?: INotification) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.body = _data[\"body\"];\r\n this.bodyAr = _data[\"bodyAr\"];\r\n this.title = _data[\"title\"];\r\n this.titleAr = _data[\"titleAr\"];\r\n this.receiverId = _data[\"receiverId\"];\r\n this.isRead = _data[\"isRead\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n this.createdByNavigation = _data[\"createdByNavigation\"] ? User.fromJS(_data[\"createdByNavigation\"]) : undefined;\r\n this.receiver = _data[\"receiver\"] ? User.fromJS(_data[\"receiver\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): Notification {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Notification();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"body\"] = this.body;\r\n data[\"bodyAr\"] = this.bodyAr;\r\n data[\"title\"] = this.title;\r\n data[\"titleAr\"] = this.titleAr;\r\n data[\"receiverId\"] = this.receiverId;\r\n data[\"isRead\"] = this.isRead;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"createdByNavigation\"] = this.createdByNavigation ? this.createdByNavigation.toJSON() : undefined;\r\n data[\"receiver\"] = this.receiver ? this.receiver.toJSON() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface INotification {\r\n id: number;\r\n body?: string | undefined;\r\n bodyAr?: string | undefined;\r\n title?: string | undefined;\r\n titleAr?: string | undefined;\r\n receiverId?: number | undefined;\r\n isRead?: boolean | undefined;\r\n createdBy?: number | undefined;\r\n createdDate?: Date | undefined;\r\n createdByNavigation?: User | undefined;\r\n receiver?: User | undefined;\r\n}\r\n\r\nexport class CreateContractDto implements ICreateContractDto {\r\n id!: number;\r\n corporateId!: number;\r\n number?: string | undefined;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n name?: string | undefined;\r\n contactPersonName?: string | undefined;\r\n contactPersonJobTitle?: string | undefined;\r\n contactPersonMobileNumber?: string | undefined;\r\n contactPersonEmailAddress?: string | undefined;\r\n courses?: number[] | undefined;\r\n groups?: GroupDto[] | undefined;\r\n\r\n constructor(data?: ICreateContractDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.corporateId = _data[\"corporateId\"];\r\n this.number = _data[\"number\"];\r\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\r\n this.name = _data[\"name\"];\r\n this.contactPersonName = _data[\"contactPersonName\"];\r\n this.contactPersonJobTitle = _data[\"contactPersonJobTitle\"];\r\n this.contactPersonMobileNumber = _data[\"contactPersonMobileNumber\"];\r\n this.contactPersonEmailAddress = _data[\"contactPersonEmailAddress\"];\r\n if (Array.isArray(_data[\"courses\"])) {\r\n this.courses = [] as any;\r\n for (let item of _data[\"courses\"])\r\n this.courses!.push(item);\r\n }\r\n if (Array.isArray(_data[\"groups\"])) {\r\n this.groups = [] as any;\r\n for (let item of _data[\"groups\"])\r\n this.groups!.push(GroupDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateContractDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateContractDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"corporateId\"] = this.corporateId;\r\n data[\"number\"] = this.number;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"contactPersonName\"] = this.contactPersonName;\r\n data[\"contactPersonJobTitle\"] = this.contactPersonJobTitle;\r\n data[\"contactPersonMobileNumber\"] = this.contactPersonMobileNumber;\r\n data[\"contactPersonEmailAddress\"] = this.contactPersonEmailAddress;\r\n if (Array.isArray(this.courses)) {\r\n data[\"courses\"] = [];\r\n for (let item of this.courses)\r\n data[\"courses\"].push(item);\r\n }\r\n if (Array.isArray(this.groups)) {\r\n data[\"groups\"] = [];\r\n for (let item of this.groups)\r\n data[\"groups\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ICreateContractDto {\r\n id: number;\r\n corporateId: number;\r\n number?: string | undefined;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n name?: string | undefined;\r\n contactPersonName?: string | undefined;\r\n contactPersonJobTitle?: string | undefined;\r\n contactPersonMobileNumber?: string | undefined;\r\n contactPersonEmailAddress?: string | undefined;\r\n courses?: number[] | undefined;\r\n groups?: GroupDto[] | undefined;\r\n}\r\n\r\nexport class GroupDto implements IGroupDto {\r\n id?: number | undefined;\r\n number?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IGroupDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.number = _data[\"number\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GroupDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GroupDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"number\"] = this.number;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IGroupDto {\r\n id?: number | undefined;\r\n number?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport enum ExportType {\r\n Excel = 1,\r\n PPT = 2,\r\n PDF = 3,\r\n}\r\n\r\nexport class Trainee implements ITrainee {\r\n id!: number;\r\n name?: string | undefined;\r\n entity?: string | undefined;\r\n jobTitle?: string | undefined;\r\n mobileNumber?: string | undefined;\r\n emailAddress?: string | undefined;\r\n nationalId?: string | undefined;\r\n contractNumber!: number;\r\n groupId!: number;\r\n courses?: number[] | undefined;\r\n\r\n constructor(data?: ITrainee) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.entity = _data[\"entity\"];\r\n this.jobTitle = _data[\"jobTitle\"];\r\n this.mobileNumber = _data[\"mobileNumber\"];\r\n this.emailAddress = _data[\"emailAddress\"];\r\n this.nationalId = _data[\"nationalId\"];\r\n this.contractNumber = _data[\"contractNumber\"];\r\n this.groupId = _data[\"groupId\"];\r\n if (Array.isArray(_data[\"courses\"])) {\r\n this.courses = [] as any;\r\n for (let item of _data[\"courses\"])\r\n this.courses!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Trainee {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Trainee();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"entity\"] = this.entity;\r\n data[\"jobTitle\"] = this.jobTitle;\r\n data[\"mobileNumber\"] = this.mobileNumber;\r\n data[\"emailAddress\"] = this.emailAddress;\r\n data[\"nationalId\"] = this.nationalId;\r\n data[\"contractNumber\"] = this.contractNumber;\r\n data[\"groupId\"] = this.groupId;\r\n if (Array.isArray(this.courses)) {\r\n data[\"courses\"] = [];\r\n for (let item of this.courses)\r\n data[\"courses\"].push(item);\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ITrainee {\r\n id: number;\r\n name?: string | undefined;\r\n entity?: string | undefined;\r\n jobTitle?: string | undefined;\r\n mobileNumber?: string | undefined;\r\n emailAddress?: string | undefined;\r\n nationalId?: string | undefined;\r\n contractNumber: number;\r\n groupId: number;\r\n courses?: number[] | undefined;\r\n}\r\n\r\nexport interface FileParameter {\r\n data: any;\r\n fileName: string;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n","export enum Language {\r\n us = 1,\r\n sa = 2\r\n}\r\nexport enum ExportType {\r\n Excel = 1,\r\n PPT = 2,\r\n PDF = 3\r\n}\r\n\r\nexport enum UserType {\r\n Normal = 1,\r\n Admin = 2,\r\n Instructor = 3,\r\n Corporate = 4\r\n}\r\n\r\n \r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\nimport { AbilityService } from '../services/ability.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private ability: AbilityService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser) {\r\n // authorised so return true\r\n if (!this.checkAbility(state.url)) {\r\n this.router.navigate(['/error']);\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n // this.router.navigate([''], { queryParams: { returnUrl: state.url } });\r\n this.router.navigate(['./landing.component.html'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n\r\n private checkAbility(url) {\r\n switch (url) {\r\n case \"/\":\r\n return true;\r\n case '/error':\r\n return true;\r\n default:\r\n return true;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(err => {\r\n if (err.status === 401) {\r\n // auto logout if 401 response returned from api\r\n this.authenticationService.logout();\r\n location.reload();\r\n }\r\n if (err.status === 400) {\r\n // auto logout if 401 response returned from api\r\n this.authenticationService.logout();\r\n location.reload();\r\n }\r\n const error = err || err.error || err.error.message || err.statusText;\r\n return throwError(error);\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // add authorization header with jwt token if available\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser && currentUser.token) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: 'Bearer ' + currentUser.token\r\n }\r\n });\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { LoaderService } from '../services/loader.service';\r\n\r\n@Injectable()\r\nexport class LoaderInterceptor implements HttpInterceptor {\r\n private requests: HttpRequest[] = [];\r\n constructor(private loaderService: LoaderService) { }\r\n\r\n removeRequest(req: HttpRequest) {\r\n const i = this.requests.indexOf(req);\r\n if (i >= 0) {\r\n this.requests.splice(i, 1);\r\n }\r\n this.loaderService.isLoading.next(this.requests.length > 0);\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n this.requests.push(req);\r\n\r\n this.loaderService.isLoading.next(true);\r\n return Observable.create(observer => {\r\n const subscription = next.handle(req)\r\n .subscribe(\r\n event => {\r\n if (event instanceof HttpResponse) {\r\n this.removeRequest(req);\r\n observer.next(event);\r\n }\r\n },\r\n err => {\r\n this.removeRequest(req);\r\n observer.error(err);\r\n },\r\n () => {\r\n this.removeRequest(req);\r\n observer.complete();\r\n });\r\n return () => {\r\n this.removeRequest(req);\r\n subscription.unsubscribe();\r\n };\r\n });\r\n }\r\n}\r\n","export interface SelectList {\r\n Key?: string;\r\n Value: any;\r\n KeyAr?: string;\r\n isUserGroup?: Boolean;\r\n}\r\n\r\nexport class SelectOptions {\r\n Key: string;\r\n Value: any;\r\n}\r\n\r\nexport class QuestionAnswer {\r\n QuestionIdex: number;\r\n QuestionDegree: number;\r\n}\r\n","import { LoginProvider } from './login-provider';\r\nimport { SocialUser } from './social-user';\r\n\r\nexport abstract class BaseLoginProvider implements LoginProvider {\r\n constructor() {}\r\n\r\n abstract initialize(): Promise;\r\n abstract getLoginStatus(): Promise;\r\n abstract signIn(): Promise;\r\n abstract signOut(revoke?: boolean): Promise;\r\n\r\n protected loadScript(\r\n id: string,\r\n src: string,\r\n onload: any,\r\n parentElement = null\r\n ): void {\r\n // get document if platform is only browser\r\n if (typeof document !== 'undefined' && !document.getElementById(id)) {\r\n let signInJS = document.createElement('script');\r\n\r\n signInJS.async = true;\r\n signInJS.src = src;\r\n signInJS.onload = onload;\r\n\r\n if (!parentElement) {\r\n parentElement = document.head;\r\n }\r\n\r\n parentElement.appendChild(signInJS);\r\n }\r\n }\r\n}\r\n","export class corporateDetails {\r\n contractName: string;\r\n contractNumber: string;\r\n courseName: string;\r\n traineeName: string;\r\n traineeEmail: string;\r\n traineeQuizResultBefore: string;\r\n traineeQuizResultAfter: string;\r\n traineeComplete: string;\r\n constructor() {\r\n this.contractName = '';\r\n this.contractNumber = '';\r\n this.courseName = '';\r\n this.traineeName = '';\r\n this.traineeEmail = '';\r\n this.traineeQuizResultBefore = '';\r\n this.traineeQuizResultAfter = '';\r\n this.traineeComplete = '';\r\n }\r\n}\r\n","export class SocialUser {\r\n provider: string;\r\n id: string;\r\n email: string;\r\n name: string;\r\n photoUrl: string;\r\n firstName: string;\r\n lastName: string;\r\n authToken: string;\r\n\r\n idToken: string; // Reference https://developers.google.com/identity/sign-in/web/backend-auth\r\n authorizationCode: string; // Reference https://developers.google.com/identity/sign-in/web/reference#googleauthgrantofflineaccessoptions\r\n\r\n response: any;\r\n}\r\n","import { Injectable, ElementRef, ViewChild, Renderer2 } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n// Tranlsation\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { debug } from 'util';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nexport interface Locale {\r\n lang: string;\r\n // tslint:disable-next-line:ban-types\r\n data: Object;\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LanguageService {\r\n // Private properties\r\n\r\n private langIds: any = [];\r\n private currentLanguageSubject: BehaviorSubject;\r\n public currentLang: Observable;\r\n\r\n public renderer: Renderer2;\r\n\r\n public el: ElementRef;\r\n\r\n constructor(public translate: TranslateService) {\r\n var currentL = localStorage.getItem('currentLanguage');\r\n if (!currentL)\r\n localStorage.setItem('currentLanguage', 'us');\r\n this.currentLanguageSubject = new BehaviorSubject(localStorage.getItem('currentLanguage'));\r\n this.currentLang = this.currentLanguageSubject.asObservable();\r\n // add new langIds to the list\r\n this.translate.addLangs(['en']);\r\n\r\n // this language will be used as a fallback when a translation isn't found in the current language\r\n this.translate.setDefaultLang('en');\r\n }\r\n\r\n public get currentLanguageValue(): string {\r\n return this.currentLanguageSubject.value;\r\n }\r\n /**\r\n* Load Translation\r\n*\r\n* @param args: Locale[]\r\n*/\r\n loadTranslations(...args: Locale[]): void {\r\n const locales = [...args];\r\n\r\n locales.forEach(locale => {\r\n // use setTranslation() with the third argument set to true\r\n // to append translations instead of replacing them\r\n this.translate.setTranslation(locale.lang, locale.data, true);\r\n this.langIds.push(locale.lang);\r\n });\r\n\r\n // add new languages to the list\r\n this.translate.addLangs(this.langIds);\r\n }\r\n\r\n\r\n\r\n switchLanguage(code) {\r\n this.switch(code);\r\n\r\n // load default styles\r\n if (this.currentLanguageValue === \"sa\") {\r\n this.switchToRTL();\r\n }\r\n else {\r\n this.switchToLTR();\r\n }\r\n }\r\n\r\n switchToRTL() {\r\n var rtlElements = document.getElementsByName(\"rtl\");\r\n var ltrElements = document.getElementsByName(\"ltr\");\r\n Array.prototype.forEach.call(ltrElements, el => {\r\n el.disabled = true;\r\n });\r\n Array.prototype.forEach.call(rtlElements, el => {\r\n el.disabled = false;\r\n });\r\n }\r\n\r\n switchToLTR() {\r\n var rtlElements = document.getElementsByName(\"rtl\");\r\n var ltrElements = document.getElementsByName(\"ltr\");\r\n Array.prototype.forEach.call(rtlElements, el => {\r\n el.disabled = true;\r\n });\r\n Array.prototype.forEach.call(ltrElements, el => {\r\n el.disabled = false;\r\n });\r\n }\r\n switch(code: string) {\r\n this.translate.use(this.translate.getDefaultLang());\r\n this.translate.use(code);\r\n localStorage.setItem('currentLanguage', code);\r\n this.currentLanguageSubject.next(code);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from './authentication.service';\r\n \r\nimport { debug } from 'util';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AbilityService {\r\n\r\n\r\n\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n get user() {\r\n return this.authenticationService.currentUserValue;\r\n }\r\n\r\n canAccessAlarm(alarmResponsibleGroups: any, userID: any, type: string): boolean {\r\n return true;// this.user && (this.user.isSuperAdmin\r\n // || (this.user.groups.filter(x => alarmResponsibleGroups.filter(z => z == x).length > 0).length > 0 && this.user.id != userID) || (this.user.id == userID && type == 'status') );\r\n }\r\n\r\n can(action: string, onLevel: any, type: string) {\r\n return true;\r\n //var has = null;\r\n //action = action.toLowerCase();\r\n //onLevel = onLevel.toLowerCase();\r\n //type = type.toLowerCase();\r\n //if (has == null)\r\n // has = this.user && (this.user.isSuperAdmin ||\r\n // (type == 'role'\r\n // && this.user.roles.filter(x =>\r\n // x.id == onLevel\r\n // && x.rolePrivileges.filter(z => z.fkPrivilegesNavigation.privilegeTitle.toLowerCase().trim() == action).length > 0\r\n // ).length > 0)\r\n // ||\r\n // (type == 'menu'\r\n // && this.user.menu.filter(z => z.title.toLowerCase().trim() == onLevel\r\n // || z.inverseParent.filter(x => x.title.toLowerCase().trim() == onLevel).length > 0).length > 0\r\n // )\r\n // );\r\n //return has == null ? false : has;\r\n }\r\n\r\n canBulk(action: string) {\r\n return true;\r\n //var has = null;\r\n //action = action.toLowerCase();\r\n //if (has == null)\r\n // has = this.user && (this.user.isSuperAdmin || (this.user.bulkActions && this.user.bulkActions.find(x => x.toLowerCase().trim() == action) != null));\r\n //return has == null ? false : has;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { UserDto, AccountService, UserLogin, Result } from '../core/system-api';\r\nimport { UserService } from './user.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthenticationService {\r\n \r\n private currentUserSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n\r\n constructor(private accountService: AccountService) {\r\n this.currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUser')));\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n }\r\n\r\n public get currentUserValue(): UserDto {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n login(user: UserLogin) {\r\n return this.accountService.authenticate(user)\r\n .pipe(map(user => {\r\n // login successful if there's a jwt token in the response\r\n if (user && (user.token || !user.isActive))\r\n {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n this.currentUserSubject.next(user);\r\n return user;\r\n }\r\n }));\r\n }\r\n\r\n register(user: UserDto) {\r\n return this.accountService.register(user)\r\n .pipe(map(user => {\r\n // login successful if there's a jwt token in the response\r\n if (user && (user.token || !user.isActive)) {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n this.currentUserSubject.next(user);\r\n return user;\r\n }\r\n }));\r\n }\r\n\r\n socailRegister(user: UserDto) {\r\n return this.accountService.socialAuthenticate(user)\r\n .pipe(map(user => {\r\n // login successful if there's a jwt token in the response\r\n if (user && (user.token || !user.isActive)) {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n this.currentUserSubject.next(user);\r\n return user;\r\n }\r\n }));\r\n }\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('currentUser');\r\n localStorage.removeItem('oldTabs');\r\n this.currentUserSubject.next(null);\r\n }\r\n\r\n forgotPassword(email: string | null | undefined): Observable {\r\n return this.accountService.forgotPassword(email);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CategoryService as RemoteService, Result, Filter, Category } from '../core/system-api';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CategoryService {\r\n\r\n constructor(private CategoryService: RemoteService) { }\r\n\r\n page: number = 1;\r\n pagesize: number = 5;\r\n filter: Filter[] = [];\r\n Categorydto: Category = null;\r\n\r\n get(Id: number | undefined): Observable {\r\n return this.CategoryService.get(Id)\r\n }\r\n\r\n getAll(dataSource: any): Observable {\r\n return this.CategoryService.getAll(dataSource.page, dataSource.pageSize, dataSource.filter)\r\n .pipe(map(res => {\r\n if (res && res.success) {\r\n return res;\r\n }\r\n }));\r\n }\r\n getCategorysList(Id: number = 0): Observable { return this.CategoryService.getCategorysList(Id) }\r\n\r\n\r\n changeCategoryStatus(ID, Status): Observable {\r\n return this.CategoryService.changeCategoryStatus(ID, Status).pipe(map(res => {\r\n if (res)\r\n return res;\r\n }));\r\n }\r\n\r\n create(userDto): Observable {\r\n return this.CategoryService.create(userDto)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n\r\n update(userDto): Observable {\r\n return this.CategoryService.update(userDto)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n getCategoryCourses(CategoryID: number): Observable { return this.CategoryService.getCategoryCourses(CategoryID) }\r\n}\r\n","import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { ContractService as RemoteService, Result, Filter, Contract, FileParameter, CreateContractDto } from '../core/system-api';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContractService {\r\n private baseUrl: string;\r\n\r\n constructor(private ContractService: RemoteService, private httpClient: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string)\r\n {\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n page: number = 1;\r\n pagesize: number = 5;\r\n filter: Filter[] = [];\r\n Contractdto: Contract = null;\r\n\r\n get(Id: number | undefined): Observable {\r\n return this.ContractService.get(Id).pipe(map(res => {\r\n if (res && res.success) {\r\n return res.data;\r\n }\r\n }));\r\n }\r\n\r\n getAll(dataSource: any): Observable {\r\n return this.ContractService.getAll(dataSource.page, dataSource.pageSize, dataSource.filter)\r\n .pipe(map(res => {\r\n if (res && res.success) {\r\n return res;\r\n }\r\n }));\r\n }\r\n getContractsList(Id: number = 0): Observable { return this.ContractService.getContractsList(Id) }\r\n\r\n\r\n changeContractStatus(ID, Status): Observable {\r\n return this.ContractService.changeContractStatus(ID, Status).pipe(map(res => {\r\n if (res)\r\n return res;\r\n }));\r\n }\r\n\r\n create(userDto): Observable {\r\n return this.ContractService.create(userDto)\r\n .pipe(map(res => {\r\n if (res)\r\n return res;\r\n }));\r\n }\r\n\r\n update(userDto): Observable {\r\n return this.ContractService.update(userDto)\r\n .pipe(map(res => {\r\n if (res)\r\n return res;\r\n }));\r\n }\r\n getContractCourses(Id: number = 0): Observable { return this.ContractService.getContractCourses(Id) }\r\n getContractGroups(Id: number = 0): Observable { return this.ContractService.getContractGroups(Id) }\r\n}\r\n","import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { CorporateService as RemoteService, Result, Filter, Corporate, FileParameter } from '../core/system-api';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CorporateService {\r\n private baseUrl: string;\r\n\r\n constructor(private CorporateService: RemoteService, private httpClient: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string)\r\n {\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n page: number = 1;\r\n pagesize: number = 5;\r\n filter: Filter[] = [];\r\n Corporatedto: Corporate = null;\r\n\r\n get(Id: number | undefined): Observable {\r\n return this.CorporateService.get(Id).pipe(map(res => {\r\n if (res && res.success) {\r\n return res;\r\n }\r\n }));\r\n }\r\n\r\n getAll(dataSource: any): Observable {\r\n return this.CorporateService.getAll(dataSource.page, dataSource.pageSize, dataSource.filter)\r\n .pipe(map(res => {\r\n if (res && res.success) {\r\n return res;\r\n }\r\n }));\r\n }\r\n getCorporatesList(Id: number = 0): Observable { return this.CorporateService.getCorporatesList(Id) }\r\n getCorporateDetails(Id: number = 0): Observable { return this.CorporateService.getCorporateDetails(Id) }\r\n\r\n\r\n changeCorporateStatus(ID, Status): Observable {\r\n return this.CorporateService.changeCorporateStatus(ID, Status).pipe(map(res => {\r\n if (res)\r\n return res;\r\n }));\r\n }\r\n\r\n create(userDto): Observable {\r\n return this.CorporateService.create(userDto)\r\n .pipe(map(res => {\r\n if (res)\r\n return res;\r\n }));\r\n }\r\n\r\n update(userDto): Observable {\r\n return this.CorporateService.update(userDto)\r\n .pipe(map(res => {\r\n if (res)\r\n return res;\r\n }));\r\n }\r\n\r\n}\r\n","import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { CourseService as RemoteService, Result, Filter, Course, FileParameter } from '../core/system-api';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CourseService {\r\n private baseUrl: string;\r\n\r\n constructor(private CourseService: RemoteService, private httpClient: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string)\r\n {\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5002\";\r\n }\r\n\r\n page: number = 1;\r\n pagesize: number = 5;\r\n filter: Filter[] = [];\r\n Coursedto: Course = null;\r\n\r\n get(Id: number | undefined): Observable {\r\n return this.CourseService.get(Id).pipe(map(res => {\r\n if (res && res.success) {\r\n return res.data;\r\n }\r\n }));\r\n }\r\n\r\n getAll(dataSource: any): Observable {\r\n return this.CourseService.getAll(dataSource.page, dataSource.pageSize, dataSource.filter)\r\n .pipe(map(res => {\r\n if (res && res.success) {\r\n return res;\r\n }\r\n }));\r\n }\r\n \r\n getCoursesList(Id: number = 0): Observable { return this.CourseService.getCoursesList(Id) }\r\n\r\n\r\n changeCourseStatus(ID, Status): Observable {\r\n return this.CourseService.changeCourseStatus(ID, Status).pipe(map(res => {\r\n if (res)\r\n return res;\r\n }));\r\n }\r\n\r\n create(userDto): Observable {\r\n return this.CourseService.create(userDto)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n\r\n update(userDto): Observable {\r\n return this.CourseService.update(userDto)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n\r\n upload(file: FormData, folderName: string) {\r\n let url_ = this.baseUrl + \"/api/Course/Upload?\";\r\n if (folderName !== undefined && folderName !== null)\r\n url_ += \"folderName=\" + encodeURIComponent(\"\" + folderName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n return this.httpClient.post(url_, file, {\r\n reportProgress: true,\r\n observe: 'events'\r\n }); \r\n }\r\n\r\n search(Text: string): Observable { return this.CourseService.search(Text) }\r\n}\r\n","import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { UserExamService as RemoteService, Result, Filter, Course, FileParameter, UserCourseExams } from '../core/system-api';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CourseExamsService {\r\n \r\n\r\n constructor(private CourseExamService: RemoteService, private httpClient: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string)\r\n {\r\n \r\n }\r\n\r\n page: number = 1;\r\n pagesize: number = 5;\r\n filter: Filter[] = [];\r\n Examsedto: UserCourseExams = null;\r\n\r\n get(Id: number | undefined): Observable {\r\n return this.CourseExamService.get(Id).pipe(map(res => {\r\n if (res && res.success) {\r\n return res.data;\r\n }\r\n }));\r\n }\r\n\r\n getAll(dataSource: any): Observable {\r\n return this.CourseExamService.getAll(dataSource.page, dataSource.pageSize, dataSource.filter)\r\n .pipe(map(res => {\r\n if (res && res.success) {\r\n return res;\r\n }\r\n }));\r\n }\r\n getCoursesList(Id: number = 0): Observable {\r\n return this.CourseExamService.getUserCourseExamsList(Id)\r\n .pipe(map(res => {\r\n if (res && res.success) {\r\n return res.data;\r\n }\r\n }));\r\n }\r\n\r\n\r\n \r\n\r\n create(Examsedto): Observable {\r\n return this.CourseExamService.create(Examsedto)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n\r\n update(Examsedto): Observable {\r\n return this.CourseExamService.update(Examsedto)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n\r\n resetFinalResult(userId: number | undefined): Observable {\r\n return this.CourseExamService.resetFinalResult(userId, false).pipe(map(res => {\r\n if (res && res.success) {\r\n return res.data;\r\n }\r\n }));\r\n }\r\n\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CourseQuestionsService as RemoteService, Result, Filter, CourseQuestions } from '../core/system-api';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CourseQuestionsService {\r\n\r\n constructor(private CourseQuestionsService: RemoteService) { }\r\n\r\n page: number = 1;\r\n pagesize: number = 5;\r\n filter: Filter[] = [];\r\n courseQuestionsDto: CourseQuestions = null;\r\n\r\n get(Id: number | undefined): Observable {\r\n return this.CourseQuestionsService.get(Id).pipe(map(res => {\r\n if (res && res.success) {\r\n return res.data;\r\n }\r\n }));\r\n }\r\n\r\n getAll(dataSource: any): Observable {\r\n return this.CourseQuestionsService.getAll(dataSource.page, dataSource.pageSize, dataSource.filter)\r\n .pipe(map(res => {\r\n if (res && res.success) {\r\n return res;\r\n }\r\n }));\r\n }\r\n getCourseQuestionsList(Id: number = 0): Observable {\r\n return this.CourseQuestionsService.getCourseQuestionssList(Id)\r\n .pipe(map(res => {\r\n if (res && res.success) {\r\n return res;\r\n }\r\n }));\r\n }\r\n\r\n \r\n\r\n create(questionDto): Observable {\r\n return this.CourseQuestionsService.create(questionDto)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n createBulk(questionDto): Observable {\r\n return this.CourseQuestionsService.createBulk(questionDto)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n\r\n update(questionDto): Observable {\r\n return this.CourseQuestionsService.update(questionDto)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelService {\r\n\r\n constructor() { }\r\n\r\n public exportAsExcelFile(json: any[], excelFileName: string): void {\r\n \r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\r\n this.delete_row(worksheet, 0);\r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n //const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'buffer' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], {\r\n type: EXCEL_TYPE\r\n });\r\n FileSaver.saveAs(data, fileName + '_' + new Date().getTime() + EXCEL_EXTENSION);\r\n }\r\n\r\n ec(r, c){\r\n return XLSX.utils.encode_cell({ r: r, c: c })\r\n }\r\n delete_row(ws, row_index){\r\n let range = XLSX.utils.decode_range(ws[\"!ref\"])\r\n for (var R = row_index; R < range.e.r; ++R) {\r\n for (var C = range.s.c; C <= range.e.c; ++C) {\r\n ws[this.ec(R, C)] = ws[this.ec(R + 1, C)]\r\n }\r\n }\r\n range.e.r--\r\n ws['!ref'] = XLSX.utils.encode_range(range.s, range.e)\r\n }\r\n\r\n}\r\n","//loader.service.ts\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoaderService {\r\n\r\n public isLoading = new BehaviorSubject(false);\r\n constructor() { }\r\n}\r\n","import { Inject, Injectable, InjectionToken, Optional, ComponentFactoryResolver, ViewContainerRef } from '@angular/core';\r\nimport * as signalR from \"@aspnet/signalr\";\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Notification, NotificationService as RemoteService, Result } from '../core/system-api';\r\nimport { AuthenticationService } from './authentication.service';\r\n//import { NotificationComponent } from '../components/header/notification/notification.component';\r\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n \r\n private baseUrl: string;\r\n private currentNotificationSubject: BehaviorSubject;\r\n public currentNotification: Observable;\r\n stoppedManual: boolean;\r\n\r\n constructor(\r\n private NotificationService: RemoteService,\r\n private authenticationService: AuthenticationService,\r\n private CFR: ComponentFactoryResolver,\r\n @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n \r\n this.baseUrl = baseUrl ? baseUrl : \"https://localhost:5002\";\r\n this.currentNotificationSubject = new BehaviorSubject(null);\r\n this.currentNotification = this.currentNotificationSubject.asObservable();\r\n }\r\n private hubConnection: signalR.HubConnection\r\n\r\n public startConnection() {\r\n if (!this.authenticationService.currentUserValue) return;\r\n\r\n this.stoppedManual = false;\r\n\r\n\r\n var url = this.baseUrl + '/notify';\r\n\r\n Object.defineProperty(WebSocket, 'OPEN', { value: 1, });\r\n\r\n const options: signalR.IHttpConnectionOptions = {\r\n accessTokenFactory: () => {\r\n return this.authenticationService.currentUserValue.token;\r\n }\r\n };\r\n\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(url, options)\r\n .build();\r\n\r\n this.broadcastNotification();\r\n\r\n this.hubConnection\r\n .start()\r\n .then(() => { })\r\n .catch(err => { });\r\n\r\n\r\n //this.hubConnection.onclose(async () => { await this.RestartConnection(); });\r\n\r\n }\r\n closeConnection() {\r\n this.currentNotificationSubject.next(null);\r\n\r\n this.stoppedManual = true;\r\n if (this.hubConnection)\r\n this.hubConnection.stop()\r\n .then(() => { })\r\n .catch(err => { });\r\n }\r\n broadcastNotification() {\r\n this.hubConnection.on('broadcastnotification', (data) => {\r\n this.currentNotificationSubject.next(data);\r\n });\r\n\r\n }\r\n\r\n public addNewNotification(VCR: ViewContainerRef, data, NotificationsReferences, up = false) {\r\n //let componentFactory = this.CFR.resolveComponentFactory(NotificationComponent);\r\n\r\n //let childComponentRef = up ? VCR.createComponent(componentFactory, 0) : VCR.createComponent(componentFactory);\r\n //childComponentRef.instance.notification = data;\r\n //if (up) {\r\n // NotificationsReferences.unshift(childComponentRef);\r\n //}\r\n //else\r\n // NotificationsReferences.push(childComponentRef);\r\n\r\n }\r\n getAll(dataSource: any): Observable {\r\n return this.NotificationService.getAll(dataSource.page, dataSource.pageSize, dataSource.filter)\r\n .pipe(map(res => {\r\n if (res && (res as Result).success) {\r\n return res;\r\n }\r\n }));\r\n }\r\n\r\n markAsSeen(iD: number): Observable {\r\n return this.NotificationService.markAsSeen(iD);\r\n }\r\n\r\n async RestartConnection() {\r\n try {\r\n if (this.hubConnection.state === signalR.HubConnectionState.Disconnected && !this.stoppedManual) {\r\n if (!this.authenticationService.currentUserValue) return;\r\n await this.hubConnection\r\n .start()\r\n .then(() => { })\r\n .catch(err => { });\r\n }\r\n }\r\n catch (err) { }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport Swal from 'sweetalert2'\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SWALMSGSService {\r\n\r\n constructor(public translate: TranslateService) { }\r\n\r\n SavedSusessMsg(dialogRef, MSG = this.translate.instant('CRUD.datasaved')) {\r\n Swal.fire({\r\n title: this.translate.instant('CRUD.done'),\r\n text: MSG,\r\n type: 'success',\r\n showCancelButton: false,\r\n confirmButtonText: this.translate.instant('CRUD.OK'),\r\n focusConfirm: false,\r\n showCloseButton: true,\r\n }).then((result) => {\r\n if (result.value || result.dismiss) {\r\n dialogRef.close(true);//passing true to close func to return true after success to afterclose func in ALL the list-comps.ts\r\n }\r\n });\r\n }\r\n\r\n\r\n Info(MSG) {\r\n Swal.fire({\r\n title: \"Info\",\r\n text: MSG,\r\n type: 'info',\r\n showCancelButton: false,\r\n focusConfirm: false,\r\n showCloseButton: true,\r\n confirmButtonText: this.translate.instant('CRUD.OK'),\r\n });\r\n }\r\n\r\n Warning(MSG) {\r\n Swal.fire({\r\n title: \"Warning\",\r\n text: MSG,\r\n type: 'warning',\r\n showCancelButton: false,\r\n focusConfirm: false,\r\n showCloseButton: true,\r\n confirmButtonText: this.translate.instant('CRUD.OK'),\r\n });\r\n }\r\n\r\n ERROR(MSG = this.translate.instant('CRUD.ERROR'), type: any = 'error') {\r\n Swal.fire({\r\n title: this.translate.instant('CRUD.eror'),\r\n text: MSG,\r\n type: type,\r\n showCancelButton: false,\r\n focusConfirm: false,\r\n showCloseButton: true,\r\n confirmButtonText: this.translate.instant('CRUD.OK'),\r\n });\r\n }\r\n\r\n SusessMsg(MSG) {\r\n Swal.fire({\r\n title: this.translate.instant('CRUD.done'),\r\n text: MSG,\r\n type: 'success',\r\n showCancelButton: false,\r\n confirmButtonText: this.translate.instant('CRUD.OK'),\r\n focusConfirm: false,\r\n showCloseButton: true,\r\n }).then((result) => {\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UserService as RemoteService, Result, Filter, UserDto } from '../core/system-api';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n\r\n constructor(private UserService: RemoteService) { }\r\n\r\n page: number = 1;\r\n pagesize: number = 5;\r\n filter: Filter[] = [];\r\n Userdto: UserDto = null;\r\n\r\n get(Id: number | undefined): Observable {\r\n return this.UserService.get(Id).pipe(map(res => {\r\n if (res && res.success) {\r\n return res.data;\r\n }\r\n }));\r\n }\r\n\r\n getAll(dataSource: any): Observable {\r\n return this.UserService.getAll(dataSource.page, dataSource.pageSize, dataSource.filter)\r\n .pipe(map(res => {\r\n if (res && res.success) {\r\n return res;\r\n }\r\n }));\r\n }\r\n getUsersList(): Observable { return this.UserService.getUsersList() }\r\n\r\n\r\n changeUserStatus(ID, Status, ContractID=0): Observable {\r\n return this.UserService.changeUserStatus(ID, Status, ContractID).pipe(map(res => {\r\n if (res)\r\n return res;\r\n }));\r\n }\r\n\r\n update(userDto): Observable {\r\n return this.UserService.update(userDto)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n changePassword(oldPassword, newPassword): Observable {\r\n return this.UserService.changePassword(oldPassword, newPassword)\r\n .pipe(map(res => {\r\n return res;\r\n }));\r\n }\r\n changeCurrentUserPassword(access_token: string | null | undefined, password: string | null | undefined): Observable {\r\n return this.UserService.changeCurrentUserPassword(access_token, password);\r\n }\r\n createTrainee(trainee): Observable {\r\n return this.UserService.createTrainee(trainee);\r\n }\r\n updateTrainee(trainee): Observable {\r\n return this.UserService.updateTrainee(trainee);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UserCourseService as RemoteService, Result, Filter, UserCourse } from '../core/system-api';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserCourseService {\r\n\r\n constructor(private UserCourseService: RemoteService) { }\r\n\r\n page: number = 1;\r\n pagesize: number = 5;\r\n filter: Filter[] = [];\r\n UserCoursedto: UserCourse = null;\r\n\r\n get(Id: number | undefined): Observable {\r\n return this.UserCourseService.get(Id).pipe(map(res => {\r\n if (res && res.success) {\r\n return res.data;\r\n }\r\n }));\r\n }\r\n\r\n getAll(dataSource: any): Observable {\r\n return this.UserCourseService.getAll(dataSource.page, dataSource.pageSize, dataSource.filter)\r\n .pipe(map(res => {\r\n if (res && res.success) {\r\n return res;\r\n }\r\n }));\r\n }\r\n getUserCoursesList(Id: number = 0): Observable { return this.UserCourseService.getUserCoursesList(Id) }\r\n\r\n\r\n changeUserCourseStatus(ID, Status): Observable {\r\n return this.UserCourseService.changeUserCourseStatus(ID, Status).pipe(map(res => {\r\n if (res)\r\n return res;\r\n }));\r\n }\r\n\r\n create(userDto): Observable {\r\n return this.UserCourseService.create(userDto)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n\r\n update(userDto): Observable {\r\n return this.UserCourseService.update(userDto)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n\r\n isUserCourse(CourseID): Observable {\r\n return this.UserCourseService.isUserCourse(CourseID)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n addUserCourseVideo(VideoID,CourseID): Observable {\r\n return this.UserCourseService.addUserCourseVideo(VideoID,CourseID)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { VideosService as RemoteService, Result, Filter, CourseVides } from '../core/system-api';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VideoService {\r\n\r\n constructor(private VideoService: RemoteService) { }\r\n\r\n page: number = 1;\r\n pagesize: number = 5;\r\n filter: Filter[] = [];\r\n Coursedto: CourseVides = null;\r\n\r\n get(Id: number | undefined): Observable {\r\n return this.VideoService.get(Id).pipe(map(res => {\r\n if (res && res.success) {\r\n return res.data;\r\n }\r\n }));\r\n }\r\n\r\n getAll(dataSource: any): Observable {\r\n return this.VideoService.getAll(dataSource.page, dataSource.pageSize, dataSource.filter)\r\n .pipe(map(res => {\r\n if (res && res.success) {\r\n return res;\r\n }\r\n }));\r\n }\r\n getVideosList(x: number = 0): Observable { return this.VideoService.getVideossList(x) }\r\n\r\n getVideosPerCourse(courseId: number): Observable { return this.VideoService.getVideosPerCourse(courseId); }\r\n\r\n //changeVideoStatus(ID, Status): Observable {\r\n // return this.VideoService.changeVideoStatus(ID, Status).pipe(map(res => {\r\n // if (res)\r\n // return res;\r\n // }));\r\n //}\r\n\r\n update(VideoDto): Observable {\r\n return this.VideoService.update(VideoDto)\r\n .pipe(map(res => {\r\n if (res && res.success)\r\n return res.data;\r\n }));\r\n }\r\n}\r\n","import { BaseLoginProvider } from '../../models/base-login-provider';\r\nimport { SocialUser } from '../../models/social-user';\r\n\r\ndeclare let FB: any;\r\n\r\nexport class FacebookLoginProvider extends BaseLoginProvider {\r\n public static readonly PROVIDER_ID: string = 'FACEBOOK';\r\n\r\n constructor(\r\n private clientId: string,\r\n private initOptions: any = {\r\n scope: 'email,public_profile',\r\n locale: 'en_US',\r\n fields: 'name,email,picture,first_name,last_name',\r\n version: 'v4.0',\r\n }\r\n ) {\r\n super();\r\n }\r\n\r\n initialize(): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n this.loadScript(\r\n FacebookLoginProvider.PROVIDER_ID,\r\n `//connect.facebook.net/${this.initOptions.locale}/sdk.js`,\r\n () => {\r\n FB.init({\r\n appId: this.clientId,\r\n autoLogAppEvents: true,\r\n cookie: true,\r\n xfbml: true,\r\n version: this.initOptions.version,\r\n });\r\n\r\n resolve();\r\n }\r\n );\r\n } catch (err) {\r\n reject(err);\r\n }\r\n });\r\n }\r\n\r\n getLoginStatus(): Promise {\r\n return new Promise((resolve, reject) => {\r\n FB.getLoginStatus((response: any) => {\r\n if (response.status === 'connected') {\r\n let authResponse = response.authResponse;\r\n FB.api(`/me?fields=${this.initOptions.fields}`, (fbUser: any) => {\r\n let user: SocialUser = new SocialUser();\r\n\r\n user.id = fbUser.id;\r\n user.name = fbUser.name;\r\n user.email = fbUser.email;\r\n user.photoUrl =\r\n 'https://graph.facebook.com/' +\r\n fbUser.id +\r\n '/picture?type=normal';\r\n user.firstName = fbUser.first_name;\r\n user.lastName = fbUser.last_name;\r\n user.authToken = authResponse.accessToken;\r\n\r\n user.response = fbUser;\r\n\r\n resolve(user);\r\n });\r\n } else {\r\n reject(`No user is currently logged in with ${FacebookLoginProvider.PROVIDER_ID}`);\r\n }\r\n });\r\n });\r\n }\r\n\r\n signIn(signInOptions?: any): Promise {\r\n const options = { ...this.initOptions, ...signInOptions };\r\n return new Promise((resolve, reject) => {\r\n FB.login((response: any) => {\r\n if (response.authResponse) {\r\n let authResponse = response.authResponse;\r\n FB.api(`/me?fields=${options.fields}`, (fbUser: any) => {\r\n let user: SocialUser = new SocialUser();\r\n\r\n user.id = fbUser.id;\r\n user.name = fbUser.name;\r\n user.email = fbUser.email;\r\n user.photoUrl =\r\n 'https://graph.facebook.com/' +\r\n fbUser.id +\r\n '/picture?type=normal';\r\n user.firstName = fbUser.first_name;\r\n user.lastName = fbUser.last_name;\r\n user.authToken = authResponse.accessToken;\r\n\r\n user.response = fbUser;\r\n\r\n resolve(user);\r\n });\r\n } else {\r\n reject('User cancelled login or did not fully authorize.');\r\n }\r\n }, options);\r\n });\r\n }\r\n\r\n signOut(): Promise {\r\n return new Promise((resolve, reject) => {\r\n FB.logout((response: any) => {\r\n resolve();\r\n });\r\n });\r\n }\r\n}\r\n","import { BaseLoginProvider } from '../../models/base-login-provider';\r\nimport { SocialUser } from '../../models/social-user';\r\n\r\ndeclare let gapi: any;\r\n\r\nexport class GoogleLoginProvider extends BaseLoginProvider {\r\n public static readonly PROVIDER_ID: string = 'GOOGLE';\r\n\r\n protected auth2: any;\r\n\r\n constructor(\r\n private clientId: string,\r\n private initOptions: any = { scope: 'email' }\r\n ) {\r\n super();\r\n }\r\n\r\n initialize(): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n this.loadScript(\r\n GoogleLoginProvider.PROVIDER_ID,\r\n 'https://apis.google.com/js/platform.js',\r\n () => {\r\n gapi.load('auth2', () => {\r\n this.auth2 = gapi.auth2.init({\r\n ...this.initOptions,\r\n client_id: this.clientId,\r\n });\r\n\r\n this.auth2\r\n .then(() => {\r\n resolve();\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n );\r\n } catch (err) {\r\n reject(err);\r\n }\r\n });\r\n }\r\n\r\n getLoginStatus(loginStatusOptions?: any): Promise {\r\n const options = {...this.initOptions, ...loginStatusOptions};\r\n\r\n return new Promise((resolve, reject) => {\r\n if (this.auth2.isSignedIn.get()) {\r\n let user: SocialUser = new SocialUser();\r\n\r\n const profile = this.auth2.currentUser.get().getBasicProfile();\r\n user.id = profile.getId();\r\n user.name = profile.getName();\r\n user.email = profile.getEmail();\r\n user.photoUrl = profile.getImageUrl();\r\n user.firstName = profile.getGivenName();\r\n user.lastName = profile.getFamilyName();\r\n user.response = profile;\r\n\r\n const resolveUser = authResponse => {\r\n user.authToken = authResponse.access_token;\r\n user.idToken = authResponse.id_token;\r\n\r\n resolve(user);\r\n };\r\n\r\n if (options.refreshToken) {\r\n this.auth2.currentUser.get().reloadAuthResponse().then(resolveUser);\r\n } else {\r\n const authResponse = this.auth2.currentUser.get().getAuthResponse(true);\r\n resolveUser(authResponse);\r\n }\r\n } else {\r\n reject(\r\n `No user is currently logged in with ${GoogleLoginProvider.PROVIDER_ID}`\r\n );\r\n }\r\n });\r\n }\r\n\r\n signIn(signInOptions?: any): Promise {\r\n const options = { ...this.initOptions, ...signInOptions };\r\n\r\n return new Promise((resolve, reject) => {\r\n const offlineAccess: boolean = options && options.offline_access;\r\n let promise = !offlineAccess\r\n ? this.auth2.signIn(signInOptions)\r\n : this.auth2.grantOfflineAccess(signInOptions);\r\n\r\n promise\r\n .then(\r\n (response: any) => {\r\n let user: SocialUser = new SocialUser();\r\n\r\n if (response && response.code) {\r\n user.authorizationCode = response.code;\r\n } else {\r\n let profile = this.auth2.currentUser.get().getBasicProfile();\r\n let token = this.auth2.currentUser.get().getAuthResponse(true)\r\n .access_token;\r\n let backendToken = this.auth2.currentUser\r\n .get()\r\n .getAuthResponse(true).id_token;\r\n\r\n user.id = profile.getId();\r\n user.name = profile.getName();\r\n user.email = profile.getEmail();\r\n user.photoUrl = profile.getImageUrl();\r\n user.firstName = profile.getGivenName();\r\n user.lastName = profile.getFamilyName();\r\n user.authToken = token;\r\n user.idToken = backendToken;\r\n\r\n user.response = profile;\r\n }\r\n\r\n resolve(user);\r\n },\r\n (closed: any) => {\r\n reject(closed);\r\n }\r\n )\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n\r\n signOut(revoke?: boolean): Promise {\r\n return new Promise((resolve, reject) => {\r\n let signOutPromise: Promise;\r\n\r\n if (revoke) {\r\n signOutPromise = this.auth2.disconnect();\r\n } else {\r\n signOutPromise = this.auth2.signOut();\r\n }\r\n\r\n signOutPromise\r\n .then((err: any) => {\r\n if (err) {\r\n reject(err);\r\n } else {\r\n resolve();\r\n }\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n","export {\r\n SocialAuthService,\r\n SocialAuthServiceConfig,\r\n} from './socialauth.service';\r\nexport { SocialLoginModule } from './sociallogin.module';\r\nexport { SocialUser } from '../models/social-user';\r\nexport { LoginProvider } from '../models/login-provider';\r\nexport { GoogleLoginProvider } from './providers/google-login-provider';\r\nexport { FacebookLoginProvider } from './providers/facebook-login-provider';\r\n \r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { AsyncSubject, Observable, ReplaySubject } from 'rxjs';\r\nimport { LoginProvider } from '../models/login-provider';\r\nimport { SocialUser } from '../models/social-user';\r\nimport { GoogleLoginProvider } from './providers/google-login-provider';\r\n\r\nexport interface SocialAuthServiceConfig {\r\n autoLogin?: boolean;\r\n providers: { id: string; provider: LoginProvider }[];\r\n onError?: (error: any) => any;\r\n}\r\n\r\n/** @dynamic */\r\n@Injectable()\r\nexport class SocialAuthService {\r\n private static readonly ERR_LOGIN_PROVIDER_NOT_FOUND =\r\n 'Login provider not found';\r\n private static readonly ERR_NOT_LOGGED_IN = 'Not logged in';\r\n private static readonly ERR_NOT_INITIALIZED =\r\n 'Login providers not ready yet. Are there errors on your console?';\r\n private static readonly ERR_NOT_SUPPORTED_FOR_REFRESH_TOKEN =\r\n 'Chosen login provider is not supported for refreshing a token';\r\n\r\n private providers: Map = new Map();\r\n private autoLogin = false;\r\n\r\n private _user: SocialUser = null;\r\n private _authState: ReplaySubject = new ReplaySubject(1);\r\n\r\n /* Consider making this an enum comprising LOADING, LOADED, FAILED etc. */\r\n private initialized = false;\r\n private _initState: AsyncSubject = new AsyncSubject();\r\n\r\n get authState(): Observable {\r\n return this._authState.asObservable();\r\n }\r\n\r\n get initState(): Observable {\r\n return this._initState.asObservable();\r\n }\r\n\r\n constructor(\r\n @Inject('SocialAuthServiceConfig')\r\n config: SocialAuthServiceConfig | Promise\r\n ) {\r\n if (config instanceof Promise) {\r\n config.then((config) => {\r\n this.initialize(config);\r\n });\r\n } else {\r\n this.initialize(config);\r\n }\r\n }\r\n\r\n private initialize(config: SocialAuthServiceConfig) {\r\n this.autoLogin = config.autoLogin !== undefined ? config.autoLogin : false;\r\n const { onError = console.error } = config;\r\n\r\n config.providers.forEach((item) => {\r\n this.providers.set(item.id, item.provider);\r\n });\r\n\r\n Promise.all(\r\n Array.from(this.providers.values()).map((provider) =>\r\n provider.initialize()\r\n )\r\n )\r\n .then(() => {\r\n if (this.autoLogin) {\r\n const loginStatusPromises = [];\r\n let loggedIn = false;\r\n\r\n this.providers.forEach((provider: LoginProvider, key: string) => {\r\n let promise = provider.getLoginStatus();\r\n loginStatusPromises.push(promise);\r\n promise\r\n .then((user: SocialUser) => {\r\n user.provider = key;\r\n\r\n this._user = user;\r\n this._authState.next(user);\r\n loggedIn = true;\r\n })\r\n .catch(console.debug);\r\n });\r\n Promise.all(loginStatusPromises).catch(() => {\r\n if (!loggedIn) {\r\n this._user = null;\r\n this._authState.next(null);\r\n }\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n onError(error);\r\n })\r\n .finally(() => {\r\n this.initialized = true;\r\n this._initState.next(this.initialized);\r\n this._initState.complete();\r\n });\r\n }\r\n\r\n refreshAuthToken(providerId: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!this.initialized) {\r\n reject(SocialAuthService.ERR_NOT_INITIALIZED);\r\n } else if (providerId !== GoogleLoginProvider.PROVIDER_ID) {\r\n reject(SocialAuthService.ERR_NOT_SUPPORTED_FOR_REFRESH_TOKEN);\r\n } else {\r\n const providerObject = this.providers.get(providerId);\r\n if (providerObject) {\r\n providerObject\r\n .getLoginStatus({refreshToken: true})\r\n .then((user: SocialUser) => {\r\n user.provider = providerId;\r\n this._user = user;\r\n this._authState.next(user);\r\n resolve();\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n } else {\r\n reject(SocialAuthService.ERR_LOGIN_PROVIDER_NOT_FOUND);\r\n }\r\n }\r\n });\r\n }\r\n\r\n signIn(providerId: string, signInOptions?: any): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!this.initialized) {\r\n reject(SocialAuthService.ERR_NOT_INITIALIZED);\r\n } else {\r\n let providerObject = this.providers.get(providerId);\r\n if (providerObject) {\r\n providerObject\r\n .signIn(signInOptions)\r\n .then((user: SocialUser) => {\r\n user.provider = providerId;\r\n resolve(user);\r\n\r\n this._user = user;\r\n this._authState.next(user);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n } else {\r\n reject(SocialAuthService.ERR_LOGIN_PROVIDER_NOT_FOUND);\r\n }\r\n }\r\n });\r\n }\r\n\r\n signOut(revoke: boolean = false): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!this.initialized) {\r\n reject(SocialAuthService.ERR_NOT_INITIALIZED);\r\n } else if (!this._user) {\r\n reject(SocialAuthService.ERR_NOT_LOGGED_IN);\r\n } else {\r\n let providerId = this._user.provider;\r\n let providerObject = this.providers.get(providerId);\r\n if (providerObject) {\r\n providerObject\r\n .signOut(revoke)\r\n .then(() => {\r\n resolve();\r\n\r\n this._user = null;\r\n this._authState.next(null);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n } else {\r\n reject(SocialAuthService.ERR_LOGIN_PROVIDER_NOT_FOUND);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","import {\r\n NgModule,\r\n Optional,\r\n SkipSelf,\r\n ModuleWithProviders\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SocialAuthService, SocialAuthServiceConfig } from './socialauth.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n SocialAuthService\r\n ]\r\n})\r\nexport class SocialLoginModule {\r\n public static initialize(config: SocialAuthServiceConfig): ModuleWithProviders {\r\n return {\r\n ngModule: SocialLoginModule,\r\n providers: [\r\n SocialAuthService,\r\n {\r\n provide: 'SocialAuthServiceConfig',\r\n useValue: config\r\n }\r\n ]\r\n };\r\n }\r\n\r\n constructor(@Optional() @SkipSelf() parentModule: SocialLoginModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'SocialLoginModule is already loaded. Import it in the AppModule only');\r\n }\r\n }\r\n}\r\n","export const environment = {\r\n production: false,\r\n API_BASE_URL: \"https://niconsultingacademy.com/\"\r\n};\r\n"," \r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}