public function loadDto(Applicant $applicant, Collection $basic_questions, Collection $demographic_questions, Collection $additional_questions, Collection $categories): GeneralApplicantExcelReportDTO 	{ 		$answers = $applicant->answers->load('question');  		return new GeneralApplicantExcelReportDTO( 			$applicant->control_number, 			$applicant->survey_filling_started ? formatLocalTimestamp($applicant->survey_filling_started) : '/', 			$applicant->survey_filling_finished ? formatLocalTimestamp($applicant->survey_filling_finished) : '/', 			$applicant->getFillingDuration(), 			$applicant->is_offline ? __('applicants.offline') : __('applicants.online'), 			$applicant->department?->getTranslation('title', $this->locale), 			$applicant->location?->getTranslation('title', $this->locale), 			$this->loadQuestionData($answers, $demographic_questions), 			$applicant->applicant_note, 			$this->loadQuestionData($answers, $basic_questions), 			$this->getOverallGrade($answers), 			$this->getEngagement($answers, $categories), 			$this->getEngagementCategoriesAverageValue($answers, $categories), 			$applicant->enps_grade, 			$this->getAverageByCategory($answers, $categories), 			$this->loadQuestionData($answers, $additional_questions), 			$this->getEnpsCategory($applicant), 			$applicant->ip_address, 			$applicant->latestMetadata?->screen_width, 			$applicant->latestMetadata?->screen_height, 			$applicant->latestMetadata?->platform, 			$applicant->latestMetadata?->browser, 			$applicant->latestMetadata?->device, 			$applicant->latestMetadata?->user_agent 		); 	}